jenkins-job-builder/jenkins_jobs
Marc Abramowitz 64e217f885 Make JJB python 3 compatible
Convert to use idioms that work for both python 3 and python 2.6+ and
ensure that a suitable version of dependencies is included for python 3
compatibility.

Update python-jenkins to 0.3.4 as the earliest version that supports
python 3 without any known regressions. Add an extra parser check for
missing 'command' due to changes in how argparse works under python 3.

To access the first element of a dict in both python 2 and 3,
'next(iter(dict.items()))' is used as the standard idiom to replace
'dict.items()[0]' as 'items()' returns an iterator in python 3 which
cannot be indexed. Using 'next(iter(..))' allows for both lists and
iterators to be passed in without unnecessary conversion of iterators to
lists which would be true of 'list(dict.items())[0]'.

Original change which was reverted due to breaking use of job-groups is
If4b35e2ceee8239379700e22eb79a3eaa04d6f0f. This replaces the previous
conversion of 'dict.items()[0]' to 'dict.popitem()', which would result
in removing a job-group when first called, thus defeating the benefit of
being able to reference the group mulitple times. This usage has been
replaced with 'next(iter(dict.items()))' as a non-modifying alternative
that still avoids creating unnecessary copies of data while working for
all supported versions of python.

Change-Id: I37e3b67c043dadddb54e16ee584bde3f79e6a770
2014-10-06 15:24:16 +01:00
..
modules Make JJB python 3 compatible 2014-10-06 15:24:16 +01:00
sphinx Add openstack-common support for setup and version 2012-11-10 23:36:16 +00:00
__init__.py Refactor modules and templating. 2012-08-10 16:00:42 +00:00
builder.py Make JJB python 3 compatible 2014-10-06 15:24:16 +01:00
cmd.py Make JJB python 3 compatible 2014-10-06 15:24:16 +01:00
errors.py Adding some exception classes 2012-10-01 17:03:03 +00:00
local_yaml.py Make JJB python 3 compatible 2014-10-06 15:24:16 +01:00
version.py Doc: Use VersionInfo from pbr and remove openstack common modules 2014-04-30 09:59:39 +09:00