refactor: Remove wrapt package

Also replaced inspect.getfullargspec with inspect.signature to
preserve signature of a decorated functions.
This commit is contained in:
chillaranand 2022-04-22 11:28:00 +05:30
parent 7d9695a0d2
commit a9492ba5fa
3 changed files with 19 additions and 21 deletions

View file

@ -1490,10 +1490,11 @@ def get_newargs(fn, kwargs):
if hasattr(fn, "fnargs"):
fnargs = fn.fnargs
else:
fullargspec = inspect.getfullargspec(fn)
fnargs = fullargspec.args
fnargs.extend(fullargspec.kwonlyargs)
varkw = fullargspec.varkw
signature = inspect.signature(fn)
fnargs = list(signature.parameters)
varkw = "kwargs" in fnargs
if varkw:
fnargs.pop(-1)
newargs = {}
for a in kwargs:
@ -2252,7 +2253,4 @@ def mock(type, size=1, locale="en"):
return squashify(results)
def validate_and_sanitize_search_inputs(fn):
from frappe.desk.search import validate_and_sanitize_search_inputs as func
return func(fn)
from frappe.desk.search import validate_and_sanitize_search_inputs # noqa

View file

@ -1,12 +1,10 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: MIT. See LICENSE
import functools
import json
import re
import wrapt
# Search
import frappe
from frappe import _, is_whitelisted
from frappe.permissions import has_permission
@ -314,17 +312,20 @@ def relevance_sorter(key, query, as_dict):
return (cstr(value).lower().startswith(query.lower()) is not True, value)
@wrapt.decorator
def validate_and_sanitize_search_inputs(fn, instance, args, kwargs):
kwargs.update(dict(zip(fn.__code__.co_varnames, args)))
sanitize_searchfield(kwargs["searchfield"])
kwargs["start"] = cint(kwargs["start"])
kwargs["page_len"] = cint(kwargs["page_len"])
def validate_and_sanitize_search_inputs(fn):
@functools.wraps(fn)
def wrapper(*args, **kwargs):
kwargs.update(dict(zip(fn.__code__.co_varnames, args)))
sanitize_searchfield(kwargs["searchfield"])
kwargs["start"] = cint(kwargs["start"])
kwargs["page_len"] = cint(kwargs["page_len"])
if kwargs["doctype"] and not frappe.db.exists("DocType", kwargs["doctype"]):
return []
if kwargs["doctype"] and not frappe.db.exists("DocType", kwargs["doctype"]):
return []
return fn(**kwargs)
return fn(**kwargs)
return wrapper
@frappe.whitelist()

View file

@ -66,7 +66,6 @@ terminaltables~=3.1.0
urllib3~=1.26.4
Werkzeug~=2.0.3
Whoosh~=2.7.4
wrapt~=1.14.0
xlrd~=2.0.1
zxcvbn-python~=4.4.24
tenacity~=8.0.1