#!/usr/bin/python
import os, sys
from datetime import datetime, timedelta
import cx_Oracle as orcl
import
mysql . connector
as pymysql
from pprint import pprint
alarms = { 198087342 : '2G' }
db= orcl. connect( 'sys' , 'oracle' , 'minos' , mode= orcl. SYSDBA)
cursor = db. cursor( )
cursor. execute( "select position1,customattr5,to_char(alarmraisedtime_gmt,'YYYY-MM-DD HH24:MI:SS'),code from CAFFM4X.currentalarm where code in ('198087342')" )
p= cursor. fetchall( )
print p
conn = pymysql. connect( user= 'omcr' , password= 'omcr' , host= '117.239.216.50' , database= 'omcr' )
mycursor = conn. cursor( )
for j in p:
values
= [ j
[ 1 ] [ 0 : 17 ] , j
[ 1 ] [ 0 : 15 ] , j
[ 0 ] . split ( '@' ) [ - 2 ] , 'Zte' , alarms
[ j
[ 3 ] ] , datetime
. strptime
( j
[ 2 ] , '%Y-%m-%d %H:%M:%S' ) ] #bts_name=j[1].split('_')[-2]
print values
sql= ( "insert ignore into omcr.currentbtsdown_sectors(sector_name,bts_name,bsc_name,make,tech,down_time) values(%s ,%s ,%s ,%s ,%s ,%s )" )
mycursor. execute( sql, ( values) )
cursor. execute( "select position1,customattr5,to_char(alarmraisedtime_gmt,'YYYY-MM-DD HH24:MI:SS'),to_char(alarmclearedtime,'YYYY-MM-DD HH24:MI:SS'),code from CAFFM4X.historyalarm \
where code in ('198087342') and alarmclearedtime>sysdate-3/24")
outage = cursor. fetchall( )
for k in outage:
values
= [ k
[ 1 ] [ 0 : 17 ] , k
[ 1 ] [ 0 : 15 ] , k
[ 0 ] . split ( '@' ) [ - 2 ] , 'Zte' , alarms
[ k
[ 4 ] ] , datetime
. strptime
( k
[ 2 ] , '%Y-%m-%d %H:%M:%S' ) , datetime
. strptime
( k
[ 3 ] , '%Y-%m-%d %H:%M:%S' ) ] #print values
sql = ( "replace into omcr.currentbtsdown_sectors(sector_name,bts_name,bsc_name,make,tech,down_time,up_time) values(%s ,%s ,%s ,%s ,%s ,%s ,%s )" )
mycursor. execute( sql, ( values) )
conn. commit( )
conn. close( )
# your code goes here
# Instant Message Service using Python + MySQL
# Corrected Version
import os
import platform
mydb
= mysql . connector
. connect
( host= "localhost" ,
user= "root" ,
passwd= "tiger" ,
database= "service"
)
# ----------- CREATE TABLE ONLY IF NOT EXISTS -----------------
def create_table( ) :
try:
cur = mydb. cursor( )
cur. execute( "" "
CREATE TABLE IF NOT EXISTS ims(
msg_id VARCHAR(10) PRIMARY KEY,
rname VARCHAR(30),
sname VARCHAR(30),
rmail VARCHAR(50),
smail VARCHAR(50),
msg VARCHAR(250)
)
" "" )
print ( "Table Checked/Created Successfully." )
except Exception as e:
print ( "Error Creating Table:" , e)
# ---------------- ADD MESSAGE -----------------
def add_msg( ) :
cur = mydb. cursor( )
msg_id = input( "Enter Message ID: " )
rname = input( "Enter Receiver Name: " )
sname = input( "Enter Sender Name: " )
rmail = input( "Enter Receiver Email: " )
smail = input( "Enter Sender Email: " )
msg = input( "Enter Message: " )
sql = "INSERT INTO ims(msg_id,rname,sname,rmail,smail,msg) VALUES(%s ,%s ,%s ,%s ,%s ,%s )"
values = ( msg_id, rname, sname, rmail, smail, msg)
try:
cur. execute( sql, values)
mydb. commit( )
print ( "Message inserted successfully!" )
except Exception as e:
print ( "Error:" , e)
# --------------- SEARCH MESSAGE ----------------
def search_msg( ) :
cur = mydb. cursor( )
print ( "\n SEARCH BY:" )
print ( "1. Message ID" )
print ( "2. Sender Name" )
print ( "3. Receiver Name" )
print ( "4. Show ALL" )
choice = int( input( "Enter choice: " ) )
if choice == 1 :
s = input( "Enter Message ID: " )
cur. execute( "SELECT * FROM ims WHERE msg_id=%s " , ( s, ) )
elif choice == 2 :
s = input( "Enter Sender Name: " )
cur. execute( "SELECT * FROM ims WHERE sname=%s " , ( s, ) )
elif choice == 3 :
s = input( "Enter Receiver Name: " )
cur. execute( "SELECT * FROM ims WHERE rname=%s " , ( s, ) )
elif choice == 4 :
cur. execute( "SELECT * FROM ims" )
else :
print ( "Invalid Choice!" )
return
rows = cur. fetchall( )
if rows:
for r in rows:
print ( r)
else :
print ( "No records found." )
# --------------- DELETE MESSAGE ----------------
def delete_msg( ) :
cur = mydb. cursor( )
ms = input( "Enter Message ID to delete: " )
cur. execute( "DELETE FROM ims WHERE msg_id=%s " , ( ms, ) )
mydb. commit( )
if cur. rowcount > 0 :
print ( "Message deleted successfully." )
else :
print ( "Message ID not found." )
# ---------------- MAIN MENU ---------------------
def Main_Menu( ) :
while True :
print ( "\n ===== INSTANT MESSAGE SERVICE =====" )
print ( "1. Add New Message" )
print ( "2. Search Message" )
print ( "3. Delete Message" )
print ( "4. Exit" )
try:
choice = int( input( "Enter your choice: " ) )
if choice == 1 :
add_msg( )
elif choice == 2 :
search_msg( )
elif choice == 3 :
delete_msg( )
elif choice == 4 :
print ( "Exiting Program... Thanks!" )
break
else :
print ( "Invalid choice! Try again." )
except ValueError:
print ( "Enter numbers only!" )
# ---------------- RUN -------------------
create_table( )
Main_Menu( )
IyEvdXNyL2Jpbi9weXRob24KCgppbXBvcnQgb3Msc3lzCmZyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lLHRpbWVkZWx0YQppbXBvcnQgY3hfT3JhY2xlIGFzIG9yY2wKaW1wb3J0IG15c3FsLmNvbm5lY3RvciBhcyBweW15c3FsCmZyb20gcHByaW50IGltcG9ydCBwcHJpbnQKCmFsYXJtcyA9IHsxOTgwODczNDI6JzJHJ30KCmRiPW9yY2wuY29ubmVjdCgnc3lzJywnb3JhY2xlJywnbWlub3MnLG1vZGU9b3JjbC5TWVNEQkEpCmN1cnNvciA9ZGIuY3Vyc29yKCkKY3Vyc29yLmV4ZWN1dGUoInNlbGVjdCBwb3NpdGlvbjEsY3VzdG9tYXR0cjUsdG9fY2hhcihhbGFybXJhaXNlZHRpbWVfZ210LCdZWVlZLU1NLUREIEhIMjQ6TUk6U1MnKSxjb2RlIGZyb20gQ0FGRk00WC5jdXJyZW50YWxhcm0gIHdoZXJlIGNvZGUgaW4gKCcxOTgwODczNDInKSIpCnA9Y3Vyc29yLmZldGNoYWxsKCkKCnByaW50IHAKCgpjb25uID0gcHlteXNxbC5jb25uZWN0KHVzZXI9J29tY3InLHBhc3N3b3JkPSdvbWNyJyxob3N0PScxMTcuMjM5LjIxNi41MCcsZGF0YWJhc2U9J29tY3InKQpteWN1cnNvciA9IGNvbm4uY3Vyc29yKCkKCmZvciBqIGluIHA6Cgl2YWx1ZXMgPVtqWzFdWzA6MTddLGpbMV1bMDoxNV0salswXS5zcGxpdCgnQCcpWy0yXSwnWnRlJyxhbGFybXNbalszXV0sZGF0ZXRpbWUuc3RycHRpbWUoalsyXSwnJVktJW0tJWQgJUg6JU06JVMnKV0KCSNidHNfbmFtZT1qWzFdLnNwbGl0KCdfJylbLTJdCglwcmludCB2YWx1ZXMKCXNxbD0oImluc2VydCBpZ25vcmUgaW50byBvbWNyLmN1cnJlbnRidHNkb3duX3NlY3RvcnMoc2VjdG9yX25hbWUsYnRzX25hbWUsYnNjX25hbWUsbWFrZSx0ZWNoLGRvd25fdGltZSkgdmFsdWVzKCVzLCVzLCVzLCVzLCVzLCVzKSIpCiAgICAgICAgbXljdXJzb3IuZXhlY3V0ZShzcWwsKHZhbHVlcykpCgoJCmN1cnNvci5leGVjdXRlKCJzZWxlY3QgcG9zaXRpb24xLGN1c3RvbWF0dHI1LHRvX2NoYXIoYWxhcm1yYWlzZWR0aW1lX2dtdCwnWVlZWS1NTS1ERCBISDI0Ok1JOlNTJyksdG9fY2hhcihhbGFybWNsZWFyZWR0aW1lLCdZWVlZLU1NLUREIEhIMjQ6TUk6U1MnKSxjb2RlIGZyb20gQ0FGRk00WC5oaXN0b3J5YWxhcm0gIFwKd2hlcmUgY29kZSBpbiAoJzE5ODA4NzM0MicpIGFuZCBhbGFybWNsZWFyZWR0aW1lPnN5c2RhdGUtMy8yNCIpCgpvdXRhZ2UgPSBjdXJzb3IuZmV0Y2hhbGwoKQoKZm9yIGsgaW4gb3V0YWdlOgoJdmFsdWVzID1ba1sxXVswOjE3XSxrWzFdWzA6MTVdLGtbMF0uc3BsaXQoJ0AnKVstMl0sJ1p0ZScsYWxhcm1zW2tbNF1dLGRhdGV0aW1lLnN0cnB0aW1lKGtbMl0sJyVZLSVtLSVkICVIOiVNOiVTJyksZGF0ZXRpbWUuc3RycHRpbWUoa1szXSwnJVktJW0tJWQgJUg6JU06JVMnKV0KCSNwcmludCB2YWx1ZXMKCXNxbCA9ICgicmVwbGFjZSBpbnRvIG9tY3IuY3VycmVudGJ0c2Rvd25fc2VjdG9ycyhzZWN0b3JfbmFtZSxidHNfbmFtZSxic2NfbmFtZSxtYWtlLHRlY2gsZG93bl90aW1lLHVwX3RpbWUpIHZhbHVlcyglcywlcywlcywlcywlcywlcywlcykiKQoJbXljdXJzb3IuZXhlY3V0ZShzcWwsKHZhbHVlcykpCgoKY29ubi5jb21taXQoKQpjb25uLmNsb3NlKCkKIyB5b3VyIGNvZGUgZ29lcyBoZXJlCgoKIyBJbnN0YW50IE1lc3NhZ2UgU2VydmljZSB1c2luZyBQeXRob24gKyBNeVNRTAojIENvcnJlY3RlZCBWZXJzaW9uCgppbXBvcnQgb3MKaW1wb3J0IHBsYXRmb3JtCmltcG9ydCBteXNxbC5jb25uZWN0b3IKCm15ZGIgPSBteXNxbC5jb25uZWN0b3IuY29ubmVjdCgKICAgIGhvc3Q9ImxvY2FsaG9zdCIsCiAgICB1c2VyPSJyb290IiwKICAgIHBhc3N3ZD0idGlnZXIiLAogICAgZGF0YWJhc2U9InNlcnZpY2UiCikKCiMgLS0tLS0tLS0tLS0gQ1JFQVRFIFRBQkxFIE9OTFkgSUYgTk9UIEVYSVNUUyAtLS0tLS0tLS0tLS0tLS0tLQoKZGVmIGNyZWF0ZV90YWJsZSgpOgogICAgdHJ5OgogICAgICAgIGN1ciA9IG15ZGIuY3Vyc29yKCkKICAgICAgICBjdXIuZXhlY3V0ZSgiIiIKICAgICAgICAgICAgQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgaW1zKAogICAgICAgICAgICAgICAgbXNnX2lkIFZBUkNIQVIoMTApIFBSSU1BUlkgS0VZLAogICAgICAgICAgICAgICAgcm5hbWUgVkFSQ0hBUigzMCksCiAgICAgICAgICAgICAgICBzbmFtZSBWQVJDSEFSKDMwKSwKICAgICAgICAgICAgICAgIHJtYWlsIFZBUkNIQVIoNTApLAogICAgICAgICAgICAgICAgc21haWwgVkFSQ0hBUig1MCksCiAgICAgICAgICAgICAgICBtc2cgICBWQVJDSEFSKDI1MCkKICAgICAgICAgICAgKQogICAgICAgICIiIikKICAgICAgICBwcmludCgiVGFibGUgQ2hlY2tlZC9DcmVhdGVkIFN1Y2Nlc3NmdWxseS4iKQogICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgogICAgICAgIHByaW50KCJFcnJvciBDcmVhdGluZyBUYWJsZToiLCBlKQoKIyAtLS0tLS0tLS0tLS0tLS0tIEFERCBNRVNTQUdFIC0tLS0tLS0tLS0tLS0tLS0tCgpkZWYgYWRkX21zZygpOgogICAgY3VyID0gbXlkYi5jdXJzb3IoKQogICAgbXNnX2lkID0gaW5wdXQoIkVudGVyIE1lc3NhZ2UgSUQ6ICIpCiAgICBybmFtZSAgPSBpbnB1dCgiRW50ZXIgUmVjZWl2ZXIgTmFtZTogIikKICAgIHNuYW1lICA9IGlucHV0KCJFbnRlciBTZW5kZXIgTmFtZTogIikKICAgIHJtYWlsICA9IGlucHV0KCJFbnRlciBSZWNlaXZlciBFbWFpbDogIikKICAgIHNtYWlsICA9IGlucHV0KCJFbnRlciBTZW5kZXIgRW1haWw6ICIpCiAgICBtc2cgICAgPSBpbnB1dCgiRW50ZXIgTWVzc2FnZTogIikKCiAgICBzcWwgPSAiSU5TRVJUIElOVE8gaW1zKG1zZ19pZCxybmFtZSxzbmFtZSxybWFpbCxzbWFpbCxtc2cpIFZBTFVFUyglcywlcywlcywlcywlcywlcykiCiAgICB2YWx1ZXMgPSAobXNnX2lkLCBybmFtZSwgc25hbWUsIHJtYWlsLCBzbWFpbCwgbXNnKQoKICAgIHRyeToKICAgICAgICBjdXIuZXhlY3V0ZShzcWwsIHZhbHVlcykKICAgICAgICBteWRiLmNvbW1pdCgpCiAgICAgICAgcHJpbnQoIk1lc3NhZ2UgaW5zZXJ0ZWQgc3VjY2Vzc2Z1bGx5ISIpCiAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgcHJpbnQoIkVycm9yOiIsIGUpCgojIC0tLS0tLS0tLS0tLS0tLSBTRUFSQ0ggTUVTU0FHRSAtLS0tLS0tLS0tLS0tLS0tCgpkZWYgc2VhcmNoX21zZygpOgogICAgY3VyID0gbXlkYi5jdXJzb3IoKQogICAgcHJpbnQoIlxuU0VBUkNIIEJZOiIpCiAgICBwcmludCgiMS4gTWVzc2FnZSBJRCIpCiAgICBwcmludCgiMi4gU2VuZGVyIE5hbWUiKQogICAgcHJpbnQoIjMuIFJlY2VpdmVyIE5hbWUiKQogICAgcHJpbnQoIjQuIFNob3cgQUxMIikKICAgIGNob2ljZSA9IGludChpbnB1dCgiRW50ZXIgY2hvaWNlOiAiKSkKCiAgICBpZiBjaG9pY2UgPT0gMToKICAgICAgICBzID0gaW5wdXQoIkVudGVyIE1lc3NhZ2UgSUQ6ICIpCiAgICAgICAgY3VyLmV4ZWN1dGUoIlNFTEVDVCAqIEZST00gaW1zIFdIRVJFIG1zZ19pZD0lcyIsIChzLCkpCgogICAgZWxpZiBjaG9pY2UgPT0gMjoKICAgICAgICBzID0gaW5wdXQoIkVudGVyIFNlbmRlciBOYW1lOiAiKQogICAgICAgIGN1ci5leGVjdXRlKCJTRUxFQ1QgKiBGUk9NIGltcyBXSEVSRSBzbmFtZT0lcyIsIChzLCkpCgogICAgZWxpZiBjaG9pY2UgPT0gMzoKICAgICAgICBzID0gaW5wdXQoIkVudGVyIFJlY2VpdmVyIE5hbWU6ICIpCiAgICAgICAgY3VyLmV4ZWN1dGUoIlNFTEVDVCAqIEZST00gaW1zIFdIRVJFIHJuYW1lPSVzIiwgKHMsKSkKCiAgICBlbGlmIGNob2ljZSA9PSA0OgogICAgICAgIGN1ci5leGVjdXRlKCJTRUxFQ1QgKiBGUk9NIGltcyIpCgogICAgZWxzZToKICAgICAgICBwcmludCgiSW52YWxpZCBDaG9pY2UhIikKICAgICAgICByZXR1cm4KCiAgICByb3dzID0gY3VyLmZldGNoYWxsKCkKCiAgICBpZiByb3dzOgogICAgICAgIGZvciByIGluIHJvd3M6CiAgICAgICAgICAgIHByaW50KHIpCiAgICBlbHNlOgogICAgICAgIHByaW50KCJObyByZWNvcmRzIGZvdW5kLiIpCgojIC0tLS0tLS0tLS0tLS0tLSBERUxFVEUgTUVTU0FHRSAtLS0tLS0tLS0tLS0tLS0tCgpkZWYgZGVsZXRlX21zZygpOgogICAgY3VyID0gbXlkYi5jdXJzb3IoKQogICAgbXMgPSBpbnB1dCgiRW50ZXIgTWVzc2FnZSBJRCB0byBkZWxldGU6ICIpCiAgICBjdXIuZXhlY3V0ZSgiREVMRVRFIEZST00gaW1zIFdIRVJFIG1zZ19pZD0lcyIsIChtcywpKQogICAgbXlkYi5jb21taXQoKQoKICAgIGlmIGN1ci5yb3djb3VudCA+IDA6CiAgICAgICAgcHJpbnQoIk1lc3NhZ2UgZGVsZXRlZCBzdWNjZXNzZnVsbHkuIikKICAgIGVsc2U6CiAgICAgICAgcHJpbnQoIk1lc3NhZ2UgSUQgbm90IGZvdW5kLiIpCgojIC0tLS0tLS0tLS0tLS0tLS0gTUFJTiBNRU5VIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKZGVmIE1haW5fTWVudSgpOgogICAgd2hpbGUgVHJ1ZToKICAgICAgICBwcmludCgiXG49PT09PSBJTlNUQU5UIE1FU1NBR0UgU0VSVklDRSA9PT09PSIpCiAgICAgICAgcHJpbnQoIjEuIEFkZCBOZXcgTWVzc2FnZSIpCiAgICAgICAgcHJpbnQoIjIuIFNlYXJjaCBNZXNzYWdlIikKICAgICAgICBwcmludCgiMy4gRGVsZXRlIE1lc3NhZ2UiKQogICAgICAgIHByaW50KCI0LiBFeGl0IikKCiAgICAgICAgdHJ5OgogICAgICAgICAgICBjaG9pY2UgPSBpbnQoaW5wdXQoIkVudGVyIHlvdXIgY2hvaWNlOiAiKSkKCiAgICAgICAgICAgIGlmIGNob2ljZSA9PSAxOgogICAgICAgICAgICAgICAgYWRkX21zZygpCiAgICAgICAgICAgIGVsaWYgY2hvaWNlID09IDI6CiAgICAgICAgICAgICAgICBzZWFyY2hfbXNnKCkKICAgICAgICAgICAgZWxpZiBjaG9pY2UgPT0gMzoKICAgICAgICAgICAgICAgIGRlbGV0ZV9tc2coKQogICAgICAgICAgICBlbGlmIGNob2ljZSA9PSA0OgogICAgICAgICAgICAgICAgcHJpbnQoIkV4aXRpbmcgUHJvZ3JhbS4uLiBUaGFua3MhIikKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBwcmludCgiSW52YWxpZCBjaG9pY2UhIFRyeSBhZ2Fpbi4iKQogICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgogICAgICAgICAgICBwcmludCgiRW50ZXIgbnVtYmVycyBvbmx5ISIpCgojIC0tLS0tLS0tLS0tLS0tLS0gUlVOIC0tLS0tLS0tLS0tLS0tLS0tLS0KCmNyZWF0ZV90YWJsZSgpCk1haW5fTWVudSgpCg==
stdout
import os,sys
from datetime import datetime,timedelta
import cx_Oracle as orcl
import mysql.connector as pymysql
from pprint import pprint
alarms = {198087342:'2G'}
db=orcl.connect('sys','oracle','minos',mode=orcl.SYSDBA)
cursor =db.cursor()
cursor.execute("select position1,customattr5,to_char(alarmraisedtime_gmt,'YYYY-MM-DD HH24:MI:SS'),code from CAFFM4X.currentalarm where code in ('198087342')")
p=cursor.fetchall()
print p
conn = pymysql.connect(user='omcr',password='omcr',host='117.239.216.50',database='omcr')
mycursor = conn.cursor()
for j in p:
values =[j[1][0:17],j[1][0:15],j[0].split('@')[-2],'Zte',alarms[j[3]],datetime.strptime(j[2],'%Y-%m-%d %H:%M:%S')]
#bts_name=j[1].split('_')[-2]
print values
sql=("insert ignore into omcr.currentbtsdown_sectors(sector_name,bts_name,bsc_name,make,tech,down_time) values(%s,%s,%s,%s,%s,%s)")
mycursor.execute(sql,(values))
cursor.execute("select position1,customattr5,to_char(alarmraisedtime_gmt,'YYYY-MM-DD HH24:MI:SS'),to_char(alarmclearedtime,'YYYY-MM-DD HH24:MI:SS'),code from CAFFM4X.historyalarm \
where code in ('198087342') and alarmclearedtime>sysdate-3/24")
outage = cursor.fetchall()
for k in outage:
values =[k[1][0:17],k[1][0:15],k[0].split('@')[-2],'Zte',alarms[k[4]],datetime.strptime(k[2],'%Y-%m-%d %H:%M:%S'),datetime.strptime(k[3],'%Y-%m-%d %H:%M:%S')]
#print values
sql = ("replace into omcr.currentbtsdown_sectors(sector_name,bts_name,bsc_name,make,tech,down_time,up_time) values(%s,%s,%s,%s,%s,%s,%s)")
mycursor.execute(sql,(values))
conn.commit()
conn.close()
# your code goes here
# Instant Message Service using Python + MySQL
# Corrected Version
import os
import platform
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="root",
passwd="tiger",
database="service"
)
# ----------- CREATE TABLE ONLY IF NOT EXISTS -----------------
def create_table():
try:
cur = mydb.cursor()
cur.execute("""
CREATE TABLE IF NOT EXISTS ims(
msg_id VARCHAR(10) PRIMARY KEY,
rname VARCHAR(30),
sname VARCHAR(30),
rmail VARCHAR(50),
smail VARCHAR(50),
msg VARCHAR(250)
)
""")
print("Table Checked/Created Successfully.")
except Exception as e:
print("Error Creating Table:", e)
# ---------------- ADD MESSAGE -----------------
def add_msg():
cur = mydb.cursor()
msg_id = input("Enter Message ID: ")
rname = input("Enter Receiver Name: ")
sname = input("Enter Sender Name: ")
rmail = input("Enter Receiver Email: ")
smail = input("Enter Sender Email: ")
msg = input("Enter Message: ")
sql = "INSERT INTO ims(msg_id,rname,sname,rmail,smail,msg) VALUES(%s,%s,%s,%s,%s,%s)"
values = (msg_id, rname, sname, rmail, smail, msg)
try:
cur.execute(sql, values)
mydb.commit()
print("Message inserted successfully!")
except Exception as e:
print("Error:", e)
# --------------- SEARCH MESSAGE ----------------
def search_msg():
cur = mydb.cursor()
print("\nSEARCH BY:")
print("1. Message ID")
print("2. Sender Name")
print("3. Receiver Name")
print("4. Show ALL")
choice = int(input("Enter choice: "))
if choice == 1:
s = input("Enter Message ID: ")
cur.execute("SELECT * FROM ims WHERE msg_id=%s", (s,))
elif choice == 2:
s = input("Enter Sender Name: ")
cur.execute("SELECT * FROM ims WHERE sname=%s", (s,))
elif choice == 3:
s = input("Enter Receiver Name: ")
cur.execute("SELECT * FROM ims WHERE rname=%s", (s,))
elif choice == 4:
cur.execute("SELECT * FROM ims")
else:
print("Invalid Choice!")
return
rows = cur.fetchall()
if rows:
for r in rows:
print(r)
else:
print("No records found.")
# --------------- DELETE MESSAGE ----------------
def delete_msg():
cur = mydb.cursor()
ms = input("Enter Message ID to delete: ")
cur.execute("DELETE FROM ims WHERE msg_id=%s", (ms,))
mydb.commit()
if cur.rowcount > 0:
print("Message deleted successfully.")
else:
print("Message ID not found.")
# ---------------- MAIN MENU ---------------------
def Main_Menu():
while True:
print("\n===== INSTANT MESSAGE SERVICE =====")
print("1. Add New Message")
print("2. Search Message")
print("3. Delete Message")
print("4. Exit")
try:
choice = int(input("Enter your choice: "))
if choice == 1:
add_msg()
elif choice == 2:
search_msg()
elif choice == 3:
delete_msg()
elif choice == 4:
print("Exiting Program... Thanks!")
break
else:
print("Invalid choice! Try again.")
except ValueError:
print("Enter numbers only!")
# ---------------- RUN -------------------
create_table()
Main_Menu()