fix future problem of 999 index

This commit is contained in:
Ville Rantanen
2021-11-09 23:49:52 +02:00
parent 04a6659c1e
commit 7f3dccd16d

35
flit.py
View File

@@ -123,7 +123,7 @@ def parse_opts():
type=str, type=str,
help="List only named share", help="List only named share",
default=None, default=None,
nargs="?" nargs="?",
) )
del_parser = subparsers.add_parser("del", add_help=False) del_parser = subparsers.add_parser("del", add_help=False)
@@ -157,13 +157,16 @@ def random_name():
""" """
while True: while True:
existing_names = [c["name"] for c in get_folders()] existing_names = [c["name"] for c in get_folders()]
index = 0 existing_numbers = [
for existing in existing_names: tryint(num[0:3]) for num in existing_names if tryint(num[0:3]) != None
try: ]
e_index = int(existing[0:3])
index = max(e_index + 1, index) index = max(existing_numbers) + 1
except: if index > 999:
pass for index in range(1000):
if not index in existing_numbers:
break
name = "{:03d}-{}-{}".format( name = "{:03d}-{}-{}".format(
index, index,
"".join([random_char() for x in range(3)]), "".join([random_char() for x in range(3)]),
@@ -382,6 +385,22 @@ def write_config(p, config):
return json.dump(config, fp, indent=2, sort_keys=True) return json.dump(config, fp, indent=2, sort_keys=True)
def tryint(s):
"""Return integer, or None
Args:
s (str): Integer as string
Returns:
Int or None
"""
try:
return int(s, 10)
except Exception:
return None
if __name__ == "__main__": if __name__ == "__main__":
opts = parse_opts() opts = parse_opts()
cwd = os.getcwd() cwd = os.getcwd()