コード例 #1
0
        if previous_id != None:
            logger.info("Re-uploading %s", previous_id)
            response, content = omeka_client.put("items" , previous_id, jsonstr)
            new_item = json.loads(content)
            if 'id' not in new_item:
                print new_item
        else:
            logger.info("Uploading new version")
            response, content = omeka_client.post("items", jsonstr)
            
        #Looks like the ID wasn't actually there, so get it to mint a new one
        if response['status'] == '404':
            logger.info("retrying")
            response, content = omeka_client.post("items", jsonstr)
            
        # Have new (or old) item now
        new_item = json.loads(content)

        item.omeka_id = new_item['id']
        uploaded_item_ids.append(item.omeka_id)
        
        # Relate to other items
        for r in item.relations:
            property_id = omeka_client.getRelationPropertyIdByLocalPart(r.namespace.prefix, r.field_name)
            object_id = previous_id = omeka_client.get_item_id_by_dc_identifier(r.value)
            if object_id != None:
                logger.info("Relating this item %s to another. Property %s, target %s", item.omeka_id, property_id, object_id)
                omeka_client.addItemRelation(item.omeka_id, property_id, object_id)
                
        download_and_upload_files(item)