#!/usr/bin/python import os, sys, os.path, subprocess desktopdir = '/usr/share/applications' if len(sys.argv) != 2: print 'Usage:', sys.argv[0], '' sys.exit(1) # read domain map pkg_domain = {} for line in open(sys.argv[1]): (pkg, domain) = line.split() pkg_domain[pkg] = domain for d in os.listdir(desktopdir): if not d.endswith('.desktop'): continue path = os.path.join(desktopdir, d) package = subprocess.Popen(['dpkg', '-S', path], stdout=subprocess.PIPE).communicate()[0].split(':')[0] if not pkg_domain.has_key(package): print 'Warning: no domain mapping for', package continue print path, '->', package, '->', pkg_domain[package] open(path + '.bak', 'w').write(open(path).read()) open(path, 'a').write('X-Ubuntu-Gettext-Domain=' + pkg_domain[package])