[Pkg-privacy-commits] [tails-installer] 188/210: Adapt the website parser to its F23 state, update releases

Intrigeri intrigeri at moszumanska.debian.org
Wed May 24 15:26:44 UTC 2017


This is an automated email from the git hooks/post-receive script.

intrigeri pushed a commit to tag 3.90.0
in repository tails-installer.

commit 56b22525909f7aa05fb50dd8ea0fec6d3825ba55
Author: Martin Briza <mbriza at redhat.com>
Date:   Mon Nov 2 16:37:17 2015 +0100

    Adapt the website parser to its F23 state, update releases
---
 liveusb/components/ImageDetails.qml |  35 ++--
 liveusb/gui.py                      |  10 +-
 liveusb/releases.py                 | 390 ++++++++++++++++++++++++------------
 3 files changed, 291 insertions(+), 144 deletions(-)

diff --git a/liveusb/components/ImageDetails.qml b/liveusb/components/ImageDetails.qml
index 2ef4f1a..e015537 100644
--- a/liveusb/components/ImageDetails.qml
+++ b/liveusb/components/ImageDetails.qml
@@ -117,28 +117,31 @@ Item {
                         Item {
                             height: childrenRect.height
 
-                            RowLayout {
-                                visible: liveUSBData.currentImage.arch.length
+                            ColumnLayout {
                                 spacing: $(12)
-                                ExclusiveGroup {
-                                    id: archEG
-                                }
-                                Repeater {
-                                    model: liveUSBData.currentImage.arch
-                                    AdwaitaRadioButton {
-                                        text: modelData
-                                        Layout.alignment: Qt.AlignVCenter
-                                        exclusiveGroup: archEG
-                                        checked: liveUSBData.releaseProxyModel.archFilter == modelData
-                                        onCheckedChanged: {
-                                            if (checked && liveUSBData.releaseProxyModel.archFilter != modelData)
-                                                liveUSBData.releaseProxyModel.archFilter = modelData
+                                RowLayout {
+                                    visible: liveUSBData.currentImage.arch.length
+                                    spacing: $(12)
+                                    ExclusiveGroup {
+                                        id: archEG
+                                    }
+                                    Repeater {
+                                        model: liveUSBData.currentImage.arch
+                                        AdwaitaRadioButton {
+                                            text: modelData
+                                            Layout.alignment: Qt.AlignVCenter
+                                            exclusiveGroup: archEG
+                                            checked: liveUSBData.releaseProxyModel.archFilter == modelData
+                                            onCheckedChanged: {
+                                                if (checked && liveUSBData.releaseProxyModel.archFilter != modelData)
+                                                    liveUSBData.releaseProxyModel.archFilter = modelData
+                                            }
                                         }
                                     }
                                 }
                                 Text {
                                     // I'm sorry, everyone, I can't find a better way to determine if the date is valid
-                                    text: liveUSBData.currentImage.releaseDate.toLocaleDateString().length > 0 ? (qsTranslate("", "Released on %s").arg(liveUSBData.currentImage.releaseDate.toLocaleDateString())) : ""
+                                    text: liveUSBData.currentImage.releaseDate.toLocaleDateString().length > 0 ? (qsTranslate("", "Released on %1").arg(liveUSBData.currentImage.releaseDate.toLocaleDateString())) : ""
                                     font.pixelSize: $(11)
                                     color: "gray"
                                 }
diff --git a/liveusb/gui.py b/liveusb/gui.py
index 420b579..173476e 100755
--- a/liveusb/gui.py
+++ b/liveusb/gui.py
@@ -50,7 +50,7 @@ import resources_rc
 import qml_rc
 
 from liveusb import LiveUSBCreator, LiveUSBError, _
-from liveusb.releases import releases, get_fedora_releases
+from liveusb.releases import releases
 
 if sys.platform == 'win32':
     from liveusb.urlgrabber.grabber import URLGrabber, URLGrabError
@@ -557,7 +557,7 @@ class Release(QObject):
 
     @pyqtProperty(QDateTime, constant=True)
     def releaseDate(self):
-        return QDateTime.fromString(self._data['releaseDate'])
+        return QDateTime.fromString(self._data['releaseDate'], Qt.ISODate)
 
     @pyqtProperty(str, constant=True)
     def summary(self):
@@ -693,9 +693,9 @@ class ReleaseListProxy(QSortFilterProxyModel):
 
     def filterAcceptsRow(self, sourceRow, sourceParent):
         row = self.sourceModel().index(sourceRow, 0, sourceParent).data()
-        if len(self._archFilter) == 0 or row.isLocal or self.archFilter in row.arch:
-            if len(self._nameFilter) == 0 or self._nameFilter.lower() in row.name.lower() or self._nameFilter.lower() in row.summary.lower():
-                if not len(self._nameFilter) or not row.isSeparator:
+        if len(self._archFilter) == 0 or row.isLocal or self.archFilter in row.arch or row.isSeparator:
+            if not len(self._nameFilter) or not row.isSeparator:
+                if len(self._nameFilter) == 0 or self._nameFilter.lower() in row.name.lower() or self._nameFilter.lower() in row.summary.lower():
                     return True
         return False
 
diff --git a/liveusb/releases.py b/liveusb/releases.py
index 39758f3..1282da0 100644
--- a/liveusb/releases.py
+++ b/liveusb/releases.py
@@ -19,13 +19,22 @@ ARCHES = ('armhfp', 'x86_64', 'i686', 'i386')
 def getArch(url):
     return url.split('/')[-1].split('.')[0].split('-')[3]
 
-def getRelease(url):
-    return url.split('/')[-1].split('.')[0].split('-')[4]
+def getRelease(download):
+    for key in download.keys():
+        url = download[key]['url']
+        break
+    try:
+        return str(int(url.split('/')[-1].split('.')[0].split('-')[4]))
+    except AttributeError:
+        return ''
 
 def getSHA(url):
     baseurl = '/'.join(url.split('/')[:-1])
     filename = url.split('/')[-1]
-    d = pyquery.PyQuery(urlread(baseurl))
+    try:
+        d = pyquery.PyQuery(urlread(baseurl))
+    except URLGrabError:
+        return ''
     checksum = ''
     for i in d.items('a'):
         if 'CHECKSUM' in i.attr('href'):
@@ -41,6 +50,8 @@ def getSHA(url):
 
 def getSize(text):
     match = re.search(r'([0-9.]+)[ ]?([KMG])B', text)
+    if not match or len(match.groups()) not in [2, 3]:
+        return 0
     size = float(match.group(1))
     if match.group(2) == 'G':
         size *= 1024 * 1024 * 1024
@@ -76,8 +87,9 @@ def getSpinDetails(url, source):
         'name': '',
         'summary': '',
         'description': '',
+        'version': '',
         'releaseDate': '',
-        'logo': 'qrc:/logo-fedora.svg',
+        'logo': 'qrc:/logo_fedora',
         'screenshots': [],
         'source': '',
         'variants': {'': dict(
@@ -88,7 +100,9 @@ def getSpinDetails(url, source):
     }
     spin['source'] = source
 
-    spin['name'] = 'Fedora ' + d('title').html().strip()
+    spin['name'] = d('title').html().strip()
+    if not spin['name'].startswith('Fedora'):
+        spin['name'] = 'Fedora ' + spin['name']
     screenshot = d('img').filter('.img-responsive').attr('src')
     if screenshot:
         spin['screenshots'].append(url + "/.." + screenshot)
@@ -101,33 +115,37 @@ def getSpinDetails(url, source):
 
     download = getDownload(url + "/.." + d('a.btn').attr('href'))
     spin['variants'] = download
-    #spin['release'] = getRelease(download)
+    spin['version'] = getRelease(download)
+    if spin['version'] == '23':
+        spin['releaseDate'] = '2015-11-03'
 
     if 'KDE Plasma' in spin['name']:
-        spin['logo'] = 'qrc:/kde_icon_grey_pattern.png'
+        spin['logo'] = 'qrc:/logo_plasma'
     if 'Xfce' in spin['name']:
-        spin['logo'] = 'qrc:/xfce_icon_grey_pattern.png'
+        spin['logo'] = 'qrc:/logo_xfce'
     if 'LXDE' in spin['name']:
-        spin['logo'] = 'qrc:/lxde_icon_grey_pattern.png'
+        spin['logo'] = 'qrc:/logo_lxde'
     if 'MATE' in spin['name']:
-        spin['logo'] = 'qrc:/mate_icon_grey_pattern.png'
+        spin['logo'] = 'qrc:/logo_mate'
+    if 'Cinnamon' in spin['name']:
+        spin['logo'] = 'qrc:/logo_cinnamon'
     if 'SoaS' in spin['name']:
-        spin['logo'] = 'qrc:/soas_icon_grey_pattern.png'
+        spin['logo'] = 'qrc:/logo_soas'
 
     if 'Astronomy' in spin['name']:
-        spin['logo'] = 'qrc:/astronomy_icon_grey_pattern.png'
+        spin['logo'] = 'qrc:/logo_astronomy'
     if 'Design' in spin['name']:
-        spin['logo'] = 'qrc:/design-suite_icon_grey_pattern.png'
+        spin['logo'] = 'qrc:/logo_design'
     if 'Games' in spin['name']:
-        spin['logo'] = 'qrc:/games_icon_grey_pattern.png'
+        spin['logo'] = 'qrc:/logo_games'
     if 'Jam' in spin['name']:
-        spin['logo'] = 'qrc:/jam_icon_grey_pattern.png'
+        spin['logo'] = 'qrc:/logo_jam'
     if 'Robotics' in spin['name']:
-        spin['logo'] = 'qrc:/robotics-suite_icon_grey_pattern.png'
+        spin['logo'] = 'qrc:/logo_robotics'
     if 'Scientific' in spin['name']:
-        spin['logo'] = 'qrc:/scientific_icon_grey_pattern.png'
+        spin['logo'] = 'qrc:/logo_scientific'
     if 'Security' in spin['name']:
-        spin['logo'] = 'qrc:/security-lab_icon_grey_pattern.png'
+        spin['logo'] = 'qrc:/logo_security'
 
     return spin
 
@@ -136,9 +154,9 @@ def getSpins(url, source):
     spins = []
 
     if source == 'Spins':
-        spins.append({'releaseDate': '', 'source': '', 'name': 'Fedora ' + source, 'logo': '', 'description': '', 'screenshots': '', 'variants': {}, 'summary': 'Alternative desktops for Fedora'})
+        spins.append({'version': '', 'releaseDate': '', 'source': '', 'name': 'Fedora ' + source, 'logo': '', 'description': '', 'screenshots': [], 'variants': {}, 'summary': 'Alternative desktops for Fedora'})
     elif source == 'Labs':
-        spins.append({'releaseDate': '', 'source': '', 'name': 'Fedora ' + source, 'logo': '', 'description': '', 'screenshots': '', 'variants': {}, 'summary': 'Functional bundles for Fedora'})
+        spins.append({'version': '', 'releaseDate': '', 'source': '', 'name': 'Fedora ' + source, 'logo': '', 'description': '', 'screenshots': [], 'variants': {}, 'summary': 'Functional bundles for Fedora'})
 
     for i in d('div').filter('.high').items('span'):
         spinUrl = url + i.siblings()('a').attr('href')
@@ -148,14 +166,15 @@ def getSpins(url, source):
 
     return spins
 
-def getProductDetails(url, name):
+def getProductDetails(url):
     d = pyquery.PyQuery(urlread(url))
     product = {
         'name': '',
         'summary': '',
         'description': '',
+        'version': '',
         'releaseDate': '',
-        'logo': 'qrc:/logo-fedora.svg',
+        'logo': 'qrc:/logo_fedora',
         'screenshots': [],
         'source': '',
         'variants': {'': dict(
@@ -164,6 +183,8 @@ def getProductDetails(url, name):
             size=0
         )}
     }
+    name = d('title').html()
+
     product['name'] = name
     product['source'] = name
 
@@ -182,19 +203,16 @@ def getProductDetails(url, name):
             product['description'].replace('h2', 'h4')
             product['description'].replace('h3', 'h4')
 
-    if name == "Workstation":
-        product['name'] = 'Fedora Workstation'
-        product['logo'] = 'qrc:/logo-color-workstation.png'
-    if name == "Cloud":
-        product['name'] = 'Fedora Cloud'
-        product['logo'] = 'qrc:/logo-color-cloud.png'
-    if name == "Server":
-        product['name'] = 'Fedora Server'
-        product['logo'] = 'qrc:/logo-color-server.png'
-
-    download = getDownload(url + "/download")
+    if name == "Fedora Workstation":
+        product['logo'] = 'qrc:/logo_workstation'
+    if name == "Fedora Server":
+        product['logo'] = 'qrc:/logo_server'
+
+    download = getDownload(url + "/download/")
     product['variants'] = download
-    #product['release'] = getRelease(download)
+    product['version'] = getRelease(download)
+    if product['version'] == '23':
+        product['releaseDate'] = '2015-11-03'
 
     return product
 
@@ -209,10 +227,9 @@ def getProducts(url='https://getfedora.org/'):
             productUrl += i.attr('href')[3:]
         else:
             productUrl += i.attr('href')
-        productName = i('h4').html()
 
-        if productName != "Cloud":
-            products.append(getProductDetails(productUrl, productName))
+        if not "cloud" in productUrl and not productUrl.endswith("download"):
+            products.append(getProductDetails(productUrl))
 
     return products
 
@@ -221,9 +238,10 @@ def get_fedora_flavors():
     releases += getProducts('https://getfedora.org/')
     releases += [{'name': _('Custom OS...'),
                   'description': _('<p>Here you can choose a OS image from your hard drive to be written to your flash disk</p><p>Currently it is only supported to write raw disk images (.iso or .bin)</p>'),
-                  'logo': 'qrc:/icon-folder.svg',
+                  'logo': 'qrc:/icon_folder',
                   'screenshots': [],
                   'summary': _('Pick a file from your drive(s)'),
+                  'version': '',
                   'releaseDate': '',
                   'source': 'Local',
                   'variants': {'': dict(url='', sha256='', size=0)}}]
@@ -231,94 +249,220 @@ def get_fedora_flavors():
     releases += getSpins("http://labs.fedoraproject.org", "Labs")
     return releases
 
-def get_fedora_releases():
-    global releases
-    fedora_releases = []
-    try:
-        html = urlread(PUB_URL)
-        versions = re.findall(r'<a href="(\d+)/">', html)
-        latest = sorted([int(v) for v in versions], reverse=True)[0:2]
-        for release in latest:
-            if release >= 21:
-                products = ('Workstation', 'Server', 'Cloud', 'Live', 'Spins')
-            else:
-                products = ('Live', 'Spins')
-            for product in products:
-                for arch in ARCHES:
-                    baseurl = PUB_URL
-                    if product == 'Live':
-                        isodir = '/'
-                    elif product == 'Spins':
-                        baseurl = ALT_URL
-                        isodir = '/'
-                    else:
-                        isodir = '/iso/'
-                    arch_url = baseurl + '%s/%s/%s%s' % (release,
-                            product, arch, isodir)
-                    #print(arch_url)
-                    try:
-                        files = urlread(arch_url)
-                    except URLGrabError:
-                        continue
-                    for link in re.findall(r'<a href="(.*)">', files):
-                        if link.endswith('-CHECKSUM'):
-                            #print('Reading %s' % arch_url + link)
-                            checksum = urlread(arch_url + link)
-                            for line in checksum.split('\n'):
-                                if release >= 22:
-                                    # SHA256 (filename) = checksum
-                                    if '=' in line:
-                                        try:
-                                            hash_type, filename, _, sha256 = line.split()
-                                            filename = filename[1:-1]
-                                            name = filename.replace('.iso', '')
-                                            fedora_releases.append(dict(
-                                                name=name,
-                                                url=arch_url + filename,
-                                                sha256=sha256,
-                                            ))
-                                        except ValueError:
-                                            pass
-                                else:
-                                    try:
-                                        sha256, filename = line.split()
-                                        if filename[0] != '*':
-                                            continue
-                                        filename = filename[1:]
-                                        name = filename.replace('.iso', '')
-                                        fedora_releases.append(dict(
-                                            name=name,
-                                            url=arch_url + filename,
-                                            sha256=sha256,
-                                        ))
-                                    except ValueError:
-                                        pass
-        releases = fedora_releases
-    except:
-        traceback.print_exc()
-    return releases
-
 # A backup list of releases, just in case we can't fetch them.
-fedora_releases = [
-{'releaseDate': '', 'source': 'Workstation', 'name': 'Fedora Workstation', 'logo': 'qrc:/logo_workstation', 'description': "<p>Fedora Workstation is a reliable, user-friendly, and powerful operating system for your laptop or desktop computer. It supports a wide range of developers, from hobbyists and students to professionals in corporate environments.</p>\n        <blockquote><p>“The plethora of tools provided by  Fedora allows me to get the job done.  It just works.”</p>\n  [...]
-{'releaseDate': '', 'source': 'Server', 'name': 'Fedora Server', 'logo': 'qrc:/logo_server', 'description': "<blockquote><p>“The simplicity introduced with rolekit and cockpit have made server deployments a breeze. What took me a few days on other operating systems took less than an hour with Fedora 22 Server. It just works.”</p>\n            <p align=right> \xe2\x80\x95 <em>Dan Mossor, Systems Engineer</em></p></blockquote><p>Fedora Server is a powerful, flexible operating s [...]
-{'releaseDate': '', 'source': 'Local', 'name': u'Custom OS...', 'logo': 'qrc:/icon_folder', 'variants': {'': {'url': '', 'sha256': '', 'size': 0}}, 'summary': u'Pick a file from your drive(s)', 'screenshots': [], 'description': u'Here you can choose a OS image from your hard drive to be written to your flash disk'},
-{'releaseDate': '', 'source': '', 'name': 'Fedora Spins', 'logo': '', 'description': '', 'screenshots': '', 'variants': {'x86_64': {}, 'i686': {}, 'armv7hl': {}}, 'summary': 'Alternative desktops for Fedora'},
-{'releaseDate': '', 'source': 'Spins', 'name': 'Fedora KDE Plasma Desktop', 'logo': 'qrc:/logo_plasma', 'description': u'<p>The Fedora KDE Plasma Desktop Edition is a powerful Fedora-based operating system utilizing the KDE Plasma Desktop as the main user interface.</p><p>Fedora KDE Plasma Desktop comes with many pre-selected top quality applications that suit all modern desktop use cases - from online communication like web browsing, instant messaging and electronic mail correspondence, [...]
-{'releaseDate': '', 'source': 'Spins', 'name': 'Fedora Xfce Desktop', 'logo': 'qrc:/logo_xfce', 'description': u'<p>The Fedora Xfce spin showcases the Xfce desktop, which aims to be fast and lightweight, while still being visually appealing and user friendly.</p><p>Fedora Xfce is a full-fledged desktop using the freedesktop.org standard.</p>', 'screenshots': ['http://spins.fedoraproject.org/en/xfce/../static/images/screenshots/screenshot-xfce.jpg'], 'variants': {'x86_64': {'url': 'https: [...]
-{'releaseDate': '', 'source': 'Spins', 'name': 'Fedora LXDE Desktop', 'logo': 'qrc:/logo_lxde', 'description': u'<p>LXDE, the "Lightweight X11 Desktop Environment", is an extremely fast, performant, and energy-saving desktop environment. It maintained by an international community of developers and comes with a beautiful interface, multi-language support, standard keyboard shortcuts and additional features like tabbed file browsing.</p><p>LXDE is not designed to be powerful and bloated,  [...]
-{'releaseDate': '', 'source': 'Spins', 'name': 'Fedora MATE-Compiz Desktop', 'logo': 'qrc:/logo_mate', 'description': u'<p>The MATE Compiz spin bundles MATE Desktop with Compiz Fusion. MATE Desktop is a lightweight, powerful Desktop designed with productivity and performance in mind. The default windows manager is Marco which is usable for all machines and VMs. Compiz Fusion is a beautiful 3D windowing manager with Emerald and GTK theming.</p><p>If you want a powerful, lightweight Fedora [...]
-{'releaseDate': '', 'source': 'Spins', 'name': 'Fedora SoaS Desktop', 'logo': 'qrc:/logo_soas', 'description': u'<p>Sugar on a Stick is a Fedora-based operating system featuring the award-winning Sugar Learning Platform and designed to fit on an ordinary USB thumbdrive ("stick").</p><p>Sugar sets aside the traditional \u201coffice-desktop\u201d metaphor, presenting a child-friendly graphical environment. Sugar automatically saves your progress to a "Journal" on your stick, so teachers an [...]
-{'releaseDate': '', 'source': '', 'name': 'Fedora Labs', 'logo': '', 'description': '', 'screenshots': '', 'variants': {'x86_64': {}, 'i686': {}, 'armv7hl': {}}, 'summary': 'Functional bundles for Fedora'},
-{'releaseDate': '', 'source': 'Labs', 'name': 'Fedora Design Suite', 'logo': 'qrc:/logo_design', 'description': u'<p>Looking for a ready-to-go desktop environment brimming with free and open source multimedia production and publishing tools? Try the Design Suite, a Fedora Spin created by designers, for designers.</p><p>The Design Suite includes the favorite tools of the Fedora Design Team. These are the same programs we use to create all the artwork that you see within the Fedora Project [...]
-{'releaseDate': '', 'source': 'Labs', 'name': 'Fedora Games', 'logo': 'qrc:/logo_games', 'description': u"<p>The Fedora Games spin offers a perfect showcase of the best games available in Fedora. The included games span several genres, from first-person shooters to real-time and turn-based strategy games to puzzle games.</p><p>Not all the games available in Fedora are included on this spin, but trying out this spin will give you a fair impression of Fedora's ability to run great games.</ [...]
-{'releaseDate': '', 'source': 'Labs', 'name': 'Fedora Jam', 'logo': 'qrc:/logo_jam', 'description': u'<p>Fedora Jam is for audio enthusiasts and musicians who want to create, edit and produce audio and music on Linux. It comes with Jack, ALSA and Pulseaudio by default including a suite of programs to tailor your studio.</p><p>Fedora Jam is a full-featured audio creation spin. It includes all the tools needed to help create the music you want, anything from classical to jazz to Heavy meta [...]
-{'releaseDate': '', 'source': 'Labs', 'name': 'Fedora Robotics Suite', 'logo': 'qrc:/logo_robotics', 'description': u'<p>The Fedora Robotics spin provides a wide variety of free and open robotics software packages. These range from hardware accessory libraries for the Hokuyo laser scanners or Katana robotic arm to software frameworks like Fawkes or Player and simulation environments such as Stage and RoboCup Soccer Simulation Server 2D/3D. It also provides a ready to use development envi [...]
-{'releaseDate': '', 'source': 'Labs', 'name': 'Fedora Scientific', 'logo': 'qrc:/logo_scientific', 'description': u'<p>Wary of reinstalling all the essential tools for your scientific and numerical work? The answer is here. Fedora Scientific Spin brings together the most useful open source scientific and numerical tools atop the goodness of the KDE desktop environment.</p><p>Fedora Scientific currently ships with numerous applications and libraries. These range from libraries such as the [...]
-{'releaseDate': '', 'source': 'Labs', 'name': 'Fedora Security Lab', 'logo': 'qrc:/logo_security', 'description': u'<p>The Fedora Security Lab provides a safe test environment to work on security auditing, forensics, system rescue and teaching security testing methodologies in universities and other organizations.</p><p>The spin is maintained by a community of security testers and developers. It comes with the clean and fast Xfce Desktop Environment and a customized menu that provides al [...]
+fedora_releases =  [{'description': u"<p>Fedora Workstation is a reliable, user-friendly, and powerful operating system for your laptop or desktop computer. It supports a wide range of developers, from hobbyists and students to professionals in corporate environments.</p>\n        <blockquote><p>“The plethora of tools provided by  Fedora allows me to get the job done.  It just works.”</p>\n              <p align=right> \u2015 <em>Christine Flood, JVM performance engineer</em> [...]
+  'logo': 'qrc:/logo_workstation',
+  'name': 'Fedora Workstation',
+  'releaseDate': '2015-11-03',
+  'screenshots': [],
+  'source': 'Fedora Workstation',
+  'summary': "This is the Linux workstation you've been waiting for.",
+  'variants': {'i686': {'sha256': '',
+                        'size': 1395864371,
+                        'url': 'https://download.fedoraproject.org/pub/fedora/linux/releases/23/Workstation/i386/iso/Fedora-Live-Workstation-i686-23-10.iso'},
+               'x86_64': {'sha256': '',
+                          'size': 1503238553,
+                          'url': 'https://download.fedoraproject.org/pub/fedora/linux/releases/23/Workstation/x86_64/iso/Fedora-Live-Workstation-x86_64-23-10.iso'}},
+  'version': '23'},
+ {'description': u"<blockquote><p>“The simplicity introduced with rolekit and cockpit have made server deployments a breeze. What took me a few days on other operating systems took less than an hour with Fedora 23 Server. It just works.”</p>\n            <p align=right> \u2015 <em>Dan Mossor, Systems Engineer</em></p></blockquote><p>Fedora Server is a short-lifecycle, community-supported server operating system that enables seasoned system administrators experienced with any  [...]
+  'logo': 'qrc:/logo_server',
+  'name': 'Fedora Server',
+  'releaseDate': '2015-11-03',
+  'screenshots': [],
+  'source': 'Fedora Server',
+  'summary': 'The latest technology. A stable foundation. Together, for your applications and services.',
+  'variants': {'i386': {'sha256': '',
+                        'size': 2254857830,
+                        'url': 'https://download.fedoraproject.org/pub/fedora/linux/releases/23/Server/i386/iso/Fedora-Server-DVD-i386-23.iso'},
+               'x86_64': {'sha256': '',
+                          'size': 2147483648,
+                          'url': 'https://download.fedoraproject.org/pub/fedora/linux/releases/23/Server/x86_64/iso/Fedora-Server-DVD-x86_64-23.iso'}},
+  'version': '23'},
+ {'description': u'<p>Here you can choose a OS image from your hard drive to be written to your flash disk</p><p>Currently it is only supported to write raw disk images (.iso or .bin)</p>',
+  'logo': 'qrc:/icon_folder',
+  'name': u'Custom OS...',
+  'releaseDate': '',
+  'screenshots': [],
+  'source': 'Local',
+  'summary': u'Pick a file from your drive(s)',
+  'variants': {'': {'sha256': '', 'size': 0, 'url': ''}},
+  'version': ''},
+ {'description': '',
+  'logo': '',
+  'name': 'Fedora Spins',
+  'releaseDate': '',
+  'screenshots': [],
+  'source': '',
+  'summary': 'Alternative desktops for Fedora',
+  'variants': {},
+  'version': ''},
+ {'description': u'<p>The Fedora KDE Plasma Desktop Edition is a powerful Fedora-based operating system utilizing the KDE Plasma Desktop as the main user interface.</p><p>Fedora KDE Plasma Desktop comes with many pre-selected top quality applications that suit all modern desktop use cases - from online communication like web browsing, instant messaging and electronic mail correspondence, through multimedia and entertainment, to an advanced productivity suite, including office application [...]
+  'logo': 'qrc:/logo_plasma',
+  'name': 'Fedora KDE Plasma Desktop',
+  'releaseDate': '2015-11-03',
+  'screenshots': ['http://spins.stg.fedoraproject.org/en/kde/../static/images/screenshots/screenshot-kde.jpg'],
+  'source': 'Spins',
+  'summary': 'A complete, modern desktop built using the KDE Plasma Desktop.',
+  'variants': {'i686': {'sha256': '',
+                        'size': 1288490188,
+                        'url': 'https://download.fedoraproject.org/pub/fedora/linux/releases/23/Live/i386/Fedora-Live-KDE-i686-23-10.iso'},
+               'x86_64': {'sha256': '',
+                          'size': 1288490188,
+                          'url': 'https://download.fedoraproject.org/pub/fedora/linux/releases/23/Live/x86_64/Fedora-Live-KDE-x86_64-23-10.iso'}},
+  'version': '23'},
+ {'description': u'<p>The Fedora Xfce spin showcases the Xfce desktop, which aims to be fast and lightweight, while still being visually appealing and user friendly.</p><p>Fedora Xfce is a full-fledged desktop using the freedesktop.org standards.</p>',
+  'logo': 'qrc:/logo_xfce',
+  'name': 'Fedora Xfce Desktop',
+  'releaseDate': '2015-11-03',
+  'screenshots': ['http://spins.stg.fedoraproject.org/en/xfce/../static/images/screenshots/screenshot-xfce.jpg'],
+  'source': 'Spins',
+  'summary': 'A complete, well-integrated Xfce Desktop.',
+  'variants': {'i686': {'sha256': '',
+                        'size': 934281216,
+                        'url': 'https://download.fedoraproject.org/pub/fedora/linux/releases/23/Live/i386/Fedora-Live-Xfce-i686-23-10.iso'},
+               'x86_64': {'sha256': '',
+                          'size': 960495616,
+                          'url': 'https://download.fedoraproject.org/pub/fedora/linux/releases/23/Live/x86_64/Fedora-Live-Xfce-x86_64-23-10.iso'}},
+  'version': '23'},
+ {'description': u'<p>LXDE, the "Lightweight X11 Desktop Environment", is an extremely fast, performant, and energy-saving desktop environment. It maintained by an international community of developers and comes with a beautiful interface, multi-language support, standard keyboard shortcuts and additional features like tabbed file browsing.</p><p>LXDE is not designed to be powerful and bloated, but to be usable and slim. A main goal of LXDE is to keep computer resource usage low. It is e [...]
+  'logo': 'qrc:/logo_lxde',
+  'name': 'Fedora LXDE Desktop',
+  'releaseDate': '2015-11-03',
+  'screenshots': ['http://spins.stg.fedoraproject.org/en/lxde/../static/images/screenshots/screenshot-lxde.jpg'],
+  'source': 'Spins',
+  'summary': 'A light, fast, less-resource hungry desktop environment.',
+  'variants': {'i686': {'sha256': '',
+                        'size': 1010827264,
+                        'url': 'https://download.fedoraproject.org/pub/fedora/linux/releases/23/Live/i386/Fedora-Live-LXDE-i686-23-10.iso'},
+               'x86_64': {'sha256': '',
+                          'size': 877658112,
+                          'url': 'https://download.fedoraproject.org/pub/fedora/linux/releases/23/Live/x86_64/Fedora-Live-LXDE-x86_64-23-10.iso'}},
+  'version': '23'},
+ {'description': u'<p>The MATE Compiz spin bundles MATE Desktop with Compiz Fusion. MATE Desktop is a lightweight, powerful desktop designed with productivity and performance in mind. The default windows manager is Marco which is usable for all machines and VMs. Compiz Fusion is a beautiful 3D windowing manager with Emerald and GTK+ theming.</p><p>If you want a powerful, lightweight Fedora desktop with 3D eyecandy you should definitely try the MATE-Compiz spin.</p>',
+  'logo': 'qrc:/logo_mate',
+  'name': 'Fedora MATE-Compiz Desktop',
+  'releaseDate': '2015-11-03',
+  'screenshots': ['http://spins.stg.fedoraproject.org/en/mate-compiz/../static/images/screenshots/screenshot-matecompiz.jpg'],
+  'source': 'Spins',
+  'summary': 'A classic Fedora Desktop with an additional 3D Windows Manager.',
+  'variants': {'i686': {'sha256': '',
+                        'size': 1288490188,
+                        'url': 'https://download.fedoraproject.org/pub/fedora/linux/releases/23/Live/i386/Fedora-Live-MATE_Compiz-i686-23-10.iso'},
+               'x86_64': {'sha256': '',
+                          'size': 1395864371,
+                          'url': 'https://download.fedoraproject.org/pub/fedora/linux/releases/23/Live/x86_64/Fedora-Live-MATE_Compiz-x86_64-23-10.iso'}},
+  'version': '23'},
+ {'description': u'<p>Cinnamon is a Linux desktop which provides advanced innovative features and a traditional user experience. The desktop layout is similar to Gnome 2. The underlying technology is forked from Gnome Shell. The emphasis is put on making users feel at home and providing them with an easy to use and comfortable desktop experience.</p><p>Cinnamon is a popular desktop alternative to Gnome 3 and this spin provides the option to quickly try and install this desktop.</p>',
+  'logo': 'qrc:/logo_cinnamon',
+  'name': 'Fedora Cinnamon Desktop',
+  'releaseDate': '2015-11-03',
+  'screenshots': ['http://spins.stg.fedoraproject.org/en/cinnamon/../static/images/screenshots/screenshot-cinnamon.jpg'],
+  'source': 'Spins',
+  'summary': 'A modern desktop featuring traditional Gnome user experience.',
+  'variants': {'i686': {'sha256': '',
+                        'size': 1288490188,
+                        'url': 'https://download.fedoraproject.org/pub/fedora/linux/releases/23/Live/i386/Fedora-Live-Cinnamon-i686-23-10.iso'},
+               'x86_64': {'sha256': '',
+                          'size': 1288490188,
+                          'url': 'https://download.fedoraproject.org/pub/fedora/linux/releases/23/Live/x86_64/Fedora-Live-Cinnamon-x86_64-23-10.iso'}},
+  'version': '23'},
+ {'description': u'<p>Sugar on a Stick is a Fedora-based operating system featuring the award-winning Sugar Learning Platform and designed to fit on an ordinary USB thumbdrive ("stick").</p><p>Sugar sets aside the traditional \u201coffice-desktop\u201d metaphor, presenting a child-friendly graphical environment. Sugar automatically saves your progress to a "Journal" on your stick, so teachers and parents can easily pull up "all collaborative web browsing sessions done in the past week" o [...]
+  'logo': 'qrc:/logo_soas',
+  'name': 'Fedora SoaS Desktop',
+  'releaseDate': '2015-11-03',
+  'screenshots': ['http://spins.stg.fedoraproject.org/en/soas/../static/images/screenshots/screenshot-soas.jpg'],
+  'source': 'Spins',
+  'summary': 'Discover. Reflect. Share. Learn.',
+  'variants': {'i686': {'sha256': '',
+                        'size': 708837376,
+                        'url': 'https://download.fedoraproject.org/pub/fedora/linux/releases/23/Live/i386/Fedora-Live-SoaS-i686-23-10.iso'},
+               'x86_64': {'sha256': '',
+                          'size': 732954624,
+                          'url': 'https://download.fedoraproject.org/pub/fedora/linux/releases/23/Live/x86_64/Fedora-Live-SoaS-x86_64-23-10.iso'}},
+  'version': '23'},
+ {'description': '',
+  'logo': '',
+  'name': 'Fedora Labs',
+  'releaseDate': '',
+  'screenshots': [],
+  'source': '',
+  'summary': 'Functional bundles for Fedora',
+  'variants': {},
+  'version': ''},
+ {'description': u'<p>Looking for a ready-to-go desktop environment brimming with free and open source multimedia production and publishing tools? Try the Design Suite, a Fedora Spin created by designers, for designers.</p><p>The Design Suite includes the favorite tools of the Fedora Design Team. These are the same programs we use to create all the artwork that you see within the Fedora Project, from desktop backgrounds to CD sleeves, web page designs, application interfaces, flyers, pos [...]
+  'logo': 'qrc:/logo_design',
+  'name': 'Fedora Design Suite',
+  'releaseDate': '2015-11-03',
+  'screenshots': [],
+  'source': 'Labs',
+  'summary': 'Visual design, multimedia production, and publishing suite of free and open source creative tools.',
+  'variants': {'i686': {'sha256': '8cdc37d92a0c2322ad3789b2c9f7960311e85d0f3628b82fd530d54cf7c45110',
+                        'size': 2040109465,
+                        'url': 'https://download.fedoraproject.org/pub/alt/releases/23/Spins/i386/Fedora-Live-Design_suite-i686-23-10.iso'},
+               'x86_64': {'sha256': 'beb5b9129a19d494064269d2b4be398f6724ff0128adc245d4e5414b4ea1196c',
+                          'size': 1932735283,
+                          'url': 'https://download.fedoraproject.org/pub/alt/releases/23/Spins/x86_64/Fedora-Live-Design_suite-x86_64-23-10.iso'}},
+  'version': '23'},
+ {'description': u"<p>The Fedora Games spin offers a perfect showcase of the best games available in Fedora. The included games span several genres, from first-person shooters to real-time and turn-based strategy games to puzzle games.</p><p>Not all the games available in Fedora are included on this spin, but trying out this spin will give you a fair impression of Fedora's ability to run great games.</p>",
+  'logo': 'qrc:/logo_games',
+  'name': 'Fedora Games',
+  'releaseDate': '2015-11-03',
+  'screenshots': [],
+  'source': 'Labs',
+  'summary': 'A collection and perfect show-case of the best games available in Fedora.',
+  'variants': {'i686': {'sha256': 'fa9d4003094e85e2f667a7a065dbd1f59903ad61a3a3154aabc0db2ebe68093a',
+                        'size': 3972844748,
+                        'url': 'https://download.fedoraproject.org/pub/alt/releases/23/Spins/i386/Fedora-Live-Games-i686-23-10.iso'},
+               'x86_64': {'sha256': '5b4a9264f176fb79e3e6de280ade23af80cda65112e8dc9cfc8c44fcd60b0eb4',
+                          'size': 4187593113,
+                          'url': 'https://download.fedoraproject.org/pub/alt/releases/23/Spins/x86_64/Fedora-Live-Games-x86_64-23-10.iso'}},
+  'version': '23'},
+ {'description': u'<p>The Fedora Robotics spin provides a wide variety of free and open robotics software packages. These range from hardware accessory libraries for the Hokuyo laser scanners or Katana robotic arm to software frameworks like Fawkes or Player and simulation environments such as Stage and RoboCup Soccer Simulation Server 2D/3D. It also provides a ready to use development environment for robotics including useful libraries such as OpenCV computer vision library, Festival te [...]
+  'logo': 'qrc:/logo_robotics',
+  'name': 'Fedora Robotics Suite',
+  'releaseDate': '2015-11-03',
+  'screenshots': [],
+  'source': 'Labs',
+  'summary': 'A wide variety of free and open robotics software packages for beginners and experts in robotics.',
+  'variants': {'i686': {'sha256': 'c76a71ef18bedf07e6c41e6a26a740562121c32e32acd5200c255f3c47ada0a8',
+                        'size': 2684354560,
+                        'url': 'https://download.fedoraproject.org/pub/alt/releases/23/Spins/i386/Fedora-Live-Robotics-i686-23-10.iso'},
+               'x86_64': {'sha256': '71008e7035cc4ac79da7166786450ac2d73df5dab2240070af8e52e81aab11ea',
+                          'size': 2684354560,
+                          'url': 'https://download.fedoraproject.org/pub/alt/releases/23/Spins/x86_64/Fedora-Live-Robotics-x86_64-23-10.iso'}},
+  'version': '23'},
+ {'description': u'<p>Wary of reinstalling all the essential tools for your scientific and numerical work? The answer is here. Fedora Scientific Spin brings together the most useful open source scientific and numerical tools atop the goodness of the KDE desktop environment.</p><p>Fedora Scientific currently ships with numerous applications and libraries. These range from libraries such as the GNU Scientific library, the SciPy libraries, tools like Octave and xfig to typesetting tools lik [...]
+  'logo': 'qrc:/logo_scientific',
+  'name': 'Fedora Scientific',
+  'releaseDate': '2015-11-03',
+  'screenshots': [],
+  'source': 'Labs',
+  'summary': 'A bundle of open source scientific and numerical tools used in research.',
+  'variants': {'i686': {'sha256': '72669c5fa57ab298d73cf545c88050977cdbaf8f2ee573e6146651cb4a156b53',
+                        'size': 2791728742,
+                        'url': 'https://download.fedoraproject.org/pub/alt/releases/23/Spins/i386/Fedora-Live-Scientific_KDE-i686-23-10.iso'},
+               'x86_64': {'sha256': '255b73a16feb8b44cdf546338ce48a3085be858dfeccfca1df03b87ff7d57934',
+                          'size': 2899102924,
+                          'url': 'https://download.fedoraproject.org/pub/alt/releases/23/Spins/x86_64/Fedora-Live-Scientific_KDE-x86_64-23-10.iso'}},
+  'version': '23'},
+ {'description': u'<p>The Fedora Security Lab provides a safe test environment to work on security auditing, forensics, system rescue and teaching security testing methodologies in universities and other organizations.</p><p>The spin is maintained by a community of security testers and developers. It comes with the clean and fast Xfce Desktop Environment and a customized menu that provides all the instruments needed to follow a proper test path for security testing or to rescue a broken  [...]
+  'logo': 'qrc:/logo_security',
+  'name': 'Fedora Security Lab',
+  'releaseDate': '2015-11-03',
+  'screenshots': [],
+  'source': 'Labs',
+  'summary': 'A safe test environment to work on security auditing, forensics, system rescue and teaching security testing methodologies.',
+  'variants': {'i686': {'sha256': '2a41ea039b6bfac18f6e45ca0d474f566fd4f70365ba6377dfaaf488564ffe98',
+                        'size': 960495616,
+                        'url': 'https://download.fedoraproject.org/pub/alt/releases/23/Spins/i386/Fedora-Live-Security-i686-23-10.iso'},
+               'x86_64': {'sha256': 'fe712e118b72ac5727196a371dd4bf3472f84cc1b22a6c05d90af7a4cf3abd12',
+                          'size': 985661440,
+                          'url': 'https://download.fedoraproject.org/pub/alt/releases/23/Spins/x86_64/Fedora-Live-Security-x86_64-23-10.iso'}},
+  'version': '23'}]
+
 
 releases = fedora_releases
 
 if __name__ == '__main__':
     import pprint
-    pprint.pprint(get_fedora_releases())
+    pprint.pprint(get_fedora_flavors())

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-privacy/packages/tails-installer.git



More information about the Pkg-privacy-commits mailing list