Mpavan45 commited on
Commit
c8b54cd
·
verified ·
1 Parent(s): e107e3a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -19
app.py CHANGED
@@ -53,13 +53,13 @@ def is_telugu_text(text):
53
  cleaned_text = re.sub(r'[\u0C00-\u0C7F0-9\s\.\,\!\?]', '', text)
54
  return len(cleaned_text) == 0
55
 
56
- # Session state setup
57
  if "text_input" not in st.session_state:
58
  st.session_state.text_input = ""
59
- if "result_shown" not in st.session_state:
60
- st.session_state.result_shown = False
61
 
62
- # Examples
63
  st.subheader("Try one of the following examples:")
64
  examples = [
65
  "ఈ ఆహారం చాలా చెడుగా ఉంది",
@@ -67,7 +67,8 @@ examples = [
67
  "నేను ఈ వార్తలకు చాలా బాధపడ్డాను",
68
  "ఈ చిత్రం నాకు చాలా భయంకరంగా ఉంది",
69
  "ఈ సెల్ఫీ చాలా అందంగా ఉంది",
70
- "ఈ వాతావరణం నాకు చాలా ఉష్ణంగా ఉంది"
 
71
  ]
72
 
73
  for i in range(0, len(examples), 2):
@@ -77,26 +78,30 @@ for i in range(0, len(examples), 2):
77
  example = examples[i + j]
78
  if cols[j].button(example[:30] + "..."):
79
  st.session_state.text_input = example
80
- st.session_state.result_shown = False
 
 
 
81
 
82
- # Text Area for user input
83
- input_text = st.text_area("Enter text to analyze sentiment:", height=150)
84
 
85
  # Analyze button
86
  if st.button("Analyze Sentiment"):
 
87
  if not input_text.strip():
88
  st.warning("Please enter some text to analyze!")
89
- st.session_state.result_shown = False
90
  elif not is_telugu_text(input_text):
91
- st.error("Please enter valid **Telugu** text only.")
92
- st.session_state.result_shown = False
93
  else:
94
- st.session_state.text_input = input_text
95
- st.session_state.result_shown = True
96
 
97
- # Output
98
- if st.session_state.result_shown:
99
- result = classifier(st.session_state.text_input)
100
- raw_label = result[0]['label']
101
- sentiment, emoji = label_map.get(raw_label, (raw_label, ""))
102
- st.markdown(f'<div class="radium-label">Sentiment: {sentiment} {emoji}</div>', unsafe_allow_html=True)
 
 
 
53
  cleaned_text = re.sub(r'[\u0C00-\u0C7F0-9\s\.\,\!\?]', '', text)
54
  return len(cleaned_text) == 0
55
 
56
+ # Session state
57
  if "text_input" not in st.session_state:
58
  st.session_state.text_input = ""
59
+ if "result" not in st.session_state:
60
+ st.session_state.result = None
61
 
62
+ # Example inputs
63
  st.subheader("Try one of the following examples:")
64
  examples = [
65
  "ఈ ఆహారం చాలా చెడుగా ఉంది",
 
67
  "నేను ఈ వార్తలకు చాలా బాధపడ్డాను",
68
  "ఈ చిత్రం నాకు చాలా భయంకరంగా ఉంది",
69
  "ఈ సెల్ఫీ చాలా అందంగా ఉంది",
70
+ "ఈ వాతావరణం నాకు చాలా ఉష్ణంగా ఉంది",
71
+ "ఈ సినిమా కి 5 స్టార్ ఇచ్చాను"
72
  ]
73
 
74
  for i in range(0, len(examples), 2):
 
78
  example = examples[i + j]
79
  if cols[j].button(example[:30] + "..."):
80
  st.session_state.text_input = example
81
+ if not is_telugu_text(example):
82
+ st.session_state.result = "error"
83
+ else:
84
+ st.session_state.result = classifier(example)[0]
85
 
86
+ # Input text area
87
+ input_text = st.text_area("Enter text to analyze sentiment:", value=st.session_state.text_input, height=150)
88
 
89
  # Analyze button
90
  if st.button("Analyze Sentiment"):
91
+ st.session_state.text_input = input_text
92
  if not input_text.strip():
93
  st.warning("Please enter some text to analyze!")
94
+ st.session_state.result = None
95
  elif not is_telugu_text(input_text):
96
+ st.session_state.result = "error"
 
97
  else:
98
+ st.session_state.result = classifier(input_text)[0]
 
99
 
100
+ # Display result
101
+ if st.session_state.result:
102
+ if st.session_state.result == "error":
103
+ st.error("Please enter valid **Telugu** text only (digits allowed).")
104
+ else:
105
+ label = st.session_state.result['label']
106
+ sentiment, emoji = label_map.get(label, (label, ""))
107
+ st.markdown(f'<div class="radium-label">Sentiment: {sentiment} {emoji}</div>', unsafe_allow_html=True)