IRC log of #schooltool for Monday, 2009-12-14

*** Lumiere has quit IRC00:42
*** Lumiere has joined #schooltool00:44
*** lisppaste5 has quit IRC00:48
*** lisppaste5 has joined #schooltool00:49
*** dlobo has joined #schooltool00:52
*** Lumiere has quit IRC01:17
*** alga has quit IRC01:26
*** dlobo has quit IRC02:06
*** menesis has quit IRC02:09
*** dlobo has joined #schooltool02:19
*** dlobo has quit IRC02:29
*** pcardune has quit IRC03:34
*** Lumiere has joined #schooltool03:41
*** ignas has quit IRC03:46
*** dlobo has joined #schooltool04:01
*** pcardune has joined #schooltool04:15
*** pcardune has quit IRC04:27
*** jelkner has joined #schooltool04:36
*** jelkner has quit IRC04:45
*** dlobo has quit IRC04:56
*** dlobo has joined #schooltool05:08
*** dlobo has quit IRC05:11
*** krushik has quit IRC05:25
*** dlobo has joined #schooltool05:36
*** dlobo has quit IRC05:57
*** yvl has quit IRC09:21
*** krushik has joined #schooltool09:59
*** krushik has quit IRC10:05
*** krushik has joined #schooltool10:07
*** yvl has joined #schooltool10:32
aelkneryvl: i need your help10:47
yvlhi aelkner10:47
yvlwill be with you in a minute10:47
yvl(coffee, as usual ;)10:47
aelkner:)10:47
aelkneri'll explain in the meantime10:48
yvlplease do :)10:48
aelkneri went to install the latest version of schooltool.intervention at SLA10:48
aelkneri have them using my december_fixes branch, so i just needed to bzr pull10:49
aelkneri've noticed that i always need to run bin/buildout -n after changing code10:49
aelknerbecause there are some hard links being used (i think?)10:49
aelkneranyway, as i ran bin/buildout -n, it fails:10:50
aelknerInstalling schooltool.10:50
aelknerDownload error: (-2, 'Name or service not known') -- Some packages may not be found!10:50
aelknerWhile:10:50
aelkner  Installing schooltool.10:50
aelknerError: There is a version conflict.10:50
aelknerWe already have: zope.location 3.4.010:50
aelknerbut zope.intid 3.7.1 requires 'zope.location>=3.5.4'.10:50
aelknerin the process, bin/start-schooltool-instance was removed10:51
aelknerso now, i can't start the server10:51
aelknerthis is where my hard link theory come into play10:51
aelkneri tried copying my version of bin/start-schooltool-instance into the bin directory at SLA10:52
aelknerbut it won't run it10:52
aelknerit's there, but is says it can't find it10:52
aelkneraelkner@curie:/srv/schooltool/schooltool$ ls -l bin/start-schooltool-instance10:54
aelkner-rwxr-xr-x 1 root root 9180 2009-12-14 03:17 bin/start-schooltool-instance10:54
aelkneraelkner@curie:/srv/schooltool/schooltool$ sudo bin/start-schooltool-instance instance10:54
aelkner[sudo] password for aelkner:10:54
aelknersudo: unable to execute bin/start-schooltool-instance: No such file or directory10:54
aelknerso i'm really confused here10:54
yvlhmm10:54
yvlreading...10:55
yvlas for Download error, you can ignore that10:55
yvlit's pretty harmless10:55
aelknerok10:55
yvlas for zope.intid 3.7.1...10:56
yvlplease give me a moment to look up version dependencies10:56
yvlodd, it should use zope.intid 3.4.110:57
yvloh, wait10:58
yvlit should not use zope.intid10:58
yvlhave you tried running `bin/buildout` without `-n`?11:00
aelknerno, not yet11:01
aelkneri'll try that11:01
aelknersame error, same no start script11:01
yvldid you set up .buildout (the egg cache) there?11:03
yvlor are eggs checked out in schooltool_something/eggs ?11:03
yvlwe can try this:11:05
yvlfind your egg directory11:05
yvlgo to it11:05
yvland run grep -r zope.intid * | grep requires.txt11:05
yvlthat should be veeeery slow11:05
yvland give you the possible packages that require zope.intid11:05
aelknerok, i'll do that11:06
yvlit seems that some packages got newer versions than we're ready for11:06
yvland during Zope's refactorings they were split into several11:06
yvlso those packages got upgraded, and required zope.intid (that schooltool versions.cfg knows nothing about)11:06
yvland zope.intid depends on newer Zope packages than ST uses11:07
yvlat least that's my theory11:07
aelkneraelkner@curie:/srv/schooltool/schooltool/eggs$ grep -r zope.intid * | grep requires.txt11:08
aelknerhurry.query-1.0.0-py2.5.egg/EGG-INFO/requires.txt:zope.intid11:08
aelknerzope.catalog-3.8.0-py2.5.egg/EGG-INFO/requires.txt:zope.intid11:08
aelknerzope.intid-3.7.1-py2.5.egg/EGG-INFO/SOURCES.txt:src/zope.intid.egg-info/requires.txt11:08
yvlhmm, http://ftp.schooltool.org/schooltool/1.2/versions.cfg knows nothing about zope.catalog11:09
yvlrun `grep -r zope.catalog * | grep requires.txt` now :)11:09
aelkneraelkner@curie:/srv/schooltool/schooltool/eggs$ grep -r zope.catalog * | grep requires.txt11:09
aelknerhurry.query-1.0.0-py2.5.egg/EGG-INFO/requires.txt:zope.catalog11:09
aelknerzope.catalog-3.8.0-py2.5.egg/EGG-INFO/SOURCES.txt:src/zope.catalog.egg-info/requires.txt11:09
yvlah11:11
yvlit's hurry.query11:11
yvlI think you'r deployment uses http://ftp.schooltool.org/schooltool/eggs/3.4/versions.cfg11:12
yvland schooltool now uses http://ftp.schooltool.org/schooltool/1.2/versions.cfg11:12
yvlif you opened those two in the browser, you'd see that hurry.query version is not pinned in 3.4/versions.cfg11:12
yvlthat's why buildout -n got the newer version than we can handle11:13
aelknerso if i change the extends statement...?11:13
yvlthat would work11:13
yvlI think :)11:13
yvlyou usually run buildout and the server from /srv/schooltool/schooltool ,  right?11:14
aelknerright11:14
aelknerand i usually use -n11:14
aelknerthough i don't know when it is needed?11:15
aelknerneeded11:15
yvlcan you show me the lines `extends` and `find-links` from it's buildout.cfg11:15
aelknerbtw, it's getting further11:15
aelkneruh oh11:15
yvlI think you want to change `find-links` to http://ftp.schooltool.org/schooltool/1.2/ also11:15
yvluh oh?11:16
aelknerwell, it crashes for a different reason now11:16
aelknerAn internal error occured due to a bug in either zc.buildout or in a11:16
aelknerrecipe being used:11:16
aelknerIOError: [Errno 28] No space left on device11:16
yvl:D11:16
yvlwell I think that error pretty much explains itself :)11:17
aelknerhow do you tell how much space is left?11:17
yvldf -lh11:17
aelkneri see the usage11:18
aelkneri can delete some large files11:18
aelknerbin/buildout didn't fail this time11:20
aelknermake run did, though11:20
aelknertrying with bin/buildout -n11:20
aelknerstill get this error:11:20
aelknerImportError: No module named transaction11:20
aelknerbtw, that error is during make run, not bin/buildout -n11:21
yvlhmm11:21
yvltransaction is a python thing11:21
aelknerwhen i say make run, of course i mean bin/start-schooltool-instance instance11:22
yvlyes.  transaction should be in your system python11:22
yvlsorry, I'm away for 5-7 mins11:22
aelknerdo i need to make ubuntu-environment?11:22
aelkneractually, isn't transaction something that could go in the eggs directory?11:36
aelknerfor instance, i found this in the eggs:11:37
aelknermechanize-0.1.11-py2.5.egg11:37
aelknerno transaction, however11:40
yvltransaction should be in system python11:41
*** menesis has joined #schooltool11:41
aelknerwhy is that?11:41
yvlno, wait11:42
yvlI was wrong11:42
yvlok11:43
yvlback to the eggs dir11:43
yvl`grep -r transaction * | grep requires.txt`11:43
*** alga has joined #SchoolTool11:43
aelknerempty results11:43
yvlcan you paste the full traceback when running `make run`11:45
aelknerok11:45
yvl(transaction should be located in ZODB3 3.8.4 egg)11:46
lisppaste5aelkner pasted "make run traceback" at http://paste.lisp.org/display/9206611:47
yvlhmm11:48
yvlcan you paste contents of bin/start-schooltool-instance ?11:48
aelknerthe contents of the script?11:49
yvlyes11:49
yvlit should basically be a list of included eggs11:49
lisppaste5aelkner annotated #92066 "untitled" at http://paste.lisp.org/display/92066#111:50
yvlcd srv/schooltool/schooltool/eggs/ZODB3-3.8.4-py2.5-linux-i686.egg11:51
yvlls11:51
yvlcd transaction11:51
yvlls11:51
yvla list of files, including __init__.py, right?11:52
aelknerthere is no transaction directory in srv/schooltool/schooltool/eggs/ZODB3-3.8.4-py2.5-linux-i686.egg11:53
yvlfreaking buildout11:53
yvlgod, that software is broken11:53
yvlI've seen this happening11:53
yvlcd srv/schooltool/schooltool11:54
yvlrm -rf eggs11:54
yvlbin/buildout11:54
aelkner-n?11:54
yvlit will work this time11:54
yvlnot necessary this time11:54
yvl-n just prefers newer packages11:54
yvlfirst checkout of eggs should work the same11:55
yvlit's just useful later on11:55
aelkneraelkner@curie:/srv/schooltool/schooltool$ sudo rm -rf eggs/11:55
aelkneraelkner@curie:/srv/schooltool/schooltool$ sudo bin/buildout11:55
aelknerTraceback (most recent call last):11:55
aelkner  File "bin/buildout", line 9, in <module>11:55
aelkner    import zc.buildout.buildout11:55
aelknerImportError: No module named zc.buildout.buildout11:55
yvlmake buildout ?11:55
aelknersame11:56
yvlI got the directory wrong?11:56
yvl(sorry, my attention span is a bit erratic today )11:57
aelkner:)11:57
aelknermine's that way usually :)11:57
yvlgo to the directory that you run ST server from11:57
yvlmake clean11:57
yvlmake build11:57
yvlbasically, you need to wipe out your eggs cache11:58
aelknerah, the cache11:58
yvlyes11:58
aelkner?!11:58
aelkner:)11:58
aelkneri won't even pretend to know what you're talking about11:59
yvlthe directory where buildout downloaded the eggs11:59
yvlsome of them are broken11:59
yvlbecause when buildout fails in the middle of egg download11:59
aelknerbut i did a rm -rf eggs11:59
yvl(not enough disk space in your scenario)11:59
yvlit should have kept bin/buildout...11:59
yvlno idea why it's missing\12:00
yvlso, when buildout fails in the middle, it pretends that everything went ok12:00
yvland it refuses to renew broken eggs by default12:00
yvlgenuine piece software12:01
yvl* piece of12:01
aelkner:)12:02
aelknerthat's too bad though12:02
yvlrecently I had to debug it12:02
aelknerbecause what it contends to deliver is actually extremely useful12:02
yvlwell, there are alternatives being built12:03
yvlwe'll see how they evolve12:03
yvlby the way, few weeks ago it failed to download a zipped egg because of broken internet connection12:04
yvlthe error it was giving in later retries:  cannot untar the egg12:04
yvlgood luck figuring that error out :)12:04
aelkneryeah, not good12:05
yvl(I think it even broke *in* the untaring code)12:05
yvlok, hope it all works for you now12:05
aelkneryvl: success!12:07
aelknerthanks for bailing me out on this one12:07
yvlyoure welcome :)12:08
aelknerthe great part of it is: i get to tell them it's fixed before they even wake up to find it was broken :)12:09
yvlcool :)12:11
yvlwell, sysadmins are usualy the ones doing their magic rituals at night... ;)12:12
aelkneri just play one on tv...12:14
yvl:)12:17
*** ignas has joined #schooltool12:35
*** menesis has quit IRC13:39
*** mgedmin has joined #schooltool14:00
* Lumiere wants to shoot a buildout developer14:37
Lumierehow hard is it14:37
Lumiereto add in a "get a md5sum"14:37
Lumiere"check md5sum before untarring, if fail redownload, if fail again notify user"14:38
ignaswrong channel ;)14:39
yvltechnically, it's not buildout, it's setuptools14:39
ignasthat too probably14:40
ignasdistribut anyone?14:40
yvlalso the easy_install part of setuptools14:40
ignasor how was that replacement called14:40
*** menesis has joined #schooltool14:40
yvlignas: waiting for it to mature14:40
yvlthen - boom chow kapow!14:40
yvldistribute14:40
Lumiereimo14:40
LumiereI'd rather them fix the one that exists14:41
Lumierethen build 5 more cause the first is broken14:41
yvlthey kind of cannot do that14:41
Lumiereswitching between build methods is a pain14:41
yvlthat's why the fork was born14:41
Lumiereheh14:41
yvlread the easy_install code14:41
Lumiereat least it isn't a sporife14:41
yvlit's written in "kind of working, but omg what will happen if it breaks and good luck fixing that then" coding style14:42
Lumieresp(oon)+(f)or(k)+(kn)ife :)14:42
Lumiereeww14:42
yvlso I'm for the fork14:43
yvlgo, distribute, go! :)14:43
*** th1a has joined #schooltool15:45
*** replaceafill has joined #schooltool16:04
*** dlobo has joined #schooltool16:05
*** ignas has quit IRC16:22
*** alga has quit IRC16:22
*** Lumiere has quit IRC16:22
*** Lumiere has joined #schooltool16:25
*** alga has joined #SchoolTool16:25
*** ignas has joined #schooltool16:26
th1ahi replaceafill, aelkner, yvl, menesis, Lumiere.16:31
aelknermorning16:32
replaceafillgood morning16:32
th1amenesis: So just update the about page in the application from the book copy?16:32
menesisth1a: i will16:32
menesisgood morning16:33
yvlmorning th1a16:33
* yvl remembered that yvl forgot to make some coffee in time.... again16:33
yvlapologies16:33
th1aI made my coffee in a french press today, which reminded me of doing that with Ignas in the POV offices.16:34
ignas:)16:36
th1aLet's see... a few other pending bug discussions...16:36
th1aaelkner: Null/ungraded activities should not be used in grade calculations.16:37
th1aEven when imported from other sheets.16:37
th1aThat's the question, right?16:37
aelknerright16:38
aelknerthat answers it16:38
th1aBasically, if people want 0's by default atm they can just fill down zeros.16:38
aelkneri had a lot to talk about today, but unfortunately, lehmann just gave me some bad news16:39
th1a?16:39
aelkneryou'll note the email i just sent16:39
th1aWhat happened?16:40
aelkneri don't know yet16:40
th1aWhat's the error?16:40
th1aTraceback?16:40
aelknerhere's the thing so far16:40
aelknerinstalling the latest schooltool.intervention caused the evolve script to run16:41
th1aWhich evolve script again?16:41
aelknerthe one that converts dublincore to object attributes16:42
th1aok16:42
aelkneri added a new attribute to each object called creation_date16:42
aelknerand populated it from the dublincore settings16:42
aelknerthe traceback is complaining that some of the creation_date setting in a list of messages16:43
aelkneris not comparable, i assume, set to Null16:43
Lumierehi all16:43
th1ahi Lumiere.16:43
aelknerit could be that some of the pre-evolve messages had no dublincore settings16:43
aelknerhence, creation_date is Null16:44
th1aDid you need to push those changes to them now?16:44
aelkneri'll admit that i ought to have planned more carefully16:44
aelkneroverconfidence in this all working got the better of me, i'm afraid16:44
th1aOverconfidence and live servers don't work together well.16:45
aelknertrue enough16:45
aelkneranyway, i believe i can resolve their traceback if i make the sort treat Null creation_date settings as old dates16:46
aelknersay jan 1, 198016:46
th1aWhere did the dates used to be?16:47
menesisso you need to add a check in the code if creation_date is None and also make the evolve script handle that16:47
aelknerthat's the thing, they didn't have dublincore settings16:47
th1aDid you try to sort them by date before?16:47
aelknerso they didn't have a date, this is what i'm guessing16:47
aelknerit cold be something else16:47
menesisnot 1980, but today16:47
aelkneri need to recreate this on my local instance16:48
menesisthe date of the fix16:48
Lumiereaelkner: make it change null to 0 or now()16:48
ignasemm, 0 ?16:48
Lumiere0 -> Jan 1 197016:48
ignaspython does not do timestamps I think ;)16:48
Lumiereblah :)16:48
th1aIf you sorted by date before, something must have been there.16:48
ignasaelkner, what does the traceback look like?16:48
Lumiereignas: freaking non-standard date formats ;)16:49
ignasas in - can you post it?16:49
ignasLumiere, hey, it's not Zope2 DateTime at least ;)16:49
Lumiereno kidding... I had to use that16:49
Lumierein HS with jelkner16:49
lisppaste5aelkner pasted "sla traceback" at http://paste.lisp.org/display/9207616:49
ignasLumiere, did they compensate you for that?16:50
Lumierefor the work yes16:50
Lumierefor the mental and emotional hardship16:50
Lumiereno16:50
ignasand medicare? :)16:50
ignasouch ouch ouch16:50
ignasthe traceback16:50
ignasit's not about None16:50
Lumieregod that is a really ugly error16:50
ignasyou are comparing a timezoned datetime16:51
ignaswith a non-timezoned datetime16:51
yvlooooh16:51
yvlouch ouch16:51
ignasgood luck16:51
Lumiereaelkner: the obvious solution is to catch the typeerror16:51
Lumiereand try again casting the naive one to server's TZ16:51
yvlignas: force UTC, I say16:51
ignasthe obvious solution is to write a comparator16:51
ignasthat converts both to utc before sorting16:52
ignasand after that - you can do whatever you want with them16:52
th1aIs this strictly a problem caused by migration?16:52
aelkneri'm unable to recreate on my server, so i think it could have been my patch script that was ill-timed16:52
th1aEr, evolution.16:52
aelkneri need to revert their Data.fs to before the evolve16:52
aelknerand then i will start the server again, let it evolve16:52
aelknerand make sure that the bug is not there16:52
aelknerthen i know it was the patch16:52
* Lumiere notes that is solvable without reverting16:53
ignasthe problem is in the ZODB really, not in the code16:53
th1aDoes the underlying interventions code need to change the way it handles dates?16:53
aelkneri need to know wnhy the data is not a problem on my side16:53
ignasunless16:53
aelknerignas: right, the ZODB16:53
ignas'creation_time' get's generated on request16:53
aelknerthat's why i want to revert16:53
ignas*gets16:53
ignasemm ? revert?16:53
ignaswhy?16:53
Lumiereyvl / th1a there should be a standard st date class16:53
aelknerignas: yes, that's it16:53
ignasevolution scripts to not commit if they fail16:53
aelknernon-visited message will have no dublincore create date/time16:54
Lumiereignas: didn't fail :) wasn't written to catch case16:54
ignasyou don't need to catsh16:54
ignasif evolution script throws an exception16:54
ignasit will not commit anything16:54
aelknerit doesn't throw an exception16:54
Lumiereaelkner: just write a little code bit that either converts the timestamp or allows comparison of the timestamps16:55
ignasyvl, any place where I can see the evolution script that did this?16:57
ignasalso - no need to revert anything, I think you can just write an evolution script that fixes the database16:57
ignasI *think* I have to see the previous script to be sure16:57
yvlignas: http://bazaar.launchpad.net/~aelkner/schooltool.intervention/december_fixes/annotate/head%3A/src/schooltool/intervention/generations/evolve1.py16:58
aelknerignas: in the meantime, i can make the sorted statements be able to handle None16:59
aelknerand get the app back up for them16:59
ignasit's not None16:59
ignasit's 2 different kinds of datetime16:59
yvlignas: new ones have their dates assigned here: http://bazaar.launchpad.net/~aelkner/schooltool.intervention/december_fixes/annotate/head%3A/src/schooltool/intervention/intervention.py16:59
yvlsee .created = datetime.now()16:59
ignasow ow ow16:59
ignasutcnow() kthxbye17:00
yvlexactly17:00
aelknerplease explain17:00
ignasso now you want to find all TZ unaware datetimes created by datetime.now17:00
ignasand convert them to utc17:00
ignasin an evolution script17:00
aelknerignas: just to be clear17:00
menesisis there an utility function to do that in schooltool?17:00
aelknerit's not that the values are None17:01
aelknerit's that they are of this bad date type?17:01
yvlto be more specifi c17:01
th1aIn practice, these are all EST or EDT.17:01
yvlyou should do (I think): pytz.utc.localize(datetime.utcnow())17:01
ignasdt = pytz.UTC.localize(dt)17:01
ignasshould work17:01
ignasdt > pytz.UTC.localize(dt)  will fail with the error we saw17:01
ignasif dt is datetime.datetime.now()17:02
aelknerproblem is: i need to patch their data within an hour if possible17:02
aelknerso that means17:02
*** krushik has quit IRC17:02
aelknersomething faster than evolution with testing17:02
ignasso write an evolution script that goes through all the objects17:02
ignasand does the operation I just wrote17:02
ignason all created dates17:02
ignasbecause fixing 1 place in code17:02
ignaswhere dates are sorted17:02
ignascan leave 9 places still broken17:02
aelknertrue, i'd lke the data fixed17:03
aelknercan you explain exactly what change you meant?17:03
ignasobj.created = pytz.UTC.localize(obj.created)17:03
ignaswill probably work17:03
aelknerok17:03
ignastest it!17:03
ignasoh, utcnow is also time agnostic17:04
ignasso either you fix all the code17:04
ignasto assign  pytz.UTC.localize(datetime.utcnow())17:04
ignasinstead of datetime.now()17:04
ignasor17:04
ignasyou convert all the timezone aware .created17:05
ignasinto non-timezone aware .created17:05
yvlok17:05
yvlignas, your printing too much unsorted details  here ;)17:05
yvlaelkner: you need to do two things:17:05
yvl1) in the code, change .created = datetime.now() to .created = pytz.UTC.localize(datetime.utcnow())17:06
aelkneri'm creating evolve2.py17:06
aelknerit's looping though all messages and goals as evolve1.py did17:07
yvl2) write a new evolution script, that goes through all dates that were assigned this way17:07
aelknerand it's doing the obj.creted = ...17:07
aelkneras ignas suggested17:07
yvlwait17:07
aelknerok17:07
yvlfirst check if the dates were localized17:07
yvltry:17:07
ignasif obj.created.tzinfo is None: obj.created = ...17:08
yvlok, that's even better17:08
aelknerok, to reitterate:17:08
yvlif obj.created.tzinfo is None: obj.created = pytz.UTC.localize(obj.created)17:08
aelknerok, you beat me to it17:09
yvl:)17:09
aelknerthat's the line of code that i'll aplly to all messages and goals17:09
ignasjust don't forget http://bazaar.launchpad.net/~aelkner/schooltool.intervention/december_fixes/annotate/head%3A/src/schooltool/intervention/intervention.py17:09
ignasdatetime.now() have to be fixed too17:09
aelkneris it import pytz?17:10
ignasyes17:10
aelknerok, i'm putting a pdb trap inside the if17:12
aelknerit never reaches there with my zodb17:12
aelknerthat's what bothers me about this17:12
ignasprint the tzinfo bit17:13
aelkner(Pdb) obj.created17:13
aelknerdatetime.datetime(2008, 5, 12, 16, 22, 26, 468435, tzinfo=tzinfo(0))17:13
aelknerall of the objects in my Data.fs have that attribute set17:13
yvlaelkner: in your DB, did you have messages there before evolution 1 and created new ones after evolution 1 but before evolution 2?17:13
ignasI have a theory17:13
ignasyou have to create a message17:14
aelkneryvl: yes17:14
ignasbecause new messages are broken17:14
aelknermaybe i haven't yet17:14
yvlyou have to create a message with new code, after evolution 1 passed17:14
aelkneri can abort the evolve2 and set the generation back to 1 for a second to make that edit17:15
yvland you have to have old messages that migrated *existing* messages from dublincore17:15
yvlor you will not get the error17:15
ignasboth - old and new17:17
ignasold have tzinfo set to tzinfo(0) <- WTF!?17:17
ignasnew ones don't have it17:17
*** dlobo has quit IRC17:19
aelkneryvl: excellent, i was able to recreate the bug!17:21
yvlcongratulations ;)17:21
aelknernow i can evolve it to see if that fixes it17:21
aelknerit worked!17:22
aelknerignas, yvl: many thanks for the assist17:22
aelkneri can install this on their server pronto and get them back up17:22
aelknerbut i need to fix how i create new ones, too17:23
yvlyes, please :)17:23
aelknerself.created = pytz.UTC.localize(datetime.utcnow())17:24
aelknerin both message ad goal constructors, does that sound like everything?17:24
ignassound like, yes, but "gid datetime | grep now | grep schooltool" would be nice to be sure ;)17:25
yvldid the grep17:26
yvlthose two places only, at least in interventions17:26
aelknerthat's it then17:26
ignasgood17:26
ignasotoh - don't you have ITimeManage or whatever utility?17:27
ignasand can't it do the "now" thing properly?17:27
ignasthough, that you can start using later ;)17:27
ignasin an hour or so :)17:28
yvlwe have DateManagerUtility17:28
aelknerright now i got to get this fix to them asap17:28
* Lumiere notes that there should really be a schooltool common date that everything uses17:28
yvlit has .today()17:28
yvlit also does tzinfo = pytz.timezone(IApplicationPreferences(app).timezone)17:28
yvland returns dt.astimezone(tzinfo).date()17:28
yvland that kind of ****17:29
ignasnope17:29
ignasthat's the correct way IIRC17:29
ignasyou don't want UTC today! seriously17:29
ignasthat messes up the calendar17:29
ignasand you don't want server side today!17:29
ignasthat messes up the calendar even more ;)17:29
ignasalso - most of the time, the app pref timezone is utc17:30
yvl.date() part17:31
ignasyep, what's wrong with it?17:31
yvlit's not a timestamp17:31
yvlit's a date17:31
yvlneed to add now17:32
ignaswell - today() is a date17:32
ignasahh17:32
ignasthere is no now there17:32
ignasyeah, add it17:32
yvlneed to move DateManagerUtility in sane place17:32
ignasyes, you need yto17:32
yvlnot in term/term.py17:32
yvlI know17:32
ignasand separate the term getting logic from it17:32
yvlI know17:32
ignasand start using it :D17:32
Lumierethat should be a mandatory utility17:32
yvlyes it should17:32
yvland eventually it will17:33
ignasLumiere, it even has an override in functional tests17:33
ignasso you can set the time in the tests17:33
ignasand it mostly works17:33
Lumierelol17:33
ignasunless someone uses datetime.now directly17:33
ignasin some place17:33
yvlor the wole pytz.UTC.localize(datetime.utcnow()) in many places17:34
ignaswould have saved a *lot* of work for us if we'd have done it 4 years ago...17:34
yvlyep17:34
yvlon the other hand it's on my TODO list for like half a year17:35
yvlalready17:35
yvlpriorities...17:35
ignasnoone complains about calendars anymore17:35
* Lumiere kills profiles off his palm pre to reload things and fix them17:35
Lumierewe have calendars?17:36
th1aOK...17:38
th1ayvl & menesis:  How have things been in Vilnius?17:38
yvlhmm17:39
yvlwell, I've been working to build some Zope KGS we could port to17:39
yvlalmost there17:39
yvlDo you want details?17:40
ignasyes!17:40
yvlI know *you* want17:40
yvl:))))17:40
ignascan I keep both pieces?17:40
aelknerth1a: i sent lehman the all's ok email17:40
yvlok then17:41
yvlno details now17:41
yvlbasically, I'll start porting ST soon17:41
yvldon't know what problems that will cause17:42
yvlI asked Douglas Cerna to check if zope.html 2.0.0 works with ST17:42
*** krushik has joined #schooltool17:42
th1aSorry... I pacing around the room.17:42
yvlso maybe we'll have new CKEditor17:42
th1aGood.17:42
yvlmaybe!17:42
th1aI'll take a couple more details and try to stay in my seat.17:43
yvl:)17:43
yvlOnce I have the wanted KGS finished17:43
yvl(after checks with menesis)17:44
yvlI'll start porting, menesis will start uploading Zope packages to ST PPA with a bit of delay17:44
yvlthis gives us a chance that we'll meet the bonus goal17:44
th1aThis KGS is a super-set of what's already in Ubuntu?17:44
yvlyes17:45
yvlit's a snapshot of one revision of still unreleased ZTK17:45
yvland a tweaked snapshot, by the way17:45
yvlso it is kind of most likely stable17:46
yvlit's the best we can do, in my opinion17:46
th1aok17:46
yvlbasically that's it without going into too much detail17:47
yvl(and bragging about the script I wrote to compare various states of Ubuntu / ppa / ZTK / schooltool KGS versions )17:47
yvlunless menesis has something to add :)17:47
th1aSounds good.  Thanks.17:48
th1areplaceafill: How are you?17:48
th1aI assigned you a bug (feature) last night.17:48
replaceafillyes17:49
replaceafillquestion about that17:49
yvlah, I forgot to mention that I asked replaceafill to postpone work on lovely.remotetask usage - I don't know yet if it will work at all with our new KGS17:49
replaceafillth1a, we're going to take the email for teacher and parent from their contact info, right?17:49
replaceafilli was wondering what are we going to do if they don't have any?17:50
th1aOh, just don't display the action?17:50
th1aCan we do that?17:50
replaceafillah ok17:50
th1ayvl:  That sounds like a good idea.17:50
th1aNot the best time to add shiny new components, fun as it is.17:50
*** dlobo has joined #schooltool17:50
replaceafilland if they do have emails, we use those addresses as "from" and "to" right?17:50
th1aYes.17:51
th1aWe should probably require the sender to have one in the system.17:51
replaceafilland don't allow the teacher to change them?17:51
th1aNo.17:51
th1aDon't allow.17:51
replaceafillthe only editable parts are subject and body then17:51
th1aYes.17:51
Lumiereimo we should require all instructors and school administrators17:51
Lumiereto have them17:52
replaceafillth1a, cool, i'll work on that and will set up my old testing instance for you to see it17:52
replaceafilli'll also work on the zope.html task yvl requested17:52
th1aLumiere, well, I don't know exactly how we'd "require" it.17:52
replaceafilland yvl i have a quick question17:52
yvlgo ahead17:52
replaceafillyou wrote: "XXX: SMTPDataError is not caught yet. For one, invalid recipient list may cause it (code 555)"17:53
replaceafillI tried several approaches with the "to_addresses" attribute in order to get it, and I got the 555 code but with SMTPRecipientsRefused exceptions instead17:53
replaceafilldo you remember what values you used to the the dataerror?17:53
yvlsadly, no17:53
yvlI think I passed a malformed email17:54
replaceafilli was reading the RFC for SMTP yesterday and the DATA command is more related to the body of the message17:54
replaceafillyes :)17:54
replaceafillwell, i'll keep trying17:54
yvlhmm17:54
yvlI think it may implement RFC < 100%17:55
yvlyou can try reading the code17:55
yvland see on what conditions it raises DataError17:55
replaceafillwill do17:55
*** ignas_ has joined #schooltool17:56
replaceafillth1a, i guess that's it, ah and i also check the problem with "umlauts" for schoooltool lyceum17:56
replaceafillbut didnt get too far17:56
th1aIs there some underlying Zope/ZODB problem with non-ascii user id's?17:57
th1aOr is this our problem.17:57
th1a?17:57
replaceafilli think it's our side17:57
replaceafillyvl, ignas?17:57
yvlit is our problem17:58
replaceafillthe thing is that for basicpersons, usernames are their __name__ attributes17:58
th1aWell, we should get this sorted for Cambodia, etc.17:58
yvlyes we do17:58
yvlit did not seem very trivial though - I don't remember why17:58
yvlI wanted to check something17:59
replaceafillthere are a lot of places where __name__ is accessed17:59
yvldon't remember, sorry17:59
replaceafillor person.username17:59
yvlI decided that this task should be addressed after Christmas release17:59
yvlyes, replaceafill, that rings a bell17:59
yvlmaybe export/import?18:00
th1aSo hold off for a closer look or let replaceafill poke around?18:00
yvlI'd say hold off18:00
yvlunless replaceafill is very interested in this bug :)18:01
replaceafillwill not "officially" poke around :)18:01
yvl:D18:01
ignas_ahh18:01
replaceafilljust for fun ;)18:01
ignas_most of the time unicode problems crop up18:01
ignas_in javascript18:01
replaceafillyes, i'm really interested18:01
*** ignas has quit IRC18:01
ignas_when you pass __name__ as a parameter womewhere18:01
ignas_also - if you try concatenating urls you might get "surprised" but I am not sure about that18:02
yvljavascript, export/import, element ids in html, something else18:02
yvlah, yes18:02
yvlurls also!18:02
replaceafillauthentication18:02
replaceafillas principal.id18:02
ignas_yeah, that might fail too18:02
ignas_otoh - you should support unicode IDs everywhere...18:03
ignas_because managing a cabodian school will be hell otherwise18:03
ignas_you can transliterate it for the ruskies18:03
ignas_and germans18:03
ignas_but not chinese *probably*18:03
replaceafillth1a thats it18:04
th1aWhat do we have to do to "support unicode ID's everywhere?"18:04
th1aCheck everywhere?18:05
replaceafilli think so18:05
Lumierewrite a utility to handle it? :)18:05
yvlyes and yes18:05
th1aWrite tests that use Khmer names?18:05
ignas_it's not about utility, it's mostly a new class of "errors" that are possible18:05
yvlexactly18:05
ignas_and that were made by us18:06
ignas_and not checked for18:06
replaceafillth1a, i've added names like "josé" to test some things :)18:06
ignas_so - zope3 can work with unicode ids pretty well, unless you mess up, and we messed up :(18:06
ignas_and then we covered it up by making most of the ids ascii18:06
ignas_and replacing non ascii characters with '-'18:07
th1aOh... it is partly a problem because until last month or whatever URL's had to be ascii?18:07
ignas_not last month, las year18:07
ignas_I have started allowing non-ascii names somewhere around then18:08
ignas_and fixing all the things that broke when they brokew18:08
th1aDidn't ICANN just change that or something?18:08
ignas_there are 2 parts in the url18:08
ignas_the "domain name"18:09
th1aI guess I'm thinking of domain names.18:09
th1aYes.18:09
ignas_and "the path"18:09
th1aOK.18:09
th1aAll right.18:09
th1aEnough jibber jabber.18:09
yvlit's gravel time :)18:10
th1aI'll let you know when I hear back from Mark.18:10
th1aHave a great week gentlemen!18:10
* th1a drops the bag of gravel.18:10
*** dlobo has quit IRC18:38
*** pcardune has joined #schooltool19:04
*** dlobo has joined #schooltool19:26
*** pcardune has quit IRC19:37
*** dlobo_ has joined #schooltool19:41
*** dlobo has quit IRC19:57
*** dlobo_ is now known as dlobo19:57
*** menesis has quit IRC20:08
*** mgedmin has quit IRC20:20
*** pcardune has joined #schooltool20:58
*** menesis has joined #schooltool21:50
*** dlobo has quit IRC22:06
*** alga has quit IRC22:22
*** dlobo has joined #schooltool22:26
*** alga has joined #SchoolTool22:28
*** alga has quit IRC23:18
*** alga has joined #SchoolTool23:33
*** th1a has quit IRC23:33
*** pcardune has quit IRC23:47

Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!