discoveries in digital audio, music notation, and information encoding

on adding an update checker to my Python programs

leave a comment

As I've been writing a few Python applications to share, I've been wondering the last day or so about how to have the application check, upon startup, for updates. This is a pretty common feature in a lot of programs, so I've been wondering how to do it.

Here's what I came up for now. It should work.

Say I have an application called FooPython and its project folder is

I can just maintain a small XML file in that directory called update.xml that would look like this:

    <message>Version 0.9.1 is now available!</message>

Now all I'd have to do is add code similar to that below in my application to alert the user of an update:

import urllib
from lxml import etree #see:

url = "" #not a real URL
update = urllib.urlopen(url).read()
root = etree.XML(update)
currentVersion = root.find(".//currentVersion")
currentVersionValue = currentVersion.text
message = root.find(".//message")
messageValue = message.text

if currentVersionValue != "0.9.0": #assuming this code is for version 0.9.0
   print messageValue

All this does is go to the update.xml file and read the element values. If the <currentVersion> doesn't match the version specified within the source code itself then it will print the value of the <message> element.


Related Content:

Written by nitin

November 5th, 2010 at 8:59 pm

Posted in scripts

Tagged with ,

Leave a Reply