2 commits - get_releases.py liveusb/releases.py

Luke Macken lmacken at fedoraproject.org
Tue Apr 26 01:57:11 UTC 2011


 get_releases.py     |   37 ++++++++++++++++++++++++++++
 liveusb/releases.py |   67 ++++++++++++++++++----------------------------------
 2 files changed, 61 insertions(+), 43 deletions(-)

New commits:
commit a16a5b45b4e3f70f033900c05d834e345b0aa9f1
Author: Luke Macken <lmacken at redhat.com>
Date:   Mon Apr 25 21:53:45 2011 -0400

    Initial code to dynamically fetch fedora releases.
    
    This is not yet integrated into the liveusb-creator itself, but should
    be in the future.

diff --git a/get_releases.py b/get_releases.py
new file mode 100644
index 0000000..53c222f
--- /dev/null
+++ b/get_releases.py
@@ -0,0 +1,37 @@
+import re
+from urlgrabber import urlread
+
+FEDORA_RELEASES = 'http://download.fedora.redhat.com/pub/fedora/linux/releases/'
+ARCHES = ('i686', 'x86_64')
+
+def get_fedora_releases():
+    releases = []
+    html = urlread(FEDORA_RELEASES)
+    for release in re.findall(r'<a href="(\d+)/">', html)[-2:][::-1]:
+        for arch in ARCHES:
+            arch_url = FEDORA_RELEASES + '%s/Live/%s/' % (release, arch)
+            files = urlread(arch_url)
+            for link in re.findall(r'<a href="(.*)">', files):
+                if link.endswith('-CHECKSUM'):
+                    checksum = urlread(arch_url + link)
+                    for line in checksum.split('\n'):
+                        try:
+                            sha256, filename = line.split()
+                            if filename[0] != '*':
+                                continue
+                            filename = filename[1:]
+                            chunks = filename[:-4].split('-')
+                            chunks.remove('Live')
+                            name = ' '.join(chunks)
+                            releases.append(dict(
+                                name = name,
+                                url = arch_url + filename,
+                                sha256 = sha256,
+                                ))
+                        except ValueError:
+                            pass
+    return releases
+
+
+from pprint import pprint
+pprint(get_fedora_releases())


commit 1eac988c30ab8b0baf02fcc8b4e831f28b1809bd
Author: Luke Macken <lmacken at redhat.com>
Date:   Mon Apr 25 21:53:34 2011 -0400

    Update our releases

diff --git a/liveusb/releases.py b/liveusb/releases.py
index 7bf61e8..d620785 100644
--- a/liveusb/releases.py
+++ b/liveusb/releases.py
@@ -1,47 +1,28 @@
 releases = (
-    {
-        'name': 'Fedora 14 (i686)',
-        'url': 'http://download.fedora.redhat.com/pub/fedora/linux/releases/14/Live/i686/Fedora-14-i686-Live-Desktop.iso',
-        'sha256': '60d05ebdb6882a63f245e609aacb16d47923e1dcb925e9a928f6818a89e17e08',
-    },
-    {
-        'name': 'Fedora 14 (x86_64)',
-        'url': 'http://download.fedora.redhat.com/pub/fedora/linux/releases/14/Live/x86_64/Fedora-14-x86_64-Live-Desktop.iso',
-        'sha256': '8f81741e938924f68965b5dceac7013d72fe875725b53f61bebd36e740f79b99',
-    },
-    {
-        'name': 'Fedora 14 KDE (i686)',
-        'url': 'http://download.fedora.redhat.com/pub/fedora/linux/releases/14/Live/i686/Fedora-14-i686-Live-KDE.iso',
-        'sha256': 'b2419b32c255a63ba122e2c7673bffd80d6293ce085de779aac39816966b45c3',
-    },
-    {
-        'name': 'Fedora 14 KDE (x86_64)',
-        'url': 'http://download.fedora.redhat.com/pub/fedora/linux/releases/14/Live/x86_64/Fedora-14-x86_64-Live-KDE.iso',
-        'sha256': 'd0d3890a55e1febf5df5f3624d7f3d57f45a062e9ed21f57119d90c2b2bf27b5',
-    },
-    {
-        'name': 'Fedora 13 (i686)',
-        'url': 'http://download.fedora.redhat.com/pub/fedora/linux/releases/13/Live/i686/Fedora-13-i686-Live.iso',
-        'sha256': '47ccc37db256387b70857f53a6067e8d50e692c9aa85e45e63e5190c5d1e0942',
-    },
-
-    {
-        'name': 'Fedora 13 KDE (i686)',
-        'url': 'http://download.fedora.redhat.com/pub/fedora/linux/releases/13/Live/i686/Fedora-13-i686-Live-KDE.iso',
-        'sha256': '6828c02f2bce4ec3bd1ca488df8662640bf53fe7724913310295a5f5f6502cf8',
-    },
-
-    {
-        'name': 'Fedora 13 (x86_64)',
-        'url': 'http://download.fedora.redhat.com/pub/fedora/linux/releases/13/Live/x86_64/Fedora-13-x86_64-Live.iso',
-        'sha256': 'c16923e9c2f04af3609c9534f32ea280e4d2c3af50e704344ccb35090f87065a',
-    },
-
-    {
-        'name': 'Fedora 13 KDE (x86_64)',
-        'url': 'http://download.fedora.redhat.com/pub/fedora/linux/releases/13/Live/x86_64/Fedora-13-x86_64-Live-KDE.iso',
-        'sha256': '789d7090d39230f0e9b16ed3276974223c120db3120c48e53fa95a6f1604c650',
-    },
+    {'name': 'Fedora 14 i686 Desktop',
+     'sha256': '60d05ebdb6882a63f245e609aacb16d47923e1dcb925e9a928f6818a89e17e08',
+     'url': 'http://download.fedora.redhat.com/pub/fedora/linux/releases/14/Live/i686/Fedora-14-i686-Live-Desktop.iso'},
+     {'name': 'Fedora 14 i686 KDE',
+      'sha256': 'b2419b32c255a63ba122e2c7673bffd80d6293ce085de779aac39816966b45c3',
+      'url': 'http://download.fedora.redhat.com/pub/fedora/linux/releases/14/Live/i686/Fedora-14-i686-Live-KDE.iso'},
+     {'name': 'Fedora 14 x86_64 Desktop',
+      'sha256': '8f81741e938924f68965b5dceac7013d72fe875725b53f61bebd36e740f79b99',
+      'url': 'http://download.fedora.redhat.com/pub/fedora/linux/releases/14/Live/x86_64/Fedora-14-x86_64-Live-Desktop.iso'},
+     {'name': 'Fedora 14 x86_64 KDE',
+      'sha256': 'd0d3890a55e1febf5df5f3624d7f3d57f45a062e9ed21f57119d90c2b2bf27b5',
+      'url': 'http://download.fedora.redhat.com/pub/fedora/linux/releases/14/Live/x86_64/Fedora-14-x86_64-Live-KDE.iso'},
+     {'name': 'Fedora 13 i686',
+      'sha256': '47ccc37db256387b70857f53a6067e8d50e692c9aa85e45e63e5190c5d1e0942',
+      'url': 'http://download.fedora.redhat.com/pub/fedora/linux/releases/13/Live/i686/Fedora-13-i686-Live.iso'},
+     {'name': 'Fedora 13 i686 KDE',
+      'sha256': '6828c02f2bce4ec3bd1ca488df8662640bf53fe7724913310295a5f5f6502cf8',
+      'url': 'http://download.fedora.redhat.com/pub/fedora/linux/releases/13/Live/i686/Fedora-13-i686-Live-KDE.iso'},
+     {'name': 'Fedora 13 x86_64',
+      'sha256': 'c16923e9c2f04af3609c9534f32ea280e4d2c3af50e704344ccb35090f87065a',
+      'url': 'http://download.fedora.redhat.com/pub/fedora/linux/releases/13/Live/x86_64/Fedora-13-x86_64-Live.iso'},
+     {'name': 'Fedora 13 x86_64 KDE',
+      'sha256': '789d7090d39230f0e9b16ed3276974223c120db3120c48e53fa95a6f1604c650',
+      'url': 'http://download.fedora.redhat.com/pub/fedora/linux/releases/13/Live/x86_64/Fedora-13-x86_64-Live-KDE.iso'},
 
     ##
     ## Custom spins




More information about the liveusb-creator mailing list