Spaces:
Runtime error
Runtime error
output2url = { | |
'hni_ngày': '/pages/screen/6215', | |
'dni_ngày': '/pages/screen/6376', | |
'idc_tháng': '/pages/screen/3195', | |
'qbh_ngày': '/pages/screen/6338', | |
'tnn_ngày': '/pages/screen/6295', | |
'pyn_ngày': '/pages/screen/6340', | |
'vtc_ngày': '/pages/screen/2690', | |
'dcn_tháng': '/pages/screen/6546', | |
'vtu_tháng': '/pages/screen/6409', | |
'hậu giang_ngày': '/pages/screen/6401', | |
'bkn_ngày': '/pages/screen/6166', | |
'bpc_tháng': '/pages/screen/6525', | |
'ldg_ngày': '/pages/screen/6377', | |
'tỉnh/tp_ngày': '/pages/screen/4434', | |
'vcm_tháng': '/pages/screen/3110', | |
'pto_tháng': '/pages/screen/6541', | |
'tqg_ngày': '/pages/screen/6277', | |
'long an_ngày': '/pages/screen/6435', | |
'tvh_ngày': '/pages/screen/6275', | |
'hdg_ngày': '/pages/screen/6415', | |
'hni_tháng': '/pages/screen/6475', | |
'vts_ngày': '/pages/screen/3229', | |
'vtm_tháng': '/pages/screen/3097', | |
'tbh_tháng': '/pages/screen/6516', | |
'hyn_ngày': '/pages/screen/6400', | |
'vtp_ngày': '/pages/screen/2741', | |
'qnh_tháng': '/pages/screen/6522', | |
'nbh_ngày': '/pages/screen/6345', | |
'td_ngày': '/pages/screen/2354', | |
'nat_ngày': '/pages/screen/2919', | |
'vtx_tháng': '/pages/screen/4895', | |
'vts_tháng': '/pages/screen/3235', | |
'tnn_tháng': '/pages/screen/6498', | |
'vcm_ngày': '/pages/screen/3105', | |
'kgg_tháng': '/pages/screen/6575', | |
'nbh_tháng': '/pages/screen/6530', | |
'vpc_ngày': '/pages/screen/6164', | |
'vtpost_ngày': '/pages/screen/3030', | |
'vtm_ngày': '/pages/screen/3092', | |
'hcm_tháng': '/pages/screen/6476', | |
'tgg_tháng': '/pages/screen/6412', | |
'mov_ngày': '/pages/screen/2761', | |
'vtg_tháng': '/pages/screen/2945', | |
'stg_ngày': '/pages/screen/6316', | |
'kon tum_tháng': '/pages/screen/6560', | |
'bgg_tháng': '/pages/screen/6519', | |
'bte_tháng': '/pages/screen/6526', | |
'kgg_ngày': '/pages/screen/6456', | |
'vtcc_ngày': '/pages/screen/3216', | |
'gli_ngày': '/pages/screen/6349', | |
'tnh_tháng': '/pages/screen/6411', | |
'vdtc_tháng': '/pages/screen/3077', | |
'vds_tháng': '/pages/screen/3055', | |
'vlg_tháng': '/pages/screen/6496', | |
'qnh_ngày': '/pages/screen/6357', | |
'hth_tháng': '/pages/screen/6579', | |
'bnh_tháng': '/pages/screen/6539', | |
'nan_ngày': '/pages/screen/6346', | |
'ntn_tháng': '/pages/screen/6542', | |
'bdh_ngày': '/pages/screen/6235', | |
'idc_ngày': '/pages/screen/3189', | |
'xmcp_tháng': '/pages/screen/3126', | |
'hcm_ngày': '/pages/screen/6161', | |
'qni_tháng': '/pages/screen/6521', | |
'stl_tháng': '/pages/screen/2804', | |
'bkn_tháng': '/pages/screen/6537', | |
'long an_tháng': '/pages/screen/6558', | |
'mov_tháng': '/pages/screen/2772', | |
'stg_tháng': '/pages/screen/6414', | |
'hth_ngày': '/pages/screen/6405', | |
'vtz_tháng': '/pages/screen/2898', | |
'ndh_ngày': '/pages/screen/6343', | |
'myn_tháng': '/pages/screen/5149', | |
'pto_ngày': '/pages/screen/6341', | |
'bdg_tháng': '/pages/screen/6515', | |
'lci_ngày': '/pages/screen/6352', | |
'bdh_tháng': '/pages/screen/6518', | |
'ct_tháng': '/pages/screen/3042', | |
'ctm_tháng': '/pages/screen/9682', | |
'bte_ngày': '/pages/screen/6315', | |
'tgg_ngày': '/pages/screen/6170', | |
'sla_ngày': '/pages/screen/6318', | |
'dtp_ngày': '/pages/screen/6347', | |
'hue_tháng': '/pages/screen/6578', | |
'hv_tháng': '/pages/screen/5524', | |
'hue_ngày': '/pages/screen/6404', | |
'bgg_ngày': '/pages/screen/6167', | |
'bpc_ngày': '/pages/screen/6171', | |
'cbg_ngày': '/pages/screen/6335', | |
'hbh_tháng': '/pages/screen/6517', | |
'vtsport_tháng': '/pages/screen/5512', | |
'vbd_tháng': '/pages/screen/2878', | |
'vtpost_tháng': '/pages/screen/3021', | |
'n_tháng': '/pages/screen/6532', | |
'qti_tháng': '/pages/screen/6536', | |
'hgg_tháng': '/pages/screen/6595', | |
'vtp_tháng': '/pages/screen/2866', | |
'bdg_ngày': '/pages/screen/6165', | |
'pyn_tháng': '/pages/screen/6524', | |
'hdg_tháng': '/pages/screen/6552', | |
'qti_ngày': '/pages/screen/6173', | |
'xmcp_ngày': '/pages/screen/3132', | |
'dlk_tháng': '/pages/screen/6635', | |
'btn_ngày': '/pages/screen/6317', | |
'bnh_ngày': '/pages/screen/6169', | |
'stl_ngày': '/pages/screen/2827', | |
'vtk_ngày': '/pages/screen/5279', | |
'ct_ngày': '/pages/screen/3048', | |
'cto_ngày': '/pages/screen/6336', | |
'kha_ngày': '/pages/screen/6455', | |
'lcu_tháng': '/pages/screen/6556', | |
'lci_tháng': '/pages/screen/6548', | |
'tỉnh/tp_tháng': '/pages/screen/4546', | |
'tha_tháng': '/pages/screen/6499', | |
'gli_tháng': '/pages/screen/6553', | |
'myn_ngày': '/pages/screen/5133', | |
'tnh_ngày': '/pages/screen/6296', | |
'qni_ngày': '/pages/screen/6356', | |
'tqg_tháng': '/pages/screen/6497', | |
'lcu_ngày': '/pages/screen/6350', | |
'cmu_ngày': '/pages/screen/6355', | |
'blu_ngày': '/pages/screen/6276', | |
'hgg_ngày': '/pages/screen/6399', | |
'hậu giang_tháng': '/pages/screen/6577', | |
'qnm_ngày': '/pages/screen/6174', | |
'vtg_ngày': '/pages/screen/2958', | |
'dng_tháng': '/pages/screen/6616', | |
'blu_tháng': '/pages/screen/6523', | |
'ctm_ngày': '/pages/screen/9668', | |
'lsn_tháng': '/pages/screen/6547', | |
'vtc_tháng': '/pages/screen/2701', | |
'vtcc_tháng': '/pages/screen/3223', | |
'vtl_ngày': '/pages/screen/2749', | |
'lsn_ngày': '/pages/screen/6348', | |
'sla_tháng': '/pages/screen/6535', | |
'hnm_ngày': '/pages/screen/6402', | |
'dtp_tháng': '/pages/screen/6554', | |
'vcs_ngày': '/pages/screen/3178', | |
'vdtc_ngày': '/pages/screen/3067', | |
'nat_tháng': '/pages/screen/2910', | |
'cto_tháng': '/pages/screen/6544', | |
'dng_ngày': '/pages/screen/6344', | |
'vtnet_tháng': '/pages/screen/5503', | |
'hnm_tháng': '/pages/screen/6549', | |
'hyn_tháng': '/pages/screen/6576', | |
'vpc_tháng': '/pages/screen/6495', | |
'hbh_ngày': '/pages/screen/6353', | |
'td_tháng': '/pages/screen/2425', | |
'cmu_tháng': '/pages/screen/6529', | |
'n_ngày': '/pages/screen/6337', | |
'ldg_tháng': '/pages/screen/6555', | |
'vht_tháng': '/pages/screen/3266', | |
'qnm_tháng': '/pages/screen/6520', | |
'vam_tháng': '/pages/screen/5528', | |
'vtl_tháng': '/pages/screen/2816', | |
'vlg_ngày': '/pages/screen/6255', | |
'agg_tháng': '/pages/screen/6413', | |
'vmc_tháng': '/pages/screen/8744', | |
'kha_tháng': '/pages/screen/6561', | |
'ndh_tháng': '/pages/screen/6543', | |
'btn_tháng': '/pages/screen/6540', | |
'kon tum_ngày': '/pages/screen/6436', | |
'qbh_tháng': '/pages/screen/6538', | |
'vds_ngày': '/pages/screen/3059', | |
'hải phòng_ngày': '/pages/screen/6403', | |
'ntn_ngày': '/pages/screen/6342', | |
'cbg_tháng': '/pages/screen/6527', | |
'vcs_tháng': '/pages/screen/3183', | |
'tha_ngày': '/pages/screen/6168', | |
'vtu_ngày': '/pages/screen/6162', | |
'vtt_ngày': '/pages/screen/2667', | |
'agg_ngày': '/pages/screen/6163', | |
'vtz_ngày': '/pages/screen/2887', | |
'vtk_tháng': '/pages/screen/3101', | |
'dlk_ngày': '/pages/screen/6375', | |
'vtt_tháng': '/pages/screen/2679', | |
'dcn_ngày': '/pages/screen/6339', | |
'ybi_tháng': '/pages/screen/6406', | |
'tbh_ngày': '/pages/screen/6172', | |
'tvh_tháng': '/pages/screen/6410', | |
'hpg_tháng': '/pages/screen/6580', | |
'ybi_ngày': '/pages/screen/6216', | |
'vbd_ngày': '/pages/screen/2855', | |
'nan_tháng': '/pages/screen/6533' | |
} | |
def time2date(input): | |
chu_ky_thoi_gian = input['CHU KỲ THỜI GIAN'] | |
thu = input['THỨ'] | |
ngay = input['NGÀY'] | |
tuan = input['TUẦN'] | |
thang = input['THÁNG'] | |
quy = input['QUÝ'] | |
nam = input['NĂM'] | |
import datetime | |
import calendar | |
from dateutil.relativedelta import relativedelta | |
current_date = datetime.date.today() | |
output = 'error' | |
if chu_ky_thoi_gian=='ngày': | |
# hôm kia | |
if ngay=='hôm kia': | |
output = current_date - datetime.timedelta(days=2) | |
# hôm qua | |
elif ngay=='hôm qua': | |
output = current_date - datetime.timedelta(days=1) | |
# hôm nay | |
elif ngay=='hôm nay': | |
output = current_date | |
# ngày mai | |
elif ngay=='mai': | |
output = current_date + datetime.timedelta(days=1) | |
# ngày kia | |
elif ngay=='kia': | |
output = current_date + datetime.timedelta(days=2) | |
# đầu | |
elif ngay=='đầu': | |
if thang=='trước': | |
needed_thang = 12 if current_date.month==1 else current_date.month-1 | |
needed_nam = current_date.year-1 if current_date.month==1 else current_date.year | |
output = datetime.date( | |
needed_nam, | |
needed_thang, | |
1 | |
) | |
elif thang=='này': | |
needed_thang = current_date.month | |
needed_nam = current_date.year | |
output = datetime.date( | |
needed_nam, | |
needed_thang, | |
1 | |
) | |
elif thang=='sau': | |
needed_thang = 1 if current_date.month==12 else current_date.month+1 | |
needed_nam = current_date.year+1 if current_date.month==12 else current_date.year | |
output = datetime.date( | |
needed_nam, | |
needed_thang, | |
1 | |
) | |
else: | |
print('ngày đầu') | |
output = current_date | |
# cuối | |
elif ngay=='cuối': | |
if thang=='trước': | |
needed_thang = 12 if current_date.month==1 else current_date.month-1 | |
needed_nam = current_date.year-1 if current_date.month==1 else current_date.year | |
output = datetime.date( | |
needed_nam, | |
needed_thang, | |
calendar.monthrange(needed_nam, needed_thang)[1] | |
) | |
elif thang=='này': | |
needed_thang = current_date.month | |
needed_nam = current_date.year | |
output = datetime.date( | |
needed_nam, | |
needed_thang, | |
calendar.monthrange(needed_nam, needed_thang)[1] | |
) | |
elif thang=='sau': | |
needed_thang = 1 if current_date.month==12 else current_date.month+1 | |
needed_nam = current_date.year+1 if current_date.month==12 else current_date.year | |
output = datetime.date( | |
needed_nam, | |
needed_thang, | |
calendar.monthrange(needed_nam, needed_thang)[1] | |
) | |
else: | |
print('ngày cuối') | |
output = current_date | |
# xxx | |
elif ngay.isdigit(): | |
ngay = int(ngay) | |
if thang.isdigit(): | |
thang = int(thang) | |
if nam.isdigit(): | |
nam = int(nam) | |
try: | |
output = datetime.date(nam, thang, ngay) | |
except ValueError: | |
print("ngày xxx tháng yyy nam xxx") | |
output = current_date | |
else: | |
try: | |
output = datetime.date(current_date.year, thang, ngay) | |
except ValueError: | |
print("ngày xxx tháng yyy nam xxx") | |
output = current_date | |
else: | |
try: | |
output = datetime.date(current_date.year, current_date.month, ngay) | |
except ValueError: | |
print('ngày xxx') | |
output = current_date | |
elif ngay=='khác': | |
# thứ hai tuần sau | |
# thứ hai tuần này | |
# thứ hai tuần trước | |
# thứ hai tuần gần nhất | |
# thứ hai | |
if thu != "khác": | |
if tuan=='khác' or tuan=='gần nhất': | |
current_thu = current_date.weekday()+2 | |
input_thu = 8 if thu=='chủ nhật' else int(thu) | |
if input_thu < current_thu: | |
daydelta = current_thu - input_thu | |
output = current_date - datetime.timedelta(days=daydelta) | |
elif input_thu == current_thu: | |
output = current_date - datetime.timedelta(days=7) | |
else: | |
daydelta = input_thu - current_thu | |
output = current_date - datetime.timedelta(days=7-daydelta) | |
elif tuan=='này': | |
current_thu = current_date.weekday()+2 | |
input_thu = 8 if thu=='chủ nhật' else int(thu) | |
if input_thu < current_thu: | |
daydelta = current_thu - input_thu | |
output = current_date - datetime.timedelta(days=daydelta) | |
elif input_thu == current_thu: | |
output = current_date | |
else: | |
daydelta = input_thu - current_thu | |
output = current_date + datetime.timedelta(days=daydelta) | |
elif tuan=='trước': | |
current_thu = current_date.weekday()+2 | |
input_thu = 8 if thu=='chủ nhật' else int(thu) | |
if input_thu < current_thu: | |
daydelta = current_thu - input_thu + 7 | |
output = current_date - datetime.timedelta(days=daydelta) | |
elif input_thu == current_thu: | |
output = current_date - datetime.timedelta(days=7) | |
else: | |
daydelta = input_thu - current_thu | |
output = current_date - datetime.timedelta(days=7-daydelta) | |
elif tuan=='sau': | |
current_thu = current_date.weekday()+2 | |
input_thu = 8 if thu=='chủ nhật' else int(thu) | |
if input_thu < current_thu: | |
daydelta = 7 - (current_thu - input_thu) | |
output = current_date + datetime.timedelta(days=daydelta) | |
elif input_thu == current_thu: | |
output = current_date + datetime.timedelta(days=7) | |
else: | |
daydelta = input_thu - current_thu | |
output = current_date + datetime.timedelta(days=7+daydelta) | |
elif thu=='khác': | |
current_thu = current_date.weekday() | |
if tuan=='trước' or tuan=='gần nhất': # ngày cuối tuần | |
daydelta = current_thu+1 | |
output = current_date - datetime.timedelta(days=daydelta) | |
elif tuan=='này': | |
daydelta = 6 - current_thu | |
if daydelta > 0: | |
output = current_date + datetime.timedelta(days=daydelta) | |
else: | |
output = current_date | |
elif tuan=='sau': | |
daydelta = 13 - current_thu | |
output = current_date + datetime.timedelta(days=daydelta) | |
else: | |
print('ngày khác thứ khác tuần khác') | |
output = current_date | |
else: # return default for ngay | |
output = current_date | |
print('Error chu ky thoi gian: ngay') | |
elif chu_ky_thoi_gian=='tháng': # ngày cuối tháng | |
if thu != 'khác' or ngay != 'khác' or tuan != 'khác': | |
print('Invalid') | |
needed_thang = 12 if current_date.month==1 else current_date.month-1 | |
needed_nam = current_date.year-1 if current_date.month==1 else current_date.year | |
output = datetime.date( | |
needed_nam, | |
needed_thang, | |
calendar.monthrange(needed_nam, needed_thang)[1] | |
) | |
elif thang=='trước': | |
needed_thang = 12 if current_date.month==1 else current_date.month-1 | |
needed_nam = current_date.year-1 if current_date.month==1 else current_date.year | |
output = datetime.date( | |
needed_nam, | |
needed_thang, | |
calendar.monthrange(needed_nam, needed_thang)[1] | |
) | |
elif thang=='này': | |
needed_thang = current_date.month | |
needed_nam = current_date.year | |
output = datetime.date( | |
needed_nam, | |
needed_thang, | |
calendar.monthrange(needed_nam, needed_thang)[1] | |
) | |
elif thang=='sau': | |
needed_thang = 1 if current_date.month==12 else current_date.month+1 | |
needed_nam = current_date.year+1 if current_date.month==12 else current_date.year | |
output = datetime.date( | |
needed_nam, | |
needed_thang, | |
calendar.monthrange(needed_nam, needed_thang)[1] | |
) | |
elif thang.isdigit(): | |
thang = int(thang) | |
if nam.isdigit(): | |
nam = int(nam) | |
output = datetime.date( | |
int(nam), | |
int(thang), | |
calendar.monthrange(int(nam), int(thang))[1] | |
) | |
else: | |
if thang > current_date.month: | |
output = datetime.date( | |
current_date.year-1, | |
thang, | |
calendar.monthrange(current_date.year-1, thang)[1] | |
) | |
else: | |
output = datetime.date( | |
current_date.year, | |
thang, | |
calendar.monthrange(current_date.year, thang)[1] | |
) | |
elif thang=='khác': | |
needed_thang = 12 if current_date.month==1 else current_date.month-1 | |
needed_nam = current_date.year-1 if current_date.month==1 else current_date.year | |
output = datetime.date( | |
needed_nam, | |
needed_thang, | |
calendar.monthrange(needed_nam, needed_thang)[1] | |
) | |
else: # ngay cuoi thang truoc | |
needed_thang = 12 if current_date.month==1 else current_date.month-1 | |
needed_nam = current_date.year-1 if current_date.month==1 else current_date.year | |
output = datetime.date( | |
needed_nam, | |
needed_thang, | |
calendar.monthrange(needed_nam, needed_thang)[1] | |
) | |
print('Error chu ky thoi gian: thang') | |
elif chu_ky_thoi_gian=='quý': | |
if quy in ['1', '2', '3', '4', 'I', 'II', 'III', 'IV']: | |
output = "Valid" | |
output = current_date | |
# print('Chu ky thoi gian: quy ' + quy) | |
else: | |
output = "Invalid" | |
output = current_date | |
# print('Error chu ky thoi gian: quy') | |
elif chu_ky_thoi_gian=='năm': | |
if nam.isdigit(): | |
output = "Valid" | |
output = current_date | |
# print("Chu ky thoi gian: nam " + nam) | |
else: | |
output = "Invalid" | |
output = current_date | |
# print('Error chu ky thoi gian: năm') | |
elif chu_ky_thoi_gian=='khác': | |
output = "Valid" | |
output = current_date | |
else: | |
output = current_date | |
return output | |