X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/f6903aaf5ffb78a75f2b303b165aca7112211d84..a4bbdfca488d989c3459a7e95345686bc072be54:/apps/oai/handlers.py diff --git a/apps/oai/handlers.py b/apps/oai/handlers.py index 30669ac95..eabb59c9f 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 @@ -11,6 +12,7 @@ from lxml.etree import ElementTree from django.db.models import Q from django.conf import settings from django.contrib.sites.models import Site +from django.utils import timezone WL_DC_READER_XPATH = '(.|*)/rdf:RDF/rdf:Description/%s/text()' @@ -59,7 +61,7 @@ class Catalogue(common.ResumptionOAIPMH): self.oai_id = "oai:" + Site.objects.get_current().domain + ":%s" # earliest change - year_zero = datetime(1990, 1, 1, 0, 0, 0) + year_zero = timezone.make_aware(datetime(1990, 1, 1, 0, 0, 0), timezone.utc) try: earliest_change = \ @@ -80,7 +82,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