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

43
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)]),
@@ -306,7 +309,7 @@ def list_folders(root_url, verbose=False, filter_name=None):
folders = get_folders() folders = get_folders()
header_format = "{:" + str(12 + len(root_url)) + "} {} {} {} {}" header_format = "{:" + str(12 + len(root_url)) + "} {} {} {} {}"
print(header_format.format("URL","Created","ToDelete","InDays","Description")) print(header_format.format("URL", "Created", "ToDelete", "InDays", "Description"))
for c in folders: for c in folders:
if filter_name is not None: if filter_name is not None:
if filter_name != c["name"]: if filter_name != c["name"]:
@@ -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()
@@ -391,7 +410,7 @@ if __name__ == "__main__":
os.chdir(opts.home) os.chdir(opts.home)
if opts.command == "add": if opts.command == "add":
""" Add a new share """ """Add a new share"""
new_name = random_name() new_name = random_name()
create_new(new_name, opts.days, opts.description) create_new(new_name, opts.days, opts.description)
@@ -401,7 +420,7 @@ if __name__ == "__main__":
list_folders(opts.root, verbose=True, filter_name=new_name) list_folders(opts.root, verbose=True, filter_name=new_name)
if opts.command == "list" or opts.command is None: if opts.command == "list" or opts.command is None:
""" List shares """ """List shares"""
name = None name = None
try: try:
@@ -414,6 +433,6 @@ if __name__ == "__main__":
list_folders(opts.root, verbose=opts.verbose, filter_name=name) list_folders(opts.root, verbose=opts.verbose, filter_name=name)
if opts.command == "del": if opts.command == "del":
""" Delete due shares """ """Delete due shares"""
del_due_folders() del_due_folders()