Exemplo n.º 1
0
 def exportThumbnail(self, report_path, thumbpath, name, node, size=None):
     self.thumbnailer = Thumbnailer()
     if self.thumbnailer.isThumbnailable(node):
         pixmap = self.thumbnailer.generate(node,
                                            iconSize=256,
                                            frames=10,
                                            blocking=True)
         self.thumbnailer.unregister()
         if pixmap:
             try:
                 exportPath = os.path.join(report_path,
                                           os.path.join(thumbpath, name))
                 array = QByteArray()
                 qfile = QBuffer(array)
                 qfile.open(QIODevice.ReadWrite)
                 pixmap.save(qfile, 'JPG')
                 qfile.seek(0)
                 with open(exportPath, 'wb') as f:
                     f.write(qfile.read(qfile.size()))
                 qfile.close()
                 return True
             except Exception as e:
                 qfile.close()
                 return False
         else:
             return False
Exemplo n.º 2
0
 def generateThumbnail(self):
     self.thumbnailer = Thumbnailer()
     self.connect(self.thumbnailer, SIGNAL("ThumbnailUpdate"),
                  self.updateThumbnail)
     pixmap = self.thumbnailer.generate(self.node,
                                        iconSize=self.IconSize,
                                        frames=self.Frames)
     if pixmap:
         self.updateThumbnail(self.node, pixmap)
Exemplo n.º 3
0
 def __init__(self, parent):
     QTreeWidget.__init__(self)
     self.treeItemMenu = ReportTreeItemMenu(self)
     self.treeNewItemMenu = ReportTreeNewItemMenu(self)
     self.header().hide()
     self.connect(parent, SIGNAL("newCategory"), self.newCategory)
     self.connect(parent, SIGNAL("newPage"), self.newPage)
     self.connect(self, SIGNAL("itemClicked(QTreeWidgetItem*, int)"),
                  self.clicked)
     self.thumbnailer = Thumbnailer()
     self.reportManager = ReportManager()
     self.__categoryItems = []
Exemplo n.º 4
0
 def __init__(self, parent, request):
     QNetworkReply.__init__(self, parent)
     self.qbuffer = None
     self.connect(self, SIGNAL('abouteToClose()'), self.__close)
     self.byteArray = QByteArray()
     self.qbuffer = QBuffer(self.byteArray)
     self.node = vfs().getnode(str(request.url().path().toUtf8()))
     self.thumbnailer = Thumbnailer()
     self.connect(self.thumbnailer, SIGNAL("ThumbnailUpdate"),
                  self.updateThumbnail)
     self.setRequest(request)
     self.setOperation(QNetworkAccessManager.GetOperation)
     mime = "image/jpg"
     self.setHeader(QNetworkRequest.ContentTypeHeader, QVariant(mime))
     self.open()
     self.setUrl(request.url())
     self.connect(parent, SIGNAL("ready"), self.ready)
     self.ready()
Exemplo n.º 5
0
 def __init__(self, selection):
   QAbstractItemModel.__init__(self)
   self._list = []
   self._rows = []
   self._current_row = 0
   self._row_selected = 0
   self._thumb = True
   self._visible_rows = 0
   self._visible_cols = 0
   self._recursive = False
   self._root = None
   self.selection = selection
   if self.selection != None:
     self.connect(self.selection, SIGNAL("selectionChanged"), self.updateSelected)
   self.setDefaultAttributes()
   self.connectSignals()
   self.thumbnailer = Thumbnailer()
   self.connect(self.thumbnailer, SIGNAL("ThumbnailUpdate"), self.thumbnailUpdate)
   self.headerorder = {0:0}
Exemplo n.º 6
0
 def dumpsJSON(self):
     thead = []
     for head in self.thead:
         thead.append(head['title'])
     if NodeListFragment.HeaderAttributes:
         for attribute in NodeListFragment.HeaderAttributes:
             thead.append(attribute)
     buff = '{"title": "' + self.title + '",' + '"widget": "node_list", "thead":'
     buff += json.dumps(thead)
     buff += ', "view" : ' + str(self.view) + ', "data" : ['
     for node in self.nodes:
         try:
             rowjson = {}
             rowjson['widget'] = 'node'
             for head in self.thead:
                 cb = head['callback'](node)
                 if type(cb) == str:
                     cb = cb.decode('utf-8', 'replace').encode('utf-8')
                 rowjson[head['title']] = cb
                 if self.gui:  #Need qt gui for QPixmap or will crash in console
                     #print 'self as GUI !', QApplication.instance()
                     self.thumbnailer = Thumbnailer()
                     if self.thumbnailer.isThumbnailable(node):
                         rowjson[
                             "thumb"] = "dff-node-thumbnail://" + node.absolute(
                             ).decode('utf-8', 'replace').encode('utf-8')
                     self.thumbnailer.unregister()
             rowjson['row_details'] = {
                 'widget': 'node_attribute',
                 'data': self.attributesToMap(node.attributes())
             }
             buff += json.dumps(rowjson)
             buff += ","
         except UnicodeError as e:
             print "Can't dump node " + str(
                 node.absolute()) + " : " + str(e)
     buff += "]}"
     return buff