def get_name(self, entry): """If a file with the same name already exists, append a '_n' to the name to enumerate through""" name = entry.name name_hash = entry.hash while self.has_name(name_hash): n, e = os.path.splitext(name) prev_n = n.split("_")[-1] if not prev_n.isdigit() or len(prev_n) == len(n): n = n + '_1' else: n = "_".join(n.split("_")[0:-1]) + '_' + str(int(prev_n) + 1) name = n + e name_hash = Entry.hash_from_name(os.path.join(entry.path, name)) entry.name = name