Always establish start/end date+time range for all importers
some need it, some don't, but helps to standardize, esp. since the importer commands all accept --start-date and --end-date params
This commit is contained in:
parent
b0c1b2f19d
commit
f8c499a97d
|
@ -2,7 +2,7 @@
|
||||||
################################################################################
|
################################################################################
|
||||||
#
|
#
|
||||||
# Rattail -- Retail Software Framework
|
# Rattail -- Retail Software Framework
|
||||||
# Copyright © 2010-2021 Lance Edgar
|
# Copyright © 2010-2022 Lance Edgar
|
||||||
#
|
#
|
||||||
# This file is part of Rattail.
|
# This file is part of Rattail.
|
||||||
#
|
#
|
||||||
|
@ -26,6 +26,7 @@ Data Importers
|
||||||
|
|
||||||
from __future__ import unicode_literals, absolute_import
|
from __future__ import unicode_literals, absolute_import
|
||||||
|
|
||||||
|
import datetime
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
import six
|
import six
|
||||||
|
@ -191,6 +192,37 @@ class Importer(object):
|
||||||
self.delete = kwargs.pop('delete', False) and self.allow_delete
|
self.delete = kwargs.pop('delete', False) and self.allow_delete
|
||||||
for key, value in kwargs.items():
|
for key, value in kwargs.items():
|
||||||
setattr(self, key, value)
|
setattr(self, key, value)
|
||||||
|
self.establish_date_range()
|
||||||
|
|
||||||
|
def establish_date_range(self):
|
||||||
|
now = self.app.localtime()
|
||||||
|
today = now.date()
|
||||||
|
|
||||||
|
# start time defaults to midnight this morning, unless specified
|
||||||
|
if not hasattr(self, 'start_time') or not self.start_time:
|
||||||
|
if not hasattr(self, 'start_date') or not self.start_date:
|
||||||
|
if (hasattr(self, 'args')
|
||||||
|
and hasattr(self.args, 'start_date')
|
||||||
|
and self.args.start_date):
|
||||||
|
self.start_date = self.args.start_date
|
||||||
|
else:
|
||||||
|
self.start_date = today
|
||||||
|
start_time = datetime.datetime.combine(self.start_date,
|
||||||
|
datetime.time(0))
|
||||||
|
self.start_time = self.app.localtime(start_time)
|
||||||
|
|
||||||
|
# end_time defaults to midnight tonight, unless specified
|
||||||
|
if not hasattr(self, 'end_time') or not self.end_time:
|
||||||
|
if not hasattr(self, 'end_date') or not self.end_date:
|
||||||
|
if (hasattr(self, 'args')
|
||||||
|
and hasattr(self.args, 'end_date')
|
||||||
|
and self.args.end_date):
|
||||||
|
self.end_date = self.args.end_date
|
||||||
|
else:
|
||||||
|
self.end_date = today
|
||||||
|
end_date = self.end_date + datetime.timedelta(days=1)
|
||||||
|
end_time = datetime.datetime.combine(end_date, datetime.time(0))
|
||||||
|
self.end_time = self.app.localtime(end_time)
|
||||||
|
|
||||||
def setup(self):
|
def setup(self):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
################################################################################
|
################################################################################
|
||||||
#
|
#
|
||||||
# Rattail -- Retail Software Framework
|
# Rattail -- Retail Software Framework
|
||||||
# Copyright © 2010-2021 Lance Edgar
|
# Copyright © 2010-2022 Lance Edgar
|
||||||
#
|
#
|
||||||
# This file is part of Rattail.
|
# This file is part of Rattail.
|
||||||
#
|
#
|
||||||
|
@ -26,39 +26,9 @@ Trainwreck importing - shared utilities
|
||||||
|
|
||||||
from __future__ import unicode_literals, absolute_import
|
from __future__ import unicode_literals, absolute_import
|
||||||
|
|
||||||
import datetime
|
|
||||||
|
|
||||||
from rattail.time import localtime, make_utc
|
|
||||||
|
|
||||||
|
|
||||||
|
# TODO: deprecate / remove this
|
||||||
class ToOrFromTrainwreck(object):
|
class ToOrFromTrainwreck(object):
|
||||||
"""
|
"""
|
||||||
Common base class for ToTrainwreck and FromTrainwreck base clases.
|
Common base class for ToTrainwreck and FromTrainwreck base clases.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def setup(self):
|
|
||||||
super(ToOrFromTrainwreck, self).setup()
|
|
||||||
|
|
||||||
now = localtime(self.config)
|
|
||||||
today = now.date()
|
|
||||||
|
|
||||||
# start time defaults to midnight this morning, unless specified
|
|
||||||
if not hasattr(self, 'start_time'):
|
|
||||||
if not hasattr(self, 'start_date'):
|
|
||||||
if self.args.start_date:
|
|
||||||
self.start_date = self.args.start_date
|
|
||||||
else:
|
|
||||||
self.start_date = today
|
|
||||||
start_time = datetime.datetime.combine(self.start_date, datetime.time(0))
|
|
||||||
self.start_time = localtime(self.config, start_time)
|
|
||||||
|
|
||||||
# end_time defaults to midnight tonight, unless specified
|
|
||||||
if not hasattr(self, 'end_time'):
|
|
||||||
if not hasattr(self, 'end_date'):
|
|
||||||
if self.args.end_date:
|
|
||||||
self.end_date = self.args.end_date
|
|
||||||
else:
|
|
||||||
self.end_date = today
|
|
||||||
end_date = self.end_date + datetime.timedelta(days=1)
|
|
||||||
end_time = datetime.datetime.combine(end_date, datetime.time(0))
|
|
||||||
self.end_time = localtime(self.config, end_time)
|
|
||||||
|
|
Loading…
Reference in a new issue