コード例 #1
0
    def test(self):

        with open(self._join_data_path('test_file1.py')) as f:
            text1 = f.read()

        with open(self._join_data_path('test_file2.py')) as f:
            text2 = f.read()

        raw_text_document1 = RawTextDocument(text1)
        raw_text_document2 = RawTextDocument(text2)

        two_way_file_diff_factory = TwoWayFileDiffFactory()
        file_diff = two_way_file_diff_factory.process(raw_text_document1,
                                                      raw_text_document2)

        file_diff.pretty_print()
        file_diff.print_unidiff()

        print('=' * 10)
        replace_group = file_diff[1]
        print(replace_group)
        print(replace_group[1].chunk1)
        print(list(replace_group[1].chunk1.line_iterator()))
        print(list(replace_group[1].chunk2.line_iterator()))
        print(list(replace_group[1].chunk1.line_slice_iterator()))
コード例 #2
0
    def test_empty(self):

        text1 = ''

        with open(self._join_data_path('test_file2.py')) as f:
            text2 = f.read()

        raw_text_document1 = RawTextDocument(text1)
        raw_text_document2 = RawTextDocument(text2)

        two_way_file_diff_factory = TwoWayFileDiffFactory()
        file_diff = two_way_file_diff_factory.process(raw_text_document1, raw_text_document2)

        file_diff.pretty_print()
        file_diff.print_unidiff()
コード例 #3
0
    def test_empty(self):

        text1 = ''
        
        with open(self._join_data_path('test_file2.py')) as f:
            text2 = f.read()

        raw_text_document1 = RawTextDocument(text1)
        raw_text_document2 = RawTextDocument(text2)
        
        two_way_file_diff_factory = TwoWayFileDiffFactory()
        file_diff = two_way_file_diff_factory.process(raw_text_document1, raw_text_document2)

        file_diff.pretty_print()
        file_diff.print_unidiff()
コード例 #4
0
    def test(self):

        with open(self._join_data_path('test_file1.py')) as f:
            text1 = f.read()

        with open(self._join_data_path('test_file2.py')) as f:
            text2 = f.read()

        lexer = get_lexer_for_filename('data/test_file1.py', stripnl=False)

        raw_text_document1 = RawTextDocument(text1)
        raw_text_document2 = RawTextDocument(text2)
        file_diff = TwoWayFileDiffFactory().process(raw_text_document1,
                                                    raw_text_document2)
        document_model1, document_model2 = TextDocumentDiffModelFactory(
        ).process(file_diff)

        highlighted_text1 = HighlightedText(raw_text_document1, lexer)

        print('Document 1:')
        self._pretty_print(document_model1)
        print('\nHighlighted Document 1:')
        highlighted_document1 = highlight_document(document_model1,
                                                   highlighted_text1)
        self._pretty_print(highlighted_document1)
コード例 #5
0
    def diff_text_documents(self, show=False):

        OLD, NEW = list(range(2))
        for i in (OLD, NEW):
            if self._paths[i] is None:
                self._texts[i] = ''
            elif self._texts[i] is None:
                self._texts[i] = self._read_file(self._paths[i])
        lexers = [
            self._get_lexer(path, text)
            for path, text in zip(self._paths, self._texts)
        ]
        raw_text_documents = [RawTextDocument(text) for text in self._texts]

        highlight = self._highlight_action.isChecked()
        number_of_lines_of_context = self._lines_of_context_combobox.currentData(
        )

        self._highlighted_documents = []
        if not show:
            file_diff = TwoWayFileDiffFactory().process(
                *raw_text_documents,
                number_of_lines_of_context=number_of_lines_of_context,
            )
            document_models = TextDocumentDiffModelFactory().process(file_diff)
            for raw_text_document, document_model, lexer in zip(
                    raw_text_documents, document_models, lexers):
                if lexer is not None and highlight:
                    highlighted_text = HighlightedText(raw_text_document,
                                                       lexer)
                    highlighted_document = highlight_document(
                        document_model, highlighted_text)
                else:
                    highlighted_document = document_model
                self._highlighted_documents.append(highlighted_document)
        else:  # Only show the document
            # Fixme: broken, chunk_type is ???
            # self._diff_view.set_document_models(self._highlighted_documents, complete_mode)
            # File "/home/gv/fabrice/unison-osiris/git-python/CodeReview/DiffWidget.py", line 333, in set_document_models
            # cursor.begin_block(side, text_block.frame_type)
            # File "/home/gv/fabrice/unison-osiris/git-python/CodeReview/DiffWidget.py", line 99, in begin_block
            # if ((side == LEFT and frame_type == chunk_type.insert) or
            # File "/home/gv/fabrice/unison-osiris/git-python/CodeReview/Tools/EnumFactory.py", line 107, in __eq__
            # return self._value == int(other)
            # TypeError: int() argument must be a string or a number, not 'NoneType'
            for raw_text_document, lexer in zip(raw_text_documents,
                                                self._lexers):
                highlighted_document = highlight_text(raw_text_document, lexer)
                self._highlighted_documents.append(highlighted_document)

        if self._metadatas is not None:
            for highlighted_document, metadata in zip(
                    self._highlighted_documents, self._metadatas):
                highlighted_document.metadata = metadata
コード例 #6
0
    def test(self):

        with open(self._join_data_path('test_file1.py')) as f:
            text1 = f.read()

        with open(self._join_data_path('test_file2.py')) as f:
            text2 = f.read()

        raw_text_document1 = RawTextDocument(text1)
        raw_text_document2 = RawTextDocument(text2)

        two_way_file_diff_factory = TwoWayFileDiffFactory()
        file_diff = two_way_file_diff_factory.process(raw_text_document1, raw_text_document2)

        file_diff.pretty_print()
        file_diff.print_unidiff()

        print('='*10)
        replace_group = file_diff[1]
        print(replace_group)
        print(replace_group[1].chunk1)
        print(list(replace_group[1].chunk1.line_iterator()))
        print(list(replace_group[1].chunk2.line_iterator()))
        print(list(replace_group[1].chunk1.line_slice_iterator()))