[+] add csize to package_t and compile_entry_t, emit --size= in compiled output
1. add csize field to package_t (general model) for compressed download size; 2. add csize field to compile_entry_t; 3. compile.py passes pkg.csize into compile entry; 4. to_txt() emits --size=BYTES after --hash= when csize > 0; 5. download parser extracts --size= into download_entry_t.csize; 6. progress uses csize for byte-based ETA when all entries have sizes;
This commit is contained in:
parent
b7f7d3d291
commit
96ab3c23e5
@ -167,6 +167,7 @@ def main(args: list[str]) -> int:
|
|||||||
repo=pkg.repo,
|
repo=pkg.repo,
|
||||||
url=url,
|
url=url,
|
||||||
sha256=pkg.sha256sum if compile_options.generate_hashes else '',
|
sha256=pkg.sha256sum if compile_options.generate_hashes else '',
|
||||||
|
csize=pkg.csize,
|
||||||
pinned=is_pinned,
|
pinned=is_pinned,
|
||||||
depends=pkg.depends,
|
depends=pkg.depends,
|
||||||
)
|
)
|
||||||
|
|||||||
@ -176,6 +176,7 @@ class package_t:
|
|||||||
filename: str = ''
|
filename: str = ''
|
||||||
repo: str = ''
|
repo: str = ''
|
||||||
sha256sum: str = ''
|
sha256sum: str = ''
|
||||||
|
csize: int = 0
|
||||||
depends: list[package_constraint_t] = dataclasses.field(default_factory=list)
|
depends: list[package_constraint_t] = dataclasses.field(default_factory=list)
|
||||||
provides: list[package_constraint_t] = dataclasses.field(default_factory=list)
|
provides: list[package_constraint_t] = dataclasses.field(default_factory=list)
|
||||||
conflicts: list[package_constraint_t] = dataclasses.field(default_factory=list)
|
conflicts: list[package_constraint_t] = dataclasses.field(default_factory=list)
|
||||||
@ -242,6 +243,7 @@ class compile_entry_t:
|
|||||||
repo: str
|
repo: str
|
||||||
url: str
|
url: str
|
||||||
sha256: str = ''
|
sha256: str = ''
|
||||||
|
csize: int = 0
|
||||||
pinned: bool = False
|
pinned: bool = False
|
||||||
depends: list[package_constraint_t] = dataclasses.field(
|
depends: list[package_constraint_t] = dataclasses.field(
|
||||||
default_factory=list
|
default_factory=list
|
||||||
@ -262,6 +264,8 @@ class compile_result_t:
|
|||||||
line = '%s==%s' % (e.name, e.version)
|
line = '%s==%s' % (e.name, e.version)
|
||||||
if e.sha256:
|
if e.sha256:
|
||||||
line += ' --hash=sha256:%s' % e.sha256
|
line += ' --hash=sha256:%s' % e.sha256
|
||||||
|
if e.csize > 0:
|
||||||
|
line += ' --size=%d' % e.csize
|
||||||
if e.pinned:
|
if e.pinned:
|
||||||
line += ' # pinned'
|
line += ' # pinned'
|
||||||
comment = '# %s' % e.url if e.url else '# %s/%s' % (e.repo, e.filename)
|
comment = '# %s' % e.url if e.url else '# %s/%s' % (e.repo, e.filename)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user