コード例 #1
0
ファイル: test_database_client.py プロジェクト: f3at/feat
    def setUp(self):
        self.registry = base.Registry()
        self.registry.register(Inside)
        self.registry.register(MigratableDoc)

        migration.get_registry().register(Migration())

        self.db = emu.Database()
        self.unserializer = dcommon.CouchdbUnserializer(registry=self.registry)
        self.client = client.Connection(self.db, self.unserializer)
コード例 #2
0
ファイル: test_database_migration.py プロジェクト: f3at/feat
 def setUp(self):
     self.registry = r = migration.get_registry()
     r.register(FakeMigration(source_ver=1, target_ver=3))
     r.register(FakeMigration(source_ver=2, target_ver=3))
     r.register(FakeMigration(source_ver=3, target_ver=4))
     r.register(FakeMigration(source_ver=3, target_ver=5))
     r.register(FakeMigration(source_ver=5, target_ver=6))
コード例 #3
0
ファイル: document.py プロジェクト: f3at/feat
    def plan_migration(cls, source, target):
        # build up the shortest list of transformations which leads between
        # versions
        middle = range(source + 1, target)
        registry = migration.get_registry()

        for n_divisions in range(target - source):
            # test all the possible paths between revisions in given
            # number of steps
            for division in itertools.combinations(middle, n_divisions):
                s = source
                migrations = list()
                for index in division:
                    m = registry.lookup((cls.type_name, s, index))
                    if not m:
                        break
                    migrations.append(m)
                    s = index
                else:
                    m = registry.lookup((cls.type_name, s, target))
                    if not m:
                        continue
                    migrations.append(m)
                    return migrations
        raise NotMigratable((cls.type_name, source, target))
コード例 #4
0
ファイル: applications.py プロジェクト: f3at/feat
 def __init__(self):
     self.log_name = self.name
     self.module = self.__module__
     log.Logger.__init__(self, log.get_default())
     self._restorators = serialization.get_registry()
     self._agents = get_agent_registry()
     self._views = get_view_registry()
     self._initial_data = get_initial_data_registry()
     self._adapters = iadapter.AdapterRegistry()
     self._models = model.get_registry()
     self._migrations = migration.get_registry()