Пример #1
0
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
Пример #2
0
 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
Пример #3
0
 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
Пример #4
0
    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))
Пример #5
0
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
Пример #6
0
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