| *** intelli has joined #schooltool | 00:34 | |
| *** th1a has joined #schooltool | 00:39 | |
| intelli | th1a: adam here, are you still right to hang out in 10 mins time? | 00:51 |
|---|---|---|
| th1a | hi intelli | 00:52 |
| th1a | Yes. | 00:52 |
| th1a | I just sent you an invite. | 00:52 |
| * intelli waiting with bated breath | 00:59 | |
| th1a | Oh... perhaps you didn't get i. | 01:00 |
| th1a | Or soemthing. | 01:00 |
| th1a | I'm sitting here waiting for you. ;-) | 01:00 |
| intelli | did you use my gmail address? | 01:00 |
| *** menesis has quit IRC | 01:28 | |
| *** replaceafill has quit IRC | 01:40 | |
| *** intelli has left #schooltool | 01:57 | |
| *** ignas has quit IRC | 02:27 | |
| *** alga has quit IRC | 04:33 | |
| *** aks has joined #schooltool | 05:16 | |
| *** th1a has quit IRC | 05:35 | |
| *** aks has quit IRC | 07:04 | |
| *** aks has joined #schooltool | 07:04 | |
| *** replaceafill has joined #schooltool | 10:02 | |
| replaceafill | yvl, you around? | 10:02 |
| yvl | hey replaceafill | 10:13 |
| replaceafill | hey yvl | 10:13 |
| replaceafill | i know you're swamped, but i'd really like your opinion on a couple of things i'm doing before going further | 10:14 |
| replaceafill | do you have some time now to talk? | 10:14 |
| yvl | sure man | 10:14 |
| replaceafill | like 15 mins | 10:14 |
| replaceafill | great | 10:14 |
| replaceafill | http://bazaar.launchpad.net/~replaceafill/schooltool/flourish_selenium/revision/3355 | 10:14 |
| replaceafill | can you please check that diff? | 10:14 |
| replaceafill | src/schooltool/testing/README.selenium.txt | 10:14 |
| yvl | wow | 10:16 |
| yvl | dude, you are awesome! | 10:16 |
| replaceafill | :) | 10:16 |
| replaceafill | btw, testing/selenium.py had a little little small small bug | 10:16 |
| replaceafill | but that it made a huge difference :D | 10:16 |
| replaceafill | just one tabulation | 10:16 |
| replaceafill | didnt allow you to register subpaths | 10:17 |
| replaceafill | like section.x.y.z | 10:17 |
| replaceafill | so i went ahead and added those helpers | 10:17 |
| replaceafill | and they work | 10:17 |
| replaceafill | i'm writing tests for the helpers... :/ | 10:17 |
| replaceafill | src/schooltool/course/browser/stests/selenium_extensions.txt | 10:17 |
| replaceafill | to make sure they work ;) | 10:18 |
| replaceafill | also i registered most of the stuff in the stesting.py modules | 10:18 |
| replaceafill | instead of ftesting.py, seemed more appropriate | 10:18 |
| replaceafill | since this is selenium stuff | 10:18 |
| replaceafill | imo | 10:18 |
| replaceafill | question: | 10:18 |
| replaceafill | see element.ui.set_value in the .txt | 10:19 |
| replaceafill | it's like a blackbox helper | 10:19 |
| replaceafill | that can be used to set values on several types of fields | 10:19 |
| replaceafill | dates, text, textarea, select options | 10:19 |
| replaceafill | i've tried to stay away from it a little, because it looks a little "too magic" | 10:20 |
| replaceafill | but it works :) | 10:20 |
| yvl | nice | 10:20 |
| replaceafill | and you don't have to think much about the type of field that you want to fill | 10:20 |
| yvl | this is actually one of the things I did not finish | 10:20 |
| replaceafill | ah | 10:21 |
| yvl | that, and also places where you use format_row | 10:21 |
| replaceafill | ah true | 10:21 |
| replaceafill | it would be nice to have something to print the tables | 10:21 |
| replaceafill | display forms and such | 10:21 |
| replaceafill | but i think we can start moving on with this, right? | 10:21 |
| yvl | sure! | 10:22 |
| replaceafill | for adding basic types | 10:22 |
| * yvl is really, really impressed | 10:22 | |
| replaceafill | :) | 10:22 |
| replaceafill | it's your stuff yvl | 10:22 |
| replaceafill | i just learned to use it | 10:22 |
| replaceafill | another question: | 10:23 |
| replaceafill | i noticed you did this in one of the first extensions: | 10:23 |
| replaceafill | page = ...tag('html') | 10:23 |
| replaceafill | click submit | 10:23 |
| replaceafill | browser.wait(...) | 10:23 |
| replaceafill | is that for making sure that the page finish loading? | 10:23 |
| replaceafill | finishes* | 10:23 |
| replaceafill | i mean, is there a strong reason to do it? | 10:24 |
| replaceafill | because you get everywhere just clicking on links etc | 10:24 |
| replaceafill | i didnt see the point of putting that logic when you click a submit button | 10:24 |
| replaceafill | maybe i missed something | 10:24 |
| yvl | hmm | 10:24 |
| yvl | can you remind me where that was used? :) | 10:25 |
| replaceafill | addPerson | 10:25 |
| replaceafill | last three lines | 10:25 |
| replaceafill | addPerson now lives in basicperson/stesting.py btw | 10:25 |
| replaceafill | so, i copied that "pattern" | 10:26 |
| replaceafill | but the helpers work without it | 10:26 |
| replaceafill | so, that's my doubt | 10:26 |
| yvl | they should | 10:26 |
| * yvl still can't find it :D | 10:27 | |
| replaceafill | ah sorry | 10:27 |
| replaceafill | see: src/schooltool/basicperson/ftesting.py | 10:27 |
| replaceafill | in the diff | 10:27 |
| replaceafill | that's the original code you wrote | 10:27 |
| yvl | ah, now I remember | 10:28 |
| yvl | well, the wait is not necessary | 10:28 |
| yvl | but people do tend to open another browser after adding the person (to log in) | 10:29 |
| yvl | and you need to wait for submit to finish to be able to login | 10:29 |
| replaceafill | ah | 10:29 |
| replaceafill | so, it's ok to have that little pause after adding stuff | 10:29 |
| yvl | and I kind of wanted to put that somewhere so that I'd remember later how I intended to use wait :D | 10:29 |
| replaceafill | :D | 10:30 |
| replaceafill | btw | 10:30 |
| replaceafill | a question on wait | 10:30 |
| replaceafill | i didnt understand very well no_element_result=True | 10:30 |
| replaceafill | i mean the no_element_result parameter | 10:30 |
| replaceafill | what is it for? | 10:31 |
| yvl | it's really bad naming | 10:31 |
| yvl | if set to True, it waits, but if the element can't be found, finishes waiting | 10:32 |
| yvl | it's for race conditions mostly | 10:32 |
| yvl | like... | 10:32 |
| yvl | javascripty date dialog starts to fade in / fade out | 10:33 |
| yvl | that one works, btw | 10:33 |
| yvl | umm | 10:34 |
| replaceafill | well, it was just a doubt really | 10:34 |
| replaceafill | it's not like i needed to use it :) | 10:34 |
| yvl | right :D | 10:34 |
| yvl | frankly, I just put it there just in case | 10:35 |
| replaceafill | :) | 10:35 |
| replaceafill | so, you ok with this set of extensions? | 10:35 |
| * yvl is guessing that we might need it at some point | 10:35 | |
| yvl | very much! | 10:35 |
| replaceafill | cool, i'll merge them to trunk then | 10:35 |
| replaceafill | so i can start using them in the gradebook tests | 10:36 |
| yvl | please do | 10:36 |
| replaceafill | i've already started, but i wanted to have your approval first | 10:36 |
| replaceafill | before going to far | 10:36 |
| yvl | and show those to aelkner | 10:36 |
| yvl | it'll make him quite happy ;) | 10:36 |
| * yvl is already happy :D | 10:36 | |
| replaceafill | honestly, i wrote the .txt for aelkner | 10:36 |
| replaceafill | and for me too | 10:36 |
| replaceafill | hope it works | 10:36 |
| replaceafill | to remember us how to use this stuff | 10:36 |
| replaceafill | and i'll start using set_value(...) then | 10:37 |
| yvl | sure | 10:37 |
| replaceafill | and stop worrying about the type of the field ;) | 10:37 |
| replaceafill | ok | 10:37 |
| replaceafill | last thing i want to ask you | 10:37 |
| replaceafill | http://bazaar.launchpad.net/~replaceafill/schooltool.gradebook/flourish/revision/462?compare_revid=459 | 10:37 |
| replaceafill | src/schooltool/gradebook/browser/stests/test_helpers.py | 10:38 |
| replaceafill | oops that's not it | 10:38 |
| replaceafill | well, it is but... | 10:38 |
| replaceafill | src/schooltool/gradebook/browser/stests/test_selenium.py | 10:38 |
| replaceafill | that's the helper to print the gradebook | 10:38 |
| replaceafill | the one i'm working on | 10:38 |
| replaceafill | i was thinking of converting that to an extension too | 10:39 |
| replaceafill | like ui.gradebook.print(...) | 10:39 |
| replaceafill | my question here is the use of queryHTML | 10:39 |
| replaceafill | vs using the webdriver directly | 10:39 |
| replaceafill | or browser | 10:39 |
| replaceafill | object | 10:39 |
| * replaceafill just noticed he pointed yvl to the wrong module :( | 10:40 | |
| replaceafill | src/schooltool/gradebook/browser/stests/__init__.py | 10:40 |
| replaceafill | ^ that's the helper :) | 10:41 |
| yvl | no problem, I'm looking at the right one already ;) | 10:41 |
| yvl | frankly, I don't know | 10:41 |
| yvl | it would probably be better to use webdriver directly | 10:42 |
| yvl | unless it turns out that it is slow | 10:42 |
| replaceafill | do you see any advantage on doing so? | 10:42 |
| replaceafill | over using queryHTML | 10:42 |
| replaceafill | there was an issue with queryHTML though | 10:43 |
| replaceafill | empty table cells | 10:43 |
| replaceafill | <td></td> | 10:43 |
| replaceafill | that don't have anything inside | 10:43 |
| replaceafill | queryHTML present them like <td/> | 10:43 |
| replaceafill | because of the serialisation it uses | 10:43 |
| replaceafill | you need to set it to mode='html' | 10:43 |
| replaceafill | in order to get the <td></td> | 10:44 |
| replaceafill | and i didnt like that | 10:44 |
| yvl | hmm | 10:44 |
| replaceafill | the fault is in analize.to_string | 10:44 |
| replaceafill | but i could work around it | 10:44 |
| yvl | frankly, I don't like schooltool.testing.selenium getWebElementHTML | 10:45 |
| replaceafill | but it felt messy | 10:45 |
| replaceafill | but it works :) | 10:45 |
| replaceafill | so far ;) | 10:45 |
| yvl | so far :D | 10:45 |
| yvl | creating a div | 10:45 |
| replaceafill | ah | 10:45 |
| yvl | putting the part there | 10:46 |
| yvl | umm | 10:46 |
| yvl | it's... not nice | 10:46 |
| replaceafill | the running script part | 10:46 |
| replaceafill | i liked it | 10:46 |
| yvl | then getting the result as a string | 10:46 |
| yvl | then parsing and creating a model for queryHTML | 10:46 |
| yvl | sounds like overkill | 10:46 |
| * replaceafill has used it in the gradebook js code to get the html representation of something | 10:46 | |
| yvl | :) | 10:47 |
| replaceafill | well, i think i could try the webdriver directly | 10:47 |
| replaceafill | i have tests anyway ;) | 10:47 |
| yvl | yes :D | 10:47 |
| replaceafill | funny story: | 10:47 |
| yvl | I'm just trying to put more work on your head :) | 10:47 |
| replaceafill | i realized that i was adding tests for helpers | 10:47 |
| replaceafill | then i thought i would need to tests the tests of the helpers :D | 10:47 |
| replaceafill | infinite testing loop | 10:48 |
| replaceafill | (yeah, really funny) :/ | 10:48 |
| replaceafill | ok yvl | 10:48 |
| yvl | :DD | 10:48 |
| yvl | one more tiny thing I'd like to ask | 10:48 |
| replaceafill | yes? | 10:48 |
| yvl | (before you get your well deserved rest) | 10:48 |
| yvl | if you happen to accidentally have two implementations for gradebook helpers | 10:49 |
| yvl | one with queryHTML | 10:49 |
| yvl | and another with using webdriver directly | 10:49 |
| yvl | I would really love to hear | 10:49 |
| replaceafill | about performance? | 10:49 |
| yvl | is there a speed difference for big tables | 10:49 |
| yvl | yes | 10:49 |
| replaceafill | ah ok | 10:49 |
| yvl | chrome and firefoc | 10:49 |
| yvl | firefox | 10:49 |
| yvl | if that's not too much trouble | 10:49 |
| replaceafill | but does the testrunner work with ff? | 10:50 |
| replaceafill | i remember trying it and having trouble | 10:50 |
| yvl | testrunner does work | 10:50 |
| yvl | the tests on the other hand... may fail | 10:50 |
| replaceafill | yes, that's what i mean | 10:50 |
| replaceafill | the tests start and all | 10:50 |
| replaceafill | but they fail | 10:50 |
| replaceafill | and i was like: "oh well" | 10:51 |
| replaceafill | "i'll stick to chrome" | 10:51 |
| yvl | there's one thing you can actually hack | 10:51 |
| replaceafill | i can try again and record my findings though | 10:51 |
| yvl | run tests with both chrome and ffox configured | 10:51 |
| yvl | chrome being default | 10:51 |
| yvl | and in the middle of the test | 10:52 |
| replaceafill | :| | 10:52 |
| yvl | from shcooltool.devtools.selenium_recipe import spawn_browser | 10:52 |
| yvl | spawn_browser('firefox') | 10:52 |
| replaceafill | ah come on!!! | 10:52 |
| replaceafill | is it possible to do that?!?!? | 10:52 |
| yvl | yes | 10:53 |
| yvl | :D | 10:53 |
| replaceafill | cool! | 10:53 |
| replaceafill | i can try | 10:53 |
| replaceafill | it's not like i have time pressure on me >:D | 10:54 |
| yvl | :D | 10:54 |
| yvl | sorry man | 10:54 |
| replaceafill | no, seriously, i know this stuff is going to be useful | 10:54 |
| replaceafill | for all of us | 10:54 |
| yvl | a lot! | 10:54 |
| replaceafill | so i think it's time well invested | 10:54 |
| * replaceafill checks his notes | 10:54 | |
| replaceafill | to look for more questions... | 10:55 |
| replaceafill | no, i think that's it | 10:55 |
| replaceafill | well, i'll finish adding tests for the helpers | 10:55 |
| yvl | thanks again, man | 10:55 |
| replaceafill | and then going to push to trunk | 10:55 |
| replaceafill | thank you yvl | 10:55 |
| replaceafill | have a good weekend, see you monday | 10:55 |
| yvl | see you monday | 10:55 |
| yvl | and good night ;) | 10:56 |
| *** replaceafill has quit IRC | 10:56 | |
| *** menesis has joined #schooltool | 10:57 | |
| *** yvl has quit IRC | 13:04 | |
| *** th1a has joined #schooltool | 14:12 | |
| *** th1a has quit IRC | 14:24 | |
| *** th1a has joined #schooltool | 14:31 | |
| *** menesis1 has joined #schooltool | 14:49 | |
| *** menesis has quit IRC | 14:49 | |
| *** menesis1 is now known as menesis | 14:49 | |
| *** menesis has quit IRC | 14:55 | |
| *** menesis has joined #schooltool | 15:03 | |
| *** aks has quit IRC | 15:21 | |
| *** intellisms has joined #schooltool | 16:54 | |
| *** replaceafill has joined #schooltool | 17:14 | |
| *** intellisms has quit IRC | 17:37 | |
| *** replaceafill has quit IRC | 18:26 | |
| *** alga has joined #schooltool | 20:08 | |
| *** alga has quit IRC | 20:22 | |
| *** alga has joined #schooltool | 20:24 | |
| *** replaceafill has joined #schooltool | 20:39 | |
| replaceafill | menesis, why is this necessary? http://bazaar.launchpad.net/~schooltool-owners/schooltool.gradebook/flourish/revision/459 | 20:40 |
| aelkner | hey replaceafill | 20:45 |
| replaceafill | hey aelkner | 20:45 |
| aelkner | i agree with you about the changes to f_gradebook.css | 20:45 |
| aelkner | are you pushing your gradebook work to trunk soon? | 20:46 |
| replaceafill | not today | 20:46 |
| replaceafill | probably on monday | 20:46 |
| aelkner | ah, ok | 20:46 |
| aelkner | i'm looking forward to looking at it | 20:47 |
| replaceafill | http://bazaar.launchpad.net/~replaceafill/schooltool/flourish_selenium/revision/3355/src/schooltool/testing/README.selenium.txt | 20:47 |
| replaceafill | did you see that one? | 20:47 |
| replaceafill | it'll give you a better idea of what i'm doing | 20:48 |
| replaceafill | and i thought about: element.ui.select_option() | 20:48 |
| replaceafill | after your comment on us not having it :) | 20:48 |
| aelkner | nice | 20:48 |
| replaceafill | i just want to add test for all of them and then push it to trunk | 20:49 |
| aelkner | i plan to suggest some other helpers at the meeting monday | 20:49 |
| aelkner | for things like adding years, terms, courses, sections, etc. | 20:49 |
| replaceafill | ah definitely we need more | 20:49 |
| replaceafill | hhmm | 20:49 |
| aelkner | we always had them in the old skin | 20:49 |
| replaceafill | they're already there | 20:49 |
| replaceafill | browser.ui.schoolyear.add() | 20:50 |
| replaceafill | browser.ui.term.add() | 20:50 |
| aelkner | is that something that you just added? | 20:50 |
| replaceafill | browser.ui.course.add() | 20:50 |
| replaceafill | etc | 20:50 |
| replaceafill | that's what my branch is about | 20:50 |
| replaceafill | helpers | 20:50 |
| aelkner | excellent | 20:50 |
| aelkner | so you save me the trouble of mentioning it at the meeting | 20:50 |
| replaceafill | :D | 20:51 |
| aelkner | looking forward to using them | 20:51 |
| replaceafill | i'll ping the list when i'm done so everybody knows about them | 20:51 |
| aelkner | cool | 20:51 |
| aelkner | can i ask why you use ++++++++? | 20:51 |
| aelkner | it kind of throws me off visually | 20:52 |
| replaceafill | just needed something different from ------- | 20:52 |
| aelkner | we've used ----------------------- and ================= in the past | 20:52 |
| aelkner | ++++++++ is a bit loud | 20:52 |
| replaceafill | ok, i'll change it :/ | 20:52 |
| aelkner | suggests 'look at me' | 20:52 |
| replaceafill | i'll keep it then! | 20:52 |
| replaceafill | that's what i want ;) | 20:53 |
| aelkner | rather than setting off the text as you want | 20:53 |
| aelkner | no, i don't think you want that | 20:53 |
| replaceafill | kidding | 20:53 |
| replaceafill | i'll change it | 20:53 |
| aelkner | thanks for being sympathetic to my eyes :) | 20:53 |
| replaceafill | :D | 20:54 |
| aelkner | typically, ========= is good for section headings and ------------ for smaller ones | 20:54 |
| replaceafill | what if you need a third level? | 20:54 |
| aelkner | section headings being the rarer of the two | 20:54 |
| th1a | I use +++++++++++ if I need a third level. | 20:54 |
| replaceafill | like in this case? | 20:54 |
| aelkner | i don't think you need three levels | 20:55 |
| aelkner | Browser extensions at the top could have ============== | 20:56 |
| replaceafill | sure | 20:56 |
| replaceafill | i'll change it | 20:56 |
| *** alga has quit IRC | 20:57 | |
| th1a | So I think I neglected to mention in this email that they've already sold this SMS product to 350 schools in the Philippines. | 20:57 |
| th1a | So it is kind of a big deal! | 20:57 |
| replaceafill | :) | 20:57 |
| th1a | Schools in El Salvador may have the same issue, actually. | 20:58 |
| th1a | I'm afraid. | 20:58 |
| replaceafill | don't get me started on the security issues here... | 20:59 |
| replaceafill | it's really sad :( | 20:59 |
| th1a | I'm sure. | 20:59 |
| th1a | I'm writing some Python to create SVG hexagons for the page background. | 21:00 |
| replaceafill | is keeping a sms gateway expensive? | 21:00 |
| th1a | Well... I think it is a matter of scale and reliability. | 21:00 |
| replaceafill | i suppose you need to hire something like an ISP equivalent, right? | 21:01 |
| th1a | You can just plug a cell phone into a SheevaPlug... | 21:01 |
| replaceafill | ah?!?! | 21:01 |
| th1a | I mean, if you just want your computer to send an SMS. | 21:01 |
| replaceafill | :O | 21:02 |
| th1a | But if you want to reliably send thousands of SMS's every day in short bursts, that's not going to do it. | 21:02 |
| replaceafill | got it | 21:03 |
| th1a | I don't really know what it involves for real though. | 21:03 |
| th1a | I think the schools are sending the requests over the internet to the gateway. | 21:03 |
| replaceafill | yes | 21:03 |
| th1a | So if you have 350 schools opening and closing at the same time, with 500 kids in each... | 21:04 |
| th1a | that's a lot of SMS's. | 21:04 |
| replaceafill | aelkner, btw, i'm going to convert this into a helper too: http://bazaar.launchpad.net/~replaceafill/schooltool.gradebook/flourish/revision/462/src/schooltool/gradebook/browser/stests/test_helpers.py | 21:08 |
| replaceafill | for printing the gradebook | 21:08 |
| aelkner | yay helpers! | 21:11 |
| * replaceafill goes to get lunch | 21:31 | |
| *** alga has joined #schooltool | 22:34 | |
| *** menesis has quit IRC | 22:49 | |
| *** menesis has joined #schooltool | 22:49 | |
| *** th1a has quit IRC | 23:27 | |
Generated by irclog2html.py 4.0.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!