| FarcePest | it takes about 1 minute to do the import (CPU-bound) | 00:43 |
|---|---|---|
| FarcePest | it turns out I only end up with 81 groups/sections, but still about 6370 students | 00:50 |
| FarcePest | actually, it turns out some of my source data is basically fubared, which really shouldn't surprise me | 01:08 |
| bskahan | anyone know how to decide when to remove securit yproxy? | 01:15 |
| *** bskahan has quit IRC | 01:33 | |
| *** Aiste has quit IRC | 09:10 | |
| *** Aiste has joined #schooltool | 09:19 | |
| *** alga has joined #SchoolTool | 11:09 | |
| *** mgedmin has joined #schooltool | 13:52 | |
| *** bskahan has joined #schooltool | 14:13 | |
| *** SteveA_ has joined #schooltool | 14:36 | |
| *** SteveA has quit IRC | 14:37 | |
| *** ignas has joined #schooltool | 14:50 | |
| *** jinty has joined #schooltool | 15:01 | |
| *** thisfred has joined #schooltool | 15:54 | |
| *** SteveA_ has quit IRC | 16:32 | |
| *** SteveA_ has joined #schooltool | 16:52 | |
| *** SteveA_ has quit IRC | 17:08 | |
| *** SteveA_ has joined #schooltool | 17:10 | |
| *** SteveA_ has quit IRC | 17:20 | |
| *** jinty has quit IRC | 18:54 | |
| *** jinty has joined #schooltool | 19:03 | |
| *** ignas_ has joined #schooltool | 19:16 | |
| *** ignas has quit IRC | 19:16 | |
| mgedmin | /home/mg/src/schoolbell/src/schoolbell/app/rest/tests/test_app.py: WARNING: TestResourceContainerView not in test suite | 19:19 |
| bskahan | i don't get that warning with ./test.py -pv | 19:22 |
| bskahan | on an up to date tree | 19:22 |
| *** jinty has quit IRC | 19:26 | |
| *** tvon has joined #schooltool | 19:28 | |
| mgedmin | bskahan, warnings are disabled unless you pass -w to test.py | 19:36 |
| bskahan | mgedmin: thanks | 19:36 |
| mgedmin | for historical reasons | 19:36 |
| mgedmin | (back when bits of zope 3 were included directly in src/, they produced spurious warning because abstract test base classes were named TestFoo etc.) | 19:36 |
| FarcePest | how can you remove groups using ZODB? I thought that del groups[g] where groups is the GroupContainer and g is the Group id would do it, but nothing happens (no error, but group not deleted, and yes I am doing transaction.commit()) | 19:42 |
| mgedmin | FarcePest, it should work | 19:46 |
| mgedmin | you should also post an ObjectDeletedEvent | 19:47 |
| mgedmin | otherwise existing relationships will prevent the group object from being garbage collected | 19:47 |
| mgedmin | but the group itself shouldn't be accessible from the groups container after you do del groups[...] | 19:47 |
| FarcePest | that makes a certain amount of sense, though I am deleting groups with no members (or events, etc.) | 19:48 |
| FarcePest | how to I post an event? | 19:48 |
| mgedmin | what I said wasn't entirely correct | 19:49 |
| mgedmin | 1. the event is called ObjectRemovedEvent | 19:49 |
| mgedmin | 2. it is posted automatically when you do del container[id] | 19:49 |
| mgedmin | so just del should suffice | 19:49 |
| FarcePest | maybe they really are deleted, which means I have a different problem: What's the best way to determine if a group has members? len(group.members)? | 19:54 |
| FarcePest | basically I have a loop over the groups and am trying to delete all the empty groups | 19:55 |
| FarcePest | at least some (or most) of the empty groups get deleted, but some that are empty don't seem to be detected as such | 19:55 |
| *** thisfred has quit IRC | 19:57 | |
| FarcePest | deleting groups is slow, only a couple/sec | 20:15 |
| FarcePest | len(group.members) is slow, might be cause of above slowness | 20:16 |
| mgedmin | bool(group.members) should do the right thing | 20:21 |
| FarcePest | bool() is a lot faster than len() | 20:25 |
| ignas_ | do we need backcompatibility of our restive interface between SB and ST ? | 20:30 |
| ignas_ | i am going to break it! | 20:35 |
| ignas_ | if no one stops me ... | 20:35 |
| bskahan | no stop! | 20:35 |
| bskahan | ok, nevermind | 20:36 |
| th1a | We ought to have a functioning client interface or library that uses the REST interface, so keeping the command line interface in sync would be nice. | 20:37 |
| mgedmin | the diff between trunk/schooltool and branches/schooltool-0.9.x is > 8000 lines long | 20:38 |
| mgedmin | half of it is in the .po file | 20:38 |
| mgedmin | a quarter is in jinty's stuff (debian/, setup scripts, release notes etc.) | 20:38 |
| mgedmin | some of it is in actual source code (I've noticed cosmetic fixes, typo fixes, and something to do with DATADIR) | 20:39 |
| mgedmin | I'm confused | 20:39 |
| mgedmin | I hoped that we could svn rm trunk/schooltool and just keep the 0.9.x branch | 20:39 |
| mgedmin | then start copying things over bit by bit | 20:39 |
| bskahan | why there's any new code in trunk? | 20:39 |
| mgedmin | but perhaps we need to first merge fixes (if there are any) from trunk to the branch? | 20:40 |
| bskahan | do you know what revision the 0.9 branch is from? | 20:42 |
| mgedmin | no, but I can find out | 20:43 |
| mgedmin | it also has quite a number of backports of later fixes from trunk, I think | 20:43 |
| bskahan | looking at ViewCVS interface it looks like the changes under source in the last 2 months relate to translations | 20:44 |
| *** tvon has quit IRC | 20:51 | |
| *** tvon has joined #schooltool | 20:52 | |
| *** alga has quit IRC | 21:32 | |
| FarcePest | for a container (like GroupsContainer), should .keys() return a list of all the ids of all the contained objects? | 21:41 |
| mgedmin | yes | 21:43 |
| FarcePest | i have a test case where it does not | 21:43 |
| FarcePest | if "65465" in groups: | 21:45 |
| FarcePest | print "65465 sighted" | 21:45 |
| FarcePest | for g in groups.keys(): | 21:45 |
| FarcePest | if g == "65465": | 21:45 |
| FarcePest | print "I see 65465 in the loop" | 21:45 |
| FarcePest | only prints: 65465 sighted | 21:45 |
| mgedmin | interesting | 21:46 |
| FarcePest | yeah, that's kinda what I thought too | 21:46 |
| FarcePest | or perhaps a more colorful term | 21:46 |
| mgedmin | it's a standard BTreeContainer | 21:46 |
| mgedmin | (well, a subclass, but one that doesn't override any methods) | 21:46 |
| mgedmin | could your data.fs be broken? | 21:47 |
| FarcePest | i rebuild it each time i run my import script | 21:47 |
| FarcePest | i.e. rm Data.* | 21:47 |
| * mgedmin has no idea | 21:48 | |
| bskahan | mgedmin: how do you decide to call removeSecurityProxy? | 21:49 |
| FarcePest | i seem to remember seeing some btree updates today, i'm going to svn update and make sure everything is recompiled and try again | 21:49 |
| FarcePest | no joy | 21:51 |
| bskahan | in schoolbell.app.browser.cal.CalendarViewBase and b.a.b.overlay.CalendarSelectionView both need to get the principal from the request | 21:51 |
| bskahan | overlay calls removeSecurityProxy and cal doesn't, both work | 21:52 |
| *** tvon has quit IRC | 21:53 | |
| FarcePest | did anyone else catch the bit in #zope3-dev about zope.server going away and being replaced with twisted.web2 and twisted.component? | 21:54 |
| bskahan | didn't catch it this time | 21:55 |
| bskahan | but I've heard mutterings about it | 21:55 |
| bskahan | its probably a positive thing if t happens | 21:55 |
| FarcePest | srichter said "this weekend" | 21:55 |
| mgedmin | bskahan, it depends on the situation | 21:56 |
| * bskahan sees it now | 21:56 | |
| mgedmin | in general, removeSecurityProxy is to be avoided | 21:56 |
| mgedmin | in some cases, however, it is unavoidable | 21:56 |
| FarcePest | interesting development considering schooltool was/is a zope/twisted hybrid app | 21:56 |
| mgedmin | for example, the object you need to modify is a generic one (e.g. BoundRelationshipProperty) and you just cannot assign a single permission to it in zcml | 21:57 |
| *** tvon has joined #schooltool | 21:57 | |
| bskahan | FarcePest: its good, let every project focus on a particular component rather than having 3 implementations | 21:57 |
| FarcePest | two years ago, twisted was kind of like the anti-zope | 21:58 |
| bskahan | mgedmin: thanks | 21:59 |
| mgedmin | see ya | 22:05 |
| *** mgedmin has quit IRC | 22:05 | |
| FarcePest | (sorry, twisted.protocol and not twisted.component) | 22:08 |
| FarcePest | unicode | 22:14 |
| * FarcePest descends into madness | 22:14 | |
| FarcePest | finally | 22:16 |
| FarcePest | ok, here is the answer. This does not see all the object ids: | 22:18 |
| FarcePest | for g in groups.keys(): | 22:18 |
| FarcePest | del groups[g] # conditionally | 22:18 |
| FarcePest | and this does: | 22:18 |
| FarcePest | for g in list(groups.keys()): | 22:19 |
| FarcePest | del groups[g] # conditionally | 22:19 |
| FarcePest | it turns out that groups.keys() returns a OOBTreeItems object | 22:20 |
| FarcePest | and deleting things from groups affects this object | 22:21 |
| FarcePest | this seems at odds with normal dict behavior | 22:22 |
| bskahan | would be good to file a bug with zope3 | 22:23 |
| FarcePest | i think i want to run this past folks in #zope3-dev to make sure i'm not misunderstanding something, but then, you are one of those folks... | 22:24 |
| bskahan | I'd take it into z3-dev since GroupsContainer isn't overriding anything in BTreeContainer | 22:25 |
| tvon | Anyone want to add a dev meeting note to the topic? | 22:39 |
| tvon | "Developer meetings held every Monday at 1500 UTC" | 22:39 |
| *** Aiste has quit IRC | 22:47 | |
| tvon | ignas_: around? | 22:50 |
| tvon | nm | 22:50 |
| *** ignas_ has quit IRC | 22:57 | |
| bskahan | hah | 23:03 |
| FarcePest | th1a, +1 on your terminology proposal | 23:19 |
| th1a | Don't want to get too stuck on our idiosyncratic usage. | 23:21 |
| bskahan | what did I miss? | 23:23 |
| bskahan | ah, I see it now | 23:23 |
| tvon | +1 here too | 23:24 |
| th1a | Actually, this reminds me that I need to work on a glossary this week... | 23:24 |
| bskahan | +1 as well | 23:26 |
| bskahan | th1a has karma to burn | 23:26 |
| th1a | I haven't done any meta-moderating in a while, though. | 23:26 |
| *** tvon has quit IRC | 23:44 | |
| *** tvon|x31 has joined #schooltool | 23:44 | |
| *** tvon|x31 has quit IRC | 23:48 | |
| *** alga has joined #SchoolTool | 23:53 | |
| *** bskahan has quit IRC | 23:58 | |
Generated by irclog2html.py 4.0.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!