blob: e0976bf30ae57ef76c53e5f6029ffb377273ea98 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
from django.utils import formats
from datetime import datetime, timedelta
from dateutil import rrule
import uuid
# Text formatted date. *sigh*
def get_week_dates(date=None):
if date == None:
date = formats.date_format(datetime.now(), "SHORT_DATE_FORMAT")
dt = datetime.strptime(date, '%m/%d/%Y')
return get_week_dates_datetime(dt=dt)
def get_week_dates_datetime(dt=None):
week_dates = {}
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
|