Merge lp:~mvo/software-center/distro-detection-robustness into lp:software-center

Proposed by Michael Vogt
Status: Merged
Merged at revision: 3080
Proposed branch: lp:~mvo/software-center/distro-detection-robustness
Merge into: lp:software-center
Diff against target: 46 lines (+7/-4)
3 files modified
softwarecenter/distro/__init__.py (+5/-2)
softwarecenter/distro/suselinux.py (+1/-1)
softwarecenter/distro/ubuntu.py (+1/-1)
To merge this branch: bzr merge lp:~mvo/software-center/distro-detection-robustness
Reviewer Review Type Date Requested Status
Gary Lasker (community) Approve
Review via email: mp+118717@code.launchpad.net

Description of the change

This branch tweaks the distro detection to make it more robust against changes in the case for the plattform string and also makes the filenames/classnames more pythonic. This was needed to make software-center run on the raspberry pi which can only be used with debian.

To post a comment you must log in.
Revision history for this message
Gary Lasker (gary-lasker) wrote :

This looks fine to me, thanks Michael!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'softwarecenter/distro/__init__.py'
2--- softwarecenter/distro/__init__.py 2012-03-16 18:51:40 +0000
3+++ softwarecenter/distro/__init__.py 2012-08-08 11:32:50 +0000
4@@ -165,10 +165,13 @@
5 distro_info = platform.linux_distribution()
6 distro_id = distro_info[0]
7 LOG.debug("get_distro: '%s'", distro_id)
8+ # normalize name for the import
9+ distro_module_name = distro_id.lower()
10+ distro_class_name = distro_id.capitalize()
11 # start with a import, this gives us only a softwarecenter module
12- module = __import__(distro_id, globals(), locals(), [], -1)
13+ module = __import__(distro_module_name, globals(), locals(), [], -1)
14 # get the right class and instanciate it
15- distro_class = getattr(module, distro_id)
16+ distro_class = getattr(module, distro_class_name)
17 instance = distro_class()
18 return instance
19
20
21=== renamed file 'softwarecenter/distro/Debian.py' => 'softwarecenter/distro/debian.py'
22=== renamed file 'softwarecenter/distro/Fedora.py' => 'softwarecenter/distro/fedora.py'
23=== renamed file 'softwarecenter/distro/SUSELINUX.py' => 'softwarecenter/distro/suselinux.py'
24--- softwarecenter/distro/SUSELINUX.py 2012-03-16 18:51:40 +0000
25+++ softwarecenter/distro/suselinux.py 2012-08-08 11:32:50 +0000
26@@ -21,7 +21,7 @@
27 from softwarecenter.distro import Distro
28
29
30-class SUSELINUX(Distro):
31+class Suselinux(Distro):
32 # see __init__.py description
33 DISTROSERIES = ["11.4",
34 ]
35
36=== renamed file 'softwarecenter/distro/Ubuntu.py' => 'softwarecenter/distro/ubuntu.py'
37--- softwarecenter/distro/Ubuntu.py 2012-04-23 10:28:34 +0000
38+++ softwarecenter/distro/ubuntu.py 2012-08-08 11:32:50 +0000
39@@ -26,7 +26,7 @@
40 get_release_date_from_release_file,
41 get_maintenance_end_date)
42 from gettext import gettext as _
43-from softwarecenter.distro.Debian import Debian
44+from softwarecenter.distro.debian import Debian
45 from softwarecenter.enums import BUY_SOMETHING_HOST
46 from softwarecenter.utils import utf8
47

Subscribers

People subscribed via source and target branches