diff options
Diffstat (limited to 'app/dispatch/misc.py')
| -rw-r--r-- | app/dispatch/misc.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/app/dispatch/misc.py b/app/dispatch/misc.py new file mode 100644 index 0000000..14bb5e7 --- /dev/null +++ b/app/dispatch/misc.py @@ -0,0 +1,37 @@ +from django.utils import formats +from datetime import datetime, timedelta +from dateutil import rrule +import uuid + +def get_week_dates(date=None): + week_dates = {} + if date == None: + date = formats.date_format(datetime.now(), "SHORT_DATE_FORMAT") + dt = datetime.strptime(date, '%m/%d/%Y') + weekday = dt.weekday() + if weekday == 6: + week_dates['start_date'] = dt + else: + weekday = weekday + 1 + week_dates['start_date'] = dt - timedelta(days=weekday) + week_dates['end_date'] = week_dates['start_date'] + timedelta(days=6) + week_dates['next_week'] = week_dates['end_date'] + timedelta(days=1) + week_dates['previous_week'] = week_dates['start_date'] - timedelta(days=1) + return week_dates + +def split_loads_by_day(loads,start_date,end_date): + split_loads = {} + + for date in rrule.rrule(rrule.DAILY,dtstart=start_date, until=end_date): + if date not in split_loads: + split_loads[date] = loads.filter(date=date) + + return split_loads + +# This is used to set the upload path of the document for Paperwork Objects +def paperwork_user_directory_path(instance, filename): + # We don't want the UUID to be too long, just enough so there aren't any + # filename conflicts + return 'paperwork/{:d}/'.format(instance.load.pk) + \ + str(uuid.uuid4())[0:9] + filename + |
