| aelkner | hm | 00:00 |
|---|---|---|
| aelkner | can you send me your diff? | 00:00 |
| fsufitch | im still writing it, but it's something that occurred to me | 00:00 |
| fsufitch | couldn't we use a traversal adapter? | 00:01 |
| aelkner | i'm not sure what the problem is your trying to solve | 00:01 |
| aelkner | why don't you write the code that creates the problem and send me the diff | 00:02 |
| aelkner | then we'll have something concrete to look at together | 00:02 |
| fsufitch | the problem is that when path/to/schoolyear/'current' is accessed, 'current' won't exist unless the adapter was called | 00:03 |
| fsufitch | and since the traversal does not call the adapter, but instead just tries to access, that will fail | 00:03 |
| fsufitch | hang on | 00:03 |
| fsufitch | im still registering adapters | 00:03 |
| aelkner | i think you are thinking ahead a bit | 00:04 |
| aelkner | let | 00:04 |
| aelkner | let's keep to the small task for now | 00:04 |
| fsufitch | a *current* test is broken | 00:06 |
| fsufitch | sending to you | 00:06 |
| fsufitch | sent | 00:06 |
| aelkner | i see where you are having a problem | 00:09 |
| aelkner | you didn't want to move the creation logic our of getCourseInfoSchoolYear | 00:10 |
| fsufitch | hmm okay | 00:10 |
| fsufitch | though it would be nice if the creation logic could be abstracted out of there too | 00:10 |
| aelkner | since you are guaranteeing that the containers get created, you don't need the tests in your oter adapters | 00:11 |
| aelkner | don't worry about abstracting that out for now because it's a separate discussion | 00:11 |
| aelkner | i don't want to get into that just now as i don't have the ideal answer | 00:12 |
| aelkner | but using what we already have, you can just assume that the containers are there | 00:12 |
| aelkner | another thing | 00:12 |
| aelkner | sorry i didn't realize before | 00:12 |
| fsufitch | no prob | 00:12 |
| aelkner | it's better that the containers of ICurrentCourseInfo and IProposedCourseInfo | 00:13 |
| aelkner | be ICurrentCourseInfoContainer and IProposedCourseInfoContainer | 00:13 |
| aelkner | the use of schooyear in the name there would be an overuse | 00:14 |
| aelkner | sorry for leading you down that path | 00:14 |
| aelkner | but it's just a test replace at this point | 00:14 |
| fsufitch | right | 00:14 |
| fsufitch | okay | 00:14 |
| fsufitch | woo, i figured out the regex to do it automatically :D | 00:19 |
| fsufitch | was a nice exercise in regex | 00:19 |
| fsufitch | aelkner: jelkner would like your opinion on the email he just sent out | 00:25 |
| fsufitch | he's right her | 00:25 |
| fsufitch | *here | 00:25 |
| aelkner | checking | 00:29 |
| aelkner | tell him he's an awesome email writer :) | 00:30 |
| aelkner | th1a, ayt? | 00:30 |
| fsufitch | aelkner: code done and test implemented | 00:35 |
| fsufitch | ill send you the diff | 00:35 |
| fsufitch | sent | 00:36 |
| aelkner | checking | 00:45 |
| aelkner | fsufitch, could you replace the current_courses = and proposed_courses= to use the adapters | 00:47 |
| aelkner | and change the test verbage to go with the change? | 00:47 |
| fsufitch | okay | 00:47 |
| aelkner | we should be loyal to our adapters since they serve us so well | 00:48 |
| fsufitch | :) | 00:50 |
| aelkner | btw, you don't need the pass statement when you have a dic string, so you can get rid of that in interface.py | 00:50 |
| aelkner | doc string | 00:50 |
| fsufitch | ok | 00:51 |
| aelkner | i see you got sick of adding imports for the adapters :) | 00:54 |
| fsufitch | yes :-P | 00:54 |
| aelkner | that was a very reasonable dicision on your part | 00:54 |
| fsufitch | line efficiency! | 00:54 |
| aelkner | it's not an exact science | 00:54 |
| aelkner | sometimes explicitly importing method or classes works best | 00:54 |
| aelkner | it's more desciptive at the top that way | 00:55 |
| aelkner | but other times, i like your approach | 00:55 |
| aelkner | you may have seen the same being done in the intervention package | 00:55 |
| aelkner | not always, but in some files | 00:55 |
| fsufitch | mhm | 00:55 |
| aelkner | it's like when the number of imports coming from one file gets SO large | 00:56 |
| aelkner | it's just enough already | 00:56 |
| aelkner | so it's a jusgement call | 00:56 |
| fsufitch | alright, done | 00:56 |
| fsufitch | ill send you diff | 00:56 |
| fsufitch | sent | 00:57 |
| aelkner | you didn't get rid of the pass statements | 01:03 |
| aelkner | also, make sure the contains and containers directives are set up right | 01:04 |
| aelkner | you can also add unit tests that show that you can't add a CurrentCourseInfo object | 01:05 |
| fsufitch | oh those, woops | 01:05 |
| aelkner | to a ProposedCourseInfoContainer | 01:05 |
| aelkner | you should get a program exception in that case, and you can test thtat | 01:05 |
| aelkner | that | 01:05 |
| fsufitch | ah, those objects don't exist yet | 01:05 |
| fsufitch | gotta make them | 01:06 |
| aelkner | right, more to add to tests than anything else | 01:06 |
| aelkner | but you can create CurrentCourseInfo object with the minimum filled in to do the containment test | 01:06 |
| fsufitch | yup | 01:08 |
| fsufitch | hmm, aelkner, i'm having trouble making the test fail if i'm just adding a regular CourseInfo | 01:28 |
| aelkner | don't worry about normal CourseInfo | 01:29 |
| fsufitch | okay | 01:29 |
| aelkner | i was going to say you could also remove the verifyObject tests for the base interface | 01:29 |
| aelkner | only the more specific current vrs. proposed matter for now | 01:30 |
| aelkner | when we need functionality that applies to the base, we can add the handling/tests for it then | 01:31 |
| fsufitch | ok | 01:33 |
| fsufitch | um, point of note: "credits" is a python keyword | 01:33 |
| fsufitch | we are using it as a variable | 01:33 |
| aelkner | that won't be a problem | 01:34 |
| aelkner | id is a keyword, too, but people use that all the time | 01:34 |
| fsufitch | ok | 01:34 |
| aelkner | it's not a collision in the namespace because one puts obj before attr in obj.attr | 01:35 |
| fsufitch | this test isn't failing, and it should be | 01:38 |
| fsufitch | i can add CurrentCourseInfo to ProposedCourseInfoContainer, and I can't figure out why | 01:39 |
| aelkner | send the diff so that i can be a second pair of eyes | 01:39 |
| fsufitch | ok | 01:39 |
| fsufitch | aelkner: it's been sent | 01:44 |
| aelkner | yeah, i see you're making the containment test, so the question is: | 01:45 |
| aelkner | what happens in the btree container when something is added | 01:45 |
| aelkner | so zope/container/btree.py has BtreeContainer in it | 01:46 |
| fsufitch | i'm looking, but the code is a bit esoteric | 01:47 |
| aelkner | __setitem__ is what gets called by the dictionary access your test does | 01:47 |
| fsufitch | it doesn't appear the BTree actually does testing for this | 01:48 |
| fsufitch | *checking | 01:48 |
| aelkner | i'm going to grep for Exception in the whole of eggs, and filter for container or btree | 01:49 |
| fsufitch | ok | 01:49 |
| fsufitch | aelkner: any luck? | 02:00 |
| aelkner | fsufitch, ok, i'm thinking that we need to get your commit done with a note about what the test SHOULD do | 02:00 |
| aelkner | even though the test will not do it | 02:00 |
| aelkner | make sense? | 02:00 |
| fsufitch | yup | 02:01 |
| fsufitch | im sort of out of time here anyway... | 02:01 |
| aelkner | it's not the best, but yes, time constraints | 02:01 |
| aelkner | just as long as you pick up there immediately next time | 02:01 |
| fsufitch | yup | 02:01 |
| aelkner | i'll look into it and send you an email | 02:01 |
| fsufitch | okay :) | 02:02 |
| aelkner | otherwise, everything looks good for doing your commit | 02:04 |
| fsufitch | committed and pushed | 02:05 |
| aelkner | cool | 02:05 |
| aelkner | another good day | 02:06 |
| aelkner | so, next time, next wed? | 02:06 |
| fsufitch | yup! | 02:06 |
| fsufitch | yay productivity! | 02:07 |
| aelkner | ok, good working with ya | 02:07 |
| aelkner | yes, indeed | 02:07 |
| fsufitch | see ya | 02:07 |
| aelkner | cya | 02:07 |
| *** fsufitch has left #schooltool | 02:12 | |
| *** alga has quit IRC | 02:44 | |
| *** fsufitch has joined #schooltool | 07:22 | |
| *** th1a has quit IRC | 08:16 | |
| *** yvl has joined #schooltool | 09:00 | |
| *** alga has joined #schooltool | 09:37 | |
| *** menesis has joined #schooltool | 12:13 | |
| *** menesis has quit IRC | 13:37 | |
| *** menesis has joined #schooltool | 15:15 | |
| *** menesis has quit IRC | 15:25 | |
| *** fsufitch has quit IRC | 16:03 | |
| *** th1a has joined #schooltool | 16:08 | |
| *** fsufitch has joined #schooltool | 16:57 | |
| *** replaceafill has joined #schooltool | 17:22 | |
| *** alga has quit IRC | 18:47 | |
| *** fsufitch has quit IRC | 19:31 | |
| replaceafill | th1a, can i have your opinion on this: http://www.useit.com/alertbox/mega-dropdown-menus.html | 20:13 |
| replaceafill | i'd like to get rid of the manage menu in cambodia | 20:13 |
| *** alga has joined #schooltool | 20:29 | |
| *** replaceafill has quit IRC | 20:34 | |
| * th1a returns from lunch. | 20:52 | |
| *** menesis has joined #schooltool | 21:41 | |
| *** fsufitch has joined #schooltool | 22:02 | |
| *** fsufitch has quit IRC | 23:12 | |
| *** menesis has quit IRC | 23:27 | |
| *** menesis has joined #schooltool | 23:56 | |
Generated by irclog2html.py 4.0.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!