mirror of
https://github.com/clinton-hall/nzbToMedia.git
synced 2025-08-21 05:43:16 -07:00
Updates vendored subliminal to 2.1.0
Updates rarfile to 3.1 Updates stevedore to 3.5.0 Updates appdirs to 1.4.4 Updates click to 8.1.3 Updates decorator to 5.1.1 Updates dogpile.cache to 1.1.8 Updates pbr to 5.11.0 Updates pysrt to 1.1.2 Updates pytz to 2022.6 Adds importlib-metadata version 3.1.1 Adds typing-extensions version 4.1.1 Adds zipp version 3.11.0
This commit is contained in:
parent
d8da02cb69
commit
f05b09f349
694 changed files with 16621 additions and 11056 deletions
|
@ -1,3 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Copyright (c) 2015 Hewlett-Packard Development Company, L.P. (HP)
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
|
@ -13,6 +14,7 @@
|
|||
# under the License.
|
||||
|
||||
import io
|
||||
import tempfile
|
||||
import textwrap
|
||||
|
||||
import six
|
||||
|
@ -23,6 +25,122 @@ from pbr.tests import base
|
|||
from pbr import util
|
||||
|
||||
|
||||
def config_from_ini(ini):
|
||||
config = {}
|
||||
ini = textwrap.dedent(six.u(ini))
|
||||
if sys.version_info >= (3, 2):
|
||||
parser = configparser.ConfigParser()
|
||||
parser.read_file(io.StringIO(ini))
|
||||
else:
|
||||
parser = configparser.SafeConfigParser()
|
||||
parser.readfp(io.StringIO(ini))
|
||||
for section in parser.sections():
|
||||
config[section] = dict(parser.items(section))
|
||||
return config
|
||||
|
||||
|
||||
class TestBasics(base.BaseTestCase):
|
||||
|
||||
def test_basics(self):
|
||||
self.maxDiff = None
|
||||
config_text = """
|
||||
[metadata]
|
||||
name = foo
|
||||
version = 1.0
|
||||
author = John Doe
|
||||
author_email = jd@example.com
|
||||
maintainer = Jim Burke
|
||||
maintainer_email = jb@example.com
|
||||
home_page = http://example.com
|
||||
summary = A foobar project.
|
||||
description = Hello, world. This is a long description.
|
||||
download_url = http://opendev.org/x/pbr
|
||||
classifier =
|
||||
Development Status :: 5 - Production/Stable
|
||||
Programming Language :: Python
|
||||
platform =
|
||||
any
|
||||
license = Apache 2.0
|
||||
requires_dist =
|
||||
Sphinx
|
||||
requests
|
||||
setup_requires_dist =
|
||||
docutils
|
||||
python_requires = >=3.6
|
||||
provides_dist =
|
||||
bax
|
||||
provides_extras =
|
||||
bar
|
||||
obsoletes_dist =
|
||||
baz
|
||||
|
||||
[files]
|
||||
packages_root = src
|
||||
packages =
|
||||
foo
|
||||
package_data =
|
||||
"" = *.txt, *.rst
|
||||
foo = *.msg
|
||||
namespace_packages =
|
||||
hello
|
||||
data_files =
|
||||
bitmaps =
|
||||
bm/b1.gif
|
||||
bm/b2.gif
|
||||
config =
|
||||
cfg/data.cfg
|
||||
scripts =
|
||||
scripts/hello-world.py
|
||||
modules =
|
||||
mod1
|
||||
"""
|
||||
expected = {
|
||||
'name': u'foo',
|
||||
'version': u'1.0',
|
||||
'author': u'John Doe',
|
||||
'author_email': u'jd@example.com',
|
||||
'maintainer': u'Jim Burke',
|
||||
'maintainer_email': u'jb@example.com',
|
||||
'url': u'http://example.com',
|
||||
'description': u'A foobar project.',
|
||||
'long_description': u'Hello, world. This is a long description.',
|
||||
'download_url': u'http://opendev.org/x/pbr',
|
||||
'classifiers': [
|
||||
u'Development Status :: 5 - Production/Stable',
|
||||
u'Programming Language :: Python',
|
||||
],
|
||||
'platforms': [u'any'],
|
||||
'license': u'Apache 2.0',
|
||||
'install_requires': [
|
||||
u'Sphinx',
|
||||
u'requests',
|
||||
],
|
||||
'setup_requires': [u'docutils'],
|
||||
'python_requires': u'>=3.6',
|
||||
'provides': [u'bax'],
|
||||
'provides_extras': [u'bar'],
|
||||
'obsoletes': [u'baz'],
|
||||
'extras_require': {},
|
||||
|
||||
'package_dir': {'': u'src'},
|
||||
'packages': [u'foo'],
|
||||
'package_data': {
|
||||
'': ['*.txt,', '*.rst'],
|
||||
'foo': ['*.msg'],
|
||||
},
|
||||
'namespace_packages': [u'hello'],
|
||||
'data_files': [
|
||||
('bitmaps', ['bm/b1.gif', 'bm/b2.gif']),
|
||||
('config', ['cfg/data.cfg']),
|
||||
],
|
||||
'scripts': [u'scripts/hello-world.py'],
|
||||
'py_modules': [u'mod1'],
|
||||
}
|
||||
config = config_from_ini(config_text)
|
||||
actual = util.setup_cfg_to_setup_kwargs(config)
|
||||
self.assertDictEqual(expected, actual)
|
||||
|
||||
|
||||
class TestExtrasRequireParsingScenarios(base.BaseTestCase):
|
||||
|
||||
scenarios = [
|
||||
|
@ -64,20 +182,8 @@ class TestExtrasRequireParsingScenarios(base.BaseTestCase):
|
|||
{}
|
||||
})]
|
||||
|
||||
def config_from_ini(self, ini):
|
||||
config = {}
|
||||
if sys.version_info >= (3, 2):
|
||||
parser = configparser.ConfigParser()
|
||||
else:
|
||||
parser = configparser.SafeConfigParser()
|
||||
ini = textwrap.dedent(six.u(ini))
|
||||
parser.readfp(io.StringIO(ini))
|
||||
for section in parser.sections():
|
||||
config[section] = dict(parser.items(section))
|
||||
return config
|
||||
|
||||
def test_extras_parsing(self):
|
||||
config = self.config_from_ini(self.config_text)
|
||||
config = config_from_ini(self.config_text)
|
||||
kwargs = util.setup_cfg_to_setup_kwargs(config)
|
||||
|
||||
self.assertEqual(self.expected_extra_requires,
|
||||
|
@ -89,3 +195,127 @@ class TestInvalidMarkers(base.BaseTestCase):
|
|||
def test_invalid_marker_raises_error(self):
|
||||
config = {'extras': {'test': "foo :bad_marker>'1.0'"}}
|
||||
self.assertRaises(SyntaxError, util.setup_cfg_to_setup_kwargs, config)
|
||||
|
||||
|
||||
class TestMapFieldsParsingScenarios(base.BaseTestCase):
|
||||
|
||||
scenarios = [
|
||||
('simple_project_urls', {
|
||||
'config_text': """
|
||||
[metadata]
|
||||
project_urls =
|
||||
Bug Tracker = https://bugs.launchpad.net/pbr/
|
||||
Documentation = https://docs.openstack.org/pbr/
|
||||
Source Code = https://opendev.org/openstack/pbr
|
||||
""", # noqa: E501
|
||||
'expected_project_urls': {
|
||||
'Bug Tracker': 'https://bugs.launchpad.net/pbr/',
|
||||
'Documentation': 'https://docs.openstack.org/pbr/',
|
||||
'Source Code': 'https://opendev.org/openstack/pbr',
|
||||
},
|
||||
}),
|
||||
('query_parameters', {
|
||||
'config_text': """
|
||||
[metadata]
|
||||
project_urls =
|
||||
Bug Tracker = https://bugs.launchpad.net/pbr/?query=true
|
||||
Documentation = https://docs.openstack.org/pbr/?foo=bar
|
||||
Source Code = https://git.openstack.org/cgit/openstack-dev/pbr/commit/?id=hash
|
||||
""", # noqa: E501
|
||||
'expected_project_urls': {
|
||||
'Bug Tracker': 'https://bugs.launchpad.net/pbr/?query=true',
|
||||
'Documentation': 'https://docs.openstack.org/pbr/?foo=bar',
|
||||
'Source Code': 'https://git.openstack.org/cgit/openstack-dev/pbr/commit/?id=hash', # noqa: E501
|
||||
},
|
||||
}),
|
||||
]
|
||||
|
||||
def test_project_url_parsing(self):
|
||||
config = config_from_ini(self.config_text)
|
||||
kwargs = util.setup_cfg_to_setup_kwargs(config)
|
||||
|
||||
self.assertEqual(self.expected_project_urls, kwargs['project_urls'])
|
||||
|
||||
|
||||
class TestKeywordsParsingScenarios(base.BaseTestCase):
|
||||
|
||||
scenarios = [
|
||||
('keywords_list', {
|
||||
'config_text': """
|
||||
[metadata]
|
||||
keywords =
|
||||
one
|
||||
two
|
||||
three
|
||||
""", # noqa: E501
|
||||
'expected_keywords': ['one', 'two', 'three'],
|
||||
},
|
||||
),
|
||||
('inline_keywords', {
|
||||
'config_text': """
|
||||
[metadata]
|
||||
keywords = one, two, three
|
||||
""", # noqa: E501
|
||||
'expected_keywords': ['one, two, three'],
|
||||
}),
|
||||
]
|
||||
|
||||
def test_keywords_parsing(self):
|
||||
config = config_from_ini(self.config_text)
|
||||
kwargs = util.setup_cfg_to_setup_kwargs(config)
|
||||
|
||||
self.assertEqual(self.expected_keywords, kwargs['keywords'])
|
||||
|
||||
|
||||
class TestProvidesExtras(base.BaseTestCase):
|
||||
def test_provides_extras(self):
|
||||
ini = """
|
||||
[metadata]
|
||||
provides_extras = foo
|
||||
bar
|
||||
"""
|
||||
config = config_from_ini(ini)
|
||||
kwargs = util.setup_cfg_to_setup_kwargs(config)
|
||||
self.assertEqual(['foo', 'bar'], kwargs['provides_extras'])
|
||||
|
||||
|
||||
class TestDataFilesParsing(base.BaseTestCase):
|
||||
|
||||
scenarios = [
|
||||
('data_files', {
|
||||
'config_text': """
|
||||
[files]
|
||||
data_files =
|
||||
'i like spaces/' =
|
||||
'dir with space/file with spc 2'
|
||||
'dir with space/file with spc 1'
|
||||
""",
|
||||
'data_files': [
|
||||
('i like spaces/', ['dir with space/file with spc 2',
|
||||
'dir with space/file with spc 1'])
|
||||
]
|
||||
})]
|
||||
|
||||
def test_handling_of_whitespace_in_data_files(self):
|
||||
config = config_from_ini(self.config_text)
|
||||
kwargs = util.setup_cfg_to_setup_kwargs(config)
|
||||
|
||||
self.assertEqual(self.data_files, kwargs['data_files'])
|
||||
|
||||
|
||||
class TestUTF8DescriptionFile(base.BaseTestCase):
|
||||
def test_utf8_description_file(self):
|
||||
_, path = tempfile.mkstemp()
|
||||
ini_template = """
|
||||
[metadata]
|
||||
description_file = %s
|
||||
"""
|
||||
# Two \n's because pbr strips the file content and adds \n\n
|
||||
# This way we can use it directly as the assert comparison
|
||||
unicode_description = u'UTF8 description: é"…-ʃŋ\'\n\n'
|
||||
ini = ini_template % path
|
||||
with io.open(path, 'w', encoding='utf8') as f:
|
||||
f.write(unicode_description)
|
||||
config = config_from_ini(ini)
|
||||
kwargs = util.setup_cfg_to_setup_kwargs(config)
|
||||
self.assertEqual(unicode_description, kwargs['long_description'])
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue