From 3aa42258bc18441fda22eda49a5c2c3999d8d4e6 Mon Sep 17 00:00:00 2001
From: phoenix <phoenix@pxhome.(none)>
Date: Mon, 4 Aug 2008 00:38:56 +0600
Subject: [PATCH] Another encoding fix

---
 src/gpodder/sync.py |    2 +-
 src/gpodder/util.py |    9 +++++++++
 2 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/src/gpodder/sync.py b/src/gpodder/sync.py
index a4928cc..ee17ac1 100644
--- a/src/gpodder/sync.py
+++ b/src/gpodder/sync.py
@@ -490,7 +490,7 @@ class MP3PlayerDevice(Device):
         else:
             folder = self.destination
 
-        from_file = episode.local_filename()
+        from_file =  util.sanitize_encoding(episode.local_filename())
         filename_base = util.sanitize_filename(episode.sync_filename(), self.MAX_FILENAME_LENGTH)
 
         to_file = filename_base + os.path.splitext(from_file)[1].lower()
diff --git a/src/gpodder/util.py b/src/gpodder/util.py
index 334340d..05c2ce2 100644
--- a/src/gpodder/util.py
+++ b/src/gpodder/util.py
@@ -934,6 +934,15 @@ def open_website(url):
     """
     threading.Thread(target=webbrowser.open, args=(url,)).start()
 
+def sanitize_encoding(filename):
+    """
+    Generate a sanitized version of a string (i.e.
+    remove/replace invalid characters and encode in the native language)
+    """
+
+    global encoding
+    return filename.strip().encode(encoding, 'ignore')
+
 
 def sanitize_filename(filename, max_length=0):
     """
-- 
1.5.6.1

