py-spectre/spectre/template.py

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!@#$%^&*()",
" ": " ",
}