[Python-checkins] distutils2: Code cleanup
tarek.ziade
python-checkins at python.org
Sun Aug 8 11:50:45 CEST 2010
tarek.ziade pushed 93a29f88b85f to distutils2:
http://hg.python.org/distutils2/rev/93a29f88b85f
changeset: 416:93a29f88b85f
user: ?ric Araujo <merwok at netwok.org>
date: Sat Jul 31 16:06:07 2010 +0200
summary: Code cleanup
files: src/distutils2/core.py, src/distutils2/metadata.py, src/distutils2/tests/test_core.py, src/distutils2/tests/test_register.py
diff --git a/src/distutils2/core.py b/src/distutils2/core.py
--- a/src/distutils2/core.py
+++ b/src/distutils2/core.py
@@ -205,8 +205,6 @@
# Hmm, should we do something if exiting with a non-zero code
# (ie. error)?
pass
- except:
- raise
if _setup_distribution is None:
raise RuntimeError, \
diff --git a/src/distutils2/metadata.py b/src/distutils2/metadata.py
--- a/src/distutils2/metadata.py
+++ b/src/distutils2/metadata.py
@@ -77,12 +77,11 @@
'Obsoletes-Dist', 'Requires-External', 'Maintainer',
'Maintainer-email', 'Project-URL')
-_ALL_FIELDS = []
+_ALL_FIELDS = set()
+_ALL_FIELDS.update(_241_FIELDS)
+_ALL_FIELDS.update(_314_FIELDS)
+_ALL_FIELDS.update(_345_FIELDS)
-for field in _241_FIELDS + _314_FIELDS + _345_FIELDS:
- if field in _ALL_FIELDS:
- continue
- _ALL_FIELDS.append(field)
def _version2fieldlist(version):
if version == '1.0':
@@ -223,12 +222,10 @@
if name in _ALL_FIELDS:
return name
name = name.replace('-', '_').lower()
- if name in _ATTR2FIELD:
- return _ATTR2FIELD[name]
- return name
+ return _ATTR2FIELD.get(name, name)
def _default_value(self, name):
- if name in _LISTFIELDS + _ELEMENTSFIELD:
+ if name in _LISTFIELDS or name in _ELEMENTSFIELD:
return []
return 'UNKNOWN'
@@ -329,14 +326,14 @@
"""Control then set a metadata field."""
name = self._convert_name(name)
- if (name in _ELEMENTSFIELD + ('Platform',) and
+ if ((name in _ELEMENTSFIELD or name == 'Platform') and
not isinstance(value, (list, tuple))):
if isinstance(value, str):
value = value.split(',')
else:
value = []
elif (name in _LISTFIELDS and
- not isinstance(value, (list, tuple))):
+ not isinstance(value, (list, tuple))):
if isinstance(value, str):
value = [value]
else:
@@ -400,7 +397,7 @@
def check(self):
"""Check if the metadata is compliant."""
# XXX should check the versions (if the file was loaded)
- missing = []
+ missing, warnings = [], []
for attr in ('Name', 'Version', 'Home-page'):
value = self[attr]
if value == 'UNKNOWN':
@@ -408,14 +405,11 @@
if _HAS_DOCUTILS:
warnings = self._check_rst_data(self['Description'])
- else:
- warnings = []
# checking metadata 1.2 (XXX needs to check 1.1, 1.0)
if self['Metadata-Version'] != '1.2':
return missing, warnings
-
def is_valid_predicates(value):
for v in value:
if not is_valid_predicate(v.split(';')[0]):
@@ -423,16 +417,15 @@
return True
for fields, controller in ((_PREDICATE_FIELDS, is_valid_predicates),
- (_VERSIONS_FIELDS, is_valid_versions),
- (_VERSION_FIELDS, is_valid_version)):
+ (_VERSIONS_FIELDS, is_valid_versions),
+ (_VERSION_FIELDS, is_valid_version)):
for field in fields:
value = self[field]
if value == 'UNKNOWN':
continue
if not controller(value):
- warnings.append('Wrong value for "%s": %s' \
- % (field, value))
+ warnings.append('Wrong value for %r: %s' % (field, value))
return missing, warnings
@@ -449,7 +442,6 @@
#
# micro-language for PEP 345 environment markers
#
-_STR_LIMIT = "'\""
# allowed operators
_OPERATORS = {'==': lambda x, y: x == y,
@@ -466,9 +458,8 @@
# restricted set of variables
_VARS = {'sys.platform': sys.platform,
- 'python_version': '%s.%s' % (sys.version_info[0],
- sys.version_info[1]),
- 'python_full_version': sys.version.split()[0],
+ 'python_version': sys.version[:3],
+ 'python_full_version': sys.version.split(' ', 1)[0],
'os.name': os.name,
'platform.version': platform.version(),
'platform.machine': platform.machine()}
@@ -494,7 +485,7 @@
def _is_string(self, value):
if value is None or len(value) < 2:
return False
- for delimiter in _STR_LIMIT:
+ for delimiter in '"\'':
if value[0] == value[-1] == delimiter:
return True
return False
@@ -505,7 +496,7 @@
def _convert(self, value):
if value in _VARS:
return self._get_var(value)
- return value.strip(_STR_LIMIT)
+ return value.strip('"\'')
def _check_name(self, value):
if value not in _VARS:
@@ -542,7 +533,7 @@
return self.right is not None
def __repr__(self):
- return 'OR(%s, %s)' % (repr(self.left), repr(self.right))
+ return 'OR(%r, %r)' % (self.left, self.right)
def __call__(self):
return self.left() or self.right()
@@ -557,7 +548,7 @@
return self.right is not None
def __repr__(self):
- return 'AND(%s, %s)' % (repr(self.left), repr(self.right))
+ return 'AND(%r, %r)' % (self.left, self.right)
def __call__(self):
return self.left() and self.right()
diff --git a/src/distutils2/tests/test_core.py b/src/distutils2/tests/test_core.py
--- a/src/distutils2/tests/test_core.py
+++ b/src/distutils2/tests/test_core.py
@@ -64,13 +64,13 @@
f = self.write_setup(setup_using___file__)
for s in ['init', 'config', 'commandline', 'run']:
distutils2.core.run_setup(f, stop_after=s)
- self.assertRaises(ValueError, distutils2.core.run_setup,
+ self.assertRaises(ValueError, distutils2.core.run_setup,
f, stop_after='bob')
def test_run_setup_args(self):
f = self.write_setup(setup_using___file__)
- d = distutils2.core.run_setup(f, script_args=["--help"],
- stop_after="init")
+ d = distutils2.core.run_setup(f, script_args=["--help"],
+ stop_after="init")
self.assertEqual(['--help'], d.script_args)
def test_run_setup_uses_current_dir(self):
diff --git a/src/distutils2/tests/test_register.py b/src/distutils2/tests/test_register.py
--- a/src/distutils2/tests/test_register.py
+++ b/src/distutils2/tests/test_register.py
@@ -161,7 +161,7 @@
# therefore used afterwards by other commands
self.assertEqual(cmd.distribution.password, 'password')
- def test_registering(self):
+ def test_registration(self):
# this test runs choice 2
cmd = self._get_cmd()
inputs = RawInputs('2', 'tarek', 'tarek at ziade.org')
--
Repository URL: http://hg.python.org/distutils2
More information about the Python-checkins
mailing list