author | mickeyl <mickeyl> | 2004-04-03 13:45:37 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2004-04-03 13:45:37 (UTC) |
commit | a8e37033a05dd7771cc1e73f387004f31683049d (patch) (side-by-side diff) | |
tree | 0791911c75cea495fd69b6ef13aef6430a8738ee | |
parent | e995afe17ead003dd0b4bc12604d7f8cb5cd4493 (diff) | |
download | opie-a8e37033a05dd7771cc1e73f387004f31683049d.zip opie-a8e37033a05dd7771cc1e73f387004f31683049d.tar.gz opie-a8e37033a05dd7771cc1e73f387004f31683049d.tar.bz2 |
small fixes and add 'printf' to the number of substituted constructs
the script seems to work good, i converted the whole 'noncore' which
will be commited in a few hours. basically the only amount of handwork
after applying the script is adding #include <opie2/odebug.h> and
using namespace Opie::Core - if it's not already there.
-rwxr-xr-x | scripts/qdebug-odebug.py | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/scripts/qdebug-odebug.py b/scripts/qdebug-odebug.py index cc1b7ca..636c1b2 100755 --- a/scripts/qdebug-odebug.py +++ b/scripts/qdebug-odebug.py @@ -8,49 +8,52 @@ manual work may be needed after applying the script. """ import sys, sre qDebugExpression = sre.compile( '(.*)(qDebug)\(\s*(.*)\s*\);(.*)' ) qWarningExpression = sre.compile( '(.*)(qWarning)\(\s*(.*)\s*\);(.*)' ) qErrorExpression = sre.compile( '(.*)(qError)\(\s*(.*)\s*\);(.*)' ) qFatalExpression = sre.compile( '(.*)(qFatal)\(\s*(.*)\s*\);(.*)' ) +printfExpression = sre.compile( '(.*)(printf)\(\s*(.*)\s*\);(.*)' ) debugTable = { "qDebug" : "odebug", "qWarning" : "owarn", "qError" : "oerr", - "qFatal" : "ofatal" } + "qFatal" : "ofatal", + "printf" : "odebug" } -allExpressions = ( qDebugExpression, qWarningExpression, qErrorExpression, qFatalExpression ) +allExpressions = ( qDebugExpression, qWarningExpression, qErrorExpression, qFatalExpression, printfExpression ) #################################################################################################### def convert( fname ): print >>sys.stderr, "<NOTE>: Dealing with %s..." % fname for line in file( fname ): match = False for expr in allExpressions: m = expr.match( line ) if m is None: continue else: match = True head, debug, content, tail = m.groups() print >>sys.stderr, "<NOTE>: Groups = ", m.groups() - sys.stdout.write( head.strip() ) + sys.stdout.write( head ) # don't strip() here, because we want to keep indentation sys.stdout.write( debugTable[debug.strip()] ) sys.stdout.write( " << " ) sys.stdout.write( transform( content ).strip() ) sys.stdout.write( " << oendl; " ) - sys.stdout.write( tail + "\n" ) + sys.stdout.write( tail ) + if not tail.endswith( "\n" ): sys.stdout.write( "\n" ) continue # nothing applies if not match: - sys.stdout.write( line + "\n" ) + sys.stdout.write( line ) #################################################################################################### def transform( s ): print >>sys.stderr, "<NOTE>: Transforming '%s'..." % s # check if there is one or more comma's outside of strings groups = [] @@ -92,17 +95,17 @@ def transform( s ): else: # % in formatstring indirective = True i += 1 while i < len( formatstring ) and formatstring[i] not in "%dDiouxXfegEscpn": i += 1 if formatstring[i] == "%": result += "%" else: - result += '" << %s << "' % substitutions[0] + result += '" << %s << "' % substitutions[0].replace( "(const char*)", "" ).replace( ".latin1()", "" ) del substitutions[0] indirective = False i += 1 print >>sys.stderr, "<NOTE>: Result seems to be '%s'" % result return result.replace( "%%", "%" ) #################################################################################################### |