From ea7dacb9c82578a7358e228358fe72e192530578 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Fri, 15 Feb 2019 15:48:14 +0100 Subject: [PATCH] version_up cut from filename everything after version in name --- pype/lib.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/pype/lib.py b/pype/lib.py index f0ffba3085..cbff032e2b 100644 --- a/pype/lib.py +++ b/pype/lib.py @@ -206,6 +206,11 @@ def version_up(filepath): new_label = label.replace(version, new_version, 1) new_basename = _rreplace(basename, label, new_label) + if not new_basename.endswith(new_label): + index = (new_basename.find(new_label)) + index += len(new_label) + new_basename = new_basename[:index] + new_filename = "{}{}".format(new_basename, ext) new_filename = os.path.join(dirname, new_filename) new_filename = os.path.normpath(new_filename) @@ -214,9 +219,10 @@ def version_up(filepath): raise RuntimeError("Created path is the same as current file," "this is a bug") - if os.path.exists(new_filename): - log.info("Skipping existing version %s" % new_label) - return version_up(new_filename) + for file in os.listdir(dirname): + if file.endswith(ext) and file.startswith(new_basename): + log.info("Skipping existing version %s" % new_label) + return version_up(new_filename) log.info("New version %s" % new_label) return new_filename