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."""
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):