summaryrefslogtreecommitdiff
path: root/morphlib/morph2.py
diff options
context:
space:
mode:
authorRichard Maw <richard.maw@codethink.co.uk>2012-07-31 12:52:12 +0000
committerRichard Maw <richard.maw@codethink.co.uk>2012-08-01 13:12:03 +0000
commit0032ccbd60f202ec76d9b738cddc8bdbf9f54133 (patch)
treecd398ab063be0bdab20b91cbd2420ad4981de813 /morphlib/morph2.py
parent93a3d28ee51cc301cd79ff8bfabb2010defda09b (diff)
downloadmorph-0032ccbd60f202ec76d9b738cddc8bdbf9f54133.tar.gz
python scripts: pep8ize codebase
This was done with the aid of the pep8 script, available by running `easy_install pep8`. It may be worth making this part of ./check, but that will require putting pep8 into the development tools stratum. This should be easy, given pep8 has no external dependencies.
Diffstat (limited to 'morphlib/morph2.py')
-rw-r--r--morphlib/morph2.py35
1 files changed, 17 insertions, 18 deletions
diff --git a/morphlib/morph2.py b/morphlib/morph2.py
index b1c027b9..ad9e1d89 100644
--- a/morphlib/morph2.py
+++ b/morphlib/morph2.py
@@ -1,14 +1,14 @@
# Copyright (C) 2012 Codethink Limited
-#
+#
# 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
# the Free Software Foundation; version 2 of the License.
-#
+#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
+#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
@@ -20,12 +20,12 @@ import json
class Morphology(object):
'''An in-memory representation of a morphology.
-
+
This is a parsed version of the morphology, with rules for default
values applied. No other processing.
-
+
'''
-
+
static_defaults = [
('configure-commands', None),
('build-commands', None),
@@ -41,20 +41,20 @@ class Morphology(object):
('arch', None),
('system-kind', None),
]
-
+
def __init__(self, text):
self._dict = json.loads(text)
self._set_defaults()
-
+
def __getitem__(self, key):
return self._dict[key]
-
+
def __contains__(self, key):
return key in self._dict
def keys(self):
return self._dict.keys()
-
+
def _set_defaults(self):
if 'max-jobs' in self:
self._dict['max-jobs'] = int(self['max-jobs'])
@@ -63,22 +63,22 @@ class Morphology(object):
size = self['disk-size']
size = size.lower()
if size.endswith('g'):
- size = int(size[:-1]) * 1024**3
- elif size.endswith('m'): # pragma: no cover
- size = int(size[:-1]) * 1024**2
- elif size.endswith('k'): # pragma: no cover
+ size = int(size[:-1]) * 1024 ** 3
+ elif size.endswith('m'): # pragma: no cover
+ size = int(size[:-1]) * 1024 ** 2
+ elif size.endswith('k'): # pragma: no cover
size = int(size[:-1]) * 1024
- else: # pragma: no cover
+ else: # pragma: no cover
size = int(size)
self._dict['disk-size'] = size
-
+
for name, value in self.static_defaults:
if name not in self._dict:
self._dict[name] = value
if self['kind'] == 'stratum':
self._set_stratum_defaults()
-
+
def _set_stratum_defaults(self):
for source in self['sources']:
if 'repo' not in source:
@@ -87,4 +87,3 @@ class Morphology(object):
source['morph'] = source['name']
if 'build-depends' not in source:
source['build-depends'] = None
-