Changeset - 83c7ee1b5f5c
[Not reviewed]
default
0 1 0
Marcin Kuzminski - 15 years ago 2010-05-21 03:01:31
marcin@python-works.com
improved timerproxy with sqllogging, and new way of sqlformat queries
1 file changed with 20 insertions and 10 deletions:
0 comments (0 inline, 0 general)
pylons_app/lib/timerproxy.py
Show inline comments
 
@@ -10,18 +10,28 @@ def color_sql(sql):
 
    normal = '\x1b[0m'
 
    return COLOR_SEQ % COLOR_SQL + sql + normal 
 

	
 
def one_space_trim(s):
 
    if s.find("  ") == -1:
 
        return s
 
    else:
 
        s = s.replace('  ', ' ')
 
        return one_space_trim(s)
 
    
 
def format_sql(sql):
 
    sql = color_sql(sql)
 
    sql = sql.replace('SELECT', '\n    SELECT \n\t')\
 
        .replace('FROM', '\n    FROM')\
 
        .replace('ORDER BY', '\n    ORDER BY')\
 
        .replace('LIMIT', '\n    LIMIT')\
 
        .replace('WHERE', '\n    WHERE')\
 
        .replace('AND', '\n    AND')\
 
        .replace('LEFT', '\n    LEFT')\
 
        .replace('INNER', '\n    INNER')\
 
        .replace('INSERT', '\n    INSERT')\
 
        .replace('DELETE', '\n    DELETE')
 
    sql = sql.replace('\n', '')
 
    sql = one_space_trim(sql)
 
    sql = sql\
 
        .replace('SELECT', '\n\tSELECT \n\t')\
 
        .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')
 
    return sql
 

	
 

	
0 comments (0 inline, 0 general)