From ce26dc7f8bed3fa7e65bceb1f1663c538416f664 2013-10-20 21:09:01 From: MinRK <benjaminrk@gmail.com> Date: 2013-10-20 21:09:01 Subject: [PATCH] use itertools.count for incrementing notebook filename --- diff --git a/IPython/html/services/notebooks/filenbmanager.py b/IPython/html/services/notebooks/filenbmanager.py index 0324c2c..e87a2cc 100644 --- a/IPython/html/services/notebooks/filenbmanager.py +++ b/IPython/html/services/notebooks/filenbmanager.py @@ -17,14 +17,12 @@ Authors: # Imports #----------------------------------------------------------------------------- -import datetime import io +import itertools import os import glob import shutil -from unicodedata import normalize - from tornado import web from .nbmanager import NotebookManager @@ -83,17 +81,14 @@ class FileNotebookManager(NotebookManager): for name in names] return names - def increment_filename(self, basename, path=''): + def increment_filename(self, basename, path='', ext='.ipynb'): """Return a non-used filename of the form basename<int>.""" path = path.strip('/') - i = 0 - while True: - name = u'%s%i.ipynb' % (basename,i) + for i in itertools.count(): + name = u'{basename}{i}{ext}'.format(basename=basename, i=i, ext=ext) os_path = self.get_os_path(name, path) if not os.path.isfile(os_path): break - else: - i = i+1 return name def path_exists(self, path):