from sys import stdout import argparse import json logger = create_stream_logger('deleting', stdout) config = get_omeka_config() parser = argparse.ArgumentParser() parser.add_argument('-k', '--key', default=None, help='Omeka API Key') parser.add_argument('-u', '--api_url',default=None, help='Omeka API Endpoint URL (hint, ends in /api)') args = vars(parser.parse_args()) endpoint = args['api_url'] if args['api_url'] <> None else config['api_url'] apikey = args['key'] if args['api_url'] <> None else config['key'] omeka_client = OmekaClient(endpoint.encode("utf-8"), logger, apikey) deleted = {} for to_delete in ["items", "collections"]: logger.info('Deleting all %s', to_delete) resp, cont = omeka_client.get(to_delete) items = json.loads(cont) count = 0 for item in items: logger.info('Deleting %s: %s', to_delete, item['id']) omeka_client.delete(to_delete, item['id']) count += 1 deleted[to_delete] = count for d in deleted: logger.info('Deleted %d %s', deleted[d], d)
#!/usr/bin/python from omekaclient import OmekaClient client = OmekaClient("http://localhost/omeka/api", "fd11f6fdcdcd2f524555b089790824ede6d27cff") # GET /items/:id response, content = client.get("items", id=1) # GET /items #response, content = client.get("items") # POST /items #response, content = client.post("items", data='{"public":true}') # PUT /items/:id #response, content = client.put("items", 1, data='{"public":false}') # DELETE /items/:id #response, content = client.delete("items", 1) print response, content
config = get_omeka_config() parser = argparse.ArgumentParser() parser.add_argument('-k', '--key', default=None, help='Omeka API Key') parser.add_argument('-u', '--api_url', default=None, help='Omeka API Endpoint URL (hint, ends in /api)') parser.add_argument('-d', '--delete_html', action='store_true', help='Delete html docs') parser.add_argument('-n', '--do_not_convert', action='store_true', help='Do not convert') args = vars(parser.parse_args()) endpoint = args['api_url'] if args['api_url'] <> None else config['api_url'] apikey = args['key'] if args['api_url'] <> None else config['key'] omeka_client = OmekaClient(endpoint.encode("utf-8"), logger, apikey) resp, cont = omeka_client.get("items") items = json.loads(cont) temp_dir = tempfile.mkdtemp() os.chmod(temp_dir, 0o2770) #Sets group permissions and "sticky bit" num_docs_found = 0 num_html_uploaded = 0 num_html_deleted = 0 for item in items: logger.info('Looking at %s', item['id']) #First pass - delete HTML if required if args['delete_html']: for f in omeka_client.get_files_for_item(item['id']): fname = f['original_filename'] name, ext = os.path.splitext(fname)
from omekaclient import OmekaClient from omekautils import get_omeka_config from omekautils import create_stream_logger from sys import stdout import argparse import json logger = create_stream_logger('deleting', stdout) config = get_omeka_config() parser = argparse.ArgumentParser() parser.add_argument('-k', '--key', default=None, help='Omeka API Key') parser.add_argument('-u', '--api_url', default=None, help='Omeka API Endpoint URL (hint, ends in /api)') args = vars(parser.parse_args()) endpoint = args['api_url'] if args['api_url'] <> None else config['api_url'] apikey = args['key'] if args['api_url'] <> None else config['key'] omeka_client = OmekaClient(endpoint.encode("utf-8"), logger, apikey) for to_delete in ["items", "collections"]: logger.info('Deleting all %s', to_delete) resp, cont = omeka_client.get(to_delete) items = json.loads(cont) for item in items: logger.info('Deleting %s: %s', to_delete, item['id']) omeka_client.delete(to_delete, item['id'])
parser.add_argument('-d', '--delete_html', action='store_true', help='Delete html docs') parser.add_argument('-n', '--do_not_convert', action='store_true', help='Do not convert') args = vars(parser.parse_args()) endpoint = args['api_url'] if args['api_url'] <> None else config['api_url'] apikey = args['key'] if args['api_url'] <> None else config['key'] omeka_client = OmekaClient(endpoint.encode("utf-8"), logger, apikey) resp, cont = omeka_client.get("items") items = json.loads(cont) temp_dir = tempfile.mkdtemp() os.chmod(temp_dir, 0o2770) #Sets group permissions and "sticky bit" num_docs_found = 0 num_html_uploaded = 0 num_html_deleted = 0 for item in items: logger.info('Looking at %s', item['id']) #First pass - delete HTML if required if args['delete_html']: for f in omeka_client.get_files_for_item(item['id']): fname = f['original_filename'] name, ext = os.path.splitext(fname)