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

*** dlobo has joined #schooltool00:24
*** dlobo has quit IRC00:27
*** menesis has quit IRC01:05
*** menesis has joined #schooltool01:08
*** mgedmin has quit IRC01:24
*** menesis has quit IRC01:32
*** krushik has quit IRC02:07
*** jelkner has quit IRC02:36
*** krushik has joined #schooltool03:05
*** alga has quit IRC03:15
*** replaceafill has joined #schooltool04:40
*** pcardune has joined #schooltool05:05
*** pcardune has quit IRC05:11
*** dlobo has joined #schooltool05:52
*** replaceafill has quit IRC06:48
*** dlobo has quit IRC07:02
*** replaceafill has joined #schooltool09:28
*** yvl has joined #schooltool09:58
replaceafillyvl, ping10:06
yvlreplaceafill, pong10:12
* yvl will be here in 10-20 mins10:12
replaceafillyvl, ping me when you get back ok? i have a question for you10:13
replaceafillyvl, i'll be around10:13
yvlping replaceafill11:02
replaceafillhey yvl11:03
yvlhi :)11:03
replaceafillthe schooltool.email package i'm working on it's supposed to be used by the inteventions package11:03
replaceafillthe interventions package was using zope.sendmail11:03
yvlAFAIK11:03
replaceafillin the zope.sendmail package the send method receives (fromaddr, toadrr, message)11:04
replaceafilli was wondering11:04
replaceafillshould we store these three parameters in our new Email object?11:05
replaceafilland leave the message creation to the caller11:05
replaceafilli mean, we could store (fromaddr, toaddr, body)11:05
replaceafillin zope.sendmail message has the headers and the body of the email as a string11:06
* replaceafill doesn't know if he's being clear again :(11:06
yvlI'd leave headers and body separate in the email object11:07
yvland build the message parameter when sending11:07
replaceafillyes me too :)11:07
yvlit's more convenient for the views, etc.11:07
yvllike [email.subject for email in email_container]11:07
yvlthan [extract_subject(email.message) for email in email_container]11:08
replaceafillso, the caller should build the Email object before try sending it, right?11:08
yvlumm, who's the caller again?11:09
replaceafilllike interventions is doing right now with python's standard MIMEText11:09
replaceafillintevertions for instance11:09
replaceafillthe code that will use the utility11:09
yvlyou mean something like:      util.send(Email(from='john', to='bob', subject='foobar', message=text))11:10
replaceafillyes11:10
yvlsounds ok11:11
replaceafillyvl, last question :)11:11
replaceafillzope.sendmail sets a message-id11:12
replaceafillas a header11:12
replaceafillaccording to rfc 2822:11:13
replaceafillmessage-id      0*              1               SHOULD be present - see11:13
replaceafill                                                3.6.411:13
replaceafillnote the SHOULD :)11:13
replaceafillSHOULD we use it?11:14
yvlgenerally, I'd vote yes11:15
yvlbut it's additional work, and I can't think of an immediate benefit now11:16
replaceafillcool, i'll leave it out for now then11:16
yvlyeah, we can add this later ;)11:17
yvlwhen we're sure why we need it ;)11:17
replaceafill:D11:17
replaceafillyvl, do you like using Annotations?11:19
replaceafilli remember ignas being against it11:19
yvlI'm a little bit pro-annotations :)11:26
yvlwhat do you want to store?11:27
replaceafillthe server settings11:28
replaceafillright now they're attributes in the container11:28
replaceafillbut looking at the sitepreferences implementation, the preferences are stored as annotations on the ST application11:28
yvlbecause they are site preferences11:29
yvlsmpt server settings do not look like site preferences11:29
yvlmaybe it's better to leave them as attributes of EmailContainer11:31
yvlor even create persistent Email object11:31
yvlthat has the settings as attributes11:31
yvland one more attribute: emails11:31
yvlemails being the EmailContainer11:32
yvlhmm, you can even name them 'queue'11:32
replaceafillah11:32
yvlapp['schooltool.email'] = Email()11:32
replaceafilllike instead of a container being only persistent11:33
yvlapp['schooltool.email'].server_addr11:33
yvlapp['schooltool.email'].queue11:33
yvlyes11:33
yvlwell, Contained11:33
yvlumm (Persistent, Contained)11:34
replaceafillwould it have advantages over using a container?11:34
yvlthats the one :)11:34
replaceafillyes :)11:34
yvlwell, you could add another container if you need to11:34
yvlit just looks like two different things: email server settings and the emails themselves11:36
replaceafillyes11:36
yvland I'd still like them to use one slot in the app - 'schooltool.email'11:36
yvl(the last one was against implied argument of extending via adding app['schooltool.emails_stuck'])11:38
replaceafilldo you see a problem with the queue being a container under 'schooltool.email' and having the settings as attributes?11:39
replaceafilli mean, besides being two different concepts11:39
yvlnope :)11:40
replaceafillcool, now for real, last question :D11:41
replaceafilli'm storing errors as Email annotations11:41
replaceafillstoring the "string" and the "time" of the error11:41
replaceafilli didnt want to put two additional attributes on the Email object11:43
replaceafilli created an adapter IEmailError(email)11:44
replaceafillwhich gives you the two pieces of data11:44
yvlouchy11:44
replaceafillbut it feels like an unnecessary step11:44
yvlyes11:44
replaceafilli'm not confortable with it :(11:44
replaceafillwhat do you recommend?11:45
replaceafillput the two attributes as not required on the Email class?11:45
yvlyes, at least for now11:45
replaceafillcool, i'll move them back :)11:46
yvlsomething like 'status', 'time_created', 'time_sent'11:46
replaceafill:O i havent thought of time_created11:46
yvlumm, it's not necessary - I was just writing random examples11:47
replaceafillbut i'll add it11:47
replaceafillah11:47
yvlbut it looked like an useful thing to show in the interface11:48
replaceafillyes11:48
replaceafillso the user knows how long has been there11:48
replaceafilli mean, the email object11:48
yvlyep11:49
replaceafillok yvl, thanks for the time and advices :)11:50
yvlalways welcome :)11:55
*** alga has joined #SchoolTool12:14
*** menesis has joined #schooltool13:11
*** replaceafill has quit IRC14:13
*** replaceafill has joined #schooltool14:28
*** replaceafill has quit IRC14:42
*** replaceafill has joined #schooltool14:42
*** ignas has joined #schooltool14:54
replaceafillyvl, ping15:56
yvlpong15:56
replaceafillhey yvl, weird thing is happening to me:15:56
replaceafillif i do "from email.mime.text import MIMEText" from the python interactive interpreter i get no error15:57
replaceafillbut if i do it inside a schooltool module i get "ImportError: No module named mime.text"15:57
replaceafilldo you know what could be the cause?15:58
yvlyour schooltool runs on python 2.4 for some reason16:01
replaceafill:|16:01
replaceafillBOOTSTRAP_PYTHON=python2.516:02
replaceafillfrom Makefile16:02
yvlcd ..../schooltool/python/bin16:03
yvl./python16:03
yvlversion is 2.4?16:03
yvlwhere ..../schooltool is the directory Makefale is in16:04
replaceafillyou mean schooltool.stapp2008spring/python/bin?16:04
yvl* Makefile16:04
replaceafill2.5.416:04
replaceafillschooltool.stapp2008spring$  python/bin/python16:04
replaceafillPython 2.5.416:04
replaceafill:(16:04
yvland import works from the shell?16:04
replaceafillyes16:04
replaceafill>>> from email.mime.text import MIMEText16:05
replaceafill>>>16:05
yvland if you call "make run",16:05
replaceafillthen i get the error16:06
yvlless bin/start-schooltool-instance16:07
yvlfirst line says... ?16:07
replaceafill#!/home/elbixio/opt/sandboxes/schooltool_mail/schooltool.stapp2008spring/python/16:08
replaceafillbin/python16:08
replaceafillit's using the instance's python16:08
replaceafillcould it be schooltool.stapp2008spring?16:09
replaceafillshould i be using something different to set up the instance?16:09
*** th1a has joined #schooltool16:10
yvlwell, I'm using schooltool trunk directly16:11
replaceafill:O16:11
yvlbut it shouldn't matter16:11
replaceafillit had been working great until i tried importing "email.*"16:11
yvlyou can try make clean, make build16:13
yvlI'd guess some links were not updated when stapp switched from 2.4 to 2.516:13
replaceafillsame thing!!! >:(16:14
replaceafillwtf!!16:14
yvlyes, that's really odd16:17
yvlmake clean kills the python dir, right?16:17
replaceafillyes16:17
replaceafillrm -rf python ....16:17
yvlare you sure you did not do a typo in import?16:18
replaceafillno, copy paste in the interactive prompt works16:18
yvlok then16:19
yvltry import email somewhere in the code16:20
yvland raise Exception(str(email.__file__)) after that16:20
replaceafill    Exception: /home/elbixio/opt/sandboxes/schooltool_mail/schooltool/src/schooltool/email/email.py16:21
replaceafilldamn! could it be my module's name?16:21
yvlyep16:22
replaceafillduh!16:22
replaceafill:D16:22
replaceafillemail inside email :P16:22
replaceafill:'''''(16:22
replaceafillwhat do you recommend: move everything to __init__.py or rename the module?16:24
yvlrename module :)16:26
replaceafillmy_unique_email_module.py :D16:27
replaceafillmail.py16:27
th1ahi yvl, menesis, replaceafill, aelkner, Lumiere_.16:30
menesis hi16:31
replaceafillhi th1a16:31
yvlhi th1a16:31
th1areplaceafill: How's email coming?16:32
ignasmailing.py16:32
ignasnot email inside email16:32
ignaspython has a standard library module "email"16:32
aelknerhello16:32
replaceafillth1a, almost done, i asked some questions to yvl and i'm finishing those changes16:33
th1aRunning into some namespace collisions?16:33
ignasbut relative "email" takes priority16:33
replaceafillth1a, yes, with too many "email" words16:33
ignasthe usual, if you have a file sys.py and try "import sys" in __init__.py -> you get your file, instead of the system sys module16:33
ignashappens with email most of the time though ;)16:34
replaceafillignas, :)16:34
ignashad that problem a month ago too ;)16:34
* replaceafill moving everything to mailing.py16:35
th1adid aelkner make merge requests?16:36
aelknernot yet16:36
aelkneri was gong to ask16:37
aelknerdo i need to do something different, menesis?16:37
aelkneryou mentioned trunk being moved?16:37
replaceafillyes, i wanted to ask that too :)16:37
replaceafillshould i merge my stuff with trunk or 1.0?16:38
menesisaelkner: I moved schooltool.gradebook trunk to it's own project16:38
menesisbut you can't propose merge to a different project now16:38
menesisso no, you don't do anything different yet16:38
menesisdo branch lp:schooltool.gradebook next time16:39
menesisreplaceafill: trunk16:39
replaceafillmenesis, thanks16:39
menesis1.0 is mine :p16:39
replaceafill:)16:39
aelknerok, so i'll propose the merges now16:39
aelknermenesis: i already have a proposal to merge my schooltool.gradebook branch16:41
aelknerbut can you do it again?16:41
th1aYou're talking about merge requests in LP?16:43
aelkneryes16:44
menesisaelkner: I know16:44
aelknermenesis: i just made a fresh one for schooltool.lyceum.journal16:44
menesisI wanted to merge your branches today, but did not manage to do so before the meeting16:44
aelknerthat's just as well16:45
menesiswill be doing that later16:45
aelknerthis way you get my latest changes16:45
th1aDo we have any blockers at this point other than replaceafill's namespace collision?16:46
th1aIs that a "no?"16:48
yvlsounds like it16:49
th1aOK.  Excellent.16:49
th1aWhat's the timeline then, menesis?16:50
menesisth1a: I will merge aelkner gradebook and lyceum branches later today16:51
menesisthen update the translation templates and all three projects will be ready for translating16:52
th1aOK, excellent.16:52
menesisI have set up automatic translation import and export yesterday16:52
menesisand it works16:52
th1aGreat!16:53
th1aExactly what does it do automatically again?16:53
menesisthe three projects are schooltool, https://launchpad.net/schooltool.gradebook and https://launchpad.net/schooltool.lyceum.journal16:54
* replaceafill sending spam through gmail :)16:54
menesisautomatic means there is no manual work i have to request from launchpad admins16:54
th1aOK.16:54
th1aNot automatically syncing every change to bzr.16:54
menesispreviously that had to be done so that translations are imported from the branch16:55
menesisnow they get imported automatically after a few hours16:55
menesiswhen strings change, i have to run make extract-translations and commit the new template16:55
menesisthat's all16:56
th1aOK.16:56
menesisfor import16:56
th1aThat helps.16:56
menesisand export does daily export to a different branch16:56
menesisand I do the "bzr merge translations trunk" before a release16:56
th1aAh.16:57
th1aThanks menesis.16:59
menesisall that took most of my time on schooltool last week16:59
th1ayvl:  Can you update us (on your health)?16:59
yvlhealth up 99% :)16:59
yvlbut basically nothing to report from last week17:00
yvlI'll clean up translation strings for self contacts and merge them17:00
yvlso they'll make the string freeze17:01
yvlthat leaves other features kind of hanging17:01
yvlwe either fit them into 1.2.017:01
yvland update strings just before the release17:01
yvlmaking this string freeze more like a "string candidates"17:02
yvlor push them into 1.2.117:02
yvlmaking 1.2.1 release days after 1.2017:02
yvlso that's more of a political choice17:02
th1aBasically, I'd rather just release 1.2.0 with some untranslated strings.17:02
* yvl too17:03
th1aSo that's what we'll do.17:03
yvlwe'll have to go with bigger features at the beginning of the cycle next time17:03
th1aYeah.17:04
yvland do various smaller bugfixes at the end17:04
menesisfeatures have to come with the point release. translations come late anyway17:04
th1aWell, this time the bigger features at the beginning kind of dragged out.17:04
th1aBugfixes and small features aren't going to have a lot of strings.17:05
th1aWe'll be planning the rest of the year soon.17:06
replaceafillth1a, when a email cannot be sent is stored in the queue with a status message, should this message be translatable? They're shown in the GUI, right now, i'm using the exception messages17:06
th1aI'm working on it.17:07
th1areplaceafill: If it is a message the user is reading, it should be translatable.17:07
replaceafillyvl, it is possible to call i18n.translate without a request, right?17:08
replaceafillyvl, never mind, got it17:09
replaceafillth1a, what about the datetime's we're using as time_created and time_sent?17:10
replaceafillshould those be localized?17:10
th1aIt should be consistent with the user's preferences.17:11
replaceafill:O17:11
th1aConsistent with the rest of SchoolTool.17:11
replaceafillunderstood17:12
th1areplaceafill: So you're wrapping email up today.  Will you have some time for CanDo later in the week?17:13
replaceafillyes, i'm finishing this today17:14
replaceafillth1a, we fixed jelkner's problem btw17:14
replaceafilla hack to make his assignments to work17:14
th1aWork despite the duplicate competencies?17:15
replaceafillyes17:15
th1aGood.17:15
yvlreplaceafill: I think you should use the schooltool.term.interfaces.IDateManager utility17:15
replaceafillyvl, thanks, checking it out17:16
* th1a wonders if you could just hide the duplicated standards at the view level.17:18
th1aOK, aelkner, what are you working on this week?17:20
aelknerok, so you understand that i got the reports working with dummy data in order to17:21
*** dlobo has joined #schooltool17:21
aelknerget the design of the templates working with the view classes and all of teh strings defined for the freeze17:21
th1aok17:21
aelkneri'll need a couple of more days to deliver the actual data17:21
aelknerand that will take care of the four reports17:22
aelkneralso, i not only got the strings in for the create summary sheets feature17:22
aelkneri also got the feature to work17:22
aelknerand, of course, you noticed i made the string changes you requested17:23
th1aYes, thanks.17:23
aelknerso this week, it's finishing the reports and dong journal stuff17:23
th1ayvl: did I assign any string changes to you last Friday?17:23
th1aI think they were all aelkner's.17:23
th1aaelkner: OK.  Thanks.17:24
yvlno, th1a17:24
yvlat least I failed to notice17:24
* th1a double-checks.17:24
th1adoesn't look like it.17:26
th1aOne last thing menesis:  Make sure and shoot me an email with links to the templates that people should actually be translating going forward, so I don't point people to the wrong place.17:27
th1aAlso, I think soon after the release would be a good time to start limiting who can contribute translations.17:28
th1aAnd with that, I think we should end on time so everyone can get back to work!17:28
th1aHave a great week gentlemen!  Thanks for your work getting everything ready for the string freeze.17:28
* th1a drops the bag of gravel.17:29
replaceafillth1a, i hate when people change my spanish translations >:(17:30
th1areplaceafill: Yeah, we'll stop that.17:33
*** menesis has quit IRC17:36
*** menesis has joined #schooltool17:36
*** Lumiere_ is now known as Lumiere17:36
menesisth1a: will send17:36
Lumierehi all17:40
Lumieresorry I've been somewhat absent the last few weeks17:41
th1anp17:44
th1aWe're not paying you.  ;-)17:44
Lumieretoday is a holiday :)17:45
th1aA perfect time to do some non-paid work!17:45
Lumiereyea!17:46
th1aOK, why don't you work on translating CanDo into Khmer this afternoon?17:50
Lumiereuh17:54
Lumierefail?17:54
*** dlobo has quit IRC17:54
th1aDon't you read Cambodian anime in the original Khmer?17:55
th1aEr... manga.17:55
th1aYou don't read anime, do you?17:55
Lumiere... I do actually but only in japanese17:57
th1aSee -- it is all just squiggly lines.17:58
th1aAren't all those languages the same?17:58
* th1a has to work on constructive volunteer managment.17:59
Lumierelol17:59
*** ignas has quit IRC18:23
*** alga has quit IRC19:16
*** dlobo has joined #schooltool19:27
*** dlobo has quit IRC19:37
*** pcardune has joined #schooltool19:47
*** dlobo has joined #schooltool19:53
*** dlobo has quit IRC20:07
*** alga has joined #SchoolTool20:52
*** replaceafill has quit IRC21:15
*** dlobo has joined #schooltool22:26
*** pcardune_ has joined #schooltool22:32
*** dlobo has quit IRC22:36
*** pcardune has quit IRC22:49
*** pcardune_ is now known as pcardune22:49
*** menesis has quit IRC23:28
*** replaceafill has joined #schooltool23:45

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