コード例 #1
0
ファイル: context_managers.py プロジェクト: onefinestay/taal

class TypeTranslationContextManager(TranslationContextManager):
    """ TranslationContextManager for Kaiso types """

    context = TYPE_CONTEXT

    def __init__(self, manager, **kwargs):
        self.manager = manager

    def list_message_ids(self):
        manager = self.manager
        type_hierarchy = manager.get_type_hierarchy()
        return (type_[0] for type_ in type_hierarchy)

translation_manager.register(TypeTranslationContextManager)


class AttributeTranslationContextManager(TranslationContextManager):
    """ TranslationContextManager for Kaiso attributes """

    context = "taal:kaiso_attr"

    def __init__(self, manager, **kwargs):
        self.manager = manager

    @staticmethod
    def get_message_id(type_id, attr_name):
        return json.dumps(
            [type_id, attr_name]
        )
コード例 #2
0
def test_duplicate_registration():
    translation_manager.register(Manager)
    with pytest.raises(KeyError):
        translation_manager.register(Manager)