def save(self): # Create the Password Manager password_manager = PasswordManager() # Create the DBConnection database = DBConnection() # Create the SQL if self.id is None: sql = "INSERT INTO connections (name, host, port, user, passwd, use_key, key_path)" \ " VALUES ('{}', '{}', {}, '{}', '{}', {}, '{}');" else: sql = "UPDATE connections SET name = '{}', host = '{}', port = {}, user = '******', passwd = '{}'," \ " use_key = {}, key_path = '{}' where id_connection = {}" # Bind the values sql = sql.format(self.name, self.host, self.port, self.user, password_manager.encrypt_password(self.password), 1 if self.use_key else 0, self.key_path, self.id) # Execute the SQL if database.execute_query(sql) > 0: # Get the last row inserted if self.id is None: self.id = database.cursor.lastrowid # Return true telling it's OK return True else: # Return False for fail return False
def load_tunnels(self): # Clear the tunnels list form the collection self.tunnels.clear_tunnels() # Create the DBConnection database = DBConnection() # Create the SQL sql = "SELECT * FROM tunnels WHERE id_connection = {}" # Bind the value sql = sql.format(self.id) # Execute the query rows = database.select_query(sql) # Set the attrs for row in rows: tunnel = Tunnel() tunnel.id = row['id_tunnel'] tunnel.id_connection = self.id tunnel.local_port = row['local_port'] tunnel.address = row['address'] tunnel.remote_port = row['remote_port'] # Add on Tunnels self.tunnels.add_tunnel(tunnel)
def load(self): # Create the Password Manager password_manager = PasswordManager() # Create the DBConnection database = DBConnection() # Create the SQL sql = "SELECT * FROM connections WHERE id_connection = {}" # Bind the value sql = sql.format(self.id) # Execute the query rows = database.select_query(sql) # Set the attrs for row in rows: self.name = row['name'] self.host = row['host'] self.port = row['port'] self.user = row['user'] self.password = password_manager.decrypt_password(row['passwd']) self.use_key = True if int(row['use_key']) == 1 else False self.key_path = row['key_path']
def load(self): # Create the databse database = DBConnection() # Make the select rows = database.select_query("SELECT * FROM settings") for row in rows: # Check the name of the property and set the value correctly if row['property'] == Settings.X11_FORWARD: self.x11_forward = int(row['value']) elif row['property'] == Settings.REQUEST_COMPRESSION: self.request_compression = int(row['value']) elif row['property'] == Settings.FORCE_IPV4: self.force_ipv4 = int(row['value']) elif row['property'] == Settings.FORCE_IPV6: self.force_ipv6 = int(row['value'])
def delete(self): # Check if have the connection ID if self.id is not None: # Create the DBConnection database = DBConnection() # Create the SQL sql = "DELETE FROM connections WHERE id_connection = {}" # Bind the value sql = sql.format(self.id) # Execute the query if database.execute_query(sql) > 0: # Return true telling it's OK return True else: # Return False return False
def save(self): # Instance the database database = DBConnection() # Remove the settings from database database.execute_query("DELETE FROM settings") # Create the list of params params = [(Settings.X11_FORWARD, self.x11_forward), (Settings.REQUEST_COMPRESSION, self.request_compression), (Settings.FORCE_IPV4, self.force_ipv4), (Settings.FORCE_IPV6, self.force_ipv6)] # Save the settings affected_rows = database.execute_query_many( "INSERT INTO settings (property, value) VALUES (?, ?)", params) if affected_rows == 4: # Saved all settings return True else: # Something is wrong, try again return False
def __init__(self): # Create the DB connection self.dbconnection = DBConnection()