git://git.onelab.eu
/
sface.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
18d1818
)
add export button
author
smbaker
<smbaker@fc8clean.lan>
Tue, 18 Oct 2011 23:27:04 +0000
(16:27 -0700)
committer
smbaker
<smbaker@fc8clean.lan>
Tue, 18 Oct 2011 23:27:04 +0000
(16:27 -0700)
sface/xmlrpcwindow.py
patch
|
blob
|
history
diff --git
a/sface/xmlrpcwindow.py
b/sface/xmlrpcwindow.py
index
ae8b6d1
..
1e24dbf
100644
(file)
--- a/
sface/xmlrpcwindow.py
+++ b/
sface/xmlrpcwindow.py
@@
-158,6
+158,11
@@
class XmlrpcTracker(QWidget):
self.delegate.insertNodeDelegate('comment', CommentNodeDelegate())
self.xmlView.setItemDelegate(self.delegate)
self.delegate.insertNodeDelegate('comment', CommentNodeDelegate())
self.xmlView.setItemDelegate(self.delegate)
+ exportButton = QPushButton("&Export Call")
+ layoutButtons = QHBoxLayout()
+ layoutButtons.addWidget(exportButton)
+ layoutButtons.addStretch()
+
self.layout = QVBoxLayout()
self.layout.addWidget(labelCalls)
self.layout.addWidget(self.callTable)
self.layout = QVBoxLayout()
self.layout.addWidget(labelCalls)
self.layout.addWidget(self.callTable)
@@
-165,10
+170,12
@@
class XmlrpcTracker(QWidget):
self.layout.addWidget(self.argsTable)
self.layout.addWidget(labelXml)
self.layout.addWidget(self.xmlView)
self.layout.addWidget(self.argsTable)
self.layout.addWidget(labelXml)
self.layout.addWidget(self.xmlView)
+ self.layout.addLayout(layoutButtons)
self.setLayout(self.layout)
self.connect(self.callTable, SIGNAL("itemSelectionChanged ()"), self.onCallSelect)
self.setLayout(self.layout)
self.connect(self.callTable, SIGNAL("itemSelectionChanged ()"), self.onCallSelect)
+ self.connect(exportButton, SIGNAL("clicked()"), self.onExportClicked)
def getAndPrint(self, rawOutput):
self.reader.store(rawOutput)
def getAndPrint(self, rawOutput):
self.reader.store(rawOutput)
@@
-228,19
+235,27
@@
class XmlrpcTracker(QWidget):
self.argsTable.resizeColumnsToContents()
self.argsTable.resizeColumnsToContents()
- def
onCallSelect
(self):
+ def
getSelectedCall
(self):
selItems = self.callTable.selectedItems()
if (len(selItems) <= 0):
selItems = self.callTable.selectedItems()
if (len(selItems) <= 0):
- return
+ return
None
row = selItems[0].data(Qt.UserRole).toInt()[0]
calls = self.reader.calls
if len(calls)<=row:
row = selItems[0].data(Qt.UserRole).toInt()[0]
calls = self.reader.calls
if len(calls)<=row:
- return
+ return
None
call = calls[row]
call = calls[row]
+ return call
+
+ def onCallSelect(self):
+ call = self.getSelectedCall()
+
+ if not call:
+ return
+
xml = "<debug>" + call.get("request","") + call.get("reply", "") + "</debug>"
#xml = call.get("request","") + call.get("reply", "")
xml = "<debug>" + call.get("request","") + call.get("reply", "") + "</debug>"
#xml = call.get("request","") + call.get("reply", "")
@@
-248,6
+263,20
@@
class XmlrpcTracker(QWidget):
self.updateArgsTable(call.get("args",[]))
self.updateArgsTable(call.get("args",[]))
+ def onExportClicked(self):
+ call = self.getSelectedCall()
+
+ if not call:
+ return
+
+ filename = QFileDialog.getSaveFileName(self, 'Save File', '.')
+
+ f = open(filename, "w")
+ f.write(call.get("request","") + "\n")
+ f.write(call.get("reply","") + "\n")
+ f.close()
+
+
def displayXml(self, xml):
self.document = QDomDocument("XMLRPC Tracker")
self.document.setContent(xml)
def displayXml(self, xml):
self.document = QDomDocument("XMLRPC Tracker")
self.document.setContent(xml)