aboutsummaryrefslogtreecommitdiffstats
path: root/gprintify.py
diff options
context:
space:
mode:
Diffstat (limited to 'gprintify.py')
-rwxr-xr-xgprintify.py89
1 files changed, 0 insertions, 89 deletions
diff --git a/gprintify.py b/gprintify.py
deleted file mode 100755
index abdbbf1..0000000
--- a/gprintify.py
+++ /dev/null
@@ -1,89 +0,0 @@
-#!/usr/bin/python
-#---------------------------------------------------------------
-# Project : Mandrake Linux
-# Module : spec-helper
-# File : gprintify.py
-# Version : $Id$
-# Author : Frederic Lepied
-# Created On : Tue Feb 6 18:39:14 2001
-# Purpose : rewrite "bla $TOTO bla" in "bla %s bla" $TOTO
-# in echo/failure/success/passed/daemon/action
-# and replqce echo by gprintf.
-#---------------------------------------------------------------
-
-import sys
-import re
-
-echo_regex=re.compile('^(.*)echo +(-[en]+)?')
-string_regex=re.compile('^([^"]*?)\$?"([^"]*[^\\\\])"([^>\|\[\]]*|.*\|\|.*)$')
-var_regex=re.compile('(?<!\\\)(\$[a-zA-Z0-9_{}]+(?:\[\$[a-zA-Z0-9_{}]+\])?}?)')
-init_func_regex=re.compile('(.*(action|success|failure|passed)\s*.*)')
-
-def process_start(start):
- res=echo_regex.findall(start)
- if res:
- if 'n' in res[0][1]:
- return [res[0][0] + 'gprintf "', '"', '']
- else:
- return [res[0][0] + 'gprintf "', '\\n"', '']
- res=init_func_regex.search(start)
- if res:
- return [res.group(0) + '"', '"', '']
- return None
-
-def process_vars(str, trail):
- var_res=var_regex.findall(str)
- if var_res:
- ret=var_regex.sub('%s', str) + trail
- for v in var_res:
- ret = ret + ' "' + v + '"'
- return ret
- else:
- return str + trail
-
-def process_line(line):
- res=string_regex.findall(line)
- if res:
- res=res[0]
- start=process_start(res[0])
- if not start:
- return line
- str=process_vars(res[1], start[1])
- if res[2][-1] == "\n":
- end = res[2][:-1]
- else:
- end=res[2]
- final=start[0] + str + start[2]
-
- res=string_regex.findall(end)
- if res:
- res=res[0]
- start=process_start(res[0])
- if not start:
- return final + end + '\n'
- str=process_vars(res[1], start[1])
- end=res[2]
- return final + start[0] + str + start[2] + end + '\n'
- else:
- return final + end + '\n'
- else:
- return line
-
-def process_file(filename):
- fd=open(filename, 'r')
- lines=fd.readlines()
- fd.close()
-
- fd=open(filename, 'w')
- for l in lines:
- fd.write(process_line(l))
- fd.close()
-
-def main(args):
- for f in args:
- process_file(f)
-
-if __name__ == '__main__':
- main(sys.argv[1:])
-
-# gprintify.py ends here