From 24174f31d9ed24080f28d60487fa87befeda284d Mon Sep 17 00:00:00 2001 From: MinRK Date: Sun, 20 Oct 2013 14:09:01 -0700 Subject: [PATCH] use itertools.count for incrementing notebook filename --- IPython/html/services/notebooks/filenbmanager.py | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/IPython/html/services/notebooks/filenbmanager.py b/IPython/html/services/notebooks/filenbmanager.py index 0324c2cdf..e87a2ccb2 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.""" 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):