mirror of
https://gitlab.com/80486DX2-66/gists
synced 2024-12-27 14:50:23 +05:30
28 lines
759 B
Python
28 lines
759 B
Python
#!/usr/bin/python3
|
|
|
|
# generate_C_lang_token.py
|
|
#
|
|
# Author: Intel A80486DX2-66
|
|
# License: Creative Commons Zero 1.0 Universal
|
|
#
|
|
# TODO: If the generated token starts with `__`, replace the first 2 characters
|
|
# to a random [A-Za-z]{2,2} string
|
|
|
|
from random import choice
|
|
from string import ascii_lowercase, ascii_uppercase, digits
|
|
from sys import argv, stdin
|
|
|
|
first_char_alphabet = ascii_uppercase + ascii_lowercase + "_"
|
|
alphabet = first_char_alphabet + digits
|
|
|
|
random_token = lambda n: \
|
|
"".join( \
|
|
[choice(first_char_alphabet)] + \
|
|
[choice(alphabet) for i in range(n - 1)]) if (n := int(n)) > 0 else ""
|
|
|
|
if "-" in argv[1:] and stdin:
|
|
print(random_token(list(stdin)[0]))
|
|
else:
|
|
print("Random token:", random_token(input("Token length? ")))
|
|
|