def Delete(self, dn): logger.querylog("Delete %s" % dn) try: self.execute(self.ldap.delete_s, dn.encode('utf8')) return True except Exception as e: self.raiseException(e, "Delete")
def _search(self, base, filter, scope, attrs): """ _search(base, filter, scope) result: (dn, valueDict) utf-encoded str """ def _searchAsync(base, scope, filter, attrs): msgid = self.ldap.search(base.encode('utf8'), scope, filter.encode('utf8'), map(str, attrs)) response = self.ldap.result(msgid, 1, self.ldap.timeout) return response[1] err = None try: result = self.execute(_searchAsync, base, scope, filter, attrs) except (ldap.NO_SUCH_OBJECT, ldap.NO_SUCH_ATTRIBUTE, ldap.INSUFFICIENT_ACCESS) as e: result = None err = type(e).__name__ logger.querylog( "%s %s base=%s, scope=%s" % (filter, str(attrs), base, ['BASE', 'ONE', 'SUB'][scope]), None, err) return result
def Rename(self, dn, newRdn, newParentDn=None): logger.querylog("Rename %s to %s %s" % (dn, newRdn, newParentDn)) if newParentDn: newParentDn=newParentDn.encode('utf8') try: self.execute(self.ldap.rename_s, dn.encode('utf8'), newRdn.encode('utf8'), newParentDn) return True except Exception as e: self.raiseException(e, "Rename")
def Rename(self, dn, newRdn, newParentDn=None): logger.querylog("Rename %s to %s %s" % (dn, newRdn, newParentDn)) if newParentDn: newParentDn = newParentDn.encode('utf8') try: self.execute(self.ldap.rename_s, dn.encode('utf8'), newRdn.encode('utf8'), newParentDn) return True except Exception as e: self.raiseException(e, "Rename")
def ExecuteSet(self, cmd, args=None): frame=adm.StartWaiting() try: self.execute(cmd, args) self.wait("ExecuteSet") rowset=pgRowset(self) logger.querylog(self.cursor.query, result="%d rows" % rowset.GetRowcount()) adm.StopWaiting(frame) return rowset except Exception as e: adm.StopWaiting(frame, e.error) raise e
def Add(self, dn, addList): mods = [] addList = self._chkLst(addList) logger.querylog("Add %s: %s" % (dn, map(str, addList))) for attr in addList: mods.append((attr.name, attr.value)) try: self.execute(self.ldap.add_s, dn.encode('utf8'), mods) return True except Exception as e: self.raiseException(e, "Add")
def Add(self, dn, addList): mods=[] addList=self._chkLst(addList) logger.querylog("Add %s: %s" % (dn, map(str, addList))) for attr in addList: mods.append( (attr.name, attr.value) ) try: self.execute(self.ldap.add_s, dn.encode('utf8'), mods) return True except Exception as e: self.raiseException(e, "Add")
def ExecuteSet(self, cmd, args=None): frame = adm.StartWaiting() try: self.execute(cmd, args) self.wait("ExecuteSet") rowset = pgRowset(self) logger.querylog(self.cursor.query, result="%d rows" % rowset.GetRowcount()) adm.StopWaiting(frame) return rowset except Exception as e: adm.StopWaiting(frame, e.error) raise e
def Execute(self, cmd, args=None, spot=None): frame=adm.StartWaiting() try: self.execute(cmd, args) self.wait("Execute") adm.StopWaiting(frame) except Exception as e: adm.StopWaiting(frame, e) raise e rc=self.GetRowcount() if spot: spot += " " else: spot="" logger.querylog(self.cursor.query, result=spot+ xlt("%d rows") % rc) return rc
def Execute(self, cmd, args=None, spot=None): frame = adm.StartWaiting() try: self.execute(cmd, args) self.wait("Execute") adm.StopWaiting(frame) except Exception as e: adm.StopWaiting(frame, e) raise e rc = self.GetRowcount() if spot: spot += " " else: spot = "" logger.querylog(self.cursor.query, result=spot + xlt("%d rows") % rc) return rc
def ExecuteRow(self, cmd, args=None): frame = adm.StartWaiting() try: self.execute(cmd, args) self.wait("ExecuteRow") row = self.cursor.fetchone() adm.StopWaiting(frame) except Exception as e: adm.StopWaiting(frame, e) raise e if row: row = pgRow(self, row) logger.querylog(self.cursor.query, result=unicode(row)) return row return None
def ExecuteRow(self, cmd, args=None): frame=adm.StartWaiting() try: self.execute(cmd, args) self.wait("ExecuteRow") row=self.cursor.fetchone() adm.StopWaiting(frame) except Exception as e: adm.StopWaiting(frame, e) raise e if row: row=pgRow(self, row) logger.querylog(self.cursor.query, result=unicode(row)) return row return None
def Modify(self, dn, chgList, addList=None, delList=None): chgList=self._chkLst(chgList) addList=self._chkLst(addList) delList=self._chkLst(delList) logger.querylog("Modify %s: Chg %s, Add %s, Del %s" % (dn, map(str, chgList), map(str, addList), map(str, delList))) mods=[] for attr in delList: mods.append( (ldap.MOD_DELETE, attr.name, attr.value) ) for attr in addList: mods.append( (ldap.MOD_ADD, attr.name, attr.value) ) for attr in chgList: mods.append( (ldap.MOD_REPLACE, attr.name, attr.value) ) try: self.execute(self.ldap.modify_s, dn.encode('utf8'), mods) return True except Exception as e: self.raiseException(e, "Modify")
def _handleException(self, exception): if self.cursor and self.cursor.query: cmd = self.cursor.query else: cmd = None exception.message = errlines = exception.message.decode('utf8') logger.querylog(cmd, error=errlines) if self.trapSqlException: self.lastError = errlines if self.pool: self.pool.lastError = errlines adm.StopWaiting(adm.mainframe) if self.conn and self.conn.closed: self.disconnect() if self.trapSqlException: raise SqlException(cmd, errlines) else: raise exception
def _handleException(self, exception): if self.cursor and self.cursor.query: cmd=self.cursor.query else: cmd=None exception.message=errlines=exception.message.decode('utf8') logger.querylog(cmd, error=errlines) if self.trapSqlException: self.lastError=errlines if self.pool: self.pool.lastError=errlines adm.StopWaiting(adm.mainframe) if self.conn and self.conn.closed: self.disconnect() if self.trapSqlException: raise SqlException(cmd, errlines) else: raise exception
def ExecuteSingle(self, cmd, args=None): frame = adm.StartWaiting() try: self.execute(cmd, args) self.wait("ExecuteSingle") try: row = self.cursor.fetchone() except Exception as _e: #print e row = None adm.StopWaiting(frame) except Exception as e: adm.StopWaiting(frame, e) raise e if row: result = row[0] logger.querylog(self.cursor.query, result="%s" % result) return result else: logger.querylog(self.cursor.query, result=xlt("no result")) return None
def Modify(self, dn, chgList, addList=None, delList=None): chgList = self._chkLst(chgList) addList = self._chkLst(addList) delList = self._chkLst(delList) logger.querylog( "Modify %s: Chg %s, Add %s, Del %s" % (dn, map(str, chgList), map(str, addList), map(str, delList))) mods = [] for attr in delList: mods.append((ldap.MOD_DELETE, attr.name, attr.value)) for attr in addList: mods.append((ldap.MOD_ADD, attr.name, attr.value)) for attr in chgList: mods.append((ldap.MOD_REPLACE, attr.name, attr.value)) try: self.execute(self.ldap.modify_s, dn.encode('utf8'), mods) return True except Exception as e: self.raiseException(e, "Modify")
def ExecuteSingle(self, cmd, args=None): frame=adm.StartWaiting() try: self.execute(cmd, args) self.wait("ExecuteSingle") try: row=self.cursor.fetchone() except Exception as _e: #print e row=None adm.StopWaiting(frame) except Exception as e: adm.StopWaiting(frame, e) raise e if row: result=row[0] logger.querylog(self.cursor.query, result="%s" % result) return result else: logger.querylog(self.cursor.query, result=xlt("no result")) return None
def _search(self, base, filter, scope, attrs): """ _search(base, filter, scope) result: (dn, valueDict) utf-encoded str """ def _searchAsync(base, scope, filter, attrs): msgid=self.ldap.search(base.encode('utf8'), scope, filter.encode('utf8'), map(str, attrs)) response=self.ldap.result(msgid, 1, self.ldap.timeout) return response[1] err=None try: result=self.execute(_searchAsync, base, scope, filter, attrs) except (ldap.NO_SUCH_OBJECT,ldap.NO_SUCH_ATTRIBUTE, ldap.INSUFFICIENT_ACCESS) as e: result=None err=type(e).__name__ logger.querylog("%s %s base=%s, scope=%s" % (filter, str(attrs), base, ['BASE','ONE','SUB'][scope]), None, err) return result
def __init__(self, sql, error): logger.querylog(sql, error=error) self.error=error self.sql=sql Exception.__init__(self, sql, error)
def __init__(self, sql, error): logger.querylog(sql, error=error) self.error = error self.sql = sql Exception.__init__(self, sql, error)