Ejemplo n.º 1
0
    def __call__(self, restore_state):
        indexed = (not restore_state.params.openrosa_version
                   or restore_state.params.openrosa_version >= LooseVersion(
                       OPENROSA_VERSION_MAP['INDEXED_PRODUCTS_FIXTURE']))

        data_fn = partial(self._get_fixture_items, restore_state, indexed)
        cache_prefix = PRODUCT_FIXTURE_BUCKET_INDEXED if indexed else PRODUCT_FIXTURE_BUCKET
        fixture_nodes = get_or_cache_global_fixture(restore_state,
                                                    cache_prefix, self.id,
                                                    data_fn)

        if not indexed:
            # Don't include index schema when openrosa version is specified and below 2.1
            return fixture_nodes
        else:
            schema_node = get_index_schema_node(
                self.id, ['@id', 'code', 'program_id', 'category'])
            return [schema_node] + fixture_nodes
Ejemplo n.º 2
0
 def get_global_items(self, global_types, restore_state):
     domain = restore_state.restore_user.domain
     data_fn = partial(self._get_global_items, global_types, domain)
     return get_or_cache_global_fixture(restore_state, FIXTURE_BUCKET, '', data_fn)
Ejemplo n.º 3
0
 def __call__(self, restore_state):
     data_fn = partial(self._get_fixture_items, restore_state)
     return get_or_cache_global_fixture(restore_state, PROGRAM_FIXTURE_BUCKET, self.id, data_fn)