def set_preview_tree(self):
        """
            Set the tree-view previewing which files to aggregate.
            I hate this method but I'm too lazy to clean it up.
        """
        preview_tree = self.preview_frame.preview_tree
        # clear it out first
        preview_tree.delete(*preview_tree.get_children())
        file_count = 0  # total number of files we plan on combining, used to track progress
        if self.source_directory_var.get():
            # source directory we selected as the root
            preview_tree.insert('',
                                'end',
                                SOURCE_IID,
                                text=path.split(
                                    self.source_directory_var.get())[1],
                                open=True)
            # display any pdfs in root
            root_pdfs = combiner.get_files_to_merge_in_dir(
                self.source_directory_var.get(),
                include_jpg=self.include_jpg_var.get(),
                include_xps=self.include_xps_var.get())
            for root_pdf in root_pdfs:
                preview_tree.insert(SOURCE_IID,
                                    'end',
                                    text=path.split(root_pdf)[1])
            file_count = len(root_pdfs)

            # get all its child directories
            children = combiner.get_child_dirs(self.source_directory_var.get())
            for child in children:
                preview_tree.insert(SOURCE_IID,
                                    'end',
                                    child,
                                    text=path.split(child)[1])
                # any of its pdfs there
                child_pdfs = combiner.get_files_to_merge_in_dir(
                    child,
                    include_jpg=self.include_jpg_var.get(),
                    include_xps=self.include_xps_var.get())
                for child_pdf in child_pdfs:
                    preview_tree.insert(child,
                                        'end',
                                        text=path.split(child_pdf)[1])

                file_count = file_count + len(child_pdfs)
        self.progress_bar.progress_goal = file_count
Exemple #2
0
def test_get_files_to_merge_will_accept_xps_files():
    files_to_merge = combiner.get_files_to_merge_in_dir(TEST_SUB_DIR_3_PATH, 
                                                        include_jpg=False,
                                                        include_xps=True)
    assert len(files_to_merge) == 3
    assert os.path.join(TEST_SUB_DIR_3_PATH, 'testpdf7.pdf') in files_to_merge
    assert os.path.join(TEST_SUB_DIR_3_PATH, 'multipage.xps') in files_to_merge
    assert os.path.join(TEST_SUB_DIR_3_PATH, 'singlepage.xps') in files_to_merge
Exemple #3
0
def test_get_files_to_merge_will_accept_jpg_files():
    files_to_merge = combiner.get_files_to_merge_in_dir(TEST_SUB_DIR_1_PATH, 
                                                        include_jpg=True)
    assert len(files_to_merge) == 6
    assert os.path.join(TEST_SUB_DIR_1_PATH, 'testpdf3.pdf') in files_to_merge
    assert os.path.join(TEST_SUB_DIR_1_PATH, 'testpdf4.pdf') in files_to_merge
    assert os.path.join(TEST_SUB_DIR_1_PATH, 'basicJPEG.jpeg') in files_to_merge
    assert os.path.join(TEST_SUB_DIR_1_PATH, 'basic.jpg') in files_to_merge
    assert os.path.join(TEST_SUB_DIR_1_PATH, 'BIG.jpg') in files_to_merge
    assert os.path.join(TEST_SUB_DIR_1_PATH, 'color.jpg') in files_to_merge
Exemple #4
0
def test_get_files_to_merge_does_not_include_non_pdfs():
    pdfs = combiner.get_files_to_merge_in_dir(TEST_SUB_DIR_1_PATH)
    assert len(pdfs) == 2
    assert os.path.join(TEST_SUB_DIR_1_PATH, 'testpdf3.pdf') in pdfs
    assert os.path.join(TEST_SUB_DIR_1_PATH, 'testpdf4.pdf') in pdfs
Exemple #5
0
def test_get_files_to_merge_does_not_include_sub_dirs():
    pdfs = combiner.get_files_to_merge_in_dir(TEST_INPUT_DIR)
    assert len(pdfs) == 3
    assert os.path.join(TEST_INPUT_DIR, 'testpdf1.pdf') in pdfs
    assert os.path.join(TEST_INPUT_DIR, 'testpdf2.pdf') in pdfs
    assert os.path.join(TEST_INPUT_DIR, 'napoleon.pdf') in pdfs
Exemple #6
0
def test_get_files_to_merge_empty():
    pdfs = combiner.get_files_to_merge_in_dir(TEST_EMPTY_PATH)
    assert len(pdfs) == 0
Exemple #7
0
def test_get_files_to_merge_base_case():
    pdfs = combiner.get_files_to_merge_in_dir(TEST_SUB_DIR_2_PATH)
    assert len(pdfs) == 2
    assert os.path.join(TEST_SUB_DIR_2_PATH, 'testpdf5.pdf') in pdfs
    assert os.path.join(TEST_SUB_DIR_2_PATH, 'testpdf6.pdf') in pdfs