36 lines
900 B
Python
36 lines
900 B
Python
# -*- coding: utf-8 -*-
|
|
import random
|
|
from typing import Tuple
|
|
from datetime import datetime
|
|
|
|
|
|
def re_generator(low: int = 5, high: int = 20) -> str:
|
|
return 'R{}'.format('E' * random.randint(low, high))
|
|
|
|
|
|
def date_from_iso(date: str) -> datetime:
|
|
try:
|
|
return datetime.strptime(date, '%Y-%m-%dT%H:%M:%S.%f%z')
|
|
except ValueError:
|
|
return datetime.strptime(date, '%Y-%m-%dT%H:%M:%S%z')
|
|
|
|
|
|
def is_int(val: str) -> bool:
|
|
return val.isdigit() or (val.startswith('+') or val.startswith('-')) and val[1:].isdigit()
|
|
|
|
|
|
def parse_int(val: str, select: bool = True) -> Tuple[int, str]:
|
|
try:
|
|
val = int(val)
|
|
if val != 0:
|
|
if val < 1:
|
|
order = 'DESC'
|
|
val *= -1
|
|
else:
|
|
order = 'ASC'
|
|
if select:
|
|
val -= 1
|
|
return val, order
|
|
except ValueError:
|
|
pass
|