433 lines
31 KiB
Python
433 lines
31 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""
|
|
Created on 29/05/2024
|
|
@author: Edward Middleton-Smith
|
|
"""
|
|
|
|
from character_braille import Character_Braille
|
|
|
|
import pandas as pd
|
|
from typing import Optional, List
|
|
from pydantic import BaseModel, conlist, validator
|
|
from enum import Enum
|
|
# import argument_validation as av
|
|
import sys
|
|
|
|
class Enum_Braille_Proficiency_Level(Enum):
|
|
ALPHABET_PUNCTUATION = 1
|
|
SIMPLE_WORD_AND_GROUPSIGNS = 2
|
|
LOWER_CONTRACTIONS = 3
|
|
def minimum():
|
|
return min([e.value for e in Enum_Braille_Proficiency_Level])
|
|
def maximum():
|
|
return max([e.value for e in Enum_Braille_Proficiency_Level])
|
|
|
|
|
|
# Matrix_Braille_Dots = Annotated(List[List[bool]], conlist(conlist(bool, min_items=2, max_items=2), min_items=3, max_items=3))
|
|
class Translation_Braille(BaseModel):
|
|
plaintext: str # English plaintext key
|
|
translation_proficiency_level: Enum_Braille_Proficiency_Level # stage of learning at which this translation is discovered
|
|
braille_text: List[Character_Braille] = [] # Braille translation of plaintext
|
|
search_key: Optional[str] = None
|
|
|
|
def __init__(self, plaintext, translation_proficiency_level, braille_text=[], search_key= None):
|
|
super().__init__(plaintext=plaintext, translation_proficiency_level=translation_proficiency_level, braille_text=braille_text, search_key=search_key)
|
|
self.plaintext = self.plaintext.upper()
|
|
if braille_text == []:
|
|
self.braille_text = self.translate_text_to_Braille()
|
|
if search_key is None:
|
|
self.search_key = plaintext
|
|
|
|
def __repr__(self):
|
|
return f"{self.plaintext} - {self.translation_proficiency_level} - {self.braille_text}"
|
|
|
|
def translate_text_to_Braille(self):
|
|
known_translations = Translation_Braille.get_defaults_DataFrame()
|
|
# print(f'known_translations: {known_translations}')
|
|
delimiters = Translation_Braille.get_delimiters()
|
|
braille_text = []
|
|
max_key_length = known_translations.apply(lambda x: len(x[3]), axis=1).max() # [Translation_Braille.__name__]
|
|
length_plaintext = len(self.plaintext)
|
|
# dict_iterator = braille_dict[braille_dict['level'] == level]
|
|
index_key_start = 0
|
|
while index_key_start < length_plaintext:
|
|
found_key = False
|
|
for key_length in range(min(max_key_length, length_plaintext - index_key_start), 0, -1):
|
|
key = self.plaintext[index_key_start : index_key_start + key_length]
|
|
"""if key in delimiters:
|
|
character_braille = Character_Braille.get_blank_Character_Braille()
|
|
character_braille.plaintext = delimiters[key]
|
|
braille_text.append(character_braille)
|
|
index_key_start += key_length
|
|
continue
|
|
el"""
|
|
if key == "@?NOTHING":
|
|
index_key_start += key_length
|
|
found_key = True
|
|
break
|
|
elif key == "@?NEWLINE":
|
|
character_braille = Character_Braille("NEWLINE", [0, 0, 0, 0, 0, 0])
|
|
braille_text.append(character_braille)
|
|
index_key_start += key_length
|
|
found_key = True
|
|
break
|
|
if known_translations.apply(lambda x: x[3] == key and x[1].value <= self.translation_proficiency_level.value, axis=1).any():
|
|
translation_Braille = known_translations.apply(lambda x: x if (x[3] == key and x[1].value <= self.translation_proficiency_level.value) else None, axis=1).dropna().values.tolist()[0]
|
|
# print(f'translation_Braille: {translation_Braille}')
|
|
# character_braille = known_translations[index_Character_Braille]
|
|
braille_text.append(translation_Braille[2])
|
|
# print(f'braille_text: {braille_text}')
|
|
index_key_start += key_length
|
|
found_key = True
|
|
break
|
|
#elif key_length == 1:
|
|
if not found_key:
|
|
raise KeyError("Key not found starting from: ", key)
|
|
|
|
|
|
"""
|
|
for key in range(len(dict_iterator.index)):
|
|
bd_n = dict_iterator['key'][dict_iterator.index[bd_i]]
|
|
str_out += "@?NOTHING" + bd_n
|
|
"""
|
|
return braille_text
|
|
|
|
def get_delimiters():
|
|
return {
|
|
"@?NUM" : "NUMBER",
|
|
"@?NOTHING" : "",
|
|
#" " : "",
|
|
'"@?BO' : '"',
|
|
'"@?BC' : '"',
|
|
"-@?S" : "-",
|
|
"-@?L" : "-",
|
|
"/@?B" : "/",
|
|
"[@?BPH" : "[",
|
|
"]@?BPH" : "]",
|
|
"[@?BSQ" : "[",
|
|
"]@?BSQ" : "]",
|
|
"'@?BO" : "'",
|
|
"'@?BC" : "'",
|
|
"@?LET" : "LET",
|
|
"@?CAPS" : "CAPS",
|
|
"@?EMPH" : "EMPH",
|
|
"@?ABBREV1" : "ABBREV",
|
|
"@?ABBREV2" : "ABBREV",
|
|
"@?ABBREV3" : "ABBREV",
|
|
"@?ABBREV4" : "ABBREV",
|
|
}
|
|
|
|
def get_defaults_DataFrame():
|
|
df = pd.DataFrame(data=[
|
|
["A", Enum_Braille_Proficiency_Level(1), [[1, 0, 0, 0, 0, 0]], None],
|
|
["B", Enum_Braille_Proficiency_Level(1), [[1, 1, 0, 0, 0, 0]], None],
|
|
["C", Enum_Braille_Proficiency_Level(1), [[1, 0, 0, 1, 0, 0]], None],
|
|
["D", Enum_Braille_Proficiency_Level(1), [[1, 0, 0, 1, 1, 0]], None],
|
|
["E", Enum_Braille_Proficiency_Level(1), [[1, 0, 0, 0, 1, 0]], None],
|
|
["F", Enum_Braille_Proficiency_Level(1), [[1, 1, 0, 1, 0, 0]], None],
|
|
["G", Enum_Braille_Proficiency_Level(1), [[1, 1, 0, 1, 1, 0]], None],
|
|
["H", Enum_Braille_Proficiency_Level(1), [[1, 1, 0, 0, 1, 0]], None],
|
|
["I", Enum_Braille_Proficiency_Level(1), [[0, 1, 0, 1, 0, 0]], None],
|
|
["J", Enum_Braille_Proficiency_Level(1), [[0, 1, 0, 1, 1, 0]], None],
|
|
["K", Enum_Braille_Proficiency_Level(1), [[1, 0, 1, 0, 0, 0]], None],
|
|
["L", Enum_Braille_Proficiency_Level(1), [[1, 1, 1, 0, 0, 0]], None],
|
|
["M", Enum_Braille_Proficiency_Level(1), [[1, 0, 1, 1, 0, 0]], None],
|
|
["N", Enum_Braille_Proficiency_Level(1), [[1, 0, 1, 1, 1, 0]], None],
|
|
["O", Enum_Braille_Proficiency_Level(1), [[1, 0, 1, 0, 1, 0]], None],
|
|
["P", Enum_Braille_Proficiency_Level(1), [[1, 1, 1, 1, 0, 0]], None],
|
|
["Q", Enum_Braille_Proficiency_Level(1), [[1, 1, 1, 1, 1, 0]], None],
|
|
["R", Enum_Braille_Proficiency_Level(1), [[1, 1, 1, 0, 1, 0]], None],
|
|
["S", Enum_Braille_Proficiency_Level(1), [[0, 1, 1, 1, 0, 0]], None],
|
|
["T", Enum_Braille_Proficiency_Level(1), [[0, 1, 1, 1, 1, 0]], None],
|
|
["U", Enum_Braille_Proficiency_Level(1), [[1, 0, 1, 0, 0, 1]], None],
|
|
["V", Enum_Braille_Proficiency_Level(1), [[1, 1, 1, 0, 0, 1]], None],
|
|
["W", Enum_Braille_Proficiency_Level(1), [[0, 1, 0, 1, 1, 1]], None],
|
|
["X", Enum_Braille_Proficiency_Level(1), [[1, 0, 1, 1, 0, 1]], None],
|
|
["Y", Enum_Braille_Proficiency_Level(1), [[1, 0, 1, 1, 1, 1]], None],
|
|
["Z", Enum_Braille_Proficiency_Level(1), [[1, 0, 1, 0, 1, 1]], None],
|
|
['NUMBER', Enum_Braille_Proficiency_Level(1), [[0, 0, 1, 1, 1, 1]], "@?NUM"],
|
|
#" ", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 0, 0, 0]], None],
|
|
[",", Enum_Braille_Proficiency_Level(1), [[0, 1, 0, 0, 0, 0]], None],
|
|
[";", Enum_Braille_Proficiency_Level(1), [[0, 1, 1, 0, 0, 0]], None],
|
|
[":", Enum_Braille_Proficiency_Level(1), [[0, 1, 0, 0, 1, 0]], None],
|
|
[".", Enum_Braille_Proficiency_Level(1), [[0, 1, 0, 0, 1, 1]], None],
|
|
["!", Enum_Braille_Proficiency_Level(1), [[0, 1, 1, 0, 1, 0]], None],
|
|
["(", Enum_Braille_Proficiency_Level(1), [[0, 1, 1, 0, 1, 1]], None],
|
|
[")", Enum_Braille_Proficiency_Level(1), [[0, 1, 1, 0, 1, 1]], None],
|
|
["?", Enum_Braille_Proficiency_Level(1), [[0, 1, 1, 0, 0, 1]], None],
|
|
['"', Enum_Braille_Proficiency_Level(1), [[0, 1, 1, 0, 0, 1]], '"@?BO'],
|
|
['"', Enum_Braille_Proficiency_Level(1), [[0, 0, 1, 0, 1, 1]], '"@?BC'],
|
|
["'", Enum_Braille_Proficiency_Level(1), [[0, 0, 1, 0, 0, 0]], None],
|
|
["ABBREV", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 1, 0, 0]], "@?ABBREV1"],
|
|
["ABBREV", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 1, 1, 0]], "@?ABBREV2"],
|
|
["ABBREV", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 1, 1, 1]], "@?ABBREV3"],
|
|
["ABBREV", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 0, 1, 0]], "@?ABBREV4"],
|
|
["...", Enum_Braille_Proficiency_Level(1), [[0, 0, 1, 0, 0, 0], [0, 0, 1, 0, 0, 0], [0, 0, 1, 0, 0, 0]], None],
|
|
["-", Enum_Braille_Proficiency_Level(1), [[0, 0, 1, 0, 0, 1]], None],
|
|
["-", Enum_Braille_Proficiency_Level(1), [[0, 0, 1, 0, 0, 1], [0, 0, 1, 0, 0, 1]], "-@?S"],
|
|
["-", Enum_Braille_Proficiency_Level(1), [[0, 0, 1, 0, 0, 1], [0, 0, 1, 0, 0, 1], [0, 0, 1, 0, 0, 1], [0, 0, 1, 0, 0, 1]], "-@?L"],
|
|
["/", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 1, 0, 0], [0, 1, 1, 0, 1, 1]], "/@?B"],
|
|
["\\", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 1, 0, 0], [0, 1, 1, 0, 1, 1]], "\@?B"],
|
|
["[", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 1, 1, 0], [0, 1, 1, 0, 1, 1]], "[@?BPH"],
|
|
["]", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 1, 1, 0], [0, 1, 1, 0, 1, 1]], "]@?BPH"],
|
|
["<", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 1, 1, 1], [0, 1, 1, 0, 1, 1]], None],
|
|
[">", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 1, 1, 1], [0, 1, 1, 0, 1, 1]], None],
|
|
["/", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 1, 1, 1], [0, 0, 1, 1, 0, 0]], None],
|
|
["{", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 1, 0, 1], [0, 1, 1, 0, 1, 1]], None],
|
|
["}", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 1, 0, 1], [0, 1, 1, 0, 1, 1]], None],
|
|
["[", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 0, 0, 1], [0, 1, 1, 0, 1, 1]], "[@?BSQ"],
|
|
["]", Enum_Braille_Proficiency_Level(1), [[0, 1, 1, 0, 1, 1], [0, 0, 0, 0, 0, 1]], "]@?BSQ"],
|
|
["'", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 0, 0, 1], [0, 1, 1, 0, 0, 1]], "'@?BO"],
|
|
["'", Enum_Braille_Proficiency_Level(1), [[0, 1, 1, 0, 0, 1], [0, 0, 0, 0, 0, 1]], "'@?BC"],
|
|
# oldbrailledict_2 = {
|
|
# Simple Upper Wordsigns
|
|
["BUT", Enum_Braille_Proficiency_Level(2), [[1, 1, 0, 0, 0, 0]], None],
|
|
["CAN", Enum_Braille_Proficiency_Level(2), [[1, 0, 0, 1, 0, 0]], None],
|
|
["DO", Enum_Braille_Proficiency_Level(2), [[1, 0, 0, 1, 1, 0]], None],
|
|
["EVERY", Enum_Braille_Proficiency_Level(2), [[1, 0, 0, 0, 1, 0]], None],
|
|
["FROM", Enum_Braille_Proficiency_Level(2), [[1, 1, 0, 1, 0, 0]], None],
|
|
["GO", Enum_Braille_Proficiency_Level(2), [[1, 1, 0, 1, 1, 0]], None],
|
|
["HAVE", Enum_Braille_Proficiency_Level(2), [[1, 1, 0, 0, 1, 0]], None],
|
|
["JUST", Enum_Braille_Proficiency_Level(2), [[0, 1, 0, 1, 1, 0]], None],
|
|
["KNOWLEDGE", Enum_Braille_Proficiency_Level(2), [[1, 0, 1, 0, 0, 0]], None],
|
|
["LIKE", Enum_Braille_Proficiency_Level(2), [[1, 1, 1, 0, 0, 0]], None],
|
|
["MORE", Enum_Braille_Proficiency_Level(2), [[1, 0, 1, 1, 0, 0]], None],
|
|
["NOT", Enum_Braille_Proficiency_Level(2), [[1, 0, 1, 1, 1, 0]], None],
|
|
["PEOPLE", Enum_Braille_Proficiency_Level(2), [[1, 1, 1, 1, 0, 0]], None],
|
|
["QUITE", Enum_Braille_Proficiency_Level(2), [[1, 1, 1, 1, 1, 0]], None],
|
|
["RATHER", Enum_Braille_Proficiency_Level(2), [[1, 1, 1, 0, 1, 0]], None],
|
|
["SO", Enum_Braille_Proficiency_Level(2), [[0, 1, 1, 1, 0, 0]], None],
|
|
["THAT", Enum_Braille_Proficiency_Level(2), [[0, 1, 1, 1, 1, 0]], None],
|
|
["US", Enum_Braille_Proficiency_Level(2), [[1, 0, 1, 0, 0, 1]], None],
|
|
["VERY", Enum_Braille_Proficiency_Level(2), [[1, 1, 1, 0, 0, 1]], None],
|
|
["WILL", Enum_Braille_Proficiency_Level(2), [[0, 1, 0, 1, 1, 1]], None],
|
|
["IT", Enum_Braille_Proficiency_Level(2), [[1, 0, 1, 1, 0, 1]], None],
|
|
["YOU", Enum_Braille_Proficiency_Level(2), [[1, 0, 1, 1, 1, 1]], None],
|
|
["AS", Enum_Braille_Proficiency_Level(2), [[1, 0, 1, 0, 1, 1]], None],
|
|
["CHILD", Enum_Braille_Proficiency_Level(2), [[1, 0, 0, 0, 0, 1]], None],
|
|
["SHALL", Enum_Braille_Proficiency_Level(2), [[1, 0, 0, 1, 0, 1]], None],
|
|
["THIS", Enum_Braille_Proficiency_Level(2), [[1, 0, 0, 1, 1, 1]], None],
|
|
["WHICH", Enum_Braille_Proficiency_Level(2), [[1, 0, 0, 0, 1, 1]], None],
|
|
["OUT", Enum_Braille_Proficiency_Level(2), [[1, 1, 0, 0, 1, 1]], None],
|
|
["STILL", Enum_Braille_Proficiency_Level(2), [[0, 0, 1, 1, 0, 0]], None],
|
|
# Simple Upper Groupsigns
|
|
["AND", Enum_Braille_Proficiency_Level(2), [[1, 1, 1, 1, 0, 1]], None],
|
|
["FOR", Enum_Braille_Proficiency_Level(2), [[1, 1, 1, 1, 1, 1]], None],
|
|
["OF", Enum_Braille_Proficiency_Level(2), [[1, 1, 1, 0, 1, 1]], None],
|
|
["THE", Enum_Braille_Proficiency_Level(2), [[0, 1, 1, 1, 0, 1]], None],
|
|
["WITH", Enum_Braille_Proficiency_Level(2), [[0, 1, 1, 1, 1, 1]], None],
|
|
["CH", Enum_Braille_Proficiency_Level(2), [[1, 0, 0, 0, 0, 1]], None],
|
|
["GH", Enum_Braille_Proficiency_Level(2), [[1, 1, 0, 0, 0, 1]], None],
|
|
["SH", Enum_Braille_Proficiency_Level(2), [[1, 0, 0, 1, 0, 1]], None],
|
|
["TH", Enum_Braille_Proficiency_Level(2), [[1, 0, 0, 1, 1, 1]], None],
|
|
["WH", Enum_Braille_Proficiency_Level(2), [[1, 0, 0, 0, 1, 1]], None],
|
|
["ED", Enum_Braille_Proficiency_Level(2), [[1, 1, 0, 1, 0, 1]], None],
|
|
["ER", Enum_Braille_Proficiency_Level(2), [[1, 1, 0, 1, 1, 1]], None],
|
|
["OU", Enum_Braille_Proficiency_Level(2), [[1, 1, 0, 0, 1, 1]], None],
|
|
["OW", Enum_Braille_Proficiency_Level(2), [[0, 1, 0, 1, 0, 1]], None],
|
|
["ST", Enum_Braille_Proficiency_Level(2), [[0, 0, 1, 1, 0, 0]], None],
|
|
["AR", Enum_Braille_Proficiency_Level(2), [[0, 0, 1, 1, 1, 0]], None],
|
|
["ING", Enum_Braille_Proficiency_Level(2), [[0, 0, 1, 1, 0, 1]], None],
|
|
["BLE", Enum_Braille_Proficiency_Level(2), [[0, 0, 1, 1, 1, 1]], None],
|
|
# oldbrailledict_3 = {
|
|
# Lower Contractions
|
|
# Initial Groupsigns
|
|
["BE", Enum_Braille_Proficiency_Level(3), [[0, 1, 1, 0, 0, 0]], None],
|
|
["COM", Enum_Braille_Proficiency_Level(3), [[0, 0, 1, 0, 0, 1]], None],
|
|
["CON", Enum_Braille_Proficiency_Level(3), [[0, 1, 0, 0, 1, 0]], None],
|
|
["DIS", Enum_Braille_Proficiency_Level(3), [[0, 1, 0, 0, 1, 1]], None],
|
|
# Initial-Medial-Terminal Groupsigns
|
|
["EN", Enum_Braille_Proficiency_Level(3), [[0, 1, 0, 0, 0, 1]], None],
|
|
["IN", Enum_Braille_Proficiency_Level(3), [[0, 0, 1, 0, 1, 0]], None],
|
|
# Medial Groupsigns
|
|
["EA", Enum_Braille_Proficiency_Level(3), [[0, 1, 0, 0, 0, 0]], None],
|
|
["BB", Enum_Braille_Proficiency_Level(3), [[0, 1, 1, 0, 0, 0]], None],
|
|
["CC", Enum_Braille_Proficiency_Level(3), [[0, 1, 0, 0, 1, 0]], None],
|
|
["DD", Enum_Braille_Proficiency_Level(3), [[0, 1, 0, 0, 1, 1]], None],
|
|
["FF", Enum_Braille_Proficiency_Level(3), [[0, 1, 1, 0, 1, 0]], None],
|
|
["GG", Enum_Braille_Proficiency_Level(3), [[0, 1, 1, 0, 1, 1]], None],
|
|
# Wordsigns
|
|
["ENOUGH", Enum_Braille_Proficiency_Level(3), [[0, 1, 0, 0, 0, 1]], None],
|
|
["TO", Enum_Braille_Proficiency_Level(3), [[0, 1, 1, 0, 1, 0]], None],
|
|
["WERE", Enum_Braille_Proficiency_Level(3), [[0, 1, 1, 0 , 1, 1]], None],
|
|
["HIS", Enum_Braille_Proficiency_Level(3), [[0, 1, 1, 0, 0, 1]], None],
|
|
["INTO", Enum_Braille_Proficiency_Level(3), [[0, 0, 1, 0, 1, 0], [0, 1, 1, 0, 1, 0]], None], #(sequenced)
|
|
["BY", Enum_Braille_Proficiency_Level(3), [[0, 0, 1, 0, 1, 1]], None], #(sequenced)
|
|
["WAS", Enum_Braille_Proficiency_Level(3), [[0, 0 , 1, 0 , 1, 1]], None],
|
|
|
|
# Modifiers
|
|
["LET", Enum_Braille_Proficiency_Level(3), [[0, 0, 0, 0, 1, 1]], "@?LET"],
|
|
["CAPS", Enum_Braille_Proficiency_Level(3), [[0, 0, 0, 0, 0, 1]], "@?CAPS"],
|
|
["EMPH", Enum_Braille_Proficiency_Level(3), [[0, 0, 0, 1, 0, 1]], "@?EMPH"],
|
|
[" ", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 0, 0, 0]], "@?BLANK_SPACE"],
|
|
], columns=['plaintext', 'translation_proficiency_level', 'lists_dots_braille', 'search_key']) # Translation_Braille.__name__])
|
|
df.loc[df["search_key"].isnull(), "search_key"] = df["plaintext"]
|
|
return df
|
|
|
|
def get_defaults():
|
|
# return [Translation_Braille(plaintext, translation_proficiency_level, lists_dots_braille, search_key) for [plaintext, translation_proficiency_level, lists_dots_braille, search_key] in Translation_Braille.get_defaults_DataFrame()]
|
|
return pd.DataFrame(data={Translation_Braille.__name__: Translation_Braille.get_defaults_DataFrame().apply(lambda x: Translation_Braille(x[0], x[1], [Character_Braille(x[0] if index_y == 0 else '', x[2][index_y]) for index_y in range(len(x[2]))], x[3]), axis=1)})
|
|
"""
|
|
def get_defaults():
|
|
return pd.DataFrame(data={Translation_Braille.__name__: [
|
|
Character_Braille("A", Enum_Braille_Proficiency_Level(1), [[1, 0, 0, 0, 0, 0]]),
|
|
Character_Braille("B", Enum_Braille_Proficiency_Level(1), [[1, 1, 0, 0, 0, 0]]),
|
|
Character_Braille("C", Enum_Braille_Proficiency_Level(1), [[1, 0, 0, 1, 0, 0]]),
|
|
Character_Braille("D", Enum_Braille_Proficiency_Level(1), [[1, 0, 0, 1, 1, 0]]),
|
|
Character_Braille("E", Enum_Braille_Proficiency_Level(1), [[1, 0, 0, 0, 1, 0]]),
|
|
Character_Braille("F", Enum_Braille_Proficiency_Level(1), [[1, 1, 0, 1, 0, 0]]),
|
|
Character_Braille("G", Enum_Braille_Proficiency_Level(1), [[1, 1, 0, 1, 1, 0]]),
|
|
Character_Braille("H", Enum_Braille_Proficiency_Level(1), [[1, 1, 0, 0, 1, 0]]),
|
|
Character_Braille("I", Enum_Braille_Proficiency_Level(1), [[0, 1, 0, 1, 0, 0]]),
|
|
Character_Braille("J", Enum_Braille_Proficiency_Level(1), [[0, 1, 0, 1, 1, 0]]),
|
|
Character_Braille("K", Enum_Braille_Proficiency_Level(1), [[1, 0, 1, 0, 0, 0]]),
|
|
Character_Braille("L", Enum_Braille_Proficiency_Level(1), [[1, 1, 1, 0, 0, 0]]),
|
|
Character_Braille("M", Enum_Braille_Proficiency_Level(1), [[1, 0, 1, 1, 0, 0]]),
|
|
Character_Braille("N", Enum_Braille_Proficiency_Level(1), [[1, 0, 1, 1, 1, 0]]),
|
|
Character_Braille("O", Enum_Braille_Proficiency_Level(1), [[1, 0, 1, 0, 1, 0]]),
|
|
Character_Braille("P", Enum_Braille_Proficiency_Level(1), [[1, 1, 1, 1, 0, 0]]),
|
|
Character_Braille("Q", Enum_Braille_Proficiency_Level(1), [[1, 1, 1, 1, 1, 0]]),
|
|
Character_Braille("R", Enum_Braille_Proficiency_Level(1), [[1, 1, 1, 0, 1, 0]]),
|
|
Character_Braille("S", Enum_Braille_Proficiency_Level(1), [[0, 1, 1, 1, 0, 0]]),
|
|
Character_Braille("T", Enum_Braille_Proficiency_Level(1), [[0, 1, 1, 1, 1, 0]]),
|
|
Character_Braille("U", Enum_Braille_Proficiency_Level(1), [[1, 0, 1, 0, 0, 1]]),
|
|
Character_Braille("V", Enum_Braille_Proficiency_Level(1), [[1, 1, 1, 0, 0, 1]]),
|
|
Character_Braille("W", Enum_Braille_Proficiency_Level(1), [[0, 1, 0, 1, 1, 1]]),
|
|
Character_Braille("X", Enum_Braille_Proficiency_Level(1), [[1, 0, 1, 1, 0, 1]]),
|
|
Character_Braille("Y", Enum_Braille_Proficiency_Level(1), [[1, 0, 1, 1, 1, 1]]),
|
|
Character_Braille("Z", Enum_Braille_Proficiency_Level(1), [[1, 0, 1, 0, 1, 1]]),
|
|
Character_Braille('NUMBER', Enum_Braille_Proficiency_Level(1), [[0, 0, 1, 1, 1, 1]], "@?NUM"),
|
|
#" ", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 0, 0, 0]]),
|
|
Character_Braille(",", Enum_Braille_Proficiency_Level(1), [[0, 1, 0, 0, 0, 0]]),
|
|
Character_Braille(";", Enum_Braille_Proficiency_Level(1), [[0, 1, 1, 0, 0, 0]]),
|
|
Character_Braille(":", Enum_Braille_Proficiency_Level(1), [[0, 1, 0, 0, 1, 0]]),
|
|
Character_Braille(".", Enum_Braille_Proficiency_Level(1), [[0, 1, 0, 0, 1, 1]]),
|
|
Character_Braille("!", Enum_Braille_Proficiency_Level(1), [[0, 1, 1, 0, 1, 0]]),
|
|
Character_Braille("(", Enum_Braille_Proficiency_Level(1), [[0, 1, 1, 0, 1, 1]]),
|
|
Character_Braille(")", Enum_Braille_Proficiency_Level(1), [[0, 1, 1, 0, 1, 1]]),
|
|
Character_Braille("?", Enum_Braille_Proficiency_Level(1), [[0, 1, 1, 0, 0, 1]]),
|
|
Character_Braille('"', Enum_Braille_Proficiency_Level(1), [[0, 1, 1, 0, 0, 1]], '"@?BO'),
|
|
Character_Braille('"', Enum_Braille_Proficiency_Level(1), [[0, 0, 1, 0, 1, 1]], '"@?BC'),
|
|
Character_Braille("'", Enum_Braille_Proficiency_Level(1), [[0, 0, 1, 0, 0, 0]]),
|
|
Character_Braille("ABBREV", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 1, 0, 0]], "@?ABBREV1"),
|
|
Character_Braille("ABBREV", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 1, 1, 0]], "@?ABBREV2"),
|
|
Character_Braille("ABBREV", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 1, 1, 1]], "@?ABBREV3"),
|
|
Character_Braille("ABBREV", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 0, 1, 0]], "@?ABBREV4"),
|
|
Character_Braille("...", Enum_Braille_Proficiency_Level(1), [[0, 0, 1, 0, 0, 0], [0, 0, 1, 0, 0, 0], [0, 0, 1, 0, 0, 0]]),
|
|
Character_Braille("-", Enum_Braille_Proficiency_Level(1), [[0, 0, 1, 0, 0, 1]]),
|
|
Character_Braille("-", Enum_Braille_Proficiency_Level(1), [[0, 0, 1, 0, 0, 1], [0, 0, 1, 0, 0, 1]], "-@?S"),
|
|
Character_Braille("-", Enum_Braille_Proficiency_Level(1), [[0, 0, 1, 0, 0, 1], [0, 0, 1, 0, 0, 1], [0, 0, 1, 0, 0, 1], [0, 0, 1, 0, 0, 1]], "-@?L"),
|
|
Character_Braille("/", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 1, 0, 0], [0, 1, 1, 0, 1, 1]], "/@?B"),
|
|
Character_Braille("\\", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 1, 0, 0], [0, 1, 1, 0, 1, 1]], "\@?B"),
|
|
Character_Braille("[", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 1, 1, 0], [0, 1, 1, 0, 1, 1]], "[@?BPH"),
|
|
Character_Braille("]", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 1, 1, 0], [0, 1, 1, 0, 1, 1]], "]@?BPH"),
|
|
Character_Braille("<", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 1, 1, 1], [0, 1, 1, 0, 1, 1]]),
|
|
Character_Braille(">", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 1, 1, 1], [0, 1, 1, 0, 1, 1]]),
|
|
Character_Braille("/", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 1, 1, 1], [0, 0, 1, 1, 0, 0]]),
|
|
Character_Braille("{", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 1, 0, 1], [0, 1, 1, 0, 1, 1]]),
|
|
Character_Braille("}", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 1, 0, 1], [0, 1, 1, 0, 1, 1]]),
|
|
Character_Braille("[", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 0, 0, 1], [0, 1, 1, 0, 1, 1]], "[@?BSQ"),
|
|
Character_Braille("]", Enum_Braille_Proficiency_Level(1), [[0, 1, 1, 0, 1, 1], [0, 0, 0, 0, 0, 1]], "]@?BSQ"),
|
|
Character_Braille("'", Enum_Braille_Proficiency_Level(1), [[0, 0, 0, 0, 0, 1], [0, 1, 1, 0, 0, 1]], "'@?BO"),
|
|
Character_Braille("'", Enum_Braille_Proficiency_Level(1), [[0, 1, 1, 0, 0, 1], [0, 0, 0, 0, 0, 1]], "'@?BC"),
|
|
# oldbrailledict_2 = {
|
|
# Simple Upper Wordsigns
|
|
Character_Braille("BUT", Enum_Braille_Proficiency_Level(2), [[1, 1, 0, 0, 0, 0]]),
|
|
Character_Braille("CAN", Enum_Braille_Proficiency_Level(2), [[1, 0, 0, 1, 0, 0]]),
|
|
Character_Braille("DO", Enum_Braille_Proficiency_Level(2), [[1, 0, 0, 1, 1, 0]]),
|
|
Character_Braille("EVERY", Enum_Braille_Proficiency_Level(2), [[1, 0, 0, 0, 1, 0]]),
|
|
Character_Braille("FROM", Enum_Braille_Proficiency_Level(2), [[1, 1, 0, 1, 0, 0]]),
|
|
Character_Braille("GO", Enum_Braille_Proficiency_Level(2), [[1, 1, 0, 1, 1, 0]]),
|
|
Character_Braille("HAVE", Enum_Braille_Proficiency_Level(2), [[1, 1, 0, 0, 1, 0]]),
|
|
Character_Braille("JUST", Enum_Braille_Proficiency_Level(2), [[0, 1, 0, 1, 1, 0]]),
|
|
Character_Braille("KNOWLEDGE", Enum_Braille_Proficiency_Level(2), [[1, 0, 1, 0, 0, 0]]),
|
|
Character_Braille("LIKE", Enum_Braille_Proficiency_Level(2), [[1, 1, 1, 0, 0, 0]]),
|
|
Character_Braille("MORE", Enum_Braille_Proficiency_Level(2), [[1, 0, 1, 1, 0, 0]]),
|
|
Character_Braille("NOT", Enum_Braille_Proficiency_Level(2), [[1, 0, 1, 1, 1, 0]]),
|
|
Character_Braille("PEOPLE", Enum_Braille_Proficiency_Level(2), [[1, 1, 1, 1, 0, 0]]),
|
|
Character_Braille("QUITE", Enum_Braille_Proficiency_Level(2), [[1, 1, 1, 1, 1, 0]]),
|
|
Character_Braille("RATHER", Enum_Braille_Proficiency_Level(2), [[1, 1, 1, 0, 1, 0]]),
|
|
Character_Braille("SO", Enum_Braille_Proficiency_Level(2), [[0, 1, 1, 1, 0, 0]]),
|
|
Character_Braille("THAT", Enum_Braille_Proficiency_Level(2), [[0, 1, 1, 1, 1, 0]]),
|
|
Character_Braille("US", Enum_Braille_Proficiency_Level(2), [[1, 0, 1, 0, 0, 1]]),
|
|
Character_Braille("VERY", Enum_Braille_Proficiency_Level(2), [[1, 1, 1, 0, 0, 1]]),
|
|
Character_Braille("WILL", Enum_Braille_Proficiency_Level(2), [[0, 1, 0, 1, 1, 1]]),
|
|
Character_Braille("IT", Enum_Braille_Proficiency_Level(2), [[1, 0, 1, 1, 0, 1]]),
|
|
Character_Braille("YOU", Enum_Braille_Proficiency_Level(2), [[1, 0, 1, 1, 1, 1]]),
|
|
Character_Braille("AS", Enum_Braille_Proficiency_Level(2), [[1, 0, 1, 0, 1, 1]]),
|
|
Character_Braille("CHILD", Enum_Braille_Proficiency_Level(2), [[1, 0, 0, 0, 0, 1]]),
|
|
Character_Braille("SHALL", Enum_Braille_Proficiency_Level(2), [[1, 0, 0, 1, 0, 1]]),
|
|
Character_Braille("THIS", Enum_Braille_Proficiency_Level(2), [[1, 0, 0, 1, 1, 1]]),
|
|
Character_Braille("WHICH", Enum_Braille_Proficiency_Level(2), [[1, 0, 0, 0, 1, 1]]),
|
|
Character_Braille("OUT", Enum_Braille_Proficiency_Level(2), [[1, 1, 0, 0, 1, 1]]),
|
|
Character_Braille("STILL", Enum_Braille_Proficiency_Level(2), [[0, 0, 1, 1, 0, 0]]),
|
|
# Simple Upper Groupsigns
|
|
Character_Braille("AND", Enum_Braille_Proficiency_Level(2), [[1, 1, 1, 1, 0, 1]]),
|
|
Character_Braille("FOR", Enum_Braille_Proficiency_Level(2), [[1, 1, 1, 1, 1, 1]]),
|
|
Character_Braille("OF", Enum_Braille_Proficiency_Level(2), [[1, 1, 1, 0, 1, 1]]),
|
|
Character_Braille("THE", Enum_Braille_Proficiency_Level(2), [[0, 1, 1, 1, 0, 1]]),
|
|
Character_Braille("WITH", Enum_Braille_Proficiency_Level(2), [[0, 1, 1, 1, 1, 1]]),
|
|
Character_Braille("CH", Enum_Braille_Proficiency_Level(2), [[1, 0, 0, 0, 0, 1]]),
|
|
Character_Braille("GH", Enum_Braille_Proficiency_Level(2), [[1, 1, 0, 0, 0, 1]]),
|
|
Character_Braille("SH", Enum_Braille_Proficiency_Level(2), [[1, 0, 0, 1, 0, 1]]),
|
|
Character_Braille("TH", Enum_Braille_Proficiency_Level(2), [[1, 0, 0, 1, 1, 1]]),
|
|
Character_Braille("WH", Enum_Braille_Proficiency_Level(2), [[1, 0, 0, 0, 1, 1]]),
|
|
Character_Braille("ED", Enum_Braille_Proficiency_Level(2), [[1, 1, 0, 1, 0, 1]]),
|
|
Character_Braille("ER", Enum_Braille_Proficiency_Level(2), [[1, 1, 0, 1, 1, 1]]),
|
|
Character_Braille("OU", Enum_Braille_Proficiency_Level(2), [[1, 1, 0, 0, 1, 1]]),
|
|
Character_Braille("OW", Enum_Braille_Proficiency_Level(2), [[0, 1, 0, 1, 0, 1]]),
|
|
Character_Braille("ST", Enum_Braille_Proficiency_Level(2), [[0, 0, 1, 1, 0, 0]]),
|
|
Character_Braille("AR", Enum_Braille_Proficiency_Level(2), [[0, 0, 1, 1, 1, 0]]),
|
|
Character_Braille("ING", Enum_Braille_Proficiency_Level(2), [[0, 0, 1, 1, 0, 1]]),
|
|
Character_Braille("BLE", Enum_Braille_Proficiency_Level(2), [[0, 0, 1, 1, 1, 1]]),
|
|
# oldbrailledict_3 = {
|
|
# Lower Contractions
|
|
# Initial Groupsigns
|
|
Character_Braille("BE", Enum_Braille_Proficiency_Level(3), [[0, 1, 1, 0, 0, 0]]),
|
|
Character_Braille("COM", Enum_Braille_Proficiency_Level(3), [[0, 0, 1, 0, 0, 1]]),
|
|
Character_Braille("CON", Enum_Braille_Proficiency_Level(3), [[0, 1, 0, 0, 1, 0]]),
|
|
Character_Braille("DIS", Enum_Braille_Proficiency_Level(3), [[0, 1, 0, 0, 1, 1]]),
|
|
# Initial-Medial-Terminal Groupsigns
|
|
Character_Braille("EN", Enum_Braille_Proficiency_Level(3), [[0, 1, 0, 0, 0, 1]]),
|
|
Character_Braille("IN", Enum_Braille_Proficiency_Level(3), [[0, 0, 1, 0, 1, 0]]),
|
|
# Medial Groupsigns
|
|
Character_Braille("EA", Enum_Braille_Proficiency_Level(3), [[0, 1, 0, 0, 0, 0]]),
|
|
Character_Braille("BB", Enum_Braille_Proficiency_Level(3), [[0, 1, 1, 0, 0, 0]]),
|
|
Character_Braille("CC", Enum_Braille_Proficiency_Level(3), [[0, 1, 0, 0, 1, 0]]),
|
|
Character_Braille("DD", Enum_Braille_Proficiency_Level(3), [[0, 1, 0, 0, 1, 1]]),
|
|
Character_Braille("FF", Enum_Braille_Proficiency_Level(3), [[0, 1, 1, 0, 1, 0]]),
|
|
Character_Braille("GG", Enum_Braille_Proficiency_Level(3), [[0, 1, 1, 0, 1, 1]]),
|
|
# Wordsigns
|
|
Character_Braille("ENOUGH", Enum_Braille_Proficiency_Level(3), [[0, 1, 0, 0, 0, 1]]),
|
|
Character_Braille("TO", Enum_Braille_Proficiency_Level(3), [[0, 1, 1, 0, 1, 0]]),
|
|
Character_Braille("WERE", Enum_Braille_Proficiency_Level(3), [[0, 1, 1, 0 , 1, 1]]),
|
|
Character_Braille("HIS", Enum_Braille_Proficiency_Level(3), [[0, 1, 1, 0, 0, 1]]),
|
|
Character_Braille("INTO", Enum_Braille_Proficiency_Level(3), [[0, 0, 1, 0, 1, 0], [0, 1, 1, 0, 1, 0]]), #(sequenced)
|
|
Character_Braille("BY", Enum_Braille_Proficiency_Level(3), [[0, 0, 1, 0, 1, 1]]), #(sequenced)
|
|
Character_Braille("WAS", Enum_Braille_Proficiency_Level(3), [[0, 0 , 1, 0 , 1, 1]]),
|
|
|
|
# Modifiers
|
|
Character_Braille("LET", Enum_Braille_Proficiency_Level(3), [[0, 0, 0, 0, 1, 1]], "@?LET"),
|
|
Character_Braille("CAPS", Enum_Braille_Proficiency_Level(3), [[0, 0, 0, 0, 0, 1]], "@?CAPS"),
|
|
Character_Braille("EMPH", Enum_Braille_Proficiency_Level(3), [[0, 0, 0, 1, 0, 1]], "@?EMPH"),
|
|
]}, columns=[Translation_Braille.__name__])
|
|
# remove None 's - rejected inputs
|
|
valid = False
|
|
while not valid:
|
|
try:
|
|
temp_dict.remove(None)
|
|
except:
|
|
valid = True
|
|
braille_dict = pd.DataFrame([x.as_dict() for x in temp_dict]) # , columns=['key', 'level', 'msg', 'msg_prefix'])
|
|
# RETURNS
|
|
# print('Braille Dictionary Creation')
|
|
# print(f"type(temp_dict) = {type(temp_dict)}")
|
|
# print("temp_dict = ")
|
|
# for i in range(len(temp_dict)):
|
|
# print(f"{temp_dict[i]}")
|
|
# print('')
|
|
# print(f"type(braille_dict) = {type(braille_dict)}")
|
|
# print(f"braille_dict = {braille_dict}")
|
|
|
|
return braille_dict # temp_dict # braille_dict
|
|
""" |