dataimport.py
changeset 9448 3e7cad3967c5
parent 9361 0542a85fe667
child 9450 af4b93bc38a5
equal deleted inserted replaced
9447:0636c4960259 9448:3e7cad3967c5
   969         self._sql = threading.local()
   969         self._sql = threading.local()
   970         # Explicitely backport attributes from system source
   970         # Explicitely backport attributes from system source
   971         self._storage_handler = self.system_source._storage_handler
   971         self._storage_handler = self.system_source._storage_handler
   972         self.preprocess_entity = self.system_source.preprocess_entity
   972         self.preprocess_entity = self.system_source.preprocess_entity
   973         self.sqlgen = self.system_source.sqlgen
   973         self.sqlgen = self.system_source.sqlgen
   974         self.copy_based_source = self.system_source.copy_based_source
       
   975         self.uri = self.system_source.uri
   974         self.uri = self.system_source.uri
   976         self.eid = self.system_source.eid
   975         self.eid = self.system_source.eid
   977         # Directory to write temporary files
   976         # Directory to write temporary files
   978         self.dump_output_dir = dump_output_dir
   977         self.dump_output_dir = dump_output_dir
   979         # Allow to execute code with SQLite backend that does
   978         # Allow to execute code with SQLite backend that does
  1123         """add type and source info for an eid into the system table"""
  1122         """add type and source info for an eid into the system table"""
  1124         # begin by inserting eid/type/source/extid into the entities table
  1123         # begin by inserting eid/type/source/extid into the entities table
  1125         if extid is not None:
  1124         if extid is not None:
  1126             assert isinstance(extid, str)
  1125             assert isinstance(extid, str)
  1127             extid = b64encode(extid)
  1126             extid = b64encode(extid)
  1128         uri = 'system' if source.copy_based_source else source.uri
       
  1129         attrs = {'type': entity.cw_etype, 'eid': entity.eid, 'extid': extid,
  1127         attrs = {'type': entity.cw_etype, 'eid': entity.eid, 'extid': extid,
  1130                  'source': uri, 'asource': source.uri, 'mtime': datetime.utcnow()}
  1128                  'source': 'system', 'asource': source.uri, 'mtime': datetime.utcnow()}
  1131         self._handle_insert_entity_sql(session, self.sqlgen.insert('entities', attrs), attrs)
  1129         self._handle_insert_entity_sql(session, self.sqlgen.insert('entities', attrs), attrs)
  1132         # insert core relations: is, is_instance_of and cw_source
  1130         # insert core relations: is, is_instance_of and cw_source
  1133         try:
  1131         try:
  1134             self._handle_is_relation_sql(session, 'INSERT INTO is_relation(eid_from,eid_to) VALUES (%s,%s)',
  1132             self._handle_is_relation_sql(session, 'INSERT INTO is_relation(eid_from,eid_to) VALUES (%s,%s)',
  1135                                          (entity.eid, eschema_eid(session, entity.e_schema)))
  1133                                          (entity.eid, eschema_eid(session, entity.e_schema)))