def imprint(self, key, value): """Translate imprint field.""" _publication_year = self.get("publication_year") if _publication_year: raise UnexpectedValue(subfield="e", message="doubled publication year") pub_year = reverse_replace(clean_val("c", value, str), ".", "") self["publication_year"] = pub_year return { "place": reverse_replace(clean_val("a", value, str), ":", ""), "publisher": reverse_replace(clean_val("b", value, str), ",", ""), "date": pub_year, }
def title(self, key, value): """Translates title.""" if "title" in self: raise UnexpectedValue() if "b" in value: _alternative_titles = self.get("alternative_titles", []) _alternative_titles.append({ "value": reverse_replace(clean_val("b", value, str), ".", ""), "type": "SUBTITLE", }) self["alternative_titles"] = _alternative_titles return reverse_replace(clean_val("a", value, str, req=True), ".", "")
def authors(self, key, value): """Translates authors.""" _authors = self.get("authors", []) author = { "full_name": reverse_replace(clean_val("a", value, str, req=True), ".", ""), } _authors.append(author) return _authors