def _mapper(isbn, records): """Make records canonical. canonical: ISBN-13, Title, Authors, Publisher, Year, Language """ # handle special case if not records: # pragma: no cover return {} # add ISBN-13 records['ISBN-13'] = u(isbn) # call stdmeta for extra cleaning and validation return stdmeta(records)
def _mapper(isbn, records): """Mapp: canonical <- records.""" # canonical: ISBN-13, Title, Authors, Publisher, Year, Language canonical = {} try: canonical['ISBN-13'] = u(isbn) canonical['Title'] = records.get('title', u('')).replace(' :', ':') buf = records.get('author', u('')) canonical['Authors'] = [_clean(x) for x in buf.split('|')] canonical['Publisher'] = records.get('publisher', u('')) canonical['Year'] = records.get('year', u('')) canonical['Language'] = records.get('lang', u('')) except IndexError: # pragma: no cover LOGGER.debug("RecordMappingError for %s with data %s", isbn, records) return canonical # call stdmeta for extra cleanning and validation return stdmeta(canonical)