Exemplo n.º 1
0
 def _query_create_published_reference(self, reference, resource, statement):
     query = ("INSERT OR REPLACE INTO %s (reference, cell_id, content_id) VALUES (?, ?, ?)"
              % PUBLISHED_REFERENCES)
     content_id = resource.content.ID.__repr__() if resource.content else None
     statement.execute(query, (encode_serialized_value(reference.serialize()),
                               resource.cell.ID.__repr__(),
                               content_id))
     query = "REPLACE INTO %s (id, blob) VALUES (?, ?)" % (PUBLISHED_CELLS)
     statement.execute(query, (resource.cell.ID.__repr__(),
                               encode_serialized_value(resource.cell.serialize())))
     if content_id:
         query = "REPLACE INTO %s (id, blob) VALUES (?, ?)" % (PUBLISHED_CONTENTS)
         statement.execute(query, (resource.content.ID.__repr__(),
                                   encode_serialized_value(resource.content.serialize())))
Exemplo n.º 2
0
 def test_delete_dep_table(self):
     original_deptable = BlockVersionTable()
     brl_block = BRLBlock('dummy/dummy/block/master')
     block_version = BlockVersion(brl_block, 0)
     self.db.set_dep_table(block_version, original_deptable)
     ID = encode_serialized_value(block_version.serialize())
     self.db.delete(ID, DEP_TABLES)
     self.assertRaises(NotInStoreException, self.db.get_dep_table, block_version)
Exemplo n.º 3
0
 def test_delete_dep_table(self):
     original_deptable = BlockVersionTable()
     brl_block = BRLBlock('dummy/dummy/block/master')
     block_version = BlockVersion(brl_block, 0)
     self.db.set_dep_table(block_version, original_deptable)
     ID = encode_serialized_value(block_version.serialize())
     self.db.delete(ID, DEP_TABLES)
     self.assertRaises(NotInStoreException, self.db.get_dep_table,
                       block_version)
Exemplo n.º 4
0
 def get_published_resources(self, references):
     '''
     Parameters:
         references: a References (biicode.common.model.symbolic.reference.References) object
     '''
     simple_refs = references.explode()  # references object to reference list
     #each reference has to be stored as json string, cause it is a tuple
     ids = ",".join(["\"%s\"" % encode_serialized_value(v.serialize()) for v in simple_refs])
     return self._read_referenced_resources(self.__query_published_references(ids), ID)
Exemplo n.º 5
0
    def remove_dev_references(self, block_version):
        ser_version = encode_serialized_value(block_version.serialize())
        self.delete(ser_version, DEP_TABLES)
        self.delete(ser_version, SNAPSHOTS)
        self.delete(ser_version, DELTAS)

        c = self.connection.cursor()
        command = 'DELETE from {table} where reference LIKE (?);'.format(table=PUBLISHED_REFERENCES)
        c.execute(command, ("%{}%".format(ser_version),))
        self.connection.commit()
Exemplo n.º 6
0
 def upsert(self, ID, value, table):
     serial_value = serialize(value)
     self._generic_write(table, ID, encode_serialized_value(serial_value),
                         'id', 'blob', 'INSERT OR REPLACE')
Exemplo n.º 7
0
 def update(self, ID, value, table):
     self._generic_write(table, ID, encode_serialized_value(serialize(value)),
                         'id', 'blob', 'REPLACE')
Exemplo n.º 8
0
 def create(self, ID, value, table):
     self._generic_write(table, ID, encode_serialized_value(serialize(value)),
                         'id', 'blob', 'INSERT')
Exemplo n.º 9
0
 def upsert(self, ID, value, table):
     serial_value = serialize(value)
     self._generic_write(table, ID, encode_serialized_value(serial_value),
                         'id', 'blob', 'INSERT OR REPLACE')
Exemplo n.º 10
0
 def update(self, ID, value, table):
     self._generic_write(table, ID, encode_serialized_value(serialize(value)),
                         'id', 'blob', 'REPLACE')
Exemplo n.º 11
0
 def create(self, ID, value, table):
     self._generic_write(table, ID, encode_serialized_value(serialize(value)),
                         'id', 'blob', 'INSERT')
Exemplo n.º 12
0
 def set_dep_table(self, block_version, dep_table):
     assert isinstance(dep_table, BlockVersionTable)
     ID = encode_serialized_value(block_version.serialize())
     self.create(ID, dep_table, DEP_TABLES)
Exemplo n.º 13
0
 def get_dep_table(self, block_version):
     ID = encode_serialized_value(block_version.serialize())
     return self.read(ID, DEP_TABLES, BlockVersionTable)
Exemplo n.º 14
0
 def upsert_delta_info(self, block_version, delta_info):
     """Snapshot is a list with cell names for an specific block version ''' """
     # Don't store origin info in localdb (url field crashes because of ://)
     delta_info.origin = None
     ID = encode_serialized_value(block_version.serialize())
     self.upsert(ID, delta_info, DELTAS)
Exemplo n.º 15
0
 def get_delta_info(self, block_version):
     ID = encode_serialized_value(block_version.serialize())
     return self.read(ID, DELTAS, BlockDelta)
Exemplo n.º 16
0
 def create_cells_snapshot(self, block_version, snapshot):
     """Snapshot is a list with cell names for an specific block version ''' """
     ID = encode_serialized_value(block_version.serialize())
     self.create(ID, snapshot, SNAPSHOTS)
Exemplo n.º 17
0
 def get_cells_snapshot(self, block_version):
     ID = encode_serialized_value(block_version.serialize())
     return self.read(ID, SNAPSHOTS, ListDeserializer(CellName))