def POST(self): # Add header web.header('content-type', 'application/xml;chartset=UTF-8') web.header('Server', 'Apache-Coyote/1.1') web.header('Content-Language', 'zh-CN') web.header('Pragram', 'no-cache') web.header('Expires', 'Thu, 01 Jan 1970 00:00:00 GMT') web.header('Cache-Control', 'no-cache, no-store, max-age=0') # get xml body xmldata = web.data() referer = web.ctx.fullpath LOG_OBJ("URL: " + str(referer)) LOG_OBJ("REQUEST: " + str(xmldata)) # get resp xml from db and resp to sender self.execsql = ExecSQL(LOG_OBJ) result = self.execsql.getDataResp(referer, xmldata) if type(result) is str: return result elif type(result) is tuple: # result = result[0] + str(BinaryData) + result[1] # print result return result[0] + str(BinaryData) + result[1] if "URL Not Found!" == result: LOG_OBJ("RESPONSE: " + result) else: LOG_OBJ("RESPONSE: Success!") # insert request xml data to db # self.execsql = ExecSQL(LOG_OBJ) # self.execsql.insertXML2DB(referer, xmldata) return result
def editBinaryDialog(self, text): """ edit binary dialog """ # self.PrintEventLog("edit binary dialog is not Achieve") # self.searchUrlInfo(self.searchBtnEvn) """ edit Binary dialog """ flag = True execsql = None # Show Information Dialog editdialog = EditBinaryDialog(self, -1, "Edit Config", (450, 400), text) editdialog.CenterOnScreen() # print editdialog.GetResponseText() #[1, u'wfrwaef', u'wfrwaef'] # this does not return until the dialog is closed. val = editdialog.ShowModal() try: if val == wx.ID_OK: getresult = editdialog.GetResponseText() list_id = self.ListCtrlObj.GetId() if list_id not in [self.XmlListCtrlId, self.BinaryListCtrlId]: self.PrintEventLog( self.err_text + "editXmlDialog self.ListCtrlObj.GetId() is not 30 or 31" ) return # 执行查询插入操作 execsql = ExecSQL(self.PrintEventLog) listitemselected, getlistitemid = self.ListCtrlObj.GetSelectListItem( ) execsql.editSaveDataBut(list_id, str(getlistitemid[0]), getresult) # refresh ListCtrl layout result self.searchUrlInfo(self.searchBtnEvn) else: # print "You pressed CANCEL" pass # My define SQL Connect Exception trap and return except (TypeError, AttributeError) as err: self.PrintEventLog(err) return except SQLconnError as err: self.PrintEventLog(err.arg) return # BaseException trap and return except BaseException as err: self.PrintEventLog(self.err_text + str(err)) return else: flag = False # self.PrintEventLog("SQL Connection OK") finally: self.tracebackOutput(flag) # release value del execsql editdialog.Destroy()
def searchUrlInfo(self, event): """Display selected Url information """ if self.ListCtrlObj is None: self.PrintEventLog(self.err_text + "searchUrlInfo self.ListCtrlObj is None") return # delete all list self.ListCtrlObj.DeleteAllItems() # get url value urlpath = self.texturl.GetValue() # self.ListCtrlObj.GetId() Exception Process(Not is 30 or 31 ) list_id = self.ListCtrlObj.GetId() if list_id not in [self.XmlListCtrlId, self.BinaryListCtrlId]: self.PrintEventLog( self.err_text + "searchUrlInfo self.ListCtrlObj.GetId() is not 30 or 31") return # traceback flag flag = True execsql = None # Xml执行DB查询 # add SQL Connect Exception Process try: execsql = ExecSQL(self.PrintEventLog) result = execsql.selectBut(list_id, urlpath) # My define SQL Connect Exception trap and return except (TypeError, AttributeError) as err: self.PrintEventLog(err) return except SQLconnError as err: self.PrintEventLog(err.arg) return # BaseException trap and return except BaseException as err: self.PrintEventLog(self.err_text + str(err)) return else: flag = False # self.PrintEventLog("SQL Connection OK") finally: self.tracebackOutput(flag) # release value del execsql # 将DB结果插入list表单 self.insert2List(result) # set button state(Enable or Disable) self.SetButtonState()
def GET(self): referer = web.ctx.fullpath LOG_OBJ("URL: " + str(referer)) web.header('content-type', 'application/xml;chartset=UTF-8') # get resp xml from db and resp to sender self.execsql = ExecSQL(LOG_OBJ) result = self.execsql.getDataResp(referer, None) if type(result) is str: return result elif type(result) is tuple: return result[0] + str(BinaryData) + result[1] if "URL Not Found!" == result: LOG_OBJ("RESPONSE: " + result) else: LOG_OBJ("RESPONSE: Success!")
def __init__(self, log): global LOG_OBJ self.log = log LOG_OBJ = self.log self.urls = ('/.*', 'index') self.app = web.application(self.urls, globals()) self.execsql = ExecSQL(self.log)
def OnDoubleClick(self, event): """double click to show this iterm information """ conf_id = self.ListCtrlObj.GetSelectedSingleItemInfo( event.m_itemIndex, self.ListCtrlObj.GetId()) execsql = ExecSQL(self.PrintEventLog) if self.ListCtrlObj.GetId() == self.XmlListCtrlId: querydata = execsql.getAll(self.ListCtrlObj.GetId(), conf_id) for index in querydata: self.resultall = (index['conf_id'], index['conf_url'], str(index['conf_response']).decode('utf-8'), str(index['conf_request']).decode('utf-8')) # Show Information Dialog viewdialog = ViewXmlDialog(self, -1, "Show Information", (450, 400), self.resultall) viewdialog.CenterOnScreen() # this does not return until the dialog is closed. val = viewdialog.ShowModal() if val == wx.ID_OK: pass # print "You pressed OK" viewdialog.Destroy() else: querydata = execsql.getAll(self.ListCtrlObj.GetId(), conf_id) for index in querydata: self.resultall = (index['conf_id'], index['conf_url'], index['conf_type'], index['conf_before'], index['conf_after']) # Show Information Dialog viewbinarydialog = ViewBinaryDialog(self, -1, "Show Information", (450, 400), self.resultall) viewbinarydialog.CenterOnScreen() # this does not return until the dialog is closed. val = viewbinarydialog.ShowModal() if val == wx.ID_OK: # print "You pressed OK" pass viewbinarydialog.Destroy()
def EditResponseInfo(self, event): """ Edit Response info """ conf_id = self.ListCtrlObj.GetSelectedSingleItemInfo( self.ListCtrlObj.GetSelectListItem()[0][0], self.ListCtrlObj.GetId()) execsql = ExecSQL(self.PrintEventLog) if self.ListCtrlObj.GetId() == self.XmlListCtrlId: querydata = execsql.getAll(self.ListCtrlObj.GetId(), conf_id) for index in querydata: self.resultall = (index['conf_id'], index['conf_url'], str(index['conf_response']).decode('utf-8'), str(index['conf_request']).decode('utf-8')) self.editXmlDialog(self.resultall) else: querydata = execsql.getAll(self.ListCtrlObj.GetId(), conf_id) for index in querydata: self.resultall = (index['conf_id'], index['conf_url'], index['conf_type'], index['conf_before'], index['conf_after']) self.editBinaryDialog(self.resultall)
def deleteUrlInfo(self, event): """Delete a selected Url information """ execsql = None flag = True try: # eg. listitemselected, getlistitemid = [1, 0] [u'22', u'23'] listitemselected, getlistitemid = self.ListCtrlObj.GetSelectListItem( ) # print listitemselected, getlistitemid execsql = ExecSQL(self.PrintEventLog) list_id = self.ListCtrlObj.GetId() if list_id not in [self.XmlListCtrlId, self.BinaryListCtrlId]: self.PrintEventLog( self.err_text + "deleteUrlInfo self.ListCtrlObj.GetId() is not 30 or 31") return if self.ListCtrlObj.GetItemCount( ) == self.ListCtrlObj.GetSelectedItemCount(): self.ListCtrlObj.DeleteAllItems() execsql.deleteBut(list_id, "") else: for item in listitemselected: self.ListCtrlObj.DeleteItem(item) # 删除选中项(多选和单选) execsql.deleteBut(list_id, getlistitemid) # My define SQL Connect Exception trap and return except (TypeError, AttributeError) as err: self.PrintEventLog(err) return except SQLconnError as err: self.PrintEventLog(err.arg) return # BaseException trap and return except BaseException as err: self.PrintEventLog(self.err_text + str(err)) return else: flag = False # self.PrintEventLog("SQL Connection OK") finally: self.tracebackOutput(flag) # release value del execsql # set button state(Enable or Disable) self.SetButtonState()
def addBinaryDialog(self): """ add binary dialog """ execsql = None # Show Information Dialog adddialog = AddBinaryDialog(self, -1, "Add Config", (450, 400)) adddialog.CenterOnScreen() # this does not return until the dialog is closed. val = adddialog.ShowModal() flag = True # add SQL Connect Exception Process try: if val == wx.ID_OK: # print "You pressed OK" # 获取add的值 getresult = adddialog.GetAddText() # [u'111', u'2222', u'33333'] # print getresult[0], type(getresult[0]) # print getresult # print type(getresult[0]), getresult[1] # Analyzing the encoding type list_id = self.ListCtrlObj.GetId() if list_id not in [self.XmlListCtrlId, self.BinaryListCtrlId]: self.PrintEventLog( self.err_text + "addXmlDialog self.ListCtrlObj.GetId() is not 30 or 31" ) return # 查询url是否唯一 execsql = ExecSQL(self.PrintEventLog) url = execsql.geturlsql(list_id, getresult[0]) # url为空是不允许insert if getresult[0] == '': self.PrintEventLog("Please enter URL.") # 判断url是否唯一 elif not len(url): # insert db execsql = ExecSQL(self.PrintEventLog) execsql.addSaveDataBut(list_id, getresult) # refresh db else: # print("The URL address is existing. ") self.PrintEventLog("The URL address is existing. URL: %s" % getresult[0]) # refresh listctrl self.searchUrlInfo(self.searchBtnEvn) else: # print "You pressed CANCEL" pass # My define SQL Connect Exception trap and return except (TypeError, AttributeError) as err: self.PrintEventLog(err) return except SQLconnError as err: self.PrintEventLog(err.arg) return # BaseException trap and return except BaseException as err: self.PrintEventLog(self.err_text + str(err)) return else: flag = False # self.PrintEventLog("SQL Connection OK") finally: self.tracebackOutput(flag) # release value del execsql adddialog.Destroy()