X-Git-Url: https://git.phdru.name/?p=extfs.d.git;a=blobdiff_plain;f=obexftp;fp=obexftp;h=211fbf74f9529f118fa3e3f45a67d6d7a404ec69;hp=3eff7bfda4c17c5c7291d3a77a7ed18e178604a8;hb=2e40fbd141c426ad8eacf3ecaff7a1ab5aa3fdce;hpb=8175b404e38fe88dba1780c4f71834a21acf8b98 diff --git a/obexftp b/obexftp index 3eff7bf..211fbf7 100755 --- a/obexftp +++ b/obexftp @@ -64,7 +64,7 @@ named in $TMP environment variable. """ -__version__ = "1.3.2" +__version__ = "1.4.0" __author__ = "Oleg Broytman " __copyright__ = "Copyright (C) 2004-2013 PhiloSoft Design" __license__ = "GPL" @@ -76,9 +76,34 @@ obexftp_prog = "/usr/bin/obexftp" import sys, os, shutil from time import sleep -import xml.dom.minidom, locale +import xml.dom.minidom from tempfile import mkstemp, mkdtemp, _candidate_tempdir_list +try: + import locale + use_locale = True +except ImportError: + use_locale = False + +if use_locale: + # Get the default charset. + try: + lcAll = locale.getdefaultlocale() + except locale.Error, err: + print >>sys.stderr, "WARNING:", err + lcAll = [] + + if len(lcAll) == 2: + default_encoding = lcAll[1] + else: + try: + default_encoding = locale.getpreferredencoding() + except locale.Error, err: + print >>sys.stderr, "WARNING:", err + default_encoding = sys.getdefaultencoding() +else: + default_encoding = sys.getdefaultencoding() + import logging logger = logging.getLogger('obexftp-mcextfs') @@ -123,7 +148,6 @@ logger.removeHandler(log_err_handler) logger.addHandler(logging.FileHandler(logfile_name)) locale.setlocale(locale.LC_ALL, '') -charset = locale.getpreferredencoding() # Parse ObexFTP XML directory listings @@ -238,7 +262,7 @@ def recursive_list(directory='/'): for entry in directories + files: fullpath = "%s/%s" % (directory, entry.name) - fullpath = fullpath.encode(charset) + fullpath = fullpath.encode(default_encoding) if fullpath.startswith('//'): fullpath = fullpath[1:] print entry.perm, "1 user group", entry.size, entry.mtime, fullpath