Пример #1
0
    def __init__(self, propEditorWidget: QTableWidget,
                 tracker: videotrackr.video.video_tracker, DEBUG):
        self.debug_logger = logger(DEBUG)

        self.editor = propEditorWidget
        self.tracker = tracker

        self.editor.setRowCount(6)

        hframesLabel = QTableWidgetItem(ui_strings.HISTORY_FRAMES)
        hframesLabel.setFlags(Qt.ItemIsEnabled)
        self.editor.setItem(0, 0, hframesLabel)
        hframes = QTableWidgetItem(str(self.tracker.data.history_frames))
        hframes.setFlags(Qt.ItemIsEditable | Qt.ItemIsEnabled)
        self.editor.setItem(0, 1, hframes)

        distLabel = QTableWidgetItem(ui_strings.DIST_THRESHOLD)
        distLabel.setFlags(Qt.ItemIsEnabled)
        self.editor.setItem(1, 0, distLabel)
        dist = QTableWidgetItem(str(self.tracker.data.dist_threshold))
        dist.setFlags(Qt.ItemIsEditable | Qt.ItemIsEnabled)
        self.editor.setItem(1, 1, dist)

        shadowsLabel = QTableWidgetItem(ui_strings.SHADOWS)
        shadowsLabel.setFlags(Qt.ItemIsEnabled)
        self.editor.setItem(2, 0, shadowsLabel)
        shadows = QTableWidgetItem()
        shadows.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled)
        if self.tracker.data.shadows:
            shadows.setCheckState(Qt.Checked)
        else:
            shadows.setCheckState(Qt.Unchecked)
        self.editor.setItem(2, 1, shadows)

        minareaLabel = QTableWidgetItem(ui_strings.MIN_AREA)
        minareaLabel.setFlags(Qt.ItemIsEnabled)
        self.editor.setItem(3, 0, minareaLabel)
        minarea = QTableWidgetItem(str(self.tracker.data.min_area))
        minarea.setFlags(Qt.ItemIsEditable | Qt.ItemIsEnabled)
        self.editor.setItem(3, 1, minarea)

        maxareaLabel = QTableWidgetItem(ui_strings.MAX_AREA)
        maxareaLabel.setFlags(Qt.ItemIsEnabled)
        self.editor.setItem(4, 0, maxareaLabel)
        maxarea = QTableWidgetItem(str(self.tracker.data.max_area))
        maxarea.setFlags(Qt.ItemIsEditable | Qt.ItemIsEnabled)
        self.editor.setItem(4, 1, maxarea)

        zoomLabel = QTableWidgetItem(ui_strings.ZOOM_LEVEL)
        zoomLabel.setFlags(Qt.ItemIsEnabled)
        self.editor.setItem(5, 0, zoomLabel)
        zoom = QTableWidgetItem(str(self.tracker.data.zoom_level))
        zoom.setFlags(Qt.ItemIsEditable | Qt.ItemIsEnabled)
        self.editor.setItem(5, 1, zoom)

        self.editor.itemChanged.connect(self.update_properties)
Пример #2
0
    def __init__(self, parent, file_path, callback, persepolis_setting):
        super().__init__(persepolis_setting)
        self.persepolis_setting = persepolis_setting
        self.callback = callback
        self.file_path = file_path
        self.parent = parent

        global icons
        icons = ':/' + \
            str(self.persepolis_setting.value('settings/icons')) + '/'

        # read text file lines and put links in list format.
        f = open(self.file_path)
        f_links_list = f.readlines()
        f.close()

        f_links_list.reverse()

        # check links! links must be started with http or https or ftp
        link_list = []
        for link in f_links_list:
            text = link.strip()
            if ("tp:/" in text[2:6]) or ("tps:/" in text[2:7]):
                link_list.append(text)

        k = 1
        for link in link_list:
            self.links_table.insertRow(0)

            # file_name
            file_name = '***'
            dict = {'link': link}

            # spider finds file name
            new_spider = QueueSpiderThread(dict)
            self.parent.threadPool.append(new_spider)
            self.parent.threadPool[len(self.parent.threadPool) - 1].start()
            self.parent.threadPool[len(self.parent.threadPool) -
                                   1].QUEUESPIDERRETURNEDFILENAME.connect(
                                       partial(self.parent.queueSpiderCallBack,
                                               child=self,
                                               row_number=len(link_list) - k))
            k = k + 1

            item = QTableWidgetItem(file_name)

            # add checkbox to the item
            item.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled)
            item.setCheckState(Qt.Checked)

            # insert file_name
            self.links_table.setItem(0, 0, item)

            # insert link
            item = QTableWidgetItem(str(link))
            self.links_table.setItem(0, 1, item)

        # get categories name and add them to add_queue_comboBox
        categories_list = self.parent.persepolis_db.categoriesList()

        for queue in categories_list:
            if queue != 'All Downloads':
                self.add_queue_comboBox.addItem(queue)

        self.add_queue_comboBox.addItem(QIcon(icons + 'add_queue'),
                                        'Create new queue')

        # entry initialization

        # get values from persepolis_setting
        global connections
        connections = int(
            self.persepolis_setting.value('settings/connections'))
        global download_path
        download_path = str(
            self.persepolis_setting.value('settings/download_path'))

        self.connections_spinBox.setValue(connections)
        self.download_folder_lineEdit.setText(download_path)
        self.download_folder_lineEdit.setEnabled(False)

        # ip_lineEdit initialization
        settings_ip = self.persepolis_setting.value(
            'add_link_initialization/ip', None)
        if settings_ip:
            self.ip_lineEdit.setText(str(settings_ip))

        # proxy user lineEdit initialization
        settings_proxy_user = self.persepolis_setting.value(
            'add_link_initialization/proxy_user', None)
        if settings_proxy_user:
            self.proxy_user_lineEdit.setText(str(settings_proxy_user))

        # port_spinBox initialization
        settings_port = self.persepolis_setting.value(
            'add_link_initialization/port', 0)

        self.port_spinBox.setValue(int(int(settings_port)))

        # download UserName initialization
        settings_download_user = self.persepolis_setting.value(
            'add_link_initialization/download_user', None)
        if settings_download_user:
            self.download_user_lineEdit.setText(str(settings_download_user))

        # connect folder_pushButton
        self.folder_pushButton.clicked.connect(self.changeFolder)

        # connect OK and cancel button
        self.cancel_pushButton.clicked.connect(self.close)
        self.ok_pushButton.clicked.connect(self.okButtonPressed)

        # connect select_all_pushButton  deselect_all_pushButton
        self.select_all_pushButton.clicked.connect(self.selectAll)

        self.deselect_all_pushButton.clicked.connect(self.deselectAll)

        #frames and checkBoxes
        self.proxy_frame.setEnabled(False)
        self.proxy_checkBox.toggled.connect(self.proxyFrame)

        self.download_frame.setEnabled(False)
        self.download_checkBox.toggled.connect(self.downloadFrame)

        self.limit_frame.setEnabled(False)
        self.limit_checkBox.toggled.connect(self.limitFrame)

        # set focus to ok button
        self.ok_pushButton.setFocus()

        # add_queue_comboBox event
        self.add_queue_comboBox.currentIndexChanged.connect(self.queueChanged)

        # setting window size and position
        size = self.persepolis_setting.value('TextQueue/size', QSize(700, 500))
        position = self.persepolis_setting.value('TextQueue/position',
                                                 QPoint(300, 300))
        self.resize(size)
        self.move(position)
Пример #3
0
    def __init__(self, parent, list_of_links, callback, persepolis_setting):
        super().__init__(persepolis_setting)
        self.persepolis_setting = persepolis_setting
        self.callback = callback
        self.parent = parent
        self.list_of_links = list_of_links

        global icons
        icons = ':/' + \
            str(self.persepolis_setting.value('settings/icons')) + '/'

        self.list_of_links.reverse()

        k = 1
        for dict in self.list_of_links:
            # add row to the links_table
            self.links_table.insertRow(0)

            # file_name
            if 'out' in dict:
                if dict['out']:
                    file_name = dict['out']
                else:
                    file_name = '***'
            else:
                file_name = '***'

            if file_name == '***':
                # spider finds file name
                new_spider = QueueSpiderThread(dict)
                self.parent.threadPool.append(new_spider)
                self.parent.threadPool[len(self.parent.threadPool) - 1].start()
                self.parent.threadPool[len(self.parent.threadPool) -
                                       1].QUEUESPIDERRETURNEDFILENAME.connect(
                                           partial(
                                               self.parent.queueSpiderCallBack,
                                               child=self,
                                               row_number=len(
                                                   self.list_of_links) - k))
            k = k + 1

            item = QTableWidgetItem(file_name)
            # add checkbox to the item
            item.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled)
            item.setCheckState(Qt.Checked)

            # insert file_name
            self.links_table.setItem(0, 0, item)

            # find link
            link = dict['link']
            item = QTableWidgetItem(str(link))

            # insert link
            self.links_table.setItem(0, 1, item)

# get categories name and add them to add_queue_comboBox
        categories_list = self.parent.persepolis_db.categoriesList()

        for queue in categories_list:
            if queue != 'All Downloads':
                self.add_queue_comboBox.addItem(queue)

        self.add_queue_comboBox.addItem(QIcon(icons + 'add_queue'),
                                        'Create new queue')

        # entry initialization
        global connections
        connections = int(
            self.persepolis_setting.value('settings/connections'))
        global download_path
        download_path = str(
            self.persepolis_setting.value('settings/download_path'))

        # initialization
        self.connections_spinBox.setValue(connections)
        self.download_folder_lineEdit.setText(download_path)
        self.download_folder_lineEdit.setEnabled(False)

        # ip_lineEdit initialization
        settings_ip = self.persepolis_setting.value(
            'add_link_initialization/ip', None)
        if settings_ip:
            self.ip_lineEdit.setText(str(settings_ip))

# proxy user lineEdit initialization
        settings_proxy_user = self.persepolis_setting.value(
            'add_link_initialization/proxy_user', None)
        if settings_proxy_user:
            self.proxy_user_lineEdit.setText(str(settings_proxy_user))

# port_spinBox initialization
        settings_port = self.persepolis_setting.value(
            'add_link_initialization/port', 0)

        self.port_spinBox.setValue(int(int(settings_port)))

        # download UserName initialization
        settings_download_user = self.persepolis_setting.value(
            'add_link_initialization/download_user', None)
        if settings_download_user:
            self.download_user_lineEdit.setText(str(settings_download_user))

# connect folder_pushButton
        self.folder_pushButton.clicked.connect(self.changeFolder)

        # connect OK and cancel button

        self.cancel_pushButton.clicked.connect(self.close)
        self.ok_pushButton.clicked.connect(self.okButtonPressed)

        # connect select_all_pushButton  deselect_all_pushButton
        self.select_all_pushButton.clicked.connect(self.selectAll)

        self.deselect_all_pushButton.clicked.connect(self.deselectAll)

        #frames and checkBoxes
        self.proxy_frame.setEnabled(False)
        self.proxy_checkBox.toggled.connect(self.proxyFrame)

        self.download_frame.setEnabled(False)
        self.download_checkBox.toggled.connect(self.downloadFrame)

        self.limit_frame.setEnabled(False)
        self.limit_checkBox.toggled.connect(self.limitFrame)

        # set focus to ok button
        self.ok_pushButton.setFocus()

        # add_queue_comboBox event
        self.add_queue_comboBox.currentIndexChanged.connect(self.queueChanged)

        # set window size and position
        size = self.persepolis_setting.value('TextQueue/size', QSize(700, 500))
        position = self.persepolis_setting.value('TextQueue/position',
                                                 QPoint(300, 300))
        self.resize(size)
        self.move(position)