def navigate(data, x, y, screen):
        if x == 0 and y == 0:
            ScreenManager.throw(screen, "Naviagte with arrow keys and press q to exit")

        screen.clear()
        screen.keypad(1)
        active = tableDisplay.organize(data, x, y, screen)
        dim = screen.getmaxyx()
        screen.addstr(0, 0, active[0], curses.A_BOLD)
        for i in range(dim[0]-1):
            try:
                screen.addstr(i+1, 0, active[i+1])
            except:
                pass
        screen.refresh()
        choice = screen.getch()
        if choice == curses.KEY_LEFT:
            if x != 0:
                return tableDisplay.navigate(data, x-1, y, screen)
            else:
                return tableDisplay.navigate(data, x, y, screen)
        if choice == curses.KEY_RIGHT:
            return tableDisplay.navigate(data, x+1, y, screen)
        if choice == curses.KEY_DOWN:
            return tableDisplay.navigate(data, x, y+1, screen)
        if choice == curses.KEY_UP:
            if y != 0:
                return tableDisplay.navigate(data, x, y-1, screen)
            else:
                return tableDisplay.navigate(data, x, y, screen)
        if choice == ord('q'):
            return
        else:
            return tableDisplay.navigate(data, x, y, screen)
Example #2
0
 def create_database(self, name):
     to_query = "SELECT 1 FROM pg_database WHERE datname = \'%s\'" % (name)
     database_exists = query.query(to_query, 'postgres', self.screen, None, None, self.username, self.password)
     if database_exists[1]:
         ScreenManager.throw(self.screen, 'Database already exists.')
         return False
     else:
         db_creation_query = "CREATE DATABASE " + name 
         if query.query(db_creation_query, 'postgres', self.screen, 0, None, self.username, self.password) == -1:
             ScreenManager.throw(self.screen, "An error prevented database creation.")
             return False
         return True
Example #3
0
    def create_user(self):
        self.screen_manager.display_mid('Please enter your desired Username: '******'Please enter your desired Password: '******'%s\'" % self.username
        rows = query.query(to_query, 'postgres', self.screen)

        if rows[1]:
            ScreenManager.throw(self.screen, 'Username already in use.')
            return LoginScreen.create_user(self)
        else:
            to_query = "CREATE USER %s WITH CREATEDB PASSWORD \'%s\'" % (
                self.username, self.password)
            if query.query(to_query, 'postgres', self.screen) == -1:
                ScreenManager.throw(self.screen,
                                    "An error prevented user creation.")
                return False
            to_query = "CREATE DATABASE %s_default" % (self.username)
            if query.query(to_query, 'postgres', self.screen, 0) == -1:
                ScreenManager.throw(
                    self.screen,
                    "An error occured during user default database creation.")
                return False
            to_query = "ALTER DATABASE %s_default owner to %s" % (
                self.username, self.username)
            if query.query(to_query, 'postgres', self.screen) == -1:
                ScreenManager.throw(
                    self.screen,
                    "An error occured while assigning new user to default database."
                )
                return False

            return True
    def create_user(self):
        self.screen_manager.display_mid('Please enter your desired Username: '******'Please enter your desired Password: '******'%s\'" % self.username
        rows = query.query(to_query, 'postgres', self.screen)
        
        if rows[1]:
            ScreenManager.throw(self.screen, 'Username already in use.')
            return LoginScreen.create_user(self)
        else:
            to_query = "CREATE USER %s WITH CREATEDB PASSWORD \'%s\'" % (self.username, self.password)
            if query.query(to_query, 'postgres', self.screen) == -1:
                ScreenManager.throw(self.screen, "An error prevented user creation.")
                return False
            to_query = "CREATE DATABASE %s_default" % (self.username)
            if query.query(to_query, 'postgres', self.screen, 0) == -1:
                ScreenManager.throw(self.screen, "An error occured during user default database creation.")
                return False
            to_query = "ALTER DATABASE %s_default owner to %s" % (self.username, self.username)
            if query.query(to_query, 'postgres', self.screen) == -1:
                ScreenManager.throw(self.screen, "An error occured while assigning new user to default database.")
                return False

            return True
 def createTable(self, dbname):
     self.screen_manager.set_cursor_visible()
     curses.echo()
     self.screen_manager.display_mid("Please enter a name for the new table: ")
     new_table_name = self.screen_manager.screen.getstr()
     self.screen.clear()
     
     table_creation_query = "CREATE TABLE IF NOT EXISTS " + new_table_name + "(ID INT PRIMARY KEY      NOT NULL);" 
     if query.query(table_creation_query, dbname, self.screen, 0, None, self.username, self.password) == -1:
         ScreenManager.throw(self.screen, "An error prevented table creation.")
     else:
         self.screen_manager.display_mid("Table successfully created!")
         self.screen_manager.screen.getstr()
     self.screen.clear()
Example #6
0
    def createTable(self, dbname):
        self.screen_manager.set_cursor_visible()
        curses.echo()
        self.screen_manager.display_mid(
            "Please enter a name for the new table: ")
        new_table_name = self.screen_manager.screen.getstr()
        self.screen.clear()

        table_creation_query = "CREATE TABLE IF NOT EXISTS " + new_table_name + "(ID INT PRIMARY KEY      NOT NULL);"
        if query.query(table_creation_query, dbname, self.screen, 0, None,
                       self.username, self.password) == -1:
            ScreenManager.throw(self.screen,
                                "An error prevented table creation.")
        else:
            self.screen_manager.display_mid("Table successfully created!")
            self.screen_manager.screen.getstr()
        self.screen.clear()
Example #7
0
 def copy_database(self, database):
     db_name = database[0]
     
     self.screen_manager.set_cursor_visible()
     curses.echo()
     self.screen_manager.display_mid("Please enter a name for the new database: ")
     new_db_name = self.screen_manager.screen.getstr()
     self.screen.clear()
     
     db_copy_query = "CREATE DATABASE " + new_db_name + " WITH TEMPLATE " + db_name
     if query.query(db_copy_query, 'postgres', self.screen, 0, None, self.username, self.password) == -1:
         ScreenManager.throw(self.screen, "An error prevented database creation.")
     else:
         self.screen_manager.display_mid("The database " + new_db_name + " has been copied from " + db_name)
         self.screen.getstr()
     self.screen.clear()
     self.screen_manager.set_cursor_invisible()
    def login(self):
        self.screen_manager.display_mid('Please enter your Username: '******'Please enter your Password: '******'root\'"
        rows = query.query(to_query, 'postgres', None, None, None, self.username, self.password)
        
        if rows != -1 and rows != -2:
            return True
        elif rows == -1:
            ScreenManager.throw(self.screen, "Couldn't sign in. Please ensure your system is set up correctly.")
            return False
        else:
            ScreenManager.throw(self.screen, "Incorrect Username or Password.")
            return False
Example #9
0
 def drop_database(self, database):
     db_name = database[0]
     
     self.screen_manager.set_cursor_visible()
     curses.echo()
     self.screen_manager.display_mid("Are you sure you want to delete " + db_name + "? (Y/N): ")
     confirmation = self.screen_manager.screen.getstr()
     if confirmation == 'Y':
         db_delete_query = "DROP DATABASE " + db_name
         if query.query(db_delete_query, 'postgres', self.screen, 0, None, self.username, self.password) == -1:
             ScreenManager.throw(self.screen, "An error prevented database creation.")
         else:
             self.screen_manager.display_mid("The database " + db_name + " has been deleted")
             self.screen.getstr()
     else:
         self.screen_manager.display_mid(db_name + " will not be deleted")
         self.screen_manager.screen.getstr()
     self.screen.clear()
     self.screen_manager.set_cursor_invisible()            
Example #10
0
    def login(self):
        self.screen_manager.display_mid('Please enter your Username: '******'Please enter your Password: '******'root\'"
        rows = query.query(to_query, 'postgres', None, None, None,
                           self.username, self.password)

        if rows != -1 and rows != -2:
            return True
        elif rows == -1:
            ScreenManager.throw(
                self.screen,
                "Couldn't sign in. Please ensure your system is set up correctly."
            )
            return False
        else:
            ScreenManager.throw(self.screen, "Incorrect Username or Password.")
            return False