[SCM] hydrogen-drumkits/master: fixed get-orig-sources script
umlaeute at users.alioth.debian.org
umlaeute at users.alioth.debian.org
Fri Jul 21 19:49:10 UTC 2017
The following commit has been merged in the master branch:
commit 7a2b04954d55f5747f8b4c48ca9bc449ed5bf2f8
Author: IOhannes m zmölnig <zmoelnig at umlautQ.umlaeute.mur.at>
Date: Wed Jul 19 15:56:16 2017 +0200
fixed get-orig-sources script
diff --git a/debian/get-orig-source.py b/debian/get-orig-source.py
index 487e2cb..cb79b80 100755
--- a/debian/get-orig-source.py
+++ b/debian/get-orig-source.py
@@ -82,7 +82,13 @@ OUTFILE=None
## apply replacements on URLs
URLFIX=[]
-URLFIX+=[("http://switch.dl.sourceforge.net/sourceforge/", "http://downloads.sourceforge.net/project/")]
+URLFIX+=[
+ ("http://www.hydrogen-music.org/", "http://hydrogen-music.org/"),
+ ("://sourceforge.net/projects/hydrogen/files/", "://prdownloads.sf.net/hydrogen/"),
+ ("://sourceforge.net/projects/sourceforge/", "://prdownloads.sf.net/"),
+ ("://sourceforge.net/projects/", "://prdownloads.sf.net/"),
+ ("://switch.dl.sourceforge.net/sourceforge/", "://prdownloads.sf.net/"),
+ ]
### come compat foo
@@ -227,6 +233,14 @@ def tarup(tarname, path, strippath):
tar.add(path, filter = filter)
return tarfilename
+def normalizePkgs(pkgs, fixurls=True):
+ data=sorted(pkgs)
+ if fixurls:
+ for d in data:
+ d['url']=fixURL(d['url'], URLFIX)
+ data=sorted(data, key=lambda s: s["url"].lower())
+ return data
+
## core functions
@@ -244,14 +258,19 @@ def write_dep5(path, pkgs):
f.write("License: %s\n" % p.get('licensed'))
-def write_DrumkitInfo(path, dki, name=None):
- if not name:
+def write_DrumkitInfo(path, dki, name=None, fixurls=True):
+ if name:
+ normalizePkgs(dki, fixurls)
+ else:
name=dki['name']
- with open(os.path.join(path, name+".json"), "w") as f:
- json.dump(dki, f, indent=2, separators=(',', ': '))
+ for p in path:
+ filename = os.path.join(p, name+".json")
+ print("writing drumkit info to: %s" % (filename,))
+ with open(filename, "w") as f:
+ json.dump(dki, f, indent=2, separators=(',', ': '), sort_keys=True)
-def get_availableDrumkitsInfo(url):
+def get_availableDrumkitsInfo(url, fixurls=True):
"""returns a list of dictionaries, each describing a drumkit (as obtained from 'url')"""
def xmlobjs_to_dictlist(objs):
objs_list = []
@@ -268,9 +287,10 @@ def get_availableDrumkitsInfo(url):
filename = urllib.urlretrieve(url)[0]
objs = xml.etree.ElementTree.parse(filename).findall('drumkit')
- return xmlobjs_to_dictlist(objs)
+ o = xmlobjs_to_dictlist(objs)
+ return normalizePkgs(o, fixurls)
-def get_packagedDrumkitsInfo(paths, jname='drumkits.json'):
+def get_packagedDrumkitsInfo(paths, jname='drumkits.json', fixurls=True):
"""returns a list of dictionaries, each describing a drumkit (as info found at 'path')"""
objs_list = []
try:
@@ -291,6 +311,7 @@ def get_packagedDrumkitsInfo(paths, jname='drumkits.json'):
objs_list.append(j)
if type(j) == list:
objs_list+=j
+ objs_list = normalizePkgs(objs_list, fixurls)
return objs_list
def compareDrumkitInfo(dk1, dk2):
@@ -346,10 +367,10 @@ def print_foo(objs):
print("%s (%s)\n" % (o['name'], o['url']))
def pkg_drumkits(conf):
+ fixurls = (not conf.no_url_fixes)
addall=conf.add_all_regardless_of_license
# list of already packaged drumkits
- packd=get_packagedDrumkitsInfo(conf.pkgdir)
- # list of available (online) drumkits
+ packd=get_packagedDrumkitsInfo(conf.pkgdir, fixurls=fixurls) # list of available (online) drumkits
avail=[x for x in get_availableDrumkitsInfo(conf.uri)]
interactive=not conf.non_interactive
@@ -415,15 +436,15 @@ def pkg_drumkits(conf):
pkgs = avail
else:
pkgs = [x for x in avail if x.get('distribute')]
- write_DrumkitInfo(conf.workdir, avail, 'drumkits')
+ write_DrumkitInfo([conf.workdir] + conf.pkgdir, avail, 'drumkits', fixurls)
download=True
if interactive:
try:
- raw_input("Press [return] to proceed with downloading %d drumkits; ^D to skip\n")
+ raw_input("Press [return] to proceed with downloading %d/%d drumkits; ^D to skip\n" % (len(pkgs), len(avail)))
except EOFError:
download=False
if download:
- if conf.no_url_fixes:
+ if not fixurls:
urlfix=None
print("NOT applying the following URL-fixes:")
for (a,b) in URLFIX:
--
hydrogen-drumkits packaging
More information about the pkg-multimedia-commits
mailing list