Ubuntu Pastebin

Paste from a at Fri, 12 Aug 2016 14:00:45 +0000

Download as text
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
diff --git a/aptsources/distro.py b/aptsources/distro.py
index 9aaf3e2..92d3270 100644
--- a/aptsources/distro.py
+++ b/aptsources/distro.py
@@ -557,6 +557,8 @@ class _OSRelease:
             return values[0]
         return values
 
+def _get_result(this, that, key):
+    return this.get(key) if this.get(key) else that.get(key)
 
 def get_distro(id=None, codename=None, description=None, release=None):
     """
@@ -568,18 +570,17 @@ def get_distro(id=None, codename=None, description=None, release=None):
     """
     # make testing easier
     if not (id and codename and description and release):
-        result = {}
         os_release = _OSRelease()
+        os_result = []
+        lsb_result = _lsb_release()
         if os_release.valid:
-            result = os_release.result
-        else:
-            result = _lsb_release()
-        id = result['Distributor ID']
-        codename = result['Codename']
-        description = result['Description']
-        release = result['Release']
-        # Not available with LSB, use get()
-        is_like = result.get('ID_LIKE', [])
+            os_result = os_release.result
+        id = _get_result(os_result, lsb_result, 'Distributor ID')
+        codename = _get_result(os_result, lsb_result, 'Codename')
+        description = _get_result(os_result, lsb_result, 'Description')
+        release = _get_result(os_result, lsb_result, 'Release')
+        # Not available with LSB, use get directly.
+        is_like = os_result.get('ID_LIKE', [])
         if id == "Ubuntu":
             channel = _system_image_channel()
             if channel is not None and "ubuntu-rtm/" in channel:
Download as text