fune/third_party/python/slugid/test.py
Andrew Halberstadt 5ccbc0cfd7 Bug 1346025 - Move vendored python modules from /python to /third_party/python, r=ted
This commit is a simple 'hg mv' and does not contain any file modifications.

***
Bug 1346025 - Split vendored modules in python/moz.build to third_party/python/moz.build, r=ted

***
Bug 1346025 - Update references to moved python modules, r=ted

MozReview-Commit-ID: A12RnIFtXju

--HG--
rename : python/PyECC/MANIFEST.in => third_party/python/PyECC/MANIFEST.in
rename : python/PyECC/README.md => third_party/python/PyECC/README.md
rename : python/PyECC/ecc/Key.py => third_party/python/PyECC/ecc/Key.py
rename : python/PyECC/ecc/Rabbit.py => third_party/python/PyECC/ecc/Rabbit.py
rename : python/PyECC/ecc/SecurityViolationException.py => third_party/python/PyECC/ecc/SecurityViolationException.py
rename : python/PyECC/ecc/__init__.py => third_party/python/PyECC/ecc/__init__.py
rename : python/PyECC/ecc/curves.py => third_party/python/PyECC/ecc/curves.py
rename : python/PyECC/ecc/eccrypt.py => third_party/python/PyECC/ecc/eccrypt.py
rename : python/PyECC/ecc/ecdsa.py => third_party/python/PyECC/ecc/ecdsa.py
rename : python/PyECC/ecc/elliptic.py => third_party/python/PyECC/ecc/elliptic.py
rename : python/PyECC/ecc/encoding.py => third_party/python/PyECC/ecc/encoding.py
rename : python/PyECC/ecc/performance.py => third_party/python/PyECC/ecc/performance.py
rename : python/PyECC/ecc/primes.py => third_party/python/PyECC/ecc/primes.py
rename : python/PyECC/ecc/shacrypt.py => third_party/python/PyECC/ecc/shacrypt.py
rename : python/PyECC/setup.py => third_party/python/PyECC/setup.py
rename : python/blessings/LICENSE => third_party/python/blessings/LICENSE
rename : python/blessings/MANIFEST.in => third_party/python/blessings/MANIFEST.in
rename : python/blessings/PKG-INFO => third_party/python/blessings/PKG-INFO
rename : python/blessings/README.rst => third_party/python/blessings/README.rst
rename : python/blessings/blessings/__init__.py => third_party/python/blessings/blessings/__init__.py
rename : python/blessings/blessings/tests.py => third_party/python/blessings/blessings/tests.py
rename : python/blessings/setup.cfg => third_party/python/blessings/setup.cfg
rename : python/blessings/setup.py => third_party/python/blessings/setup.py
rename : python/blessings/tox.ini => third_party/python/blessings/tox.ini
rename : python/compare-locales/compare_locales/__init__.py => third_party/python/compare-locales/compare_locales/__init__.py
rename : python/compare-locales/compare_locales/checks.py => third_party/python/compare-locales/compare_locales/checks.py
rename : python/compare-locales/compare_locales/commands.py => third_party/python/compare-locales/compare_locales/commands.py
rename : python/compare-locales/compare_locales/compare.py => third_party/python/compare-locales/compare_locales/compare.py
rename : python/compare-locales/compare_locales/parser.py => third_party/python/compare-locales/compare_locales/parser.py
rename : python/compare-locales/compare_locales/paths.py => third_party/python/compare-locales/compare_locales/paths.py
rename : python/compare-locales/compare_locales/tests/__init__.py => third_party/python/compare-locales/compare_locales/tests/__init__.py
rename : python/compare-locales/compare_locales/tests/data/bug121341.properties => third_party/python/compare-locales/compare_locales/tests/data/bug121341.properties
rename : python/compare-locales/compare_locales/tests/data/test.properties => third_party/python/compare-locales/compare_locales/tests/data/test.properties
rename : python/compare-locales/compare_locales/tests/data/triple-license.dtd => third_party/python/compare-locales/compare_locales/tests/data/triple-license.dtd
rename : python/compare-locales/compare_locales/tests/test_checks.py => third_party/python/compare-locales/compare_locales/tests/test_checks.py
rename : python/compare-locales/compare_locales/tests/test_compare.py => third_party/python/compare-locales/compare_locales/tests/test_compare.py
rename : python/compare-locales/compare_locales/tests/test_dtd.py => third_party/python/compare-locales/compare_locales/tests/test_dtd.py
rename : python/compare-locales/compare_locales/tests/test_ini.py => third_party/python/compare-locales/compare_locales/tests/test_ini.py
rename : python/compare-locales/compare_locales/tests/test_merge.py => third_party/python/compare-locales/compare_locales/tests/test_merge.py
rename : python/compare-locales/compare_locales/tests/test_properties.py => third_party/python/compare-locales/compare_locales/tests/test_properties.py
rename : python/compare-locales/compare_locales/tests/test_util.py => third_party/python/compare-locales/compare_locales/tests/test_util.py
rename : python/compare-locales/compare_locales/tests/test_webapps.py => third_party/python/compare-locales/compare_locales/tests/test_webapps.py
rename : python/compare-locales/compare_locales/util.py => third_party/python/compare-locales/compare_locales/util.py
rename : python/compare-locales/compare_locales/webapps.py => third_party/python/compare-locales/compare_locales/webapps.py
rename : python/configobj/PKG-INFO => third_party/python/configobj/PKG-INFO
rename : python/configobj/configobj.py => third_party/python/configobj/configobj.py
rename : python/configobj/setup.py => third_party/python/configobj/setup.py
rename : python/configobj/validate.py => third_party/python/configobj/validate.py
rename : python/dlmanager/README.rst => third_party/python/dlmanager/README.rst
rename : python/dlmanager/check.py => third_party/python/dlmanager/check.py
rename : python/dlmanager/dlmanager/__init__.py => third_party/python/dlmanager/dlmanager/__init__.py
rename : python/dlmanager/dlmanager/fs.py => third_party/python/dlmanager/dlmanager/fs.py
rename : python/dlmanager/dlmanager/manager.py => third_party/python/dlmanager/dlmanager/manager.py
rename : python/dlmanager/dlmanager/persist_limit.py => third_party/python/dlmanager/dlmanager/persist_limit.py
rename : python/dlmanager/doc/Makefile => third_party/python/dlmanager/doc/Makefile
rename : python/dlmanager/doc/api.rst => third_party/python/dlmanager/doc/api.rst
rename : python/dlmanager/doc/conf.py => third_party/python/dlmanager/doc/conf.py
rename : python/dlmanager/doc/index.rst => third_party/python/dlmanager/doc/index.rst
rename : python/dlmanager/doc/make.bat => third_party/python/dlmanager/doc/make.bat
rename : python/dlmanager/examples/dl_progressbar.py => third_party/python/dlmanager/examples/dl_progressbar.py
rename : python/dlmanager/examples/dl_tqdm.py => third_party/python/dlmanager/examples/dl_tqdm.py
rename : python/dlmanager/requirements.txt => third_party/python/dlmanager/requirements.txt
rename : python/dlmanager/setup.cfg => third_party/python/dlmanager/setup.cfg
rename : python/dlmanager/setup.py => third_party/python/dlmanager/setup.py
rename : python/dlmanager/test-requirements.txt => third_party/python/dlmanager/test-requirements.txt
rename : python/dlmanager/tests/__init__.py => third_party/python/dlmanager/tests/__init__.py
rename : python/dlmanager/tests/test_manager.py => third_party/python/dlmanager/tests/test_manager.py
rename : python/dlmanager/tests/test_persist_limit.py => third_party/python/dlmanager/tests/test_persist_limit.py
rename : python/futures/CHANGES => third_party/python/futures/CHANGES
rename : python/futures/LICENSE => third_party/python/futures/LICENSE
rename : python/futures/MANIFEST.in => third_party/python/futures/MANIFEST.in
rename : python/futures/PKG-INFO => third_party/python/futures/PKG-INFO
rename : python/futures/concurrent/__init__.py => third_party/python/futures/concurrent/__init__.py
rename : python/futures/concurrent/futures/__init__.py => third_party/python/futures/concurrent/futures/__init__.py
rename : python/futures/concurrent/futures/_base.py => third_party/python/futures/concurrent/futures/_base.py
rename : python/futures/concurrent/futures/process.py => third_party/python/futures/concurrent/futures/process.py
rename : python/futures/concurrent/futures/thread.py => third_party/python/futures/concurrent/futures/thread.py
rename : python/futures/crawl.py => third_party/python/futures/crawl.py
rename : python/futures/docs/Makefile => third_party/python/futures/docs/Makefile
rename : python/futures/docs/conf.py => third_party/python/futures/docs/conf.py
rename : python/futures/docs/index.rst => third_party/python/futures/docs/index.rst
rename : python/futures/docs/make.bat => third_party/python/futures/docs/make.bat
rename : python/futures/futures.egg-info/PKG-INFO => third_party/python/futures/futures.egg-info/PKG-INFO
rename : python/futures/futures.egg-info/SOURCES.txt => third_party/python/futures/futures.egg-info/SOURCES.txt
rename : python/futures/futures.egg-info/dependency_links.txt => third_party/python/futures/futures.egg-info/dependency_links.txt
rename : python/futures/futures.egg-info/not-zip-safe => third_party/python/futures/futures.egg-info/not-zip-safe
rename : python/futures/futures.egg-info/pbr.json => third_party/python/futures/futures.egg-info/pbr.json
rename : python/futures/futures.egg-info/top_level.txt => third_party/python/futures/futures.egg-info/top_level.txt
rename : python/futures/primes.py => third_party/python/futures/primes.py
rename : python/futures/setup.cfg => third_party/python/futures/setup.cfg
rename : python/futures/setup.py => third_party/python/futures/setup.py
rename : python/futures/test_futures.py => third_party/python/futures/test_futures.py
rename : python/futures/tox.ini => third_party/python/futures/tox.ini
rename : python/gdbpp/gdbpp/__init__.py => third_party/python/gdbpp/gdbpp/__init__.py
rename : python/gdbpp/gdbpp/linkedlist.py => third_party/python/gdbpp/gdbpp/linkedlist.py
rename : python/gdbpp/gdbpp/owningthread.py => third_party/python/gdbpp/gdbpp/owningthread.py
rename : python/gdbpp/gdbpp/smartptr.py => third_party/python/gdbpp/gdbpp/smartptr.py
rename : python/gdbpp/gdbpp/string.py => third_party/python/gdbpp/gdbpp/string.py
rename : python/gdbpp/gdbpp/tarray.py => third_party/python/gdbpp/gdbpp/tarray.py
rename : python/gdbpp/gdbpp/thashtable.py => third_party/python/gdbpp/gdbpp/thashtable.py
rename : python/jsmin/jsmin/__init__.py => third_party/python/jsmin/jsmin/__init__.py
rename : python/jsmin/jsmin/test.py => third_party/python/jsmin/jsmin/test.py
rename : python/jsmin/setup.cfg => third_party/python/jsmin/setup.cfg
rename : python/jsmin/setup.py => third_party/python/jsmin/setup.py
rename : python/lldbutils/README.txt => third_party/python/lldbutils/README.txt
rename : python/lldbutils/lldbutils/__init__.py => third_party/python/lldbutils/lldbutils/__init__.py
rename : python/lldbutils/lldbutils/content.py => third_party/python/lldbutils/lldbutils/content.py
rename : python/lldbutils/lldbutils/general.py => third_party/python/lldbutils/lldbutils/general.py
rename : python/lldbutils/lldbutils/gfx.py => third_party/python/lldbutils/lldbutils/gfx.py
rename : python/lldbutils/lldbutils/layout.py => third_party/python/lldbutils/lldbutils/layout.py
rename : python/lldbutils/lldbutils/utils.py => third_party/python/lldbutils/lldbutils/utils.py
rename : python/mock-1.0.0/LICENSE.txt => third_party/python/mock-1.0.0/LICENSE.txt
rename : python/mock-1.0.0/MANIFEST.in => third_party/python/mock-1.0.0/MANIFEST.in
rename : python/mock-1.0.0/PKG-INFO => third_party/python/mock-1.0.0/PKG-INFO
rename : python/mock-1.0.0/README.txt => third_party/python/mock-1.0.0/README.txt
rename : python/mock-1.0.0/docs/changelog.txt => third_party/python/mock-1.0.0/docs/changelog.txt
rename : python/mock-1.0.0/docs/compare.txt => third_party/python/mock-1.0.0/docs/compare.txt
rename : python/mock-1.0.0/docs/conf.py => third_party/python/mock-1.0.0/docs/conf.py
rename : python/mock-1.0.0/docs/examples.txt => third_party/python/mock-1.0.0/docs/examples.txt
rename : python/mock-1.0.0/docs/getting-started.txt => third_party/python/mock-1.0.0/docs/getting-started.txt
rename : python/mock-1.0.0/docs/helpers.txt => third_party/python/mock-1.0.0/docs/helpers.txt
rename : python/mock-1.0.0/docs/index.txt => third_party/python/mock-1.0.0/docs/index.txt
rename : python/mock-1.0.0/docs/magicmock.txt => third_party/python/mock-1.0.0/docs/magicmock.txt
rename : python/mock-1.0.0/docs/mock.txt => third_party/python/mock-1.0.0/docs/mock.txt
rename : python/mock-1.0.0/docs/patch.txt => third_party/python/mock-1.0.0/docs/patch.txt
rename : python/mock-1.0.0/docs/sentinel.txt => third_party/python/mock-1.0.0/docs/sentinel.txt
rename : python/mock-1.0.0/html/.doctrees/changelog.doctree => third_party/python/mock-1.0.0/html/.doctrees/changelog.doctree
rename : python/mock-1.0.0/html/.doctrees/compare.doctree => third_party/python/mock-1.0.0/html/.doctrees/compare.doctree
rename : python/mock-1.0.0/html/.doctrees/examples.doctree => third_party/python/mock-1.0.0/html/.doctrees/examples.doctree
rename : python/mock-1.0.0/html/.doctrees/getting-started.doctree => third_party/python/mock-1.0.0/html/.doctrees/getting-started.doctree
rename : python/mock-1.0.0/html/.doctrees/index.doctree => third_party/python/mock-1.0.0/html/.doctrees/index.doctree
rename : python/mock-1.0.0/html/.doctrees/magicmock.doctree => third_party/python/mock-1.0.0/html/.doctrees/magicmock.doctree
rename : python/mock-1.0.0/html/.doctrees/mock.doctree => third_party/python/mock-1.0.0/html/.doctrees/mock.doctree
rename : python/mock-1.0.0/html/.doctrees/mocksignature.doctree => third_party/python/mock-1.0.0/html/.doctrees/mocksignature.doctree
rename : python/mock-1.0.0/html/.doctrees/patch.doctree => third_party/python/mock-1.0.0/html/.doctrees/patch.doctree
rename : python/mock-1.0.0/html/.doctrees/sentinel.doctree => third_party/python/mock-1.0.0/html/.doctrees/sentinel.doctree
rename : python/mock-1.0.0/html/_sources/changelog.txt => third_party/python/mock-1.0.0/html/_sources/changelog.txt
rename : python/mock-1.0.0/html/_sources/compare.txt => third_party/python/mock-1.0.0/html/_sources/compare.txt
rename : python/mock-1.0.0/html/_sources/examples.txt => third_party/python/mock-1.0.0/html/_sources/examples.txt
rename : python/mock-1.0.0/html/_sources/getting-started.txt => third_party/python/mock-1.0.0/html/_sources/getting-started.txt
rename : python/mock-1.0.0/html/_sources/index.txt => third_party/python/mock-1.0.0/html/_sources/index.txt
rename : python/mock-1.0.0/html/_sources/magicmock.txt => third_party/python/mock-1.0.0/html/_sources/magicmock.txt
rename : python/mock-1.0.0/html/_sources/mock.txt => third_party/python/mock-1.0.0/html/_sources/mock.txt
rename : python/mock-1.0.0/html/_sources/mocksignature.txt => third_party/python/mock-1.0.0/html/_sources/mocksignature.txt
rename : python/mock-1.0.0/html/_sources/patch.txt => third_party/python/mock-1.0.0/html/_sources/patch.txt
rename : python/mock-1.0.0/html/_sources/sentinel.txt => third_party/python/mock-1.0.0/html/_sources/sentinel.txt
rename : python/mock-1.0.0/html/_static/adctheme.css => third_party/python/mock-1.0.0/html/_static/adctheme.css
rename : python/mock-1.0.0/html/_static/basic.css => third_party/python/mock-1.0.0/html/_static/basic.css
rename : python/mock-1.0.0/html/_static/breadcrumb_background.png => third_party/python/mock-1.0.0/html/_static/breadcrumb_background.png
rename : python/mock-1.0.0/html/_static/default.css => third_party/python/mock-1.0.0/html/_static/default.css
rename : python/mock-1.0.0/html/_static/doctools.js => third_party/python/mock-1.0.0/html/_static/doctools.js
rename : python/mock-1.0.0/html/_static/documentation.png => third_party/python/mock-1.0.0/html/_static/documentation.png
rename : python/mock-1.0.0/html/_static/file.png => third_party/python/mock-1.0.0/html/_static/file.png
rename : python/mock-1.0.0/html/_static/header_sm_mid.png => third_party/python/mock-1.0.0/html/_static/header_sm_mid.png
rename : python/mock-1.0.0/html/_static/jquery.js => third_party/python/mock-1.0.0/html/_static/jquery.js
rename : python/mock-1.0.0/html/_static/minus.png => third_party/python/mock-1.0.0/html/_static/minus.png
rename : python/mock-1.0.0/html/_static/mobile.css => third_party/python/mock-1.0.0/html/_static/mobile.css
rename : python/mock-1.0.0/html/_static/plus.png => third_party/python/mock-1.0.0/html/_static/plus.png
rename : python/mock-1.0.0/html/_static/pygments.css => third_party/python/mock-1.0.0/html/_static/pygments.css
rename : python/mock-1.0.0/html/_static/scrn1.png => third_party/python/mock-1.0.0/html/_static/scrn1.png
rename : python/mock-1.0.0/html/_static/scrn2.png => third_party/python/mock-1.0.0/html/_static/scrn2.png
rename : python/mock-1.0.0/html/_static/searchfield_leftcap.png => third_party/python/mock-1.0.0/html/_static/searchfield_leftcap.png
rename : python/mock-1.0.0/html/_static/searchfield_repeat.png => third_party/python/mock-1.0.0/html/_static/searchfield_repeat.png
rename : python/mock-1.0.0/html/_static/searchfield_rightcap.png => third_party/python/mock-1.0.0/html/_static/searchfield_rightcap.png
rename : python/mock-1.0.0/html/_static/searchtools.js => third_party/python/mock-1.0.0/html/_static/searchtools.js
rename : python/mock-1.0.0/html/_static/sidebar.js => third_party/python/mock-1.0.0/html/_static/sidebar.js
rename : python/mock-1.0.0/html/_static/title_background.png => third_party/python/mock-1.0.0/html/_static/title_background.png
rename : python/mock-1.0.0/html/_static/toc.js => third_party/python/mock-1.0.0/html/_static/toc.js
rename : python/mock-1.0.0/html/_static/triangle_closed.png => third_party/python/mock-1.0.0/html/_static/triangle_closed.png
rename : python/mock-1.0.0/html/_static/triangle_left.png => third_party/python/mock-1.0.0/html/_static/triangle_left.png
rename : python/mock-1.0.0/html/_static/triangle_open.png => third_party/python/mock-1.0.0/html/_static/triangle_open.png
rename : python/mock-1.0.0/html/_static/underscore.js => third_party/python/mock-1.0.0/html/_static/underscore.js
rename : python/mock-1.0.0/html/changelog.html => third_party/python/mock-1.0.0/html/changelog.html
rename : python/mock-1.0.0/html/compare.html => third_party/python/mock-1.0.0/html/compare.html
rename : python/mock-1.0.0/html/examples.html => third_party/python/mock-1.0.0/html/examples.html
rename : python/mock-1.0.0/html/genindex.html => third_party/python/mock-1.0.0/html/genindex.html
rename : python/mock-1.0.0/html/getting-started.html => third_party/python/mock-1.0.0/html/getting-started.html
rename : python/mock-1.0.0/html/index.html => third_party/python/mock-1.0.0/html/index.html
rename : python/mock-1.0.0/html/magicmock.html => third_party/python/mock-1.0.0/html/magicmock.html
rename : python/mock-1.0.0/html/mock.html => third_party/python/mock-1.0.0/html/mock.html
rename : python/mock-1.0.0/html/mocksignature.html => third_party/python/mock-1.0.0/html/mocksignature.html
rename : python/mock-1.0.0/html/objects.inv => third_party/python/mock-1.0.0/html/objects.inv
rename : python/mock-1.0.0/html/output.txt => third_party/python/mock-1.0.0/html/output.txt
rename : python/mock-1.0.0/html/patch.html => third_party/python/mock-1.0.0/html/patch.html
rename : python/mock-1.0.0/html/search.html => third_party/python/mock-1.0.0/html/search.html
rename : python/mock-1.0.0/html/searchindex.js => third_party/python/mock-1.0.0/html/searchindex.js
rename : python/mock-1.0.0/html/sentinel.html => third_party/python/mock-1.0.0/html/sentinel.html
rename : python/mock-1.0.0/mock.egg-info/PKG-INFO => third_party/python/mock-1.0.0/mock.egg-info/PKG-INFO
rename : python/mock-1.0.0/mock.egg-info/SOURCES.txt => third_party/python/mock-1.0.0/mock.egg-info/SOURCES.txt
rename : python/mock-1.0.0/mock.egg-info/dependency_links.txt => third_party/python/mock-1.0.0/mock.egg-info/dependency_links.txt
rename : python/mock-1.0.0/mock.egg-info/top_level.txt => third_party/python/mock-1.0.0/mock.egg-info/top_level.txt
rename : python/mock-1.0.0/mock.py => third_party/python/mock-1.0.0/mock.py
rename : python/mock-1.0.0/setup.cfg => third_party/python/mock-1.0.0/setup.cfg
rename : python/mock-1.0.0/setup.py => third_party/python/mock-1.0.0/setup.py
rename : python/mock-1.0.0/tests/__init__.py => third_party/python/mock-1.0.0/tests/__init__.py
rename : python/mock-1.0.0/tests/_testwith.py => third_party/python/mock-1.0.0/tests/_testwith.py
rename : python/mock-1.0.0/tests/support.py => third_party/python/mock-1.0.0/tests/support.py
rename : python/mock-1.0.0/tests/support_with.py => third_party/python/mock-1.0.0/tests/support_with.py
rename : python/mock-1.0.0/tests/testcallable.py => third_party/python/mock-1.0.0/tests/testcallable.py
rename : python/mock-1.0.0/tests/testhelpers.py => third_party/python/mock-1.0.0/tests/testhelpers.py
rename : python/mock-1.0.0/tests/testmagicmethods.py => third_party/python/mock-1.0.0/tests/testmagicmethods.py
rename : python/mock-1.0.0/tests/testmock.py => third_party/python/mock-1.0.0/tests/testmock.py
rename : python/mock-1.0.0/tests/testpatch.py => third_party/python/mock-1.0.0/tests/testpatch.py
rename : python/mock-1.0.0/tests/testsentinel.py => third_party/python/mock-1.0.0/tests/testsentinel.py
rename : python/mock-1.0.0/tests/testwith.py => third_party/python/mock-1.0.0/tests/testwith.py
rename : python/mock-1.0.0/tox.ini => third_party/python/mock-1.0.0/tox.ini
rename : python/psutil/CREDITS => third_party/python/psutil/CREDITS
rename : python/psutil/HISTORY.rst => third_party/python/psutil/HISTORY.rst
rename : python/psutil/INSTALL.rst => third_party/python/psutil/INSTALL.rst
rename : python/psutil/LICENSE => third_party/python/psutil/LICENSE
rename : python/psutil/MANIFEST.in => third_party/python/psutil/MANIFEST.in
rename : python/psutil/Makefile => third_party/python/psutil/Makefile
rename : python/psutil/PKG-INFO => third_party/python/psutil/PKG-INFO
rename : python/psutil/README.rst => third_party/python/psutil/README.rst
rename : python/psutil/TODO => third_party/python/psutil/TODO
rename : python/psutil/docs/Makefile => third_party/python/psutil/docs/Makefile
rename : python/psutil/docs/README => third_party/python/psutil/docs/README
rename : python/psutil/docs/_static/copybutton.js => third_party/python/psutil/docs/_static/copybutton.js
rename : python/psutil/docs/_static/favicon.ico => third_party/python/psutil/docs/_static/favicon.ico
rename : python/psutil/docs/_static/logo.png => third_party/python/psutil/docs/_static/logo.png
rename : python/psutil/docs/_static/sidebar.js => third_party/python/psutil/docs/_static/sidebar.js
rename : python/psutil/docs/_template/globaltoc.html => third_party/python/psutil/docs/_template/globaltoc.html
rename : python/psutil/docs/_template/indexcontent.html => third_party/python/psutil/docs/_template/indexcontent.html
rename : python/psutil/docs/_template/indexsidebar.html => third_party/python/psutil/docs/_template/indexsidebar.html
rename : python/psutil/docs/_template/page.html => third_party/python/psutil/docs/_template/page.html
rename : python/psutil/docs/_themes/pydoctheme/static/pydoctheme.css => third_party/python/psutil/docs/_themes/pydoctheme/static/pydoctheme.css
rename : python/psutil/docs/_themes/pydoctheme/theme.conf => third_party/python/psutil/docs/_themes/pydoctheme/theme.conf
rename : python/psutil/docs/conf.py => third_party/python/psutil/docs/conf.py
rename : python/psutil/docs/index.rst => third_party/python/psutil/docs/index.rst
rename : python/psutil/docs/make.bat => third_party/python/psutil/docs/make.bat
rename : python/psutil/docs/xxx => third_party/python/psutil/docs/xxx
rename : python/psutil/examples/disk_usage.py => third_party/python/psutil/examples/disk_usage.py
rename : python/psutil/examples/free.py => third_party/python/psutil/examples/free.py
rename : python/psutil/examples/ifconfig.py => third_party/python/psutil/examples/ifconfig.py
rename : python/psutil/examples/iotop.py => third_party/python/psutil/examples/iotop.py
rename : python/psutil/examples/killall.py => third_party/python/psutil/examples/killall.py
rename : python/psutil/examples/meminfo.py => third_party/python/psutil/examples/meminfo.py
rename : python/psutil/examples/netstat.py => third_party/python/psutil/examples/netstat.py
rename : python/psutil/examples/nettop.py => third_party/python/psutil/examples/nettop.py
rename : python/psutil/examples/pidof.py => third_party/python/psutil/examples/pidof.py
rename : python/psutil/examples/pmap.py => third_party/python/psutil/examples/pmap.py
rename : python/psutil/examples/process_detail.py => third_party/python/psutil/examples/process_detail.py
rename : python/psutil/examples/ps.py => third_party/python/psutil/examples/ps.py
rename : python/psutil/examples/pstree.py => third_party/python/psutil/examples/pstree.py
rename : python/psutil/examples/top.py => third_party/python/psutil/examples/top.py
rename : python/psutil/examples/who.py => third_party/python/psutil/examples/who.py
rename : python/psutil/make.bat => third_party/python/psutil/make.bat
rename : python/psutil/psutil.egg-info/PKG-INFO => third_party/python/psutil/psutil.egg-info/PKG-INFO
rename : python/psutil/psutil.egg-info/SOURCES.txt => third_party/python/psutil/psutil.egg-info/SOURCES.txt
rename : python/psutil/psutil.egg-info/dependency_links.txt => third_party/python/psutil/psutil.egg-info/dependency_links.txt
rename : python/psutil/psutil.egg-info/top_level.txt => third_party/python/psutil/psutil.egg-info/top_level.txt
rename : python/psutil/psutil/__init__.py => third_party/python/psutil/psutil/__init__.py
rename : python/psutil/psutil/_common.py => third_party/python/psutil/psutil/_common.py
rename : python/psutil/psutil/_compat.py => third_party/python/psutil/psutil/_compat.py
rename : python/psutil/psutil/_psbsd.py => third_party/python/psutil/psutil/_psbsd.py
rename : python/psutil/psutil/_pslinux.py => third_party/python/psutil/psutil/_pslinux.py
rename : python/psutil/psutil/_psosx.py => third_party/python/psutil/psutil/_psosx.py
rename : python/psutil/psutil/_psposix.py => third_party/python/psutil/psutil/_psposix.py
rename : python/psutil/psutil/_pssunos.py => third_party/python/psutil/psutil/_pssunos.py
rename : python/psutil/psutil/_psutil_bsd.c => third_party/python/psutil/psutil/_psutil_bsd.c
rename : python/psutil/psutil/_psutil_bsd.h => third_party/python/psutil/psutil/_psutil_bsd.h
rename : python/psutil/psutil/_psutil_common.c => third_party/python/psutil/psutil/_psutil_common.c
rename : python/psutil/psutil/_psutil_common.h => third_party/python/psutil/psutil/_psutil_common.h
rename : python/psutil/psutil/_psutil_linux.c => third_party/python/psutil/psutil/_psutil_linux.c
rename : python/psutil/psutil/_psutil_linux.h => third_party/python/psutil/psutil/_psutil_linux.h
rename : python/psutil/psutil/_psutil_osx.c => third_party/python/psutil/psutil/_psutil_osx.c
rename : python/psutil/psutil/_psutil_osx.h => third_party/python/psutil/psutil/_psutil_osx.h
rename : python/psutil/psutil/_psutil_posix.c => third_party/python/psutil/psutil/_psutil_posix.c
rename : python/psutil/psutil/_psutil_posix.h => third_party/python/psutil/psutil/_psutil_posix.h
rename : python/psutil/psutil/_psutil_sunos.c => third_party/python/psutil/psutil/_psutil_sunos.c
rename : python/psutil/psutil/_psutil_sunos.h => third_party/python/psutil/psutil/_psutil_sunos.h
rename : python/psutil/psutil/_psutil_windows.c => third_party/python/psutil/psutil/_psutil_windows.c
rename : python/psutil/psutil/_psutil_windows.h => third_party/python/psutil/psutil/_psutil_windows.h
rename : python/psutil/psutil/_pswindows.py => third_party/python/psutil/psutil/_pswindows.py
rename : python/psutil/psutil/arch/bsd/process_info.c => third_party/python/psutil/psutil/arch/bsd/process_info.c
rename : python/psutil/psutil/arch/bsd/process_info.h => third_party/python/psutil/psutil/arch/bsd/process_info.h
rename : python/psutil/psutil/arch/osx/process_info.c => third_party/python/psutil/psutil/arch/osx/process_info.c
rename : python/psutil/psutil/arch/osx/process_info.h => third_party/python/psutil/psutil/arch/osx/process_info.h
rename : python/psutil/psutil/arch/windows/glpi.h => third_party/python/psutil/psutil/arch/windows/glpi.h
rename : python/psutil/psutil/arch/windows/inet_ntop.c => third_party/python/psutil/psutil/arch/windows/inet_ntop.c
rename : python/psutil/psutil/arch/windows/inet_ntop.h => third_party/python/psutil/psutil/arch/windows/inet_ntop.h
rename : python/psutil/psutil/arch/windows/ntextapi.h => third_party/python/psutil/psutil/arch/windows/ntextapi.h
rename : python/psutil/psutil/arch/windows/process_handles.c => third_party/python/psutil/psutil/arch/windows/process_handles.c
rename : python/psutil/psutil/arch/windows/process_handles.h => third_party/python/psutil/psutil/arch/windows/process_handles.h
rename : python/psutil/psutil/arch/windows/process_info.c => third_party/python/psutil/psutil/arch/windows/process_info.c
rename : python/psutil/psutil/arch/windows/process_info.h => third_party/python/psutil/psutil/arch/windows/process_info.h
rename : python/psutil/psutil/arch/windows/security.c => third_party/python/psutil/psutil/arch/windows/security.c
rename : python/psutil/psutil/arch/windows/security.h => third_party/python/psutil/psutil/arch/windows/security.h
rename : python/psutil/setup.cfg => third_party/python/psutil/setup.cfg
rename : python/psutil/setup.py => third_party/python/psutil/setup.py
rename : python/psutil/test/README.rst => third_party/python/psutil/test/README.rst
rename : python/psutil/test/_bsd.py => third_party/python/psutil/test/_bsd.py
rename : python/psutil/test/_linux.py => third_party/python/psutil/test/_linux.py
rename : python/psutil/test/_osx.py => third_party/python/psutil/test/_osx.py
rename : python/psutil/test/_posix.py => third_party/python/psutil/test/_posix.py
rename : python/psutil/test/_sunos.py => third_party/python/psutil/test/_sunos.py
rename : python/psutil/test/_windows.py => third_party/python/psutil/test/_windows.py
rename : python/psutil/test/test_memory_leaks.py => third_party/python/psutil/test/test_memory_leaks.py
rename : python/psutil/test/test_psutil.py => third_party/python/psutil/test/test_psutil.py
rename : python/psutil/tox.ini => third_party/python/psutil/tox.ini
rename : python/py/AUTHORS => third_party/python/py/AUTHORS
rename : python/py/LICENSE => third_party/python/py/LICENSE
rename : python/py/MANIFEST.in => third_party/python/py/MANIFEST.in
rename : python/py/PKG-INFO => third_party/python/py/PKG-INFO
rename : python/py/README.txt => third_party/python/py/README.txt
rename : python/py/py/__init__.py => third_party/python/py/py/__init__.py
rename : python/py/py/__metainfo.py => third_party/python/py/py/__metainfo.py
rename : python/py/py/_apipkg.py => third_party/python/py/py/_apipkg.py
rename : python/py/py/_builtin.py => third_party/python/py/py/_builtin.py
rename : python/py/py/_code/__init__.py => third_party/python/py/py/_code/__init__.py
rename : python/py/py/_code/_assertionnew.py => third_party/python/py/py/_code/_assertionnew.py
rename : python/py/py/_code/_assertionold.py => third_party/python/py/py/_code/_assertionold.py
rename : python/py/py/_code/_py2traceback.py => third_party/python/py/py/_code/_py2traceback.py
rename : python/py/py/_code/assertion.py => third_party/python/py/py/_code/assertion.py
rename : python/py/py/_code/code.py => third_party/python/py/py/_code/code.py
rename : python/py/py/_code/source.py => third_party/python/py/py/_code/source.py
rename : python/py/py/_error.py => third_party/python/py/py/_error.py
rename : python/py/py/_iniconfig.py => third_party/python/py/py/_iniconfig.py
rename : python/py/py/_io/__init__.py => third_party/python/py/py/_io/__init__.py
rename : python/py/py/_io/capture.py => third_party/python/py/py/_io/capture.py
rename : python/py/py/_io/saferepr.py => third_party/python/py/py/_io/saferepr.py
rename : python/py/py/_io/terminalwriter.py => third_party/python/py/py/_io/terminalwriter.py
rename : python/py/py/_log/__init__.py => third_party/python/py/py/_log/__init__.py
rename : python/py/py/_log/log.py => third_party/python/py/py/_log/log.py
rename : python/py/py/_log/warning.py => third_party/python/py/py/_log/warning.py
rename : python/py/py/_path/__init__.py => third_party/python/py/py/_path/__init__.py
rename : python/py/py/_path/cacheutil.py => third_party/python/py/py/_path/cacheutil.py
rename : python/py/py/_path/common.py => third_party/python/py/py/_path/common.py
rename : python/py/py/_path/local.py => third_party/python/py/py/_path/local.py
rename : python/py/py/_path/svnurl.py => third_party/python/py/py/_path/svnurl.py
rename : python/py/py/_path/svnwc.py => third_party/python/py/py/_path/svnwc.py
rename : python/py/py/_process/__init__.py => third_party/python/py/py/_process/__init__.py
rename : python/py/py/_process/cmdexec.py => third_party/python/py/py/_process/cmdexec.py
rename : python/py/py/_process/forkedfunc.py => third_party/python/py/py/_process/forkedfunc.py
rename : python/py/py/_process/killproc.py => third_party/python/py/py/_process/killproc.py
rename : python/py/py/_std.py => third_party/python/py/py/_std.py
rename : python/py/py/_xmlgen.py => third_party/python/py/py/_xmlgen.py
rename : python/py/py/test.py => third_party/python/py/py/test.py
rename : python/py/setup.cfg => third_party/python/py/setup.cfg
rename : python/py/setup.py => third_party/python/py/setup.py
rename : python/pyasn1-modules/CHANGES => third_party/python/pyasn1-modules/CHANGES
rename : python/pyasn1-modules/LICENSE => third_party/python/pyasn1-modules/LICENSE
rename : python/pyasn1-modules/MANIFEST.in => third_party/python/pyasn1-modules/MANIFEST.in
rename : python/pyasn1-modules/PKG-INFO => third_party/python/pyasn1-modules/PKG-INFO
rename : python/pyasn1-modules/README => third_party/python/pyasn1-modules/README
rename : python/pyasn1-modules/pyasn1_modules.egg-info/PKG-INFO => third_party/python/pyasn1-modules/pyasn1_modules.egg-info/PKG-INFO
rename : python/pyasn1-modules/pyasn1_modules.egg-info/SOURCES.txt => third_party/python/pyasn1-modules/pyasn1_modules.egg-info/SOURCES.txt
rename : python/pyasn1-modules/pyasn1_modules.egg-info/dependency_links.txt => third_party/python/pyasn1-modules/pyasn1_modules.egg-info/dependency_links.txt
rename : python/pyasn1-modules/pyasn1_modules.egg-info/requires.txt => third_party/python/pyasn1-modules/pyasn1_modules.egg-info/requires.txt
rename : python/pyasn1-modules/pyasn1_modules.egg-info/top_level.txt => third_party/python/pyasn1-modules/pyasn1_modules.egg-info/top_level.txt
rename : python/pyasn1-modules/pyasn1_modules.egg-info/zip-safe => third_party/python/pyasn1-modules/pyasn1_modules.egg-info/zip-safe
rename : python/pyasn1-modules/pyasn1_modules/__init__.py => third_party/python/pyasn1-modules/pyasn1_modules/__init__.py
rename : python/pyasn1-modules/pyasn1_modules/pem.py => third_party/python/pyasn1-modules/pyasn1_modules/pem.py
rename : python/pyasn1-modules/pyasn1_modules/pkcs12.py => third_party/python/pyasn1-modules/pyasn1_modules/pkcs12.py
rename : python/pyasn1-modules/pyasn1_modules/rfc1155.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc1155.py
rename : python/pyasn1-modules/pyasn1_modules/rfc1157.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc1157.py
rename : python/pyasn1-modules/pyasn1_modules/rfc1901.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc1901.py
rename : python/pyasn1-modules/pyasn1_modules/rfc1902.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc1902.py
rename : python/pyasn1-modules/pyasn1_modules/rfc1905.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc1905.py
rename : python/pyasn1-modules/pyasn1_modules/rfc2251.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc2251.py
rename : python/pyasn1-modules/pyasn1_modules/rfc2314.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc2314.py
rename : python/pyasn1-modules/pyasn1_modules/rfc2315.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc2315.py
rename : python/pyasn1-modules/pyasn1_modules/rfc2437.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc2437.py
rename : python/pyasn1-modules/pyasn1_modules/rfc2459.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc2459.py
rename : python/pyasn1-modules/pyasn1_modules/rfc2511.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc2511.py
rename : python/pyasn1-modules/pyasn1_modules/rfc2560.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc2560.py
rename : python/pyasn1-modules/pyasn1_modules/rfc3412.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc3412.py
rename : python/pyasn1-modules/pyasn1_modules/rfc3414.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc3414.py
rename : python/pyasn1-modules/pyasn1_modules/rfc3447.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc3447.py
rename : python/pyasn1-modules/pyasn1_modules/rfc4210.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc4210.py
rename : python/pyasn1-modules/pyasn1_modules/rfc5208.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc5208.py
rename : python/pyasn1-modules/setup.cfg => third_party/python/pyasn1-modules/setup.cfg
rename : python/pyasn1-modules/setup.py => third_party/python/pyasn1-modules/setup.py
rename : python/pyasn1-modules/test/cmp.sh => third_party/python/pyasn1-modules/test/cmp.sh
rename : python/pyasn1-modules/test/crl.sh => third_party/python/pyasn1-modules/test/crl.sh
rename : python/pyasn1-modules/test/crmf.sh => third_party/python/pyasn1-modules/test/crmf.sh
rename : python/pyasn1-modules/test/ocspreq.sh => third_party/python/pyasn1-modules/test/ocspreq.sh
rename : python/pyasn1-modules/test/ocsprsp.sh => third_party/python/pyasn1-modules/test/ocsprsp.sh
rename : python/pyasn1-modules/test/pkcs1.sh => third_party/python/pyasn1-modules/test/pkcs1.sh
rename : python/pyasn1-modules/test/pkcs10.sh => third_party/python/pyasn1-modules/test/pkcs10.sh
rename : python/pyasn1-modules/test/pkcs7.sh => third_party/python/pyasn1-modules/test/pkcs7.sh
rename : python/pyasn1-modules/test/pkcs8.sh => third_party/python/pyasn1-modules/test/pkcs8.sh
rename : python/pyasn1-modules/test/x509dump.sh => third_party/python/pyasn1-modules/test/x509dump.sh
rename : python/pyasn1-modules/tools/cmpdump.py => third_party/python/pyasn1-modules/tools/cmpdump.py
rename : python/pyasn1-modules/tools/crldump.py => third_party/python/pyasn1-modules/tools/crldump.py
rename : python/pyasn1-modules/tools/crmfdump.py => third_party/python/pyasn1-modules/tools/crmfdump.py
rename : python/pyasn1-modules/tools/ocspclient.py => third_party/python/pyasn1-modules/tools/ocspclient.py
rename : python/pyasn1-modules/tools/ocspreqdump.py => third_party/python/pyasn1-modules/tools/ocspreqdump.py
rename : python/pyasn1-modules/tools/ocsprspdump.py => third_party/python/pyasn1-modules/tools/ocsprspdump.py
rename : python/pyasn1-modules/tools/ocspserver.py => third_party/python/pyasn1-modules/tools/ocspserver.py
rename : python/pyasn1-modules/tools/pkcs10dump.py => third_party/python/pyasn1-modules/tools/pkcs10dump.py
rename : python/pyasn1-modules/tools/pkcs1dump.py => third_party/python/pyasn1-modules/tools/pkcs1dump.py
rename : python/pyasn1-modules/tools/pkcs7dump.py => third_party/python/pyasn1-modules/tools/pkcs7dump.py
rename : python/pyasn1-modules/tools/pkcs8dump.py => third_party/python/pyasn1-modules/tools/pkcs8dump.py
rename : python/pyasn1-modules/tools/snmpget.py => third_party/python/pyasn1-modules/tools/snmpget.py
rename : python/pyasn1-modules/tools/x509dump.py => third_party/python/pyasn1-modules/tools/x509dump.py
rename : python/pyasn1/CHANGES => third_party/python/pyasn1/CHANGES
rename : python/pyasn1/LICENSE => third_party/python/pyasn1/LICENSE
rename : python/pyasn1/MANIFEST.in => third_party/python/pyasn1/MANIFEST.in
rename : python/pyasn1/PKG-INFO => third_party/python/pyasn1/PKG-INFO
rename : python/pyasn1/README => third_party/python/pyasn1/README
rename : python/pyasn1/THANKS => third_party/python/pyasn1/THANKS
rename : python/pyasn1/TODO => third_party/python/pyasn1/TODO
rename : python/pyasn1/doc/codecs.html => third_party/python/pyasn1/doc/codecs.html
rename : python/pyasn1/doc/constraints.html => third_party/python/pyasn1/doc/constraints.html
rename : python/pyasn1/doc/constructed.html => third_party/python/pyasn1/doc/constructed.html
rename : python/pyasn1/doc/intro.html => third_party/python/pyasn1/doc/intro.html
rename : python/pyasn1/doc/pyasn1-tutorial.html => third_party/python/pyasn1/doc/pyasn1-tutorial.html
rename : python/pyasn1/doc/scalar.html => third_party/python/pyasn1/doc/scalar.html
rename : python/pyasn1/doc/tagging.html => third_party/python/pyasn1/doc/tagging.html
rename : python/pyasn1/pyasn1.egg-info/PKG-INFO => third_party/python/pyasn1/pyasn1.egg-info/PKG-INFO
rename : python/pyasn1/pyasn1.egg-info/SOURCES.txt => third_party/python/pyasn1/pyasn1.egg-info/SOURCES.txt
rename : python/pyasn1/pyasn1.egg-info/dependency_links.txt => third_party/python/pyasn1/pyasn1.egg-info/dependency_links.txt
rename : python/pyasn1/pyasn1.egg-info/top_level.txt => third_party/python/pyasn1/pyasn1.egg-info/top_level.txt
rename : python/pyasn1/pyasn1.egg-info/zip-safe => third_party/python/pyasn1/pyasn1.egg-info/zip-safe
rename : python/pyasn1/pyasn1/__init__.py => third_party/python/pyasn1/pyasn1/__init__.py
rename : python/pyasn1/pyasn1/codec/__init__.py => third_party/python/pyasn1/pyasn1/codec/__init__.py
rename : python/pyasn1/pyasn1/codec/ber/__init__.py => third_party/python/pyasn1/pyasn1/codec/ber/__init__.py
rename : python/pyasn1/pyasn1/codec/ber/decoder.py => third_party/python/pyasn1/pyasn1/codec/ber/decoder.py
rename : python/pyasn1/pyasn1/codec/ber/encoder.py => third_party/python/pyasn1/pyasn1/codec/ber/encoder.py
rename : python/pyasn1/pyasn1/codec/ber/eoo.py => third_party/python/pyasn1/pyasn1/codec/ber/eoo.py
rename : python/pyasn1/pyasn1/codec/cer/__init__.py => third_party/python/pyasn1/pyasn1/codec/cer/__init__.py
rename : python/pyasn1/pyasn1/codec/cer/decoder.py => third_party/python/pyasn1/pyasn1/codec/cer/decoder.py
rename : python/pyasn1/pyasn1/codec/cer/encoder.py => third_party/python/pyasn1/pyasn1/codec/cer/encoder.py
rename : python/pyasn1/pyasn1/codec/der/__init__.py => third_party/python/pyasn1/pyasn1/codec/der/__init__.py
rename : python/pyasn1/pyasn1/codec/der/decoder.py => third_party/python/pyasn1/pyasn1/codec/der/decoder.py
rename : python/pyasn1/pyasn1/codec/der/encoder.py => third_party/python/pyasn1/pyasn1/codec/der/encoder.py
rename : python/pyasn1/pyasn1/compat/__init__.py => third_party/python/pyasn1/pyasn1/compat/__init__.py
rename : python/pyasn1/pyasn1/compat/octets.py => third_party/python/pyasn1/pyasn1/compat/octets.py
rename : python/pyasn1/pyasn1/debug.py => third_party/python/pyasn1/pyasn1/debug.py
rename : python/pyasn1/pyasn1/error.py => third_party/python/pyasn1/pyasn1/error.py
rename : python/pyasn1/pyasn1/type/__init__.py => third_party/python/pyasn1/pyasn1/type/__init__.py
rename : python/pyasn1/pyasn1/type/base.py => third_party/python/pyasn1/pyasn1/type/base.py
rename : python/pyasn1/pyasn1/type/char.py => third_party/python/pyasn1/pyasn1/type/char.py
rename : python/pyasn1/pyasn1/type/constraint.py => third_party/python/pyasn1/pyasn1/type/constraint.py
rename : python/pyasn1/pyasn1/type/error.py => third_party/python/pyasn1/pyasn1/type/error.py
rename : python/pyasn1/pyasn1/type/namedtype.py => third_party/python/pyasn1/pyasn1/type/namedtype.py
rename : python/pyasn1/pyasn1/type/namedval.py => third_party/python/pyasn1/pyasn1/type/namedval.py
rename : python/pyasn1/pyasn1/type/tag.py => third_party/python/pyasn1/pyasn1/type/tag.py
rename : python/pyasn1/pyasn1/type/tagmap.py => third_party/python/pyasn1/pyasn1/type/tagmap.py
rename : python/pyasn1/pyasn1/type/univ.py => third_party/python/pyasn1/pyasn1/type/univ.py
rename : python/pyasn1/pyasn1/type/useful.py => third_party/python/pyasn1/pyasn1/type/useful.py
rename : python/pyasn1/setup.cfg => third_party/python/pyasn1/setup.cfg
rename : python/pyasn1/setup.py => third_party/python/pyasn1/setup.py
rename : python/pyasn1/test/__init__.py => third_party/python/pyasn1/test/__init__.py
rename : python/pyasn1/test/codec/__init__.py => third_party/python/pyasn1/test/codec/__init__.py
rename : python/pyasn1/test/codec/ber/__init__.py => third_party/python/pyasn1/test/codec/ber/__init__.py
rename : python/pyasn1/test/codec/ber/suite.py => third_party/python/pyasn1/test/codec/ber/suite.py
rename : python/pyasn1/test/codec/ber/test_decoder.py => third_party/python/pyasn1/test/codec/ber/test_decoder.py
rename : python/pyasn1/test/codec/ber/test_encoder.py => third_party/python/pyasn1/test/codec/ber/test_encoder.py
rename : python/pyasn1/test/codec/cer/__init__.py => third_party/python/pyasn1/test/codec/cer/__init__.py
rename : python/pyasn1/test/codec/cer/suite.py => third_party/python/pyasn1/test/codec/cer/suite.py
rename : python/pyasn1/test/codec/cer/test_decoder.py => third_party/python/pyasn1/test/codec/cer/test_decoder.py
rename : python/pyasn1/test/codec/cer/test_encoder.py => third_party/python/pyasn1/test/codec/cer/test_encoder.py
rename : python/pyasn1/test/codec/der/__init__.py => third_party/python/pyasn1/test/codec/der/__init__.py
rename : python/pyasn1/test/codec/der/suite.py => third_party/python/pyasn1/test/codec/der/suite.py
rename : python/pyasn1/test/codec/der/test_decoder.py => third_party/python/pyasn1/test/codec/der/test_decoder.py
rename : python/pyasn1/test/codec/der/test_encoder.py => third_party/python/pyasn1/test/codec/der/test_encoder.py
rename : python/pyasn1/test/codec/suite.py => third_party/python/pyasn1/test/codec/suite.py
rename : python/pyasn1/test/suite.py => third_party/python/pyasn1/test/suite.py
rename : python/pyasn1/test/type/__init__.py => third_party/python/pyasn1/test/type/__init__.py
rename : python/pyasn1/test/type/suite.py => third_party/python/pyasn1/test/type/suite.py
rename : python/pyasn1/test/type/test_constraint.py => third_party/python/pyasn1/test/type/test_constraint.py
rename : python/pyasn1/test/type/test_namedtype.py => third_party/python/pyasn1/test/type/test_namedtype.py
rename : python/pyasn1/test/type/test_tag.py => third_party/python/pyasn1/test/type/test_tag.py
rename : python/pyasn1/test/type/test_univ.py => third_party/python/pyasn1/test/type/test_univ.py
rename : python/pylru/pylru.py => third_party/python/pylru/pylru.py
rename : python/pylru/test.py => third_party/python/pylru/test.py
rename : python/pystache/.gitignore => third_party/python/pystache/.gitignore
rename : python/pystache/.gitmodules => third_party/python/pystache/.gitmodules
rename : python/pystache/.travis.yml => third_party/python/pystache/.travis.yml
rename : python/pystache/HISTORY.md => third_party/python/pystache/HISTORY.md
rename : python/pystache/LICENSE => third_party/python/pystache/LICENSE
rename : python/pystache/MANIFEST.in => third_party/python/pystache/MANIFEST.in
rename : python/pystache/README.md => third_party/python/pystache/README.md
rename : python/pystache/TODO.md => third_party/python/pystache/TODO.md
rename : python/pystache/gh/images/logo_phillips.png => third_party/python/pystache/gh/images/logo_phillips.png
rename : python/pystache/pystache/__init__.py => third_party/python/pystache/pystache/__init__.py
rename : python/pystache/pystache/commands/__init__.py => third_party/python/pystache/pystache/commands/__init__.py
rename : python/pystache/pystache/commands/render.py => third_party/python/pystache/pystache/commands/render.py
rename : python/pystache/pystache/commands/test.py => third_party/python/pystache/pystache/commands/test.py
rename : python/pystache/pystache/common.py => third_party/python/pystache/pystache/common.py
rename : python/pystache/pystache/context.py => third_party/python/pystache/pystache/context.py
rename : python/pystache/pystache/defaults.py => third_party/python/pystache/pystache/defaults.py
rename : python/pystache/pystache/init.py => third_party/python/pystache/pystache/init.py
rename : python/pystache/pystache/loader.py => third_party/python/pystache/pystache/loader.py
rename : python/pystache/pystache/locator.py => third_party/python/pystache/pystache/locator.py
rename : python/pystache/pystache/parsed.py => third_party/python/pystache/pystache/parsed.py
rename : python/pystache/pystache/parser.py => third_party/python/pystache/pystache/parser.py
rename : python/pystache/pystache/renderengine.py => third_party/python/pystache/pystache/renderengine.py
rename : python/pystache/pystache/renderer.py => third_party/python/pystache/pystache/renderer.py
rename : python/pystache/pystache/specloader.py => third_party/python/pystache/pystache/specloader.py
rename : python/pystache/pystache/template_spec.py => third_party/python/pystache/pystache/template_spec.py
rename : python/pystache/setup.py => third_party/python/pystache/setup.py
rename : python/pystache/setup_description.rst => third_party/python/pystache/setup_description.rst
rename : python/pystache/test_pystache.py => third_party/python/pystache/test_pystache.py
rename : python/pystache/tox.ini => third_party/python/pystache/tox.ini
rename : python/pytest/.coveragerc => third_party/python/pytest/.coveragerc
rename : python/pytest/AUTHORS => third_party/python/pytest/AUTHORS
rename : python/pytest/LICENSE => third_party/python/pytest/LICENSE
rename : python/pytest/MANIFEST.in => third_party/python/pytest/MANIFEST.in
rename : python/pytest/PKG-INFO => third_party/python/pytest/PKG-INFO
rename : python/pytest/README.rst => third_party/python/pytest/README.rst
rename : python/pytest/_pytest/__init__.py => third_party/python/pytest/_pytest/__init__.py
rename : python/pytest/_pytest/_argcomplete.py => third_party/python/pytest/_pytest/_argcomplete.py
rename : python/pytest/_pytest/_code/__init__.py => third_party/python/pytest/_pytest/_code/__init__.py
rename : python/pytest/_pytest/_code/_py2traceback.py => third_party/python/pytest/_pytest/_code/_py2traceback.py
rename : python/pytest/_pytest/_code/code.py => third_party/python/pytest/_pytest/_code/code.py
rename : python/pytest/_pytest/_code/source.py => third_party/python/pytest/_pytest/_code/source.py
rename : python/pytest/_pytest/_pluggy.py => third_party/python/pytest/_pytest/_pluggy.py
rename : python/pytest/_pytest/assertion/__init__.py => third_party/python/pytest/_pytest/assertion/__init__.py
rename : python/pytest/_pytest/assertion/reinterpret.py => third_party/python/pytest/_pytest/assertion/reinterpret.py
rename : python/pytest/_pytest/assertion/rewrite.py => third_party/python/pytest/_pytest/assertion/rewrite.py
rename : python/pytest/_pytest/assertion/util.py => third_party/python/pytest/_pytest/assertion/util.py
rename : python/pytest/_pytest/cacheprovider.py => third_party/python/pytest/_pytest/cacheprovider.py
rename : python/pytest/_pytest/capture.py => third_party/python/pytest/_pytest/capture.py
rename : python/pytest/_pytest/config.py => third_party/python/pytest/_pytest/config.py
rename : python/pytest/_pytest/doctest.py => third_party/python/pytest/_pytest/doctest.py
rename : python/pytest/_pytest/genscript.py => third_party/python/pytest/_pytest/genscript.py
rename : python/pytest/_pytest/helpconfig.py => third_party/python/pytest/_pytest/helpconfig.py
rename : python/pytest/_pytest/hookspec.py => third_party/python/pytest/_pytest/hookspec.py
rename : python/pytest/_pytest/junitxml.py => third_party/python/pytest/_pytest/junitxml.py
rename : python/pytest/_pytest/main.py => third_party/python/pytest/_pytest/main.py
rename : python/pytest/_pytest/mark.py => third_party/python/pytest/_pytest/mark.py
rename : python/pytest/_pytest/monkeypatch.py => third_party/python/pytest/_pytest/monkeypatch.py
rename : python/pytest/_pytest/nose.py => third_party/python/pytest/_pytest/nose.py
rename : python/pytest/_pytest/pastebin.py => third_party/python/pytest/_pytest/pastebin.py
rename : python/pytest/_pytest/pdb.py => third_party/python/pytest/_pytest/pdb.py
rename : python/pytest/_pytest/pytester.py => third_party/python/pytest/_pytest/pytester.py
rename : python/pytest/_pytest/python.py => third_party/python/pytest/_pytest/python.py
rename : python/pytest/_pytest/recwarn.py => third_party/python/pytest/_pytest/recwarn.py
rename : python/pytest/_pytest/resultlog.py => third_party/python/pytest/_pytest/resultlog.py
rename : python/pytest/_pytest/runner.py => third_party/python/pytest/_pytest/runner.py
rename : python/pytest/_pytest/skipping.py => third_party/python/pytest/_pytest/skipping.py
rename : python/pytest/_pytest/standalonetemplate.py => third_party/python/pytest/_pytest/standalonetemplate.py
rename : python/pytest/_pytest/terminal.py => third_party/python/pytest/_pytest/terminal.py
rename : python/pytest/_pytest/tmpdir.py => third_party/python/pytest/_pytest/tmpdir.py
rename : python/pytest/_pytest/unittest.py => third_party/python/pytest/_pytest/unittest.py
rename : python/pytest/_pytest/vendored_packages/README.md => third_party/python/pytest/_pytest/vendored_packages/README.md
rename : python/pytest/_pytest/vendored_packages/__init__.py => third_party/python/pytest/_pytest/vendored_packages/__init__.py
rename : python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/DESCRIPTION.rst => third_party/python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/DESCRIPTION.rst
rename : python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/METADATA => third_party/python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/METADATA
rename : python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/RECORD => third_party/python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/RECORD
rename : python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/WHEEL => third_party/python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/WHEEL
rename : python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/metadata.json => third_party/python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/metadata.json
rename : python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/pbr.json => third_party/python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/pbr.json
rename : python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/top_level.txt => third_party/python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/top_level.txt
rename : python/pytest/_pytest/vendored_packages/pluggy.py => third_party/python/pytest/_pytest/vendored_packages/pluggy.py
rename : python/pytest/pytest.py => third_party/python/pytest/pytest.py
rename : python/pytest/setup.cfg => third_party/python/pytest/setup.cfg
rename : python/pytest/setup.py => third_party/python/pytest/setup.py
rename : python/pytoml/PKG-INFO => third_party/python/pytoml/PKG-INFO
rename : python/pytoml/pytoml/__init__.py => third_party/python/pytoml/pytoml/__init__.py
rename : python/pytoml/pytoml/core.py => third_party/python/pytoml/pytoml/core.py
rename : python/pytoml/pytoml/parser.py => third_party/python/pytoml/pytoml/parser.py
rename : python/pytoml/pytoml/writer.py => third_party/python/pytoml/pytoml/writer.py
rename : python/pytoml/setup.cfg => third_party/python/pytoml/setup.cfg
rename : python/pytoml/setup.py => third_party/python/pytoml/setup.py
rename : python/pytoml/test/test.py => third_party/python/pytoml/test/test.py
rename : python/pyyaml/CHANGES => third_party/python/pyyaml/CHANGES
rename : python/pyyaml/LICENSE => third_party/python/pyyaml/LICENSE
rename : python/pyyaml/PKG-INFO => third_party/python/pyyaml/PKG-INFO
rename : python/pyyaml/README => third_party/python/pyyaml/README
rename : python/pyyaml/examples/pygments-lexer/example.yaml => third_party/python/pyyaml/examples/pygments-lexer/example.yaml
rename : python/pyyaml/examples/pygments-lexer/yaml.py => third_party/python/pyyaml/examples/pygments-lexer/yaml.py
rename : python/pyyaml/examples/yaml-highlight/yaml_hl.cfg => third_party/python/pyyaml/examples/yaml-highlight/yaml_hl.cfg
rename : python/pyyaml/examples/yaml-highlight/yaml_hl.py => third_party/python/pyyaml/examples/yaml-highlight/yaml_hl.py
rename : python/pyyaml/ext/_yaml.c => third_party/python/pyyaml/ext/_yaml.c
rename : python/pyyaml/ext/_yaml.h => third_party/python/pyyaml/ext/_yaml.h
rename : python/pyyaml/ext/_yaml.pxd => third_party/python/pyyaml/ext/_yaml.pxd
rename : python/pyyaml/ext/_yaml.pyx => third_party/python/pyyaml/ext/_yaml.pyx
rename : python/pyyaml/lib/yaml/__init__.py => third_party/python/pyyaml/lib/yaml/__init__.py
rename : python/pyyaml/lib/yaml/composer.py => third_party/python/pyyaml/lib/yaml/composer.py
rename : python/pyyaml/lib/yaml/constructor.py => third_party/python/pyyaml/lib/yaml/constructor.py
rename : python/pyyaml/lib/yaml/cyaml.py => third_party/python/pyyaml/lib/yaml/cyaml.py
rename : python/pyyaml/lib/yaml/dumper.py => third_party/python/pyyaml/lib/yaml/dumper.py
rename : python/pyyaml/lib/yaml/emitter.py => third_party/python/pyyaml/lib/yaml/emitter.py
rename : python/pyyaml/lib/yaml/error.py => third_party/python/pyyaml/lib/yaml/error.py
rename : python/pyyaml/lib/yaml/events.py => third_party/python/pyyaml/lib/yaml/events.py
rename : python/pyyaml/lib/yaml/loader.py => third_party/python/pyyaml/lib/yaml/loader.py
rename : python/pyyaml/lib/yaml/nodes.py => third_party/python/pyyaml/lib/yaml/nodes.py
rename : python/pyyaml/lib/yaml/parser.py => third_party/python/pyyaml/lib/yaml/parser.py
rename : python/pyyaml/lib/yaml/reader.py => third_party/python/pyyaml/lib/yaml/reader.py
rename : python/pyyaml/lib/yaml/representer.py => third_party/python/pyyaml/lib/yaml/representer.py
rename : python/pyyaml/lib/yaml/resolver.py => third_party/python/pyyaml/lib/yaml/resolver.py
rename : python/pyyaml/lib/yaml/scanner.py => third_party/python/pyyaml/lib/yaml/scanner.py
rename : python/pyyaml/lib/yaml/serializer.py => third_party/python/pyyaml/lib/yaml/serializer.py
rename : python/pyyaml/lib/yaml/tokens.py => third_party/python/pyyaml/lib/yaml/tokens.py
rename : python/pyyaml/lib3/yaml/__init__.py => third_party/python/pyyaml/lib3/yaml/__init__.py
rename : python/pyyaml/lib3/yaml/composer.py => third_party/python/pyyaml/lib3/yaml/composer.py
rename : python/pyyaml/lib3/yaml/constructor.py => third_party/python/pyyaml/lib3/yaml/constructor.py
rename : python/pyyaml/lib3/yaml/cyaml.py => third_party/python/pyyaml/lib3/yaml/cyaml.py
rename : python/pyyaml/lib3/yaml/dumper.py => third_party/python/pyyaml/lib3/yaml/dumper.py
rename : python/pyyaml/lib3/yaml/emitter.py => third_party/python/pyyaml/lib3/yaml/emitter.py
rename : python/pyyaml/lib3/yaml/error.py => third_party/python/pyyaml/lib3/yaml/error.py
rename : python/pyyaml/lib3/yaml/events.py => third_party/python/pyyaml/lib3/yaml/events.py
rename : python/pyyaml/lib3/yaml/loader.py => third_party/python/pyyaml/lib3/yaml/loader.py
rename : python/pyyaml/lib3/yaml/nodes.py => third_party/python/pyyaml/lib3/yaml/nodes.py
rename : python/pyyaml/lib3/yaml/parser.py => third_party/python/pyyaml/lib3/yaml/parser.py
rename : python/pyyaml/lib3/yaml/reader.py => third_party/python/pyyaml/lib3/yaml/reader.py
rename : python/pyyaml/lib3/yaml/representer.py => third_party/python/pyyaml/lib3/yaml/representer.py
rename : python/pyyaml/lib3/yaml/resolver.py => third_party/python/pyyaml/lib3/yaml/resolver.py
rename : python/pyyaml/lib3/yaml/scanner.py => third_party/python/pyyaml/lib3/yaml/scanner.py
rename : python/pyyaml/lib3/yaml/serializer.py => third_party/python/pyyaml/lib3/yaml/serializer.py
rename : python/pyyaml/lib3/yaml/tokens.py => third_party/python/pyyaml/lib3/yaml/tokens.py
rename : python/pyyaml/setup.cfg => third_party/python/pyyaml/setup.cfg
rename : python/pyyaml/setup.py => third_party/python/pyyaml/setup.py
rename : python/redo/PKG-INFO => third_party/python/redo/PKG-INFO
rename : python/redo/README => third_party/python/redo/README
rename : python/redo/redo.egg-info/PKG-INFO => third_party/python/redo/redo.egg-info/PKG-INFO
rename : python/redo/redo.egg-info/SOURCES.txt => third_party/python/redo/redo.egg-info/SOURCES.txt
rename : python/redo/redo.egg-info/dependency_links.txt => third_party/python/redo/redo.egg-info/dependency_links.txt
rename : python/redo/redo.egg-info/entry_points.txt => third_party/python/redo/redo.egg-info/entry_points.txt
rename : python/redo/redo.egg-info/top_level.txt => third_party/python/redo/redo.egg-info/top_level.txt
rename : python/redo/redo/__init__.py => third_party/python/redo/redo/__init__.py
rename : python/redo/redo/cmd.py => third_party/python/redo/redo/cmd.py
rename : python/redo/setup.cfg => third_party/python/redo/setup.cfg
rename : python/redo/setup.py => third_party/python/redo/setup.py
rename : python/requests/HISTORY.rst => third_party/python/requests/HISTORY.rst
rename : python/requests/LICENSE => third_party/python/requests/LICENSE
rename : python/requests/MANIFEST.in => third_party/python/requests/MANIFEST.in
rename : python/requests/NOTICE => third_party/python/requests/NOTICE
rename : python/requests/PKG-INFO => third_party/python/requests/PKG-INFO
rename : python/requests/README.rst => third_party/python/requests/README.rst
rename : python/requests/requests.egg-info/PKG-INFO => third_party/python/requests/requests.egg-info/PKG-INFO
rename : python/requests/requests.egg-info/SOURCES.txt => third_party/python/requests/requests.egg-info/SOURCES.txt
rename : python/requests/requests.egg-info/dependency_links.txt => third_party/python/requests/requests.egg-info/dependency_links.txt
rename : python/requests/requests.egg-info/not-zip-safe => third_party/python/requests/requests.egg-info/not-zip-safe
rename : python/requests/requests.egg-info/requires.txt => third_party/python/requests/requests.egg-info/requires.txt
rename : python/requests/requests.egg-info/top_level.txt => third_party/python/requests/requests.egg-info/top_level.txt
rename : python/requests/requests/__init__.py => third_party/python/requests/requests/__init__.py
rename : python/requests/requests/adapters.py => third_party/python/requests/requests/adapters.py
rename : python/requests/requests/api.py => third_party/python/requests/requests/api.py
rename : python/requests/requests/auth.py => third_party/python/requests/requests/auth.py
rename : python/requests/requests/cacert.pem => third_party/python/requests/requests/cacert.pem
rename : python/requests/requests/certs.py => third_party/python/requests/requests/certs.py
rename : python/requests/requests/compat.py => third_party/python/requests/requests/compat.py
rename : python/requests/requests/cookies.py => third_party/python/requests/requests/cookies.py
rename : python/requests/requests/exceptions.py => third_party/python/requests/requests/exceptions.py
rename : python/requests/requests/hooks.py => third_party/python/requests/requests/hooks.py
rename : python/requests/requests/models.py => third_party/python/requests/requests/models.py
rename : python/requests/requests/packages/__init__.py => third_party/python/requests/requests/packages/__init__.py
rename : python/requests/requests/packages/chardet/__init__.py => third_party/python/requests/requests/packages/chardet/__init__.py
rename : python/requests/requests/packages/chardet/big5freq.py => third_party/python/requests/requests/packages/chardet/big5freq.py
rename : python/requests/requests/packages/chardet/big5prober.py => third_party/python/requests/requests/packages/chardet/big5prober.py
rename : python/requests/requests/packages/chardet/chardetect.py => third_party/python/requests/requests/packages/chardet/chardetect.py
rename : python/requests/requests/packages/chardet/chardistribution.py => third_party/python/requests/requests/packages/chardet/chardistribution.py
rename : python/requests/requests/packages/chardet/charsetgroupprober.py => third_party/python/requests/requests/packages/chardet/charsetgroupprober.py
rename : python/requests/requests/packages/chardet/charsetprober.py => third_party/python/requests/requests/packages/chardet/charsetprober.py
rename : python/requests/requests/packages/chardet/codingstatemachine.py => third_party/python/requests/requests/packages/chardet/codingstatemachine.py
rename : python/requests/requests/packages/chardet/compat.py => third_party/python/requests/requests/packages/chardet/compat.py
rename : python/requests/requests/packages/chardet/constants.py => third_party/python/requests/requests/packages/chardet/constants.py
rename : python/requests/requests/packages/chardet/cp949prober.py => third_party/python/requests/requests/packages/chardet/cp949prober.py
rename : python/requests/requests/packages/chardet/escprober.py => third_party/python/requests/requests/packages/chardet/escprober.py
rename : python/requests/requests/packages/chardet/escsm.py => third_party/python/requests/requests/packages/chardet/escsm.py
rename : python/requests/requests/packages/chardet/eucjpprober.py => third_party/python/requests/requests/packages/chardet/eucjpprober.py
rename : python/requests/requests/packages/chardet/euckrfreq.py => third_party/python/requests/requests/packages/chardet/euckrfreq.py
rename : python/requests/requests/packages/chardet/euckrprober.py => third_party/python/requests/requests/packages/chardet/euckrprober.py
rename : python/requests/requests/packages/chardet/euctwfreq.py => third_party/python/requests/requests/packages/chardet/euctwfreq.py
rename : python/requests/requests/packages/chardet/euctwprober.py => third_party/python/requests/requests/packages/chardet/euctwprober.py
rename : python/requests/requests/packages/chardet/gb2312freq.py => third_party/python/requests/requests/packages/chardet/gb2312freq.py
rename : python/requests/requests/packages/chardet/gb2312prober.py => third_party/python/requests/requests/packages/chardet/gb2312prober.py
rename : python/requests/requests/packages/chardet/hebrewprober.py => third_party/python/requests/requests/packages/chardet/hebrewprober.py
rename : python/requests/requests/packages/chardet/jisfreq.py => third_party/python/requests/requests/packages/chardet/jisfreq.py
rename : python/requests/requests/packages/chardet/jpcntx.py => third_party/python/requests/requests/packages/chardet/jpcntx.py
rename : python/requests/requests/packages/chardet/langbulgarianmodel.py => third_party/python/requests/requests/packages/chardet/langbulgarianmodel.py
rename : python/requests/requests/packages/chardet/langcyrillicmodel.py => third_party/python/requests/requests/packages/chardet/langcyrillicmodel.py
rename : python/requests/requests/packages/chardet/langgreekmodel.py => third_party/python/requests/requests/packages/chardet/langgreekmodel.py
rename : python/requests/requests/packages/chardet/langhebrewmodel.py => third_party/python/requests/requests/packages/chardet/langhebrewmodel.py
rename : python/requests/requests/packages/chardet/langhungarianmodel.py => third_party/python/requests/requests/packages/chardet/langhungarianmodel.py
rename : python/requests/requests/packages/chardet/langthaimodel.py => third_party/python/requests/requests/packages/chardet/langthaimodel.py
rename : python/requests/requests/packages/chardet/latin1prober.py => third_party/python/requests/requests/packages/chardet/latin1prober.py
rename : python/requests/requests/packages/chardet/mbcharsetprober.py => third_party/python/requests/requests/packages/chardet/mbcharsetprober.py
rename : python/requests/requests/packages/chardet/mbcsgroupprober.py => third_party/python/requests/requests/packages/chardet/mbcsgroupprober.py
rename : python/requests/requests/packages/chardet/mbcssm.py => third_party/python/requests/requests/packages/chardet/mbcssm.py
rename : python/requests/requests/packages/chardet/sbcharsetprober.py => third_party/python/requests/requests/packages/chardet/sbcharsetprober.py
rename : python/requests/requests/packages/chardet/sbcsgroupprober.py => third_party/python/requests/requests/packages/chardet/sbcsgroupprober.py
rename : python/requests/requests/packages/chardet/sjisprober.py => third_party/python/requests/requests/packages/chardet/sjisprober.py
rename : python/requests/requests/packages/chardet/universaldetector.py => third_party/python/requests/requests/packages/chardet/universaldetector.py
rename : python/requests/requests/packages/chardet/utf8prober.py => third_party/python/requests/requests/packages/chardet/utf8prober.py
rename : python/requests/requests/packages/urllib3/__init__.py => third_party/python/requests/requests/packages/urllib3/__init__.py
rename : python/requests/requests/packages/urllib3/_collections.py => third_party/python/requests/requests/packages/urllib3/_collections.py
rename : python/requests/requests/packages/urllib3/connection.py => third_party/python/requests/requests/packages/urllib3/connection.py
rename : python/requests/requests/packages/urllib3/connectionpool.py => third_party/python/requests/requests/packages/urllib3/connectionpool.py
rename : python/requests/requests/packages/urllib3/contrib/__init__.py => third_party/python/requests/requests/packages/urllib3/contrib/__init__.py
rename : python/requests/requests/packages/urllib3/contrib/appengine.py => third_party/python/requests/requests/packages/urllib3/contrib/appengine.py
rename : python/requests/requests/packages/urllib3/contrib/ntlmpool.py => third_party/python/requests/requests/packages/urllib3/contrib/ntlmpool.py
rename : python/requests/requests/packages/urllib3/contrib/pyopenssl.py => third_party/python/requests/requests/packages/urllib3/contrib/pyopenssl.py
rename : python/requests/requests/packages/urllib3/exceptions.py => third_party/python/requests/requests/packages/urllib3/exceptions.py
rename : python/requests/requests/packages/urllib3/fields.py => third_party/python/requests/requests/packages/urllib3/fields.py
rename : python/requests/requests/packages/urllib3/filepost.py => third_party/python/requests/requests/packages/urllib3/filepost.py
rename : python/requests/requests/packages/urllib3/packages/__init__.py => third_party/python/requests/requests/packages/urllib3/packages/__init__.py
rename : python/requests/requests/packages/urllib3/packages/ordered_dict.py => third_party/python/requests/requests/packages/urllib3/packages/ordered_dict.py
rename : python/requests/requests/packages/urllib3/packages/six.py => third_party/python/requests/requests/packages/urllib3/packages/six.py
rename : python/requests/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py => third_party/python/requests/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py
rename : python/requests/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py => third_party/python/requests/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py
rename : python/requests/requests/packages/urllib3/poolmanager.py => third_party/python/requests/requests/packages/urllib3/poolmanager.py
rename : python/requests/requests/packages/urllib3/request.py => third_party/python/requests/requests/packages/urllib3/request.py
rename : python/requests/requests/packages/urllib3/response.py => third_party/python/requests/requests/packages/urllib3/response.py
rename : python/requests/requests/packages/urllib3/util/__init__.py => third_party/python/requests/requests/packages/urllib3/util/__init__.py
rename : python/requests/requests/packages/urllib3/util/connection.py => third_party/python/requests/requests/packages/urllib3/util/connection.py
rename : python/requests/requests/packages/urllib3/util/request.py => third_party/python/requests/requests/packages/urllib3/util/request.py
rename : python/requests/requests/packages/urllib3/util/response.py => third_party/python/requests/requests/packages/urllib3/util/response.py
rename : python/requests/requests/packages/urllib3/util/retry.py => third_party/python/requests/requests/packages/urllib3/util/retry.py
rename : python/requests/requests/packages/urllib3/util/ssl_.py => third_party/python/requests/requests/packages/urllib3/util/ssl_.py
rename : python/requests/requests/packages/urllib3/util/timeout.py => third_party/python/requests/requests/packages/urllib3/util/timeout.py
rename : python/requests/requests/packages/urllib3/util/url.py => third_party/python/requests/requests/packages/urllib3/util/url.py
rename : python/requests/requests/sessions.py => third_party/python/requests/requests/sessions.py
rename : python/requests/requests/status_codes.py => third_party/python/requests/requests/status_codes.py
rename : python/requests/requests/structures.py => third_party/python/requests/requests/structures.py
rename : python/requests/requests/utils.py => third_party/python/requests/requests/utils.py
rename : python/requests/requirements.txt => third_party/python/requests/requirements.txt
rename : python/requests/setup.cfg => third_party/python/requests/setup.cfg
rename : python/requests/setup.py => third_party/python/requests/setup.py
rename : python/requests/test_requests.py => third_party/python/requests/test_requests.py
rename : python/rsa/LICENSE => third_party/python/rsa/LICENSE
rename : python/rsa/MANIFEST.in => third_party/python/rsa/MANIFEST.in
rename : python/rsa/PKG-INFO => third_party/python/rsa/PKG-INFO
rename : python/rsa/README.rst => third_party/python/rsa/README.rst
rename : python/rsa/create_timing_table.py => third_party/python/rsa/create_timing_table.py
rename : python/rsa/playstuff.py => third_party/python/rsa/playstuff.py
rename : python/rsa/rsa.egg-info/PKG-INFO => third_party/python/rsa/rsa.egg-info/PKG-INFO
rename : python/rsa/rsa.egg-info/SOURCES.txt => third_party/python/rsa/rsa.egg-info/SOURCES.txt
rename : python/rsa/rsa.egg-info/dependency_links.txt => third_party/python/rsa/rsa.egg-info/dependency_links.txt
rename : python/rsa/rsa.egg-info/entry_points.txt => third_party/python/rsa/rsa.egg-info/entry_points.txt
rename : python/rsa/rsa.egg-info/requires.txt => third_party/python/rsa/rsa.egg-info/requires.txt
rename : python/rsa/rsa.egg-info/top_level.txt => third_party/python/rsa/rsa.egg-info/top_level.txt
rename : python/rsa/rsa/__init__.py => third_party/python/rsa/rsa/__init__.py
rename : python/rsa/rsa/_compat.py => third_party/python/rsa/rsa/_compat.py
rename : python/rsa/rsa/_version133.py => third_party/python/rsa/rsa/_version133.py
rename : python/rsa/rsa/_version200.py => third_party/python/rsa/rsa/_version200.py
rename : python/rsa/rsa/asn1.py => third_party/python/rsa/rsa/asn1.py
rename : python/rsa/rsa/bigfile.py => third_party/python/rsa/rsa/bigfile.py
rename : python/rsa/rsa/cli.py => third_party/python/rsa/rsa/cli.py
rename : python/rsa/rsa/common.py => third_party/python/rsa/rsa/common.py
rename : python/rsa/rsa/core.py => third_party/python/rsa/rsa/core.py
rename : python/rsa/rsa/key.py => third_party/python/rsa/rsa/key.py
rename : python/rsa/rsa/parallel.py => third_party/python/rsa/rsa/parallel.py
rename : python/rsa/rsa/pem.py => third_party/python/rsa/rsa/pem.py
rename : python/rsa/rsa/pkcs1.py => third_party/python/rsa/rsa/pkcs1.py
rename : python/rsa/rsa/prime.py => third_party/python/rsa/rsa/prime.py
rename : python/rsa/rsa/randnum.py => third_party/python/rsa/rsa/randnum.py
rename : python/rsa/rsa/transform.py => third_party/python/rsa/rsa/transform.py
rename : python/rsa/rsa/util.py => third_party/python/rsa/rsa/util.py
rename : python/rsa/rsa/varblock.py => third_party/python/rsa/rsa/varblock.py
rename : python/rsa/run_tests.py => third_party/python/rsa/run_tests.py
rename : python/rsa/setup.cfg => third_party/python/rsa/setup.cfg
rename : python/rsa/setup.py => third_party/python/rsa/setup.py
rename : python/rsa/tests/__init__.py => third_party/python/rsa/tests/__init__.py
rename : python/rsa/tests/constants.py => third_party/python/rsa/tests/constants.py
rename : python/rsa/tests/py2kconstants.py => third_party/python/rsa/tests/py2kconstants.py
rename : python/rsa/tests/py3kconstants.py => third_party/python/rsa/tests/py3kconstants.py
rename : python/rsa/tests/test_bigfile.py => third_party/python/rsa/tests/test_bigfile.py
rename : python/rsa/tests/test_common.py => third_party/python/rsa/tests/test_common.py
rename : python/rsa/tests/test_compat.py => third_party/python/rsa/tests/test_compat.py
rename : python/rsa/tests/test_integers.py => third_party/python/rsa/tests/test_integers.py
rename : python/rsa/tests/test_load_save_keys.py => third_party/python/rsa/tests/test_load_save_keys.py
rename : python/rsa/tests/test_pem.py => third_party/python/rsa/tests/test_pem.py
rename : python/rsa/tests/test_pkcs1.py => third_party/python/rsa/tests/test_pkcs1.py
rename : python/rsa/tests/test_strings.py => third_party/python/rsa/tests/test_strings.py
rename : python/rsa/tests/test_transform.py => third_party/python/rsa/tests/test_transform.py
rename : python/rsa/tests/test_varblock.py => third_party/python/rsa/tests/test_varblock.py
rename : python/slugid/.gitignore => third_party/python/slugid/.gitignore
rename : python/slugid/.travis.yml => third_party/python/slugid/.travis.yml
rename : python/slugid/LICENSE => third_party/python/slugid/LICENSE
rename : python/slugid/README.rst => third_party/python/slugid/README.rst
rename : python/slugid/requirements.txt => third_party/python/slugid/requirements.txt
rename : python/slugid/setup.py => third_party/python/slugid/setup.py
rename : python/slugid/slugid/__init__.py => third_party/python/slugid/slugid/__init__.py
rename : python/slugid/slugid/slugid.py => third_party/python/slugid/slugid/slugid.py
rename : python/slugid/test.py => third_party/python/slugid/test.py
rename : python/slugid/tox.ini => third_party/python/slugid/tox.ini
rename : python/virtualenv/AUTHORS.txt => third_party/python/virtualenv/AUTHORS.txt
rename : python/virtualenv/LICENSE.txt => third_party/python/virtualenv/LICENSE.txt
rename : python/virtualenv/MANIFEST.in => third_party/python/virtualenv/MANIFEST.in
rename : python/virtualenv/PKG-INFO => third_party/python/virtualenv/PKG-INFO
rename : python/virtualenv/README.rst => third_party/python/virtualenv/README.rst
rename : python/virtualenv/bin/rebuild-script.py => third_party/python/virtualenv/bin/rebuild-script.py
rename : python/virtualenv/docs/Makefile => third_party/python/virtualenv/docs/Makefile
rename : python/virtualenv/docs/changes.rst => third_party/python/virtualenv/docs/changes.rst
rename : python/virtualenv/docs/conf.py => third_party/python/virtualenv/docs/conf.py
rename : python/virtualenv/docs/development.rst => third_party/python/virtualenv/docs/development.rst
rename : python/virtualenv/docs/index.rst => third_party/python/virtualenv/docs/index.rst
rename : python/virtualenv/docs/installation.rst => third_party/python/virtualenv/docs/installation.rst
rename : python/virtualenv/docs/make.bat => third_party/python/virtualenv/docs/make.bat
rename : python/virtualenv/docs/reference.rst => third_party/python/virtualenv/docs/reference.rst
rename : python/virtualenv/docs/userguide.rst => third_party/python/virtualenv/docs/userguide.rst
rename : python/virtualenv/scripts/virtualenv => third_party/python/virtualenv/scripts/virtualenv
rename : python/virtualenv/setup.cfg => third_party/python/virtualenv/setup.cfg
rename : python/virtualenv/setup.py => third_party/python/virtualenv/setup.py
rename : python/virtualenv/site.py => third_party/python/virtualenv/site.py
rename : python/virtualenv/tests/__init__.py => third_party/python/virtualenv/tests/__init__.py
rename : python/virtualenv/tests/test_activate.sh => third_party/python/virtualenv/tests/test_activate.sh
rename : python/virtualenv/tests/test_activate_output.expected => third_party/python/virtualenv/tests/test_activate_output.expected
rename : python/virtualenv/tests/test_cmdline.py => third_party/python/virtualenv/tests/test_cmdline.py
rename : python/virtualenv/tests/test_virtualenv.py => third_party/python/virtualenv/tests/test_virtualenv.py
rename : python/virtualenv/virtualenv.py => third_party/python/virtualenv/virtualenv.py
rename : python/virtualenv/virtualenv_embedded/activate.bat => third_party/python/virtualenv/virtualenv_embedded/activate.bat
rename : python/virtualenv/virtualenv_embedded/activate.csh => third_party/python/virtualenv/virtualenv_embedded/activate.csh
rename : python/virtualenv/virtualenv_embedded/activate.fish => third_party/python/virtualenv/virtualenv_embedded/activate.fish
rename : python/virtualenv/virtualenv_embedded/activate.ps1 => third_party/python/virtualenv/virtualenv_embedded/activate.ps1
rename : python/virtualenv/virtualenv_embedded/activate.sh => third_party/python/virtualenv/virtualenv_embedded/activate.sh
rename : python/virtualenv/virtualenv_embedded/activate_this.py => third_party/python/virtualenv/virtualenv_embedded/activate_this.py
rename : python/virtualenv/virtualenv_embedded/deactivate.bat => third_party/python/virtualenv/virtualenv_embedded/deactivate.bat
rename : python/virtualenv/virtualenv_embedded/distutils-init.py => third_party/python/virtualenv/virtualenv_embedded/distutils-init.py
rename : python/virtualenv/virtualenv_embedded/distutils.cfg => third_party/python/virtualenv/virtualenv_embedded/distutils.cfg
rename : python/virtualenv/virtualenv_embedded/python-config => third_party/python/virtualenv/virtualenv_embedded/python-config
rename : python/virtualenv/virtualenv_embedded/site.py => third_party/python/virtualenv/virtualenv_embedded/site.py
rename : python/virtualenv/virtualenv_support/__init__.py => third_party/python/virtualenv/virtualenv_support/__init__.py
rename : python/virtualenv/virtualenv_support/argparse-1.4.0-py2.py3-none-any.whl => third_party/python/virtualenv/virtualenv_support/argparse-1.4.0-py2.py3-none-any.whl
rename : python/virtualenv/virtualenv_support/pip-8.1.2-py2.py3-none-any.whl => third_party/python/virtualenv/virtualenv_support/pip-8.1.2-py2.py3-none-any.whl
rename : python/virtualenv/virtualenv_support/setuptools-25.2.0-py2.py3-none-any.whl => third_party/python/virtualenv/virtualenv_support/setuptools-25.2.0-py2.py3-none-any.whl
rename : python/virtualenv/virtualenv_support/wheel-0.29.0-py2.py3-none-any.whl => third_party/python/virtualenv/virtualenv_support/wheel-0.29.0-py2.py3-none-any.whl
rename : python/voluptuous/COPYING => third_party/python/voluptuous/COPYING
rename : python/voluptuous/MANIFEST.in => third_party/python/voluptuous/MANIFEST.in
rename : python/voluptuous/PKG-INFO => third_party/python/voluptuous/PKG-INFO
rename : python/voluptuous/README.md => third_party/python/voluptuous/README.md
rename : python/voluptuous/README.rst => third_party/python/voluptuous/README.rst
rename : python/voluptuous/setup.cfg => third_party/python/voluptuous/setup.cfg
rename : python/voluptuous/setup.py => third_party/python/voluptuous/setup.py
rename : python/voluptuous/tests.md => third_party/python/voluptuous/tests.md
rename : python/voluptuous/voluptuous.py => third_party/python/voluptuous/voluptuous.py
rename : python/which/LICENSE.txt => third_party/python/which/LICENSE.txt
rename : python/which/MANIFEST.in => third_party/python/which/MANIFEST.in
rename : python/which/Makefile.win => third_party/python/which/Makefile.win
rename : python/which/PKG-INFO => third_party/python/which/PKG-INFO
rename : python/which/README.txt => third_party/python/which/README.txt
rename : python/which/TODO.txt => third_party/python/which/TODO.txt
rename : python/which/build.py => third_party/python/which/build.py
rename : python/which/launcher.cpp => third_party/python/which/launcher.cpp
rename : python/which/logo.jpg => third_party/python/which/logo.jpg
rename : python/which/setup.py => third_party/python/which/setup.py
rename : python/which/test/test_which.py => third_party/python/which/test/test_which.py
rename : python/which/test/testsupport.py => third_party/python/which/test/testsupport.py
rename : python/which/which.py => third_party/python/which/which.py
extra : rebase_source : fc38848c444c36b0d38a0c33aa5be74d5037d57d
2017-05-25 11:48:03 -04:00

167 lines
8.2 KiB
Python

# Licensed under the Mozilla Public Licence 2.0.
# https://www.mozilla.org/en-US/MPL/2.0
import uuid
import slugid
def testEncode():
""" Test that we can correctly encode a "non-nice" uuid (with first bit
set) to its known slug. The specific uuid was chosen since it has a slug
which contains both `-` and `_` characters."""
# 10000000010011110011111111001000110111111100101101001011000001101000100111111011101011101111101011010101111000011000011101010100....
# <8 ><0 ><4 ><f ><3 ><f ><c ><8 ><d ><f ><c ><b ><4 ><b ><0 ><6 ><8 ><9 ><f ><b ><a ><e ><f ><a ><d ><5 ><e ><1 ><8 ><7 ><5 ><4 >
# < g >< E >< 8 >< _ >< y >< N >< _ >< L >< S >< w >< a >< J >< - >< 6 >< 7 >< 6 >< 1 >< e >< G >< H >< V >< A >
uuid_ = uuid.UUID('{804f3fc8-dfcb-4b06-89fb-aefad5e18754}')
expectedSlug = 'gE8_yN_LSwaJ-6761eGHVA'
actualSlug = slugid.encode(uuid_)
assert expectedSlug == actualSlug, "UUID not correctly encoded into slug: '" + expectedSlug + "' != '" + actualSlug + "'"
def testDecode():
""" Test that we can decode a "non-nice" slug (first bit of uuid is set)
that begins with `-`"""
# 11111011111011111011111011111011111011111011111001000011111011111011111111111111111111111111111111111111111111111111111111111101....
# <f ><b ><e ><f ><b ><e ><f ><b ><e ><f ><b ><e ><4 ><3 ><e ><f ><b ><f ><f ><f ><f ><f ><f ><f ><f ><f ><f ><f ><f ><f ><f ><d >
# < - >< - >< - >< - >< - >< - >< - >< - >< Q >< - >< - >< - >< _ >< _ >< _ >< _ >< _ >< _ >< _ >< _ >< _ >< Q >
slug = '--------Q--__________Q'
expectedUuid = uuid.UUID('{fbefbefb-efbe-43ef-bfff-fffffffffffd}')
actualUuid = slugid.decode(slug)
assert expectedUuid == actualUuid, "Slug not correctly decoded into uuid: '" + str(expectedUuid) + "' != '" + str(actualUuid) + "'"
def testUuidEncodeDecode():
""" Test that 10000 v4 uuids are unchanged after encoding and then decoding them"""
for i in range(0, 10000):
uuid1 = uuid.uuid4()
slug = slugid.encode(uuid1)
uuid2 = slugid.decode(slug)
assert uuid1 == uuid2, "Encode and decode isn't identity: '" + str(uuid1) + "' != '" + str(uuid2) + "'"
def testSlugDecodeEncode():
""" Test that 10000 v4 slugs are unchanged after decoding and then encoding them."""
for i in range(0, 10000):
slug1 = slugid.v4()
uuid_ = slugid.decode(slug1)
slug2 = slugid.encode(uuid_)
assert slug1 == slug2, "Decode and encode isn't identity"
def testSpreadNice():
""" Make sure that all allowed characters can appear in all allowed
positions within the "nice" slug. In this test we generate over a thousand
slugids, and make sure that every possible allowed character per position
appears at least once in the sample of all slugids generated. We also make
sure that no other characters appear in positions in which they are not
allowed.
base 64 encoding char -> value:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_
0 1 2 3 4 5 6
0123456789012345678901234567890123456789012345678901234567890123
e.g. from this we can see 'j' represents 35 in base64
The following comments show the 128 bits of the v4 uuid in binary, hex and
base 64 encodings. The 6 fixed bits (`0`/`1`) according to RFC 4122, plus
the first (most significant) fixed bit (`0`) are shown among the 121
arbitrary value bits (`.`/`x`). The `x` means the same as `.` but just
highlights which bits are grouped together for the respective encoding.
schema:
<..........time_low............><...time_mid...><time_hi_+_vers><clk_hi><clk_lo><.....................node.....................>
bin: 0xxx............................................0100............10xx............................................................
hex: $A <01><02><03><04><05><06><07><08><09><10><11> 4 <13><14><15> $B <17><18><19><20><21><22><23><24><25><26><27><28><29><30><31>
=> $A in {0, 1, 2, 3, 4, 5, 6, 7} (0b0xxx)
=> $B in {8, 9, A, B} (0b10xx)
bin: 0xxxxx..........................................0100xx......xxxx10............................................................xx0000
b64: $C < 01 >< 02 >< 03 >< 04 >< 05 >< 06 >< 07 > $D < 09 > $E < 11 >< 12 >< 13 >< 14 >< 15 >< 16 >< 17 >< 18 >< 19 >< 20 > $F
=> $C in {A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, a, b, c, d, e, f} (0b0xxxxx)
=> $D in {Q, R, S, T} (0b0100xx)
=> $E in {C, G, K, O, S, W, a, e, i, m, q, u, y, 2, 6, -} (0bxxxx10)
=> $F in {A, Q, g, w} (0bxx0000)"""
charsAll = ''.join(sorted('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'))
# 0 - 31: 0b0xxxxx
charsC = ''.join(sorted('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdef'))
# 16, 17, 18, 19: 0b0100xx
charsD = ''.join(sorted('QRST'))
# 2, 6, 10, 14, 18, 22, 26, 30, 34, 38, 42, 46, 50, 54, 58, 62: 0bxxxx10
charsE = ''.join(sorted('CGKOSWaeimquy26-'))
# 0, 16, 32, 48: 0bxx0000
charsF = ''.join(sorted('AQgw'))
expected = [charsC, charsAll, charsAll, charsAll, charsAll, charsAll, charsAll, charsAll, charsD, charsAll, charsE, charsAll, charsAll, charsAll, charsAll, charsAll, charsAll, charsAll, charsAll, charsAll, charsAll, charsF]
spreadTest(slugid.nice, expected)
def testSpreadV4():
""" This test is the same as niceSpreadTest but for slugid.v4() rather than
slugid.nice(). The only difference is that a v4() slug can start with any of
the base64 characters since the first six bits of the uuid are random."""
charsAll = ''.join(sorted('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'))
# 16, 17, 18, 19: 0b0100xx
charsD = ''.join(sorted('QRST'))
# 2, 6, 10, 14, 18, 22, 26, 30, 34, 38, 42, 46, 50, 54, 58, 62: 0bxxxx10
charsE = ''.join(sorted('CGKOSWaeimquy26-'))
# 0, 16, 32, 48: 0bxx0000
charsF = ''.join(sorted('AQgw'))
expected = [charsAll, charsAll, charsAll, charsAll, charsAll, charsAll, charsAll, charsAll, charsD, charsAll, charsE, charsAll, charsAll, charsAll, charsAll, charsAll, charsAll, charsAll, charsAll, charsAll, charsAll, charsF]
spreadTest(slugid.v4, expected)
def spreadTest(generator, expected):
""" `spreadTest` runs a test against the `generator` function, to check that
when calling it 64*40 times, the range of characters per string position it
returns matches the array `expected`, where each entry in `expected` is a
string of all possible characters that should appear in that position in the
string, at least once in the sample of 64*40 responses from the `generator`
function"""
# k is an array which stores which characters were found at which
# positions. It has one entry per slugid character, therefore 22 entries.
# Each entry is a dict with a key for each character found, and its value
# as the number of times that character appeared at that position in the
# slugid in the large sample of slugids generated in this test.
k = [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}]
# Generate a large sample of slugids, and record what characters appeared
# where... A monte-carlo test has demonstrated that with 64 * 20
# iterations, no failure occurred in 1000 simulations, so 64 * 40 should be
# suitably large to rule out false positives.
for i in range(0, 64 * 40):
slug = generator()
assert len(slug) == 22
for j in range(0, 22):
if slug[j] in k[j]:
k[j][slug[j]] = k[j][slug[j]] + 1
else:
k[j][slug[j]] = 1
# Compose results into an array `actual`, for comparison with `expected`
actual = []
for j in range(0, len(k)):
actual.append('')
for a in k[j].keys():
if k[j][a] > 0:
actual[j] += a
# sort for easy comparison
actual[j] = ''.join(sorted(actual[j]))
assert arraysEqual(expected, actual), "In a large sample of generated slugids, the range of characters found per character position in the sample did not match expected results.\n\nExpected: " + str(expected) + "\n\nActual: " + str(actual)
def arraysEqual(a, b):
""" returns True if arrays a and b are equal"""
return cmp(a, b) == 0