Exemplo n.º 1
0
        def filter(self, mediadesc):
            from hwp5.dataio import ParseError
            from hwp5_uno import HwpFileFromInputStream
            from hwp5_uno import load_hwp5file_into_doc

            logger.debug('Importer filter')
            desc = propseq_to_dict(mediadesc)

            logger.debug('mediadesc: %s', str(desc.keys()))
            for k, v in desc.items():
                logger.debug('%s: %s', k, str(v))

            statusindicator = desc.get('StatusIndicator')

            inputstream = desc['InputStream']
            hwpfile = HwpFileFromInputStream(inputstream)
            try:
                load_hwp5file_into_doc(hwpfile, self.target, statusindicator)
            except ParseError as e:
                e.print_to_logger(logger)
                return False
            except Exception as e:
                logger.exception(e)
                return False
            else:
                return True
Exemplo n.º 2
0
        def filter(self, mediadesc):
            from hwp5.dataio import ParseError
            from hwp5_uno import HwpFileFromInputStream
            from hwp5_uno import load_hwp5file_into_doc

            logger.debug('Importer filter')
            desc = propseq_to_dict(mediadesc)

            logger.debug('mediadesc: %s', str(desc.keys()))
            for k, v in desc.items():
                logger.debug('%s: %s', k, str(v))

            statusindicator = desc.get('StatusIndicator')

            inputstream = desc['InputStream']
            hwpfile = HwpFileFromInputStream(inputstream)
            try:
                load_hwp5file_into_doc(hwpfile, self.target, statusindicator)
            except ParseError as e:
                e.print_to_logger(logger)
                return False
            except Exception as e:
                logger.exception(e)
                return False
            else:
                return True
Exemplo n.º 3
0
    def test_basic(self):
        from unokit.services import css
        import unokit.util
        from hwp5.xmlmodel import Hwp5File
        from hwp5_uno import load_hwp5file_into_doc

        desktop = css.frame.Desktop()
        doc = desktop.loadComponentFromURL('private:factory/swriter', '_blank',
                                           0, tuple())
        hwp5path = self.get_fixture_path('sample-5017.hwp')
        hwp5file = Hwp5File(hwp5path)

        load_hwp5file_into_doc(hwp5file, doc)

        text = doc.getText()

        paragraphs = list(self.get_paragraphs(text))

        p = paragraphs[0]
        text_portions = list(self.get_text_portions(p))
        tp = text_portions[0]
        self.assertEqual('Text', tp.TextPortionType)
        self.assertEqual(u'한글 ', tp.String)

        p = paragraphs[-1]
        tp = list(self.get_text_portions(p))[-1]
        self.assertEqual('Frame', tp.TextPortionType)
        tc = list(self.get_text_contents(tp))[-1]
        self.assertTrue('com.sun.star.drawing.GraphicObjectShape' in
                        tc.SupportedServiceNames)

        table = paragraphs[6]
        self.assertTrue('com.sun.star.text.TextTable' in
                        table.SupportedServiceNames)

        drawpage = doc.getDrawPage()
        shapes = list(unokit.util.enumerate(drawpage))

        self.assertEqual(2, len(shapes))

        self.assertEqual(1, shapes[0].Graphic.GraphicType)
        self.assertEqual('image/jpeg', shapes[0].Graphic.MimeType)
        self.assertEqual(2, shapes[0].Bitmap.GraphicType)
        self.assertEqual('image/x-vclgraphic', shapes[0].Bitmap.MimeType)
        self.assertEqual(28254, len(shapes[0].Bitmap.DIB))
        self.assertTrue(shapes[0].GraphicURL.startswith('vnd.sun.star.GraphicObject:'))
        print shapes[0].GraphicURL
        #self.assertEqual('vnd.sun.star.GraphicObject:10000000000001F40000012C1F9CCF04',
        #                  shapes[0].GraphicURL)
        self.assertEqual(None, shapes[0].GraphicStreamURL)

        self.assertEqual(1, shapes[1].Graphic.GraphicType)
        self.assertEqual('image/png', shapes[1].Graphic.MimeType)
        self.assertEqual(2, shapes[1].Bitmap.GraphicType)
        self.assertEqual('image/x-vclgraphic', shapes[1].Bitmap.MimeType)
        self.assertEqual(374, len(shapes[1].Bitmap.DIB))
        self.assertTrue(shapes[1].GraphicURL.startswith('vnd.sun.star.GraphicObject:'))
        print shapes[1].GraphicURL
        #self.assertEqual('vnd.sun.star.GraphicObject:1000020100000010000000108F049D12',
        #                  shapes[1].GraphicURL)
        self.assertEqual(None, shapes[1].GraphicStreamURL)