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)