Tonight’s Meeting Topics:
-- Selenium2 --
Selenium RC vs Webdriver -
Selenium - http://seleniumhq.org/
Why - http://seleniumhq.org/docs/appendix_migrating_from_rc_to_webdriver.html
Firefox, Chrome, Ie, iOS, Android, Opera
-- Setting up an environment --
virtualenv --no-site-packages Se-Pres(entation)
Now fire up an interpreter:
from selenium import webdriver
b = webdriver.Firefox()
b.get_cookies() (a list of dicts, each containing a cookie and support info)
<selenium.webdriver.remote.webelement.WebElement object at 0x874b22c>
>>> sbx = b.find_element_by_name('q')
>>> sbx.send_keys('omaha python')
u'omaha python - Google Search'
-- Other Helpful things --
unittest - http://docs.python.org/library/unittest.html#
nose - http://readthedocs.org/docs/nose/en/latest/
nose-testconfig - http://pypi.python.org/pypi/nose-testconfig/
The meeting concluded about 9pm when the venue closed but we continued with a 15 minute parking lot track that included references to Code Complete and general development concepts. Great Meeting! and everyone is looking forward to the next.
Google just announced, GoogleCL a command-line utility that provides access to various Google services. GoogleCL is a pure Python application that uses the Python gdata libraries to make Google Data API calls from the command line. It streamlines tasks such as posting to a Blogger blog, adding events to Calendar, or editing documents on Google Docs.
$ google blogger post --blog "My blog" --tags "python, googlecl, development" my_post.html
$ google calendar add "Lunch with Jason tomorrow at noon"
$ google docs edit --title "Shopping list" --editor vim
Read more at the GoogleCL project page, or jump right to the examples.
I think this is cool, because I just started reading up on the gdata-python-services to interactively retrieve information from a google docs spreadsheet.
The meeting opened up with lots of interesting rumors, speculation and general kibitzing about Google’s plans for the new CB location. Who knows for sure — but lots of fun in the mean time.
Jeff gave a presentation on Crunchy. Talk about a gee whiz app. We poked at it with sticks and xkill to figure out how/who had control of the tkinter/wx/gtk windows.
The graphics capabilities brought out some questions about graphing packages available to Python. Jeff recalled a recent blog entry by Fuzzyman a.k.a Michael Foord about him looking for a graphing package to use with IronPython. A bit of googling and gnuplot was found.
Next was a question about xml parsers from someone new to Python and while no one was definitive, we suggested that they look at elementtree and lxml
The conversation then drifted towards web development. We had a java programmer in the group who has been recently been using Django and is becoming enamored with Python. We gabbed about storm and news about how the TurboGears had started implementing TG2 as an abstraction on top of Pylons. There was also talk of mod_wsgi and how it is different than mod_python. Jeff shared a little bit about mod_wsgi’s embedded and daemon modes he had picked up from Graham’s recent blog entry.
The talk then veered in to lambda and the java types whispered “anonymous” <g> This quickly veered in to discussion on how binding operates, which lead to an impromptu demonstration of passing a function as an argument to a function and how you assign a function to a dictionary element.
>>> def f(x):
... return x*x
>>> print f(2)
>>> def g(fn,x):
... return apply(fn,[x])
>>> print d['foo'](2)
As the meeting came to a close, we decided to change the meeting time from the 2nd Thursday of the month to the 1st Wednesday of the month. In the case that a holiday coincides with or is immediately adjacent to that day, the meeting will be held 1 week later on the second Tuesday. There was also a motion to move the meeting location and two locations were put up for consideration:
* Scooter’s Java Express @ 120th and Blondo
* Student Union @ UNO’s campus, 60th and Dodge
We will investigate these two locations and report back to the list for a vote by early next week.
Brad S. won the Door Prize of “Python in a Nutshell, 2nd Edition”. Tom never contacted us to pick it up so he lost out from last month. Sorry Tom.