projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge remote-tracking branch 'Asido/master'
[youtube-dl]
/
youtube_dl
/
utils.py
diff --git
a/youtube_dl/utils.py
b/youtube_dl/utils.py
index 3339f56ec114fab13b39afeef2fcef60506c8ec5..40d6823a0f8ddbbf42a54bf4b0aea9e344825600 100644
(file)
--- a/
youtube_dl/utils.py
+++ b/
youtube_dl/utils.py
@@
-37,15
+37,13
@@
def preferredencoding():
Returns the best encoding scheme for the system, based on
locale.getpreferredencoding() and some further tweaks.
"""
Returns the best encoding scheme for the system, based on
locale.getpreferredencoding() and some further tweaks.
"""
- def yield_preferredencoding():
- try:
- pref = locale.getpreferredencoding()
- u'TEST'.encode(pref)
- except:
- pref = 'UTF-8'
- while True:
- yield pref
- return yield_preferredencoding().next()
+ try:
+ pref = locale.getpreferredencoding()
+ u'TEST'.encode(pref)
+ except:
+ pref = 'UTF-8'
+
+ return pref
def htmlentity_transform(matchobj):
def htmlentity_transform(matchobj):
@@
-208,7
+206,7
@@
def sanitize_filename(s, restricted=False):
return '_-' if restricted else ' -'
elif char in '\\/|*<>':
return '_'
return '_-' if restricted else ' -'
elif char in '\\/|*<>':
return '_'
- if restricted and (char in '&\'' or char.isspace()):
+ if restricted and (char in '
!
&\'' or char.isspace()):
return '_'
if restricted and ord(char) > 127:
return '_'
return '_'
if restricted and ord(char) > 127:
return '_'
@@
-218,6
+216,9
@@
def sanitize_filename(s, restricted=False):
while '__' in result:
result = result.replace('__', '_')
result = result.strip('_')
while '__' in result:
result = result.replace('__', '_')
result = result.strip('_')
+ # Common case of "Foreign band name - English song title"
+ if restricted and result.startswith('-_'):
+ result = result[2:]
if not result:
result = '_'
return result
if not result:
result = '_'
return result
@@
-313,7
+314,7
@@
class ContentTooShortError(Exception):
class Trouble(Exception):
"""Trouble helper exception
class Trouble(Exception):
"""Trouble helper exception
-
+
This is an exception to be handled with
FileDownloader.trouble
"""
This is an exception to be handled with
FileDownloader.trouble
"""