| Viewing file:  utils.py (1.63 KB)      -rw-r--r-- Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
# (c) 2006 Canonical# Author: Michael Vogt <michael.vogt@ubuntu.com>
 #
 # Released under the GPL
 #
 
 import os
 import subprocess
 import tempfile
 
 def find_string_and_replace(findString, setString, file_list,
 startswith=True, append=True):
 """ find all strings that startswith findString and replace them with
 setString
 """
 for fname in file_list:
 out = tempfile.NamedTemporaryFile(delete=False,
 dir=os.path.dirname(fname))
 foundString = False
 if (os.path.exists(fname) and
 os.access(fname, os.R_OK)):
 # look for the line
 with open(fname) as f:
 for line in f:
 tmp = line.strip()
 if startswith and tmp.startswith(findString):
 foundString = True
 line = setString
 if not startswith and tmp == findString:
 foundString = True
 line = setString
 out.write(line.encode('UTF-8'))
 # if we have not found them append them
 if not foundString and append:
 out.write(setString.encode('UTF-8'))
 out.flush()
 # rename is atomic
 os.rename(out.name, fname)
 os.chmod(fname, 0o644)
 
 def language2locale(language):
 """ generate locale name for LC_* environment variables
 """
 first_elem = language.split(':')[0]
 locale = subprocess.check_output(
 ['/usr/share/language-tools/language2locale', first_elem],
 universal_newlines=True)
 return locale.rstrip()
 
 
 |