pyinfra-dev / pyinfra

pyinfra turns Python code into shell commands and runs them on your servers. Execute ad-hoc commands and write declarative operations. Target SSH servers, local machine and Docker containers. Fast and scales from one server to thousands.
https://pyinfra.com
MIT License
3.92k stars 382 forks source link

AptSources does not recognize components with digits in the name #1201

Closed rsfzi closed 2 months ago

rsfzi commented 2 months ago

Describe the bug

AptSources does not recognize repo lines where components have digits in the name.

To Reproduce

test.list deb http://archive.ubuntu.com/ubuntu trusty restricted pi4

host.get_fact(AptSources) returns []

Expected behavior

Should return:

[
    {
        "type": "deb",
        "url": "http://archive.ubuntu.com/ubuntu",
        "distribution": "trusty",
        "components", ["restricted", "pi4"],
    },
]

Meta

System: Linux Platform: Linux-6.8.0-41-generic-x86_64-with-glibc2.39 Release: 6.8.0-41-generic Machine: x86_64 pyinfra: v3.1 black: v24.4.2 black: v24.4.2 click: v8.1.7 configparser: v7.1.0 coverage: v7.5.1 coverage: v7.5.1 distro: v1.9.0 flake8: v7.0.0 flake8: v7.0.0 flake8-black: v0.3.6 flake8-black: v0.3.6 flake8-isort: v6.1.1 flake8-isort: v6.1.1 flake8-spellcheck: v0.12.1 gevent: v24.2.1 importlib-metadata: v8.4.0 ipdb: v0.13.13 ipdbplugin: v1.5.0 ipython: v8.27.0 isort: v5.13.2 isort: v5.13.2 jinja2: v3.1.4 mypy: v1.11.2 mypy: v1.11.2 myst-parser: v2.0.0 myst-parser: v2.0.0 packaging: v24.1 paramiko: v3.4.1 pyinfra-guzzle-sphinx-theme: v0.16 pyinfra-guzzle-sphinx-theme: v0.16 pytest: v8.2.1 pytest: v8.2.1 pytest-cov: v5.0.0 pytest-cov: v5.0.0 python-dateutil: v2.9.0.post0 pywinrm: v0.5.0 redbaron: v0.9.2 setuptools: v74.1.2 sphinx: v6.2.1 sphinx: v6.2.1 twine: v5.1.1 typeguard: v4.3.0 types-PyYAML: v6.0.12.20240808 types-PyYAML: v6.0.12.20240808 types-cryptography: v3.3.23.2 types-cryptography: v3.3.23.2 types-paramiko: v3.4.0.20240423 types-paramiko: v3.4.0.20240423 types-python-dateutil: v2.9.0.20240906 types-python-dateutil: v2.9.0.20240906 types-setuptools: v74.1.0.20240906 types-setuptools: v74.1.0.20240906 typing-extensions: v4.12.2 wheel: v0.44.0 Executable: venv/bin/pyinfra Python: 3.12.3 (CPython, GCC 13.2.0)