Ejemplo n.º 1
0
    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')
Ejemplo n.º 2
0
  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')
Ejemplo n.º 3
0
    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')
Ejemplo n.º 4
0
    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')
Ejemplo n.º 5
0
  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')
Ejemplo n.º 6
0
    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')
Ejemplo n.º 7
0
    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")
Ejemplo n.º 8
0
  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')
Ejemplo n.º 9
0
  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')