def delete( self ): from class_db import Database if self.id in CONFIG_IDs: return query = """DELETE FROM subject_config WHERE id = ?""" values = ( self.id, ) Database.maindb().commit( query, values )
def _update_2( self ): if self._version != 1: return # create `version` column query = """ ALTER TABLE remote_settings ADD COLUMN version """ Database.maindb().commit( query ) self._version = 2
def save(self): if not self.guid: self.guid = str(uuid.uuid4()) json_data = json.dumps(self.documents) query = """ mysql query """ Database.maindb().commit( query, (self.guid, json_data, self.del_date.strftime( self.date_format), self.dshare_guid, self.type)) return self.guid
def _version( self, value ): if not self._ispersistent(): return query = """ UPDATE remote_settings SET version = ? WHERE id = ? """ args = ( value, self.id, ) Database.maindb().commit( query, args )
def _exist( self ): from class_db import Database if self.id: return self.id if self.name in CONFIG_IDs: return CONFIG_IDs[ name ] query = """ SELECT id FROM subject_config WHERE user_dn = ? AND group_dn = ? AND user_guid = ? AND group_guid = ? AND users_in_group = ? AND groups_in_user = ? """ values = ( self[ 'user_dn' ], self[ 'group_dn' ], self[ 'user_guid' ], self[ 'group_guid' ], self.get_attribute( 'users_in_group', 'NULL' ), self.get_attribute( 'groups_in_user', 'NULL' ), ) id = Database.maindb().fetch_one( query, values ) id = id[0] if id else None return id
def get_by_id( self, id ): from class_db import Database for config_name, config_id in CONFIG_IDs.items(): if str( config_id ) == str( id ): return LDAPConfig( config = config_name ) query = """ SELECT email, phone, password, group_dn, user_dn, user_guid, group_guid, base_dn, groups_in_user, users_in_group, user_class, group_class, group_name, first_name, last_name, config_name, id FROM subject_config WHERE id = ? """ values = (id,) db_row = Database.maindb().fetch_one( query, values ) return LDAPConfig().__fill_from_row( db_row ) if db_row else None
def get_by_guid(cls, guid): query = """ mysql query """ row = Database.maindb().fetch_one(query, (str(guid), )) if row: return Sharing(row) return None
def clear_all(): # clear database Database.maindb().clean() Database.maindb().commit('VACUUM') Database.macrosdb().clean() Database.macrosdb().commit('VACUUM') # clear ProAdmin scheme ProAdmin.scheme().delete() # clear application storage application.storage.rmtree('.') # clear all listeners and timers in VEE_core engine.clear_all()
def _update( self, id ): from class_db import Database if self.id in CONFIG_IDs.values(): return self.id = id query = """ UPDATE subject_config SET email = ?, phone = ?, password = ?, group_dn = ?, user_dn = ?, user_guid = ?, group_guid = ?, group_name = ?, base_dn = ?, groups_in_user = ?, users_in_group = ?, user_class = ?, group_class = ?, first_name = ?, last_name = ?, config_name = ? WHERE id = ?""" values = ( self[ 'email' ], self[ 'phone' ], self[ 'password' ], self[ 'group_dn' ], self[ 'user_dn' ], self[ 'user_guid' ], self[ 'group_guid' ], self[ 'group_name' ], self[ 'base_dn' ], self[ 'groups_in_user' ], self[ 'users_in_group' ], self[ 'user_class' ][-1], self[ 'group_class' ][-1], self[ 'first_name' ], self[ 'last_name' ], self.name, self.id, ) Database.maindb().commit( query, values )
def _update( self ): if self.id is None: return self query = """ UPDATE remote_settings SET server = ?, login = ?, password = ? WHERE id = ? """ args = ( self.server, self.login. self.password, self.id, ) Database.maindb().commit( query, args ) return self
def _insert( self ): query = """ INSERT INTO remote_settings (server, login, password) VALUES (?, ?, ?) """ args = ( self.server, self.login, self.password, ) self.id = Database.maindb().commit( query, args ) return self
def get_name_list( self ): from class_db import Database rows = Database.maindb().fetch_all("""SELECT id, config_name FROM subject_config""") result = [ [ id, name ] for name, id in CONFIG_IDs.iteritems() ] result.reverse() for row in rows: result.append( [row[0], row[1]] ) return result
def get_all( self ): query = """ SELECT id as id, server as server, login as login, password as password FROM `remote_settings` """ rows = Database.maindb().fetch_all( query ) return [ self()._fill_from_row( row ) for row in rows ]
def _ispersistent( self ): # check by id query = """ SELECT id from remote_settings WHERE id = ? """ args = ( self.id, ) row = Database.maindb().fetch_one( query, args ) if row: return True # check by content query = """ SELECT id from remote_settings WHERE server = ? AND login = ? and password = ? """ args = ( self.server, self.login, self.password ) row = Database.maindb().fetch_one( query, args ) if row: return True return False
def _version( self ): if not self._ispersistent(): return None query = """ SELECT version as version FROM remote_settings WHERE id = ? """ args = ( self.id, ) row = Database.maindb().fetch_one( query, args ) return int( row[ 'version' ] ) if row else 1
def get_remote_settings( self ): """ get remote settings from database """ query = """ SELECT id as id, server as server, login as login, password as password FROM `remote_settings` """ row = Database.maindb().fetch_one( query ) return self()._fill_from_row( row ) if row else None
def _insert( self ): from class_db import Database query = """ INSERT INTO subject_config (email, phone, password, group_dn, user_dn, user_guid, group_guid, group_name, base_dn, groups_in_user, users_in_group, user_class, group_class, first_name, last_name, config_name) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) """ values = ( self[ 'email' ], self[ 'phone' ], self[ 'password' ], self[ 'group_dn' ], self[ 'user_dn' ], self[ 'user_guid' ], self[ 'group_guid' ], self[ 'group_name' ], self[ 'base_dn' ], self[ 'groups_in_user' ], self[ 'users_in_group' ], self[ 'user_class' ][-1], self[ 'group_class' ][-1], self[ 'first_name' ], self[ 'last_name' ], self.name, ) self.id = Database.maindb().commit( query, values ) return id
def delete(cls, guid): query = """ mysql query """ Database.maindb().commit(query, (str(guid), ))
def get_all(cls): query = """ mysql query """ rows = Database.maindb().fetch_all(query) return [Sharing(row) for row in rows]
def delete( self ): Database.maindb().commit( 'DELETE FROM remote_settings' )