X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/f251e424924fe4f61ca6984a5b2dd5dd1fe51a61..92cbed1868a6e6f58105741e0dba6d69f02dfe6d:/apps/oai/handlers.py?ds=sidebyside diff --git a/apps/oai/handlers.py b/apps/oai/handlers.py index b49bfaaec..26e1cfa8e 100644 --- a/apps/oai/handlers.py +++ b/apps/oai/handlers.py @@ -3,6 +3,7 @@ from catalogue.models import Book, Tag from api.models import Deleted from api.handlers import WL_BASE from librarian.dcparser import BookInfo +from librarian import WLURI from django.contrib.contenttypes.models import ContentType from django.contrib.auth.models import User from datetime import datetime @@ -27,6 +28,8 @@ wl_dc_reader = metadata.MetadataReader( 'identifier': ('textList', 'rdf:RDF/rdf:Description/dc:identifier.url/text()'), 'source': ('textList', 'rdf:RDF/rdf:Description/dc:source/text()'), 'language': ('textList', 'rdf:RDF/rdf:Description/dc:language/text()'), + #'isPartOf': ('textList', 'rdf:RDF/rdf:Description/dc:relation.isPartOf/text()'), + 'hasPart': ('textList', 'rdf:RDF/rdf:Description/dc:relation.hasPart/text()'), # 'relation': ('textList', 'rdf:RDF/rdf:Description/dc:relation/text()'), # 'coverage': ('textList', 'rdf:RDF/rdf:Description/dc:coverage/text()'), 'rights': ('textList', 'rdf:RDF/rdf:Description/dc:rights/text()') @@ -68,7 +71,10 @@ class Catalogue(common.ResumptionOAIPMH): finally: book.xml_file.close() md = wl_dc_reader(xml) - return md.getMap() + m = md.getMap() + if book.parent: + m['isPartOf'] = [str(WLURI.from_slug(book.parent.slug))] + return m def record_for_book(self, book, headers_only=False): meta = None