예제 #1
0
    def __init__(self, parent=None):
        super(ControlMainWindow, self).__init__(parent)
        self.settings = QtCore.QSettings()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        #self.print_text('Aguardando entrada de dados...')
        self.ui.filechooser.clicked.connect(self.choose_file)
        self.ui.runner.clicked.connect(self.run)
        self.ui.openLink.clicked.connect(self.open_link)
        self.ui.openFolder.clicked.connect(self.open_folder)
        self.setWindowIcon(QtGui.QIcon('logo.png'))

        last_file = self.settings.value('lastFile', None)
        if last_file:
            self.ui.input.setPlainText(last_file)
예제 #2
0
    def __init__(self, parent=None):
        super(ControlMainWindow, self).__init__(parent)
        self.settings = QtCore.QSettings()
        self.ui =  Ui_MainWindow()
        self.ui.setupUi(self)
        #self.print_text('Aguardando entrada de dados...')
        self.ui.filechooser.clicked.connect(self.choose_file)
        self.ui.runner.clicked.connect(self.run)
        self.ui.openLink.clicked.connect(self.open_link)
        self.ui.openFolder.clicked.connect(self.open_folder)
        self.setWindowIcon(QtGui.QIcon('logo.png'))

        last_file = self.settings.value('lastFile', None)
        if last_file:
            self.ui.input.setPlainText(last_file)
예제 #3
0
class ControlMainWindow(QtGui.QMainWindow):
    def __init__(self, parent=None):
        super(ControlMainWindow, self).__init__(parent)
        self.settings = QtCore.QSettings()
        self.ui =  Ui_MainWindow()
        self.ui.setupUi(self)
        #self.print_text('Aguardando entrada de dados...')
        self.ui.filechooser.clicked.connect(self.choose_file)
        self.ui.runner.clicked.connect(self.run)
        self.ui.openLink.clicked.connect(self.open_link)
        self.ui.openFolder.clicked.connect(self.open_folder)
        self.setWindowIcon(QtGui.QIcon('logo.png'))

        last_file = self.settings.value('lastFile', None)
        if last_file:
            self.ui.input.setPlainText(last_file)

        #self.output_folder = '/tmp/teste-01/'
        #self.output_folder = u'C:\\a paça\\exemplo\\teste-01\\'
        #self.ui.resultsWidget.setDisabled(False)

    def print_text(self):
        try:
            s = str(self.process.readAllStandardOutput())
        except:
            s = ""
        try:
            self.ui.out.insertPlainText( s )
        except:
            print_error("(String não capturada)")

    def print_error(self):
        s = str(self.process.readAllStandardError())
        msg = "<br><p style='color: red; font-weight: bold'>%s</p>" % s.replace('\n', '<br>')
        self.ui.errors.insertHtml(msg)

    def clearOutputs(self):
        self.ui.out.setPlainText('');
        self.ui.errors.setPlainText('');
        self.ui.statusbar.clearMessage()
    
    def get_output_folder(self):
        if 'win' in sys.platform.lower():
            return 'file:///' + self.output_folder.replace('\\', '/')
        else:
            return 'file://' + self.output_folder
    
    def open_link(self):
        path = self.get_output_folder() +  'index.html'
        print path
        QtGui.QDesktopServices.openUrl(QtCore.QUrl(path, QtCore.QUrl.TolerantMode))
    
    def open_folder(self):
        path = self.get_output_folder()
        QtGui.QDesktopServices.openUrl(path)
    
    def run(self):
        self.clearOutputs()
        self.ui.resultsWidget.setDisabled(True)
        
        self.current_file = self.ui.input.toPlainText()
        
        self.ui.runner.setDisabled(True)
        self.ui.runner.setText('Aguarde, processando...')
        self.ui.statusbar.showMessage('Aguarde, processando...')
        self.process = QtCore.QProcess(self)
        self.process.readyReadStandardOutput.connect(self.print_text)
        self.process.readyReadStandardError.connect(self.print_error)
        self.process.finished.connect(self.finished)
        if 'win' in sys.platform.lower():
            cmd = 'runner.exe'
        else:
            cmd = './runner.py'
        self.process.start(cmd,[self.current_file])

    def choose_file(self):
        last_file = self.settings.value('lastFile', None)
        if last_file:
            folder = os.path.abspath(os.path.join(last_file, os.pardir))
        else:
            folder = '.'
        filename = QtGui.QFileDialog.getOpenFileName(self,
            "Open Image", folder, "Text files (*.config)")
        path = filename[0]
        self.settings.setValue('lastFile',  path)
        self.ui.input.setPlainText(path)


    def finished(self):
        self.ui.runner.setDisabled(False)
        self.ui.runner.setText('Executar')
        self.ui.statusbar.showMessage('Processo finalizado!')
        
        s = self.ui.out.toPlainText()
        # getting from output result folder
        results = re.findall(r"\>\'.*?\'\<", s)
        if results:
            self.output_folder = unicode(results[0][2:-2] + os.sep)
            self.ui.resultsWidget.setDisabled(False)
예제 #4
0
class ControlMainWindow(QtGui.QMainWindow):
    def __init__(self, parent=None):
        super(ControlMainWindow, self).__init__(parent)
        self.settings = QtCore.QSettings()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        #self.print_text('Aguardando entrada de dados...')
        self.ui.filechooser.clicked.connect(self.choose_file)
        self.ui.runner.clicked.connect(self.run)
        self.ui.openLink.clicked.connect(self.open_link)
        self.ui.openFolder.clicked.connect(self.open_folder)
        self.setWindowIcon(QtGui.QIcon('logo.png'))

        last_file = self.settings.value('lastFile', None)
        if last_file:
            self.ui.input.setPlainText(last_file)

        #self.output_folder = '/tmp/teste-01/'
        #self.output_folder = u'C:\\a paça\\exemplo\\teste-01\\'
        #self.ui.resultsWidget.setDisabled(False)

    def print_text(self):
        try:
            s = str(self.process.readAllStandardOutput())
        except:
            s = ""
        try:
            self.ui.out.insertPlainText(s)
        except:
            print_error("(String não capturada)")

    def print_error(self):
        s = str(self.process.readAllStandardError())
        msg = "<br><p style='color: red; font-weight: bold'>%s</p>" % s.replace(
            '\n', '<br>')
        self.ui.errors.insertHtml(msg)

    def clearOutputs(self):
        self.ui.out.setPlainText('')
        self.ui.errors.setPlainText('')
        self.ui.statusbar.clearMessage()

    def get_output_folder(self):
        if 'win' in sys.platform.lower():
            return 'file:///' + self.output_folder.replace('\\', '/')
        else:
            return 'file://' + self.output_folder

    def open_link(self):
        path = self.get_output_folder() + 'index.html'
        print path
        QtGui.QDesktopServices.openUrl(
            QtCore.QUrl(path, QtCore.QUrl.TolerantMode))

    def open_folder(self):
        path = self.get_output_folder()
        QtGui.QDesktopServices.openUrl(path)

    def run(self):
        self.clearOutputs()
        self.ui.resultsWidget.setDisabled(True)

        self.current_file = self.ui.input.toPlainText()

        self.ui.runner.setDisabled(True)
        self.ui.runner.setText('Aguarde, processando...')
        self.ui.statusbar.showMessage('Aguarde, processando...')
        self.process = QtCore.QProcess(self)
        self.process.readyReadStandardOutput.connect(self.print_text)
        self.process.readyReadStandardError.connect(self.print_error)
        self.process.finished.connect(self.finished)
        if 'win' in sys.platform.lower():
            cmd = 'runner.exe'
        else:
            cmd = './runner.py'
        self.process.start(cmd, [self.current_file])

    def choose_file(self):
        last_file = self.settings.value('lastFile', None)
        if last_file:
            folder = os.path.abspath(os.path.join(last_file, os.pardir))
        else:
            folder = '.'
        filename = QtGui.QFileDialog.getOpenFileName(self, "Open Image",
                                                     folder,
                                                     "Text files (*.config)")
        path = filename[0]
        self.settings.setValue('lastFile', path)
        self.ui.input.setPlainText(path)

    def finished(self):
        self.ui.runner.setDisabled(False)
        self.ui.runner.setText('Executar')
        self.ui.statusbar.showMessage('Processo finalizado!')

        s = self.ui.out.toPlainText()
        # getting from output result folder
        results = re.findall(r"\>\'.*?\'\<", s)
        if results:
            self.output_folder = unicode(results[0][2:-2] + os.sep)
            self.ui.resultsWidget.setDisabled(False)