logo

scripts

Unnamed repository; edit this file 'description' to name the repository.
commit: cb2cf1b6ae8552c961e0526c70f400c4a93875ce
parent: e9d102899cc50fc41a366284579302740542a8da
Author: lanodan <lanodan.delta@free.fr>
Date:   Sat, 14 Mar 2015 23:37:38 +0100

For the luv of morse

Diffstat:

python/morse.py | 79+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 79 insertions(+), 0 deletions(-)

diff --git a/python/morse.py b/python/morse.py @@ -0,0 +1,79 @@ +def toMorseArray(s): + """Return a list of the patterns to use for s.""" + return [lookup[c] for c in s.upper()] + +def toMorseString(s): + out = ' ' + for c in s.upper(): + try: + out = str(out + lookup[c] + ' ') + except KeyError: + print('[Error] KeyError') + return out + +def fromMorse(s): + out = ' ' + for c in s.split(' '): + try: + out = str(out + inv_lookup[c]) + except KeyError: + print('[Error] KeyError') + return out + +lookup = {'!': '-.-.--', + "'": '.----.', + '"': '.-..-.', + '$': '...-..-', + '&': '.-...', + '(': '-.--.', + ')': '-.--.-', + '+': '.-.-.', + ',': '--..--', + '-': '-....-', + '.': '.-.-.-', + '/': '-..-.', + '0': '-----', + '1': '.----', + '2': '..---', + '3': '...--', + '4': '....-', + '5': '.....', + '6': '-....', + '7': '--...', + '8': '---..', + '9': '----.', + ':': '---...', + ';': '-.-.-.', + '=': '-...-', + '?': '..--..', + '@': '.--.-.', + 'A': '.-', + 'B': '-...', + 'C': '-.-.', + 'D': '-..', + 'E': '.', + 'F': '..-.', + 'G': '--.', + 'H': '....', + 'I': '..', + 'J': '.---', + 'K': '-.-', + 'L': '.-..', + 'M': '--', + 'N': '-.', + 'O': '---', + 'P': '.--.', + 'Q': '--.-', + 'R': '.-.', + 'S': '...', + 'T': '-', + 'U': '..-', + 'V': '...-', + 'W': '.--', + 'X': '-..-', + 'Y': '-.--', + 'Z': '--..', + '_': '..--.-', + ' ': ' ', + } +inv_lookup = {lookup[k] : k for k in lookup}