Skip to content
Snippets Groups Projects

Add module for parsing mtree files

Merged David Runge requested to merge mtree_parser into master
  1. May 14, 2022
    • David Runge's avatar
      Link to package signature from binary repository docs · e2c71540
      David Runge authored
      docs/repositories/binary_repository.rst:
      Link to package signature from binary repository docs
      Verified
      e2c71540
    • David Runge's avatar
      Add documentation about packages to TOC · b6b0f002
      David Runge authored
      docs/index.rst:
      Integrate existing documentation about packages into TOC.
      Verified
      b6b0f002
    • David Runge's avatar
      Add documentation about package files · ec350ed5
      David Runge authored
      docs/packages/contents.rst:
      Add documentation about the contents of a package and a section about
      .MTREE files and the JSON schema that can be used to validate parsed
      input with.
      
      docs/packages/signatures.rst:
      Add documentation about the supported signature files for packages.
      Verified
      ec350ed5
    • David Runge's avatar
      Export JSON schema for MTree model · 33f17dd3
      David Runge authored
      tox.ini:
      Add JSON schema export for the mtree module.
      
      docs/packages/schema/.gitkeep:
      Ensure that the docs/packages/schema directory exists.
      
      .gitignore:
      Add docs/packages/schema to ignore list.
      Verified
      33f17dd3
    • David Runge's avatar
      Add integration test to read mtree files from packages · 689ed47f
      David Runge authored
      tests/files/test_mtree.py:
      Add integration test to read and validate up to 500 .MTREE files from
      existing packages in a local package cache.
      Verified
      689ed47f
    • David Runge's avatar
      Add package module for basic reading of package files · 41962ff5
      David Runge authored
      tests/conftest.py:
      Add fixtures for dummy compressed files.
      
      repod/files/package.py:
      Add module for opening of package files and extraction of files from
      package files. Currently this allows interaction with bz2, gz, xz and
      zstd compressed files.
      
      tests/files/test_package.py:
      Add tests for opening of compressed files and the extraction of files
      from compressed files.
      Verified
      41962ff5
    • David Runge's avatar
      Update poetry lock file · 36af17d9
      David Runge authored
      poetry.lock:
      Update poetry lock file for integration with pyzstd.
      Verified
      36af17d9
    • David Runge's avatar
      Add pyzstd to list of dependencies · 0e85ddde
      David Runge authored
      pyproject.toml:
      As Python by default lacks the ability to read or write zstandard
      compressed files, we need to rely on an external library.
      So far pyzstd offers the straight off easiest integration with the
      already implemented use of tarfile.TarFile.
      Verified
      0e85ddde
    • David Runge's avatar
      Add module to parse mtree files · fb9b3eaf
      David Runge authored
      repod/files/mtree.py:
      Add a module to read and validate `.MTREE` files (found in libalpm
      compatible package files).
      Add versioned schema for entries in an `.MTREE` file, which is based on
      a subset of the known `mtree` keywords.
      
      tests/conftest.py:
      Add fixtures for text streams representing the content of an .MTREE file
      as displayed by bsdcat.
      
      tests/files/test_mtree.py:
      Add tests for mtree functionality.
      Verified
      fb9b3eaf
  2. May 11, 2022
    • David Runge's avatar
      Make use of schema_version more strict · 50aab57c
      David Runge authored
      repod/models/common.py:
      Change SchemaVersionV1 to only accept 1 as value.
      
      tests/conftest.py:
      Add test classes that derive from Files, OutputPackageBase and
      PackageDesc, but derive from a SchemaVersion for which no implementation
      exists.
      
      tests/test_{convert,models}.py:
      Adapt tests to make use of FilesV9999, OutputPackageBaseV9999 and
      PackageDescV9999.
      Verified
      50aab57c
    • David Runge's avatar
      Set asyncio_mode for pytest · 5fa5385e
      David Runge authored
      pyproject.toml:
      Have pytest automatically detect async test functions by setting the
      asyncio_mode to auto.
      Verified
      5fa5385e
    • David Runge's avatar
      Turn files integration into module · b7295713
      David Runge authored
      Move the `repod/files.py` to `repod/files/__init__.py` to create a files
      module which may contain further functionality.
      Verified
      b7295713
Loading