def save_metadata(item, collection, cache=None, sidecar_on_failure=True): ''' save the writable key values in item.meta to the image (translating picty native keys in the `meta` attribute of item to IPTC/XMP/Exif standard keys as necessary) ''' fname = collection.get_path(item) if 'sidecar' in item.__dict__: if os.path.exists(collection.get_path(item.sidecar)): result = metadata.save_sidecar(item, collection.get_path(item.sidecar)) else: del item.sidecar result = metadata.save_metadata(item, fname) else: result = metadata.save_metadata(item, fname) if result: item.mtime = io.get_mtime( fname ) ##todo: this and the next line should be a method of the image class update_thumb_date(item, collection, cache) return True else: if sidecar_on_failure and 'sidecar' not in item.__dict__: item.sidecar = item.uid + '.xmp' metadata.create_sidecar(item, collection.get_path(item), collection.get_path(item.sidecar)) return metadata.save_sidecar(item, collection.get_path(item.sidecar)) return False
def got_torrent(self): binhash, address, data, dtype, start_time = self.metadata_queue.get() if dtype == 'pt': self.n_downloading_pt -= 1 elif dtype == 'lt': self.n_downloading_lt -= 1 if not data: return self.n_valid += 1 save_metadata(self.dbcurr, binhash, address, start_time, data) self.n_new += 1
def run(self): while True: try: infohash, address, info, start_time = self.q.get() md.save_metadata(self.cursor, infohash, address, start_time, info) except Exception, e: traceback.print_stack() logging.error("error occured while DBWriter running : " + str(e))
def setup_h5_dataset( bin_file, ref_fasta, chromsizes, h5_file, label_sets, signal_sets, bin_size, stride, final_length, reverse_complemented, onehot_features_key, tmp_dir, binned=True): """given a region file, set up dataset conventionally, this is 1 chromosome """ # make sure tmp dir exists os.system("mkdir -p {}".format(tmp_dir)) # set up prefix prefix = os.path.basename(bin_file).split( ".narrrowPeak")[0].split(".bed")[0] # save in the metadata save_metadata(bin_file, h5_file) # generate BED annotations on the active center for key in label_sets.keys(): label_files = label_sets[key][0] label_params = label_sets[key][1] method = label_params.get("method", "half_peak") generate_labels( bin_file, label_files, key, h5_file, method=method, chromsizes=chromsizes, tmp_dir=tmp_dir) return h5_file
def save_metadata(item,collection,cache=None,sidecar_on_failure=True): ''' save the writable key values in item.meta to the image (translating picty native keys in the `meta` attribute of item to IPTC/XMP/Exif standard keys as necessary) ''' fname=collection.get_path(item) if 'sidecar' in item.__dict__: if os.path.exists(collection.get_path(item.sidecar)): result = metadata.save_sidecar(item,collection.get_path(item.sidecar)) else: del item.sidecar result = metadata.save_metadata(item,fname) else: result = metadata.save_metadata(item,fname) if result: item.mtime=io.get_mtime(fname) ##todo: this and the next line should be a method of the image class update_thumb_date(item,collection,cache) return True else: if sidecar_on_failure and 'sidecar' not in item.__dict__: item.sidecar=item.uid + '.xmp' metadata.create_sidecar(item,collection.get_path(item),collection.get_path(item.sidecar)) return metadata.save_sidecar(item,collection.get_path(item.sidecar)) return False