r8890 - scripts/trunk
Gonéri Le Bouder
goneri at alioth.debian.org
Thu Feb 19 23:19:16 UTC 2009
Author: goneri
Date: 2009-02-19 23:19:16 +0000 (Thu, 19 Feb 2009)
New Revision: 8890
Added:
scripts/trunk/viewPatches
Log:
tool to show the patches of the others OS
Added: scripts/trunk/viewPatches
===================================================================
--- scripts/trunk/viewPatches (rev 0)
+++ scripts/trunk/viewPatches 2009-02-19 23:19:16 UTC (rev 8890)
@@ -0,0 +1,135 @@
+#!/usr/bin/python
+
+import urllib2
+from urllib2 import Request, URLError
+import re
+from threading import Thread
+
+class File:
+ def __init__(self, name, url):
+ self.name = name
+ self.url = url
+
+
+class Origin(Thread):
+ def __init__(self):
+ Thread.__init__(self)
+ self.files = []
+ self.found = False
+
+ def run(self):
+ baseUrl = self.baseUrl % self.package
+ try:
+ lines = urllib2.urlopen(baseUrl).read()
+ except URLError, e:
+ self.found=False
+ return
+
+ for filename in re.findall(self.findAllRegex, lines):
+ url = self.downloadBaseUrl % (self.package, filename)
+ file=File(filename,url)
+ self.files.append(file)
+ self.found=True
+
+class Fedora(Origin):
+ def __init__(self, package):
+ Origin.__init__(self)
+ self.package = package
+ self.name = 'Fedora Project'
+ self.baseUrl = 'http://cvs.fedoraproject.org/viewvc/rpms/%s/devel/'
+ self.findAllRegex = 'devel/(..*?)\?view'
+ self.downloadBaseUrl = 'http://cvs.fedoraproject.org/viewvc/rpms/%s/devel/%s?view=co'
+
+class OpenBSD(Origin):
+ def __init__(self, package):
+ Origin.__init__(self)
+ self.package = package
+ self.name = 'OpenBSD'
+ self.baseUrl = 'http://www.openbsd.org/cgi-bin/cvsweb/ports/games/%s/patches/'
+ self.findAllRegex = '<a href="(.*?)\?rev='
+ self.downloadBaseUrl = 'http://www.openbsd.org/cgi-bin/cvsweb/~checkout~/ports/games/%s/patches/%s'
+
+class ArchLinux(Origin):
+ def __init__(self, package):
+ Origin.__init__(self)
+ self.package = package
+ self.name = 'ArchLinux'
+ self.baseUrl = 'http://repos.archlinux.org/viewvc.cgi/%s/trunk/'
+ self.findAllRegex = 'trunk/(.*?)\?view=log'
+ self.downloadBaseUrl = 'http://repos.archlinux.org/viewvc.cgi/%s/trunk/%s?view=co'
+
+
+class FreeBSD(Origin):
+ def __init__(self, package):
+ Origin.__init__(self)
+ self.package = package
+ self.name = 'FreeBSD'
+ self.baseUrl = 'http://www.freebsd.org/cgi/cvsweb.cgi/ports/games/%s/files/'
+ self.findAllRegex = '<a href="(.*?)\?rev='
+ self.downloadBaseUrl = 'http://www.freebsd.org/cgi/cvsweb.cgi/~checkout~/ports/games/%s/files/%s'
+
+class Debian(Origin):
+ def __init__(self, package):
+ Origin.__init__(self)
+ self.package = package
+ self.name = 'Debian'
+ self.baseUrl = 'http://svn.debian.org/viewsvn/pkg-games/packages/trunk/%s/debian/patches/'
+ self.findAllRegex = '/(.*?)\?rev=\d+&view=auto'
+ self.downloadBaseUrl = 'http://svn.debian.org/viewsvn/*checkout*/pkg-games/packages/trunk/%s/debian/patches/%s'
+
+class NetBSD(Origin):
+ def __init__(self, package):
+ Origin.__init__(self)
+ self.package = package
+ self.name = 'NetBSD'
+ self.baseUrl = 'http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/games/%s/patches/?only_with_tag=MAIN'
+ self.findAllRegex = '<a href="(.*?)\?rev='
+ self.downloadBaseUrl = 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/pkgsrc/games/%s/patches/%s'
+
+class Gentoo(Origin):
+ def __init__(self, package):
+ Origin.__init__(self)
+ self.package = package
+ self.name = 'Gentoo'
+ self.findRemoteDirs()
+ self.findAllRegex = 'files/(.*?)\?rev=[\d\.]+&view=log'
+
+ def findRemoteDirs(self):
+ lines = urllib2.urlopen('http://sources.gentoo.org/viewcvs.py/gentoo-x86/').read()
+
+ for section in re.findall('href="/viewcvs.py/gentoo-x86/(games-.*?)/" title="View', lines):
+ dir = 'http://sources.gentoo.org/viewcvs.py/gentoo-x86/%s/anagramarama/' % section
+ try:
+ urllib2.urlopen(dir).info
+ except URLError, e:
+ if hasattr(e, 'code'):
+ do='nothing'
+ #print e.code
+ else:
+ self.baseUrl = 'http://sources.gentoo.org/viewcvs.py/gentoo-x86/%s/%%s/files/' % section
+ self.downloadBaseUrl = 'http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/%s/%%s/files/%%s' % section
+ break
+
+
+
+package = 'anjuta'
+
+origins = []
+origins.append(Fedora(package))
+origins.append(OpenBSD(package))
+origins.append(FreeBSD(package))
+origins.append(Debian(package))
+origins.append(NetBSD(package))
+origins.append(Gentoo(package))
+origins.append(ArchLinux(package))
+
+for origin in origins:
+ origin.start()
+
+for origin in origins:
+ origin.join()
+
+ if origin.found:
+ print "= %s =" % origin.name
+ for file in origin.files:
+ print ' - %s ( %s )' % (file.name, file.url)
Property changes on: scripts/trunk/viewPatches
___________________________________________________________________
Name: svn:executable
+ *
More information about the Pkg-games-commits
mailing list