Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def unrestrictedTraverse_spy(self, path, *args, **kw):
return orig_unrestrictedTraverse(self, path, *args, **kw)
unrestrictedTraverse_spy_func_code = unrestrictedTraverse_spy.func_code
try:
import OFS.Traversable
orig_unrestrictedTraverse = OFS.Traversable.Traversable.unrestrictedTraverse
except (ImportError, AttributeError):
pass
else:
functools.update_wrapper(unrestrictedTraverse_spy, orig_unrestrictedTraverse)
OFS.Traversable.Traversable.unrestrictedTraverse = unrestrictedTraverse_spy
_ALLSEP = os.sep + (os.altsep or '')
PYTHON_EXPR_FUNC_CODE_SET = (ZRPythonExpr__call__func_code, PythonExpr__call__func_code)
class ZopeFileTiming(pprofile.FileTiming):
def call(self, code, line, callee_file_timing, callee, duration, frame):
f_code = frame.f_code
if f_code is DB_query_func_code:
self.profiler.sql_dict[frame.f_locals['query']].append(duration)
elif f_code is ZODB_setstate_func_code:
f_locals = frame.f_locals
obj = f_locals['obj']
try:
oid = obj._p_oid
except AttributeError:
pass
else:
self.profiler.zodb_dict[
f_locals['self'].db().database_name
][oid].append(duration)
elif f_code is unrestrictedTraverse_spy_func_code: