def db_connect(button): if user_info.mysql == True: import mysqlDB as sqlDB # for MySQL user_info.db_obj = sqlDB.MYsql() elif user_info.psql == True: import psqlDB as sqlDB # for PostgreSQL user_info.db_obj = sqlDB.Psql() if (user_info.db_name and user_info.db_uname): # connect to the db user_info.db_conn = user_info.db_obj.connectdb( user_info.db_name, user_info.db_uname, user_info.db_pw) # if connection error returned if user_info.db_conn == -1: db_error_box.original_widget = urwid.AttrMap( urwid.Text( u" Incorrect username, database name, or password.\n Please try again" ), 'error', 'error') # if good connection returned else: #build out and show the main app view on the screen mainview.show_main_view(frame, body, user_info) else: db_error_box.original_widget = urwid.AttrMap( urwid.Text(u" Please enter your username and database name"), 'error', 'error')
def db_connect(button): if user_info.mysql == True: import mysqlDB as sqlDB # for MySQL user_info.db_obj = sqlDB.MYsql() elif user_info.psql == True: import psqlDB as sqlDB # for PostgreSQL user_info.db_obj = sqlDB.Psql() if (user_info.db_name and user_info.db_uname): # connect to the db user_info.db_conn = user_info.db_obj.connectdb(user_info.db_name, user_info.db_uname, user_info.db_pw) # if connection error returned if user_info.db_conn == -1: db_error_box.original_widget = urwid.AttrMap( urwid.Text (u" Incorrect username, database name, or password.\n Please try again"), 'error', 'error') # if good connection returned else: #build out and show the main app view on the screen mainview.show_main_view(frame, body, user_info) else: db_error_box.original_widget = urwid.AttrMap( urwid.Text (u" Please enter your username and database name"), 'error', 'error')
def create_table(): table_info.query_string += '\n);' #run query query_status = user_info.db_obj.runquery(user_info.db_conn, table_info.query_string, False) if query_status['success']: #query was successful, show success message and change view frame.footer = urwid.AttrWrap( urwid.Text(u" Table created successfully"), 'header') mainview.show_main_view(frame, body, user_info) else: #query failed, show error message error_box.original_widget = urwid.AttrWrap( urwid.Text([ u"Query Failed. Select 'Try Again' below to re-enter attribute information, or 'Create Table' above to start over.\n\n", query_status['data'], "\nQUERY: ", table_info.query_string ]), 'error') #if attributes = 1, next button will still be there if table_info.table_fields == 1: attribute_box.focus_position = 2 atr_next_btn.original_widget = urwid.AttrWrap( urwid.Text(u""), 'main_sel') #clear out create table button and make it try again button table_create_btn.original_widget = urwid.AttrWrap( urwid.Button(u"Try Again", try_again), 'main_sel', 'main_self')
def rename_btn_press(button): #make sure new name has been entered in if edit_info.rename_name == "": #show error for blank entry text_error.original_widget = urwid.AttrWrap( urwid.Text(u"Enter in a table name."), 'error') else: #sql function to rename table status = user_info.db_obj.rename_table(user_info.db_conn, tablename, edit_info.rename_name) if status == 1: #show success message in frame footer frame.footer = urwid.AttrWrap( urwid.Text([ u" Table ", tablename, " renamed to ", edit_info.rename_name ]), 'header') #redirect to main view to reload new table name mainview.show_main_view(frame, body, user_info) else: #show error message text_error.original_widget = urwid.AttrWrap( urwid.Text(status), 'error')
def yes_drop(button): #execute the drop query status = user_info.db_obj.drop_table(user_info.db_conn, tablebutton.get_label()) if status == 1: #show success message in frame footer frame.footer = urwid.AttrWrap( urwid.Text([u" Table ",tablebutton.get_label() , " successfully dropped"]), 'header') #redirect to main view mainview.show_main_view(frame, body, user_info) else: text_error.original_widget = urwid.AttrWrap( urwid.Text(status), 'error')
def yes_drop(button): #execute the drop query status = user_info.db_obj.drop_table(user_info.db_conn, tablebutton.get_label()) if status == 1: #show success message in frame footer frame.footer = urwid.AttrWrap( urwid.Text([ u" Table ", tablebutton.get_label(), " successfully dropped" ]), 'header') #redirect to main view mainview.show_main_view(frame, body, user_info) else: text_error.original_widget = urwid.AttrWrap( urwid.Text(status), 'error')
def rename_btn_press(button): # make sure new name has been entered in if edit_info.rename_name == "": # show error for blank entry text_error.original_widget = urwid.AttrWrap(urwid.Text(u"Enter in a table name."), "error") else: # sql function to rename table status = user_info.db_obj.rename_table(user_info.db_conn, tablename, edit_info.rename_name) if status == 1: # show success message in frame footer frame.footer = urwid.AttrWrap( urwid.Text([u" Table ", tablename, " renamed to ", edit_info.rename_name]), "header" ) # redirect to main view to reload new table name mainview.show_main_view(frame, body, user_info) else: # show error message text_error.original_widget = urwid.AttrWrap(urwid.Text(status), "error")
def create_table(): table_info.query_string += '\n);' #run query query_status = user_info.db_obj.runquery(user_info.db_conn, table_info.query_string, False) if query_status['success']: #query was successful, show success message and change view frame.footer = urwid.AttrWrap( urwid.Text(u" Table created successfully"), 'header') mainview.show_main_view(frame, body, user_info) else: #query failed, show error message error_box.original_widget = urwid.AttrWrap( urwid.Text( [u"Query Failed. Select 'Try Again' below to re-enter attribute information, or 'Create Table' above to start over.\n\n", query_status['data'], "\nQUERY: ", table_info.query_string]), 'error') #if attributes = 1, next button will still be there if table_info.table_fields == 1: attribute_box.focus_position = 2 atr_next_btn.original_widget = urwid.AttrWrap( urwid.Text(u""), 'main_sel') #clear out create table button and make it try again button table_create_btn.original_widget = urwid.AttrWrap( urwid.Button(u"Try Again", try_again), 'main_sel', 'main_self')
def run_btn_press(button): #clear out any previous error messages text_error.original_widget = urwid.AttrWrap( urwid.Text(u""), 'body') #clear out any previous data results select_results.original_widget = urwid.Text(u"") if query_info.query_text != None: #convert string to all uppercase to search for select query_copy = query_info.query_text.upper() #identify if query string is a select query select = False if 'SELECT' in query_copy: select = True #run query query_info.query_status = user_info.db_obj.runquery(user_info.db_conn, query_info.query_text, select) if query_info.query_status['success'] == True: if select: if query_info.query_status['data']: #query was a select query and has data, show select data show_select_results(query_info.query_status['data'], query_info.query_text) else: text_error.original_widget = urwid.AttrWrap( urwid.Text([u" SELECT query did not return any data", "\n QUERY: ", query_info.query_text]), 'error') else: #show success message frame.footer = urwid.AttrWrap(urwid.Text(u" Query executed successfully"), 'header') #reload main view. this updates tables list if table was created mainview.show_main_view(frame, body, user_info) else: text_error.original_widget = urwid.AttrWrap( urwid.Text(query_info.query_status['data']), 'error') else: text_error.original_widget = urwid.AttrWrap( urwid.Text(u" You have enter in a query."), 'error')