fix future problem of 999 index
This commit is contained in:
35
flit.py
35
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)]),
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user