IRC log of #schooltool for Monday, 2007-06-25

*** th1a has quit IRC00:15
*** smalekgh has joined #schooltool00:16
smalekghhi peoples! Question: How does one go about checking permissions in a page template? Like, for a tal expression?00:18
ignasadd the check in a view00:20
smalekgher, how does one go about checking permissions in a view?00:20
ignascanAccess and canWrite00:20
ignasschooltool has <tal:if condition="section/can_access:label">00:21
ignasconstruct for tal00:21
smalekghI mean, query the permissions, as in... Get the actual value of the permissions...00:21
ignaswhich is good enough sometimes00:21
ignasyou get either an exception or True/False for that check00:22
ignaslook at the source code that uses it00:22
ignasget value?00:22
ignasof permission?00:22
smalekghschooltool.view00:22
smalekghor schooltool.edit00:22
smalekghetc.00:22
ignasyou want to know which permission is required to "do" something with the object00:22
smalekghI want to know the KIND of permissions so I know wether or not to display a certain set of inputs for a page template00:23
ignaswhy?00:23
ignasso you check - if this person canWrite this attribute on that object - show this link00:23
ignasKINDS of permissions work the other way00:24
ignasyou can do it this way too:00:24
smalekghOkay, now you might have just buried yourself >_< What exactly is it that canWrite does?00:24
ignascheck if i have "schooltool.edit" permission for this object00:24
smalekgh*in my questions*00:24
ignascanWrite will do this:00:25
ignasHey zope - i have "Object" and i want to know if i can write it's "whatever" attribute00:25
smalekghAnd that is determined BY the permissions?00:25
ignaszope looks at the object, the attribute and says "this attribute is governed by IFoo interface"00:25
ignasand for this writing to IFoo is allowed to those who have "schooltool.view" on this object00:26
ignasnow zope asks the security policy00:26
ignashey has this Principal (person who's logged in) "schooltool.view" permission on this object?00:26
ignasif so - canWrite returns True00:27
smalekghoye00:27
ignaselse - canWrite returns False00:27
ignasyou can also schortcut00:27
ignasand perform the "has this Principal schooltool.view on this object" yourself00:27
ignasif you care about the permission not "capability"00:28
ignasclear enough? or you need some more antrophomorphized secrity policy acting?00:28
smalekgh... lol thanks00:28
smalekghThe whole 'speak to me like I'm a 3 year old' thing actually worked >_<00:29
smalekghby the by, inside of configure.zcml, within zope:class blocks, how does one go about setting particular permissions for particular attributes?00:33
ignasno idea, most of the time i keep looking at old <class> declarations until they start making sense00:35
ignasyou can do this by setting permissions for attributes00:35
ignasor interfaces00:35
ignasset_schema and interface are for interfaces00:35
ignasone says - to write this interface00:35
ignasother one - to read this interface00:35
ignasyou need this permission00:35
smalekghoye, thanks00:35
ignasas for attributes00:35
ignasthere is attributes="attrs" for i think reading00:36
ignasand something else for writing00:36
smalekghI'll try and find an example somewhere... thanks by the by00:36
ignasset_attributes is for writing00:39
ignasbut i'd advise going with interfaces00:39
smalekghThanks, but there are particulars within an interface that I want schooltool.view to have access to and others that only schooltool.edit oughtta have access to... (If this is bad design, uhh, >_<)00:41
ignassplit the interface00:42
ignasin schooltool we have some IReadFoo, IWriteFoo, IFoo hierarchies00:43
smalekghoh00:44
ignasclass IWritePerson(zope.interface.Interface)00:44
ignasIPerson(IReadPerson, IWritePerson, IAttributeAnnotatable)00:44
ignasfor example00:44
smalekghoh00:44
ignasthough IAttributeAnnotatable should be moved to some <class> declaration + <implements>, as it's not a mandatory part of the person00:45
smalekghWell, I'm kind of one to first want to finish what I'm doing the way it currently is, then split the interfaces... Uhh, after defining permissions for interfaces or set_schema, does attributes or set_attributes, respectively, override the specific attributes from interfaces or set_schema00:52
smalekgh?00:52
ignasi am not sure what happens if you pass it conflicting declarations00:54
* smalekgh treads carefully*00:54
ignasas in 'schooltool.write' for this Interface, 'schooltool.view' for these 2 attributes IN that interface00:54
smalekghyes00:54
ignasask in #zope3-dev, maybe someone will tell you ...00:57
*** ignas has quit IRC00:59
*** fsufitch has quit IRC01:08
*** smalekgh has left #schooltool01:13
*** pcardune has quit IRC01:54
*** smalekgh has joined #schooltool03:32
smalekghhiiii... here goes another question (*wewt*): I heard earlier about canRead and canWrite and can_access and some things along those lines, what are they, like, syntax-wise?03:39
*** aelkner has joined #schooltool03:52
smalekghhiya04:11
aelknersmalekgh: what's you name?  I'm not used to these handles.04:27
smalekghMasood Malekghassemi04:27
aelknerHey Massod.04:27
aelknerMasood04:28
smalekgh<_<04:28
smalekghJust like in real life I hear 'massod'04:28
aelknerWhat cha working on?04:28
smalekghpage template for editing a schedule... Trying to figure out how to access the current user's permissions within a page template, or at least within a view class *is sifting through webpages*04:29
smalekghThe zope guide says that in page templates, one could access the current user via tal:someexpression="user/blahblahblah", but apparently I can't seem to do the equivalent "python: user.blahblahblah" <_<04:31
aelknerWhich zope guide are you referring to?04:32
smalekghhttp://www.zope.org/Documentation/Books/ZopeBook/2_6Edition/Security.stx04:32
smalekght3h zope booketh04:32
aelknerThat's npot zope 3 docs, it's zope 2.04:33
smalekgh... crap...04:34
smalekghI think I've learned much about the wrong system and now I'll have ideas floating in my head that'll screw me over when I'm trying to learn the right way >_<04:34
aelknerTry starting here: http://wiki.zope.org/zope3/FrontPage04:35
smalekghoh, hallalujah04:35
smalekgho woe to the mind which can understand nothing >_< Uh, how does one go about retrieving the current principal's id? (zope.???.???.getPrincipal()?)04:47
*** gpaci has quit IRC04:48
*** james_ has joined #schooltool04:49
*** Fujitsu has quit IRC04:58
*** Fujitsu has joined #schooltool04:59
*** mlinnell has joined #schooltool05:03
*** pcardune has joined #schooltool05:17
smalekghhi paul05:32
*** fsufitch has joined #schooltool05:35
smalekghto anyone that saw me typing up on how to retrieve the principal, uhhhh, ignore it. All of it. <_<05:37
smalekghI mean, asking about it05:37
smalekghignore me asking about it <_<05:37
*** fsufitch has quit IRC05:57
aelknerpcardune: what is the svn repository that we will be working on tomorrow for the rest project?05:59
*** mlinnell has quit IRC06:12
smalekghA question of style: When you have some aspects of a single object that you want editable by a permission, say schooltool.view, and you have other aspects that you want only editable by schooltool.edit, is it better to have a single page that has it all or to split up the editing work amongst different pages (a page to edit a schedule by schooltool.view that's more limited than a page to edit a schedule via schooltool.edit)?06:12
smalekghpcardune: ping06:39
*** wjohnsto has quit IRC06:49
*** aelkner has quit IRC07:30
*** smalekgh has left #schooltool07:34
*** james_ is now known as gpaci07:34
*** E-nnovative1 has joined #schooltool07:41
*** pcardune has quit IRC08:14
*** th1a has joined #schooltool08:56
*** E-nnovative1 has quit IRC09:52
*** E-nnovative1 has joined #schooltool09:53
*** th1a has quit IRC09:53
*** jfroche has joined #schooltool10:45
*** jinty has joined #schooltool11:20
*** E-nnovative1 has quit IRC11:27
*** E-nnovative1 has joined #schooltool11:28
*** E-nnovative1 has quit IRC12:04
*** E-nnovative1 has joined #schooltool12:05
*** jfroche_ has joined #schooltool12:19
*** jfroche has quit IRC12:21
*** E-nnovative1 has quit IRC13:19
*** E-nnovative1 has joined #schooltool13:20
*** E-nnovative1 has quit IRC13:54
*** jinty has left #schooltool14:24
*** jinty has quit IRC14:24
*** jinty has joined #schooltool14:24
*** didymo has quit IRC14:29
*** ignas has joined #schooltool16:05
*** th1a has joined #schooltool16:14
jintyignas: have you seen the mail about z3c.optionstorage?16:21
ignasyes16:21
jintyok, anyway, it's all done and there should be a z3c.optionstorage egg16:21
jinty(if I managed to do everything correctly16:22
jinty)16:22
ignashmm,16:22
ignasi'll try and switch the dependency16:22
ignasin lyceum branch at least16:22
jintyI think there'l be at least one generation necessary16:22
ignas?16:22
jintybut I'm definitely no expert in ZODB related issues16:22
jintythere was at least one key that I changed where I had the feeling it might break data compatibility16:23
* jinty looks for the patch16:24
ignashmm16:24
ignasa problem i guess, as the evolution script should go in z3c.optionstorage package16:25
*** aelkner has joined #schooltool16:25
ignasi'll try to make it work16:25
jintyhttp://mail.zope.org/pipermail/checkins/2007-June/010763.html16:25
jintyon evolution script issues, I defer to you totally16:25
ignasby the way - do we really want to change the key?16:28
ignasi mean - really?16:28
ignasi know it will look better ;)16:28
ignasbut still16:28
th1aWhich key?16:29
ignasOptionStorageKey16:29
ignasjinty: i'd change it back to "optionstorage" and let the one who thinks it's worth renaming write the evolution script16:30
* th1a shuffles some papers around.16:31
ignashi16:31
th1aComing to you live from the Georgian Terrace Hotel in Atlanta, GA.16:32
th1aHi ignas, jinty, jfroche_, Lumiere.16:32
aelknerI'm here, too.  I've been reading the rest code lately, both client and serber.16:33
th1aHi aelkner.16:33
aelknerserver16:33
th1aHoping pcardune shows up, although it is early on the west coast.16:33
aelknerI ran the tests and they only fail in small ways.16:33
th1aaelkner: Which tests?16:34
aelknerThe restclient tests.16:34
th1aOh.16:34
aelknerftests16:34
th1aSo lets get updates...16:35
th1ajinty?16:35
* jinty is busy showing his house to a potential tenant16:36
th1ajinty: np.16:36
th1ajfroche_: ayt?16:36
th1a(jfroche said he might be late)16:36
th1aLumiere: ayt?16:37
th1aHm...16:37
th1aOK.  ignas?16:37
ignasok16:38
ignasfixed the code to handle two sections for the same teacher <-> student pair16:38
ignassomething like half of the group having 1 additional lesson16:38
ignasso this usecase would work properly in the journal16:38
ignasand began working on attendance views16:39
ignas group attendance view specifically16:39
ignasand that's it16:39
th1aWhat is "group attendance view?"16:40
ignaswell - teachers who are responsible for attendance16:41
ignasare advisors of a group most of the time16:41
ignasonly some teachers want to track the attendance for their section separately16:41
ignasso lyceum needs a view in which a teacher would be able to see the attendance for the whole group of students he's responsible16:41
ignasfor16:41
th1aAh.  That is good.16:42
ignasand mark some absences as explained16:42
ignason lesson or on day basis16:42
th1aCool.16:43
th1aI was drinking until 1:00 AM with the lead developer of DrupalEd, among others.16:44
aelknerignas: a question about ftests:16:44
aelkneris there a way of running test s o that they give the output16:44
aelknerof the tests without doing the comparison.16:44
aelknerA sort of automated trace?16:45
ignasnot sure16:46
ignasi don't think so16:46
ignasyou might want to ask in #zope3-dev about it16:46
aelknerI will.  I was always wondering about that.16:46
* jinty is ready to give his update ;)16:47
aelknerSometimes, one would like to see what's coming out and maybe even oput some trace debugging in.16:47
th1aCouldn't you just use pdb?16:47
* jinty normally just modifies the test a litte16:47
ignasaelkner: in such cases i use:16:47
ignasimport sys16:47
ignasprint >> sys.stderr, "My debug output"16:47
ignasso all the output goes to stderr, and does not cause tests to fail16:48
aelknerI don't prefer pdb because you have to step though everything which can be really tedious.16:48
aelknertrace debugging can give you all the output with one line of code.16:48
th1aignas's suggestion is much better, I suspect.16:48
* jinty knows of at least one testing framework that will fail tests that write anything on stderr16:48
jintyand that testing framework will one day run schooltool's tests16:49
th1ajinty: What are you referring to?16:50
jintythe ubuntu/debian automated package testing framework16:50
th1aOK.16:50
ignasjinty: that one should fail tests16:50
ignasstderr is like pdb16:50
ignasyou put it in code16:50
ignasrun the code, then remove it16:50
th1aright.16:50
*** gpaci has quit IRC16:51
jintyyeah, just letting ya know16:51
ignasany testrunner will fail if you will leave pdb.set_trace() in there ;)16:51
* jinty hopes so16:51
jintythough I've seen many a pdb committed to repositories16:51
jinty...16:51
th1aSure.16:52
th1ajinty: Go ahead with your update.16:52
jintywell, I've finally registered for europython :)16:52
jintybut still have to organize a hotel16:52
jintyor hostel more likely16:52
jintyotherwise, I've been working a little on sorting out optionstorage16:53
th1aHm... I need to confirm that my reservation went through.  I'm afraid it might not have.16:53
jintyand am still waiting for pcardune's promised action on his javascript egg16:53
jinty(though I havn't actually checked if he's done anything about that16:54
jintyignas: re the key16:54
jintyI'm not sure what to do then16:54
jintybecause before, there was no release -> no need to keep backwards compatibility16:55
jintynow there is a release, but with the new key (yes, I should have spoke to you first)16:55
jintyso now there is some promise of compatibility, but with the new key16:55
ignashmm, a good programmer would write an evolution script that handles both types of databases (ones with old key and ones with the new key), a bad one would change the key back, and hope no one has managed to download the new egg yet16:57
ignasi'll look at it16:58
* jinty realizes he should have thought of this before...16:58
th1aI would try the latter, but we already know what kind of programmer I am.16:59
* jinty guesses he just proved on which side of the line he is...16:59
aelknera rest question:17:00
aelknerto test rest manually, is there a way to do a rest GET to see the output?17:00
aelknerfrom the browser?17:00
jintyignas: ok, would it be easier to write the evolution script just for schooltool? as said before, the optionstorage package was never formally released17:01
jintyaelkner, wget?17:01
aelknerthat's from the command line, right?17:02
jintyor just your normal browser should do it17:02
ignasjinty: yes, but that leaves everyone who has used optionstorage before to face the consequences AND schooltool if accidentally deployed with a different optionstorage egg will still try to evolve which would be bad thing17:02
ignasjinty: so - i can't use schooltool specific stuff in optionstorage generation scripts, and will have to think of a way to do it in a generic case17:02
ignaswhich means - find all the objects that have annotations, and fix them (i have no idea how to get all the annotatable objects though)17:03
ignasaelkner: simple get - works with browser17:04
ignasaelkner: i used curl to do POST/PUT/GET testing17:04
ignaswith --verbose it gives quite a lot of data you might need17:04
aelknerwget http://localhost:7080/persons returned forbidden due to lack of credentials.17:06
aelknerBesides it wanted to invoke the index.htmls view.17:06
ignasaelkner: what is the REST port?17:06
ignasaelkner: and you want to pass username and password in some way as well17:07
aelknerIn the tests it's 7001.  Maybe that's the problem.17:07
ignasaelkner: look at schooltool.conf17:07
aelknerright.17:07
jintyIignas: i think zope.app.generations.utility.findObjectsMatching17:07
*** pcardune has joined #schooltool17:07
ignasjinty: cool, there are utilities for generation scripts :D17:08
th1ahi pcardune.17:08
th1aGood morning.17:08
pcardunehi th1a17:08
pcardunewhat time is it UC?17:08
pcarduneUTC*17:08
th1a1409?17:09
pcardunemy alarm didn't go off :/ did I miss anything?17:09
th1aHm... nothing earth shattering.17:10
th1aWant to give us an update on what you've been doing?17:10
pcarduneWell, I did manage to reorganize stagent to have a makefile and a test runner17:11
pcarduneand to be called schooltool.sifagent17:11
th1aThank you for that.17:11
pcardunewith a namespace package17:12
pcarduneI also fixed a few errors related to hard coded file paths...17:12
pcarduneone question I had is: for interns working on REST views, they are going to need commit access to schooltool repository17:14
th1aHm...17:14
th1aHm...17:14
pcarduneI mean, it is not necessary17:14
pcardunethanks to component architecture17:15
th1aI'm just wondering if it could be routed through you and eldar somehow.17:15
ignasbut yes, having a branch of schooltool for them to play around might be useful17:15
pcardunebut I think it makes a lot more sense to keep REST code with the package which is related to17:15
th1aHm... didn't mean a big problem.17:15
ignaspcardune: moving views to schooltool could be done after they are written and tested as well17:16
pcarduneignas: this is true17:16
aelknerrest views for packages like person are alreay a part of the package itself.17:17
th1aWe should probably get contributor agreements from them anyhow.17:17
th1aco-signed by their parents.17:17
aelknersee schooltool.person.rest17:17
jfroche_good afternoon all17:17
th1ahi jfroche_.17:17
pcarduneaelkner: right, that is what I was wondering about17:17
jfroche_again sorry for being late17:17
th1ajfroche_: No problem.17:18
aelknerI theory, we could create a cando package that contains all of the rest views for all packages and move them in later, solving the commit access problem.17:19
th1aIt is not a big problem either way.17:19
th1ajfroche_: Update?17:20
jfroche_yup met with Nicolas, spoke about gradebook & translation17:20
*** fsufitch has joined #schooltool17:20
jfroche_showed him how to introduce his actual notes & how to help french translation17:21
jfroche_friday was the last day of deliberation at jacqmain17:21
jfroche_i phone the school this morning but didnt get them17:21
jfroche_except that still pdf & translations for the "production instance"17:22
jfroche_oh and i got your mail about the washington sprint, i tried to move the holiday with my gf but at last it won't be possible17:23
th1aOK.17:23
th1aDon't worry about it.17:23
th1aI'm not sure what you meant about "pdf & translations"17:23
jfroche_oh the pdf report with reportlab17:23
jfroche_will commit this week to show17:24
jfroche_translation is just get rid of the untranslated that would disturb the teacher/administrative in jacqmain17:24
th1aOK.17:24
th1aThanks.17:25
th1aSo... I should head over to the conference.17:25
th1aBut perhaps pcardune, aelkner and ignas could discuss how to approach bringing REST back to life?17:26
pcarduneyes17:26
aelknerok.17:26
pcarduneand to start coding it today17:26
th1aWhat's the strategy, particularly in regard to also explaining it to interns.17:26
aelknerpcardune: i staerted yesterday running the ftests for restclient.17:26
th1aignas: Can you do that now, or should we pick another time?17:26
aelknerI seem sto run fine with slight errors.17:27
ignaswhat ZIS calls are we missing in schooltool REST interface?17:27
th1aOh... good question.17:27
th1aWell, there is add/change/delete17:27
aelknerright.17:27
aelknerThat should be enough to start.17:27
*** dwelsh has joined #schooltool17:28
ignasso you need - some new REST views for the queue17:28
dwelshLumiere:  you back?17:28
ignasand chesty <-> restclient integration17:28
jfroche_dummy question who and for what (among you i mean) rest is used ?17:28
th1aAnd there is a whole query syntax, which we could implement on the agent if we wanted to.17:28
*** jelkner has joined #schooltool17:28
ignasthat should be quite enough for a while ...17:28
ignasas soon as you will have these done17:29
ignasyou should add a REST add/edit view for demographics person17:29
th1ajfroche_: Basically, we're reviving REST as the mechanism for the SIF agent interacting with SchoolTool.17:29
ignasbecause it's the only person that you actually care about at the moment17:29
* th1a is getting in the shower.17:30
* pcardune is thinking about his grumbling stomach17:31
jfroche_so the SIF agent is the client for the rest views. where/why is this sif agent being developped ?17:31
aelknerI'm wondering, too, why we don't just change chesty to talk REST.17:31
ignasaelkner: chesty is the client for SIF17:32
aelknerIt's just a matter of Gets and PUTs to the right port.17:32
ignashaving 2 clients in 1 place is not very sane17:32
ignasyou need 2 clients17:32
ignasand some core17:32
aelknerschooltool.sifagent calls into stagent(chesty)17:33
aelkneror maybe i have that wrong.17:34
aelknerI havent' looked at pcadune's work yet.17:34
ignasschooltool.sifagent is a set of REST views and subscribers17:34
pcarduneits not my work, it is wills17:34
pcarduneI just did some reorganizing17:34
ignasat least should be17:34
aelknerwhat svn repository is that?17:34
pcarduneaelkner: bzr repository.  search launchpad for stagent17:35
pcarduneignas: no, schooltool.sifagent is what translates REST into ZIS17:35
ignaspcardune: emm, err17:35
ignasbut ZIS requests will be sent by sifagent17:36
ignasthat is independent from schooltool17:36
aelknerI know will is working on stagent, but you referred to schooltool.sifagent, a new package created by you, n'est pas?17:37
ignasmy vision was:   ZIS server <-> chesty <-> stagent <-> schooltool.sifagent views <-> schooltool17:37
pcarduneaelkner: no, just a renaming of stagent17:37
aelkneroh17:37
ignasZIS server <-> chesty <-> stagent <-> schooltool restclient <-> schooltool.sifagent views <-> schooltool17:37
ignas[chesty <-> stagent <-> schooltool restclient] sitting in one package17:38
ignas[schooltool.sifagent views] in another one17:38
ignassifagent views only having a queue of things that happened on schooltool17:38
fsufitchpcardune: could you or somebody else reexplain to me the annotation stuff and how barcodes should be implemented, because i got really confused yesterday....17:38
fsufitch(sorry to break into the discussion so roughly)17:39
ignasmodifications of schooltool database being performed by using schooltool resctlient primitives for person/group etc. modification17:39
pcardunefsufitch: not at the moment... we are discussing REST stuff now17:39
aelknerright.  restclient is in good shape.17:39
fsufitchok17:39
ignasso stagent takes items from the queue, sends info to ZIS server17:39
ignasthen takes info from ZIS server17:39
aelknerand cllas into restclient.17:39
pcarduneignas: chest <-> stagent is really just stagent.  stagent extends chesty17:39
ignasand uses restclient to do stuff with schooltool17:40
pcarduneyes17:41
ignasthis should leave stagent dependent on schooltool.restclient only17:41
*** fsufitch has quit IRC17:41
ignasand schooltool if schooltool needed ZIS support only has to include sifagent in it's zcml17:42
aelknerreally we should refer to them as stagent(chesty) to poit out the class derivation.17:42
aelknerignas: that sounds really clean.17:43
ignasit is17:43
ignasthe only downside is the additional layer that has to be maintained17:43
ignaswhich is restclient and REST views17:43
*** fsufitch has joined #schooltool17:44
aelknerBut they are already in place and 98% functional17:44
ignasaelkner: i'd go for 78% ;)17:45
aelknerwell, I'm referring to the restclient tests which looked pretty good.17:45
ignasand i am reffering to the ammount of schooltool functionality that can be accessed through REST17:45
aelkneryes, there's code to be written.17:46
* th1a is out of the shower.17:46
aelknerbut the model is there.17:46
th1astagent is just a bridge from one web service (SIF) to another (REST).17:48
* th1a is heading out.17:51
* pcardune wont be able to think much more on this until he gets some food in his stomach17:52
aelknera question about wget: when I do wget http://localhost:7001/persons --user=manager --password=schooltool, I get 200 OK, length 607 and localhost:7001/persons' saved, but I don't get the 607 bytes of data.  Does anyone know what the comand line arg is to get the data?17:52
aelknerI tries -r (recursive) to no avail17:52
aelknertried17:52
aelknerNever mind.  I see it downloaded to a directory called localhot:700117:56
aelknerPretty cool.17:56
fsufitchdwelsh, would you like to check my printable forms so i can commit them to trunk?17:57
ignasaelkner: use curl, it works better for REST17:57
ignasfsufitch: as for now - you don't need annotations yet i think17:59
ignasat least IMHO17:59
fsufitchthen i'm just confused.17:59
fsufitchi would be able to do something if i knew how to use PIL with zope17:59
ignasfsufitch: look at attendance sparkline views18:00
fsufitchor how to make a zcml page for barcode.gif18:00
fsufitchwhere are those?18:00
ignassrc/schooltool/attendance/browser/sparkline.py18:01
fsufitchand what do they actually _do_, so i know what i'm looking at18:01
ignasand src/schooltool/attendance/sparkline.py18:01
fsufitchok...18:01
aelknerignas: now that I know to start the rest server and use the right port, it works in the browser just fine.18:01
fsufitchbut what's their actual function?18:02
ignasto generate a sparkline image18:02
ignasand show it as a .png18:02
ignasAttendanceSparkline -> renders it with PIL18:02
fsufitchwhat's a "sparkline" image?18:02
ignasfsufitch: what's the difference? ;) some image made from lines and pixels18:03
ignasyou can google for them18:03
fsufitchlol18:03
fsufitchok18:03
ignasAttendanceSparklineView - displays the image18:03
fsufitchwhoa, that's pretty amazing18:08
*** th1a has quit IRC18:09
fsufitchhow does __call__() actually get called?18:10
fsufitchdoes it get called when there's no template specified for a page?18:11
fsufitchignas, ping18:14
ignascan't recall precisely18:14
pcardunefsufitch: yes18:14
ignasi think it has to do with the registration of the view18:14
fsufitchi see18:14
fsufitchbut to emulate that, i would have to actually write a class HaveBarCode18:17
fsufitchthat would have the renderAsGifString method etc18:17
fsufitchalso, for the __name__ and __parent__ attributes of IHaveBarCode, are they automatically filled, or do i have to fetch the data from somewhere?18:19
fsufitchpcardune, ping18:19
aelknerso pcardune: where did you put your schooltool.sifagent package, a bzr repository?18:19
*** eldar has joined #schooltool18:19
pcarduneI would call the class BarCodeView18:19
pcardunethe class would not implement IHaveBarCode18:20
fsufitchi c18:20
pcarduneaelkner: yes, like I said, search launchpad for stagent18:21
pcardunefsufitch: __name__ and __parent__ are automatically filled18:21
aelknerstagent is will's as I said.  What, did you change his code?18:21
pcardune__name__ is the name of an object as it appears in the url18:22
pcarduneand __parent__ it its container18:22
fsufitchi see18:22
fsufitchthx18:22
pcarduneaelkner: yes18:22
fsufitchmakes it much easier :)18:22
aelknerok18:22
fsufitchalso, from the BarCodeView, to access __name__ and __parent__, would i use context.__name__ or something?18:23
ignasyes18:25
pcarduneI second that :)18:25
fsufitchyay i'm actually understanding stuff!18:25
*** th1a has joined #schooltool18:27
fsufitchanother technical python question18:31
fsufitchif i'm in the directory browser/ and want to access a class in the parent directory to it18:32
fsufitchand the class is in a file named code128_barcode.py18:32
fsufitchwould i do:18:32
pcardunefsufitch: you have to specify the whole path18:32
fsufitchfrom ..code128_barcode import Code12818:32
fsufitchoh18:32
pcardunerelative paths won't be around until python 3000?18:32
pcarduneor maybe you can do that in python2.5? I'm not sure18:33
pcardunebetter to be explicit anyways18:33
fsufitchso i would do cando.barcode.code128_barcode.Code12818:33
fsufitchimport that stuff i mean18:33
aelknerpcardune: I do bzr branch https://launchpad.net/stagent, and it gets stuck in Fetch phase 1/4.  Am I doing something wrong?18:33
ignasaelkner: not code.launchpad.net ?18:34
pcarduneaelkner: that does not look like the url to a branch18:34
ignasfsufitch: from cando.barcode.code128_barcode import Code128 is the way i'd do18:34
fsufitchok18:35
aelknerpcardune:  true.  I see that there are 5 branches that wdickers made.  Which one are you working on?18:35
aelknertrunk?18:35
pcarduneaelkner: the one with the most revisions18:36
* ignas prefers the full path as he has tools to perform imports automatically18:36
pcardunehttp://bazaar.launchpad.net/~stagent-developers/stagent/stagent-dev/18:36
pcarduneignas: what is this tool you speak of?18:37
eldarignas, in the new IterableBatch, what do we use instead of  <div metal:use-macro="view/@@batch_macros/batch-navigation"/> ?18:37
fsufitchpcardune, where would i put the barcode-configure.zcml?18:37
fsufitchso that i can actually use it?18:37
ignaspcardune: "py-imports.el" (emacs magic)18:38
pcarduneschooltool-skel/etc/package-includes18:38
pcarduneor may its package_includes18:38
ignaseldar: look at some view that uses IterableBatch18:38
ignasand nag jfroche to write the README.txt he promissed18:38
jfroche_oh right forgot about that one18:39
pcarduneignas: google doesn't know about py-imports.el18:39
eldar>.<18:39
jfroche_ignas: added to my todo list :)18:39
ignaseldar: src/schooltool/app/browser/templates/event_booking.pt18:40
eldarthank you18:40
ignas<tal:block replace="structure batch/render" />18:40
fsufitchpcardune, also, now that i think my display for the image works, how can i do the annotation so that i can do resource/barcode.gif and it shows?18:40
pcardunefsufitch: you don't need an annotation18:41
pcarduneyou just need to register a page with the name barcode.gif18:41
ignasfsufitch: look at attendance/browser/configure.zcml18:41
fsufitchwell, i did register it18:41
ignasfind the lines that register the sparkline view18:41
fsufitchbut it's registered for IHaveBarCode18:41
fsufitchnot for IResource18:41
fsufitchdo i need to do two registers, one for each resource and person?18:42
ignasfsufitch: have you added <class "resource"> <implements "IHaveBarcode"> ?18:42
fsufitchoh, no18:42
pcardunefsufitch: that is the zcml version of putting zope.interface.implements(ISomeInterface) in a class definition18:42
aelknerpcardune: I did bzr branch https://code.launchpad.net/~stagent-developers/stagent/stagent-dev, and it's still stuck.  Shouldn't that work?18:43
fsufitchi see18:43
ignasjust that you do it in *your* package, without modifying the original implementation18:43
ignasfsufitch is getting turbo charged on Zope3 information ;)18:43
fsufitchyep :)18:44
fsufitchand i'm actually _understanding_ it18:44
pcarduneaelkner: yes... so I don't know what to tell you :/18:44
pcarduneaelkner: I could pack it up and email it to you if you want18:45
aelknerpcardune: could you please try the same command and see it it works for you?18:45
pcarduneaelkner: wait, that isn't the url I gave you18:45
pcardune http://bazaar.launchpad.net/~stagent-developers/stagent/stagent-dev/18:45
pcardunehttp instead of https and bazaar instead of code18:46
aelknercrap.  It still is getting stuck in fetch phase 1/4.  Could you please do the same command to see if it fails for you?18:48
pcarduneaelkner: I did and it works18:48
ignasyep works18:49
ignasslowly, but works18:49
aelknerPerhaps it's because I'm not a member of stagent-developers?18:49
ignasthe ticker is ticking and the ammount of = is increasing18:49
ignasnope, it's http18:49
ignasyou don18:49
ignasbzr does not log in18:49
eldarit could be your routing/nat issues18:49
aelknerdid you get past fetch phase 1?18:49
ignasis the /|\|/ graphics spinning?18:49
ignasyep just got past it18:50
aelkneryes, it spins18:50
ignasand what about "=" signs, and your network traffic monitor?18:50
aelkner= signs are adding slowly.18:51
ignasso why are you saying it's stuck?18:51
pcardunelol18:51
aelknergood point.18:51
fsufitchpcardune, what's with the arguments to the <configure> tag in other configure.zcml files?18:52
fsufitchlooks like this:18:52
fsufitch<configure xmlns="http://namespaces.zope.org/zope"18:52
fsufitch           xmlns:wfmc="http://namespaces.zope.org/wfmc"18:52
fsufitch           xmlns:security="http://schooltool.org/securitypolicy"18:52
fsufitch           i18n_domain="schooltool">18:52
eldarnamespaces18:52
* pcardune plays sound track to jeopardy for aelkner18:52
eldarthey define the different namespaces you are going to use in your document18:52
*** gpaci has joined #schooltool18:52
eldarthe zope namespace is the basic set of namespaces18:52
fsufitchi see18:52
aelkneri jumped to the conclusion it was stuck because it's taking FOREVER18:52
eldarfsufitch, wait, this was covered in paul's class as far as i know18:52
fsufitchdo i actually need them for what i'm doing?18:53
fsufitchi think it was, but i sort of forgot >_>18:53
aelknerYay, it finally finished.18:53
pcardunefsufitch: you need them if you are using any of the zcml tags they make available18:53
fsufitchwell i only need <class> and <implements> stuff18:54
pcarduneaelkner: I wrote a blog entry on python decorators if you are interested to know about them18:54
ignasso you don't need wfmc and you don't need security18:54
ignasonly "zope"18:54
aelkneri'll take a look.18:54
ignasfsufitch: you should read about XML namespaces on the internet though18:54
pcarduneaelkner: http://beta.carduner.net/wordpress/?p=1118:55
eldaraelkner, the journal trunk should be fixed now18:55
pcarduneeldar: yay!18:56
pcarduneeldar: how close are we to making the buildbot function?18:56
eldarpcardune, hmm what do you mean?18:56
ignaspcardune: you should add @apply used as decorator there, and a decorator with an optional parameter ;)18:56
eldarthe buildbot works as far as i know18:56
eldarthey just didn't add the automatic mailing functionality yet18:57
aelknereldar: what journal trunk?  I know of my journal branch, aelkner-threaded-jounal.  Do you mean that?18:57
pcarduneignas: I do have @apply at the bottom18:57
eldaraelkner, the trunk's journal, that batching thing, i fixed it18:58
ignasoh18:58
eldaraelkner, you can merge the changes into your branch now18:58
eldarpcardune, do you know what linda's branch was called?18:58
pcardunelinda's branch for what?18:59
pcarduneshort answer: no18:59
ignaspcardune: http://mg.pov.lt/profilehooks.py (profile is an example of a decorator that can have a parameter, but works without any as well)18:59
pcarduneeldar: but does builtbot pass?18:59
fsufitchpcardune, where would i find the resource class so i can put in zcml?18:59
fsufitchor eldar, whichever one can answer quicker ;)18:59
ignasfsufitch: schooltool.resource.resource.BaseResource19:00
fsufitchwhoa19:00
fsufitchso it should look like:19:01
fsufitch  <class class="schooltool.resource.resource.BaseResource">19:01
fsufitch    <implements interface="cando.barcode.interfaces.IHaveBarCode"/>19:01
fsufitch  </class>19:01
ignasyes19:01
fsufitchor have i committed some sort of crime in there?19:01
fsufitchok good19:01
pcardunefsufitch: ignas is the fastest programmer in the west - or rather the east - or maybe just everywhere19:02
eldarpcardune, do you remember the buildbot url?19:02
*** th1a has quit IRC19:02
pcardunesvn.schooltool.org -> click on buildbot :)19:02
fsufitchkik19:03
eldardanke19:03
fsufitch*lol19:03
ignasno one has fixed the testbrowser ftesting.zcml inclusion in cando?19:04
pcarduneignas: not yet?19:04
fsufitchand Person is in schooltool.person.person.Person?19:05
eldarignas, where do i fix it? i never heard of this one19:06
ignaspcardune: is there a way to add <implements> to an interface?19:06
ignaseldar: find cando ftesting.zcml, remove testbrowser line from it19:06
eldarignas, thanks19:07
pcarduneignas: as in , one interface implements another?19:07
ignaspcardune: yes, because adding IHaveBarcode to IPerson would be cleaner19:07
pcardunewhy?19:07
pcarduneoh I see19:08
pcarduneI don't know if that is possible19:08
pcarduneat least not easily19:08
fsufitchok then... i've got everything set to actually test it19:08
ignasfsufitch: schooltool.demographics.person.Person19:08
fsufitchso all i have to do is to do some url work?19:08
fsufitchwhoa, then what person did i grab from person.person.Person?19:08
pcardunefsufitch: ah, you have discovered the finer points of schooltool development ;)19:09
ignasschooltool simple Person19:09
ignasthe one without all the demographics cruft19:09
fsufitchi see19:09
ignasthat is only needed by you, sneaky spying Americans19:09
ignas;)19:09
fsufitchlol19:10
eldarpcardune, any reason why all includes for cando in src/cando/journal/browser/ftesting.zcml are commented out?19:10
fsufitchso now all i need to do is browse around to a person/barcode.gif?19:10
ignasyes19:10
fsufitchyay!19:10
fsufitchthis wasnt as hard as i thought it would be >_>19:10
eldarpcardune, oh nevermind, you were moving the same file around, and uncommenting different things19:11
fsufitchhmm, it says Page not found19:12
ignaspcardune: py-imports is my own emacs hack, that uses TAGS, and a lookup table (for those special Zope3 imports) to construct the import string when you need it19:12
ignasso you won't find it on google19:12
fsufitchwhen i try to access it using http://maddog.yhspatriot.net:8125/persons/fsufitch/barcode.gif19:12
aelknereldar: I did svn merge -r 807:809 https://aelkner@svn.schooltool.org/cando/trunk/src/cando (I assumed since 807 was the latest revision for my branch and 809 was for the trunk)19:13
ignasfsufitch: how does your page declaration look like?19:13
fsufitchlet me fetch it19:13
aelknerfunny thing it shows in svn status that jounal.py and journal.pt have stauts M19:13
aelknerbut the files haven't changes somehow.19:13
fsufitch  <page19:13
fsufitch      name="barcode.gif"19:13
fsufitch      for="cando.barcode.interfaces.IHaveBarCode"19:13
fsufitch      class="browser.BarCodeView"19:13
fsufitch      permission="schooltool.view"19:13
fsufitch      />19:13
eldaroh, since you probably made your own edits to them, you're going to have to manually resolve the differences19:14
ignasclass=".browser.BatCodeView"19:14
fsufitchi'll try compiling again19:14
aelknerok19:14
eldarto help you, the main thing i changed was the Batch initialization in journal.py19:14
ignasi wonder how it even started19:14
eldarremove some stuff19:14
eldarand edited the macros includes in journal.pt19:14
fsufitchwhy .browser?19:14
ignasrelative import19:15
fsufitchoh, yeah19:15
fsufitchstill not found19:16
ignasi'd try registering it for IPerson directly, then if that works, look at what is wrong with your <class> declaration19:17
fsufitchok...19:17
fsufitchand where is IPerson?19:18
ignaswhat editor are you using?19:18
ignasemacs or vim ?19:18
fsufitchvim19:18
ignashave you tried using vim "tags" ?19:19
ignasif not - you should read about them19:19
aelknereldar: it turns out that 809 was not the revision that you made the change, it was 810.  Using that revision number did the trick.19:19
ignasworks wonders when you want to find class defintions19:19
fsufitchi'll read about them19:19
fsufitchbut i'd rather after i finish this problem :)19:19
aelknertrac has an annoying tendency to not update the latest revision number.19:19
ignasschooltool.person.interfaces.IPerson19:20
aelknerit says 809, but when you click on it, it shows your 810 change.19:20
fsufitchok, ty19:20
fsufitchstill not found :(19:21
aelknereldar: do you see what I mean?19:22
fsufitchignas, so what do i do?19:23
ignasfsufitch: as you had a syntax error in your configure.zcml19:24
eldaraelkner, ah yes, did it help?19:24
ignasmy psychic powers say19:24
ignasthat it was not included19:24
ignasbecause else you would get an error19:24
fsufitchsyntax error o_O19:24
ignas"browser.Foo"19:24
ignasshould have told you Class not found!19:24
ignasfind the site.zcml that is used when starting the app19:24
ignasask pcardune about that19:24
ignasand add your module in there19:25
fsufitchok...19:25
aelknereldar: yes, it did.19:25
fsufitchpcardune, so ignas says to ask you about my problem :)19:27
pcardunefsufitch: what is your problem?19:27
ignashis configure.zcml is not in the site.zcml19:28
fsufitchmy barcode.gif is not found, and ignas says that there might be a syntax problem somewhere, as there's no error19:28
ignasthus his views are not used19:28
fsufitchyeah, that19:28
fsufitch>_>19:28
ignasthe syntax error just helped me diagnose the problem19:28
ignasit's not related to the view not being found19:28
fsufitchoh19:29
fsufitchmaybe i did something bad with my barcode-configure.zcml19:29
pcardunethat might be it19:29
pcardunewhat does your barcode-configure look like?19:29
ignaspcardune: schooltool is ingoring slugs iirc, or slugs are not moved into places19:30
fsufitch<include package="cando.barcode" />19:30
ignaseggification ...19:30
*** jelkner has quit IRC19:30
ignasor are you using an ancient version?19:30
pcarduneignas: but that slug was dropped into place manually19:30
pcardunefsufitch: and where did you put that slug?19:30
pcarduneeldar: what was the final story with site.zcml for cando?19:31
ignaspcardune: so, site.zcml is not doing the <include * > thingie19:31
eldarsite.zcml does not exist19:31
eldarfor cando19:31
eldarwe drop a slug manually into package-includes19:31
eldarof cando-configure.zcml19:31
fsufitchi forgot where i put it19:31
eldarcando's configure.zcml does all the handling19:31
eldarof including cando packages19:31
eldarso if you want barcode to be included19:31
eldargo to cando/Schooltool/src/cando/configure.zcml19:32
eldarand add barcode there19:32
fsufitchi c19:32
fsufitchok19:32
eldarand remove your slug from package includes19:32
fsufitchok19:32
pcardunewe will want to change this at some point19:32
fsufitchwhere are the package includes?19:33
eldarif you don't know that, don't worry about it, most likely you didn't drop a slug there to begin with19:33
pcardunefsufitch: cando/SchoolTool/schooltool-skel/package-includes19:33
fsufitchthx19:33
ignaspcardune: as i am maintaining different schooltool configurations having 2 static site.zcmls makes most sense for me19:33
ignaspcardune: this allows to have only modules i want when starting schooltool19:34
eldarputting stuff in cando's configure.zcml works fine for now19:34
ignaspcardune: though in case of cando - i'd put all these includes in cando/configure.zcml19:34
ignasand then add "plugins/" directory in schooltool-skel19:34
eldarignas, yeah, it's exactly what we do19:34
eldarplugins 0.O?19:34
ignasand put cando-configure.zcml in there19:34
pcarduneyes, the plugins/ directory is what I was thinking about19:34
ignasbut "CanDo" will be the plugin19:35
ignasnot cando sub modules19:35
eldarmakes sense19:35
fsufitchpcardune, it's not in cando/SchoolTool/schooltool-skel/package-includes19:35
fsufitchthere is no package-includes there19:35
pcarduneoh... interesting19:35
eldarschooltool-skel/*etc*19:36
pcarduneand not a package_includes either?19:36
eldarpackage-includes19:36
fsufitchno19:36
pcarduneoh19:36
fsufitchoooh, etc19:36
fsufitchok19:36
fsufitchyay i'm getting a syntax error!19:36
eldarthe only thing you should see there is cando-configure.zcml19:36
fsufitchyeah19:36
fsufitchi noticed :)19:36
pcarduneeldar: does our makefile drop that in?19:37
eldaryeah19:37
pcarduneok19:37
eldaron the first make, it drops it in19:37
fsufitchuh, it doesn't let me do <include package="cando.barcode" /> in cando/configure.zcml19:37
fsufitch ConfigurationError: ('Invalid value for', 'package', 'ImportError: Module cando has no global barcode')19:38
eldaris your barcode directory inside cando ?19:38
fsufitchyes19:38
eldardoes it have a __init__.py in it?19:38
fsufitchoh19:38
fsufitchno19:38
fsufitchshould __init__.py be empty?19:39
eldardoesn't matter19:39
fsufitchok19:39
fsufitchbrb19:39
eldartouch "#package" >> __Init__.py19:39
eldaroops19:39
eldarjust19:39
eldartouch __init__.py19:39
eldaryay! only functional tests are failing now19:40
fsufitchback19:41
fsufitchstill not found :(19:43
ignasis there __init__.py in your browser package?19:43
fsufitchyes19:44
ignasand could you add a blatant syntax error to configure.zcml in your barcode package19:44
fsufitchit's not giving errors anymore19:44
ignas<foo>19:44
fsufitchok19:44
ignasand try if it's failing to start19:44
fsufitchit starts19:45
fsufitchwith <foo> and everythign19:45
ignasso it's not being included19:45
fsufitchbut then why was it yelling about no __init__.py being there?19:45
eldaralright, i'll be back in a few hours19:46
fsufitchko19:46
*** eldar is now known as eldar-out19:46
fsufitch*ok19:46
ignasno idea, can't tell you without seeing the code19:47
ignaslook at some cando package that works19:47
ignasand try to find out how is your package different19:47
fsufitchok19:47
fsufitchthey're all the same!!19:48
fsufitch    <include package="cando.curriculum" />19:48
fsufitch    <include package="cando.barcode" />19:48
fsufitch    <include package="cando.journal" />19:48
fsufitchetc...19:48
ignasand in cando/curriculum/configure.zcml if you add a syntax error?19:48
fsufitchlet me see19:49
fsufitchit doesnt complain19:49
fsufitchit still starts19:50
fsufitchmaybe <foo> isn't a syntax error?19:50
ignasmaybe, try <foo19:50
ignasis it even a cando server that gets started?19:51
fsufitchit still starts19:51
fsufitchuh19:51
fsufitchit's a schooltool that gets started19:51
fsufitchthat should start cando right?19:51
ignaswith cando.journal?19:51
ignasand cando.curriculum?19:51
fsufitchyes19:51
fsufitchi know it starts cando.virginia, because i worked with the competency gradebooks...19:51
ignasat least for me <foo gets a syntax error ..19:52
ignasseems that you are editing code in one place, and running it in another, or something like that19:53
ignastry going from the bottom (or is it top)19:53
ignasfind the schooltool.conf that is used19:53
fsufitchwait a minute19:53
ignasin it - find the site.zcml that is used19:53
ignasand add a syntax error in there, if that works, go lower19:53
ignasand etc.19:54
fsufitchso cando/src/cando/ isnt linked to cando/Schooltool/src/cando/?19:54
ignasno idea19:55
fsufitchthe site.zcml doesnt seem to include any cando anything19:56
ignaswhat do you type to start cando?19:57
ignasmake run?19:57
fsufitchyes19:58
ignashmm19:58
ignasno idea, i guess you'll have to talk to pcardune or eldatr19:58
ignaseldar19:58
ignasas i have no cando checkout19:58
pcardunefsufitch: what branch are you working on?19:59
pcardunefsufitch: and are you working on maddog?19:59
fsufitchyes, on maddog19:59
fsufitchand i think i'm still on printable-forms19:59
fsufitchalthough i didn't commit19:59
pcarduneok, I'll go in and have a look19:59
pcardunethese people in dallas just don't get it - they have the wrong phone number20:02
pcardunefsufitch: can you shut off your schooltool instance?20:03
fsufitchok20:04
pcardunefsufitch: ah, I see that none of the cando code is being included20:07
fsufitchyeah20:08
fsufitchwas that the bug that was being mentioned on launchpad?20:08
pcarduneok, there you go20:08
pcarduneits fixed20:08
pcarduneI just reran make20:08
pcarduneyes20:08
pcarduneit is20:08
fsufitchif i rerun make will it kill my code?20:09
pcarduneno20:09
pcarduneI get xml errors now in barcode/configure.zcml20:09
fsufitchyeah, it's because i had a <foo> in there20:10
fsufitchto check for if it was included :)20:11
ignasby the way - when testing for zcml inclusion random sets of letters are not syntax errors20:11
* ignas found it the hard way20:11
fsufitchwhen including > and < signs in there they should be20:11
ignasunclosed tags, or non-existent tags - work way better ;)20:11
fsufitchok20:12
fsufitchoh, i also had the xml version set to 1,020:14
fsufitchthat will do it too :)20:14
*** scottmaccal has joined #schooltool20:18
fsufitchstill not found!! :(20:18
fsufitchbut it DID complain about some errors i had in my code20:18
fsufitchit doesnt seem like the barcode/browser/configure.zcml is being accessed20:19
fsufitchnope, it's not complaining about the <foo>20:20
ignasdo you have <include package=".browser" /> in your configure.zcml20:21
fsufitchno, i dont think so20:21
ignasin your barcode/configure.zcml20:21
pcardunesome people don't know how to right commit messages:20:22
pcarduneITcd src/scheduling/! WORKScd src/scheduling/! MOFGAFGAGHAOHTGBNKARAOUBHTAObATBGAtbhagbahda814659176341#2139tjgafhba@^#oasfgahfgcd src/scheduling/! Wow, that looks a lot like an SSH key... Oh, it only works 75 some percent though...20:22
pcardune??20:22
fsufitch ConfigurationError: ('Invalid value for', 'package', 'ImportError: Module cando.barcode has no global browser')20:22
fsufitchdo i have to have an __init__.py in browser/ too?20:22
ignasyes20:23
fsufitchyay, it's not saying not found anymore20:25
fsufitchit just has a problem with me referencing context.__name__ and context.__parent__20:26
fsufitchcontext not found o_O20:26
fsufitchisn't it supposed to be defined by default?20:26
ignasself?20:26
fsufitchself?20:26
fsufitchbut this is the code in BarCodeView20:26
fsufitchnot in IHaveBarCode20:27
ignasself.context.__name__20:27
fsufitchooooh20:27
fsufitchok20:27
fsufitchgrrr, this is one thing of python that i dislike20:27
ignasyes, it's way better to have to name all the members of the class _foo or m_foo to be able to tell them apart from function parameters and locals20:28
ignasnot.20:28
fsufitchForbiddenAttribute: ('__add__', <schooltool.person.person.PersonContainer object at 0x9d4a4ec>)20:28
fsufitchwtf20:28
fsufitch__add__?20:28
ignasyou have person_container + foo20:28
fsufitchi never tried to access that20:28
ignassomewhere20:28
fsufitchoh20:28
fsufitchbut...20:29
fsufitchOH!20:29
ignasyes?20:29
ignas__parent__.__name__ ?20:29
fsufitchthat too20:29
fsufitchbut i was trying to add object+string+object20:29
ignasfriends don't let friends add strings to containers20:29
pcardunenothing like a light bulb turning on to brighten your day....20:29
pcarduneignas: lol20:29
scottmaccalgreetings, I would like to help with the Mac OS X port. could someone point me the right direction as far as source code?20:30
pcardunescottmaccal: well, you can get check out all the code via subversion20:30
ignasscottmaccal: http://www.schooltool.org/documentation/setting-up-a-development-server/20:30
ignastry doing this20:31
ignasif it fails - fix it20:31
scottmaccalok20:31
scottmaccalthank you20:31
ignaswe have no idea what issues might crop up on Max OS X, so we can't really guide you20:31
ignasbut most parts of the ubuntu setup guide should work for you20:32
scottmaccalok. I will give it a shot.20:32
fsufitchignas, how do i get a string from a StringIO?20:33
fsufitchin the example you gave me it was stringio.getValue()20:33
fsufitchbut it doesnt work for me20:33
ignasfsufitch: how does it fail?20:33
fsufitchAttributeError: StringIO instance has no attribute 'getValue'20:34
ignasare you importing StringIO20:34
fsufitchyes20:34
ignasor from StringIO import StringIO20:34
ignasoh20:35
ignasduh20:35
fsufitchimport StringIO20:35
ignasgetvalue)_20:35
ignasgetvalue()20:35
ignasnot getValue()20:35
fsufitchlowercase v?20:35
ignaspython standard lib20:35
ignasyes20:35
fsufitchok20:35
ignashas like 3-4 naming conventions used all over20:35
fsufitchlol20:35
fsufitchIT WORKS!!!20:35
fsufitchzomg!!20:35
fsufitchw00t20:36
pcardunefsufitch: do you have a url I can look at?20:36
fsufitchhttp://maddog.yhspatriot.net:8125/persons/fsufitch/barcode.gif20:36
pcardunevery nice20:37
fsufitchi accomplished something!20:37
fsufitch>_>20:37
fsufitchanyway, now i have stuff to do20:37
pcardunecando stuff to do?20:37
fsufitchlike babysitting my little bro >_>20:37
fsufitchi'll be back later20:38
fsufitchno, not cando, sadly :(20:38
pcardunefsufitch: you should teach him python20:38
fsufitchhe's 2 years old20:38
pcardunenever too early to start :)20:38
ignasoooh, can you generate jail style photos from the ones uploaded to schooltool too?20:38
fsufitchheh20:38
pcarduneha ha ha20:38
ignasas you are barcoding the inmates already ;)20:38
fsufitchjail style photos?20:38
pcardunethat would be great20:38
pcarduneit should be a plugin20:38
fsufitchi could do that20:38
pcarduneschooltool.jail20:38
fsufitch>_<20:38
fsufitchjailtool >_>20:39
ignasPrisoner Information  System20:39
ignasa PIS20:39
pcarduneor PISST - Prisonder Information System (SchoolTool)20:40
fsufitchlol20:40
fsufitchok, i'll be back later20:40
*** fsufitch is now known as fsufitch_nothere20:40
*** scottmaccal has left #schooltool20:50
ignasyippie, got attencance view working, now i'll have to add some way to mark absences as explained20:54
ignasok, g2g20:54
ignasand anyway - it's a holiday in Lithuania ;)20:55
*** ignas has quit IRC20:55
*** gpaci has quit IRC21:00
*** gpaci has joined #schooltool21:33
*** fsufitch_nothere has quit IRC21:38
aelknerpcardune: I'm getting a forbidden attribute error in my threaded journal entry view on context/title.22:10
aelknerthe view is registered with permission zope.View.22:10
pcardunehmmm22:11
aelknerperhaps my view class is missing something?22:11
aelknerlike an __init__ method?22:11
aelknercould you look at JournalEntryThreadedView in jounal.py please?22:12
*** mgedmin has joined #schooltool22:18
pcarduneaelkner: can you give me a link per chance?22:19
pcarduneaelkner: sorry for the late response, long distance call with my grandmother...22:19
lisppaste5aelkner pasted "forbidden attribute error" at http://paste.lisp.org/display/4340922:19
aelkneri'm running it on my local machine, but maybe the traceback would give you a hint.22:20
aelknerif the traceback doesn't look familiar, I could set it up on maddog.22:21
pcarduneand the zcml class registration, what does that look like?22:21
pcardunethat traceback does look familiar22:21
aelknerfor journal entry or view?22:21
pcardunefor journal entry22:21
aelkner <class class=".journal.JournalEntry">22:21
aelkner    <require permission="schooltool.view"22:22
aelkner             interface=".interfaces.IJournalEntry" />22:22
aelkner    <require permission="schooltool.edit"22:22
aelkner             set_schema=".interfaces.IJournalEntry" />22:22
aelkner  </class>22:22
pcarduneand it the title attribute defined in IJournalEntry?22:22
pcardunes/it/is22:22
aelkneryes, I only changed the implementation to be a BTree.22:22
aelknerno changes to the interface.22:23
aelknerooh, could it be that I need to change the interface to derive from IContainer now?22:24
pcarduneand it is accessing the title in the pt file or in the view class?22:24
aelknerlike journal does?22:24
pcarduneaelkner: well, that is a good idea22:24
aelknerin the pt file.22:24
aelknermaybe that's it.22:24
aelkneri'll try.22:24
pcarduneok22:25
aelkneryippie, that worked!22:26
pcardunenothing like the thought of a grown man exclaiming "yippie"22:27
pcardunehe he22:27
aelkneri'm not as grown as my age would indicate :)22:27
pcarduneI realize that... lol22:28
aelknerpcardune: now that I have successfully added a journal entry to the journal, I go to it and there's noe New Entry menu item for it.  So I tried to change the menuitem registration to expand the for with IJournalEntry.22:34
aelkner  <menuItem22:34
aelkner      menu="schooltool_actions"22:34
aelkner      title="New Entry"22:34
aelkner      for="cando.journal.interfaces.IJournal22:34
aelkner           cando.journal.interfaces.IJournalEntry"22:34
aelkner      action="+/addJournalEntry.html"22:34
aelkner      permission="schooltool.edit"22:34
aelkner      />22:34
aelknerIt fails to start the server, complaining:22:35
aelknerConfigurationError: ('Invalid value for', 'for', "ImportError: Couldn't import cando.journal.interfaces.IJournal            cando.journal.interfaces, No module named IJournal            cando.journal.interfaces")22:35
aelknerAm I going about this the wrong way?22:35
pcarduneyes22:35
pcardunei don't think you can register a menu for two different interfaces22:35
aelknerCould I just clone and change?22:36
pcarduneyes, i think that would me admissible22:36
pcarduneotherwise you would create a third interface called IHaveJournalEntries, and make IJournal and IJournalEntry both inherit from that22:37
pcardunethen register the menu on IHaveJournalEntries22:37
pcardunewhich you might have to do later for other reasons, but I'm not sure yet what those other reasons might be, you'll just have to wait an see22:37
aelknerok, i'll start with the clone idea and keep the other in mind for later (or now if cloning doesn't work)22:38
*** mlinnell has joined #schooltool22:45
aelknerFunny how http://localhost:7080/journals/schooltool-managers-blog/+/addJournalEntry.html brings up the page22:52
aelknerbut http://localhost:7080/journals/schooltool-managers-blog/first-try/+/addJournalEntry.html says there's no such url22:52
aelknerlooking at the addform registration, it looks like it doesn't care who it's adding to, just what it's adding (i.e., the factory)22:53
aelknerpcardune: shouldn't i be able to use the addform for my journal entries (now that they are containers)?22:54
pcarduneyes22:55
pcarduneit is probably looking for the + part of that url22:55
pcardunewhich is an add view22:55
pcarduneand you should register that with the containerViews directive22:55
aelkneroh, a clone of the onw for IJounal with the other ionterface.  I'll try.22:56
*** eldar-out is now known as eldar23:16
*** fsufitch has joined #schooltool23:17
eldarpcardune, so what's with the pytz thing, i read the email you sent to jinty and what he wrote back23:18
pcardunefsufitch: does your little brother know python yet?23:18
eldarwe are supposed to install pytz on the slave bot?23:18
pcarduneeldar: I think it is in Jason's court now23:18
fsufitchpcardune, a bit...23:19
pcarduneeither that or uninstall it23:19
fsufitchpcardune, he can almost pronounce python23:19
pcardunehe he23:19
pcarduneeverybody's got to start somewhere...23:19
pcarduneeldar: what are you working on now?23:20
eldarpcardune, i just got back, so nothing, you have something for me :) ?23:20
pcarduneI thought I might bounce some ideas off of you about student-evidence23:21
eldaralright, shoot23:21
pcardunewell, evidence could come in a lot of different forms23:21
pcarduneit could be a url, a document, a picture23:21
pcarduneetc.23:21
pcardunethese are all pieces of information23:22
pcardunecurriculum is of the same form23:22
pcardunecould be a url, a document23:22
pcarduneor even a set of documents23:22
eldaryep23:22
pcardunestudent evidence will be related specifically to journal entries as well23:23
pcarduneso a journal entry could act as the object that we place all the "Evidence" onto23:23
pcardunedoes that sound good?23:23
eldarso how is this "relation" between journal entries and evidence going to work?23:24
eldarare we doing just a simple url inclusion, or actually a semantic link inside the system23:24
pcardunelink inside the system23:25
eldarhmmm okay23:25
eldarso IEvidence is gonna be pretty flexible23:25
pcardunei'm thinking we don't need IEvidence23:26
eldarjust use IInformation?23:26
pcarduneevidence will just be a fancy word for information attached to a journal entry23:26
*** th1a has joined #schooltool23:27
pcardunehow does that sound?23:27
eldarsounds good, that way we won't have to reimplement a whole lot of new features23:27
pcarduneyes23:27
pcarduneok, cool, i'm going to create a branch for this stuff23:29
eldaralrighty23:29
eldari'll need to start working on that journal notification soon23:30
pcardunewe've got to coordinate with aelkner... or too manyy of us  are going too be worrking on the ssame packaage23:30
eldartrue true23:31
aelkneryeh, I'm making lots of changes to the journal package,.23:31
eldaraelkner, you are working on file attachments for journal entries, right?23:31
aelknerno, I turned journal entries into containers and added a thread view.23:32
pcarduneno, hes doing journal threading23:32
aelknerthreaded23:32
eldaroooooh wait23:32
eldarjournal entries, are like journals now?23:32
eldarhmmm....23:32
pcardune*like*, but not exactly the same23:33
aelknerin that they contain other journal entries...23:33
pcardunea journal is the top level container23:33
eldargotta think about how that's going to work with the "submit for review" thingy23:33
eldarpcardune, yeah i understand the technicalities, i'm just generalizing23:33
pcarduneaelkner: we might have to add another step in the process23:34
aelknerbeing?23:34
pcarduneeldar: I think submit for review should only work on top level journal entries23:34
pcardunesub journal entries are more for commentary and discussion23:34
aelknerentries whose parent are journals23:34
eldarpcardune, ah ok, well that simplifies it23:34
pcarduneaelkner: where your piece comes in to play is recognizing that a journal entry has the parent being a journal23:36
pcarduneaelkner: We might need three interfaces: IJournal, IJournalEntry (for top-level only), and IJournalEntryComment?23:36
aelknerA change to IJournalEntry to have a parentIsJournal methos?23:37
aelknermethod23:37
pcarduneIJournal contains IJournalEntry *only*, and IJournalEntry contains IJournalEntryComment *only* and IJournalEntryComment contains more IJournalEntryComment objects23:37
pcarduneaelkner: no, that isn't pretty23:37
pcardunethat is how you would do it in zope2 or something yuck ;)23:37
aelkneri'm glad you didn't make that decision :)23:38
pcardunebecause then we can make registrations on a specific interfaces23:38
pcardunethere are menu items which we would only want to appear on top level journal entries23:38
pcardune(like mark for review)23:38
eldaryeah23:39
eldari am fine with IJouranlEntry and IJouranEntryComment or sub or whatever the naming would be23:42
aelknerwell, I suppose I could change what I've done to use IJournalEntryComment...23:44
aelknerBut that's going to take a while.23:44
pcardunedo you think 30 business cards is enough?23:44
pcarduneaelkner: don't worry about it yet23:44
pcardunewe can make those modifications23:44
aelknerpcardune: BTW, you never posted a price for my bounty.23:44
*** didymo has joined #schooltool23:44
eldar30 business cards for what? just carrying around with you? or going to a specific event?23:45
pcarduneboth23:45
pcardunearlington + europython23:45
eldar30 should be fine for just casual carrying around, in your wallet, but if you're going to a big event might wanna make a 10023:45
pcarduneaelkner: hmmm, i'm not sure I even thought about it yet23:46
pcarduneaelkner: I'll give you a figure soon23:46
aelkneri noticed :)23:46
pcardune100?!23:46
pcarduneI don't think I can fit 30 in my wallet lol23:46
eldaroh no, don't carry 100 in your wallet >.<23:46
aelkner100 would be in your suitcase23:46
eldarput them in your bag or something23:46
eldaryeah23:46
pcardunelol23:47
eldar15 a day should be fine, so carry 15 in your wallet23:47
aelkneri don't think you'll have much use for them at arlington.23:47
aelknerwe all know you by now :)23:47
pcardunethat doesn't mean you won't want my business card to give to someone else ;)23:47
eldari'll take yours :{23:48
eldar:P*23:48
aelknergood point.23:48
pcarduneand when I become famous, it will be proof that you know me...23:48
pcardunelol23:48
eldarhey, gotta keep my horizons wide23:48
aelknerpcadune: for the bounty, I'd be ok with you faking it up to something after i'm done, based on how many hours you noticed ,me working on it.23:49
pcarduneaelkner: because you think that would be less, or more?23:49
pcardune;)23:49
eldaraelkner, the bounty is supposed to be based on how many hours he would spend on it23:49
aelkneranother good point.23:50
aelknerpcardune: just try and guess what that would be when you have a chance, ok?23:50
pcarduneyeah23:50
*** mgedmin has quit IRC23:53
eldarpcardune, i still don't know which branch is linda's, she asked me to merge the changes from trunk into it23:56
eldarpcardune, do you have any idea?23:56
pcarduneno idea23:56
pcarduneyou'll have to ask her23:56
pcarduneeldar: I got a batch error23:57
pcarduneeldar: looks like competency functional tests need some updating23:58
pcardunei'll work on that now23:58
eldaraah ok, i didn't get to update the batching on competencies, i don't think, just the import23:59

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