Skip to content
Snippets Groups Projects
Select Git revision
  • 030e526694b6f21f2b1a9ab6c4d4eb9ab9402dfd
  • master default protected
  • fix/dont_save_partition_table_of_mapper_devices
  • fix_11285
  • debian
  • pristine-tar
  • upstream
  • backupninja_debian/1.0.2-1
  • backupninja_upstream/1.0.2
  • backupninja-1.0.2
  • backupninja_debian/1.0.1-2
  • backupninja_debian/1.0.1-1
  • backupninja_upstream/1.0.1
  • backupninja-1.0.1
  • backupninja_debian/1.0-1
  • backupninja_upstream/1.0
  • backupninja-1.0
  • backupninja_debian/1.0_rc1-1
  • backupninja_upstream/1.0_rc1
  • backupninja-1.0-rc1
  • backupninja_debian/0.9.10-2
  • backupninja_debian/0.9.10-1
  • backupninja_upstream/0.9.10
  • backupninja-0.9.10
  • backupninja_debian/0.9.9-1
  • backupninja-0.9.9
  • backupninja-0.9.8.1
27 results

tools.in

Blame
  • Forked from Liberate / backupninja
    Source project has a limited visibility.
    __init__.py NaN GiB
    #!/bin/env python3
    
    import os
    import collections
    import importlib
    from typing import Dict, Optional
    
    # make pyflakes happy
    assert Dict
    
    # A set of extension that aren't supported, despite matching a supported mimetype
    UNSUPPORTED_EXTENSIONS = {
        '.asc',
        '.bat',
        '.brf',
        '.c',
        '.h',
        '.ksh',
        '.pl',
        '.pot',
        '.rdf',
        '.srt',
        '.wsdl',
        '.xpdl',
        '.xsd',
        '.xsl',
        }
    
    DEPENDENCIES = {
        'cairo': 'Cairo',
        'gi': 'PyGobject',
        'gi.repository.GdkPixbuf': 'GdkPixbuf from PyGobject',
        'gi.repository.Poppler': 'Poppler from PyGobject',
        'gi.repository.GLib': 'GLib from PyGobject',
        'mutagen': 'Mutagen',
        }
    
    def _get_exiftool_path() -> Optional[str]:  # pragma: no cover
        exiftool_path = '/usr/bin/exiftool'
        if os.path.isfile(exiftool_path):
            if os.access(exiftool_path, os.X_OK):
                return exiftool_path
    
        # ArchLinux
        exiftool_path = '/usr/bin/vendor_perl/exiftool'
        if os.path.isfile(exiftool_path):
            if os.access(exiftool_path, os.X_OK):
                return exiftool_path
    
        return None
    
    def check_dependencies() -> dict:
        ret = collections.defaultdict(bool)  # type: Dict[str, bool]
    
        ret['Exiftool'] = True if _get_exiftool_path() else False
    
        for key, value in DEPENDENCIES.items():
            ret[value] = True
            try:
                importlib.import_module(key)
            except ImportError:  # pragma: no cover
                ret[value] = False  # pragma: no cover
    
        return ret