mirror of
https://github.com/jellyfin/jellyfin-kodi.git
synced 2025-05-28 03:46:13 +00:00
Tool black: auto-format Python code
This commit is contained in:
parent
e4d8084c25
commit
7763762212
54 changed files with 6545 additions and 4723 deletions
81
build.py
81
build.py
|
@ -35,46 +35,48 @@ def create_addon_xml(config: dict, source: str, py_version: str) -> None:
|
|||
Create addon.xml from template file
|
||||
"""
|
||||
# Load template file
|
||||
with open('{}/.build/template.xml'.format(source), 'r') as f:
|
||||
with open("{}/.build/template.xml".format(source), "r") as f:
|
||||
tree = ET.parse(f)
|
||||
root = tree.getroot()
|
||||
|
||||
# Populate dependencies in template
|
||||
dependencies = config['dependencies'].get(py_version)
|
||||
dependencies = config["dependencies"].get(py_version)
|
||||
for dep in dependencies:
|
||||
ET.SubElement(root.find('requires'), 'import', attrib=dep)
|
||||
ET.SubElement(root.find("requires"), "import", attrib=dep)
|
||||
|
||||
# Populate version string
|
||||
addon_version = config.get('version')
|
||||
root.attrib['version'] = '{}+{}'.format(addon_version, py_version)
|
||||
addon_version = config.get("version")
|
||||
root.attrib["version"] = "{}+{}".format(addon_version, py_version)
|
||||
|
||||
# Populate Changelog
|
||||
date = datetime.today().strftime('%Y-%m-%d')
|
||||
changelog = config.get('changelog')
|
||||
for section in root.findall('extension'):
|
||||
news = section.findall('news')
|
||||
date = datetime.today().strftime("%Y-%m-%d")
|
||||
changelog = config.get("changelog")
|
||||
for section in root.findall("extension"):
|
||||
news = section.findall("news")
|
||||
if news:
|
||||
news[0].text = 'v{} ({}):\n{}'.format(addon_version, date, changelog)
|
||||
news[0].text = "v{} ({}):\n{}".format(addon_version, date, changelog)
|
||||
|
||||
# Format xml tree
|
||||
indent(root)
|
||||
|
||||
# Write addon.xml
|
||||
tree.write('{}/addon.xml'.format(source), encoding='utf-8', xml_declaration=True)
|
||||
tree.write("{}/addon.xml".format(source), encoding="utf-8", xml_declaration=True)
|
||||
|
||||
|
||||
def zip_files(py_version: str, source: str, target: str, dev: bool) -> None:
|
||||
"""
|
||||
Create installable addon zip archive
|
||||
"""
|
||||
archive_name = 'plugin.video.jellyfin+{}.zip'.format(py_version)
|
||||
archive_name = "plugin.video.jellyfin+{}.zip".format(py_version)
|
||||
|
||||
with zipfile.ZipFile('{}/{}'.format(target, archive_name), 'w') as z:
|
||||
with zipfile.ZipFile("{}/{}".format(target, archive_name), "w") as z:
|
||||
for root, dirs, files in os.walk(args.source):
|
||||
for filename in filter(file_filter, files):
|
||||
file_path = os.path.join(root, filename)
|
||||
if dev or folder_filter(file_path):
|
||||
relative_path = os.path.join('plugin.video.jellyfin', os.path.relpath(file_path, source))
|
||||
relative_path = os.path.join(
|
||||
"plugin.video.jellyfin", os.path.relpath(file_path, source)
|
||||
)
|
||||
z.write(file_path, relative_path)
|
||||
|
||||
|
||||
|
@ -83,10 +85,12 @@ def file_filter(file_name: str) -> bool:
|
|||
True if file_name is meant to be included
|
||||
"""
|
||||
return (
|
||||
not (file_name.startswith('plugin.video.jellyfin') and file_name.endswith('.zip'))
|
||||
and not file_name.endswith('.pyo')
|
||||
and not file_name.endswith('.pyc')
|
||||
and not file_name.endswith('.pyd')
|
||||
not (
|
||||
file_name.startswith("plugin.video.jellyfin") and file_name.endswith(".zip")
|
||||
)
|
||||
and not file_name.endswith(".pyo")
|
||||
and not file_name.endswith(".pyc")
|
||||
and not file_name.endswith(".pyd")
|
||||
)
|
||||
|
||||
|
||||
|
@ -95,13 +99,13 @@ def folder_filter(folder_name: str) -> bool:
|
|||
True if folder_name is meant to be included
|
||||
"""
|
||||
filters = [
|
||||
'.ci',
|
||||
'.git',
|
||||
'.github',
|
||||
'.build',
|
||||
'.mypy_cache',
|
||||
'.pytest_cache',
|
||||
'__pycache__',
|
||||
".ci",
|
||||
".git",
|
||||
".github",
|
||||
".build",
|
||||
".mypy_cache",
|
||||
".pytest_cache",
|
||||
"__pycache__",
|
||||
]
|
||||
for f in filters:
|
||||
if f in folder_name.split(os.path.sep):
|
||||
|
@ -110,33 +114,22 @@ def folder_filter(folder_name: str) -> bool:
|
|||
return True
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser(description="Build flags:")
|
||||
parser.add_argument("--version", type=str, choices=("py2", "py3"), default="py3")
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = argparse.ArgumentParser(description='Build flags:')
|
||||
parser.add_argument(
|
||||
'--version',
|
||||
type=str,
|
||||
choices=('py2', 'py3'),
|
||||
default='py3')
|
||||
parser.add_argument("--source", type=Path, default=Path(__file__).absolute().parent)
|
||||
|
||||
parser.add_argument(
|
||||
'--source',
|
||||
type=Path,
|
||||
default=Path(__file__).absolute().parent)
|
||||
parser.add_argument("--target", type=Path, default=Path(__file__).absolute().parent)
|
||||
|
||||
parser.add_argument(
|
||||
'--target',
|
||||
type=Path,
|
||||
default=Path(__file__).absolute().parent)
|
||||
|
||||
parser.add_argument('--dev', dest='dev', action='store_true')
|
||||
parser.add_argument("--dev", dest="dev", action="store_true")
|
||||
parser.set_defaults(dev=False)
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
# Load config file
|
||||
config_path = os.path.join(args.source, 'release.yaml')
|
||||
with open(config_path, 'r') as fh:
|
||||
config_path = os.path.join(args.source, "release.yaml")
|
||||
with open(config_path, "r") as fh:
|
||||
release_config = yaml.safe_load(fh)
|
||||
|
||||
create_addon_xml(release_config, args.source, args.version)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue