mirror of
https://github.com/webrecorder/pywb.git
synced 2025-03-15 00:03:28 +01:00
Merge 1b78bb4fb75d814b9f9cc62a1d2a7b1fcb09f898 into 7b0f8b58607fb0ed338f0cfddeb80c629582d8f6
This commit is contained in:
commit
e9f3f71c75
@ -245,7 +245,7 @@ class MultiFileWARCWriter(BaseWARCWriter):
|
|||||||
if not self.max_idle_time:
|
if not self.max_idle_time:
|
||||||
return
|
return
|
||||||
|
|
||||||
now = datetime.datetime.now()
|
now = datetime.datetime.now(datetime.timezone.utc)
|
||||||
|
|
||||||
for dir_key, out, filename in self.iter_open_files():
|
for dir_key, out, filename in self.iter_open_files():
|
||||||
try:
|
try:
|
||||||
@ -254,7 +254,7 @@ class MultiFileWARCWriter(BaseWARCWriter):
|
|||||||
self.close_key(dir_key)
|
self.close_key(dir_key)
|
||||||
return
|
return
|
||||||
|
|
||||||
mtime = datetime.datetime.fromtimestamp(mtime)
|
mtime = datetime.datetime.fromtimestamp(mtime,tz=datetime.timezone.utc)
|
||||||
|
|
||||||
if (now - mtime) > self.max_idle_time:
|
if (now - mtime) > self.max_idle_time:
|
||||||
print('Closing idle ' + filename)
|
print('Closing idle ' + filename)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
from warcio.statusandheaders import StatusAndHeaders
|
from warcio.statusandheaders import StatusAndHeaders
|
||||||
from warcio.timeutils import datetime_to_http_date
|
from warcio.timeutils import datetime_to_http_date
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta, timezone
|
||||||
from six.moves.urllib.parse import urlsplit
|
from six.moves.urllib.parse import urlsplit
|
||||||
|
|
||||||
|
|
||||||
@ -166,7 +166,7 @@ class DefaultHeaderRewriter(object):
|
|||||||
if age <= 0:
|
if age <= 0:
|
||||||
new_headers.append(('Cache-Control', 'no-cache; no-store'))
|
new_headers.append(('Cache-Control', 'no-cache; no-store'))
|
||||||
else:
|
else:
|
||||||
dt = datetime.utcnow()
|
dt = datetime.now(timezone.utc)
|
||||||
dt = dt + timedelta(seconds=age)
|
dt = dt + timedelta(seconds=age)
|
||||||
new_headers.append(('Cache-Control', 'max-age=' + str(age)))
|
new_headers.append(('Cache-Control', 'max-age=' + str(age)))
|
||||||
new_headers.append(('Expires', datetime_to_http_date(dt)))
|
new_headers.append(('Expires', datetime_to_http_date(dt)))
|
||||||
|
@ -7,7 +7,7 @@ from pywb.rewrite.default_rewriter import DefaultRewriter
|
|||||||
from pywb.rewrite.header_rewriter import DefaultHeaderRewriter
|
from pywb.rewrite.header_rewriter import DefaultHeaderRewriter
|
||||||
from pywb.rewrite.url_rewriter import UrlRewriter
|
from pywb.rewrite.url_rewriter import UrlRewriter
|
||||||
|
|
||||||
from datetime import datetime
|
from datetime import datetime, timezone
|
||||||
|
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
|
|
||||||
@ -163,7 +163,7 @@ def _test_cookie_headers():
|
|||||||
def _make_cache_headers():
|
def _make_cache_headers():
|
||||||
cache_headers = [('Content-Length', '123'),
|
cache_headers = [('Content-Length', '123'),
|
||||||
('Cache-Control', 'max-age=10'),
|
('Cache-Control', 'max-age=10'),
|
||||||
('Expires', datetime_to_http_date(datetime.now())),
|
('Expires', datetime_to_http_date(datetime.now(timezone.utc))),
|
||||||
('ETag', '123456')]
|
('ETag', '123456')]
|
||||||
return cache_headers
|
return cache_headers
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ from pywb.utils.binsearch import search
|
|||||||
from pywb.utils.merge import merge
|
from pywb.utils.merge import merge
|
||||||
|
|
||||||
from warcio.timeutils import timestamp_to_datetime
|
from warcio.timeutils import timestamp_to_datetime
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timezone
|
||||||
from dateutil.relativedelta import relativedelta
|
from dateutil.relativedelta import relativedelta
|
||||||
import os
|
import os
|
||||||
|
|
||||||
@ -164,13 +164,13 @@ class AccessChecker(object):
|
|||||||
# embargo if newser than
|
# embargo if newser than
|
||||||
newer = self.embargo.get('newer')
|
newer = self.embargo.get('newer')
|
||||||
if newer:
|
if newer:
|
||||||
actual = datetime.utcnow() - newer
|
actual = datetime.now(timezone.utc) - newer
|
||||||
return access if actual < dt else None
|
return access if actual < dt else None
|
||||||
|
|
||||||
# embargo if older than
|
# embargo if older than
|
||||||
older = self.embargo.get('older')
|
older = self.embargo.get('older')
|
||||||
if older:
|
if older:
|
||||||
actual = datetime.utcnow() - older
|
actual = datetime.now(timezone.utc) - older
|
||||||
return access if actual > dt else None
|
return access if actual > dt else None
|
||||||
|
|
||||||
def create_access_aggregator(self, source_files):
|
def create_access_aggregator(self, source_files):
|
||||||
|
@ -136,7 +136,7 @@ class ZipNumIndexSource(BaseIndexSource):
|
|||||||
self.summary = summary
|
self.summary = summary
|
||||||
|
|
||||||
# reload interval
|
# reload interval
|
||||||
self.loc_update_time = datetime.datetime.now()
|
self.loc_update_time = datetime.datetime.now(datetime.timezone.utc)
|
||||||
self.reload_interval = datetime.timedelta(minutes=reload_ival)
|
self.reload_interval = datetime.timedelta(minutes=reload_ival)
|
||||||
|
|
||||||
self.blk_loader = BlockLoader(cookie_maker=cookie_maker)
|
self.blk_loader = BlockLoader(cookie_maker=cookie_maker)
|
||||||
|
@ -430,7 +430,7 @@ class LiveWebLoader(BaseLoader):
|
|||||||
warc_headers['WARC-Date'] = datetime_to_iso_date(dt)
|
warc_headers['WARC-Date'] = datetime_to_iso_date(dt)
|
||||||
|
|
||||||
if not cdx.get('is_live'):
|
if not cdx.get('is_live'):
|
||||||
now = datetime.datetime.utcnow()
|
now = datetime.datetime.now(datetime.timezone.utc)
|
||||||
warc_headers['WARC-Source-URI'] = cdx.get('load_url')
|
warc_headers['WARC-Source-URI'] = cdx.get('load_url')
|
||||||
warc_headers['WARC-Creation-Date'] = datetime_to_iso_date(now)
|
warc_headers['WARC-Creation-Date'] = datetime_to_iso_date(now)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user