Replace post_process_apply_filename_safepattern with post_process_safepattern so it can have its own pattern.

This commit is contained in:
Jim Miller 2016-11-28 10:11:27 -06:00
parent 587b24ef82
commit 34ec12ea1e
3 changed files with 11 additions and 11 deletions

View file

@ -175,7 +175,7 @@ def main(argv=None,
options.downloadlist))): options.downloadlist))):
parser.print_help(); parser.print_help();
return return
if options.list: if options.list:
configuration = get_configuration(options.list, configuration = get_configuration(options.list,
passed_defaultsini, passed_defaultsini,
@ -378,8 +378,8 @@ def do_download(arg,
output_filename = write_story(configuration, adapter, options.format, options.metaonly) output_filename = write_story(configuration, adapter, options.format, options.metaonly)
if not options.metaonly and adapter.getConfig('post_process_cmd'): if not options.metaonly and adapter.getConfig('post_process_cmd'):
if adapter.getConfig('post_process_apply_filename_safepattern'): if adapter.getConfig('post_process_safepattern'):
metadata = adapter.story.get_filename_safe_metadata() metadata = adapter.story.get_filename_safe_metadata(pattern=adapter.getConfig('post_process_safepattern'))
else: else:
metadata = adapter.story.getAllMetadata() metadata = adapter.story.getAllMetadata()
metadata['output_filename'] = output_filename metadata['output_filename'] = output_filename

View file

@ -195,10 +195,9 @@ connect_timeout:60.0
#post_process_cmd: addbook -f "${output_filename}" -t "${title}" #post_process_cmd: addbook -f "${output_filename}" -t "${title}"
## Some operating systems and command shells have problems with some ## Some operating systems and command shells have problems with some
## characters. When true, the output_filename_safepattern will be ## characters. When set, post_process_safepattern will be applied to
## applied to each metadata item passed to post_process_cmd before ## each metadata item passed to post_process_cmd before it's called.
## it's called. #post_process_safepattern:(^\.|/\.|[^a-zA-Z0-9_\. \[\]\(\)&'-]+)
#post_process_apply_filename_safepattern:false
## Use regular expressions to find and replace (or remove) metadata. ## Use regular expressions to find and replace (or remove) metadata.
## For example, you could change Sci-Fi=>SF, remove *-Centered tags, ## For example, you could change Sci-Fi=>SF, remove *-Centered tags,

View file

@ -1031,12 +1031,13 @@ class Story(Configurable):
return retval return retval
def get_filename_safe_metadata(self): def get_filename_safe_metadata(self,pattern=None):
origvalues = self.getAllMetadata() origvalues = self.getAllMetadata()
values={} values={}
pattern = re_compile(self.getConfig("output_filename_safepattern", if not pattern:
r"(^\.|/\.|[^a-zA-Z0-9_\. \[\]\(\)&'-]+)"), pattern = re_compile(self.getConfig("output_filename_safepattern",
"output_filename_safepattern") r"(^\.|/\.|[^a-zA-Z0-9_\. \[\]\(\)&'-]+)"),
"output_filename_safepattern")
for k in origvalues.keys(): for k in origvalues.keys():
if k == 'formatext': # don't do file extension--we set it anyway. if k == 'formatext': # don't do file extension--we set it anyway.
values[k]=self.getMetadata(k) values[k]=self.getMetadata(k)