Skip to content

Urls

urls

Urls

Source code in modules/urls.py
class Urls:
    def __init__(self):
        URL = current.URL

        imagePat = re.compile(
            """<a [^>]*href=['"]image[\n\t ]+([^)\n\t '"]+)['"][^>]*>(.*?)</a>"""
        )

        def imageRepl(match):
            return f"""<br/><img src="{match.group(1)}"/><br/>{match.group(2)}<br/>"""

        versePat = re.compile(
            r"""(<a [^>]*href=['"])([^)\n\t ]+)[\n\t ]+([^:)\n\t '"]+)"""
            r""":([^)\n\t '"]+)(['"][^>]*>.*?</a>)"""
        )

        def verseRepl(match):
            return (
                match.group(1)
                + hEsc(
                    URL(
                        "hebrew",
                        "text",
                        host=True,
                        vars=dict(
                            book=match.group(2),
                            chapter=match.group(3),
                            verse=match.group(4),
                            mr="m",
                        ),
                    )
                )
                + match.group(5)
            )

        chapterPat = re.compile(
            """(<a [^>]*href=['"])([^)\n\t ]+)[\n\t ]+"""
            """([^)\n\t '"]+)(['"][^>]*>.*?</a>)"""
        )

        def chapterRepl(match):
            return (
                match.group(1)
                + hEsc(
                    URL(
                        "hebrew",
                        "text",
                        host=True,
                        vars=dict(
                            book=match.group(2),
                            chapter=match.group(3),
                            verse="1",
                            mr="m",
                        ),
                    )
                )
                + match.group(4)
            )

        shebanqPat = re.compile("""(href=['"])shebanq:([^)\n\t '"]+['"])""")

        def shebanqRepl(match):
            return match.group(1) + URL("hebrew", "text", host=True) + match.group(2)

        featurePat = re.compile("""(href=['"])feature:([^)\n\t '"]+)(['"])""")

        def featureRepl(match):
            return (
                f"""{match.group(1)}{URL("static", "docs/features", host=True)}/"""
                f"""{match.group(2)}{match.group(3)} """
                '''target="_blank"'''
            )

        def specialLinks(md):
            md = imagePat.sub(imageRepl, md)
            md = versePat.sub(verseRepl, md)
            md = chapterPat.sub(chapterRepl, md)
            md = shebanqPat.sub(shebanqRepl, md)
            md = featurePat.sub(featureRepl, md)
            return md

        setattr(self, "specialLinks", specialLinks)

__init__(self) special

Source code in modules/urls.py
def __init__(self):
    URL = current.URL

    imagePat = re.compile(
        """<a [^>]*href=['"]image[\n\t ]+([^)\n\t '"]+)['"][^>]*>(.*?)</a>"""
    )

    def imageRepl(match):
        return f"""<br/><img src="{match.group(1)}"/><br/>{match.group(2)}<br/>"""

    versePat = re.compile(
        r"""(<a [^>]*href=['"])([^)\n\t ]+)[\n\t ]+([^:)\n\t '"]+)"""
        r""":([^)\n\t '"]+)(['"][^>]*>.*?</a>)"""
    )

    def verseRepl(match):
        return (
            match.group(1)
            + hEsc(
                URL(
                    "hebrew",
                    "text",
                    host=True,
                    vars=dict(
                        book=match.group(2),
                        chapter=match.group(3),
                        verse=match.group(4),
                        mr="m",
                    ),
                )
            )
            + match.group(5)
        )

    chapterPat = re.compile(
        """(<a [^>]*href=['"])([^)\n\t ]+)[\n\t ]+"""
        """([^)\n\t '"]+)(['"][^>]*>.*?</a>)"""
    )

    def chapterRepl(match):
        return (
            match.group(1)
            + hEsc(
                URL(
                    "hebrew",
                    "text",
                    host=True,
                    vars=dict(
                        book=match.group(2),
                        chapter=match.group(3),
                        verse="1",
                        mr="m",
                    ),
                )
            )
            + match.group(4)
        )

    shebanqPat = re.compile("""(href=['"])shebanq:([^)\n\t '"]+['"])""")

    def shebanqRepl(match):
        return match.group(1) + URL("hebrew", "text", host=True) + match.group(2)

    featurePat = re.compile("""(href=['"])feature:([^)\n\t '"]+)(['"])""")

    def featureRepl(match):
        return (
            f"""{match.group(1)}{URL("static", "docs/features", host=True)}/"""
            f"""{match.group(2)}{match.group(3)} """
            '''target="_blank"'''
        )

    def specialLinks(md):
        md = imagePat.sub(imageRepl, md)
        md = versePat.sub(verseRepl, md)
        md = chapterPat.sub(chapterRepl, md)
        md = shebanqPat.sub(shebanqRepl, md)
        md = featurePat.sub(featureRepl, md)
        return md

    setattr(self, "specialLinks", specialLinks)