81 lines
1.7 KiB
Python
81 lines
1.7 KiB
Python
from enum import Enum
|
|
from typing import Dict, List
|
|
|
|
|
|
class Template(Enum):
|
|
MAXIMUM = "Maximum"
|
|
LONG = "Long"
|
|
MEDIUM = "Medium"
|
|
SHORT = "Short"
|
|
PIN = "PIN"
|
|
NAME = "Name"
|
|
PHRASE = "Phrase"
|
|
BASIC = "Basic"
|
|
|
|
|
|
_templates: Dict[Template, List[str]] = {
|
|
Template.MAXIMUM: [
|
|
"anoxxxxxxxxxxxxxxxxx",
|
|
"axxxxxxxxxxxxxxxxxno",
|
|
],
|
|
Template.LONG: [
|
|
"CvcvnoCvcvCvcv",
|
|
"CvcvCvcvnoCvcv",
|
|
"CvcvCvcvCvcvno",
|
|
"CvccnoCvcvCvcv",
|
|
"CvccCvcvnoCvcv",
|
|
"CvccCvcvCvcvno",
|
|
"CvcvnoCvccCvcv",
|
|
"CvcvCvccnoCvcv",
|
|
"CvcvCvccCvcvno",
|
|
"CvcvnoCvcvCvcc",
|
|
"CvcvCvcvnoCvcc",
|
|
"CvcvCvcvCvccno",
|
|
"CvccnoCvccCvcv",
|
|
"CvccCvccnoCvcv",
|
|
"CvccCvccCvcvno",
|
|
"CvcvnoCvccCvcc",
|
|
"CvcvCvccnoCvcc",
|
|
"CvcvCvccCvccno",
|
|
"CvccnoCvcvCvcc",
|
|
"CvccCvcvnoCvcc",
|
|
"CvccCvcvCvccno",
|
|
],
|
|
Template.MEDIUM: [
|
|
"CvcnoCvc",
|
|
"CvcCvcno",
|
|
],
|
|
Template.SHORT: [
|
|
"Cvcn",
|
|
],
|
|
Template.PIN: [
|
|
"nnnn",
|
|
],
|
|
Template.NAME: [
|
|
"cvccvcvcv",
|
|
],
|
|
Template.PHRASE: [
|
|
"cvcc cvc cvccvcv cvc",
|
|
"cvc cvccvcvcv cvcv",
|
|
"cv cvccv cvc cvcvccv",
|
|
],
|
|
Template.BASIC: [
|
|
"aaanaaan",
|
|
"aannaaan",
|
|
"aaannaaa",
|
|
],
|
|
}
|
|
|
|
_characters: Dict[str, str] = {
|
|
"V": "AEIOU",
|
|
"C": "BCDFGHJKLMNPQRSTVWXYZ",
|
|
"v": "aeiou",
|
|
"c": "bcdfghjklmnpqrstvwxyz",
|
|
"A": "AEIOUBCDFGHJKLMNPQRSTVWXYZ",
|
|
"a": "AEIOUaeiouBCDFGHJKLMNPQRSTVWXYZbcdfghjklmnpqrstvwxyz",
|
|
"n": "0123456789",
|
|
"o": "@&%?,=[]_:-+*$#!'^~;()/.",
|
|
"x": "AEIOUaeiouBCDFGHJKLMNPQRSTVWXYZbcdfghjklmnpqrstvwxyz0123456789!@#$%^&*()",
|
|
" ": " ",
|
|
}
|