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 2.15.1 by Marius Gedminas - find it at mg.pov.lt!