TIMBOVILL commited on
Commit
fe609cb
1 Parent(s): 29b1ca6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -7
app.py CHANGED
@@ -11,6 +11,22 @@ def encode_message(message):
11
  encoded_message.append(char)
12
  return ' '.join(encoded_message)
13
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  # Function to reverse the letters in each word
15
  def reverse_and_encode(input_text):
16
  words = input_text.split()
@@ -19,16 +35,29 @@ def reverse_and_encode(input_text):
19
  encoded_message = encode_message(reversed_message)
20
  return encoded_message
21
 
 
 
 
 
 
 
 
 
22
  # Gradio interface
23
- def gradio_interface(input_text):
24
- return reverse_and_encode(input_text)
 
 
 
25
 
26
  # Create the Gradio interface
27
- interface = gr.Interface(fn=gradio_interface,
28
- inputs="text",
29
- outputs="text",
30
- title="Reverse and Encode",
31
- description="Enter a message to encode it using an alphabet-to-number cipher and reverse the letters in each word.")
 
 
32
 
33
  # Launch the interface
34
  interface.launch()
 
11
  encoded_message.append(char)
12
  return ' '.join(encoded_message)
13
 
14
+ # Function to decode a message from numbers
15
+ def decode_message(encoded_message):
16
+ alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
17
+ numbers = encoded_message.split()
18
+ decoded_message = []
19
+ for num in numbers:
20
+ if num.isdigit():
21
+ index = int(num) - 1
22
+ if 0 <= index < len(alphabet):
23
+ decoded_message.append(alphabet[index])
24
+ else:
25
+ decoded_message.append('?') # For numbers out of range
26
+ else:
27
+ decoded_message.append(num)
28
+ return ''.join(decoded_message)
29
+
30
  # Function to reverse the letters in each word
31
  def reverse_and_encode(input_text):
32
  words = input_text.split()
 
35
  encoded_message = encode_message(reversed_message)
36
  return encoded_message
37
 
38
+ # Function to decode and reverse the letters in each word
39
+ def reverse_and_decode(encoded_message):
40
+ decoded_message = decode_message(encoded_message)
41
+ words = decoded_message.split()
42
+ reversed_words = [word[::-1] for word in words]
43
+ reversed_message = ' '.join(reversed_words)
44
+ return reversed_message
45
+
46
  # Gradio interface
47
+ def gradio_interface(text, operation):
48
+ if operation == "Encode":
49
+ return reverse_and_encode(text)
50
+ elif operation == "Decode":
51
+ return reverse_and_decode(text)
52
 
53
  # Create the Gradio interface
54
+ interface = gr.Interface(
55
+ fn=gradio_interface,
56
+ inputs=[gr.inputs.Textbox(label="Input Text"), gr.inputs.Radio(["Encode", "Decode"], label="Operation")],
57
+ outputs="text",
58
+ title="Reverse and Encode/Decode",
59
+ description="Choose 'Encode' to reverse each word and convert it to numbers, or 'Decode' to convert from numbers back to text and reverse each word."
60
+ )
61
 
62
  # Launch the interface
63
  interface.launch()