1
0
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:
Lisias 2024-11-13 17:07:44 -05:00 committed by GitHub
commit e9f3f71c75
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 11 additions and 11 deletions

View File

@ -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)

View File

@ -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)))

View File

@ -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

View File

@ -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):

View File

@ -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)

View File

@ -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)