本文整理汇总了Python中WRCCUtils.set_back_date方法的典型用法代码示例。如果您正苦于以下问题:Python WRCCUtils.set_back_date方法的具体用法?Python WRCCUtils.set_back_date怎么用?Python WRCCUtils.set_back_date使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WRCCUtils
的用法示例。
在下文中一共展示了WRCCUtils.set_back_date方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: check_end_date
# 需要导入模块: import WRCCUtils [as 别名]
# 或者: from WRCCUtils import set_back_date [as 别名]
#.........这里部分代码省略.........
return err
else:
return '%s is not a valid Start Date for a multi-station or grid request!' %str(form['end_date'])
s_date = WRCCUtils.date_to_eight(s_date)
e_date = WRCCUtils.date_to_eight(e_date)
if len(e_date)!=8:
return '%s is not a valid date.' %str(form['end_date'])
try:
int(e_date)
except:
return '%s is not a valid date.' %str(form['end_date'])
#Check month
if int(e_date[4:6]) < 1 or int(e_date[4:6]) > 12:
return '%s is not a valid date.' %str(form['end_date'])
#Check day
if int(e_date[6:8]) < 1 or int(e_date[4:6]) > 31:
return '%s is not a valid date.' %str(form['end_date'])
#Ceck for month length
ml = WRCCData.MONTH_LENGTHS[int(e_date[4:6]) - 1]
if int(e_date[6:8]) > ml:
if str(e_date[4:6]) == '02' or str(e_date[4:6]) == '2':
if int(e_date[6:8]) == 29 and WRCCUtils.is_leap_year(e_date[0:4]):
return None
#return '%s only has %s days. You entered: %s' %(WRCCData.NUMBER_TO_MONTH_NAME[str(e_date[4:6])],'29',str(e_date[6:8]))
else:
return '%s only has %s days. You entered: %s' %(WRCCData.NUMBER_TO_MONTH_NAME[str(e_date[4:6])],str(ml),str(e_date[6:8]))
else:
return '%s only has %s days. You entered: %s' %(WRCCData.NUMBER_TO_MONTH_NAME[str(e_date[4:6])],str(ml),str(e_date[6:8]))
#Check that start date is ealier than end date
if s_date.lower() == 'por':
return err
try:
sd = datetime.datetime(int(s_date[0:4]), int(s_date[4:6].lstrip('0')), int(s_date[6:8].lstrip('0')))
except:
pass
try:
ed = datetime.datetime(int(e_date[0:4]), int(e_date[4:6].lstrip('0')), int(e_date[6:8].lstrip('0')))
except:
return '%s is not a valid date.' %form['end_date']
try:
if ed < sd:
return 'Start Date is later then End Year.'
except:pass
#Check grid data dates
if 'location' in form.keys() or ('data_type' in form.keys() and form['data_type'] == 'grid'):
flag = False
#Set grid date range
#Set grid date range
if int(form['grid']) in range(22,42):
grid_dr = [['19500101','20991231']]
else:
grid_dr = WRCCData.GRID_CHOICES[str(form['grid'])][3]
#For Prism we need to check if monthy/yearly resolution
#and pick proper daterange
if 'temporal_resolution' in form.keys() and form['temporal_resolution'] in ['mly','yly'] and str(form['grid']) == '21':
grid_dr = WRCCData.PRISM_MLY_YLY[str(form['grid'])][3]
for dr in grid_dr:
grid_s = WRCCUtils.date_to_datetime(dr[0])
grid_e = WRCCUtils.date_to_datetime(dr[1])
if grid_s <= sd and ed <= grid_e:
flag = False
break
else:
if str(dr[1]) == str(grid_dr[-1][1]):
flag = True
continue
if flag:
grid_s = WRCCUtils.datetime_to_date(grid_s,'-')
grid_e = WRCCUtils.datetime_to_date(grid_e,'-')
return 'Valid date range for this grid is: ' + grid_s + ' - ' + grid_e
'''
#Limit grid requests to max 10 years for multi point requests
if not 'location' in form.keys() and (ed - sd).days > 10 * 366:
err = 'Request for more than one grid point are limited to ten years or less! ' +\
'Please adjust your dates accordingly.'
return err
'''
#Check for unreasonable start and end dates
#for station data requests
data_type = WRCCUtils.get_data_type(form)
unreasonable = False
if data_type == 'station' and form['app_name'] == 'multi_lister':
#Limit multi station requests to 75 years
if not 'station_id' in form.keys() and (ed - sd).days > 75 * 366:
err = 'Request for more than one station are limited to 75 years or less! ' +\
'Please adjust your dates accordingly.'
#Check that station data end date is today or earlier
if 'station_id' in form.keys() or ('data_type' in form.keys() and form['data_type'] == 'station'):
if e_date.lower() != 'por':
today = WRCCUtils.format_date_string(WRCCUtils.set_back_date(0),'-')
if WRCCUtils.date_to_datetime(e_date) > WRCCUtils.date_to_datetime(today):
return 'Not a valid End Date. Date should be ' + today +' or ealier.'
return err
示例2: create_kml_file
# 需要导入模块: import WRCCUtils [as 别名]
# 或者: from WRCCUtils import set_back_date [as 别名]
from django.conf import settings
import WRCCUtils, WRCCData, AcisWS
import copy
today = WRCCUtils.set_back_date(0)
today_year = today[0:4]
today_month = today[5:7]
today_day = today[8:10]
begin_10yr = WRCCUtils.set_back_date(3660)
yesterday = WRCCUtils.set_back_date(1)
fourtnight = WRCCUtils.set_back_date(14)
def create_kml_file(area_type, overlay_state):
kml_file_name = overlay_state + '_' + area_type + '.kml'
kml_file_path = settings.TMP_URL + kml_file_name
status = WRCCUtils.generate_kml_file(area_type, overlay_state, kml_file_name, settings.TEMP_DIR)
if status != 'Success':
return 'ERROR: ' + status
return kml_file_path
def set_GET(request):
try:
rm = request.method
except:
def Get(key, default):
if key in request.keys():
return request[key]
else:
return default