summaryrefslogtreecommitdiff
path: root/scripts/qdebug-odebug.py
authormickeyl <mickeyl>2004-04-26 12:25:42 (UTC)
committer mickeyl <mickeyl>2004-04-26 12:25:42 (UTC)
commita26e4da56923553a2f9e4da4db3b92bdb75479c8 (patch) (unidiff)
treee936f193364176109edc0ae4cc05678a2549ca78 /scripts/qdebug-odebug.py
parentcaf74b437544a95410bbd030045e15e4dcaa91f0 (diff)
downloadopie-a26e4da56923553a2f9e4da4db3b92bdb75479c8.zip
opie-a26e4da56923553a2f9e4da4db3b92bdb75479c8.tar.gz
opie-a26e4da56923553a2f9e4da4db3b92bdb75479c8.tar.bz2
update
Diffstat (limited to 'scripts/qdebug-odebug.py') (more/less context) (ignore whitespace changes)
-rwxr-xr-xscripts/qdebug-odebug.py21
1 files changed, 13 insertions, 8 deletions
diff --git a/scripts/qdebug-odebug.py b/scripts/qdebug-odebug.py
index 636c1b2..7a417e1 100755
--- a/scripts/qdebug-odebug.py
+++ b/scripts/qdebug-odebug.py
@@ -6,25 +6,25 @@ This script helps to convert from the Qt debugging framework to the Opie debuggi
6Though it will take care of the most common usages, it may not recognize uncommon ones, hence 6Though it will take care of the most common usages, it may not recognize uncommon ones, hence
7manual work may be needed after applying the script. 7manual work may be needed after applying the script.
8""" 8"""
9 9
10import sys, sre 10import sys, sre
11 11
12qDebugExpression = sre.compile( '(.*)(qDebug)\(\s*(.*)\s*\);(.*)' ) 12qDebugExpression = sre.compile( '(?P<head>.*)(?P<statement>qDebug)\(\s*(?P<content>.*)\s*\);(?P<tail>.*)' )
13qWarningExpression = sre.compile( '(.*)(qWarning)\(\s*(.*)\s*\);(.*)' ) 13qWarningExpression = sre.compile( '(?P<head>.*)(?P<statement>qWarning)\(\s*(?P<content>.*)\s*\);(?P<tail>.*)' )
14qErrorExpression = sre.compile( '(.*)(qError)\(\s*(.*)\s*\);(.*)' ) 14qErrorExpression = sre.compile( '(?P<head>.*)(?P<statement>qError)\(\s*(?P<content>.*)\s*\);(?P<tail>.*)' )
15qFatalExpression = sre.compile( '(.*)(qFatal)\(\s*(.*)\s*\);(.*)' ) 15qFatalExpression = sre.compile( '(?P<head>.*)(?P<statement>qFatal)\(\s*(?P<content>.*)\s*\);(?P<tail>.*)' )
16printfExpression = sre.compile( '(.*)(printf)\(\s*(.*)\s*\);(.*)' ) 16#printfExpression = sre.compile( '(?P<head>.*)(?![s\.])(?P<statement>printf)\(\s*(?P<content>.*)\s*\);(?P<tail>.*)' )
17 17
18debugTable = { "qDebug" : "odebug", 18debugTable = { "qDebug" : "odebug",
19 "qWarning" : "owarn", 19 "qWarning" : "owarn",
20 "qError" : "oerr", 20 "qError" : "oerr",
21 "qFatal" : "ofatal", 21 "qFatal" : "ofatal",
22 "printf" : "odebug" } 22 "printf" : "odebug" }
23 23
24allExpressions = ( qDebugExpression, qWarningExpression, qErrorExpression, qFatalExpression, printfExpression ) 24allExpressions = ( qDebugExpression, qWarningExpression, qErrorExpression, qFatalExpression ) #, printfExpression )
25 25
26#################################################################################################### 26####################################################################################################
27 27
28def convert( fname ): 28def convert( fname ):
29 print >>sys.stderr, "<NOTE>: Dealing with %s..." % fname 29 print >>sys.stderr, "<NOTE>: Dealing with %s..." % fname
30 30
@@ -33,13 +33,18 @@ def convert( fname ):
33 for expr in allExpressions: 33 for expr in allExpressions:
34 m = expr.match( line ) 34 m = expr.match( line )
35 if m is None: 35 if m is None:
36 continue 36 continue
37 else: 37 else:
38 match = True 38 match = True
39 head, debug, content, tail = m.groups() 39
40 head = m.groupdict()["head"]
41 debug = m.groupdict()["statement"]
42 content = m.groupdict()["content"]
43 tail = m.groupdict()["tail"]
44
40 print >>sys.stderr, "<NOTE>: Groups = ", m.groups() 45 print >>sys.stderr, "<NOTE>: Groups = ", m.groups()
41 sys.stdout.write( head ) # don't strip() here, because we want to keep indentation 46 sys.stdout.write( head ) # don't strip() here, because we want to keep indentation
42 sys.stdout.write( debugTable[debug.strip()] ) 47 sys.stdout.write( debugTable[debug.strip()] )
43 sys.stdout.write( " << " ) 48 sys.stdout.write( " << " )
44 sys.stdout.write( transform( content ).strip() ) 49 sys.stdout.write( transform( content ).strip() )
45 sys.stdout.write( " << oendl; " ) 50 sys.stdout.write( " << oendl; " )
@@ -92,13 +97,13 @@ def transform( s ):
92 result += formatstring[i] 97 result += formatstring[i]
93 i += 1 98 i += 1
94 continue 99 continue
95 else: # % in formatstring 100 else: # % in formatstring
96 indirective = True 101 indirective = True
97 i += 1 102 i += 1
98 while i < len( formatstring ) and formatstring[i] not in "%dDiouxXfegEscpn": 103 while i < len( formatstring ) and formatstring[i] not in "%dDiouxXfFegEscpn":
99 i += 1 104 i += 1
100 if formatstring[i] == "%": 105 if formatstring[i] == "%":
101 result += "%" 106 result += "%"
102 else: 107 else:
103 result += '" << %s << "' % substitutions[0].replace( "(const char*)", "" ).replace( ".latin1()", "" ) 108 result += '" << %s << "' % substitutions[0].replace( "(const char*)", "" ).replace( ".latin1()", "" )
104 del substitutions[0] 109 del substitutions[0]