Fix up mactrans.py for python3

svn: r21010
This commit is contained in:
John Ralls 2013-01-06 20:40:46 +00:00
parent e07ec97571
commit f14b5d8944

View File

@ -71,7 +71,7 @@ locale, leaving $LANGUAGE unset (which is the same as setting it to
""" """
import os, subprocess import sys, os, subprocess
def get_available_translations(dir, domain): def get_available_translations(dir, domain):
""" """
@ -108,18 +108,21 @@ def mac_setup_localization(dir, domain):
languages = subprocess.Popen( languages = subprocess.Popen(
[defaults, "read", "-app", "Gramps", "AppleLanguages"], [defaults, "read", "-app", "Gramps", "AppleLanguages"],
stderr=open("/dev/null"), stderr=open("/dev/null"),
stdout=subprocess.PIPE).communicate()[0].strip("()\n").split(",\n") stdout=subprocess.PIPE).communicate()[0]
if not sys.version_info[0] < 3:
languages = languages.decode("utf-8")
languages = languages.strip("()\n").split(",\n")
except OSError: except OSError:
pass pass
if len(languages) == 0 or (len(languages) == 1 and languages[0] == ""): if len(languages) == 0 or (len(languages) == 1 and languages[0] == ""):
# try:
languages = subprocess.Popen( languages = subprocess.Popen(
[defaults, "read", "-g", "AppleLanguages"], [defaults, "read", "-g", "AppleLanguages"],
stderr=open("/dev/null"), stderr=open("/dev/null"),
stdout=subprocess.PIPE).communicate()[0].strip("()\n").split(",\n") stdout=subprocess.PIPE).communicate()[0]
# except OSError: if not sys.version_info[0] < 3:
# pass languages = languages.decode("utf-8")
languages = languages.strip("()\n").split(",\n")
usable = [] usable = []
for lang in languages: for lang in languages:
lang = lang.strip().strip('"').replace("-", "_", 1) lang = lang.strip().strip('"').replace("-", "_", 1)
@ -157,7 +160,7 @@ def mac_setup_localization(dir, domain):
except OSError: except OSError:
return (locale, calendar, currency) return (locale, calendar, currency)
div = default_locale.split("@") div = default_locale.split(b"@")
locale = div[0] locale = div[0]
if len(div) > 1: if len(div) > 1:
div = div[1].split(";") div = div[1].split(";")