feat: 新增 get_time/get_file
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
import json
|
||||
import zlib
|
||||
from datetime import datetime
|
||||
from time import mktime
|
||||
|
||||
from flask import request, g
|
||||
|
||||
@@ -70,3 +72,67 @@ def get_client_ip(request):
|
||||
ips = x_forwarded_for.split(',')
|
||||
return ips[0].strip()
|
||||
return request.headers.get('X-Real-Ip', request.remote_addr)
|
||||
|
||||
|
||||
def get_time(data, is_datetime=False):
|
||||
if data:
|
||||
if isinstance(data, int):
|
||||
return data
|
||||
|
||||
if isinstance(data, datetime):
|
||||
return int(mktime(data.timetuple()))
|
||||
|
||||
_data = None
|
||||
if data.isdigit():
|
||||
_data = int(data)
|
||||
if is_datetime:
|
||||
_data = datetime.fromtimestamp(_data)
|
||||
else:
|
||||
if data.count('-') == 2:
|
||||
date_format = '%Y-%m-%d'
|
||||
elif data.count('-') == 1:
|
||||
date_format = '%Y-%m'
|
||||
elif data.count('/') == 2:
|
||||
date_format = '%Y/%m/%d'
|
||||
|
||||
else:
|
||||
date_format = ''
|
||||
|
||||
if data.count(':') == 2:
|
||||
time_format = '%H:%M:%S'
|
||||
elif data.count(':') == 1:
|
||||
time_format = '%H:%M'
|
||||
else:
|
||||
time_format = ''
|
||||
|
||||
if date_format or time_format:
|
||||
if ' ' in data:
|
||||
datetime_format = '{} {}'.format(date_format, time_format)
|
||||
else:
|
||||
datetime_format = '{}{}'.format(date_format, time_format)
|
||||
|
||||
_data = datetime.strptime(data, datetime_format)
|
||||
if is_datetime is False:
|
||||
_data = int(mktime(_data.timetuple()))
|
||||
else:
|
||||
if is_datetime:
|
||||
return None
|
||||
return 0
|
||||
else:
|
||||
if is_datetime:
|
||||
return None
|
||||
return 0
|
||||
|
||||
return _data
|
||||
|
||||
|
||||
def get_file():
|
||||
file_handler = None
|
||||
for key in request.files:
|
||||
f = request.files[key]
|
||||
file_handler = f
|
||||
break
|
||||
if not file_handler:
|
||||
return None
|
||||
|
||||
return file_handler
|
||||
|
Reference in New Issue
Block a user