Ejemplo n.º 1
0
    def direct(self, flows):
        flownum = 0
        child_types = []
        for flownum, flow in enumerate(flows, start=1):
            self.raw_line.emit("Flow {0}: {1} -> {2}".format(flownum, flow.source, flow.target))
            for rule in sorted(flow.rules):
                self.raw_line.emit("    {0}".format(rule))

            self.raw_line.emit("")

            # Generate results for flow browser
            if self.out:
                child_types.append((flow.target, sorted(str(r) for r in flow.rules)))
            else:
                child_types.append((flow.source, sorted(str(r) for r in flow.rules)))

            if QThread.currentThread().isInterruptionRequested():
                break
            else:
                QThread.yieldCurrentThread()

        self.raw_line.emit("{0} information flow(s) found.\n".format(flownum))
        self.log.info("{0} information flow(s) found.".format(flownum))

        # Update browser:
        root_type = self.query.source if self.out else self.query.target
        self.flows.emit(str(root_type), self.out, sorted(child_types))
Ejemplo n.º 2
0
    def direct(self, flows):
        flownum = 0
        child_types = []
        for flownum, flow in enumerate(flows, start=1):
            self.raw_line.emit("Flow {0}: {1} -> {2}".format(
                flownum, flow.source, flow.target))
            for rule in sorted(flow.rules):
                self.raw_line.emit("    {0}".format(rule))

            self.raw_line.emit("")

            # Generate results for flow browser
            if self.out:
                child_types.append(
                    (flow.target, sorted(str(r) for r in flow.rules)))
            else:
                child_types.append(
                    (flow.source, sorted(str(r) for r in flow.rules)))

            if QThread.currentThread().isInterruptionRequested():
                break
            else:
                QThread.yieldCurrentThread()

        self.raw_line.emit("{0} information flow(s) found.\n".format(flownum))
        self.log.info("{0} information flow(s) found.".format(flownum))

        # Update browser:
        root_type = self.query.source if self.out else self.query.target
        self.flows.emit(str(root_type), self.out, sorted(child_types))
Ejemplo n.º 3
0
Archivo: dta.py Proyecto: jakev/setools
    def direct(self, transitions):
        i = 0
        child_types = []
        for i, step in enumerate(transitions, start=1):
            self.raw_line.emit("Transition {0}: {1} -> {2}\n".format(i, step.source, step.target))
            sort_transition(step)
            print_transition(self.raw_line.emit, step)

            # Generate results for flow browser
            if self.out:
                child_types.append((step.target, step))
            else:
                child_types.append((step.source, step))

            if QThread.currentThread().isInterruptionRequested():
                break
            else:
                QThread.yieldCurrentThread()

        self.raw_line.emit("{0} domain transition(s) found.".format(i))
        self.log.info("{0} domain transition(s) found.".format(i))

        # Update browser:
        root_type = self.query.source if self.out else self.query.target
        self.trans.emit(str(root_type), self.out, sorted(child_types))
Ejemplo n.º 4
0
 def decodeQR(self, frame, qrlist):
     now = time()
     yNew = round(frame.shape[0] / 2)
     xNew = round(frame.shape[1] / 2)
     barcodes = pyzbar.decode(cv2.resize(frame, (xNew, yNew)),
                              symbols=[ZBarSymbol.QRCODE])
     QThread.yieldCurrentThread()
     if len(barcodes) > 0:
         update = False
         for barcode in barcodes:
             bData = barcode.data.decode('utf-8')
             if bData in qrlist.keys():
                 if now - qrlist[bData] < 1:
                     continue
             qrlist[bData] = now
             (x, y, w, h) = barcode.rect
             (x, y, w, h) = (x * 2, y * 2, w * 2, h * 2)
             cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 0, 255), 2)
             cv2.putText(frame, bData, (x, y - 10),
                         cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 255), 2)
             update = True
         if update is True:
             self.showCode.emit(frame)
         toRemove = []
         for code, then in qrlist.items():
             if now - then > 300:
                 toRemove.append(code)
         for code in toRemove:
             del (qrlist[code])
         self.newScans.emit(qrlist)
     self.qrReady.emit()
Ejemplo n.º 5
0
    def direct(self, transitions):
        i = 0
        child_types = []
        for i, step in enumerate(transitions, start=1):
            self.raw_line.emit("Transition {0}: {1} -> {2}\n".format(
                i, step.source, step.target))
            sort_transition(step)
            print_transition(self.raw_line.emit, step)

            # Generate results for flow browser
            if self.out:
                child_types.append((step.target, step))
            else:
                child_types.append((step.source, step))

            if QThread.currentThread().isInterruptionRequested():
                break
            else:
                QThread.yieldCurrentThread()

        self.raw_line.emit("{0} domain transition(s) found.".format(i))
        self.log.info("{0} domain transition(s) found.".format(i))

        # Update browser:
        root_type = self.query.source if self.out else self.query.target
        self.trans.emit(str(root_type), self.out, sorted(child_types))
Ejemplo n.º 6
0
    def run(self):
        try:
            req = requests.get(
                UrlGetAppsByCategory.format(category=self.category,
                                            pageno=1,
                                            count=20,
                                            time=time()))
            content = req.json()
            errno = content.get('errno', 0)
            AppLog.debug('errno: %s', errno)
            AppLog.debug('msg: %s', content.get('msg', ''))
            if errno != 0:
                return

            content = content.get('data', {})
            AppLog.debug('total_count: %s', content.get('total_count', ''))
            AppLog.debug('total_page: %s', content.get('total_page', ''))
            items = content.get('list', [])

            for i, item in enumerate(items):
                title = item.get('title', '')
                url = item.get('image', None)
                if not url:
                    continue
                self.download(i, title, url)
                QThread.msleep(200)
                QThread.yieldCurrentThread()
        except Exception as e:
            AppLog.exception(e)
        Signals.pictureDownFinished.emit(self.widget)
Ejemplo n.º 7
0
    def run(self):
        AppLog.info('start get all colourful')
        # 午夜巴黎
        mcolor = QLinearGradient(0, 0, self.width, self.height)
        mcolor.ex = 1
        mcolor.ey = 1
        mcolor.startColor = QColor(20, 179, 255, 255)
        mcolor.endColor = QColor(226, 14, 255, 255)
        mcolor.setColorAt(0, mcolor.startColor)
        mcolor.setColorAt(1, mcolor.endColor)
        # 樱草青葱
        pcolor = QLinearGradient(0, 0, self.width, self.height)
        pcolor.ex = 1
        pcolor.ey = 1
        pcolor.startColor = QColor(0, 173, 246, 255)
        pcolor.endColor = QColor(0, 234, 155, 255)
        pcolor.setColorAt(0, pcolor.startColor)
        pcolor.setColorAt(1, pcolor.endColor)
        # 秋日暖阳
        acolor = QLinearGradient(0, 0, self.width, self.height)
        acolor.ex = 1
        acolor.ey = 1
        acolor.startColor = QColor(255, 128, 27, 255)
        acolor.endColor = QColor(255, 0, 14, 255)
        acolor.setColorAt(0, acolor.startColor)
        acolor.setColorAt(1, acolor.endColor)

        defaults = splistList(
            [
                [self.tr('MidnightParis'), mcolor],  # 午夜巴黎
                [self.tr('PrimroseGreenOnion'), pcolor],  # 樱草青葱
                [self.tr('AutumnSun'), acolor],  # 秋日暖阳
                [self.tr('LightGray'),
                 QColor(236, 236, 236)],  # 淡灰色
                [self.tr('DarkBlack'),
                 QColor(33, 33, 33)],  # 深黑色
                [self.tr('BlueGreen'),
                 QColor(0, 190, 172)],  # 蓝绿色
                [self.tr('Orange'), QColor(255, 152, 0)],  # 橙色
                [self.tr('Brown'), QColor(140, 100, 80)],  # 咖啡色
                [self.tr('Green'), QColor(121, 190, 60)],  # 绿色
                [self.tr('Pink'), QColor(236, 98, 161)],  # 粉色
                [self.tr('Purple'), QColor(103, 58, 183)],  # 紫色
                [self.tr('Blue'), QColor(0, 188, 212)],  # 蓝色
                [self.tr('GreyBlue'),
                 QColor(80, 126, 164)],  # 蓝灰色
                [self.tr('Red'), QColor(244, 94, 99)],  # 红色
            ],
            5)

        for row, default in enumerate(defaults):
            for col, (name, color) in enumerate(default):
                Signals.colourfulItemAdded.emit(row, col, name, color)
                QThread.msleep(100)
                QThread.yieldCurrentThread()

        Signals.colourfulItemAddFinished.emit()
        AppLog.info('colourful thread end')
Ejemplo n.º 8
0
 def __getConnected(self):
     self.emitStatusChange("connecting")
     QThread.yieldCurrentThread()
     PycomDeviceServer.channel = pyboard.Pyboard(
         device=PycomDeviceServer.__device,
         user=PycomDeviceServer.__user,
         password=PycomDeviceServer.__password,
         keep_alive=3,
         connection_timeout=10)
     PycomDeviceServer.channel.reset()
     self.emitStatusChange("connected")
Ejemplo n.º 9
0
	def run(self):
		text = None
		while not self.doExit:
			try:				
				text = self.queue.get()
				if text:
					self.logText.emit(text)
					text = None
				QThread.yieldCurrentThread()
			except Exception as e:
				self.errorMsg.emit( 'OutputStreamReceiver stderr exception: ' + traceback.format_exc() )
Ejemplo n.º 10
0
    def direct(self, transitions):
        i = 0
        for i, step in enumerate(transitions, start=1):
            self.raw_line.emit("Transition {0}: {1} -> {2}\n".format(i, step.source, step.target))
            self.print_transition(step)

            if QThread.currentThread().isInterruptionRequested() or (i >= self.query.limit):
                break
            else:
                QThread.yieldCurrentThread()

        self.raw_line.emit("{0} domain transition(s) found.".format(i))
Ejemplo n.º 11
0
    def __getConnected(self):
        self.emitStatusChange("connecting")
        QThread.yieldCurrentThread()
        PycomDeviceServer.channel = pyboard.Pyboard(device=PycomDeviceServer.__device,
            user=PycomDeviceServer.__user, password=PycomDeviceServer.__password, keep_alive=3, connection_timeout=10,reconnectingCallback=self.__reconnectingCallback)

        self.emitStatusChange("connected")

        if int(self.getPreferences("softResetConnect")) == 2:
            PycomDeviceServer.channel.reset()
            self.emitStatusChange("softreset")
        else:
            PycomDeviceServer.channel.stop_running_programs()
            PycomDeviceServer.channel.enter_friendly_repl()
Ejemplo n.º 12
0
    def direct(self, transitions):
        i = 0
        for i, step in enumerate(transitions, start=1):
            self.raw_line.emit("Transition {0}: {1} -> {2}\n".format(
                i, step.source, step.target))
            self.print_transition(step)

            if QThread.currentThread().isInterruptionRequested() or (
                    i >= self.query.limit):
                break
            else:
                QThread.yieldCurrentThread()

        self.raw_line.emit("{0} domain transition(s) found.".format(i))
Ejemplo n.º 13
0
    def run(self):

        defaults = [[p.parent.name, str(p)]
                    for p in Path(DirThemes).rglob('style.qss')]

        defaults = splistList(defaults, 5)

        for row, default in enumerate(defaults):
            for col, (name, path) in enumerate(default):
                Signals.themeItemAdded.emit(row, col, name, path)
                QThread.msleep(100)
                QThread.yieldCurrentThread()

        Signals.themeItemAddFinished.emit()
Ejemplo n.º 14
0
    def direct(self, flows):
        flownum = 0
        for flownum, flow in enumerate(flows, start=1):
            self.raw_line.emit("Flow {0}: {1} -> {2}".format(flownum, flow.source, flow.target))
            for rule in sorted(flow.rules):
                self.raw_line.emit("    {0}".format(rule))

            self.raw_line.emit("")

            if QThread.currentThread().isInterruptionRequested() or (flownum >= self.query.limit):
                break
            else:
                QThread.yieldCurrentThread()

        self.raw_line.emit("{0} information flow(s) found.\n".format(flownum))
Ejemplo n.º 15
0
    def transitive(self, paths):
        i = 0
        for i, path in enumerate(paths, start=1):
            self.raw_line.emit("Domain transition path {0}:".format(i))

            for stepnum, step in enumerate(path, start=1):

                self.raw_line.emit("Step {0}: {1} -> {2}\n".format(stepnum, step.source,
                                                                   step.target))
                self.print_transition(step)

            if QThread.currentThread().isInterruptionRequested() or (i >= self.query.limit):
                break
            else:
                QThread.yieldCurrentThread()

        self.raw_line.emit("{0} domain transition path(s) found.".format(i))
Ejemplo n.º 16
0
 def startCam(self, cam):
     while self.stopNow is False and cam.isOpened() is True:
         check = cam.grab()
         QThread.yieldCurrentThread()
         QCoreApplication.processEvents()
         try:
             if check is True and cam.isOpened(
             ) is True and self.stopNow is False:
                 check, frame = cam.retrieve()
                 if check is True:
                     self.newFrame.emit(frame)
                     QThread.yieldCurrentThread()
         except:
             QCoreApplication.processEvents()
             continue
     if cam.isOpened() is True:
         cam.release()
     print('Camera Released')
Ejemplo n.º 17
0
    def transitive(self, paths):
        i = 0
        for i, path in enumerate(paths, start=1):
            self.raw_line.emit("Domain transition path {0}:".format(i))

            for stepnum, step in enumerate(path, start=1):

                self.raw_line.emit("Step {0}: {1} -> {2}\n".format(
                    stepnum, step.source, step.target))
                self.print_transition(step)

            if QThread.currentThread().isInterruptionRequested() or (
                    i >= self.query.limit):
                break
            else:
                QThread.yieldCurrentThread()

        self.raw_line.emit("{0} domain transition path(s) found.".format(i))
Ejemplo n.º 18
0
    def run(self):
        flownum = 0
        child_types = []
        for flownum, flow in enumerate(self.query.infoflows(self.type_, out=self.out), start=1):
            # Generate results for flow browser
            if self.out:
                child_types.append((flow.target, sorted(str(r) for r in flow.rules)))
            else:
                child_types.append((flow.source, sorted(str(r) for r in flow.rules)))

            if QThread.currentThread().isInterruptionRequested():
                break
            else:
                QThread.yieldCurrentThread()

        self.log.debug("{0} additional information flow(s) found.".format(flownum))

        # Update browser:
        self.flows.emit(sorted(child_types))
Ejemplo n.º 19
0
    def run(self):
        flownum = 0
        child_types = []
        for flownum, flow in enumerate(self.query.infoflows(self.type_, out=self.out), start=1):
            # Generate results for flow browser
            if self.out:
                child_types.append((flow.target, sorted(str(r) for r in flow.rules)))
            else:
                child_types.append((flow.source, sorted(str(r) for r in flow.rules)))

            if QThread.currentThread().isInterruptionRequested():
                break
            else:
                QThread.yieldCurrentThread()

        self.log.debug("{0} additional information flow(s) found.".format(flownum))

        # Update browser:
        self.flows.emit(sorted(child_types))
Ejemplo n.º 20
0
Archivo: dta.py Proyecto: jakev/setools
    def run(self):
        transnum = 0
        child_types = []
        for transnum, trans in enumerate(self.query.transitions(self.type_), start=1):
            # Generate results for browser
            sort_transition(trans)

            if self.out:
                child_types.append((trans.target, trans))
            else:
                child_types.append((trans.source, trans))

            if QThread.currentThread().isInterruptionRequested():
                break
            else:
                QThread.yieldCurrentThread()

        self.log.debug("{0} additional domain transition(s) found.".format(transnum))

        # Update browser:
        self.trans.emit(sorted(child_types))
Ejemplo n.º 21
0
    def run(self):
        transnum = 0
        child_types = []
        for transnum, trans in enumerate(self.query.transitions(self.type_), start=1):
            # Generate results for browser
            sort_transition(trans)

            if self.out:
                child_types.append((trans.target, trans))
            else:
                child_types.append((trans.source, trans))

            if QThread.currentThread().isInterruptionRequested():
                break
            else:
                QThread.yieldCurrentThread()

        self.log.debug("{0} additional domain transition(s) found.".format(transnum))

        # Update browser:
        self.trans.emit(sorted(child_types))
Ejemplo n.º 22
0
    def update(self):
        """Run the query and update results."""
        self.model.beginResetModel()

        results = []
        counter = 0

        for counter, item in enumerate(self.query.results(), start=1):
            results.append(item)

            self.raw_line.emit(str(item))

            if QThread.currentThread().isInterruptionRequested():
                break
            elif not counter % 10:
                # yield execution every 10 rules
                QThread.yieldCurrentThread()

        self.model.resultlist = results
        self.model.endResetModel()

        self.finished.emit(counter)
Ejemplo n.º 23
0
    def update(self):
        """Run the query and update results."""
        self.table_results_model.beginResetModel()

        results = []
        counter = 0

        for counter, item in enumerate(self.query.results(), start=1):
            results.append(item)

            self.raw_line.emit(str(item))

            if QThread.currentThread().isInterruptionRequested():
                break
            elif not counter % 10:
                # yield execution every 10 rules
                QThread.yieldCurrentThread()

        self.table_results_model.resultlist = results
        self.table_results_model.endResetModel()

        self.finished.emit()
Ejemplo n.º 24
0
    def transitive(self, paths):
        pathnum = 0
        for pathnum, path in enumerate(paths, start=1):
            self.raw_line.emit("Flow {0}:".format(pathnum))
            for stepnum, step in enumerate(path, start=1):
                self.raw_line.emit("  Step {0}: {1} -> {2}".format(stepnum,
                                                                   step.source,
                                                                   step.target))

                for rule in sorted(step.rules):
                    self.raw_line.emit("    {0}".format(rule))

                self.raw_line.emit("")

            if QThread.currentThread().isInterruptionRequested() or (pathnum >= self.query.limit):
                break
            else:
                QThread.yieldCurrentThread()

            self.raw_line.emit("")

        self.raw_line.emit("{0} information flow path(s) found.\n".format(pathnum))