style: Add typing, sorted imports#
This commit is contained in:
parent
b403d67845
commit
429f839ea3
2 changed files with 36 additions and 26 deletions
|
|
@ -314,7 +314,6 @@ def destroy():
|
|||
|
||||
release_local(local)
|
||||
|
||||
# memcache
|
||||
redis_server = None
|
||||
def cache() -> "RedisWrapper":
|
||||
"""Returns redis connection."""
|
||||
|
|
|
|||
|
|
@ -1,17 +1,22 @@
|
|||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
||||
# Copyright (c) 2022, Frappe Technologies Pvt. Ltd. and Contributors
|
||||
# License: MIT. See LICENSE
|
||||
|
||||
from typing import Optional
|
||||
import frappe
|
||||
import operator
|
||||
import json
|
||||
import base64
|
||||
import re, datetime, math, time
|
||||
import datetime
|
||||
import json
|
||||
import math
|
||||
import operator
|
||||
import re
|
||||
import time
|
||||
from code import compile_command
|
||||
from urllib.parse import quote, urljoin
|
||||
from frappe.desk.utils import slug
|
||||
from click import secho
|
||||
from enum import Enum
|
||||
from typing import Any, Dict, List, Optional, Tuple, Union
|
||||
from urllib.parse import quote, urljoin
|
||||
|
||||
from click import secho
|
||||
|
||||
import frappe
|
||||
from frappe.desk.utils import slug
|
||||
|
||||
DATE_FORMAT = "%Y-%m-%d"
|
||||
TIME_FORMAT = "%H:%M:%S.%f"
|
||||
|
|
@ -201,7 +206,7 @@ def get_time_zone():
|
|||
return frappe.cache().get_value("time_zone", _get_time_zone)
|
||||
|
||||
def convert_utc_to_timezone(utc_timestamp, time_zone):
|
||||
from pytz import timezone, UnknownTimeZoneError
|
||||
from pytz import UnknownTimeZoneError, timezone
|
||||
utcnow = timezone('UTC').localize(utc_timestamp)
|
||||
try:
|
||||
return utcnow.astimezone(timezone(time_zone))
|
||||
|
|
@ -726,7 +731,7 @@ def ceil(s):
|
|||
def cstr(s, encoding='utf-8'):
|
||||
return frappe.as_unicode(s, encoding)
|
||||
|
||||
def sbool(x):
|
||||
def sbool(x: str) -> Union[bool, Any]:
|
||||
"""Converts str object to Boolean if possible.
|
||||
Example:
|
||||
"true" becomes True
|
||||
|
|
@ -920,13 +925,13 @@ number_format_info = {
|
|||
"#.########": (".", "", 8)
|
||||
}
|
||||
|
||||
def get_number_format_info(format):
|
||||
def get_number_format_info(format: str) -> Tuple[str, str, int]:
|
||||
return number_format_info.get(format) or (".", ",", 2)
|
||||
|
||||
#
|
||||
# convert currency to words
|
||||
#
|
||||
def money_in_words(number, main_currency = None, fraction_currency=None):
|
||||
def money_in_words(number: str, main_currency: Optional[str] = None, fraction_currency: Optional[str] = None):
|
||||
"""
|
||||
Returns string in words with currency and fraction currency.
|
||||
"""
|
||||
|
|
@ -1012,9 +1017,11 @@ def is_image(filepath):
|
|||
|
||||
def get_thumbnail_base64_for_image(src):
|
||||
from os.path import exists as file_exists
|
||||
|
||||
from PIL import Image
|
||||
|
||||
from frappe import cache, safe_decode
|
||||
from frappe.core.doctype.file.file import get_local_image
|
||||
from frappe import safe_decode, cache
|
||||
|
||||
if not src:
|
||||
frappe.throw('Invalid source for image: {0}'.format(src))
|
||||
|
|
@ -1305,7 +1312,7 @@ operator_map = {
|
|||
"None": lambda a, b: (not a) and True or False
|
||||
}
|
||||
|
||||
def evaluate_filters(doc, filters):
|
||||
def evaluate_filters(doc, filters: Union[Dict, List, Tuple]):
|
||||
'''Returns true if doc matches filters'''
|
||||
if isinstance(filters, dict):
|
||||
for key, value in filters.items():
|
||||
|
|
@ -1322,7 +1329,7 @@ def evaluate_filters(doc, filters):
|
|||
return True
|
||||
|
||||
|
||||
def compare(val1, condition, val2, fieldtype=None):
|
||||
def compare(val1: Any, condition: str, val2: Any, fieldtype: Optional[str] = None):
|
||||
ret = False
|
||||
if fieldtype:
|
||||
val2 = cast(fieldtype, val2)
|
||||
|
|
@ -1331,7 +1338,7 @@ def compare(val1, condition, val2, fieldtype=None):
|
|||
|
||||
return ret
|
||||
|
||||
def get_filter(doctype, f, filters_config=None):
|
||||
def get_filter(doctype: str, f: Union[Dict, List, Tuple], filters_config=None) -> "frappe._dict":
|
||||
"""Returns a _dict like
|
||||
|
||||
{
|
||||
|
|
@ -1418,8 +1425,10 @@ def make_filter_dict(filters):
|
|||
return _filter
|
||||
|
||||
def sanitize_column(column_name):
|
||||
from frappe import _
|
||||
import sqlparse
|
||||
|
||||
from frappe import _
|
||||
|
||||
regex = re.compile("^.*[,'();].*")
|
||||
column_name = sqlparse.format(column_name, strip_comments=True, keyword_case="lower")
|
||||
blacklisted_keywords = ['select', 'create', 'insert', 'delete', 'drop', 'update', 'case', 'and', 'or']
|
||||
|
|
@ -1495,9 +1504,10 @@ def strip(val, chars=None):
|
|||
return (val or "").replace("\ufeff", "").replace("\u200b", "").strip(chars)
|
||||
|
||||
def to_markdown(html):
|
||||
from html2text import html2text
|
||||
from html.parser import HTMLParser
|
||||
|
||||
from html2text import html2text
|
||||
|
||||
text = None
|
||||
try:
|
||||
text = html2text(html or '')
|
||||
|
|
@ -1507,7 +1517,8 @@ def to_markdown(html):
|
|||
return text
|
||||
|
||||
def md_to_html(markdown_text):
|
||||
from markdown2 import markdown as _markdown, MarkdownError
|
||||
from markdown2 import MarkdownError
|
||||
from markdown2 import markdown as _markdown
|
||||
|
||||
extras = {
|
||||
'fenced-code-blocks': None,
|
||||
|
|
@ -1532,14 +1543,14 @@ def md_to_html(markdown_text):
|
|||
def markdown(markdown_text):
|
||||
return md_to_html(markdown_text)
|
||||
|
||||
def is_subset(list_a, list_b):
|
||||
def is_subset(list_a: List, list_b: List) -> bool:
|
||||
'''Returns whether list_a is a subset of list_b'''
|
||||
return len(list(set(list_a) & set(list_b))) == len(list_a)
|
||||
|
||||
def generate_hash(*args, **kwargs):
|
||||
def generate_hash(*args, **kwargs) -> str:
|
||||
return frappe.generate_hash(*args, **kwargs)
|
||||
|
||||
def guess_date_format(date_string):
|
||||
def guess_date_format(date_string: str) -> str:
|
||||
DATE_FORMATS = [
|
||||
r"%d/%b/%y",
|
||||
r"%d-%m-%Y",
|
||||
|
|
@ -1614,13 +1625,13 @@ def guess_date_format(date_string):
|
|||
if date_format and time_format:
|
||||
return (date_format + ' ' + time_format).strip()
|
||||
|
||||
def validate_json_string(string):
|
||||
def validate_json_string(string: str) -> None:
|
||||
try:
|
||||
json.loads(string)
|
||||
except (TypeError, ValueError):
|
||||
raise frappe.ValidationError
|
||||
|
||||
def get_user_info_for_avatar(user_id):
|
||||
def get_user_info_for_avatar(user_id: str) -> Dict:
|
||||
user_info = {
|
||||
"email": user_id,
|
||||
"image": "",
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue