Source code for AutoArchive._services.archiver._tar_archiver_provider_identification

# _tar_archiver_provider_identification.py
#
# Project: AutoArchive
# License: GNU GPLv3
#
# Copyright (C) 2003 - 2014 Róbert Čerňanský



""":class:`_TarArchiverProviderIdentification`."""



__all__ = ["_TarArchiverProviderIdentification"]



# {{{ INCLUDES

from .archiver_service_provider_ids import ArchiverServiceProviderIDs
from ._internal_tar_archiver_provider import _InternalTarArchiverProvider
from ._external_tar_archiver_provider import _ExternalTarArchiverProvider

# }}} INCLUDES



# {{{ CLASSES

[docs]class _TarArchiverProviderIdentification: """Provides information about services defined in ``ArchiverServiceProviderIDs``. :param serviceProviderId: Identifier of the service that this instance shall provide information for. :type serviceProviderId: ``ArchiverServiceProviderIDs``.""" __PROVIDER_TO_CLASS_MAP = {ArchiverServiceProviderIDs.TarInternal: _InternalTarArchiverProvider, ArchiverServiceProviderIDs.TarExternal: _ExternalTarArchiverProvider} def __init__(self, serviceProviderId): self.__serviceProviderId = serviceProviderId @property def providerId(self): "See: :meth:`.IArchiverProviderIdentification.providerId`." return self.__serviceProviderId
[docs] def getSupportedBackupTypes(self): "See: :meth:`.IArchiverProviderIdentification.getSupportedBackupTypes()`." return self.__PROVIDER_TO_CLASS_MAP[self.__serviceProviderId].supportedBackupTypes
[docs] def getSupportedFeatures(self, backupType = None): "See: :meth:`.IArchiverProviderIdentification.getSupportedFeatures()`." return self.__PROVIDER_TO_CLASS_MAP[self.__serviceProviderId].getSupportedFeatures(backupType)