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
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)
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)