*** 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 2.15.1 by Marius Gedminas - find it at mg.pov.lt!