def _publishDependentCell(self, block_id): low, high = self._biigraph._get_range_block(block_id) count = 0 d = self.lbcn bcn = d[block_id] brl = self._getBlockBRL(bcn) for row in range(low, high + 1): r = SimpleCell(d[block_id]) r.root = ID((0, bcn.block_name[-1:], 0)) deps = DependencySet() dep_table = BlockVersionTable() for block in range(block_id): time = self._biigraph._get_dep_elem_offset(row, block) if time != -1: deps.add_implicit(d[block]) dep_table[d[block].block_name] = \ BlockVersion(self._getBlockBRL(d[block]), time) r.dependencies = deps pack = PublishRequest(BlockVersion(brl, count - 1)) pack.tag = STABLE count += 1 pack.cells.append(r) pack.contents[r.name.cell_name] = Content(id_=None, load=Blob('hola {0}'. format(r.name.cell_name))) pack.deptable = dep_table self.service.publish(pack)
def publish(self, brl_block, resource_info, version_tag=STABLE, dep_versions=None): """ make a simple publication of a single file named block_cell_name to block brl_block. If block does not exist, it creates it. It mantains coherence of root Ids for the find checks param resource_info: {cell_name: (blob, explicits)} """ try: block = self.store.read_block(brl_block) version = BlockVersion(brl_block, len(block.deltas) - 1) except NotInStoreException: version = BlockVersion(brl_block, -1) publish_request = PublishRequest(version) publish_request.tag = version_tag block_name = brl_block.block_name for cell_name, (blob, dependencies) in resource_info.iteritems(): if dependencies is not None: cell = SimpleCell(block_name + cell_name) if isinstance(dependencies, DependencySet): cell.dependencies = dependencies else: cell.dependencies.explicit.update([BlockCellName(d) for d in dependencies]) publish_request.cells.append(cell) if blob is not None: blob = Blob(blob) if isinstance(blob, str) else blob publish_request.contents[cell_name] = Content(id_=None, load=blob) if isinstance(dep_versions, BlockVersion): dep_versions = [dep_versions] publish_request.deptable = BlockVersionTable(dep_versions) self.service.publish(publish_request)
def _publishDependentCell(self, block_id): low, high = self._biigraph._get_range_block(block_id) count = 0 d = self.lbcn bcn = d[block_id] brl = self._getBlockBRL(bcn) for row in range(low, high + 1): r = SimpleCell(d[block_id]) r.root = ID((0, bcn.block_name[-1:], 0)) deps = DependencySet() dep_table = BlockVersionTable() for block in range(block_id): time = self._biigraph._get_dep_elem_offset(row, block) if time != -1: deps.add_implicit(d[block]) dep_table[d[block].block_name] = \ BlockVersion(self._getBlockBRL(d[block]), time) r.dependencies = deps pack = PublishRequest(BlockVersion(brl, count - 1)) pack.tag = STABLE count += 1 pack.cells.append(r) pack.contents[r.name.cell_name] = Content( id_=None, load=Blob('hola {0}'.format(r.name.cell_name))) pack.deptable = dep_table self.service.publish(pack)
def publish(self, brl_block, resource_info, version_tag=STABLE, dep_versions=None): """ make a simple publication of a single file named block_cell_name to block brl_block. If block does not exist, it creates it. It mantains coherence of root Ids for the find checks param resource_info: {cell_name: (blob, explicits)} """ try: block = self.store.read_block(brl_block) version = BlockVersion(brl_block, len(block.deltas) - 1) except NotInStoreException: version = BlockVersion(brl_block, -1) publish_request = PublishRequest(version) publish_request.tag = version_tag block_name = brl_block.block_name for cell_name, (blob, dependencies) in resource_info.iteritems(): if dependencies is not None: cell = SimpleCell(block_name + cell_name) if isinstance(dependencies, DependencySet): cell.dependencies = dependencies else: cell.dependencies.explicit.update( [BlockCellName(d) for d in dependencies]) publish_request.cells.append(cell) if blob is not None: blob = Blob(blob) if isinstance(blob, str) else blob publish_request.contents[cell_name] = Content(id_=None, load=blob) if isinstance(dep_versions, BlockVersion): dep_versions = [dep_versions] publish_request.deptable = BlockVersionTable(dep_versions) self.service.publish(publish_request)