Utilize dataclasses (#313)

* Utilize dataclasses

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* PEP8

Signed-off-by: Hiroshi Miura <miurahr@linux.com>
This commit is contained in:
Hiroshi Miura
2021-07-15 08:08:53 +09:00
committed by GitHub
parent 1368956730
commit ab823596dc
5 changed files with 27 additions and 45 deletions

View File

@@ -22,6 +22,7 @@
import posixpath
import xml.etree.ElementTree as ElementTree
from dataclasses import dataclass, field
from logging import getLogger
from typing import Optional, Tuple
@@ -30,43 +31,25 @@ from aqt.helper import Settings, getUrl
from aqt.metadata import SimpleSpec, Version
@dataclass
class TargetConfig:
def __init__(self, version, target, arch, os_name):
self.version = str(version)
self.target = target
self.arch = arch
self.os_name = os_name
version: str
target: str
arch: str
os_name: str
def __str__(self):
print(
f"TargetConfig(version={self.version}, target={self.target}, "
f"arch={self.arch}, os_name={self.os_name}"
)
def __repr__(self):
print(f"({self.version}, {self.target}, {self.arch}, {self.os_name})")
def __post_init__(self):
self.version = str(self.version)
@dataclass
class QtPackage:
"""
Hold package information.
"""
def __init__(
self,
name: str,
archive_url: str,
archive: str,
package_desc: str,
hashurl: str,
version: Optional[Version] = None,
):
self.name = name
self.url = archive_url
self.archive = archive
self.desc = package_desc
self.hashurl = hashurl
self.version = version
name: str
archive_url: str
archive: str
package_desc: str
hashurl: str
version: Optional[Version] = field(default=None)
def __repr__(self):
v_info = f", version={self.version}" if self.version else ""
@@ -81,16 +64,12 @@ class QtPackage:
)
@dataclass
class ListInfo:
"""
Hold list information
"""
def __init__(self, name, display_name, desc, virtual):
self.name = name
self.display_name = display_name
self.desc = desc
self.virtual = virtual
name: str
display_name: str
desc: str
virtual: str
class PackagesList:

View File

@@ -839,7 +839,7 @@ def installer(qt_archive, base_dir, command, queue, keep=False, response_timeout
It is called through multiprocessing.Pool()
"""
name = qt_archive.name
url = qt_archive.url
url = qt_archive.archive_url
hashurl = qt_archive.hashurl
archive = qt_archive.archive
start_time = time.perf_counter()

View File

@@ -38,6 +38,7 @@ install_requires =
py7zr>=0.15.1
texttable
bs4
dataclasses;python_version<"3.7"
setup_requires =
setuptools-scm[toml]>=6.0.1
setuptools>=45.0

View File

@@ -42,7 +42,7 @@ def test_parse_update_xml(monkeypatch, os_name, version, target, datafile):
assert qt_archives_all_modules.archives is not None
# Extract all urls
url_list = [item.url for item in qt_archives.archives]
url_list = [item.archive_url for item in qt_archives.archives]
url_all_modules_list = [item.url for item in qt_archives_all_modules.archives]
# Check the difference list contains only extra modules urls for target specified

View File

@@ -35,8 +35,10 @@ def test_parse_update_xml(monkeypatch, os_name, version, target, datafile):
assert qt_archives_all_modules.archives is not None
# Extract all urls
url_list = [item.url for item in qt_archives.archives]
url_all_modules_list = [item.url for item in qt_archives_all_modules.archives]
url_list = [item.archive_url for item in qt_archives.archives]
url_all_modules_list = [
item.archive_url for item in qt_archives_all_modules.archives
]
# Check the difference list contains only extra modules urls for target specified
list_diff = [item for item in url_all_modules_list if item not in url_list]