Source code for configmodel.SerializersFactory

# -*- coding: utf-8 -*-

from configmodel.SerializerIni import SerializerIni


[docs] class SerializersFactory: SUPPORTED_SERIALIZERS = [ [SerializerIni, [".ini"]] ]
[docs] @classmethod def get_all_supported_extensions(cls): """ Get all supported extensions """ extensions = [] for serializer in cls.SUPPORTED_SERIALIZERS: extensions += serializer[1] return extensions
[docs] @classmethod def get_serializer_by_filename(cls, filename): """ Get serializer by filename """ for serializer in cls.SUPPORTED_SERIALIZERS: for extension in serializer[1]: if filename.endswith(extension): return serializer[0](filename) else: raise Exception("Unknown file extension for filename: %s. Supported extensions: %s" % ( filename, ", ".join(["'%s'" % extension for extension in cls.get_all_supported_extensions()]) ))