parse_freshmeat

# -*- coding: Latin-1 -*-
import urllib
from xml.dom import minidom

def format_date(date):
    """formate une date simple à la française"""
    date = date[8:]+'/'+date[5:7]+'/'+ date[:4]
    return str(date)

def derniere_version(projet):
    """permet de récupérer des infos de version sur freshmeat
    qu'on trouve en xml, par exemple à l'url:
    http://freshmeat.net/projects-xml/firefox/firefox.xml
    Une autre approche intéressante (pas utilisée ici):
    http://freshmeat.net/search-xml/?q=firefox
    """
    url = 'http://freshmeat.net/projects-xml/%s/%s.xml' % (projet,projet)
    usock = urllib.urlopen(url)
    xmldoc = minidom.parse(usock)
    usock.close()
    lrv = xmldoc.getElementsByTagName('latest_release_version')
    lrd = xmldoc.getElementsByTagName('latest_release_date')
    url_zip = xmldoc.getElementsByTagName('url_zip')
    date =  lrd[0].firstChild.data[:10]
    if url_zip[0].firstChild <> None:
        retour =  '%s: Dernière version: %s,  Date: %s , url: %s' % (projet,str(lrv[0].firstChild.data), format_date(date),str(url_zip[0].firstChild.data))
    else:
        retour =  '%s: Dernière version: %s,  Date: %s' % (projet,str(lrv[0].firstChild.data), format_date(date))
    return retour
    
print derniere_version('firefox')
print derniere_version('dia')
print derniere_version('putty')
print derniere_version('thegimp')
print derniere_version('zinf')
print derniere_version('scite')


Retour à la table des matières

07/10/2004
rev 1.0
adresse mail
Valid HTML 4.01!