コード例 #1
0
file_stash = re.sub(":|/","_",endpoint) + ".json"

print file_stash;

if os.path.exists(file_stash):
    id_map = json.load(open(file_stash))
else:
    id_map = {}

dir = args['dir']

exif_id = omeka_client.getSetId("EXIF", create=True)
dc_id = omeka_client.getSetId("Dublin Core")
title_id = omeka_client.getElementId(dc_id, "Title")
collection_id = omeka_client.getCollectionId("Photos", create=True)
item_type_id = omeka_client.getItemTypeId("Still Image", create=True)
exif_fields = ["LensID", "FOV", "DOF", "Make", "Model", "FileName", "ExposureTime", "FNumber", "FocusDistance"]
for root, dirs, files in os.walk(dir):
    for file in files:
        ext = os.path.splitext(file)[1]
        if ext.lower() in extensions:
            file_path = os.path.join(root, file)
            pic_data = json.loads(subprocess.check_output(["exiftool", "-json", file_path]))[0]
            #TODO - upload the pics

            #TODO Create new fields for new metadata.
           
            element_texts = []
            
            for field in exif_fields:
                if field in pic_data:
コード例 #2
0
             set_name = 'Bespoke Metadata'
             set_id = omeka_client.getSetId(set_name, create=True)
             element_id = omeka_client.getElementId(set_id, key, create=args['create_elements'])
             map_element(key, element_id, set_name)
 
     for item in d['data']:
         stuff_to_upload = False
         relations = []
         element_texts = []
         URLs = []
         files = []
         for key,value in item.items():
             (property_id, object_id) = mapping.item_relation(collection_name, key, value)
             if value <> None:
                 if key == "Omeka Type":
                     item_type_id = omeka_client.getItemTypeId(value, create=args['create_item_types'])
                     if item_type_id <> None:
                         stuff_to_upload = True
                 else:
                     if mapping.has_map(collection_name, key):
                         if  mapping.collection_field_mapping[collection_name][key] <> None:
                             element_text = {"html": False, "text": "none"} #, "element_set": {"id": 0}}
                             element_text["element"] = {"id": mapping.collection_field_mapping[collection_name][key] }
                         else:
                             element_text = {}
                         
                         if mapping.is_linked_field(collection_name, key, value):
                             #TODO - deal with muliple values
                             to_title =  mapping.id_to_title[value]
                             if to_title == None:
                                 to_title =  mapping.id_to_omeka_id[value]