Archive

Posts Tagged ‘python’

Contributing to the openstack project

November 7, 2014 Leave a comment

I have been busy at work  for the past few weeks trying to get a big picture of how openstack works and how all these projects fit together. Especially my focus has been on the bare metal project ironic. I was reading the code and trying to get the dev environment working. In the process i noticed that the python-ironicclient wasn’t working properly as advertised. Immediately i filed a bug and posted a patch. To my surprise, this patch turned out to be my first contribution to the project.

Here is my first ever review request to the project https://review.openstack.org/#/c/131307 . So far it has been fun to read the code. and learn about new python stuff like  ‘tox‘, ‘pbr‘, ‘eventlet and greenthreads‘. Thanks to Yahoo and the management team for letting me contribute. Thanks to ruby,deva, jroll, and all other reviewers for your excellent support! and reviews. I hope i can do more in the future.

Advertisement

python-requests package update

April 1, 2012 1 comment

The newest version of python-requests now supports python 3. The python 3 version of requests is available as python3-requests package. Thanks Rex Dieter for the patch https://bugzilla.redhat.com/show_bug.cgi?id=807525 . I have also decided to maintain python-requests for EL6, i have pushed the latest version 0.11.1 to EL6.

Though it violates the updates policy https://fedoraproject.org/wiki/Updates_Policy, i have updated python-requests from 0.6.6 to 0.10.8 in Fedora 16 as python-requests is a fast moving young project.

All the packages should land in updates-testing in a few days. Please visit https://admin.fedoraproject.org/updates/python-requests to learn more about the updates.

New Package: Python-requests – HTTP for Humans

August 17, 2011 Leave a comment

According to http://docs.python-requests.org/en/latest/index.html

Most existing Python modules for sending HTTP requests are extremely verbose and cumbersome. Python’s builtin urllib2 module provides most of the HTTP capabilities you should need, but the api is thoroughly broken. It requires an enormous amount of work (even method overrides) to perform the simplest of tasks.

Things shouldn’t be this way. Not in Python

Sample code

>>> r = requests.get(‘https://api.github.com’, auth=(‘user’, ‘pass’))
>>> r.status_code
204
>>> r.headers[‘content-type’]
‘application/json’
>>> r.content

The same sample , without using requests would look like https://gist.github.com/973705. Requests library indeed reduces the lines of code we have to write to set up HTTP requests.

The new library is available as python-requests in  Fedora. You can test the packaging using the following command

yum –enablerepo=updates-testing install python-requests

Have fun!

Categories: fedora, foss, fun, Packaging, python Tags: , ,

Presentation on basics of Django

May 1, 2011 Leave a comment

I did a presentation on basics of Django in chennai python user group (chennaipy) meeting last week. This post contains the presentation and code samples i used in the talk.

The presentation and code samples were designed to help Django newbies.  There are some differences in  the code i used in the presentation and the actual code samples , also i was not able to get the alignment of python code correct in the presentation.

The presentation can be downloaded from here

The code samples and source of the presentation (latex-beamer) are available under GNU Free documentation license  https://gitorious.org/saga-presentations . Feel free to modify them for your own needs 🙂

Django , Interpolate two strings in a template

April 15, 2011 Leave a comment

While i was working on my weekend project http://downloader.zer0c00l.in/,  I had to concat  interpolate two strings inside a template,  first string was hard coded in the template and another one had to be passed from the view. Initially i tried something like

<a href="/view/logs/?page="{{ page }}> next </a>

That resulted in <a href=”/view/logs/?page=”>next</a> .  Django completely ignored the {{ page }}. After scratching my head for a long time i removed the quotes and rewrote the code into

<a href=/view/logs/?page={{ page }}> next </a>

That worked as expected.

Categories: django, fedora, foss, fun, python, webdev Tags: ,

Behaviour of ConfigParser.read() – Python

February 7, 2011 2 comments

I am playing around with python for a while. My code uses ConfigParser to parse a piece of configuration file. Now the documentation says ConfigParser.read() accepts list of file names as an argument and tries to read them one by one and returns the list of files that are read successfully.This behaviour is helpful when you have multiple configuration files all across your system.

what the documentation doesn’t tell you is, which configuration file it will use for further processing in case of multiple successful reads. ConfigParser actually uses the last read file for further processing. So prioritize your  configuration files accordingly

import ConfigParser

config_parser = ConfigParser.ConfigParser()

filenames = [‘low_priority_file’,’medium_priority_file’,’high_priority_file’]

config_parser.read(filenames)

Categories: fedora, foss, fun, hack, python Tags: , ,