def get_title(work_id): work = get_work(mongo_storage, work_id) if 'title' in work: return work.get('title') if 'headline' in work: return work.get('headline') if 'fields' in work: for row in work.get('fields'): if row.keys()[0] == '245': return ' '.join([y.values()[0] for y in row['245']['subfields'] if ['a','b'].count(y.keys()[0])]) return 'No Title Found'
def get_creators(work_id): work = get_work(mongo_storage, work_id) if 'creator' in work and work['creator'] != None: creators = [] for mongo_id in work.get('creator', []): print(mongo_storage.database_names()) creator = mongo_storage.schema_org.Person.find_one( {"_id": ObjectId(mongo_id)}, {"name"}) if creator: creators.append(creator) return ','.join( ["""<a href="/Person/{0}">{1}</a>""".format(creator.get('_id'), creator.get('name')) for creator in creators]) if 'fields' in work: for row in work.get('fields'): if row.keys()[0] == '100': return ' '.join([y.values()[0] for y in row['100']['subfields'] if ['a','b'].count(y.keys()[0])])