##// END OF EJS Templates
Added new style error display,...
Added new style error display, fixed changing repo name to existing one some sa session remove added rename repo BIG bug, when renaming to existing name was fixed

File last commit:

r236:5ba66bb4 default
r356:b0715a78 default
Show More
timerproxy.py
56 lines | 1.7 KiB | text/x-python | PythonLexer
Marcin Kuzminski
Added sqlalchemy support...
r49 from sqlalchemy.interfaces import ConnectionProxy
import time
import logging
logging proxy update
r90 log = logging.getLogger('timerproxy')
Added colored formatter to project, and configs
r153 BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE = xrange(30, 38)
def color_sql(sql):
COLOR_SEQ = "\033[1;%dm"
COLOR_SQL = YELLOW
normal = '\x1b[0m'
return COLOR_SEQ % COLOR_SQL + sql + normal
improved timerproxy with sqllogging, and new way of sqlformat queries
r172 def one_space_trim(s):
if s.find(" ") == -1:
return s
else:
s = s.replace(' ', ' ')
return one_space_trim(s)
Added colored formatter to project, and configs
r153 def format_sql(sql):
sql = color_sql(sql)
improved timerproxy with sqllogging, and new way of sqlformat queries
r172 sql = sql.replace('\n', '')
sql = one_space_trim(sql)
sql = sql\
.replace('SELECT', '\n\tSELECT \n\t')\
timerprox sqlformatting update for update and delete keywords
r236 .replace('UPDATE', '\n\tUPDATE \n\t')\
.replace('DELETE', '\n\tDELETE \n\t')\
improved timerproxy with sqllogging, and new way of sqlformat queries
r172 .replace('FROM', '\n\tFROM')\
.replace('ORDER BY', '\n\tORDER BY')\
.replace('LIMIT', '\n\tLIMIT')\
.replace('WHERE', '\n\tWHERE')\
.replace('AND', '\n\tAND')\
.replace('LEFT', '\n\tLEFT')\
.replace('INNER', '\n\tINNER')\
.replace('INSERT', '\n\tINSERT')\
.replace('DELETE', '\n\tDELETE')
Added colored formatter to project, and configs
r153 return sql
Marcin Kuzminski
Added sqlalchemy support...
r49
class TimerProxy(ConnectionProxy):
def cursor_execute(self, execute, cursor, statement, parameters, context, executemany):
now = time.time()
try:
log.info(">>>>> STARTING QUERY >>>>>")
return execute(cursor, statement, parameters, context)
finally:
total = time.time() - now
logging proxy update
r90 try:
Added colored formatter to project, and configs
r153 log.info(format_sql("Query: %s" % statement % parameters))
logging proxy update
r90 except TypeError:
Added colored formatter to project, and configs
r153 log.info(format_sql("Query: %s %s" % (statement, parameters)))
Marcin Kuzminski
Added sqlalchemy support...
r49 log.info("<<<<< TOTAL TIME: %f <<<<<" % total)
Added colored formatter to project, and configs
r153