From f666ef7e4cb405736ba11050147f6db739e79dfb Mon Sep 17 00:00:00 2001 From: Wieland Hoffmann Date: Sun, 11 Mar 2012 00:23:21 +0100 Subject: [PATCH 1/2] Log the warning about ANSI_X3.4-1968 locales in the log window --- picard/tagger.py | 15 +++++---------- picard/util/__init__.py | 8 +++++--- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/picard/tagger.py b/picard/tagger.py index af577faab..036b40910 100644 --- a/picard/tagger.py +++ b/picard/tagger.py @@ -57,13 +57,10 @@ from picard.browser.browser import BrowserIntegration from picard.browser.filelookup import FileLookup from picard.cluster import Cluster, ClusterList, UnmatchedFiles from picard.config import Config -from picard.disc import Disc, DiscError +from picard.disc import Disc from picard.file import File from picard.formats import open as open_file -from picard.metadata import Metadata from picard.track import Track, NonAlbumTrack -from picard.config import IntOption -from picard.script import ScriptParser from picard.ui.mainwindow import MainWindow from picard.plugin import PluginManager from picard.puidmanager import PUIDManager @@ -71,17 +68,13 @@ from picard.acoustidmanager import AcoustIDManager from picard.util import ( decode_filename, encode_filename, - make_short_filename, - replace_win32_incompat, - replace_non_ascii, sanitize_filename, icontheme, - webbrowser2, - pathcmp, partial, queue, thread, - mbid_validate + mbid_validate, + check_io_encoding ) from picard.webservice import XmlWebService @@ -152,6 +145,8 @@ class Tagger(QtGui.QApplication): QtCore.QObject.config = self.config QtCore.QObject.log = self.log + check_io_encoding() + self.setup_gettext(localedir) self.xmlws = XmlWebService() diff --git a/picard/util/__init__.py b/picard/util/__init__.py index f007b23e8..7f219974f 100644 --- a/picard/util/__init__.py +++ b/picard/util/__init__.py @@ -126,8 +126,9 @@ _io_encoding = sys.getfilesystemencoding() #// On a glibc system the system locale defaults to ANSI_X3.4-1968 #// It is very unlikely that one would set the locale to ANSI_X3.4-1968 #// intentionally -if _io_encoding == "ANSI_X3.4-1968": - print """ +def check_io_encoding(): + if _io_encoding == "ANSI_X3.4-1968": + QtCore.QObject.log.warning(""" System locale charset is ANSI_X3.4-1968 Your system's locale charset (i.e. the charset used to encode filenames) is set to ANSI_X3.4-1968. It is highly unlikely that this has been done @@ -138,11 +139,12 @@ are set. Normally the distribution setup tools take care of this. Translation: Picard will have problems with non-english characters in filenames until you change your charset. -""" +""") def set_io_encoding(encoding): """Sets the encoding used in file names.""" + global _io_encoding _io_encoding = encoding def encode_filename(filename): From 3e16fe3c2c27ad27c8e2e4a21c884ed81226ee8f Mon Sep 17 00:00:00 2001 From: Wieland Hoffmann Date: Wed, 9 May 2012 11:39:13 +0200 Subject: [PATCH 2/2] Remove set_io_encoding --- picard/util/__init__.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/picard/util/__init__.py b/picard/util/__init__.py index 7f219974f..74b4c98e6 100644 --- a/picard/util/__init__.py +++ b/picard/util/__init__.py @@ -141,12 +141,6 @@ Translation: Picard will have problems with non-english characters in filenames until you change your charset. """) - -def set_io_encoding(encoding): - """Sets the encoding used in file names.""" - global _io_encoding - _io_encoding = encoding - def encode_filename(filename): """Encode unicode strings to filesystem encoding.""" if isinstance(filename, unicode):