Extension Archive format preview


Extension Basics

Title
Archive format preview
Name
ckanext-unfold
Type
Public extension
Description
Provides seamless previews of various archive formats with file tree navigation
CKAN versions

~2.9, ~2.10, ~2.11

Show details
Download-Url (zip)
Download-Url commit date
2024-01-01
Url to repo
Category
Visualization & Analytics


Background Infos

Description (long)
Show details

This extension enhances CKAN by enabling seamless previews of various archive formats, ensuring easy access and efficient data management. Features include: represents archives as interactive file trees, supports 13 archive formats (ZIP, ZIPX, JAR, RAR, CBR, 7Z, TAR, TAR.XZ, TAR.GZ, TAR.BZ2, DEB, RPM, A, AR, LIB), password-protected archive support for RAR format, caching the file tree for faster access, file and folder search within archives, sorting by name/size/type/format/date, support for local and remote files, handles large archives efficiently. Uses external libraries: rarfile (4.0) for RAR/CBR with unrar CLI utility dependency, py7zr (0.20.6) for 7Z archives with PyCryptodome/PyZstd/PyPPMd/bcj-cffi dependencies, rpmfile (1.1.1) for RPM with optional zstandard, ar (>=1.0.0) for DEB/A/AR/LIB formats, built-in zipfile for ZIP/ZIPX/JAR, built-in tarfile for TAR formats. Requires CKAN 2.10+, Python 3.8-3.10. AGPL licensed.

Version
1.1.6
Version release date
2024-01-01
Contact name
DataShades
Contakt email
Contact Url
(not set)


Installation Guide

Configuration hints

Install via pip:

pip install ckanext-unfold

Enable the plugin:

ckan.plugins = unfold

Set as default view:

ckan.views.default_views = unfold_view

Dependencies by archive format:

  1. RAR, CBR:

    • Install unrar command-line utility (must be in PATH)
    • Alternative: unar (TheUnarchiver) or bsdtar (libarchive)
    • For password-protected headers: pip install cryptography OR pycryptodome
  2. 7Z:

    • pip install py7zr==0.20.6
    • Auto-installs: PyCryptodome, PyZstd, PyPPMd, bcj-cffi, texttable, multivolumefile
  3. ZIP, ZIPX, JAR:

    • Built-in zipfile library (no extra dependencies)
  4. TAR, TAR.XZ, TAR.GZ, TAR.BZ2:

    • Built-in tarfile library (no extra dependencies)
  5. RPM:

    • pip install rpmfile==1.1.1
    • For zstd compressed RPMs: pip install zstandard
  6. DEB, A, AR, LIB:

    • pip install ar>=1.0.0

Full installation with all dependencies:

pip install ckanext-unfold[dev]

Features: - File tree representation with expandable folders - Search within archive contents - Sorting options (name, size, type, format, date) - Caching for faster repeated access - Support for remote archive URLs - Large archive handling

Supported archive formats: ZIP, ZIPX, JAR, RAR, CBR, 7Z, TAR, TAR.XZ, TAR.GZ, TAR.BZ2, DEB, RPM, A, AR, LIB

Plugins to configure (ckan.ini)
unfold
CKAN Settings (ckan.ini)
# ckan.views.default_views = unfold_view
DB migration to be executed
(not set)
<< back to Extensions