fnp
/
wolnelektury.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
librarian update
[wolnelektury.git]
/
apps
/
oai
/
handlers.py
diff --git
a/apps/oai/handlers.py
b/apps/oai/handlers.py
index
59e599c
..
4e3fefc
100644
(file)
--- a/
apps/oai/handlers.py
+++ b/
apps/oai/handlers.py
@@
-12,8
+12,11
@@
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.db.models import Q
from django.conf import settings
from django.contrib.sites.models import Site
+from django.utils import timezone
+make_time_naive = lambda d: timezone.localtime(d).replace(tzinfo=None)
+
WL_DC_READER_XPATH = '(.|*)/rdf:RDF/rdf:Description/%s/text()'
wl_dc_reader = metadata.MetadataReader(
fields={
WL_DC_READER_XPATH = '(.|*)/rdf:RDF/rdf:Description/%s/text()'
wl_dc_reader = metadata.MetadataReader(
fields={
@@
-60,7
+63,7
@@
class Catalogue(common.ResumptionOAIPMH):
self.oai_id = "oai:" + Site.objects.get_current().domain + ":%s"
# earliest change
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 = \
try:
earliest_change = \
@@
-91,12
+94,12
@@
class Catalogue(common.ResumptionOAIPMH):
identifier = self.slug_to_identifier(book.slug)
if isinstance(book, Book):
# setSpec = map(self.tag_to_setspec, book.tags.filter(category__in=self.TAG_CATEGORIES))
identifier = self.slug_to_identifier(book.slug)
if isinstance(book, Book):
# setSpec = map(self.tag_to_setspec, book.tags.filter(category__in=self.TAG_CATEGORIES))
- header = common.Header(identifier,
book.changed_at
, [], False)
+ header = common.Header(identifier,
make_time_naive(book.changed_at)
, [], False)
if not headers_only:
meta = common.Metadata(self.metadata(book))
about = None
elif isinstance(book, Deleted):
if not headers_only:
meta = common.Metadata(self.metadata(book))
about = None
elif isinstance(book, Deleted):
- header = common.Header(identifier,
book.deleted_at
, [], True)
+ header = common.Header(identifier,
make_time_naive(book.deleted_at)
, [], True)
if not headers_only:
meta = common.Metadata({})
about = None
if not headers_only:
meta = common.Metadata({})
about = None
@@
-110,7
+113,7
@@
class Catalogue(common.ResumptionOAIPMH):
'%s/oaipmh' % WL_BASE, # generate
'2.0', # version
[m[1] for m in settings.MANAGERS], # adminEmails
'%s/oaipmh' % WL_BASE, # generate
'2.0', # version
[m[1] for m in settings.MANAGERS], # adminEmails
-
self.earliest_datestamp
, # earliest datestamp of any change
+
make_time_naive(self.earliest_datestamp)
, # earliest datestamp of any change
'persistent', # deletedRecord
'YYYY-MM-DDThh:mm:ssZ', # granularity
['identity'], # compression
'persistent', # deletedRecord
'YYYY-MM-DDThh:mm:ssZ', # granularity
['identity'], # compression