fix future problem of 999 index
This commit is contained in:
47
flit.py
47
flit.py
@@ -123,7 +123,7 @@ def parse_opts():
|
||||
type=str,
|
||||
help="List only named share",
|
||||
default=None,
|
||||
nargs="?"
|
||||
nargs="?",
|
||||
)
|
||||
|
||||
del_parser = subparsers.add_parser("del", add_help=False)
|
||||
@@ -157,13 +157,16 @@ def random_name():
|
||||
"""
|
||||
while True:
|
||||
existing_names = [c["name"] for c in get_folders()]
|
||||
index = 0
|
||||
for existing in existing_names:
|
||||
try:
|
||||
e_index = int(existing[0:3])
|
||||
index = max(e_index + 1, index)
|
||||
except:
|
||||
pass
|
||||
existing_numbers = [
|
||||
tryint(num[0:3]) for num in existing_names if tryint(num[0:3]) != None
|
||||
]
|
||||
|
||||
index = max(existing_numbers) + 1
|
||||
if index > 999:
|
||||
for index in range(1000):
|
||||
if not index in existing_numbers:
|
||||
break
|
||||
|
||||
name = "{:03d}-{}-{}".format(
|
||||
index,
|
||||
"".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()
|
||||
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:
|
||||
if filter_name is not None:
|
||||
if filter_name != c["name"]:
|
||||
@@ -382,6 +385,22 @@ def write_config(p, config):
|
||||
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__":
|
||||
opts = parse_opts()
|
||||
cwd = os.getcwd()
|
||||
@@ -391,7 +410,7 @@ if __name__ == "__main__":
|
||||
os.chdir(opts.home)
|
||||
|
||||
if opts.command == "add":
|
||||
""" Add a new share """
|
||||
"""Add a new share"""
|
||||
|
||||
new_name = random_name()
|
||||
create_new(new_name, opts.days, opts.description)
|
||||
@@ -401,19 +420,19 @@ if __name__ == "__main__":
|
||||
list_folders(opts.root, verbose=True, filter_name=new_name)
|
||||
|
||||
if opts.command == "list" or opts.command is None:
|
||||
""" List shares """
|
||||
|
||||
"""List shares"""
|
||||
|
||||
name = None
|
||||
try:
|
||||
name = opts.name
|
||||
except AttributeError:
|
||||
pass
|
||||
pass
|
||||
if name:
|
||||
if os.path.isdir(os.path.join(cwd, name)):
|
||||
name = os.path.basename(os.path.realpath(os.path.join(cwd, name)))
|
||||
list_folders(opts.root, verbose=opts.verbose, filter_name=name)
|
||||
|
||||
if opts.command == "del":
|
||||
""" Delete due shares """
|
||||
"""Delete due shares"""
|
||||
|
||||
del_due_folders()
|
||||
|
||||
Reference in New Issue
Block a user