Server : nginx/1.18.0 System : Linux localhost 6.14.3-x86_64-linode168 #1 SMP PREEMPT_DYNAMIC Mon Apr 21 19:47:55 EDT 2025 x86_64 User : www-data ( 33) PHP Version : 8.0.16 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /usr/lib/python3/dist-packages/LanguageSelector/ |
# (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()