removing decorate.py replace by log.py
This commit is contained in:
parent
5edfa79af5
commit
0dea1e7db0
111
psr/decorate.py
111
psr/decorate.py
|
@ -1,111 +0,0 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||
# #
|
||||
# software : Kirmah <http://kirmah.sourceforge.net/> #
|
||||
# version : 2.1 #
|
||||
# date : 2013 #
|
||||
# licence : GPLv3.0 <http://www.gnu.org/licenses/> #
|
||||
# author : a-Sansara <http://www.a-sansara.net/> #
|
||||
# copyright : pluie.org <http://www.pluie.org/> #
|
||||
# #
|
||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||
#
|
||||
# This file is part of Kirmah.
|
||||
#
|
||||
# Kirmah is free software (free as in speech) : you can redistribute it
|
||||
# and/or modify it under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the License,
|
||||
# or (at your option) any later version.
|
||||
#
|
||||
# Kirmah is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
# more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with Kirmah. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
try :
|
||||
from inspect import signature
|
||||
except :
|
||||
# < python 3.3
|
||||
signature = None
|
||||
pass
|
||||
|
||||
from psr.sys import Sys
|
||||
|
||||
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
# ~~ module decorate ~~
|
||||
|
||||
def _logs(sign, t=None, enter=True, wColor=False, args=''):
|
||||
""""""
|
||||
if Sys.g.DEBUG :
|
||||
hasBind = Sys.g_has_ui_bind()
|
||||
if hasBind : bind_data = []
|
||||
if t is not None :
|
||||
bd = Sys.pdate(t.timetuple(), True)
|
||||
if hasBind: bind_data += bd
|
||||
|
||||
a, b, c, d, e = ('=> ' if enter else '<= '), '['+str(Sys.getpid())+']', ' '+sign+'(', _formatArgs(args), ') '
|
||||
Sys.print(a , Sys.CLZ_IO , False)
|
||||
Sys.print(b , Sys.CLZ_IO if not Sys.g_is_main_proc() else Sys.CLZ_SEC, False)
|
||||
Sys.print(c , Sys.CLZ_FUNC, False)
|
||||
Sys.print(d , Sys.CLZ_ARGS, False)
|
||||
Sys.print(e , Sys.CLZ_FUNC, False)
|
||||
if hasBind:
|
||||
bd = [(a, 'io'),(b, 'pid' if not Sys.g_is_main_proc() else 'ppid'),(c , 'cfunc' if not Sys.g_is_main_proc() else 'func'),(d , 'args'),(e , 'cfunc' if not Sys.g_is_main_proc() else 'func')]
|
||||
bind_data += bd
|
||||
if not enter and t is not None :
|
||||
bd = Sys.pdelta(t, '', True)
|
||||
if hasBind: bind_data += bd
|
||||
else :
|
||||
bd = Sys.dprint(dbcall=True)
|
||||
if hasBind: bind_data += bd
|
||||
#~ if hasBind: bind_data += e
|
||||
if hasBind :
|
||||
Sys.wlog(bind_data)
|
||||
#~ Sys.g.UI_BIND(bind_data)
|
||||
|
||||
def _formatArgs(args):
|
||||
""""""
|
||||
args = list(args)
|
||||
for i,a in enumerate(args) :
|
||||
if not (isinstance(a, str) or isinstance(a, bytes)):
|
||||
a = str(a)
|
||||
if len(a) > 30 :
|
||||
args[i] = a[:30]+'...' if isinstance(a, str) else b'...'
|
||||
args = str(args)[1:-1]
|
||||
if args[-1:] == ',' : args = args[:-1]
|
||||
return args
|
||||
|
||||
def log(func):
|
||||
""""""
|
||||
debug = True
|
||||
wcolor = True
|
||||
wtime = True
|
||||
""""""
|
||||
def wrapped_func(*args, **kwargs):
|
||||
""""""
|
||||
if debug :
|
||||
t = None if not wtime else Sys.datetime.now()
|
||||
# >= python 3.3
|
||||
if signature is not None :
|
||||
l = [p.name for p in signature(func).parameters.values()]
|
||||
# < python 3.3
|
||||
# !! BAD FIX !!
|
||||
else :
|
||||
l = ['self' if args[0].__class__ is not None else '']
|
||||
|
||||
n = args
|
||||
if len(n)>0 and l[0] == 'self':
|
||||
n = n[1:]
|
||||
s = args[0].__class__.__name__ +'.'+func.__name__
|
||||
else:
|
||||
s = func.__name__
|
||||
_logs(s, t, True, wcolor, n)
|
||||
f = func(*args, **kwargs)
|
||||
if debug : _logs(s, t, False, wcolor)
|
||||
return f
|
||||
return wrapped_func
|
Loading…
Reference in New Issue
Block a user