From 9010f29685911cd6b4f295aff3f29ed40ca4c9d6 2014-07-22 22:25:11 From: MinRK Date: 2014-07-22 22:25:11 Subject: [PATCH] Avoid duplicate extension in nbconvert nbconvert --to notebook --output Output.ipynb would write Output.ipynb.ipynb before this PR --- diff --git a/IPython/nbconvert/nbconvertapp.py b/IPython/nbconvert/nbconvertapp.py index 2b6f14d..c105728 100755 --- a/IPython/nbconvert/nbconvertapp.py +++ b/IPython/nbconvert/nbconvertapp.py @@ -278,6 +278,11 @@ class NbConvertApp(BaseIPythonApplication): basename = os.path.basename(notebook_filename) notebook_name = basename[:basename.rfind('.')] if self.output_base: + # strip duplicate extension from output_base, to avoid Basname.ext.ext + if getattr(exporter, 'file_extension', False): + base, ext = os.path.splitext(self.output_base) + if ext == '.' + exporter.file_extension: + self.output_base = base notebook_name = self.output_base resources = {} resources['profile_dir'] = self.profile_dir.location @@ -293,11 +298,11 @@ class NbConvertApp(BaseIPythonApplication): exc_info=True) self.exit(1) else: - write_resultes = self.writer.write(output, resources, notebook_name=notebook_name) + write_results = self.writer.write(output, resources, notebook_name=notebook_name) #Post-process if post processor has been defined. if hasattr(self, 'postprocessor') and self.postprocessor: - self.postprocessor(write_resultes) + self.postprocessor(write_results) conversion_success += 1 # If nothing was converted successfully, help the user.