def new_filename(self, nodeid, new_filename, ext=u"", sep=u" ", number=2, return_number=False, use_number=False, ensure_valid=True, _path=None): # TODO: use proper local and node path's (get_node_filename) # TODO: move this out of the connection # TODO: add assert for valid new_filename path = self._get_node_path(nodeid) if _path is None else _path if ext is None: new_filename, ext = os.path.splitext(new_filename) basename = path_basename(new_filename) path2 = os.path.join(path, os.path.dirname(new_filename)) if ensure_valid: fullname = get_valid_unique_filename( path2, basename, ext, sep=sep, number=number) else: if return_number: fullname, number = keepnote.notebook.get_unique_filename( path2, basename, ext, sep=sep, number=number, return_number=return_number, use_number=use_number) else: fullname = keepnote.notebook.get_unique_filename( path2, basename, ext, sep=sep, number=number, return_number=return_number, use_number=use_number) if return_number: return keepnote.notebook.relpath(fullname, path), number else: return keepnote.notebook.relpath(fullname, path)
def test_basename(self): """ Return the last component of a filename aaa/bbb => bbb aaa/bbb/ => bbb aaa/ => aaa aaa => aaa '' => '' / => '' """ self.assertEqual(connlib.path_basename("aaa/b/ccc"), "ccc") self.assertEqual(connlib.path_basename("aaa/b/ccc/"), "ccc") self.assertEqual(connlib.path_basename("aaa/bbb"), "bbb") self.assertEqual(connlib.path_basename("aaa/bbb/"), "bbb") self.assertEqual(connlib.path_basename("aaa"), "aaa") self.assertEqual(connlib.path_basename("aaa/"), "aaa") self.assertEqual(connlib.path_basename(""), "") self.assertEqual(connlib.path_basename("/"), "")