def __test_logging(): fl = create_file_logger("test_file_logger", 'logtest.out') sl = create_stream_logger("test_stream_logger") nl = create_null_logger("test_null_logger") fl.info("This should go to the file") sl.info("This should go to the standard output") nl.info("This should go nowhere")
for f in item.files: files.append(os.path.join(data_dir, f.value)) for fyle in files: logger.info("Uploading %s", fyle) try: omeka_client.post_file_from_filename(fyle, item.omeka_id ) logger.info("Uploaded %s", fyle) except: logger.warning("Some kind of error happened uploading %s - pressing on" % fyle) logger = create_stream_logger('csv2omeka', stdout) def omekaize(item): #TODO make this a kind of repository item dc_set_id = omeka_client.getSetId("Dublin Core", create=args['create_item_types'] ) item_type_id = omeka_client.getItemTypeId(item.type, create=args['create_item_types']) item.omeka_data = {"public": args["public"], "item_type" : {"id": item_type_id }} if item.in_collection != None: collection_id = omeka_client.get_collection_id_by_dc_identifier(item.in_collection, name=title,
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) 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
element_text["element"] = {"id": element_id} element_texts.append(element_text) item.omeka_data["element_texts"] = element_texts def get_old_item(shelf, id): return shelf[id] if id in shelf else omekaize(Item()) def save_item(shelf, item, id): new_item = copy.deepcopy(item) shelf[id] = new_item logger = create_stream_logger('csv2omeka', stdout) # Define and parse command-line arguments parser = argparse.ArgumentParser() parser.add_argument('inputfile', type=argparse.FileType('rb'), default=stdin, help='Name of input Excel file') 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', '--download_cache', default="./data",
import yaml import argparse from sys import stdin from sys import stdout import httplib2 import os import urlparse from omekaclient import OmekaClient from omekautils import get_omeka_config from omekautils import create_stream_logger """ Uploads an entire spreadsheet to an Omeka server """ logger = create_stream_logger('xlxs2omeka', stdout) # Define and parse command-line arguments parser = argparse.ArgumentParser() parser.add_argument('inputfile', type=argparse.FileType('rb'), default=stdin, help='Name of input Excel file') 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('-i', '--identifier', default="Identifier", help='Name of an Identifier column in the input spreadsheet. ') parser.add_argument('-d', '--download_cache', default="./data", help='Path to a directory in which to chache dowloads (defaults to ./data)') parser.add_argument('-t', '--title', default="Title", help='Name of a Title column in the input spreadsheet. ') parser.add_argument('-p', '--public', action='store_true', help='Make items public') parser.add_argument('-f', '--featured', action='store_true', help='Make items featured') parser.add_argument('-c', '--create_collections', action='store_true', help='Auto-create missing collections') parser.add_argument('-e', '--create_elements', action='store_true', help='Auto-create missing element types') parser.add_argument('-y', '--create_item_types', action='store_true', help='Auto-create missing Item Types') parser.add_argument('-q', '--quietly', action='store_true', help='Only log errors and warnings not the constant stream of info')
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'])
from sys import stdout import argparse import json import os import tempfile #Hacky stuff as this is a one off import sys sys.path #Change this to point to where you downloaded word2html from the WordDown project sys.path.append('../jischtml5/tools/commandline') import word2html logger = create_stream_logger('converting', 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)') 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)
from omekautils import get_omeka_config from omekautils import create_stream_logger from sys import stdout import argparse import json import os import tempfile #Hacky stuff as this is a one off import sys sys.path #Change this to point to where you downloaded word2html from the WordDown project sys.path.append('../jischtml5/tools/commandline') import word2html logger = create_stream_logger('converting', 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)') parser.add_argument('-d', '--delete_html', action='store_true', help='Delete html docs') parser.add_argument('-n', '--do_not_convert', action='store_true',