Exemplo n.º 1
0
 def download_file(self, url):
     """
     File downloading from the web.
     Copy the contents of a file from a given URL
     to a local file.
     """
     webFile = urllib2.urlopen(url)
     basename = url.split("/")[-1]
     filename = os.path.join(config.grayscalePath(), basename)
     localFile = open(filename, "w")
     localFile.write(webFile.read())
     webFile.close()
     localFile.close()
     return localFile.name
Exemplo n.º 2
0
 def download_file(self, url):
     """
     File downloading from the web.
     Copy the contents of a file from a given URL
     to a local file.
     """
     webFile = urllib2.urlopen(url)
     basename = url.split('/')[-1]
     filename = os.path.join(config.grayscalePath(), basename)
     localFile = open(filename, 'w')
     localFile.write(webFile.read())
     webFile.close()
     localFile.close()
     return localFile.name
Exemplo n.º 3
0
    def setItemtoMove(self, part=None):
        self.destItem = None
        self._item = part
        step = part
        while step and not isinstance(step, Step):
            step = step.parent()
        self._step.setText(step.data(Qt.DisplayRole))
        self._page.setText(step.parentItem().data(Qt.DisplayRole))
        self._warning.clear()
        if part:
            pItem = None
            if step and step.hasPLI():
                for pliItem in step.pli.pliItems:
                    if pliItem.abstractPart.filename == part.abstractPart.filename:
                        pItem = pliItem
                        break

            sRect = self._thumbnail.scene().sceneRect()
            if isinstance(pItem, (Part, PLIItem)):
                a = pItem.abstractPart
                filename = os.path.join(config.grayscalePath(), os.path.splitext(a.filename)[0] + ".png").lower()
                if not os.path.exists(filename):
                    pRect = pItem.sceneBoundingRect().toRect()
                    wt = Page.PageSize.width()
                    ht = Page.PageSize.height()
                    mx = int(PLI.margin.x() / 2)
                    bufferManager = LicGLHelpers.FrameBufferManager(wt, ht)
                    try:
                        bufferManager.bindMSFB()
                        LicGLHelpers.initFreshContext(True)

                        step.parentItem().drawGLItemsOffscreen(QRectF(0, 0, wt, ht), 1.0)
                        bufferManager.blitMSFB()
                        temp_data = bufferManager.readFB()
                        temp_cord = (
                            pRect.left() - mx,
                            pRect.top() - mx,
                            a.width + pRect.left() + mx,
                            a.height + pRect.top() + mx,
                        )
                        temp_name = tempfile.TemporaryFile().name + ".png".lower()
                        temp = Image.fromstring("RGBA", (wt, ht), temp_data)
                        temp = temp.transpose(Image.FLIP_TOP_BOTTOM)
                        temp = temp.crop(temp_cord)
                        temp.save(temp_name)
                    finally:
                        image = QImage(temp_name, "LA")
                        # convertToGrayscale
                        for i in range(0, image.width()):
                            for j in range(0, image.height()):
                                pix = image.pixel(i, j)
                                if pix > 0:
                                    color = qGray(pix)
                                    image.setPixel(i, j, qRgb(color, color, color))
                        # saveResult
                        image.save(filename, "PNG")
                        # cleanUp
                        bufferManager.cleanup()
                        os.remove(temp_name)
                else:
                    image = QImage(filename, "LA")
                image = image.scaledToHeight(sRect.height(), Qt.SmoothTransformation)
            else:
                image = QImage(sRect.width(), sRect.height(), QImage.Format_Mono)
                painter = QPainter(image)
                painter.fillRect(sRect, Qt.white)
                painter.setFont(QFont("Helvetica [Cronyx]", 10, QFont.Bold))
                painter.drawLine(1, 1, sRect.width() - 1, sRect.height() - 1)
                painter.drawLine(sRect.width() - 1, 1, 1, sRect.height() - 1)
                painter.drawText(sRect, Qt.TextSingleLine | Qt.AlignVCenter, self._noPLIText)
                painter.end()

            self._thumbnail.setPixmap(QPixmap.fromImage(image))

        if not self.isVisible():
            self.show()
Exemplo n.º 4
0
def getWeightsFile():
    iniFile = os.path.join(grayscalePath(), 'weights.ini')
    return QSettings(QString(iniFile), QSettings.IniFormat)
Exemplo n.º 5
0
    def setItemtoMove(self, part=None):
        self.destItem = None
        self._item = part
        step = part
        while step and not isinstance(step, Step):
            step = step.parent()
        self._step.setText(step.data(Qt.DisplayRole))
        self._page.setText(step.parentItem().data(Qt.DisplayRole))
        self._warning.clear()
        if part:
            pItem = None
            if step and step.hasPLI():
                for pliItem in step.pli.pliItems:
                    if pliItem.abstractPart.filename == part.abstractPart.filename:
                        pItem = pliItem
                        break

            sRect = self._thumbnail.scene().sceneRect()
            if isinstance(pItem, (Part, PLIItem)):
                a = pItem.abstractPart
                filename = os.path.join(
                    config.grayscalePath(),
                    os.path.splitext(a.filename)[0] + ".png").lower()
                if not os.path.exists(filename):
                    pRect = pItem.sceneBoundingRect().toRect()
                    wt = Page.PageSize.width()
                    ht = Page.PageSize.height()
                    mx = int(PLI.margin.x() / 2)
                    bufferManager = LicGLHelpers.FrameBufferManager(wt, ht)
                    try:
                        bufferManager.bindMSFB()
                        LicGLHelpers.initFreshContext(True)

                        step.parentItem().drawGLItemsOffscreen(
                            QRectF(0, 0, wt, ht), 1.0)
                        bufferManager.blitMSFB()
                        temp_data = bufferManager.readFB()
                        temp_cord = (pRect.left() - mx, pRect.top() - mx,
                                     a.width + pRect.left() + mx,
                                     a.height + pRect.top() + mx)
                        temp_name = tempfile.TemporaryFile(
                        ).name + ".png".lower()
                        temp = Image.fromstring("RGBA", (wt, ht), temp_data)
                        temp = temp.transpose(Image.FLIP_TOP_BOTTOM)
                        temp = temp.crop(temp_cord)
                        temp.save(temp_name)
                    finally:
                        image = QImage(temp_name, "LA")
                        #convertToGrayscale
                        for i in range(0, image.width()):
                            for j in range(0, image.height()):
                                pix = image.pixel(i, j)
                                if pix > 0:
                                    color = qGray(pix)
                                    image.setPixel(i, j,
                                                   qRgb(color, color, color))
                        #saveResult
                        image.save(filename, "PNG")
                        #cleanUp
                        bufferManager.cleanup()
                        os.remove(temp_name)
                else:
                    image = QImage(filename, "LA")
                image = image.scaledToHeight(sRect.height(),
                                             Qt.SmoothTransformation)
            else:
                image = QImage(sRect.width(), sRect.height(),
                               QImage.Format_Mono)
                painter = QPainter(image)
                painter.fillRect(sRect, Qt.white)
                painter.setFont(QFont("Helvetica [Cronyx]", 10, QFont.Bold))
                painter.drawLine(1, 1, sRect.width() - 1, sRect.height() - 1)
                painter.drawLine(sRect.width() - 1, 1, 1, sRect.height() - 1)
                painter.drawText(sRect, Qt.TextSingleLine | Qt.AlignVCenter,
                                 self._noPLIText)
                painter.end()

            self._thumbnail.setPixmap(QPixmap.fromImage(image))

        if not self.isVisible():
            self.show()
Exemplo n.º 6
0
def getCodesFile():
    iniFile = os.path.join(grayscalePath(), 'codes.ini')
    return QSettings(QString(iniFile), QSettings.IniFormat)