winfreed: add preliminary support for different architectures
authorAntonio Ospite <ao2@ao2.it>
Sun, 20 Jul 2014 15:05:12 +0000 (17:05 +0200)
committerAntonio Ospite <ao2@ao2.it>
Sun, 20 Jul 2014 15:31:20 +0000 (17:31 +0200)
template.ini
winfreed.py

index 319503f..59ecd78 100644 (file)
@@ -11,7 +11,13 @@ description = Example program doesn't do anything useful that we know of.
 license = GPL
 
 ; A URL can have parametric language and version
 license = GPL
 
 ; A URL can have parametric language and version
-url = http://example.com/program-%(version)s-%(language)s.zip
+url_i386 = http://example.com/program-%(version)s-%(language)s.exe
+url_x64 = http://example.com/program-%(version)s-%(language)s.msi
+
+; If no Architecture-specific URL is available, use just 'url'
+;url = http://example.com/program-%(version)s-%(language)s.exe
 
 version = 1.0
 
 version = 1.0
-md5 = 564ad4bb65013635017a04d5e7098b9e
+
+; TODO, checksums or signatures are not supported for now
+;md5 = 564ad4bb65013635017a04d5e7098b9e
index e7f186e..ef96bc5 100755 (executable)
@@ -2,7 +2,7 @@
 #
 # winfreed - download a selection of Free Software for MS Windows.
 #
 #
 # winfreed - download a selection of Free Software for MS Windows.
 #
-# Copyright (C) 2011  Antonio Ospite <ospite@studenti.unina.it>
+# Copyright (C) 2011-2014  Antonio Ospite <ao2@ao2.it>
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -27,6 +27,9 @@ from progressbar import Bar, ETA, FileTransferSpeed, Percentage, ProgressBar
 OUTPUT_DIR = 'downloads'
 LANGCODE = 'en-US'
 
 OUTPUT_DIR = 'downloads'
 LANGCODE = 'en-US'
 
+# One of i386 or x64
+ARCHITECTURE = 'x64'
+
 PKG_DIR = 'pkgs'
 CHUNK_SIZE = 8192
 
 PKG_DIR = 'pkgs'
 CHUNK_SIZE = 8192
 
@@ -127,7 +130,10 @@ def download_file(src_url, dest_dir):
 
 
 def download(pkg):
 
 
 def download(pkg):
-    pkg_url = pkg['url']
+    try:
+        pkg_url = pkg['url_' + ARCHITECTURE]
+    except KeyError:
+        pkg_url = pkg['url']
     download_file(pkg_url, OUTPUT_DIR)
 
 
     download_file(pkg_url, OUTPUT_DIR)