From: Greg Hewgill Date: Sat, 10 Jan 2009 01:46:51 +0000 (+1300) Subject: handle more potential non-filename characters in userpic keywords X-Git-Tag: ljdump-1.3.3~1 X-Git-Url: http://wagner.pp.ru/gitweb/?a=commitdiff_plain;h=245a811657855e2b846068dccdbbb83ced2c249e;p=oss%2Fljdump.git handle more potential non-filename characters in userpic keywords --- diff --git a/ChangeLog b/ChangeLog index ba273d0..e89f69e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,7 @@ Version 1.3.3 - 2009-01-10 - Feature: ljdump now prompts for login info if ljdump.config does not exist - Bugfix: Automatically handle UnicodeDecodeError for old entries +- Bugfix: Handle more non-filename characters of userpic keywords Version 1.3.2 - 2009-01-09 diff --git a/ljdump.py b/ljdump.py index 6a7e3a2..5b7a7a4 100755 --- a/ljdump.py +++ b/ljdump.py @@ -259,13 +259,13 @@ def ljdump(Server, Username, Password): print >>f, """""" % (p, userpics[p]) pic = urllib2.urlopen(userpics[p]) ext = MimeExtensions.get(pic.info()["Content-Type"], "") - picfn = re.sub(r"[\/]", "_", p) + picfn = re.sub(r'[*?\\/:<>"|]', "_", p) try: picfn = codecs.utf_8_decode(picfn)[0] picf = open("%s/%s%s" % (Username, picfn, ext), "wb") except: # for installations where the above utf_8_decode doesn't work - picfn = "".join([ord(x) < 128 and x or "?" for x in picfn]) + picfn = "".join([ord(x) < 128 and x or "_" for x in picfn]) picf = open("%s/%s%s" % (Username, picfn, ext), "wb") shutil.copyfileobj(pic, picf) pic.close()