Пример #1
0
    def testThumbnails1_attach (self):
        thumb = Thumbnails (self.parser.page)
        thumbDir = thumb.getThumbPath (create=False)

        self.assertEqual (thumbDir,
                          os.path.join (Attachment (self.parser.page).getAttachPath(), Thumbnails.thumbDir),
                          thumbDir)
Пример #2
0
    def testParse2(self):
        self._attachFiles()
        # Тест на то, что игнорируется директория __thumb
        thumb = Thumbnails(self.testPage)
        thumb.getThumbPath(True)

        text = "(:attachlist:)"
        result = self.parser.toHtml(text)

        titles = [
            "[dir]",
            "[for_sort]",
            "add.png",
            "anchor.png",
            "image.jpg",
            "файл с пробелами.tmp"]
        names = [
            "dir",
            "for_sort",
            "add.png",
            "anchor.png",
            "image.jpg",
            "файл с пробелами.tmp"]

        self._compareResult(titles, names, result)
Пример #3
0
    def makeTexEquation(self, s, l, t):
        eqn = t[0].strip()
        if len(eqn) == 0:
            return u""

        thumb = Thumbnails(self.parser.page)

        try:
            path = thumb.getThumbPath(True)
        except IOError:
            return u"<b>{}</b>".format(_(u"Can't create thumbnails directory"))

        tex = getTexRender(path)

        try:
            image_fname = tex.makeImage(eqn)
        except IOError:
            return u"<b>{}</b>".format(_(u"Can't create image file"))

        image_path = os.path.join(Thumbnails.getRelativeThumbDir(),
                                  image_fname)
        result = u'<img src="{image}"/>'.format(
            image=image_path.replace("\\", "/"))

        return result
Пример #4
0
    def _copyKatexLibrary(self):
        thumb = Thumbnails(self.parser.page)
        thumb_path = thumb.getThumbPath(True)
        katex_path = os.path.join(thumb_path, u'katex')

        if os.path.exists(katex_path):
            shutil.rmtree(katex_path)

        shutil.copytree(self._getKaTeXPath(), katex_path)
Пример #5
0
    def _copyKatexLibrary(self):
        thumb = Thumbnails(self.parser.page)
        thumb_path = thumb.getThumbPath(True)
        katex_path = os.path.join(thumb_path, KATEX_DIR_NAME)

        if os.path.exists(katex_path):
            shutil.rmtree(katex_path)

        shutil.copytree(self._getKaTeXPath(), katex_path)
Пример #6
0
    def testThumbnailsClear1_attach (self):
        fname = u"accept.png"
        attachPath = os.path.join (self.filesPath, fname)
        Attachment (self.parser.page).attach ([attachPath])

        thumb = Thumbnails (self.parser.page)
        thumb.clearDir ()

        self.assertFalse (os.path.exists (thumb.getThumbPath (create=False)))
Пример #7
0
    def testThumbnails3_attach (self):
        fname = u"accept.png"
        attachPath = os.path.join (self.filesPath, fname)
        Attachment (self.parser.page).attach ([attachPath])

        thumb = Thumbnails (self.parser.page)
        thumbDir = thumb.getThumbPath (create=True)

        self.assertTrue (os.path.exists (thumbDir))
Пример #8
0
    def testThumbnailsClear3(self):
        thumb = Thumbnails(self.parser.page)

        eqn1 = "y = f(x)"
        eqn2 = "y = f_2(x)"

        self.parser.toHtml("{$ %s $}" % (eqn1))
        self.assertEqual(len(os.listdir(thumb.getThumbPath(False))), 2)

        self.parser.toHtml("{$ %s $}" % (eqn2))
        self.assertEqual(len(os.listdir(thumb.getThumbPath(False))), 2)
Пример #9
0
    def testThumbnailsClear3 (self):
        thumb = Thumbnails (self.parser.page)

        eqn1 = "y = f(x)"
        eqn2 = "y = f_2(x)"

        self.parser.toHtml ("{$ %s $}" % (eqn1))
        self.assertEqual (len (os.listdir (thumb.getThumbPath (False))), 2)

        self.parser.toHtml ("{$ %s $}" % (eqn2))
        self.assertEqual (len (os.listdir (thumb.getThumbPath (False))), 2)
Пример #10
0
    def testParse2 (self):
        self._attachFiles ()
        # Тест на то, что игнорируется директория __thumb
        thumb = Thumbnails (self.testPage)
        thumb.getThumbPath (True)

        text = u"(:attachlist:)"
        result = self.parser.toHtml (text)

        titles = [u"[dir]", u"[for_sort]", u"add.png", u"anchor.png", u"image.jpg", u"файл с пробелами.tmp"]
        names = [u"dir", u"for_sort", u"add.png", u"anchor.png", u"image.jpg", u"файл с пробелами.tmp"]

        self._compareResult (titles, names, result)
Пример #11
0
    def testThumbnailsClear2 (self):
        thumb = Thumbnails (self.parser.page)

        eqn = "y = f(x)"

        text = "{$ %s $}" % (eqn)
        self.parser.toHtml (text)

        self.assertFalse (len (os.listdir (thumb.getThumbPath (False))) == 0)

        thumb.clearDir()

        self.assertEqual (len (os.listdir (thumb.getThumbPath (False))), 0)
Пример #12
0
    def testThumbnailsClear3_attach (self):
        fname = u"accept.png"
        attachPath = os.path.join (self.filesPath, fname)
        Attachment (self.parser.page).attach ([attachPath])

        thumb = Thumbnails (self.parser.page)

        eqn1 = "y = f(x)"
        eqn2 = "y = f_2(x)"

        self.parser.toHtml ("{$ %s $}" % (eqn1))
        self.assertEqual (len (os.listdir (thumb.getThumbPath (False))), 2)

        self.parser.toHtml ("{$ %s $}" % (eqn2))
        self.assertEqual (len (os.listdir (thumb.getThumbPath (False))), 2)
Пример #13
0
    def testThumbnailsClear3_attach(self):
        fname = u"accept.png"
        attachPath = os.path.join(self.filesPath, fname)
        Attachment(self.parser.page).attach([attachPath])

        thumb = Thumbnails(self.parser.page)

        eqn1 = "y = f(x)"
        eqn2 = "y = f_2(x)"

        self.parser.toHtml("{$ %s $}" % (eqn1))
        self.assertEqual(len(os.listdir(thumb.getThumbPath(False))), 2)

        self.parser.toHtml("{$ %s $}" % (eqn2))
        self.assertEqual(len(os.listdir(thumb.getThumbPath(False))), 2)
Пример #14
0
    def test_inline_02(self):
        from texequation.defines import KATEX_DIR_NAME
        eqn1 = "y = f1(x)"
        eqn2 = "y = f2(x)"
        text = "{{$ {eqn1} $}} {{$ {eqn2} $}}".format(eqn1=eqn1, eqn2=eqn2)

        path = os.path.join(Thumbnails.getRelativeThumbDir(), KATEX_DIR_NAME)

        result_lines = [
            '<span class="texequation-inline" id="texequation-inline-0"></span>',
            '<span class="texequation-inline" id="texequation-inline-1"></span>',
        ]

        footer_lines = [
            'var element_0 = document.getElementById("texequation-inline-0");',
            'var element_1 = document.getElementById("texequation-inline-1");',
            'katex.render("{}",'.format(eqn1),
            'katex.render("{}",'.format(eqn2),
        ]

        result = self.parser.toHtml(text)

        for line in result_lines:
            self.assertIn(line, result)

        for line in footer_lines:
            self.assertIn(line, self.parser.footer)

        full_path = os.path.join(self.parser.page.path, path)
        self.assertTrue(os.path.exists(full_path), full_path)
Пример #15
0
    def test_block_02(self):
        eqn1 = u"y = f1(x)"
        eqn2 = u"y = f2(x)"

        text = u"{{$$ {eqn1} $$}} {{$$ {eqn2} $$}}".format(eqn1=eqn1,
                                                           eqn2=eqn2)

        path = os.path.join(Thumbnails.getRelativeThumbDir(), 'katex')

        result_lines = [
            u'<span class="texequation-block" id="texequation-block-0"></span>',
            u'<span class="texequation-block" id="texequation-block-1"></span>',
        ]

        footer_lines = [
            u'var element = document.getElementById("texequation-block-0");',
            u'var element = document.getElementById("texequation-block-1");',
            u'katex.render("{}",'.format(eqn1),
            u'katex.render("{}",'.format(eqn2),
        ]

        result = self.parser.toHtml(text)

        for line in result_lines:
            self.assertIn(line, result)

        for line in footer_lines:
            self.assertIn(line, self.parser.footer)

        full_path = os.path.join(self.parser.page.path, path)
        self.assertTrue(os.path.exists(full_path), full_path)
Пример #16
0
    def test_inline_01(self):
        eqn = u"y = f(x)"
        text = u"{{$ {eqn} $}}".format(eqn=eqn)

        path = os.path.join(Thumbnails.getRelativeThumbDir(), 'katex')

        result_lines = [
            u'<span class="texequation-inline" id="texequation-inline-0"></span>',
        ]

        footer_lines = [
            u'var element = document.getElementById("texequation-inline-0");',
            u'katex.render("{}",'.format(eqn),
        ]

        result = self.parser.toHtml(text)

        for line in result_lines:
            self.assertIn(line, result)

        for line in footer_lines:
            self.assertIn(line, self.parser.footer)

        full_path = os.path.join(self.parser.page.path, path)
        self.assertTrue(os.path.exists(full_path), full_path)
Пример #17
0
    def test_block_01(self):
        from texequation.defines import KATEX_DIR_NAME
        eqn = "y = f(x)"
        text = "{{$$ {eqn} $$}}".format(eqn=eqn)

        path = os.path.join(Thumbnails.getRelativeThumbDir(), KATEX_DIR_NAME)

        result_lines = [
            '<span class="texequation-block" id="texequation-block-0"></span>',
        ]

        footer_lines = [
            'var element_0 = document.getElementById("texequation-block-0");',
            'katex.render("{}",'.format(eqn),
        ]

        result = self.parser.toHtml(text)

        for line in result_lines:
            self.assertIn(line, result)

        for line in footer_lines:
            self.assertIn(line, self.parser.footer)

        full_path = os.path.join(self.parser.page.path, path)
        self.assertTrue(os.path.exists(full_path), full_path)
Пример #18
0
    def testThumbnailsClear2_attach (self):
        fname = u"accept.png"
        attachPath = os.path.join (self.filesPath, fname)
        Attachment (self.parser.page).attach ([attachPath])

        thumb = Thumbnails (self.parser.page)

        eqn = "y = f(x)"

        text = "{$ %s $}" % (eqn)
        self.parser.toHtml (text)

        self.assertFalse (len (os.listdir (thumb.getThumbPath (False))) == 0)

        thumb.clearDir()

        self.assertEqual (len (os.listdir (thumb.getThumbPath (False))), 0)
Пример #19
0
    def testTex1 (self):
        thumb = Thumbnails (self.parser.page)
        texrender = getTexRender(thumb.getThumbPath (True))

        eqn = u"y = f(x)"
        text = u"{$ %s $}" % (eqn)

        fname = texrender.getImageName (eqn)
        path = os.path.join (Thumbnails.getRelativeThumbDir(), fname)

        result_right = u'<IMG SRC="{0}"/>'.format (path.replace ("\\", "/"))

        result = self.parser.toHtml (text)

        self.assertEqual (result_right, result, result)

        full_path = os.path.join (self.parser.page.path, path)
        self.assertTrue (os.path.exists (full_path), full_path )
Пример #20
0
    def testTex4 (self):
        thumb = Thumbnails (self.parser.page)
        texrender = getTexRender(thumb.getThumbPath (True))

        eqn = u"y = f(x)"
        text = u"[[http://jenyay.net | {$ %s $}]]" % (eqn)

        fname = texrender.getImageName (eqn)
        path = os.path.join (Thumbnails.getRelativeThumbDir(), fname)

        result_right = u'<a href="http://jenyay.net"><img src="{0}"/></a>'.format (path.replace ("\\", "/"))

        result = self.parser.toHtml (text)

        self.assertEqual (result_right, result, result)

        full_path = os.path.join (self.parser.page.path, path)
        self.assertTrue (os.path.exists (full_path), full_path )
Пример #21
0
    def testTex1(self):
        from texequation.texrender import getTexRender
        thumb = Thumbnails(self.parser.page)
        texrender = getTexRender(thumb.getThumbPath(True))

        eqn = u"y = f(x)"
        text = u"{$ %s $}" % (eqn)

        fname = texrender.getImageName(eqn)
        path = os.path.join(Thumbnails.getRelativeThumbDir(), fname)

        result_right = u'<img src="{0}"/>'.format(path.replace("\\", "/"))

        result = self.parser.toHtml(text)

        self.assertEqual(result_right, result, result)

        full_path = os.path.join(self.parser.page.path, path)
        self.assertTrue(os.path.exists(full_path), full_path)
Пример #22
0
    def execute(self, params, content):
        """
        Запустить команду на выполнение.
        Метод возвращает текст, который будет вставлен на место команды в вики-нотации
        """
        from blockdiag.parser import ParseException
        thumb = Thumbnails(self.parser.page)
        thumbPath = thumb.getThumbPath(True)

        md5 = hashlib.md5(content.encode("utf-8")).hexdigest()
        fname = self._fileNameFormat.format(md5)
        imagePath = os.path.join(thumbPath, fname)

        render = DiagramRender()

        if not os.path.exists(imagePath):
            try:
                render.renderToFile(content, imagePath)
            except (ParseException, AttributeError, TypeError):
                return u"<b>{}</b>".format(_(u"Diagram parsing error"))

        return u'<img src="{}/{}"/>'.format(thumb.getRelativeThumbDir(), fname)
Пример #23
0
    def execute (self, params, content):
        """
        Запустить команду на выполнение.
        Метод возвращает текст, который будет вставлен на место команды в вики-нотации
        """
        from blockdiag.parser import ParseException
        thumb = Thumbnails(self.parser.page)
        thumbPath = thumb.getThumbPath(True)

        md5 = hashlib.md5 (content.encode ("utf-8")).hexdigest()
        fname = self._fileNameFormat.format (md5)
        imagePath = os.path.join (thumbPath, fname)

        render = DiagramRender()

        if not os.path.exists (imagePath):
            try:
                render.renderToFile (content, imagePath)
            except (ParseException, AttributeError, TypeError):
                return u"<b>{}</b>".format(_(u"Diagram parsing error"))

        return u'<img src="{}/{}"/>'.format (thumb.getRelativeThumbDir(), fname)
Пример #24
0
    def testTex2 (self):
        thumb = Thumbnails (self.parser.page)
        texrender = getTexRender(thumb.getThumbPath (True))

        eqn1 = u"y = f(x)"
        eqn2 = u"y = e^x"
        eqn3 = u"y = \sum_{i=0}\pi"

        text = u"""бла-бла-бла
* бла-бла-бла {$ %s $} 1111
* бла-бла-бла {$ %s $} 222
* бла-бла-бла {$ %s $} 333""" % (eqn1, eqn2, eqn3)

        fname1 = texrender.getImageName (eqn1)
        fname2 = texrender.getImageName (eqn2)
        fname3 = texrender.getImageName (eqn3)

        path1 = os.path.join (Thumbnails.getRelativeThumbDir(), fname1)
        path2 = os.path.join (Thumbnails.getRelativeThumbDir(), fname2)
        path3 = os.path.join (Thumbnails.getRelativeThumbDir(), fname3)

        result_right = u'''бла-бла-бла
<UL><LI>бла-бла-бла <IMG SRC="{path1}"/> 1111</LI><LI>бла-бла-бла <IMG SRC="{path2}"/> 222</LI><LI>бла-бла-бла <IMG SRC="{path3}"/> 333</LI></UL>'''.format (path1=path1.replace ("\\", "/"), 
        path2=path2.replace ("\\", "/"),
        path3=path3.replace ("\\", "/"))


        result = self.parser.toHtml (text)

        self.assertEqual (result_right, result, result)

        full_path1 = os.path.join (self.parser.page.path, path1)
        full_path2 = os.path.join (self.parser.page.path, path2)
        full_path3 = os.path.join (self.parser.page.path, path3)

        self.assertTrue (os.path.exists (full_path1), full_path1)
        self.assertTrue (os.path.exists (full_path2), full_path2)
        self.assertTrue (os.path.exists (full_path3), full_path3)
Пример #25
0
    def makeTexEquation (self, s, l, t):
        eqn = t[0].strip()
        if len (eqn) == 0:
            return u""

        thumb = Thumbnails(self.parser.page)

        try:
            path = thumb.getThumbPath (True)
        except IOError:
            return u"<b>{}</b>".format(_(u"Can't create thumbnails directory"))

        tex = getTexRender (path)

        try:
            image_fname = tex.makeImage (eqn)
        except IOError:
            return u"<b>{}</b>".format(_(u"Can't create image file"))

        image_path = os.path.join (Thumbnails.getRelativeThumbDir(), image_fname)
        result = u'<img src="{image}"/>'.format (image=image_path.replace ("\\", "/"))

        return result
Пример #26
0
    def _copyScriptFiles(self):
        """
        Копировать дополнительные файлы, необходимые для работы
        скрипта (из папки scripts в __attach/__thumb)
        """
        scriptdir = os.path.join(os.path.dirname(__file__), "scripts")
        thumbDir = Thumbnails(self.parser.page).getThumbPath(True)

        files = [
            "jquery.fancybox.css", "blank.gif", "fancybox_loading.gif",
            "jquery-1.7.2.min.js", "jquery.fancybox.pack.js",
            "fancybox_sprite.png"
        ]

        for fname in files:
            srcPath = os.path.join(scriptdir, fname)
            dstPath = os.path.join(thumbDir, fname)
            shutil.copyfile(srcPath, dstPath)
Пример #27
0
    def testThumbnailsClear2(self):
        thumb = Thumbnails(self.parser.page)

        eqn = "y = f(x)"

        text = "{$ %s $}" % (eqn)
        self.parser.toHtml(text)

        self.assertFalse(len(os.listdir(thumb.getThumbPath(False))) == 0)

        thumb.clearDir()

        self.assertEqual(len(os.listdir(thumb.getThumbPath(False))), 0)
Пример #28
0
    def testThumbnailsClear2_attach(self):
        fname = u"accept.png"
        attachPath = os.path.join(self.filesPath, fname)
        Attachment(self.parser.page).attach([attachPath])

        thumb = Thumbnails(self.parser.page)

        eqn = "y = f(x)"

        text = "{$ %s $}" % (eqn)
        self.parser.toHtml(text)

        self.assertFalse(len(os.listdir(thumb.getThumbPath(False))) == 0)

        thumb.clearDir()

        self.assertEqual(len(os.listdir(thumb.getThumbPath(False))), 0)
Пример #29
0
    def testTex2(self):
        from texequation.texrender import getTexRender
        thumb = Thumbnails(self.parser.page)
        texrender = getTexRender(thumb.getThumbPath(True))

        eqn1 = u"y = f(x)"
        eqn2 = u"y = e^x"
        eqn3 = u"y = \sum_{i=0}\pi"

        text = u"""бла-бла-бла
* бла-бла-бла {$ %s $} 1111
* бла-бла-бла {$ %s $} 222
* бла-бла-бла {$ %s $} 333""" % (eqn1, eqn2, eqn3)

        fname1 = texrender.getImageName(eqn1)
        fname2 = texrender.getImageName(eqn2)
        fname3 = texrender.getImageName(eqn3)

        path1 = os.path.join(Thumbnails.getRelativeThumbDir(), fname1)
        path2 = os.path.join(Thumbnails.getRelativeThumbDir(), fname2)
        path3 = os.path.join(Thumbnails.getRelativeThumbDir(), fname3)

        result_right = u'''бла-бла-бла
<ul><li>бла-бла-бла <img src="{path1}"/> 1111</li><li>бла-бла-бла <img src="{path2}"/> 222</li><li>бла-бла-бла <img src="{path3}"/> 333</li></ul>'''.format(
            path1=path1.replace("\\", "/"),
            path2=path2.replace("\\", "/"),
            path3=path3.replace("\\", "/"))

        result = self.parser.toHtml(text)

        self.assertEqual(result_right, result, result)

        full_path1 = os.path.join(self.parser.page.path, path1)
        full_path2 = os.path.join(self.parser.page.path, path2)
        full_path3 = os.path.join(self.parser.page.path, path3)

        self.assertTrue(os.path.exists(full_path1), full_path1)
        self.assertTrue(os.path.exists(full_path2), full_path2)
        self.assertTrue(os.path.exists(full_path3), full_path3)
Пример #30
0
    def testThumbnailsClear1 (self):
        thumb = Thumbnails (self.parser.page)
        thumb.clearDir ()

        self.assertFalse (os.path.exists (thumb.getThumbPath (create=False)))
Пример #31
0
    def testThumbnails3 (self):
        thumb = Thumbnails (self.parser.page)
        thumbDir = thumb.getThumbPath (create=True)

        self.assertTrue (os.path.exists (thumbDir))
Пример #32
0
    def testThumbnails2 (self):
        thumb = Thumbnails (self.parser.page)
        thumbDir = thumb.getThumbPath (create=False)

        self.assertFalse (os.path.exists (thumbDir))