summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Nemec <bnemec@redhat.com>2014-07-14 21:36:11 +0000
committerBen Nemec <bnemec@redhat.com>2014-07-14 21:36:11 +0000
commitaf8fafcf34762898e9e19199690a1d636f5fe748 (patch)
tree94ee5b230dd44fa54aa3f834bb36a02f05b35b36
parent7e806ce1fea86bf9d62306943d0838b6feb67240 (diff)
downloadoslo-serialization-af8fafcf34762898e9e19199690a1d636f5fe748.tar.gz
Get unit tests passing
-rw-r--r--$HOME/.pip/pip.log1805
-rw-r--r--openstack-common.conf11
-rw-r--r--oslo/__init__.py2
-rw-r--r--oslo/serialization/jsonutils.py8
-rw-r--r--oslo/serialization/openstack/__init__.py0
-rw-r--r--oslo/serialization/openstack/common/__init__.py17
-rw-r--r--oslo/serialization/openstack/common/gettextutils.py479
-rw-r--r--oslo/serialization/openstack/common/importutils.py73
-rw-r--r--oslo/serialization/openstack/common/strutils.py295
-rw-r--r--oslo/serialization/openstack/common/timeutils.py210
-rw-r--r--requirements.txt6
-rwxr-xr-xsetup.py2
-rw-r--r--test-requirements.txt5
-rw-r--r--tests/__init__.py13
-rw-r--r--tests/base.py54
-rw-r--r--tests/test_jsonutils.py (renamed from tests/unit/test_jsonutils.py)4
-rw-r--r--tests/test_serialization.py28
-rwxr-xr-xtools/run_cross_tests.sh91
-rw-r--r--tox.ini2
19 files changed, 1194 insertions, 1911 deletions
diff --git a/$HOME/.pip/pip.log b/$HOME/.pip/pip.log
deleted file mode 100644
index 354a295..0000000
--- a/$HOME/.pip/pip.log
+++ /dev/null
@@ -1,1805 +0,0 @@
-Downloading/unpacking cookiecutter
-
- Getting page https://pypi.python.org/simple/cookiecutter/
- URLs to search for versions for cookiecutter:
- * https://pypi.python.org/simple/cookiecutter/
- Analyzing links from page https://pypi.python.org/simple/cookiecutter/
- Found link https://pypi.python.org/packages/source/c/cookiecutter/cookiecutter-0.1.tar.gz#md5=1d873c734425ba9c067b8d66df7050a8 (from https://pypi.python.org/simple/cookiecutter/), version: 0.1
- Found link https://pypi.python.org/packages/source/c/cookiecutter/cookiecutter-0.2.1.tar.gz#md5=3b270cbd8fac2e8f0f2933380414b73b (from https://pypi.python.org/simple/cookiecutter/), version: 0.2.1
- Found link https://pypi.python.org/packages/source/c/cookiecutter/cookiecutter-0.2.tar.gz#md5=39591223fd515654c0c33e51f7c10d13 (from https://pypi.python.org/simple/cookiecutter/), version: 0.2
- Found link https://pypi.python.org/packages/source/c/cookiecutter/cookiecutter-0.3.tar.gz#md5=8297b3bfd255ab499323c00191a398d8 (from https://pypi.python.org/simple/cookiecutter/), version: 0.3
- Found link https://pypi.python.org/packages/source/c/cookiecutter/cookiecutter-0.4.tar.gz#md5=eaf85444da2d20e8f2bd8527a541879b (from https://pypi.python.org/simple/cookiecutter/), version: 0.4
- Found link https://pypi.python.org/packages/source/c/cookiecutter/cookiecutter-0.5.tar.gz#md5=fc9a858c5dab5f98502f07732686d30e (from https://pypi.python.org/simple/cookiecutter/), version: 0.5
- Found link https://pypi.python.org/packages/source/c/cookiecutter/cookiecutter-0.6.0.tar.gz#md5=ee87bf3c21b8be1d0b5bb3ea2cae40f2 (from https://pypi.python.org/simple/cookiecutter/), version: 0.6.0
- Found link https://pypi.python.org/packages/source/c/cookiecutter/cookiecutter-0.6.1.tar.gz#md5=7fe8fe92a828c9cef5da6f1ca4ac2f6e (from https://pypi.python.org/simple/cookiecutter/), version: 0.6.1
- Found link https://pypi.python.org/packages/source/c/cookiecutter/cookiecutter-0.6.2.tar.gz#md5=11543cd3a4194a3feeaa0b5c93e2168d (from https://pypi.python.org/simple/cookiecutter/), version: 0.6.2
- Found link https://pypi.python.org/packages/source/c/cookiecutter/cookiecutter-0.6.3.tar.gz#md5=f91bfb1d7e517dedd78aaea20b4433f5 (from https://pypi.python.org/simple/cookiecutter/), version: 0.6.3
- Found link https://pypi.python.org/packages/source/c/cookiecutter/cookiecutter-0.6.4.tar.gz#md5=c62ea87a3fc698b9f0a6a135c82ad9b0 (from https://pypi.python.org/simple/cookiecutter/), version: 0.6.4
- Found link https://pypi.python.org/packages/source/c/cookiecutter/cookiecutter-0.7.0.tar.gz#md5=5f1d2df78589210ef1765b69908b6319 (from https://pypi.python.org/simple/cookiecutter/), version: 0.7.0
- Found link https://pypi.python.org/packages/source/c/cookiecutter/cookiecutter-0.7.1.tar.gz#md5=4c8092638f8cc87cc9fd535c40898ed7 (from https://pypi.python.org/simple/cookiecutter/), version: 0.7.1
- Using version 0.7.1 (newest of versions: 0.7.1, 0.7.0, 0.6.4, 0.6.3, 0.6.2, 0.6.1, 0.6.0, 0.5, 0.4, 0.3, 0.2.1, 0.2, 0.1)
- Downloading from URL https://pypi.python.org/packages/source/c/cookiecutter/cookiecutter-0.7.1.tar.gz#md5=4c8092638f8cc87cc9fd535c40898ed7 (from https://pypi.python.org/simple/cookiecutter/)
- Storing download in cache at /home/fedora/.cache/pip/https%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fc%2Fcookiecutter%2Fcookiecutter-0.7.1.tar.gz
-
- Running setup.py egg_info for package cookiecutter
-
- running egg_info
- creating pip-egg-info/cookiecutter.egg-info
- writing requirements to pip-egg-info/cookiecutter.egg-info/requires.txt
- writing pip-egg-info/cookiecutter.egg-info/PKG-INFO
- writing top-level names to pip-egg-info/cookiecutter.egg-info/top_level.txt
- writing dependency_links to pip-egg-info/cookiecutter.egg-info/dependency_links.txt
- writing entry points to pip-egg-info/cookiecutter.egg-info/entry_points.txt
- writing manifest file 'pip-egg-info/cookiecutter.egg-info/SOURCES.txt'
- warning: manifest_maker: standard file '-c' not found
-
-
- reading manifest file 'pip-egg-info/cookiecutter.egg-info/SOURCES.txt'
- reading manifest template 'MANIFEST.in'
- warning: no previously-included files matching '__pycache__' found under directory '*'
-
- warning: no previously-included files matching '*.py[co]' found under directory '*'
-
- writing manifest file 'pip-egg-info/cookiecutter.egg-info/SOURCES.txt'
- Source in /tmp/oslo-graduate.98CC/venv/build/cookiecutter has version 0.7.1, which satisfies requirement cookiecutter
-Downloading/unpacking binaryornot>=0.2.0 (from cookiecutter)
-
- Getting page https://pypi.python.org/simple/binaryornot/
- URLs to search for versions for binaryornot>=0.2.0 (from cookiecutter):
- * https://pypi.python.org/simple/binaryornot/
- Analyzing links from page https://pypi.python.org/simple/binaryornot/
- Found link https://pypi.python.org/packages/source/b/binaryornot/binaryornot-0.1.0.tar.gz#md5=be155515056208684631d67c5b43b068 (from https://pypi.python.org/simple/binaryornot/), version: 0.1.0
- Found link https://pypi.python.org/packages/source/b/binaryornot/binaryornot-0.1.1.tar.gz#md5=1b13516f261af573c76f98503cdeb8a2 (from https://pypi.python.org/simple/binaryornot/), version: 0.1.1
- Found link https://pypi.python.org/packages/source/b/binaryornot/binaryornot-0.2.0.tar.gz#md5=ecbb411e281f3d922112c5d91f575e06 (from https://pypi.python.org/simple/binaryornot/), version: 0.2.0
- Found link https://pypi.python.org/packages/source/b/binaryornot/binaryornot-0.3.0.tar.gz#md5=8f5bdbeb5ca31075582b42fdf4ce28f5 (from https://pypi.python.org/simple/binaryornot/), version: 0.3.0
- Ignoring link https://pypi.python.org/packages/source/b/binaryornot/binaryornot-0.1.0.tar.gz#md5=be155515056208684631d67c5b43b068 (from https://pypi.python.org/simple/binaryornot/), version 0.1.0 doesn't match >=0.2.0
- Ignoring link https://pypi.python.org/packages/source/b/binaryornot/binaryornot-0.1.1.tar.gz#md5=1b13516f261af573c76f98503cdeb8a2 (from https://pypi.python.org/simple/binaryornot/), version 0.1.1 doesn't match >=0.2.0
- Using version 0.3.0 (newest of versions: 0.3.0, 0.2.0)
- Downloading from URL https://pypi.python.org/packages/source/b/binaryornot/binaryornot-0.3.0.tar.gz#md5=8f5bdbeb5ca31075582b42fdf4ce28f5 (from https://pypi.python.org/simple/binaryornot/)
- Storing download in cache at /home/fedora/.cache/pip/https%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fb%2Fbinaryornot%2Fbinaryornot-0.3.0.tar.gz
-
- Running setup.py egg_info for package binaryornot
-
- running egg_info
- creating pip-egg-info/binaryornot.egg-info
- writing pip-egg-info/binaryornot.egg-info/PKG-INFO
- writing top-level names to pip-egg-info/binaryornot.egg-info/top_level.txt
- writing dependency_links to pip-egg-info/binaryornot.egg-info/dependency_links.txt
- writing manifest file 'pip-egg-info/binaryornot.egg-info/SOURCES.txt'
- warning: manifest_maker: standard file '-c' not found
-
-
- reading manifest file 'pip-egg-info/binaryornot.egg-info/SOURCES.txt'
- reading manifest template 'MANIFEST.in'
- warning: no previously-included files matching '__pycache__' found under directory '*'
-
- warning: no previously-included files matching '*.py[co]' found under directory '*'
-
- writing manifest file 'pip-egg-info/binaryornot.egg-info/SOURCES.txt'
- Source in /tmp/oslo-graduate.98CC/venv/build/binaryornot has version 0.3.0, which satisfies requirement binaryornot>=0.2.0 (from cookiecutter)
-Downloading/unpacking jinja2>=2.4 (from cookiecutter)
-
- Getting page https://pypi.python.org/simple/jinja2/
- URLs to search for versions for jinja2>=2.4 (from cookiecutter):
- * https://pypi.python.org/simple/jinja2/
- Analyzing links from page https://pypi.python.org/simple/Jinja2/
- Skipping link https://pypi.python.org/packages/2.4/J/Jinja2/Jinja2-2.0rc1-py2.4-linux-i686.egg#md5=e4286023eed2f6d8cc5f5075106db1f4 (from https://pypi.python.org/simple/Jinja2/); unknown archive format: .egg
- Skipping link https://pypi.python.org/packages/2.4/J/Jinja2/Jinja2-2.0rc1-py2.4-linux-x86_64.egg#md5=3f0499f5f0caa7943d4ba3cb20740f5e (from https://pypi.python.org/simple/Jinja2/); unknown archive format: .egg
- Skipping link https://pypi.python.org/packages/2.4/J/Jinja2/Jinja2-2.0rc1-py2.4-macosx-10.3-i386.egg#md5=3b5901001e84aa62c8bc4c6f0a638b18 (from https://pypi.python.org/simple/Jinja2/); unknown archive format: .egg
- Skipping link https://pypi.python.org/packages/2.4/J/Jinja2/Jinja2-2.0rc1-py2.4-win32.egg#md5=6f17c620d4bc9272f3061b70ab7af11b (from https://pypi.python.org/simple/Jinja2/); unknown archive format: .egg
- Skipping link https://pypi.python.org/packages/2.4/J/Jinja2/Jinja2-2.1-py2.4-win32.egg#md5=d8eb08f4ef61b05a00039a48f620deeb (from https://pypi.python.org/simple/Jinja2/); unknown archive format: .egg
- Skipping link https://pypi.python.org/packages/2.4/J/Jinja2/Jinja2-2.1.1-py2.4-win32.egg#md5=ce0a82883624cd31c8b513b7bc961148 (from https://pypi.python.org/simple/Jinja2/); unknown archive format: .egg
- Skipping link https://pypi.python.org/packages/2.5/J/Jinja2/Jinja2-2.0rc1-py2.5-linux-i686.egg#md5=3a2be0c13c6036d59e81f9b3db82bdfa (from https://pypi.python.org/simple/Jinja2/); unknown archive format: .egg
- Skipping link https://pypi.python.org/packages/2.5/J/Jinja2/Jinja2-2.0rc1-py2.5-linux-x86_64.egg#md5=3ccf95d2d6245b5407cdda0577b24f64 (from https://pypi.python.org/simple/Jinja2/); unknown archive format: .egg
- Skipping link https://pypi.python.org/packages/2.5/J/Jinja2/Jinja2-2.0rc1-py2.5-macosx-10.3-i386.egg#md5=bc82f2a2e9b55ca1472bc7b89fedca06 (from https://pypi.python.org/simple/Jinja2/); unknown archive format: .egg
- Skipping link https://pypi.python.org/packages/2.5/J/Jinja2/Jinja2-2.0rc1-py2.5-win32.egg#md5=40af7fdc93abd3892b6ea2f208a6033b (from https://pypi.python.org/simple/Jinja2/); unknown archive format: .egg
- Skipping link https://pypi.python.org/packages/2.5/J/Jinja2/Jinja2-2.1-py2.5-win32.egg#md5=135dad62ce5de34a54d568a2b3cd05f0 (from https://pypi.python.org/simple/Jinja2/); unknown archive format: .egg
- Skipping link https://pypi.python.org/packages/2.5/J/Jinja2/Jinja2-2.1.1-py2.5-win32.egg#md5=a6cd9757966640a7bb7e887c24dd9ff3 (from https://pypi.python.org/simple/Jinja2/); unknown archive format: .egg
- Skipping link https://pypi.python.org/packages/2.6/J/Jinja2/Jinja2-2.1-py2.6-win32.egg#md5=8319235be842d5a61c552be8d206f65a (from https://pypi.python.org/simple/Jinja2/); unknown archive format: .egg
- Skipping link https://pypi.python.org/packages/2.6/J/Jinja2/Jinja2-2.1.1-py2.6-win32.egg#md5=8540a2bf5bfd263842d3a7c6df13977b (from https://pypi.python.org/simple/Jinja2/); unknown archive format: .egg
- Found link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.0.tar.gz#md5=19fe3ee10ee94a6003c53374112f2403 (from https://pypi.python.org/simple/Jinja2/), version: 2.0
- Found link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.0rc1.tar.gz#md5=7751e097f23fec244634e601d86e1d60 (from https://pypi.python.org/simple/Jinja2/), version: 2.0rc1
- Found link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.1.1.tar.gz#md5=b37fc262e4f613eec57c3defe6aea97c (from https://pypi.python.org/simple/Jinja2/), version: 2.1.1
- Found link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.1.tar.gz#md5=c7a31931c95a7ae5e1baf21074fdd576 (from https://pypi.python.org/simple/Jinja2/), version: 2.1
- Found link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.2.1.tar.gz#md5=fea849d68891218eb0b21c170f1c32d5 (from https://pypi.python.org/simple/Jinja2/), version: 2.2.1
- Found link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.2.tar.gz#md5=7ea7821801eee5def026c216d80e5103 (from https://pypi.python.org/simple/Jinja2/), version: 2.2
- Found link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.3.1.tar.gz#md5=391c7dd06c62dfe7e30ebaad7af0a401 (from https://pypi.python.org/simple/Jinja2/), version: 2.3.1
- Found link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.3.tar.gz#md5=7fc34b115f157474d988db8caab6895c (from https://pypi.python.org/simple/Jinja2/), version: 2.3
- Found link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.4.1.tar.gz#md5=e0cf5af057fac63ac9689b86c8b31ce6 (from https://pypi.python.org/simple/Jinja2/), version: 2.4.1
- Found link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.4.tar.gz#md5=635746009a6560e20db97e94db28867d (from https://pypi.python.org/simple/Jinja2/), version: 2.4
- Found link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.5.1.tar.gz#md5=12be091a5d2edae961b65adfc99da826 (from https://pypi.python.org/simple/Jinja2/), version: 2.5.1
- Found link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.5.2.tar.gz#md5=3829be2926a067ee024e6d3e5327dbf7 (from https://pypi.python.org/simple/Jinja2/), version: 2.5.2
- Found link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.5.3.tar.gz#md5=cae31ce405ec5e4f167913b25ee4f65a (from https://pypi.python.org/simple/Jinja2/), version: 2.5.3
- Found link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.5.4.tar.gz#md5=4553d5aef15d550bfebbc1903014067e (from https://pypi.python.org/simple/Jinja2/), version: 2.5.4
- Found link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.5.5.tar.gz#md5=83b20c1eeb31f49d8e6392efae91b7d5 (from https://pypi.python.org/simple/Jinja2/), version: 2.5.5
- Found link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.5.tar.gz#md5=d02f82e33afe918cef8a9abcd23ccd78 (from https://pypi.python.org/simple/Jinja2/), version: 2.5
- Found link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.6.tar.gz#md5=1c49a8825c993bfdcf55bb36897d28a2 (from https://pypi.python.org/simple/Jinja2/), version: 2.6
- Found link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.7.1.tar.gz#md5=282aed153e69f970d6e76f78ed9d027a (from https://pypi.python.org/simple/Jinja2/), version: 2.7.1
- Found link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.7.2.tar.gz#md5=df1581455564e97010e38bc792012aa5 (from https://pypi.python.org/simple/Jinja2/), version: 2.7.2
- Found link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.7.3.tar.gz#md5=b9dffd2f3b43d673802fe857c8445b1a (from https://pypi.python.org/simple/Jinja2/), version: 2.7.3
- Found link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.7.tar.gz#md5=c2fb12cbbb523c57d3d15bfe4dc0e8fe (from https://pypi.python.org/simple/Jinja2/), version: 2.7
- Ignoring link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.0.tar.gz#md5=19fe3ee10ee94a6003c53374112f2403 (from https://pypi.python.org/simple/Jinja2/), version 2.0 doesn't match >=2.4
- Ignoring link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.0rc1.tar.gz#md5=7751e097f23fec244634e601d86e1d60 (from https://pypi.python.org/simple/Jinja2/), version 2.0rc1 doesn't match >=2.4
- Ignoring link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.1.1.tar.gz#md5=b37fc262e4f613eec57c3defe6aea97c (from https://pypi.python.org/simple/Jinja2/), version 2.1.1 doesn't match >=2.4
- Ignoring link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.1.tar.gz#md5=c7a31931c95a7ae5e1baf21074fdd576 (from https://pypi.python.org/simple/Jinja2/), version 2.1 doesn't match >=2.4
- Ignoring link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.2.1.tar.gz#md5=fea849d68891218eb0b21c170f1c32d5 (from https://pypi.python.org/simple/Jinja2/), version 2.2.1 doesn't match >=2.4
- Ignoring link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.2.tar.gz#md5=7ea7821801eee5def026c216d80e5103 (from https://pypi.python.org/simple/Jinja2/), version 2.2 doesn't match >=2.4
- Ignoring link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.3.1.tar.gz#md5=391c7dd06c62dfe7e30ebaad7af0a401 (from https://pypi.python.org/simple/Jinja2/), version 2.3.1 doesn't match >=2.4
- Ignoring link https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.3.tar.gz#md5=7fc34b115f157474d988db8caab6895c (from https://pypi.python.org/simple/Jinja2/), version 2.3 doesn't match >=2.4
- Using version 2.7.3 (newest of versions: 2.7.3, 2.7.2, 2.7.1, 2.7, 2.6, 2.5.5, 2.5.4, 2.5.3, 2.5.2, 2.5.1, 2.5, 2.4.1, 2.4)
- Using download cache from /home/fedora/.cache/pip/https%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2FJ%2FJinja2%2FJinja2-2.7.3.tar.gz
-
- Running setup.py egg_info for package jinja2
-
- running egg_info
- creating pip-egg-info/Jinja2.egg-info
- writing requirements to pip-egg-info/Jinja2.egg-info/requires.txt
- writing pip-egg-info/Jinja2.egg-info/PKG-INFO
- writing top-level names to pip-egg-info/Jinja2.egg-info/top_level.txt
- writing dependency_links to pip-egg-info/Jinja2.egg-info/dependency_links.txt
- writing entry points to pip-egg-info/Jinja2.egg-info/entry_points.txt
- writing manifest file 'pip-egg-info/Jinja2.egg-info/SOURCES.txt'
- warning: manifest_maker: standard file '-c' not found
-
-
- reading manifest file 'pip-egg-info/Jinja2.egg-info/SOURCES.txt'
- reading manifest template 'MANIFEST.in'
- warning: no files found matching '*' under directory 'custom_fixers'
-
- warning: no previously-included files matching '*' found under directory 'docs/_build'
-
- warning: no previously-included files matching '*.pyc' found under directory 'jinja2'
-
- warning: no previously-included files matching '*.pyc' found under directory 'docs'
-
- warning: no previously-included files matching '*.pyo' found under directory 'jinja2'
-
- warning: no previously-included files matching '*.pyo' found under directory 'docs'
-
- writing manifest file 'pip-egg-info/Jinja2.egg-info/SOURCES.txt'
- Source in /tmp/oslo-graduate.98CC/venv/build/jinja2 has version 2.7.3, which satisfies requirement jinja2>=2.4 (from cookiecutter)
- skipping extra i18n
-Downloading/unpacking PyYAML>=3.10 (from cookiecutter)
-
- Getting page https://pypi.python.org/simple/PyYAML/
- URLs to search for versions for PyYAML>=3.10 (from cookiecutter):
- * https://pypi.python.org/simple/PyYAML/
- Analyzing links from page https://pypi.python.org/simple/PyYAML/
- Skipping link https://pypi.python.org/packages/2.5/P/PyYAML/PyYAML-3.10.win32-py2.5.exe#md5=dfb573ab41cdfee1b2794b7a155e72e6 (from https://pypi.python.org/simple/PyYAML/); unknown archive format: .exe
- Skipping link https://pypi.python.org/packages/2.6/P/PyYAML/PyYAML-3.10.win32-py2.6.exe#md5=4c1a374cb89fa0ff43f3b94b5692edd9 (from https://pypi.python.org/simple/PyYAML/); unknown archive format: .exe
- Skipping link https://pypi.python.org/packages/2.6/P/PyYAML/PyYAML-3.11.win-amd64-py2.6.exe#md5=af7eade45dcb408473928953f430e7db (from https://pypi.python.org/simple/PyYAML/); unknown archive format: .exe
- Skipping link https://pypi.python.org/packages/2.6/P/PyYAML/PyYAML-3.11.win32-py2.6.exe#md5=83b0f47825feac2da99b75bfbd65a3ab (from https://pypi.python.org/simple/PyYAML/); unknown archive format: .exe
- Skipping link https://pypi.python.org/packages/2.7/P/PyYAML/PyYAML-3.10.win32-py2.7.exe#md5=73309e5fe73d7d84e0af3213b2c957ff (from https://pypi.python.org/simple/PyYAML/); unknown archive format: .exe
- Skipping link https://pypi.python.org/packages/2.7/P/PyYAML/PyYAML-3.11.win-amd64-py2.7.exe#md5=538cd92d63068161d229cb8a65db7f23 (from https://pypi.python.org/simple/PyYAML/); unknown archive format: .exe
- Skipping link https://pypi.python.org/packages/2.7/P/PyYAML/PyYAML-3.11.win32-py2.7.exe#md5=d75320c7a904731d6e27418e346a92e1 (from https://pypi.python.org/simple/PyYAML/); unknown archive format: .exe
- Skipping link https://pypi.python.org/packages/3.0/P/PyYAML/PyYAML-3.10.win32-py3.0.exe#md5=0360710722fdc58e519d6a76324aa1d7 (from https://pypi.python.org/simple/PyYAML/); unknown archive format: .exe
- Skipping link https://pypi.python.org/packages/3.1/P/PyYAML/PyYAML-3.10.win32-py3.1.exe#md5=6c830441d9df703458e2f34c2e6a413a (from https://pypi.python.org/simple/PyYAML/); unknown archive format: .exe
- Skipping link https://pypi.python.org/packages/3.1/P/PyYAML/PyYAML-3.11.win-amd64-py3.1.exe#md5=d52af84d2cd6ce9b7cfddb2c525bd957 (from https://pypi.python.org/simple/PyYAML/); unknown archive format: .exe
- Skipping link https://pypi.python.org/packages/3.1/P/PyYAML/PyYAML-3.11.win32-py3.1.exe#md5=1b3b956bbe638c50eb80273b639be692 (from https://pypi.python.org/simple/PyYAML/); unknown archive format: .exe
- Skipping link https://pypi.python.org/packages/3.2/P/PyYAML/PyYAML-3.10.win32-py3.2.exe#md5=fc582f2f46f6494a97c9cae938a19f59 (from https://pypi.python.org/simple/PyYAML/); unknown archive format: .exe
- Skipping link https://pypi.python.org/packages/3.2/P/PyYAML/PyYAML-3.11.win-amd64-py3.2.exe#md5=328bfd749ee42279b9d8a75397e9444d (from https://pypi.python.org/simple/PyYAML/); unknown archive format: .exe
- Skipping link https://pypi.python.org/packages/3.2/P/PyYAML/PyYAML-3.11.win32-py3.2.exe#md5=b40a15302b494d0bcc79568ff38ab43c (from https://pypi.python.org/simple/PyYAML/); unknown archive format: .exe
- Skipping link https://pypi.python.org/packages/3.3/P/PyYAML/PyYAML-3.11.win-amd64-py3.3.exe#md5=672275294ababb18794b328a24c836b4 (from https://pypi.python.org/simple/PyYAML/); unknown archive format: .exe
- Skipping link https://pypi.python.org/packages/3.3/P/PyYAML/PyYAML-3.11.win32-py3.3.exe#md5=c3990781cc999744cd21df473068f388 (from https://pypi.python.org/simple/PyYAML/); unknown archive format: .exe
- Skipping link https://pypi.python.org/packages/3.4/P/PyYAML/PyYAML-3.11.win-amd64-py3.4.exe#md5=0dfcdae003642dfdfb49d5f16ff63717 (from https://pypi.python.org/simple/PyYAML/); unknown archive format: .exe
- Skipping link https://pypi.python.org/packages/3.4/P/PyYAML/PyYAML-3.11.win32-py3.4.exe#md5=5c14b49d828766c23bb9c83d6a60aaf5 (from https://pypi.python.org/simple/PyYAML/); unknown archive format: .exe
- Found link https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.10.tar.gz#md5=74c94a383886519e9e7b3dd1ee540247 (from https://pypi.python.org/simple/PyYAML/), version: 3.10
- Found link https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.10.zip#md5=b1a2b30cdf481da4249c917c3307f129 (from https://pypi.python.org/simple/PyYAML/), version: 3.10
- Found link https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.11.tar.gz#md5=f50e08ef0fe55178479d3a618efe21db (from https://pypi.python.org/simple/PyYAML/), version: 3.11
- Found link https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.11.zip#md5=89cbc92cda979042533b640b76e6e055 (from https://pypi.python.org/simple/PyYAML/), version: 3.11
- Using version 3.11 (newest of versions: 3.11, 3.11, 3.10, 3.10)
- Using download cache from /home/fedora/.cache/pip/https%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2FP%2FPyYAML%2FPyYAML-3.11.tar.gz
-
- Running setup.py egg_info for package PyYAML
-
- running egg_info
- creating pip-egg-info/PyYAML.egg-info
- writing pip-egg-info/PyYAML.egg-info/PKG-INFO
- writing top-level names to pip-egg-info/PyYAML.egg-info/top_level.txt
- writing dependency_links to pip-egg-info/PyYAML.egg-info/dependency_links.txt
- writing manifest file 'pip-egg-info/PyYAML.egg-info/SOURCES.txt'
- warning: manifest_maker: standard file '-c' not found
-
-
- reading manifest file 'pip-egg-info/PyYAML.egg-info/SOURCES.txt'
- writing manifest file 'pip-egg-info/PyYAML.egg-info/SOURCES.txt'
- Source in /tmp/oslo-graduate.98CC/venv/build/PyYAML has version 3.11, which satisfies requirement PyYAML>=3.10 (from cookiecutter)
-Downloading/unpacking markupsafe (from jinja2>=2.4->cookiecutter)
-
- Getting page https://pypi.python.org/simple/markupsafe/
- URLs to search for versions for markupsafe (from jinja2>=2.4->cookiecutter):
- * https://pypi.python.org/simple/markupsafe/
- Analyzing links from page https://pypi.python.org/simple/MarkupSafe/
- Found link https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.11.tar.gz#md5=48d445941c16d6aa55caf8e148fc0911 (from https://pypi.python.org/simple/MarkupSafe/), version: 0.11
- Found link https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.12.tar.gz#md5=edd4b6950f6d4ddc6e23fa322f8f0f53 (from https://pypi.python.org/simple/MarkupSafe/), version: 0.12
- Found link https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.13.tar.gz#md5=f44b8f4bba98b3e66884158f97585829 (from https://pypi.python.org/simple/MarkupSafe/), version: 0.13
- Found link https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.14.tar.gz#md5=68c6ea6df002649218d24cf490a8ca82 (from https://pypi.python.org/simple/MarkupSafe/), version: 0.14
- Found link https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.15.tar.gz#md5=4e7c4d965fe5e033fa2d7bb7746bb186 (from https://pypi.python.org/simple/MarkupSafe/), version: 0.15
- Found link https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.16.tar.gz#md5=fe88012f7fe75252efd26cd25a100851 (from https://pypi.python.org/simple/MarkupSafe/), version: 0.16
- Found link https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.17.tar.gz#md5=61d5edc130e3242cfaff9fd9fdefde8f (from https://pypi.python.org/simple/MarkupSafe/), version: 0.17
- Found link https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.18.tar.gz#md5=f8d252fd05371e51dec2fe9a36890687 (from https://pypi.python.org/simple/MarkupSafe/), version: 0.18
- Found link https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.19.tar.gz#md5=ccb3f746c807c5500850987006854a6d (from https://pypi.python.org/simple/MarkupSafe/), version: 0.19
- Found link https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.20.tar.gz#md5=7da066d9cb191a70aa85d0a3d43565d1 (from https://pypi.python.org/simple/MarkupSafe/), version: 0.20
- Found link https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.21.tar.gz#md5=fde838d9337fa51744283f46a1db2e74 (from https://pypi.python.org/simple/MarkupSafe/), version: 0.21
- Found link https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.22.tar.gz#md5=cb3ec29fd5361add24cfd0c6e2953b3e (from https://pypi.python.org/simple/MarkupSafe/), version: 0.22
- Found link https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.23.tar.gz#md5=f5ab3deee4c37cd6a922fb81e730da6e (from https://pypi.python.org/simple/MarkupSafe/), version: 0.23
- Found link https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.9.1.tar.gz#md5=7f469f664b565b440f099997255e6d3c (from https://pypi.python.org/simple/MarkupSafe/), version: 0.9.1
- Found link https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.9.2.tar.gz#md5=69b72d1afdd9e808f9c1ef65f819c7a6 (from https://pypi.python.org/simple/MarkupSafe/), version: 0.9.2
- Found link https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.9.3.tar.gz#md5=99dccbeb83302f6b593d382098b3b43a (from https://pypi.python.org/simple/MarkupSafe/), version: 0.9.3
- Found link https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.9.tar.gz#md5=10a7c6bf81f91f280ba9e76e32e01c94 (from https://pypi.python.org/simple/MarkupSafe/), version: 0.9
- Using version 0.23 (newest of versions: 0.23, 0.22, 0.21, 0.20, 0.19, 0.18, 0.17, 0.16, 0.15, 0.14, 0.13, 0.12, 0.11, 0.9.3, 0.9.2, 0.9.1, 0.9)
- Using download cache from /home/fedora/.cache/pip/https%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2FM%2FMarkupSafe%2FMarkupSafe-0.23.tar.gz
-
- Running setup.py egg_info for package markupsafe
-
- running egg_info
- creating pip-egg-info/MarkupSafe.egg-info
- writing pip-egg-info/MarkupSafe.egg-info/PKG-INFO
- writing top-level names to pip-egg-info/MarkupSafe.egg-info/top_level.txt
- writing dependency_links to pip-egg-info/MarkupSafe.egg-info/dependency_links.txt
- writing manifest file 'pip-egg-info/MarkupSafe.egg-info/SOURCES.txt'
- warning: manifest_maker: standard file '-c' not found
-
-
- reading manifest file 'pip-egg-info/MarkupSafe.egg-info/SOURCES.txt'
- reading manifest template 'MANIFEST.in'
- writing manifest file 'pip-egg-info/MarkupSafe.egg-info/SOURCES.txt'
- Source in /tmp/oslo-graduate.98CC/venv/build/markupsafe has version 0.23, which satisfies requirement markupsafe (from jinja2>=2.4->cookiecutter)
-Installing collected packages: cookiecutter, binaryornot, jinja2, PyYAML, markupsafe
-
- Running setup.py install for cookiecutter
-
- Running command /tmp/oslo-graduate.98CC/venv/bin/python -c "import setuptools;__file__='/tmp/oslo-graduate.98CC/venv/build/cookiecutter/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-qagH55-record/install-record.txt --single-version-externally-managed --install-headers /tmp/oslo-graduate.98CC/venv/include/site/python2.7
- running install
- running build
- running build_py
- creating build
- creating build/lib
- creating build/lib/cookiecutter
- copying cookiecutter/config.py -> build/lib/cookiecutter
- copying cookiecutter/__init__.py -> build/lib/cookiecutter
- copying cookiecutter/main.py -> build/lib/cookiecutter
- copying cookiecutter/utils.py -> build/lib/cookiecutter
- copying cookiecutter/generate.py -> build/lib/cookiecutter
- copying cookiecutter/prompt.py -> build/lib/cookiecutter
- copying cookiecutter/exceptions.py -> build/lib/cookiecutter
- copying cookiecutter/vcs.py -> build/lib/cookiecutter
- copying cookiecutter/hooks.py -> build/lib/cookiecutter
- copying cookiecutter/find.py -> build/lib/cookiecutter
- running egg_info
- writing requirements to cookiecutter.egg-info/requires.txt
- writing cookiecutter.egg-info/PKG-INFO
- writing top-level names to cookiecutter.egg-info/top_level.txt
- writing dependency_links to cookiecutter.egg-info/dependency_links.txt
- writing entry points to cookiecutter.egg-info/entry_points.txt
- warning: manifest_maker: standard file '-c' not found
-
-
- reading manifest file 'cookiecutter.egg-info/SOURCES.txt'
- reading manifest template 'MANIFEST.in'
- warning: no previously-included files matching '__pycache__' found under directory '*'
-
- warning: no previously-included files matching '*.py[co]' found under directory '*'
-
- writing manifest file 'cookiecutter.egg-info/SOURCES.txt'
- running install_lib
- creating /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/cookiecutter
- copying build/lib/cookiecutter/config.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/cookiecutter
- copying build/lib/cookiecutter/__init__.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/cookiecutter
- copying build/lib/cookiecutter/main.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/cookiecutter
- copying build/lib/cookiecutter/utils.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/cookiecutter
- copying build/lib/cookiecutter/generate.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/cookiecutter
- copying build/lib/cookiecutter/prompt.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/cookiecutter
- copying build/lib/cookiecutter/exceptions.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/cookiecutter
- copying build/lib/cookiecutter/vcs.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/cookiecutter
- copying build/lib/cookiecutter/hooks.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/cookiecutter
- copying build/lib/cookiecutter/find.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/cookiecutter
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/cookiecutter/config.py to config.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/cookiecutter/__init__.py to __init__.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/cookiecutter/main.py to main.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/cookiecutter/utils.py to utils.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/cookiecutter/generate.py to generate.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/cookiecutter/prompt.py to prompt.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/cookiecutter/exceptions.py to exceptions.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/cookiecutter/vcs.py to vcs.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/cookiecutter/hooks.py to hooks.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/cookiecutter/find.py to find.pyc
- running install_egg_info
- Copying cookiecutter.egg-info to /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/cookiecutter-0.7.1-py2.7.egg-info
- running install_scripts
- Installing cookiecutter script to /tmp/oslo-graduate.98CC/venv/bin
-
- writing list of installed files to '/tmp/pip-qagH55-record/install-record.txt'
- Running setup.py install for binaryornot
-
- Running command /tmp/oslo-graduate.98CC/venv/bin/python -c "import setuptools;__file__='/tmp/oslo-graduate.98CC/venv/build/binaryornot/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-UntluG-record/install-record.txt --single-version-externally-managed --install-headers /tmp/oslo-graduate.98CC/venv/include/site/python2.7
- running install
- running build
- running build_py
- creating build
- creating build/lib
- creating build/lib/binaryornot
- copying binaryornot/helpers.py -> build/lib/binaryornot
- copying binaryornot/__init__.py -> build/lib/binaryornot
- copying binaryornot/check.py -> build/lib/binaryornot
- running egg_info
- writing binaryornot.egg-info/PKG-INFO
- writing top-level names to binaryornot.egg-info/top_level.txt
- writing dependency_links to binaryornot.egg-info/dependency_links.txt
- warning: manifest_maker: standard file '-c' not found
-
-
- reading manifest file 'binaryornot.egg-info/SOURCES.txt'
- reading manifest template 'MANIFEST.in'
- warning: no previously-included files matching '__pycache__' found under directory '*'
-
- warning: no previously-included files matching '*.py[co]' found under directory '*'
-
- writing manifest file 'binaryornot.egg-info/SOURCES.txt'
- running install_lib
- creating /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/binaryornot
- copying build/lib/binaryornot/helpers.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/binaryornot
- copying build/lib/binaryornot/__init__.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/binaryornot
- copying build/lib/binaryornot/check.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/binaryornot
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/binaryornot/helpers.py to helpers.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/binaryornot/__init__.py to __init__.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/binaryornot/check.py to check.pyc
- running install_egg_info
- Copying binaryornot.egg-info to /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/binaryornot-0.3.0-py2.7.egg-info
- running install_scripts
- writing list of installed files to '/tmp/pip-UntluG-record/install-record.txt'
- Running setup.py install for jinja2
-
- Running command /tmp/oslo-graduate.98CC/venv/bin/python -c "import setuptools;__file__='/tmp/oslo-graduate.98CC/venv/build/jinja2/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-48wa7X-record/install-record.txt --single-version-externally-managed --install-headers /tmp/oslo-graduate.98CC/venv/include/site/python2.7
- running install
- running build
- running build_py
- creating build
- creating build/lib
- creating build/lib/jinja2
- copying jinja2/meta.py -> build/lib/jinja2
- copying jinja2/lexer.py -> build/lib/jinja2
- copying jinja2/parser.py -> build/lib/jinja2
- copying jinja2/environment.py -> build/lib/jinja2
- copying jinja2/sandbox.py -> build/lib/jinja2
- copying jinja2/bccache.py -> build/lib/jinja2
- copying jinja2/nodes.py -> build/lib/jinja2
- copying jinja2/filters.py -> build/lib/jinja2
- copying jinja2/__init__.py -> build/lib/jinja2
- copying jinja2/utils.py -> build/lib/jinja2
- copying jinja2/ext.py -> build/lib/jinja2
- copying jinja2/loaders.py -> build/lib/jinja2
- copying jinja2/exceptions.py -> build/lib/jinja2
- copying jinja2/optimizer.py -> build/lib/jinja2
- copying jinja2/runtime.py -> build/lib/jinja2
- copying jinja2/constants.py -> build/lib/jinja2
- copying jinja2/defaults.py -> build/lib/jinja2
- copying jinja2/visitor.py -> build/lib/jinja2
- copying jinja2/tests.py -> build/lib/jinja2
- copying jinja2/_stringdefs.py -> build/lib/jinja2
- copying jinja2/_compat.py -> build/lib/jinja2
- copying jinja2/compiler.py -> build/lib/jinja2
- copying jinja2/debug.py -> build/lib/jinja2
- creating build/lib/jinja2/testsuite
- copying jinja2/testsuite/imports.py -> build/lib/jinja2/testsuite
- copying jinja2/testsuite/core_tags.py -> build/lib/jinja2/testsuite
- copying jinja2/testsuite/filters.py -> build/lib/jinja2/testsuite
- copying jinja2/testsuite/__init__.py -> build/lib/jinja2/testsuite
- copying jinja2/testsuite/api.py -> build/lib/jinja2/testsuite
- copying jinja2/testsuite/utils.py -> build/lib/jinja2/testsuite
- copying jinja2/testsuite/ext.py -> build/lib/jinja2/testsuite
- copying jinja2/testsuite/doctests.py -> build/lib/jinja2/testsuite
- copying jinja2/testsuite/security.py -> build/lib/jinja2/testsuite
- copying jinja2/testsuite/lexnparse.py -> build/lib/jinja2/testsuite
- copying jinja2/testsuite/regression.py -> build/lib/jinja2/testsuite
- copying jinja2/testsuite/bytecode_cache.py -> build/lib/jinja2/testsuite
- copying jinja2/testsuite/inheritance.py -> build/lib/jinja2/testsuite
- copying jinja2/testsuite/tests.py -> build/lib/jinja2/testsuite
- copying jinja2/testsuite/loader.py -> build/lib/jinja2/testsuite
- copying jinja2/testsuite/debug.py -> build/lib/jinja2/testsuite
- creating build/lib/jinja2/testsuite/res
- copying jinja2/testsuite/res/__init__.py -> build/lib/jinja2/testsuite/res
- running egg_info
- writing requirements to Jinja2.egg-info/requires.txt
- writing Jinja2.egg-info/PKG-INFO
- writing top-level names to Jinja2.egg-info/top_level.txt
- writing dependency_links to Jinja2.egg-info/dependency_links.txt
- writing entry points to Jinja2.egg-info/entry_points.txt
- warning: manifest_maker: standard file '-c' not found
-
-
- reading manifest file 'Jinja2.egg-info/SOURCES.txt'
- reading manifest template 'MANIFEST.in'
- warning: no files found matching '*' under directory 'custom_fixers'
-
- warning: no previously-included files matching '*' found under directory 'docs/_build'
-
- warning: no previously-included files matching '*.pyc' found under directory 'jinja2'
-
- warning: no previously-included files matching '*.pyc' found under directory 'docs'
-
- warning: no previously-included files matching '*.pyo' found under directory 'jinja2'
-
- warning: no previously-included files matching '*.pyo' found under directory 'docs'
-
- writing manifest file 'Jinja2.egg-info/SOURCES.txt'
- creating build/lib/jinja2/testsuite/res/templates
- copying jinja2/testsuite/res/templates/broken.html -> build/lib/jinja2/testsuite/res/templates
- copying jinja2/testsuite/res/templates/syntaxerror.html -> build/lib/jinja2/testsuite/res/templates
- copying jinja2/testsuite/res/templates/test.html -> build/lib/jinja2/testsuite/res/templates
- creating build/lib/jinja2/testsuite/res/templates/foo
- copying jinja2/testsuite/res/templates/foo/test.html -> build/lib/jinja2/testsuite/res/templates/foo
- running install_lib
- creating /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2
- copying build/lib/jinja2/meta.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2
- copying build/lib/jinja2/lexer.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2
- copying build/lib/jinja2/parser.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2
- copying build/lib/jinja2/environment.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2
- copying build/lib/jinja2/sandbox.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2
- copying build/lib/jinja2/bccache.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2
- copying build/lib/jinja2/nodes.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2
- copying build/lib/jinja2/filters.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2
- creating /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite
- copying build/lib/jinja2/testsuite/imports.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite
- creating /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite/res
- copying build/lib/jinja2/testsuite/res/__init__.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite/res
- creating /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite/res/templates
- creating /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite/res/templates/foo
- copying build/lib/jinja2/testsuite/res/templates/foo/test.html -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite/res/templates/foo
- copying build/lib/jinja2/testsuite/res/templates/broken.html -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite/res/templates
- copying build/lib/jinja2/testsuite/res/templates/syntaxerror.html -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite/res/templates
- copying build/lib/jinja2/testsuite/res/templates/test.html -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite/res/templates
- copying build/lib/jinja2/testsuite/core_tags.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite
- copying build/lib/jinja2/testsuite/filters.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite
- copying build/lib/jinja2/testsuite/__init__.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite
- copying build/lib/jinja2/testsuite/api.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite
- copying build/lib/jinja2/testsuite/utils.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite
- copying build/lib/jinja2/testsuite/ext.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite
- copying build/lib/jinja2/testsuite/doctests.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite
- copying build/lib/jinja2/testsuite/security.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite
- copying build/lib/jinja2/testsuite/lexnparse.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite
- copying build/lib/jinja2/testsuite/regression.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite
- copying build/lib/jinja2/testsuite/bytecode_cache.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite
- copying build/lib/jinja2/testsuite/inheritance.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite
- copying build/lib/jinja2/testsuite/tests.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite
- copying build/lib/jinja2/testsuite/loader.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite
- copying build/lib/jinja2/testsuite/debug.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite
- copying build/lib/jinja2/__init__.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2
- copying build/lib/jinja2/utils.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2
- copying build/lib/jinja2/ext.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2
- copying build/lib/jinja2/loaders.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2
- copying build/lib/jinja2/exceptions.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2
- copying build/lib/jinja2/optimizer.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2
- copying build/lib/jinja2/runtime.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2
- copying build/lib/jinja2/constants.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2
- copying build/lib/jinja2/defaults.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2
- copying build/lib/jinja2/visitor.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2
- copying build/lib/jinja2/tests.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2
- copying build/lib/jinja2/_stringdefs.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2
- copying build/lib/jinja2/_compat.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2
- copying build/lib/jinja2/compiler.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2
- copying build/lib/jinja2/debug.py -> /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/meta.py to meta.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/lexer.py to lexer.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/parser.py to parser.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/environment.py to environment.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/sandbox.py to sandbox.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/bccache.py to bccache.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/nodes.py to nodes.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/filters.py to filters.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite/imports.py to imports.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite/res/__init__.py to __init__.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite/core_tags.py to core_tags.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite/filters.py to filters.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite/__init__.py to __init__.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite/api.py to api.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite/utils.py to utils.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite/ext.py to ext.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite/doctests.py to doctests.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite/security.py to security.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite/lexnparse.py to lexnparse.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite/regression.py to regression.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite/bytecode_cache.py to bytecode_cache.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite/inheritance.py to inheritance.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite/tests.py to tests.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite/loader.py to loader.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/testsuite/debug.py to debug.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/__init__.py to __init__.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/utils.py to utils.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/ext.py to ext.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/loaders.py to loaders.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/exceptions.py to exceptions.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/optimizer.py to optimizer.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/runtime.py to runtime.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/constants.py to constants.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/defaults.py to defaults.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/visitor.py to visitor.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/tests.py to tests.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/_stringdefs.py to _stringdefs.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/_compat.py to _compat.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/compiler.py to compiler.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/jinja2/debug.py to debug.pyc
- running install_egg_info
- Copying Jinja2.egg-info to /tmp/oslo-graduate.98CC/venv/lib/python2.7/site-packages/Jinja2-2.7.3-py2.7.egg-info
- running install_scripts
- writing list of installed files to '/tmp/pip-48wa7X-record/install-record.txt'
- Running setup.py install for PyYAML
-
- Running command /tmp/oslo-graduate.98CC/venv/bin/python -c "import setuptools;__file__='/tmp/oslo-graduate.98CC/venv/build/PyYAML/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-oUSXoF-record/install-record.txt --single-version-externally-managed --install-headers /tmp/oslo-graduate.98CC/venv/include/site/python2.7
- running install
- running build
- running build_py
- creating build
- creating build/lib.linux-x86_64-2.7
- creating build/lib.linux-x86_64-2.7/yaml
- copying lib/yaml/parser.py -> build/lib.linux-x86_64-2.7/yaml
- copying lib/yaml/scanner.py -> build/lib.linux-x86_64-2.7/yaml
- copying lib/yaml/error.py -> build/lib.linux-x86_64-2.7/yaml
- copying lib/yaml/representer.py -> build/lib.linux-x86_64-2.7/yaml
- copying lib/yaml/constructor.py -> build/lib.linux-x86_64-2.7/yaml
- copying lib/yaml/nodes.py -> build/lib.linux-x86_64-2.7/yaml
- copying lib/yaml/__init__.py -> build/lib.linux-x86_64-2.7/yaml
- copying lib/yaml/composer.py -> build/lib.linux-x86_64-2.7/yaml
- copying lib/yaml/tokens.py -> build/lib.linux-x86_64-2.7/yaml
- copying lib/yaml/cyaml.py -> build/lib.linux-x86_64-2.7/yaml
- copying lib/yaml/serializer.py -> build/lib.linux-x86_64-2.7/yaml
- copying lib/yaml/emitter.py -> build/lib.linux-x86_64-2.7/yaml
- copying lib/yaml/reader.py -> build/lib.linux-x86_64-2.7/yaml
- copying lib/yaml/dumper.py -> build/lib.linux-x86_64-2.7/yaml
- copying lib/yaml/loader.py -> build/lib.linux-x86_64-2.7/yaml
- copying lib/yaml/events.py -> build/lib.linux-x86_64-2.7/yaml
- copying lib/yaml/resolver.py -> build/lib.linux-x86_64-2.7/yaml
- running build_ext
- creating build/temp.linux-x86_64-2.7
- checking if libyaml is compilable
-
- gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/usr/include/python2.7 -c build/temp.linux-x86_64-2.7/check_libyaml.c -o build/temp.linux-x86_64-2.7/check_libyaml.o
-
- checking if libyaml is linkable
-
- gcc -pthread build/temp.linux-x86_64-2.7/check_libyaml.o -L/usr/lib64 -lyaml -o build/temp.linux-x86_64-2.7/check_libyaml
-
- building '_yaml' extension
-
- creating build/temp.linux-x86_64-2.7/ext
- gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/usr/include/python2.7 -c ext/_yaml.c -o build/temp.linux-x86_64-2.7/ext/_yaml.o
-
- In file included from ext/_yaml.c:343:0:
-
- ext/_yaml.h:6:0: warning: "PyUnicode_FromString" redefined [enabled by default]
-
- #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:85:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/python2.7/unicodeobject.h:281:0: note: this is the location of the previous definition
-
- # define PyUnicode_FromString PyUnicodeUCS4_FromString
-
- ^
-
- ext/_yaml.c: In function ‘__pyx_pf_5_yaml_get_version_string’:
-
- ext/_yaml.c:1346:17: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
-
- __pyx_v_value = yaml_get_version_string();
-
- ^
-
- ext/_yaml.c: In function ‘__pyx_pf_5_yaml_7CParser___init__’:
-
- ext/_yaml.c:2471:5: warning: passing argument 2 of ‘yaml_parser_set_input’ from incompatible pointer type [enabled by default]
-
- yaml_parser_set_input((&__pyx_v_self->parser), __pyx_f_5_yaml_input_handler, ((void *)__pyx_v_self));
-
- ^
-
- In file included from ext/_yaml.h:2:0,
-
- from ext/_yaml.c:343:
-
- /usr/include/yaml.h:1367:1: note: expected ‘int (*)(void *, unsigned char *, size_t, size_t *)’ but argument is of type ‘int (*)(void *, char *, int, int *)’
-
- yaml_parser_set_input(yaml_parser_t *parser,
-
- ^
-
- ext/_yaml.c:2664:5: warning: pointer targets in passing argument 2 of ‘yaml_parser_set_input_string’ differ in signedness [-Wpointer-sign]
-
- yaml_parser_set_input_string((&__pyx_v_self->parser), PyString_AS_STRING(__pyx_v_stream), PyString_GET_SIZE(__pyx_v_stream));
-
- ^
-
- In file included from ext/_yaml.h:2:0,
-
- from ext/_yaml.c:343:
-
- /usr/include/yaml.h:1341:1: note: expected ‘const unsigned char *’ but argument is of type ‘char *’
-
- yaml_parser_set_input_string(yaml_parser_t *parser,
-
- ^
-
- ext/_yaml.c: In function ‘__pyx_f_5_yaml_7CParser__token_to_object’:
-
- ext/_yaml.c:4183:5: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_3 = PyUnicode_FromString(__pyx_v_token->data.tag_directive.handle); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:38:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/string.h:395:15: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- extern size_t strlen (const char *__s)
-
- ^
-
- ext/_yaml.c:4183:5: warning: pointer targets in passing argument 1 of ‘PyUnicodeUCS4_DecodeUTF8’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_3 = PyUnicode_FromString(__pyx_v_token->data.tag_directive.handle); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:85:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/python2.7/unicodeobject.h:750:11: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
-
- ^
-
- ext/_yaml.c:4195:5: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_3 = PyUnicode_FromString(__pyx_v_token->data.tag_directive.prefix); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:38:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/string.h:395:15: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- extern size_t strlen (const char *__s)
-
- ^
-
- ext/_yaml.c:4195:5: warning: pointer targets in passing argument 1 of ‘PyUnicodeUCS4_DecodeUTF8’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_3 = PyUnicode_FromString(__pyx_v_token->data.tag_directive.prefix); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:85:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/python2.7/unicodeobject.h:750:11: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
-
- ^
-
- ext/_yaml.c:4741:5: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_3 = PyUnicode_FromString(__pyx_v_token->data.alias.value); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:38:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/string.h:395:15: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- extern size_t strlen (const char *__s)
-
- ^
-
- ext/_yaml.c:4741:5: warning: pointer targets in passing argument 1 of ‘PyUnicodeUCS4_DecodeUTF8’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_3 = PyUnicode_FromString(__pyx_v_token->data.alias.value); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:85:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/python2.7/unicodeobject.h:750:11: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
-
- ^
-
- ext/_yaml.c:4792:5: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_4 = PyUnicode_FromString(__pyx_v_token->data.anchor.value); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:38:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/string.h:395:15: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- extern size_t strlen (const char *__s)
-
- ^
-
- ext/_yaml.c:4792:5: warning: pointer targets in passing argument 1 of ‘PyUnicodeUCS4_DecodeUTF8’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_4 = PyUnicode_FromString(__pyx_v_token->data.anchor.value); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:85:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/python2.7/unicodeobject.h:750:11: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
-
- ^
-
- ext/_yaml.c:4843:5: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_3 = PyUnicode_FromString(__pyx_v_token->data.tag.handle); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:38:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/string.h:395:15: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- extern size_t strlen (const char *__s)
-
- ^
-
- ext/_yaml.c:4843:5: warning: pointer targets in passing argument 1 of ‘PyUnicodeUCS4_DecodeUTF8’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_3 = PyUnicode_FromString(__pyx_v_token->data.tag.handle); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:85:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/python2.7/unicodeobject.h:750:11: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
-
- ^
-
- ext/_yaml.c:4855:5: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_3 = PyUnicode_FromString(__pyx_v_token->data.tag.suffix); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:38:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/string.h:395:15: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- extern size_t strlen (const char *__s)
-
- ^
-
- ext/_yaml.c:4855:5: warning: pointer targets in passing argument 1 of ‘PyUnicodeUCS4_DecodeUTF8’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_3 = PyUnicode_FromString(__pyx_v_token->data.tag.suffix); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:85:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/python2.7/unicodeobject.h:750:11: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
-
- ^
-
- ext/_yaml.c:4938:5: warning: pointer targets in passing argument 1 of ‘PyUnicodeUCS4_DecodeUTF8’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_2 = PyUnicode_DecodeUTF8(__pyx_v_token->data.scalar.value, __pyx_v_token->data.scalar.length, __pyx_k_strict); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:85:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/python2.7/unicodeobject.h:750:11: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
-
- ^
-
- ext/_yaml.c: In function ‘__pyx_f_5_yaml_7CParser__event_to_object’:
-
- ext/_yaml.c:6435:9: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_4 = PyUnicode_FromString(__pyx_v_tag_directive->handle); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:38:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/string.h:395:15: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- extern size_t strlen (const char *__s)
-
- ^
-
- ext/_yaml.c:6435:9: warning: pointer targets in passing argument 1 of ‘PyUnicodeUCS4_DecodeUTF8’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_4 = PyUnicode_FromString(__pyx_v_tag_directive->handle); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:85:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/python2.7/unicodeobject.h:750:11: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
-
- ^
-
- ext/_yaml.c:6447:9: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_4 = PyUnicode_FromString(__pyx_v_tag_directive->prefix); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:38:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/string.h:395:15: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- extern size_t strlen (const char *__s)
-
- ^
-
- ext/_yaml.c:6447:9: warning: pointer targets in passing argument 1 of ‘PyUnicodeUCS4_DecodeUTF8’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_4 = PyUnicode_FromString(__pyx_v_tag_directive->prefix); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:85:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/python2.7/unicodeobject.h:750:11: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
-
- ^
-
- ext/_yaml.c:6616:5: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_2 = PyUnicode_FromString(__pyx_v_event->data.alias.anchor); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:38:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/string.h:395:15: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- extern size_t strlen (const char *__s)
-
- ^
-
- ext/_yaml.c:6616:5: warning: pointer targets in passing argument 1 of ‘PyUnicodeUCS4_DecodeUTF8’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_2 = PyUnicode_FromString(__pyx_v_event->data.alias.anchor); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:85:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/python2.7/unicodeobject.h:750:11: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
-
- ^
-
- ext/_yaml.c:6687:7: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_1 = PyUnicode_FromString(__pyx_v_event->data.scalar.anchor); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:38:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/string.h:395:15: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- extern size_t strlen (const char *__s)
-
- ^
-
- ext/_yaml.c:6687:7: warning: pointer targets in passing argument 1 of ‘PyUnicodeUCS4_DecodeUTF8’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_1 = PyUnicode_FromString(__pyx_v_event->data.scalar.anchor); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:85:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/python2.7/unicodeobject.h:750:11: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
-
- ^
-
- ext/_yaml.c:6722:7: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_1 = PyUnicode_FromString(__pyx_v_event->data.scalar.tag); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:38:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/string.h:395:15: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- extern size_t strlen (const char *__s)
-
- ^
-
- ext/_yaml.c:6722:7: warning: pointer targets in passing argument 1 of ‘PyUnicodeUCS4_DecodeUTF8’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_1 = PyUnicode_FromString(__pyx_v_event->data.scalar.tag); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:85:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/python2.7/unicodeobject.h:750:11: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
-
- ^
-
- ext/_yaml.c:6737:5: warning: pointer targets in passing argument 1 of ‘PyUnicodeUCS4_DecodeUTF8’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_1 = PyUnicode_DecodeUTF8(__pyx_v_event->data.scalar.value, __pyx_v_event->data.scalar.length, __pyx_k_strict); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:85:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/python2.7/unicodeobject.h:750:11: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
-
- ^
-
- ext/_yaml.c:7031:7: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_3 = PyUnicode_FromString(__pyx_v_event->data.sequence_start.anchor); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:38:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/string.h:395:15: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- extern size_t strlen (const char *__s)
-
- ^
-
- ext/_yaml.c:7031:7: warning: pointer targets in passing argument 1 of ‘PyUnicodeUCS4_DecodeUTF8’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_3 = PyUnicode_FromString(__pyx_v_event->data.sequence_start.anchor); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:85:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/python2.7/unicodeobject.h:750:11: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
-
- ^
-
- ext/_yaml.c:7066:7: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_3 = PyUnicode_FromString(__pyx_v_event->data.sequence_start.tag); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:38:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/string.h:395:15: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- extern size_t strlen (const char *__s)
-
- ^
-
- ext/_yaml.c:7066:7: warning: pointer targets in passing argument 1 of ‘PyUnicodeUCS4_DecodeUTF8’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_3 = PyUnicode_FromString(__pyx_v_event->data.sequence_start.tag); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:85:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/python2.7/unicodeobject.h:750:11: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
-
- ^
-
- ext/_yaml.c:7253:7: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_2 = PyUnicode_FromString(__pyx_v_event->data.mapping_start.anchor); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:38:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/string.h:395:15: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- extern size_t strlen (const char *__s)
-
- ^
-
- ext/_yaml.c:7253:7: warning: pointer targets in passing argument 1 of ‘PyUnicodeUCS4_DecodeUTF8’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_2 = PyUnicode_FromString(__pyx_v_event->data.mapping_start.anchor); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:85:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/python2.7/unicodeobject.h:750:11: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
-
- ^
-
- ext/_yaml.c:7288:7: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_2 = PyUnicode_FromString(__pyx_v_event->data.mapping_start.tag); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 640; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:38:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/string.h:395:15: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- extern size_t strlen (const char *__s)
-
- ^
-
- ext/_yaml.c:7288:7: warning: pointer targets in passing argument 1 of ‘PyUnicodeUCS4_DecodeUTF8’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_2 = PyUnicode_FromString(__pyx_v_event->data.mapping_start.tag); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 640; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:85:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/python2.7/unicodeobject.h:750:11: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
-
- ^
-
- ext/_yaml.c: In function ‘__pyx_f_5_yaml_7CParser__compose_node’:
-
- ext/_yaml.c:8704:5: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_3 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.alias.anchor); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:38:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/string.h:395:15: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- extern size_t strlen (const char *__s)
-
- ^
-
- ext/_yaml.c:8704:5: warning: pointer targets in passing argument 1 of ‘PyUnicodeUCS4_DecodeUTF8’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_3 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.alias.anchor); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:85:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/python2.7/unicodeobject.h:750:11: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
-
- ^
-
- ext/_yaml.c:8924:5: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_6 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.scalar.anchor); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:38:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/string.h:395:15: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- extern size_t strlen (const char *__s)
-
- ^
-
- ext/_yaml.c:8924:5: warning: pointer targets in passing argument 1 of ‘PyUnicodeUCS4_DecodeUTF8’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_6 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.scalar.anchor); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:85:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/python2.7/unicodeobject.h:750:11: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
-
- ^
-
- ext/_yaml.c:8962:5: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_6 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.sequence_start.anchor); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:38:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/string.h:395:15: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- extern size_t strlen (const char *__s)
-
- ^
-
- ext/_yaml.c:8962:5: warning: pointer targets in passing argument 1 of ‘PyUnicodeUCS4_DecodeUTF8’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_6 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.sequence_start.anchor); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:85:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/python2.7/unicodeobject.h:750:11: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
-
- ^
-
- ext/_yaml.c:9000:5: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_6 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.mapping_start.anchor); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:38:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/string.h:395:15: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- extern size_t strlen (const char *__s)
-
- ^
-
- ext/_yaml.c:9000:5: warning: pointer targets in passing argument 1 of ‘PyUnicodeUCS4_DecodeUTF8’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_6 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.mapping_start.anchor); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:85:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/python2.7/unicodeobject.h:750:11: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
-
- ^
-
- ext/_yaml.c: In function ‘__pyx_f_5_yaml_7CParser__compose_scalar_node’:
-
- ext/_yaml.c:9532:3: warning: pointer targets in passing argument 1 of ‘PyUnicodeUCS4_DecodeUTF8’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_2 = PyUnicode_DecodeUTF8(__pyx_v_self->parsed_event.data.scalar.value, __pyx_v_self->parsed_event.data.scalar.length, __pyx_k_strict); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:85:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/python2.7/unicodeobject.h:750:11: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
-
- ^
-
- ext/_yaml.c:9688:5: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_9 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.scalar.tag); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:38:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/string.h:395:15: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- extern size_t strlen (const char *__s)
-
- ^
-
- ext/_yaml.c:9688:5: warning: pointer targets in passing argument 1 of ‘PyUnicodeUCS4_DecodeUTF8’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_9 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.scalar.tag); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:85:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/python2.7/unicodeobject.h:750:11: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
-
- ^
-
- ext/_yaml.c: In function ‘__pyx_f_5_yaml_7CParser__compose_sequence_node’:
-
- ext/_yaml.c:10128:5: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_2 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.sequence_start.tag); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:38:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/string.h:395:15: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- extern size_t strlen (const char *__s)
-
- ^
-
- ext/_yaml.c:10128:5: warning: pointer targets in passing argument 1 of ‘PyUnicodeUCS4_DecodeUTF8’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_2 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.sequence_start.tag); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:85:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/python2.7/unicodeobject.h:750:11: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
-
- ^
-
- ext/_yaml.c: In function ‘__pyx_f_5_yaml_7CParser__compose_mapping_node’:
-
- ext/_yaml.c:10654:5: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_2 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.mapping_start.tag); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:38:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/string.h:395:15: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- extern size_t strlen (const char *__s)
-
- ^
-
- ext/_yaml.c:10654:5: warning: pointer targets in passing argument 1 of ‘PyUnicodeUCS4_DecodeUTF8’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_2 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.mapping_start.tag); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
- ^
-
- In file included from /usr/include/python2.7/Python.h:85:0,
-
- from ext/_yaml.c:16:
-
- /usr/include/python2.7/unicodeobject.h:750:11: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’
-
- PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
-
- ^
-
- ext/_yaml.c: In function ‘__pyx_pf_5_yaml_8CEmitter___init__’:
-
- ext/_yaml.c:11721:3: warning: passing argument 2 of ‘yaml_emitter_set_output’ from incompatible pointer type [enabled by default]
-
- yaml_emitter_set_output((&__pyx_v_self->emitter), __pyx_f_5_yaml_output_handler, ((void *)__pyx_v_self));
-
- ^
-
- In file included from ext/_yaml.h:2:0,
-
- from ext/_yaml.c:343:
-
- /usr/include/yaml.h:1829:1: note: expected ‘int (*)(void *, unsigned char *, size_t)’ but argument is of type ‘int (*)(void *, char *, int)’
-
- yaml_emitter_set_output(yaml_emitter_t *emitter,
-
- ^
-
- ext/_yaml.c: In function ‘__pyx_f_5_yaml_8CEmitter__object_to_event’:
-
- ext/_yaml.c:12898:44: warning: pointer targets in assignment differ in signedness [-Wpointer-sign]
-
- __pyx_v_tag_directives_end->handle = PyString_AS_STRING(__pyx_v_handle);
-
- ^
-
- ext/_yaml.c:12991:44: warning: pointer targets in assignment differ in signedness [-Wpointer-sign]
-
- __pyx_v_tag_directives_end->prefix = PyString_AS_STRING(__pyx_v_prefix);
-
- ^
-
- ext/_yaml.c:13248:5: warning: pointer targets in passing argument 2 of ‘yaml_alias_event_initialize’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_4 = ((yaml_alias_event_initialize(__pyx_v_event, __pyx_v_anchor) == 0) != 0);
-
- ^
-
- In file included from ext/_yaml.h:2:0,
-
- from ext/_yaml.c:343:
-
- /usr/include/yaml.h:553:1: note: expected ‘yaml_char_t *’ but argument is of type ‘char *’
-
- yaml_alias_event_initialize(yaml_event_t *event, yaml_char_t *anchor);
-
- ^
-
- ext/_yaml.c:13824:5: warning: pointer targets in passing argument 2 of ‘yaml_scalar_event_initialize’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_3 = ((yaml_scalar_event_initialize(__pyx_v_event, __pyx_v_anchor, __pyx_v_tag, __pyx_v_value, __pyx_v_length, __pyx_v_plain_implicit, __pyx_v_quoted_implicit, __pyx_v_scalar_style) == 0) != 0);
-
- ^
-
- In file included from ext/_yaml.h:2:0,
-
- from ext/_yaml.c:343:
-
- /usr/include/yaml.h:578:1: note: expected ‘yaml_char_t *’ but argument is of type ‘char *’
-
- yaml_scalar_event_initialize(yaml_event_t *event,
-
- ^
-
- ext/_yaml.c:13824:5: warning: pointer targets in passing argument 3 of ‘yaml_scalar_event_initialize’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_3 = ((yaml_scalar_event_initialize(__pyx_v_event, __pyx_v_anchor, __pyx_v_tag, __pyx_v_value, __pyx_v_length, __pyx_v_plain_implicit, __pyx_v_quoted_implicit, __pyx_v_scalar_style) == 0) != 0);
-
- ^
-
- In file included from ext/_yaml.h:2:0,
-
- from ext/_yaml.c:343:
-
- /usr/include/yaml.h:578:1: note: expected ‘yaml_char_t *’ but argument is of type ‘char *’
-
- yaml_scalar_event_initialize(yaml_event_t *event,
-
- ^
-
- ext/_yaml.c:13824:5: warning: pointer targets in passing argument 4 of ‘yaml_scalar_event_initialize’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_3 = ((yaml_scalar_event_initialize(__pyx_v_event, __pyx_v_anchor, __pyx_v_tag, __pyx_v_value, __pyx_v_length, __pyx_v_plain_implicit, __pyx_v_quoted_implicit, __pyx_v_scalar_style) == 0) != 0);
-
- ^
-
- In file included from ext/_yaml.h:2:0,
-
- from ext/_yaml.c:343:
-
- /usr/include/yaml.h:578:1: note: expected ‘yaml_char_t *’ but argument is of type ‘char *’
-
- yaml_scalar_event_initialize(yaml_event_t *event,
-
- ^
-
- ext/_yaml.c:14166:5: warning: pointer targets in passing argument 2 of ‘yaml_sequence_start_event_initialize’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_4 = ((yaml_sequence_start_event_initialize(__pyx_v_event, __pyx_v_anchor, __pyx_v_tag, __pyx_v_implicit, __pyx_v_sequence_style) == 0) != 0);
-
- ^
-
- In file included from ext/_yaml.h:2:0,
-
- from ext/_yaml.c:343:
-
- /usr/include/yaml.h:601:1: note: expected ‘yaml_char_t *’ but argument is of type ‘char *’
-
- yaml_sequence_start_event_initialize(yaml_event_t *event,
-
- ^
-
- ext/_yaml.c:14166:5: warning: pointer targets in passing argument 3 of ‘yaml_sequence_start_event_initialize’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_4 = ((yaml_sequence_start_event_initialize(__pyx_v_event, __pyx_v_anchor, __pyx_v_tag, __pyx_v_implicit, __pyx_v_sequence_style) == 0) != 0);
-
- ^
-
- In file included from ext/_yaml.h:2:0,
-
- from ext/_yaml.c:343:
-
- /usr/include/yaml.h:601:1: note: expected ‘yaml_char_t *’ but argument is of type ‘char *’
-
- yaml_sequence_start_event_initialize(yaml_event_t *event,
-
- ^
-
- ext/_yaml.c:14508:5: warning: pointer targets in passing argument 2 of ‘yaml_mapping_start_event_initialize’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_3 = ((yaml_mapping_start_event_initialize(__pyx_v_event, __pyx_v_anchor, __pyx_v_tag, __pyx_v_implicit, __pyx_v_mapping_style) == 0) != 0);
-
- ^
-
- In file included from ext/_yaml.h:2:0,
-
- from ext/_yaml.c:343:
-
- /usr/include/yaml.h:633:1: note: expected ‘yaml_char_t *’ but argument is of type ‘char *’
-
- yaml_mapping_start_event_initialize(yaml_event_t *event,
-
- ^
-
- ext/_yaml.c:14508:5: warning: pointer targets in passing argument 3 of ‘yaml_mapping_start_event_initialize’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_3 = ((yaml_mapping_start_event_initialize(__pyx_v_event, __pyx_v_anchor, __pyx_v_tag, __pyx_v_implicit, __pyx_v_mapping_style) == 0) != 0);
-
- ^
-
- In file included from ext/_yaml.h:2:0,
-
- from ext/_yaml.c:343:
-
- /usr/include/yaml.h:633:1: note: expected ‘yaml_char_t *’ but argument is of type ‘char *’
-
- yaml_mapping_start_event_initialize(yaml_event_t *event,
-
- ^
-
- ext/_yaml.c: In function ‘__pyx_pf_5_yaml_8CEmitter_12serialize’:
-
- ext/_yaml.c:15784:42: warning: pointer targets in assignment differ in signedness [-Wpointer-sign]
-
- __pyx_v_tag_directives_end->handle = PyString_AS_STRING(__pyx_v_handle);
-
- ^
-
- ext/_yaml.c:15877:42: warning: pointer targets in assignment differ in signedness [-Wpointer-sign]
-
- __pyx_v_tag_directives_end->prefix = PyString_AS_STRING(__pyx_v_prefix);
-
- ^
-
- ext/_yaml.c: In function ‘__pyx_f_5_yaml_8CEmitter__serialize_node’:
-
- ext/_yaml.c:16616:5: warning: pointer targets in passing argument 2 of ‘yaml_alias_event_initialize’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_2 = ((yaml_alias_event_initialize((&__pyx_v_event), __pyx_v_anchor) == 0) != 0);
-
- ^
-
- In file included from ext/_yaml.h:2:0,
-
- from ext/_yaml.c:343:
-
- /usr/include/yaml.h:553:1: note: expected ‘yaml_char_t *’ but argument is of type ‘char *’
-
- yaml_alias_event_initialize(yaml_event_t *event, yaml_char_t *anchor);
-
- ^
-
- ext/_yaml.c:17195:7: warning: pointer targets in passing argument 2 of ‘yaml_scalar_event_initialize’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_8 = ((yaml_scalar_event_initialize((&__pyx_v_event), __pyx_v_anchor, __pyx_v_tag, __pyx_v_value, __pyx_v_length, __pyx_v_plain_implicit, __pyx_v_quoted_implicit, __pyx_v_scalar_style) == 0) != 0);
-
- ^
-
- In file included from ext/_yaml.h:2:0,
-
- from ext/_yaml.c:343:
-
- /usr/include/yaml.h:578:1: note: expected ‘yaml_char_t *’ but argument is of type ‘char *’
-
- yaml_scalar_event_initialize(yaml_event_t *event,
-
- ^
-
- ext/_yaml.c:17195:7: warning: pointer targets in passing argument 3 of ‘yaml_scalar_event_initialize’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_8 = ((yaml_scalar_event_initialize((&__pyx_v_event), __pyx_v_anchor, __pyx_v_tag, __pyx_v_value, __pyx_v_length, __pyx_v_plain_implicit, __pyx_v_quoted_implicit, __pyx_v_scalar_style) == 0) != 0);
-
- ^
-
- In file included from ext/_yaml.h:2:0,
-
- from ext/_yaml.c:343:
-
- /usr/include/yaml.h:578:1: note: expected ‘yaml_char_t *’ but argument is of type ‘char *’
-
- yaml_scalar_event_initialize(yaml_event_t *event,
-
- ^
-
- ext/_yaml.c:17195:7: warning: pointer targets in passing argument 4 of ‘yaml_scalar_event_initialize’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_8 = ((yaml_scalar_event_initialize((&__pyx_v_event), __pyx_v_anchor, __pyx_v_tag, __pyx_v_value, __pyx_v_length, __pyx_v_plain_implicit, __pyx_v_quoted_implicit, __pyx_v_scalar_style) == 0) != 0);
-
- ^
-
- In file included from ext/_yaml.h:2:0,
-
- from ext/_yaml.c:343:
-
- /usr/include/yaml.h:578:1: note: expected ‘yaml_char_t *’ but argument is of type ‘char *’
-
- yaml_scalar_event_initialize(yaml_event_t *event,
-
- ^
-
- ext/_yaml.c:17473:7: warning: pointer targets in passing argument 2 of ‘yaml_sequence_start_event_initialize’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_8 = ((yaml_sequence_start_event_initialize((&__pyx_v_event), __pyx_v_anchor, __pyx_v_tag, __pyx_v_implicit, __pyx_v_sequence_style) == 0) != 0);
-
- ^
-
- In file included from ext/_yaml.h:2:0,
-
- from ext/_yaml.c:343:
-
- /usr/include/yaml.h:601:1: note: expected ‘yaml_char_t *’ but argument is of type ‘char *’
-
- yaml_sequence_start_event_initialize(yaml_event_t *event,
-
- ^
-
- ext/_yaml.c:17473:7: warning: pointer targets in passing argument 3 of ‘yaml_sequence_start_event_initialize’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_8 = ((yaml_sequence_start_event_initialize((&__pyx_v_event), __pyx_v_anchor, __pyx_v_tag, __pyx_v_implicit, __pyx_v_sequence_style) == 0) != 0);
-
- ^
-
- In file included from ext/_yaml.h:2:0,
-
- from ext/_yaml.c:343:
-
- /usr/include/yaml.h:601:1: note: expected ‘yaml_char_t *’ but argument is of type ‘char *’
-
- yaml_sequence_start_event_initialize(yaml_event_t *event,
-
- ^
-
- ext/_yaml.c:17874:7: warning: pointer targets in passing argument 2 of ‘yaml_mapping_start_event_initialize’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_8 = ((yaml_mapping_start_event_initialize((&__pyx_v_event), __pyx_v_anchor, __pyx_v_tag, __pyx_v_implicit, __pyx_v_mapping_style) == 0) != 0);
-
- ^
-
- In file included from ext/_yaml.h:2:0,
-
- from ext/_yaml.c:343:
-
- /usr/include/yaml.h:633:1: note: expected ‘yaml_char_t *’ but argument is of type ‘char *’
-
- yaml_mapping_start_event_initialize(yaml_event_t *event,
-
- ^
-
- ext/_yaml.c:17874:7: warning: pointer targets in passing argument 3 of ‘yaml_mapping_start_event_initialize’ differ in signedness [-Wpointer-sign]
-
- __pyx_t_8 = ((yaml_mapping_start_event_initialize((&__pyx_v_event), __pyx_v_anchor, __pyx_v_tag, __pyx_v_implicit, __pyx_v_mapping_style) == 0) != 0);
-
- ^
-
- In file included from ext/_yaml.h:2:0,
-
- from ext/_yaml.c:343:
-
- /usr/include/yaml.h:633:1: note: expected ‘yaml_char_t *’ but argument is of type ‘char *’
-
- yaml_mapping_start_event_initialize(yaml_event_t *event,
-
- ^
-
- gcc -pthread -shared -Wl,-z,relro build/temp.linux-x86_64-2.7/ext/_yaml.o -L/usr/lib64 -lyaml -lpython2.7 -o build/lib.linux-x86_64-2.7/_yaml.so
-
- running install_lib
- creating /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml
- copying build/lib.linux-x86_64-2.7/yaml/parser.py -> /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml
- copying build/lib.linux-x86_64-2.7/yaml/scanner.py -> /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml
- copying build/lib.linux-x86_64-2.7/yaml/error.py -> /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml
- copying build/lib.linux-x86_64-2.7/yaml/representer.py -> /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml
- copying build/lib.linux-x86_64-2.7/yaml/constructor.py -> /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml
- copying build/lib.linux-x86_64-2.7/yaml/nodes.py -> /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml
- copying build/lib.linux-x86_64-2.7/yaml/__init__.py -> /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml
- copying build/lib.linux-x86_64-2.7/yaml/composer.py -> /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml
- copying build/lib.linux-x86_64-2.7/yaml/tokens.py -> /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml
- copying build/lib.linux-x86_64-2.7/yaml/cyaml.py -> /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml
- copying build/lib.linux-x86_64-2.7/yaml/serializer.py -> /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml
- copying build/lib.linux-x86_64-2.7/yaml/emitter.py -> /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml
- copying build/lib.linux-x86_64-2.7/yaml/reader.py -> /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml
- copying build/lib.linux-x86_64-2.7/yaml/dumper.py -> /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml
- copying build/lib.linux-x86_64-2.7/yaml/loader.py -> /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml
- copying build/lib.linux-x86_64-2.7/yaml/events.py -> /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml
- copying build/lib.linux-x86_64-2.7/yaml/resolver.py -> /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml
- copying build/lib.linux-x86_64-2.7/_yaml.so -> /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml/parser.py to parser.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml/scanner.py to scanner.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml/error.py to error.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml/representer.py to representer.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml/constructor.py to constructor.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml/nodes.py to nodes.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml/__init__.py to __init__.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml/composer.py to composer.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml/tokens.py to tokens.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml/cyaml.py to cyaml.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml/serializer.py to serializer.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml/emitter.py to emitter.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml/reader.py to reader.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml/dumper.py to dumper.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml/loader.py to loader.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml/events.py to events.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/yaml/resolver.py to resolver.pyc
- running install_egg_info
- running egg_info
- creating lib/PyYAML.egg-info
- writing lib/PyYAML.egg-info/PKG-INFO
- writing top-level names to lib/PyYAML.egg-info/top_level.txt
- writing dependency_links to lib/PyYAML.egg-info/dependency_links.txt
- writing manifest file 'lib/PyYAML.egg-info/SOURCES.txt'
- warning: manifest_maker: standard file '-c' not found
-
-
- reading manifest file 'lib/PyYAML.egg-info/SOURCES.txt'
- writing manifest file 'lib/PyYAML.egg-info/SOURCES.txt'
- Copying lib/PyYAML.egg-info to /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/PyYAML-3.11-py2.7.egg-info
- running install_scripts
- writing list of installed files to '/tmp/pip-oUSXoF-record/install-record.txt'
- Running setup.py install for markupsafe
-
- Running command /tmp/oslo-graduate.98CC/venv/bin/python -c "import setuptools;__file__='/tmp/oslo-graduate.98CC/venv/build/markupsafe/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-KqWzYq-record/install-record.txt --single-version-externally-managed --install-headers /tmp/oslo-graduate.98CC/venv/include/site/python2.7
- running install
- running build
- running build_py
- creating build
- creating build/lib.linux-x86_64-2.7
- creating build/lib.linux-x86_64-2.7/markupsafe
- copying markupsafe/__init__.py -> build/lib.linux-x86_64-2.7/markupsafe
- copying markupsafe/_native.py -> build/lib.linux-x86_64-2.7/markupsafe
- copying markupsafe/_constants.py -> build/lib.linux-x86_64-2.7/markupsafe
- copying markupsafe/tests.py -> build/lib.linux-x86_64-2.7/markupsafe
- copying markupsafe/_compat.py -> build/lib.linux-x86_64-2.7/markupsafe
- running egg_info
- writing MarkupSafe.egg-info/PKG-INFO
- writing top-level names to MarkupSafe.egg-info/top_level.txt
- writing dependency_links to MarkupSafe.egg-info/dependency_links.txt
- warning: manifest_maker: standard file '-c' not found
-
-
- reading manifest file 'MarkupSafe.egg-info/SOURCES.txt'
- reading manifest template 'MANIFEST.in'
- writing manifest file 'MarkupSafe.egg-info/SOURCES.txt'
- copying markupsafe/_speedups.c -> build/lib.linux-x86_64-2.7/markupsafe
- running build_ext
- building 'markupsafe._speedups' extension
-
- creating build/temp.linux-x86_64-2.7
- creating build/temp.linux-x86_64-2.7/markupsafe
- gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/usr/include/python2.7 -c markupsafe/_speedups.c -o build/temp.linux-x86_64-2.7/markupsafe/_speedups.o
-
- gcc -pthread -shared -Wl,-z,relro build/temp.linux-x86_64-2.7/markupsafe/_speedups.o -L/usr/lib64 -lpython2.7 -o build/lib.linux-x86_64-2.7/markupsafe/_speedups.so
-
- running install_lib
- creating /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/markupsafe
- copying build/lib.linux-x86_64-2.7/markupsafe/_speedups.c -> /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/markupsafe
- copying build/lib.linux-x86_64-2.7/markupsafe/__init__.py -> /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/markupsafe
- copying build/lib.linux-x86_64-2.7/markupsafe/_speedups.so -> /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/markupsafe
- copying build/lib.linux-x86_64-2.7/markupsafe/_native.py -> /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/markupsafe
- copying build/lib.linux-x86_64-2.7/markupsafe/_constants.py -> /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/markupsafe
- copying build/lib.linux-x86_64-2.7/markupsafe/tests.py -> /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/markupsafe
- copying build/lib.linux-x86_64-2.7/markupsafe/_compat.py -> /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/markupsafe
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/markupsafe/__init__.py to __init__.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/markupsafe/_native.py to _native.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/markupsafe/_constants.py to _constants.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/markupsafe/tests.py to tests.pyc
- byte-compiling /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/markupsafe/_compat.py to _compat.pyc
- running install_egg_info
- Copying MarkupSafe.egg-info to /tmp/oslo-graduate.98CC/venv/lib64/python2.7/site-packages/MarkupSafe-0.23-py2.7.egg-info
- running install_scripts
- writing list of installed files to '/tmp/pip-KqWzYq-record/install-record.txt'
-Successfully installed cookiecutter binaryornot jinja2 PyYAML markupsafe
-
-Cleaning up...
-
- Removing temporary dir /tmp/oslo-graduate.98CC/venv/build...
diff --git a/openstack-common.conf b/openstack-common.conf
new file mode 100644
index 0000000..7bf6f7e
--- /dev/null
+++ b/openstack-common.conf
@@ -0,0 +1,11 @@
+[DEFAULT]
+
+# The list of modules to copy from oslo-incubator.git
+module=gettextutils
+module=importutils
+module=timeutils
+module=strutils
+script = tools/run_cross_tests.sh
+
+# The base module to hold the copy of openstack.common
+base=oslo.serialization
diff --git a/oslo/__init__.py b/oslo/__init__.py
index c659cac..bf1237a 100644
--- a/oslo/__init__.py
+++ b/oslo/__init__.py
@@ -12,4 +12,4 @@
# License for the specific language governing permissions and limitations
# under the License.
-__import__('pkg_resources').declare_namespace(__name__) \ No newline at end of file
+__import__('pkg_resources').declare_namespace(__name__)
diff --git a/oslo/serialization/jsonutils.py b/oslo/serialization/jsonutils.py
index 8112141..a462143 100644
--- a/oslo/serialization/jsonutils.py
+++ b/oslo/serialization/jsonutils.py
@@ -51,10 +51,10 @@ else:
import six
import six.moves.xmlrpc_client as xmlrpclib
-from openstack.common import gettextutils
-from openstack.common import importutils
-from openstack.common import strutils
-from openstack.common import timeutils
+from oslo.serialization.openstack.common import gettextutils
+from oslo.serialization.openstack.common import importutils
+from oslo.serialization.openstack.common import strutils
+from oslo.serialization.openstack.common import timeutils
netaddr = importutils.try_import("netaddr")
diff --git a/oslo/serialization/openstack/__init__.py b/oslo/serialization/openstack/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/oslo/serialization/openstack/__init__.py
diff --git a/oslo/serialization/openstack/common/__init__.py b/oslo/serialization/openstack/common/__init__.py
new file mode 100644
index 0000000..d1223ea
--- /dev/null
+++ b/oslo/serialization/openstack/common/__init__.py
@@ -0,0 +1,17 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+import six
+
+
+six.add_move(six.MovedModule('mox', 'mox', 'mox3.mox'))
diff --git a/oslo/serialization/openstack/common/gettextutils.py b/oslo/serialization/openstack/common/gettextutils.py
new file mode 100644
index 0000000..196a6e5
--- /dev/null
+++ b/oslo/serialization/openstack/common/gettextutils.py
@@ -0,0 +1,479 @@
+# Copyright 2012 Red Hat, Inc.
+# Copyright 2013 IBM Corp.
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+"""
+gettext for openstack-common modules.
+
+Usual usage in an openstack.common module:
+
+ from oslo.serialization.openstack.common.gettextutils import _
+"""
+
+import copy
+import gettext
+import locale
+from logging import handlers
+import os
+
+from babel import localedata
+import six
+
+_AVAILABLE_LANGUAGES = {}
+
+# FIXME(dhellmann): Remove this when moving to oslo.i18n.
+USE_LAZY = False
+
+
+class TranslatorFactory(object):
+ """Create translator functions
+ """
+
+ def __init__(self, domain, localedir=None):
+ """Establish a set of translation functions for the domain.
+
+ :param domain: Name of translation domain,
+ specifying a message catalog.
+ :type domain: str
+ :param lazy: Delays translation until a message is emitted.
+ Defaults to False.
+ :type lazy: Boolean
+ :param localedir: Directory with translation catalogs.
+ :type localedir: str
+ """
+ self.domain = domain
+ if localedir is None:
+ localedir = os.environ.get(domain.upper() + '_LOCALEDIR')
+ self.localedir = localedir
+
+ def _make_translation_func(self, domain=None):
+ """Return a new translation function ready for use.
+
+ Takes into account whether or not lazy translation is being
+ done.
+
+ The domain can be specified to override the default from the
+ factory, but the localedir from the factory is always used
+ because we assume the log-level translation catalogs are
+ installed in the same directory as the main application
+ catalog.
+
+ """
+ if domain is None:
+ domain = self.domain
+ t = gettext.translation(domain,
+ localedir=self.localedir,
+ fallback=True)
+ # Use the appropriate method of the translation object based
+ # on the python version.
+ m = t.gettext if six.PY3 else t.ugettext
+
+ def f(msg):
+ """oslo.i18n.gettextutils translation function."""
+ if USE_LAZY:
+ return Message(msg, domain=domain)
+ return m(msg)
+ return f
+
+ @property
+ def primary(self):
+ "The default translation function."
+ return self._make_translation_func()
+
+ def _make_log_translation_func(self, level):
+ return self._make_translation_func(self.domain + '-log-' + level)
+
+ @property
+ def log_info(self):
+ "Translate info-level log messages."
+ return self._make_log_translation_func('info')
+
+ @property
+ def log_warning(self):
+ "Translate warning-level log messages."
+ return self._make_log_translation_func('warning')
+
+ @property
+ def log_error(self):
+ "Translate error-level log messages."
+ return self._make_log_translation_func('error')
+
+ @property
+ def log_critical(self):
+ "Translate critical-level log messages."
+ return self._make_log_translation_func('critical')
+
+
+# NOTE(dhellmann): When this module moves out of the incubator into
+# oslo.i18n, these global variables can be moved to an integration
+# module within each application.
+
+# Create the global translation functions.
+_translators = TranslatorFactory('oslo.serialization')
+
+# The primary translation function using the well-known name "_"
+_ = _translators.primary
+
+# Translators for log levels.
+#
+# The abbreviated names are meant to reflect the usual use of a short
+# name like '_'. The "L" is for "log" and the other letter comes from
+# the level.
+_LI = _translators.log_info
+_LW = _translators.log_warning
+_LE = _translators.log_error
+_LC = _translators.log_critical
+
+# NOTE(dhellmann): End of globals that will move to the application's
+# integration module.
+
+
+def enable_lazy():
+ """Convenience function for configuring _() to use lazy gettext
+
+ Call this at the start of execution to enable the gettextutils._
+ function to use lazy gettext functionality. This is useful if
+ your project is importing _ directly instead of using the
+ gettextutils.install() way of importing the _ function.
+ """
+ global USE_LAZY
+ USE_LAZY = True
+
+
+def install(domain):
+ """Install a _() function using the given translation domain.
+
+ Given a translation domain, install a _() function using gettext's
+ install() function.
+
+ The main difference from gettext.install() is that we allow
+ overriding the default localedir (e.g. /usr/share/locale) using
+ a translation-domain-specific environment variable (e.g.
+ NOVA_LOCALEDIR).
+
+ Note that to enable lazy translation, enable_lazy must be
+ called.
+
+ :param domain: the translation domain
+ """
+ from six import moves
+ tf = TranslatorFactory(domain)
+ moves.builtins.__dict__['_'] = tf.primary
+
+
+class Message(six.text_type):
+ """A Message object is a unicode object that can be translated.
+
+ Translation of Message is done explicitly using the translate() method.
+ For all non-translation intents and purposes, a Message is simply unicode,
+ and can be treated as such.
+ """
+
+ def __new__(cls, msgid, msgtext=None, params=None,
+ domain='oslo.serialization', *args):
+ """Create a new Message object.
+
+ In order for translation to work gettext requires a message ID, this
+ msgid will be used as the base unicode text. It is also possible
+ for the msgid and the base unicode text to be different by passing
+ the msgtext parameter.
+ """
+ # If the base msgtext is not given, we use the default translation
+ # of the msgid (which is in English) just in case the system locale is
+ # not English, so that the base text will be in that locale by default.
+ if not msgtext:
+ msgtext = Message._translate_msgid(msgid, domain)
+ # We want to initialize the parent unicode with the actual object that
+ # would have been plain unicode if 'Message' was not enabled.
+ msg = super(Message, cls).__new__(cls, msgtext)
+ msg.msgid = msgid
+ msg.domain = domain
+ msg.params = params
+ return msg
+
+ def translate(self, desired_locale=None):
+ """Translate this message to the desired locale.
+
+ :param desired_locale: The desired locale to translate the message to,
+ if no locale is provided the message will be
+ translated to the system's default locale.
+
+ :returns: the translated message in unicode
+ """
+
+ translated_message = Message._translate_msgid(self.msgid,
+ self.domain,
+ desired_locale)
+ if self.params is None:
+ # No need for more translation
+ return translated_message
+
+ # This Message object may have been formatted with one or more
+ # Message objects as substitution arguments, given either as a single
+ # argument, part of a tuple, or as one or more values in a dictionary.
+ # When translating this Message we need to translate those Messages too
+ translated_params = _translate_args(self.params, desired_locale)
+
+ translated_message = translated_message % translated_params
+
+ return translated_message
+
+ @staticmethod
+ def _translate_msgid(msgid, domain, desired_locale=None):
+ if not desired_locale:
+ system_locale = locale.getdefaultlocale()
+ # If the system locale is not available to the runtime use English
+ if not system_locale[0]:
+ desired_locale = 'en_US'
+ else:
+ desired_locale = system_locale[0]
+
+ locale_dir = os.environ.get(domain.upper() + '_LOCALEDIR')
+ lang = gettext.translation(domain,
+ localedir=locale_dir,
+ languages=[desired_locale],
+ fallback=True)
+ if six.PY3:
+ translator = lang.gettext
+ else:
+ translator = lang.ugettext
+
+ translated_message = translator(msgid)
+ return translated_message
+
+ def __mod__(self, other):
+ # When we mod a Message we want the actual operation to be performed
+ # by the parent class (i.e. unicode()), the only thing we do here is
+ # save the original msgid and the parameters in case of a translation
+ params = self._sanitize_mod_params(other)
+ unicode_mod = super(Message, self).__mod__(params)
+ modded = Message(self.msgid,
+ msgtext=unicode_mod,
+ params=params,
+ domain=self.domain)
+ return modded
+
+ def _sanitize_mod_params(self, other):
+ """Sanitize the object being modded with this Message.
+
+ - Add support for modding 'None' so translation supports it
+ - Trim the modded object, which can be a large dictionary, to only
+ those keys that would actually be used in a translation
+ - Snapshot the object being modded, in case the message is
+ translated, it will be used as it was when the Message was created
+ """
+ if other is None:
+ params = (other,)
+ elif isinstance(other, dict):
+ # Merge the dictionaries
+ # Copy each item in case one does not support deep copy.
+ params = {}
+ if isinstance(self.params, dict):
+ for key, val in self.params.items():
+ params[key] = self._copy_param(val)
+ for key, val in other.items():
+ params[key] = self._copy_param(val)
+ else:
+ params = self._copy_param(other)
+ return params
+
+ def _copy_param(self, param):
+ try:
+ return copy.deepcopy(param)
+ except Exception:
+ # Fallback to casting to unicode this will handle the
+ # python code-like objects that can't be deep-copied
+ return six.text_type(param)
+
+ def __add__(self, other):
+ msg = _('Message objects do not support addition.')
+ raise TypeError(msg)
+
+ def __radd__(self, other):
+ return self.__add__(other)
+
+ if six.PY2:
+ def __str__(self):
+ # NOTE(luisg): Logging in python 2.6 tries to str() log records,
+ # and it expects specifically a UnicodeError in order to proceed.
+ msg = _('Message objects do not support str() because they may '
+ 'contain non-ascii characters. '
+ 'Please use unicode() or translate() instead.')
+ raise UnicodeError(msg)
+
+
+def get_available_languages(domain):
+ """Lists the available languages for the given translation domain.
+
+ :param domain: the domain to get languages for
+ """
+ if domain in _AVAILABLE_LANGUAGES:
+ return copy.copy(_AVAILABLE_LANGUAGES[domain])
+
+ localedir = '%s_LOCALEDIR' % domain.upper()
+ find = lambda x: gettext.find(domain,
+ localedir=os.environ.get(localedir),
+ languages=[x])
+
+ # NOTE(mrodden): en_US should always be available (and first in case
+ # order matters) since our in-line message strings are en_US
+ language_list = ['en_US']
+ # NOTE(luisg): Babel <1.0 used a function called list(), which was
+ # renamed to locale_identifiers() in >=1.0, the requirements master list
+ # requires >=0.9.6, uncapped, so defensively work with both. We can remove
+ # this check when the master list updates to >=1.0, and update all projects
+ list_identifiers = (getattr(localedata, 'list', None) or
+ getattr(localedata, 'locale_identifiers'))
+ locale_identifiers = list_identifiers()
+
+ for i in locale_identifiers:
+ if find(i) is not None:
+ language_list.append(i)
+
+ # NOTE(luisg): Babel>=1.0,<1.3 has a bug where some OpenStack supported
+ # locales (e.g. 'zh_CN', and 'zh_TW') aren't supported even though they
+ # are perfectly legitimate locales:
+ # https://github.com/mitsuhiko/babel/issues/37
+ # In Babel 1.3 they fixed the bug and they support these locales, but
+ # they are still not explicitly "listed" by locale_identifiers().
+ # That is why we add the locales here explicitly if necessary so that
+ # they are listed as supported.
+ aliases = {'zh': 'zh_CN',
+ 'zh_Hant_HK': 'zh_HK',
+ 'zh_Hant': 'zh_TW',
+ 'fil': 'tl_PH'}
+ for (locale_, alias) in six.iteritems(aliases):
+ if locale_ in language_list and alias not in language_list:
+ language_list.append(alias)
+
+ _AVAILABLE_LANGUAGES[domain] = language_list
+ return copy.copy(language_list)
+
+
+def translate(obj, desired_locale=None):
+ """Gets the translated unicode representation of the given object.
+
+ If the object is not translatable it is returned as-is.
+ If the locale is None the object is translated to the system locale.
+
+ :param obj: the object to translate
+ :param desired_locale: the locale to translate the message to, if None the
+ default system locale will be used
+ :returns: the translated object in unicode, or the original object if
+ it could not be translated
+ """
+ message = obj
+ if not isinstance(message, Message):
+ # If the object to translate is not already translatable,
+ # let's first get its unicode representation
+ message = six.text_type(obj)
+ if isinstance(message, Message):
+ # Even after unicoding() we still need to check if we are
+ # running with translatable unicode before translating
+ return message.translate(desired_locale)
+ return obj
+
+
+def _translate_args(args, desired_locale=None):
+ """Translates all the translatable elements of the given arguments object.
+
+ This method is used for translating the translatable values in method
+ arguments which include values of tuples or dictionaries.
+ If the object is not a tuple or a dictionary the object itself is
+ translated if it is translatable.
+
+ If the locale is None the object is translated to the system locale.
+
+ :param args: the args to translate
+ :param desired_locale: the locale to translate the args to, if None the
+ default system locale will be used
+ :returns: a new args object with the translated contents of the original
+ """
+ if isinstance(args, tuple):
+ return tuple(translate(v, desired_locale) for v in args)
+ if isinstance(args, dict):
+ translated_dict = {}
+ for (k, v) in six.iteritems(args):
+ translated_v = translate(v, desired_locale)
+ translated_dict[k] = translated_v
+ return translated_dict
+ return translate(args, desired_locale)
+
+
+class TranslationHandler(handlers.MemoryHandler):
+ """Handler that translates records before logging them.
+
+ The TranslationHandler takes a locale and a target logging.Handler object
+ to forward LogRecord objects to after translating them. This handler
+ depends on Message objects being logged, instead of regular strings.
+
+ The handler can be configured declaratively in the logging.conf as follows:
+
+ [handlers]
+ keys = translatedlog, translator
+
+ [handler_translatedlog]
+ class = handlers.WatchedFileHandler
+ args = ('/var/log/api-localized.log',)
+ formatter = context
+
+ [handler_translator]
+ class = openstack.common.log.TranslationHandler
+ target = translatedlog
+ args = ('zh_CN',)
+
+ If the specified locale is not available in the system, the handler will
+ log in the default locale.
+ """
+
+ def __init__(self, locale=None, target=None):
+ """Initialize a TranslationHandler
+
+ :param locale: locale to use for translating messages
+ :param target: logging.Handler object to forward
+ LogRecord objects to after translation
+ """
+ # NOTE(luisg): In order to allow this handler to be a wrapper for
+ # other handlers, such as a FileHandler, and still be able to
+ # configure it using logging.conf, this handler has to extend
+ # MemoryHandler because only the MemoryHandlers' logging.conf
+ # parsing is implemented such that it accepts a target handler.
+ handlers.MemoryHandler.__init__(self, capacity=0, target=target)
+ self.locale = locale
+
+ def setFormatter(self, fmt):
+ self.target.setFormatter(fmt)
+
+ def emit(self, record):
+ # We save the message from the original record to restore it
+ # after translation, so other handlers are not affected by this
+ original_msg = record.msg
+ original_args = record.args
+
+ try:
+ self._translate_and_log_record(record)
+ finally:
+ record.msg = original_msg
+ record.args = original_args
+
+ def _translate_and_log_record(self, record):
+ record.msg = translate(record.msg, self.locale)
+
+ # In addition to translating the message, we also need to translate
+ # arguments that were passed to the log method that were not part
+ # of the main message e.g., log.info(_('Some message %s'), this_one))
+ record.args = _translate_args(record.args, self.locale)
+
+ self.target.emit(record)
diff --git a/oslo/serialization/openstack/common/importutils.py b/oslo/serialization/openstack/common/importutils.py
new file mode 100644
index 0000000..b2d3d0f
--- /dev/null
+++ b/oslo/serialization/openstack/common/importutils.py
@@ -0,0 +1,73 @@
+# Copyright 2011 OpenStack Foundation.
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+"""
+Import related utilities and helper functions.
+"""
+
+import sys
+import traceback
+
+
+def import_class(import_str):
+ """Returns a class from a string including module and class."""
+ mod_str, _sep, class_str = import_str.rpartition('.')
+ __import__(mod_str)
+ try:
+ return getattr(sys.modules[mod_str], class_str)
+ except AttributeError:
+ raise ImportError('Class %s cannot be found (%s)' %
+ (class_str,
+ traceback.format_exception(*sys.exc_info())))
+
+
+def import_object(import_str, *args, **kwargs):
+ """Import a class and return an instance of it."""
+ return import_class(import_str)(*args, **kwargs)
+
+
+def import_object_ns(name_space, import_str, *args, **kwargs):
+ """Tries to import object from default namespace.
+
+ Imports a class and return an instance of it, first by trying
+ to find the class in a default namespace, then failing back to
+ a full path if not found in the default namespace.
+ """
+ import_value = "%s.%s" % (name_space, import_str)
+ try:
+ return import_class(import_value)(*args, **kwargs)
+ except ImportError:
+ return import_class(import_str)(*args, **kwargs)
+
+
+def import_module(import_str):
+ """Import a module."""
+ __import__(import_str)
+ return sys.modules[import_str]
+
+
+def import_versioned_module(version, submodule=None):
+ module = 'oslo.serialization.v%s' % version
+ if submodule:
+ module = '.'.join((module, submodule))
+ return import_module(module)
+
+
+def try_import(import_str, default=None):
+ """Try to import a module and if it fails return default."""
+ try:
+ return import_module(import_str)
+ except ImportError:
+ return default
diff --git a/oslo/serialization/openstack/common/strutils.py b/oslo/serialization/openstack/common/strutils.py
new file mode 100644
index 0000000..f555de4
--- /dev/null
+++ b/oslo/serialization/openstack/common/strutils.py
@@ -0,0 +1,295 @@
+# Copyright 2011 OpenStack Foundation.
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+"""
+System-level utilities and helper functions.
+"""
+
+import math
+import re
+import sys
+import unicodedata
+
+import six
+
+from oslo.serialization.openstack.common.gettextutils import _
+
+
+UNIT_PREFIX_EXPONENT = {
+ 'k': 1,
+ 'K': 1,
+ 'Ki': 1,
+ 'M': 2,
+ 'Mi': 2,
+ 'G': 3,
+ 'Gi': 3,
+ 'T': 4,
+ 'Ti': 4,
+}
+UNIT_SYSTEM_INFO = {
+ 'IEC': (1024, re.compile(r'(^[-+]?\d*\.?\d+)([KMGT]i?)?(b|bit|B)$')),
+ 'SI': (1000, re.compile(r'(^[-+]?\d*\.?\d+)([kMGT])?(b|bit|B)$')),
+}
+
+TRUE_STRINGS = ('1', 't', 'true', 'on', 'y', 'yes')
+FALSE_STRINGS = ('0', 'f', 'false', 'off', 'n', 'no')
+
+SLUGIFY_STRIP_RE = re.compile(r"[^\w\s-]")
+SLUGIFY_HYPHENATE_RE = re.compile(r"[-\s]+")
+
+
+# NOTE(flaper87): The following 3 globals are used by `mask_password`
+_SANITIZE_KEYS = ['adminPass', 'admin_pass', 'password', 'admin_password']
+
+# NOTE(ldbragst): Let's build a list of regex objects using the list of
+# _SANITIZE_KEYS we already have. This way, we only have to add the new key
+# to the list of _SANITIZE_KEYS and we can generate regular expressions
+# for XML and JSON automatically.
+_SANITIZE_PATTERNS = []
+_FORMAT_PATTERNS = [r'(%(key)s\s*[=]\s*[\"\']).*?([\"\'])',
+ r'(<%(key)s>).*?(</%(key)s>)',
+ r'([\"\']%(key)s[\"\']\s*:\s*[\"\']).*?([\"\'])',
+ r'([\'"].*?%(key)s[\'"]\s*:\s*u?[\'"]).*?([\'"])',
+ r'([\'"].*?%(key)s[\'"]\s*,\s*\'--?[A-z]+\'\s*,\s*u?[\'"])'
+ '.*?([\'"])',
+ r'(%(key)s\s*--?[A-z]+\s*)\S+(\s*)']
+
+for key in _SANITIZE_KEYS:
+ for pattern in _FORMAT_PATTERNS:
+ reg_ex = re.compile(pattern % {'key': key}, re.DOTALL)
+ _SANITIZE_PATTERNS.append(reg_ex)
+
+
+def int_from_bool_as_string(subject):
+ """Interpret a string as a boolean and return either 1 or 0.
+
+ Any string value in:
+
+ ('True', 'true', 'On', 'on', '1')
+
+ is interpreted as a boolean True.
+
+ Useful for JSON-decoded stuff and config file parsing
+ """
+ return bool_from_string(subject) and 1 or 0
+
+
+def bool_from_string(subject, strict=False, default=False):
+ """Interpret a string as a boolean.
+
+ A case-insensitive match is performed such that strings matching 't',
+ 'true', 'on', 'y', 'yes', or '1' are considered True and, when
+ `strict=False`, anything else returns the value specified by 'default'.
+
+ Useful for JSON-decoded stuff and config file parsing.
+
+ If `strict=True`, unrecognized values, including None, will raise a
+ ValueError which is useful when parsing values passed in from an API call.
+ Strings yielding False are 'f', 'false', 'off', 'n', 'no', or '0'.
+ """
+ if not isinstance(subject, six.string_types):
+ subject = six.text_type(subject)
+
+ lowered = subject.strip().lower()
+
+ if lowered in TRUE_STRINGS:
+ return True
+ elif lowered in FALSE_STRINGS:
+ return False
+ elif strict:
+ acceptable = ', '.join(
+ "'%s'" % s for s in sorted(TRUE_STRINGS + FALSE_STRINGS))
+ msg = _("Unrecognized value '%(val)s', acceptable values are:"
+ " %(acceptable)s") % {'val': subject,
+ 'acceptable': acceptable}
+ raise ValueError(msg)
+ else:
+ return default
+
+
+def safe_decode(text, incoming=None, errors='strict'):
+ """Decodes incoming text/bytes string using `incoming` if they're not
+ already unicode.
+
+ :param incoming: Text's current encoding
+ :param errors: Errors handling policy. See here for valid
+ values http://docs.python.org/2/library/codecs.html
+ :returns: text or a unicode `incoming` encoded
+ representation of it.
+ :raises TypeError: If text is not an instance of str
+ """
+ if not isinstance(text, (six.string_types, six.binary_type)):
+ raise TypeError("%s can't be decoded" % type(text))
+
+ if isinstance(text, six.text_type):
+ return text
+
+ if not incoming:
+ incoming = (sys.stdin.encoding or
+ sys.getdefaultencoding())
+
+ try:
+ return text.decode(incoming, errors)
+ except UnicodeDecodeError:
+ # Note(flaper87) If we get here, it means that
+ # sys.stdin.encoding / sys.getdefaultencoding
+ # didn't return a suitable encoding to decode
+ # text. This happens mostly when global LANG
+ # var is not set correctly and there's no
+ # default encoding. In this case, most likely
+ # python will use ASCII or ANSI encoders as
+ # default encodings but they won't be capable
+ # of decoding non-ASCII characters.
+ #
+ # Also, UTF-8 is being used since it's an ASCII
+ # extension.
+ return text.decode('utf-8', errors)
+
+
+def safe_encode(text, incoming=None,
+ encoding='utf-8', errors='strict'):
+ """Encodes incoming text/bytes string using `encoding`.
+
+ If incoming is not specified, text is expected to be encoded with
+ current python's default encoding. (`sys.getdefaultencoding`)
+
+ :param incoming: Text's current encoding
+ :param encoding: Expected encoding for text (Default UTF-8)
+ :param errors: Errors handling policy. See here for valid
+ values http://docs.python.org/2/library/codecs.html
+ :returns: text or a bytestring `encoding` encoded
+ representation of it.
+ :raises TypeError: If text is not an instance of str
+ """
+ if not isinstance(text, (six.string_types, six.binary_type)):
+ raise TypeError("%s can't be encoded" % type(text))
+
+ if not incoming:
+ incoming = (sys.stdin.encoding or
+ sys.getdefaultencoding())
+
+ if isinstance(text, six.text_type):
+ return text.encode(encoding, errors)
+ elif text and encoding != incoming:
+ # Decode text before encoding it with `encoding`
+ text = safe_decode(text, incoming, errors)
+ return text.encode(encoding, errors)
+ else:
+ return text
+
+
+def string_to_bytes(text, unit_system='IEC', return_int=False):
+ """Converts a string into an float representation of bytes.
+
+ The units supported for IEC ::
+
+ Kb(it), Kib(it), Mb(it), Mib(it), Gb(it), Gib(it), Tb(it), Tib(it)
+ KB, KiB, MB, MiB, GB, GiB, TB, TiB
+
+ The units supported for SI ::
+
+ kb(it), Mb(it), Gb(it), Tb(it)
+ kB, MB, GB, TB
+
+ Note that the SI unit system does not support capital letter 'K'
+
+ :param text: String input for bytes size conversion.
+ :param unit_system: Unit system for byte size conversion.
+ :param return_int: If True, returns integer representation of text
+ in bytes. (default: decimal)
+ :returns: Numerical representation of text in bytes.
+ :raises ValueError: If text has an invalid value.
+
+ """
+ try:
+ base, reg_ex = UNIT_SYSTEM_INFO[unit_system]
+ except KeyError:
+ msg = _('Invalid unit system: "%s"') % unit_system
+ raise ValueError(msg)
+ match = reg_ex.match(text)
+ if match:
+ magnitude = float(match.group(1))
+ unit_prefix = match.group(2)
+ if match.group(3) in ['b', 'bit']:
+ magnitude /= 8
+ else:
+ msg = _('Invalid string format: %s') % text
+ raise ValueError(msg)
+ if not unit_prefix:
+ res = magnitude
+ else:
+ res = magnitude * pow(base, UNIT_PREFIX_EXPONENT[unit_prefix])
+ if return_int:
+ return int(math.ceil(res))
+ return res
+
+
+def to_slug(value, incoming=None, errors="strict"):
+ """Normalize string.
+
+ Convert to lowercase, remove non-word characters, and convert spaces
+ to hyphens.
+
+ Inspired by Django's `slugify` filter.
+
+ :param value: Text to slugify
+ :param incoming: Text's current encoding
+ :param errors: Errors handling policy. See here for valid
+ values http://docs.python.org/2/library/codecs.html
+ :returns: slugified unicode representation of `value`
+ :raises TypeError: If text is not an instance of str
+ """
+ value = safe_decode(value, incoming, errors)
+ # NOTE(aababilov): no need to use safe_(encode|decode) here:
+ # encodings are always "ascii", error handling is always "ignore"
+ # and types are always known (first: unicode; second: str)
+ value = unicodedata.normalize("NFKD", value).encode(
+ "ascii", "ignore").decode("ascii")
+ value = SLUGIFY_STRIP_RE.sub("", value).strip().lower()
+ return SLUGIFY_HYPHENATE_RE.sub("-", value)
+
+
+def mask_password(message, secret="***"):
+ """Replace password with 'secret' in message.
+
+ :param message: The string which includes security information.
+ :param secret: value with which to replace passwords.
+ :returns: The unicode value of message with the password fields masked.
+
+ For example:
+
+ >>> mask_password("'adminPass' : 'aaaaa'")
+ "'adminPass' : '***'"
+ >>> mask_password("'admin_pass' : 'aaaaa'")
+ "'admin_pass' : '***'"
+ >>> mask_password('"password" : "aaaaa"')
+ '"password" : "***"'
+ >>> mask_password("'original_password' : 'aaaaa'")
+ "'original_password' : '***'"
+ >>> mask_password("u'original_password' : u'aaaaa'")
+ "u'original_password' : u'***'"
+ """
+ message = six.text_type(message)
+
+ # NOTE(ldbragst): Check to see if anything in message contains any key
+ # specified in _SANITIZE_KEYS, if not then just return the message since
+ # we don't have to mask any passwords.
+ if not any(key in message for key in _SANITIZE_KEYS):
+ return message
+
+ secret = r'\g<1>' + secret + r'\g<2>'
+ for pattern in _SANITIZE_PATTERNS:
+ message = re.sub(pattern, secret, message)
+ return message
diff --git a/oslo/serialization/openstack/common/timeutils.py b/oslo/serialization/openstack/common/timeutils.py
new file mode 100644
index 0000000..c48da95
--- /dev/null
+++ b/oslo/serialization/openstack/common/timeutils.py
@@ -0,0 +1,210 @@
+# Copyright 2011 OpenStack Foundation.
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+"""
+Time related utilities and helper functions.
+"""
+
+import calendar
+import datetime
+import time
+
+import iso8601
+import six
+
+
+# ISO 8601 extended time format with microseconds
+_ISO8601_TIME_FORMAT_SUBSECOND = '%Y-%m-%dT%H:%M:%S.%f'
+_ISO8601_TIME_FORMAT = '%Y-%m-%dT%H:%M:%S'
+PERFECT_TIME_FORMAT = _ISO8601_TIME_FORMAT_SUBSECOND
+
+
+def isotime(at=None, subsecond=False):
+ """Stringify time in ISO 8601 format."""
+ if not at:
+ at = utcnow()
+ st = at.strftime(_ISO8601_TIME_FORMAT
+ if not subsecond
+ else _ISO8601_TIME_FORMAT_SUBSECOND)
+ tz = at.tzinfo.tzname(None) if at.tzinfo else 'UTC'
+ st += ('Z' if tz == 'UTC' else tz)
+ return st
+
+
+def parse_isotime(timestr):
+ """Parse time from ISO 8601 format."""
+ try:
+ return iso8601.parse_date(timestr)
+ except iso8601.ParseError as e:
+ raise ValueError(six.text_type(e))
+ except TypeError as e:
+ raise ValueError(six.text_type(e))
+
+
+def strtime(at=None, fmt=PERFECT_TIME_FORMAT):
+ """Returns formatted utcnow."""
+ if not at:
+ at = utcnow()
+ return at.strftime(fmt)
+
+
+def parse_strtime(timestr, fmt=PERFECT_TIME_FORMAT):
+ """Turn a formatted time back into a datetime."""
+ return datetime.datetime.strptime(timestr, fmt)
+
+
+def normalize_time(timestamp):
+ """Normalize time in arbitrary timezone to UTC naive object."""
+ offset = timestamp.utcoffset()
+ if offset is None:
+ return timestamp
+ return timestamp.replace(tzinfo=None) - offset
+
+
+def is_older_than(before, seconds):
+ """Return True if before is older than seconds."""
+ if isinstance(before, six.string_types):
+ before = parse_strtime(before).replace(tzinfo=None)
+ else:
+ before = before.replace(tzinfo=None)
+
+ return utcnow() - before > datetime.timedelta(seconds=seconds)
+
+
+def is_newer_than(after, seconds):
+ """Return True if after is newer than seconds."""
+ if isinstance(after, six.string_types):
+ after = parse_strtime(after).replace(tzinfo=None)
+ else:
+ after = after.replace(tzinfo=None)
+
+ return after - utcnow() > datetime.timedelta(seconds=seconds)
+
+
+def utcnow_ts():
+ """Timestamp version of our utcnow function."""
+ if utcnow.override_time is None:
+ # NOTE(kgriffs): This is several times faster
+ # than going through calendar.timegm(...)
+ return int(time.time())
+
+ return calendar.timegm(utcnow().timetuple())
+
+
+def utcnow():
+ """Overridable version of utils.utcnow."""
+ if utcnow.override_time:
+ try:
+ return utcnow.override_time.pop(0)
+ except AttributeError:
+ return utcnow.override_time
+ return datetime.datetime.utcnow()
+
+
+def iso8601_from_timestamp(timestamp):
+ """Returns an iso8601 formatted date from timestamp."""
+ return isotime(datetime.datetime.utcfromtimestamp(timestamp))
+
+
+utcnow.override_time = None
+
+
+def set_time_override(override_time=None):
+ """Overrides utils.utcnow.
+
+ Make it return a constant time or a list thereof, one at a time.
+
+ :param override_time: datetime instance or list thereof. If not
+ given, defaults to the current UTC time.
+ """
+ utcnow.override_time = override_time or datetime.datetime.utcnow()
+
+
+def advance_time_delta(timedelta):
+ """Advance overridden time using a datetime.timedelta."""
+ assert utcnow.override_time is not None
+ try:
+ for dt in utcnow.override_time:
+ dt += timedelta
+ except TypeError:
+ utcnow.override_time += timedelta
+
+
+def advance_time_seconds(seconds):
+ """Advance overridden time by seconds."""
+ advance_time_delta(datetime.timedelta(0, seconds))
+
+
+def clear_time_override():
+ """Remove the overridden time."""
+ utcnow.override_time = None
+
+
+def marshall_now(now=None):
+ """Make an rpc-safe datetime with microseconds.
+
+ Note: tzinfo is stripped, but not required for relative times.
+ """
+ if not now:
+ now = utcnow()
+ return dict(day=now.day, month=now.month, year=now.year, hour=now.hour,
+ minute=now.minute, second=now.second,
+ microsecond=now.microsecond)
+
+
+def unmarshall_time(tyme):
+ """Unmarshall a datetime dict."""
+ return datetime.datetime(day=tyme['day'],
+ month=tyme['month'],
+ year=tyme['year'],
+ hour=tyme['hour'],
+ minute=tyme['minute'],
+ second=tyme['second'],
+ microsecond=tyme['microsecond'])
+
+
+def delta_seconds(before, after):
+ """Return the difference between two timing objects.
+
+ Compute the difference in seconds between two date, time, or
+ datetime objects (as a float, to microsecond resolution).
+ """
+ delta = after - before
+ return total_seconds(delta)
+
+
+def total_seconds(delta):
+ """Return the total seconds of datetime.timedelta object.
+
+ Compute total seconds of datetime.timedelta, datetime.timedelta
+ doesn't have method total_seconds in Python2.6, calculate it manually.
+ """
+ try:
+ return delta.total_seconds()
+ except AttributeError:
+ return ((delta.days * 24 * 3600) + delta.seconds +
+ float(delta.microseconds) / (10 ** 6))
+
+
+def is_soon(dt, window):
+ """Determines if time is going to happen in the next window seconds.
+
+ :param dt: the time
+ :param window: minimum seconds to remain to consider the time not soon
+
+ :return: True if expiration is within the given duration
+ """
+ soon = (utcnow() + datetime.timedelta(seconds=window))
+ return normalize_time(dt) <= soon
diff --git a/requirements.txt b/requirements.txt
index dbb4dd1..6ebf8fb 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1 +1,5 @@
-Babel>=0.9.6 \ No newline at end of file
+Babel>=0.9.6
+six>=1.7.0
+# Only for timeutils in openstack.common - once we're using the
+# library version this can be removed.
+iso8601>=0.1.9
diff --git a/setup.py b/setup.py
index 7eeb36b..70c2b3f 100755
--- a/setup.py
+++ b/setup.py
@@ -19,4 +19,4 @@ import setuptools
setuptools.setup(
setup_requires=['pbr'],
- pbr=True) \ No newline at end of file
+ pbr=True)
diff --git a/test-requirements.txt b/test-requirements.txt
index 41eb968..7ef89b1 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -1,3 +1,6 @@
hacking>=0.5.6,<0.8
+mock>=1.0
+netaddr
oslosphinx
-oslotest \ No newline at end of file
+oslotest
+simplejson
diff --git a/tests/__init__.py b/tests/__init__.py
index f88664e..e69de29 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -1,13 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License. \ No newline at end of file
diff --git a/tests/base.py b/tests/base.py
deleted file mode 100644
index f9a09a8..0000000
--- a/tests/base.py
+++ /dev/null
@@ -1,54 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright 2010-2011 OpenStack Foundation
-# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-import os
-
-import fixtures
-import testtools
-
-_TRUE_VALUES = ('true', '1', 'yes')
-
-# FIXME(dhellmann) Update this to use oslo.test library
-
-class TestCase(testtools.TestCase):
-
- """Test case base class for all unit tests."""
-
- def setUp(self):
- """Run before each test method to initialize test environment."""
-
- super(TestCase, self).setUp()
- test_timeout = os.environ.get('OS_TEST_TIMEOUT', 0)
- try:
- test_timeout = int(test_timeout)
- except ValueError:
- # If timeout value is invalid do not set a timeout.
- test_timeout = 0
- if test_timeout > 0:
- self.useFixture(fixtures.Timeout(test_timeout, gentle=True))
-
- self.useFixture(fixtures.NestedTempfile())
- self.useFixture(fixtures.TempHomeDir())
-
- if os.environ.get('OS_STDOUT_CAPTURE') in _TRUE_VALUES:
- stdout = self.useFixture(fixtures.StringStream('stdout')).stream
- self.useFixture(fixtures.MonkeyPatch('sys.stdout', stdout))
- if os.environ.get('OS_STDERR_CAPTURE') in _TRUE_VALUES:
- stderr = self.useFixture(fixtures.StringStream('stderr')).stream
- self.useFixture(fixtures.MonkeyPatch('sys.stderr', stderr))
-
- self.log_fixture = self.useFixture(fixtures.FakeLogger()) \ No newline at end of file
diff --git a/tests/unit/test_jsonutils.py b/tests/test_jsonutils.py
index cb9123d..1eeb30f 100644
--- a/tests/unit/test_jsonutils.py
+++ b/tests/test_jsonutils.py
@@ -23,8 +23,8 @@ import simplejson
import six
import six.moves.xmlrpc_client as xmlrpclib
-from openstack.common import gettextutils
-from openstack.common import jsonutils
+from oslo.serialization import jsonutils
+from oslo.serialization.openstack.common import gettextutils
class JSONUtilsTestMixin(object):
diff --git a/tests/test_serialization.py b/tests/test_serialization.py
deleted file mode 100644
index c8d7a07..0000000
--- a/tests/test_serialization.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-"""
-test_serialization
-----------------------------------
-
-Tests for `serialization` module.
-"""
-
-from . import base
-
-
-class TestSerialization(base.TestCase):
-
- def test_something(self):
- pass \ No newline at end of file
diff --git a/tools/run_cross_tests.sh b/tools/run_cross_tests.sh
new file mode 100755
index 0000000..5e7bc11
--- /dev/null
+++ b/tools/run_cross_tests.sh
@@ -0,0 +1,91 @@
+#!/bin/bash
+#
+# Run cross-project tests
+#
+# Usage:
+#
+# run_cross_tests.sh project_dir venv
+
+# Fail the build if any command fails
+set -e
+
+project_dir="$1"
+venv="$2"
+
+if [ -z "$project_dir" -o -z "$venv" ]
+then
+ cat - <<EOF
+ERROR: Missing argument(s)
+
+Usage:
+
+ $0 PROJECT_DIR VIRTUAL_ENV
+
+Example, run the python 2.7 tests for python-neutronclient:
+
+ $0 /opt/stack/python-neutronclient py27
+
+EOF
+ exit 1
+fi
+
+# Set up the virtualenv without running the tests
+(cd $project_dir && tox --notest -e $venv)
+
+tox_envbin=$project_dir/.tox/$venv/bin
+
+our_name=$(python setup.py --name)
+
+# Replace the pip-installed package with the version in our source
+# tree. Look to see if we are already installed before trying to
+# uninstall ourselves, to avoid failures from packages that do not use us
+# yet.
+if $tox_envbin/pip freeze | grep -q $our_name
+then
+ $tox_envbin/pip uninstall -y $our_name
+fi
+$tox_envbin/pip install -U .
+
+# Run the tests
+(cd $project_dir && tox -e $venv)
+result=$?
+
+
+# The below checks are modified from
+# openstack-infra/config/modules/jenkins/files/slave_scripts/run-unittests.sh.
+
+# They expect to be run in the project being tested.
+cd $project_dir
+
+echo "Begin pip freeze output from test virtualenv:"
+echo "======================================================================"
+.tox/$venv/bin/pip freeze
+echo "======================================================================"
+
+# We only want to run the next check if the tool is installed, so look
+# for it before continuing.
+if [ -f /usr/local/jenkins/slave_scripts/subunit2html.py -a -d ".testrepository" ] ; then
+ if [ -f ".testrepository/0.2" ] ; then
+ cp .testrepository/0.2 ./subunit_log.txt
+ elif [ -f ".testrepository/0" ] ; then
+ .tox/$venv/bin/subunit-1to2 < .testrepository/0 > ./subunit_log.txt
+ fi
+ .tox/$venv/bin/python /usr/local/jenkins/slave_scripts/subunit2html.py ./subunit_log.txt testr_results.html
+ gzip -9 ./subunit_log.txt
+ gzip -9 ./testr_results.html
+
+ export PYTHON=.tox/$venv/bin/python
+ set -e
+ rancount=$(.tox/$venv/bin/testr last | sed -ne 's/Ran \([0-9]\+\).*tests in.*/\1/p')
+ if [ "$rancount" -eq "0" ] ; then
+ echo
+ echo "Zero tests were run. At least one test should have been run."
+ echo "Failing this test as a result"
+ echo
+ exit 1
+ fi
+fi
+
+# If we make it this far, report status based on the tests that were
+# run.
+exit $result
diff --git a/tox.ini b/tox.ini
index 83f4dac..95d4e1f 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,6 +1,6 @@
[tox]
minversion = 1.6
-envlist = py26,py27,py33,pypy,pep8
+envlist = py33,py26,py27,pypy,pep8
# NOTE(dhellmann): We cannot set skipdist=True
# for oslo libraries because of the namespace package.
#skipsdist = True