Skip to content

CrazyFlyKite/MorseCodePy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

License

Requirements

Python Version pygame Version

Introduction

MorseCodePy is a versatile Python library that streamlines the encoding and decoding of text into Morse code and back. With support for multiple languages, including English, Russian, Ukrainian,Spanish, French, as well as provisions for handling numbers and other special characters. This library offers a powerful and user-friendly Morse code tool.


Usage

encode(string, /, language, *, dot, dash, error)

Encode a text string into Morse code.

  • string: The text string you want to encode.
  • language: The target language for encoding ( e.g., english, french, spanish, russian, ukrainian, numbers, special).
  • dot: (optional) Symbol to represent dots (default is .).
  • dash: (optional) Symbol to represent dashes (default is -).
  • error: (optional) Symbol to represent errors when an unknown character is encountered (default is *).
from MorseCodePy import encode

# Encoding a simple English sentence
encoded_string: str = encode('Python is fun!', language='english')
print(encoded_string)
# Output: .--. -.-- - .... --- -. / .. ... / ..-. ..- -. -.-.--
from MorseCodePy import encode

# Encoding a Ukrainian sentence with custom dot and dash symbols and unsupported characters
encoded_string: str = encode('Привіт, світ! Ø', language='ukrainian', dot='*', dash='=', error='#')
print(encoded_string)
# Output: *==* *=* =*== *== ** = ==**== / *** *== ** = =*=*== / #

decode(code, /, language, *, dot, dash, error)

Decode Morse code into a text string.

  • code: The Morse code string you want to decode.
  • language: The target language for decoding ( e.g., english, french, spanish, russian, ukrainian, numbers, special).
  • dot: (optional) Symbol to represent dots (default is .).
  • dash: (optional) Symbol to represent dashes (default is -).
  • error: (optional) Symbol to represent errors when an unknown Morse code sequence is encountered (default is *).
from MorseCodePy import decode

# Decoding Morse code to Spanish text
decoded_string: str = decode('-- --- .-. ... . / -.-. --- -.. .', language='spanish')
print(decoded_string)
# Output: morse code
from MorseCodePy import decode

# Decoding Morse code numbers with custom symbols
decoded_string: str = decode('****- **--- / *---- -----', language='numbers', dot='*', error='#')
print(decoded_string)
# Output: 42 10

chart(*, dot, dash)

Print a Morse code chart in the console.

  • dot: (optional) Symbol to represent dots (default is ·).
  • dash: (optional) Symbol to represent dashes (default is -).
from MorseCodePy import chart

chart(dot='·')  # Try it yourself :)

Command Lines

MorseCodePy also offers terminal commands! You can perform encoding, decoding, view a Morse code chart, list supported languages, and more directly from the terminal. All the commands are very similar to the original Python function, so I recommend to read the documentation for them first.

encode

Encode text into Morse code

Command: morsecodepy encode <text> <language> [--dot DOT] [--dash DASH] [--separator SEPARATOR] [--error ERROR]

morsecodepy encode "Python is fun!" english

decode

Decode Morse code into text

Command: morsecodepy decode <code> <language> [--dot DOT] [--dash DASH] [--separator SEPARATOR] [--error ERROR]

morsecodepy decode "-- --- .-. ... . / -.-. --- -.. ." spanish

chart

Print out the code chart

Command: morsecodepy chart [--dot DOT] [--dash DASH]

morsecodepy chart --dot '*' --dash '='

languages

Print out the list of supported languages

Command: morsecodepy languages


Contact

Releases

No releases published

Packages

No packages published

Languages