diff --git a/.dockerignore b/.dockerignore index 8af5ccea..87bc53fe 100644 --- a/.dockerignore +++ b/.dockerignore @@ -2,3 +2,4 @@ *.pyc **/*.pyc Dockerfile +*venv* diff --git a/.github/workflows/test-build.yml b/.github/workflows/test-build.yml index 7573ca52..4c9ac40d 100644 --- a/.github/workflows/test-build.yml +++ b/.github/workflows/test-build.yml @@ -60,16 +60,11 @@ jobs: run: | python -m pip install poetry==2.1.2 python -m pip install setuptools==80.1.0 - poetry install --no-root --without=docs --with=dev + poetry install --without=docs --with=dev - name: Run flake8 run: poetry run flake8 . - - name: Build plugins - run: | - python3 setup.py egg_info - poetry run pip install . - - name: Run unit tests run: | poetry run pytest --cov-report term-missing --cov mfr tests diff --git a/Dockerfile b/Dockerfile index ed90bdd0..de809996 100644 --- a/Dockerfile +++ b/Dockerfile @@ -58,8 +58,7 @@ COPY ./ /code/ ARG GIT_COMMIT= ENV GIT_COMMIT=${GIT_COMMIT} -RUN python3 setup.py egg_info -RUN python3 -m pip install . +RUN poetry install --without=docs EXPOSE 7778 diff --git a/mfr/core/utils.py b/mfr/core/utils.py index 4038ce0b..57c5ad68 100644 --- a/mfr/core/utils.py +++ b/mfr/core/utils.py @@ -34,6 +34,19 @@ def make_provider(name, request, url, action=None): } ) +def fix_name(name: str): + name = name.removeprefix('.').replace('+', 'p') + if name == 'lasso[89]': + return 'lasso' + elif name == 'php[345]': + return 'php' + elif name == 'css.in': + return 'css' + elif name == 'js.in': + return 'js' + elif name == 'xul.in': + return 'xul' + return name def make_exporter(name, source_file_path, output_file_path, file_format, metadata): """Returns an instance of :class:`mfr.core.extension.BaseExporter` @@ -46,7 +59,8 @@ def make_exporter(name, source_file_path, output_file_path, file_format, metadat :rtype: :class:`mfr.core.extension.BaseExporter` """ - normalized_name = (name and name.lower()) or 'none' + normalized_name = fix_name(name and name.lower()) or 'none' + try: return driver.DriverManager( namespace='mfr.exporters', @@ -80,7 +94,7 @@ def make_renderer(name, metadata, file_path, url, assets_url, export_url): :rtype: :class:`mfr.core.extension.BaseRenderer` """ - normalized_name = (name and name.lower()) or 'none' + normalized_name = fix_name(name and name.lower()) or 'none' try: return driver.DriverManager( namespace='mfr.renderers', diff --git a/mfr/providers/osf/provider.py b/mfr/providers/osf/provider.py index fda541fe..01da3379 100644 --- a/mfr/providers/osf/provider.py +++ b/mfr/providers/osf/provider.py @@ -7,6 +7,7 @@ import furl import aiohttp +from aiohttp import ClientSession from waterbutler.core import streams @@ -206,5 +207,4 @@ async def _make_request(self, method, url, *args, **kwargs): if self.authorization: kwargs.setdefault('headers', {})['Authorization'] = 'Bearer ' + self.token - async with aiohttp.request(method, url, *args, **kwargs) as response: - return response + return await ClientSession()._request(method, url, *args, **kwargs) diff --git a/pyproject.toml b/pyproject.toml index df23590f..d68b3b45 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -73,3 +73,773 @@ sphinx-rtd-theme = "3.0.2" [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" + +[tool.poetry.plugins."mfr.providers"] +http = "mfr.providers.http:HttpProvider" +osf = "mfr.providers.osf:OsfProvider" + +[tool.poetry.plugins."mfr.exporters"] + +gdraw = "mfr.extensions.image:ImageExporter" +gdoc = "mfr.extensions.unoconv:UnoconvExporter" +gsheet = "mfr.extensions.unoconv:UnoconvExporter" +gslides = "mfr.extensions.unoconv:UnoconvExporter" + +# image +jpg = "mfr.extensions.image:ImageExporter" +jpeg = "mfr.extensions.image:ImageExporter" +png = "mfr.extensions.image:ImageExporter" +bmp = "mfr.extensions.image:ImageExporter" +gif = "mfr.extensions.image:ImageExporter" +psd = "mfr.extensions.image:ImageExporter" +tif = "mfr.extensions.pdf:PdfExporter" +tiff = "mfr.extensions.pdf:PdfExporter" + +# jsc3d +stp = "mfr.extensions.jsc3d:JSC3DExporter" +step = "mfr.extensions.jsc3d:JSC3DExporter" + +# unoconv +# .bib = mfr.extensions.unoconv:UnoconvExporter +# .bmp = mfr.extensions.unoconv:UnoconvExporter +# .csv = mfr.extensions.unoconv:UnoconvExporter +dbf = "mfr.extensions.unoconv:UnoconvExporter" +dif = "mfr.extensions.unoconv:UnoconvExporter" +doc = "mfr.extensions.unoconv:UnoconvExporter" +docx = "mfr.extensions.unoconv:UnoconvExporter" +emf = "mfr.extensions.unoconv:UnoconvExporter" +eps = "mfr.extensions.unoconv:UnoconvExporter" +fodg = "mfr.extensions.unoconv:UnoconvExporter" +fodp = "mfr.extensions.unoconv:UnoconvExporter" +fods = "mfr.extensions.unoconv:UnoconvExporter" +fodt = "mfr.extensions.unoconv:UnoconvExporter" +# .gif = mfr.extensions.unoconv:UnoconvExporter +# .html = mfr.extensions.unoconv:UnoconvExporter +# .jpg = mfr.extensions.unoconv:UnoconvExporter +# .ltx = mfr.extensions.unoconv:UnoconvExporter +met = "mfr.extensions.unoconv:UnoconvExporter" +odd = "mfr.extensions.unoconv:UnoconvExporter" +odg = "mfr.extensions.unoconv:UnoconvExporter" +odp = "mfr.extensions.unoconv:UnoconvExporter" +ods = "mfr.extensions.unoconv:UnoconvExporter" +odt = "mfr.extensions.unoconv:UnoconvExporter" +otg = "mfr.extensions.unoconv:UnoconvExporter" +otp = "mfr.extensions.unoconv:UnoconvExporter" +ots = "mfr.extensions.unoconv:UnoconvExporter" +ott = "mfr.extensions.unoconv:UnoconvExporter" +pbm = "mfr.extensions.unoconv:UnoconvExporter" +pct = "mfr.extensions.unoconv:UnoconvExporter" +# .pdb = mfr.extensions.unoconv:UnoconvExporter +# .pdf = mfr.extensions.unoconv:UnoconvExporter +pgm = "mfr.extensions.unoconv:UnoconvExporter" +# .png = mfr.extensions.unoconv:UnoconvExporter +pot = "mfr.extensions.unoconv:UnoconvExporter" +potm = "mfr.extensions.unoconv:UnoconvExporter" +ppm = "mfr.extensions.unoconv:UnoconvExporter" +pps = "mfr.extensions.unoconv:UnoconvExporter" +ppt = "mfr.extensions.unoconv:UnoconvExporter" +pptx = "mfr.extensions.unoconv:UnoconvExporter" +psw = "mfr.extensions.unoconv:UnoconvExporter" +pwp = "mfr.extensions.unoconv:UnoconvExporter" +pxl = "mfr.extensions.unoconv:UnoconvExporter" +ras = "mfr.extensions.unoconv:UnoconvExporter" +rtf = "mfr.extensions.unoconv:UnoconvExporter" +sda = "mfr.extensions.unoconv:UnoconvExporter" +sdc = "mfr.extensions.unoconv:UnoconvExporter" +sdd = "mfr.extensions.unoconv:UnoconvExporter" +sdw = "mfr.extensions.unoconv:UnoconvExporter" +slk = "mfr.extensions.unoconv:UnoconvExporter" +stc = "mfr.extensions.unoconv:UnoconvExporter" +std = "mfr.extensions.unoconv:UnoconvExporter" +sti = "mfr.extensions.unoconv:UnoconvExporter" +stw = "mfr.extensions.unoconv:UnoconvExporter" +svg = "mfr.extensions.unoconv:UnoconvExporter" +svm = "mfr.extensions.unoconv:UnoconvExporter" +# Renders junk at the moment +# .swf = mfr.extensions.unoconv:UnoconvExporter +sxc = "mfr.extensions.unoconv:UnoconvExporter" +sxd = "mfr.extensions.unoconv:UnoconvExporter" +sxi = "mfr.extensions.unoconv:UnoconvExporter" +sxw = "mfr.extensions.unoconv:UnoconvExporter" +# .tiff = "mfr.extensions.unoconv:UnoconvExporter" +# .txt = mfr.extensions.unoconv:UnoconvExporter +uop = "mfr.extensions.unoconv:UnoconvExporter" +uos = "mfr.extensions.unoconv:UnoconvExporter" +uot = "mfr.extensions.unoconv:UnoconvExporter" +vor = "mfr.extensions.unoconv:UnoconvExporter" +wmf = "mfr.extensions.unoconv:UnoconvExporter" +wps = "mfr.extensions.unoconv:UnoconvExporter" +# .xhtml = "mfr.extensions.unoconv:UnoconvExporter" +# .xls = "mfr.extensions.unoconv:UnoconvExporter" +# .xlsx = "mfr.extensions.unoconv:UnoconvExporter" +xlt = "mfr.extensions.unoconv:UnoconvExporter" +# .xml = "mfr.extensions.unoconv:UnoconvExporter" +xpm = "mfr.extensions.unoconv:UnoconvExporter" + +[tool.poetry.plugins."mfr.renderers"] +# audio +mp3 = "mfr.extensions.audio:AudioRenderer" +ogg = "mfr.extensions.audio:AudioRenderer" +wav = "mfr.extensions.audio:AudioRenderer" + +# code pygments +none = "mfr.extensions.codepygments:CodePygmentsRenderer" +1 = "mfr.extensions.codepygments:CodePygmentsRenderer" +2 = "mfr.extensions.codepygments:CodePygmentsRenderer" +3 = "mfr.extensions.codepygments:CodePygmentsRenderer" +4 = "mfr.extensions.codepygments:CodePygmentsRenderer" +5 = "mfr.extensions.codepygments:CodePygmentsRenderer" +6 = "mfr.extensions.codepygments:CodePygmentsRenderer" +6pm = "mfr.extensions.codepygments:CodePygmentsRenderer" +6pl = "mfr.extensions.codepygments:CodePygmentsRenderer" +7 = "mfr.extensions.codepygments:CodePygmentsRenderer" +abap = "mfr.extensions.codepygments:CodePygmentsRenderer" +ada = "mfr.extensions.codepygments:CodePygmentsRenderer" +adb = "mfr.extensions.codepygments:CodePygmentsRenderer" +ads = "mfr.extensions.codepygments:CodePygmentsRenderer" +agda = "mfr.extensions.codepygments:CodePygmentsRenderer" +ahk = "mfr.extensions.codepygments:CodePygmentsRenderer" +ahkl = "mfr.extensions.codepygments:CodePygmentsRenderer" +aj = "mfr.extensions.codepygments:CodePygmentsRenderer" +als = "mfr.extensions.codepygments:CodePygmentsRenderer" +amw = "mfr.extensions.codepygments:CodePygmentsRenderer" +anl = "mfr.extensions.codepygments:CodePygmentsRenderer" +apl = "mfr.extensions.codepygments:CodePygmentsRenderer" +applescript = "mfr.extensions.codepygments:CodePygmentsRenderer" +arexx = "mfr.extensions.codepygments:CodePygmentsRenderer" +as = "mfr.extensions.codepygments:CodePygmentsRenderer" +asax = "mfr.extensions.codepygments:CodePygmentsRenderer" +ascx = "mfr.extensions.codepygments:CodePygmentsRenderer" +ashx = "mfr.extensions.codepygments:CodePygmentsRenderer" +asm = "mfr.extensions.codepygments:CodePygmentsRenderer" +asmx = "mfr.extensions.codepygments:CodePygmentsRenderer" +aspx = "mfr.extensions.codepygments:CodePygmentsRenderer" +asy = "mfr.extensions.codepygments:CodePygmentsRenderer" +at = "mfr.extensions.codepygments:CodePygmentsRenderer" +au3 = "mfr.extensions.codepygments:CodePygmentsRenderer" +aux = "mfr.extensions.codepygments:CodePygmentsRenderer" +awk = "mfr.extensions.codepygments:CodePygmentsRenderer" +axd = "mfr.extensions.codepygments:CodePygmentsRenderer" +b = "mfr.extensions.codepygments:CodePygmentsRenderer" +bas = "mfr.extensions.codepygments:CodePygmentsRenderer" +bash = "mfr.extensions.codepygments:CodePygmentsRenderer" +bat = "mfr.extensions.codepygments:CodePygmentsRenderer" +bb = "mfr.extensions.codepygments:CodePygmentsRenderer" +bed = "mfr.extensions.codepygments:CodePygmentsRenderer" +befunge = "mfr.extensions.codepygments:CodePygmentsRenderer" +bf = "mfr.extensions.codepygments:CodePygmentsRenderer" +bib = "mfr.extensions.codepygments:CodePygmentsRenderer" +bmx = "mfr.extensions.codepygments:CodePygmentsRenderer" +boa = "mfr.extensions.codepygments:CodePygmentsRenderer" +boo = "mfr.extensions.codepygments:CodePygmentsRenderer" +boxs = "mfr.extensions.codepygments:CodePygmentsRenderer" +bro = "mfr.extensions.codepygments:CodePygmentsRenderer" +bst = "mfr.extensions.codepygments:CodePygmentsRenderer" +bug = "mfr.extensions.codepygments:CodePygmentsRenderer" +c = "mfr.extensions.codepygments:CodePygmentsRenderer" +c-objdump = "mfr.extensions.codepygments:CodePygmentsRenderer" +cbl = "mfr.extensions.codepygments:CodePygmentsRenderer" +cc = "mfr.extensions.codepygments:CodePygmentsRenderer" +cdf = "mfr.extensions.codepygments:CodePygmentsRenderer" +cmdi = "mfr.extensions.codepygments:CodePygmentsRenderer" +ceylon = "mfr.extensions.codepygments:CodePygmentsRenderer" +cf = "mfr.extensions.codepygments:CodePygmentsRenderer" +cfc = "mfr.extensions.codepygments:CodePygmentsRenderer" +cfg = "mfr.extensions.codepygments:CodePygmentsRenderer" +cfm = "mfr.extensions.codepygments:CodePygmentsRenderer" +cfml = "mfr.extensions.codepygments:CodePygmentsRenderer" +chai = "mfr.extensions.codepygments:CodePygmentsRenderer" +chpl = "mfr.extensions.codepygments:CodePygmentsRenderer" +cirru = "mfr.extensions.codepygments:CodePygmentsRenderer" +cl = "mfr.extensions.codepygments:CodePygmentsRenderer" +clay = "mfr.extensions.codepygments:CodePygmentsRenderer" +clj = "mfr.extensions.codepygments:CodePygmentsRenderer" +cljs = "mfr.extensions.codepygments:CodePygmentsRenderer" +cls = "mfr.extensions.codepygments:CodePygmentsRenderer" +cmake = "mfr.extensions.codepygments:CodePygmentsRenderer" +cmd = "mfr.extensions.codepygments:CodePygmentsRenderer" +cob = "mfr.extensions.codepygments:CodePygmentsRenderer" +coffee = "mfr.extensions.codepygments:CodePygmentsRenderer" +cp = "mfr.extensions.codepygments:CodePygmentsRenderer" +cpp = "mfr.extensions.codepygments:CodePygmentsRenderer" +cpp-objdump = "mfr.extensions.codepygments:CodePygmentsRenderer" +cpy = "mfr.extensions.codepygments:CodePygmentsRenderer" +croc = "mfr.extensions.codepygments:CodePygmentsRenderer" +cry = "mfr.extensions.codepygments:CodePygmentsRenderer" +cs = "mfr.extensions.codepygments:CodePygmentsRenderer" +csh = "mfr.extensions.codepygments:CodePygmentsRenderer" +csl = "mfr.extensions.codepygments:CodePygmentsRenderer" +css = "mfr.extensions.codepygments:CodePygmentsRenderer" +cu = "mfr.extensions.codepygments:CodePygmentsRenderer" +cuh = "mfr.extensions.codepygments:CodePygmentsRenderer" +cw = "mfr.extensions.codepygments:CodePygmentsRenderer" +cxx = "mfr.extensions.codepygments:CodePygmentsRenderer" +cxx-objdump = "mfr.extensions.codepygments:CodePygmentsRenderer" +cyp = "mfr.extensions.codepygments:CodePygmentsRenderer" +cypher = "mfr.extensions.codepygments:CodePygmentsRenderer" +d = "mfr.extensions.codepygments:CodePygmentsRenderer" +d-objdump = "mfr.extensions.codepygments:CodePygmentsRenderer" +darcspatch = "mfr.extensions.codepygments:CodePygmentsRenderer" +dart = "mfr.extensions.codepygments:CodePygmentsRenderer" +decls = "mfr.extensions.codepygments:CodePygmentsRenderer" +def = "mfr.extensions.codepygments:CodePygmentsRenderer" +dg = "mfr.extensions.codepygments:CodePygmentsRenderer" +di = "mfr.extensions.codepygments:CodePygmentsRenderer" +diff = "mfr.extensions.codepygments:CodePygmentsRenderer" +docker = "mfr.extensions.codepygments:CodePygmentsRenderer" +dpatch = "mfr.extensions.codepygments:CodePygmentsRenderer" +dtd = "mfr.extensions.codepygments:CodePygmentsRenderer" +duby = "mfr.extensions.codepygments:CodePygmentsRenderer" +duel = "mfr.extensions.codepygments:CodePygmentsRenderer" +dyl = "mfr.extensions.codepygments:CodePygmentsRenderer" +dylan = "mfr.extensions.codepygments:CodePygmentsRenderer" +dylan-console = "mfr.extensions.codepygments:CodePygmentsRenderer" +e = "mfr.extensions.codepygments:CodePygmentsRenderer" +eaf = "mfr.extensions.codepygments:CodePygmentsRenderer" +ebnf = "mfr.extensions.codepygments:CodePygmentsRenderer" +ebuild = "mfr.extensions.codepygments:CodePygmentsRenderer" +ec = "mfr.extensions.codepygments:CodePygmentsRenderer" +ecl = "mfr.extensions.codepygments:CodePygmentsRenderer" +eclass = "mfr.extensions.codepygments:CodePygmentsRenderer" +eh = "mfr.extensions.codepygments:CodePygmentsRenderer" +el = "mfr.extensions.codepygments:CodePygmentsRenderer" +# .eps = "mfr.extensions.codepygments:CodePygmentsRenderer" +eqn = "mfr.extensions.codepygments:CodePygmentsRenderer" +erl = "mfr.extensions.codepygments:CodePygmentsRenderer" +erl-sh = "mfr.extensions.codepygments:CodePygmentsRenderer" +es = "mfr.extensions.codepygments:CodePygmentsRenderer" +escript = "mfr.extensions.codepygments:CodePygmentsRenderer" +evoque = "mfr.extensions.codepygments:CodePygmentsRenderer" +ex = "mfr.extensions.codepygments:CodePygmentsRenderer" +exs = "mfr.extensions.codepygments:CodePygmentsRenderer" +f = "mfr.extensions.codepygments:CodePygmentsRenderer" +f90 = "mfr.extensions.codepygments:CodePygmentsRenderer" +factor = "mfr.extensions.codepygments:CodePygmentsRenderer" +fan = "mfr.extensions.codepygments:CodePygmentsRenderer" +fancypack = "mfr.extensions.codepygments:CodePygmentsRenderer" +fas = "mfr.extensions.codepygments:CodePygmentsRenderer" +fasta = "mfr.extensions.codepygments:CodePygmentsRenderer" +feature = "mfr.extensions.codepygments:CodePygmentsRenderer" +fhtml = "mfr.extensions.codepygments:CodePygmentsRenderer" +flx = "mfr.extensions.codepygments:CodePygmentsRenderer" +flxh = "mfr.extensions.codepygments:CodePygmentsRenderer" +frag = "mfr.extensions.codepygments:CodePygmentsRenderer" +fs = "mfr.extensions.codepygments:CodePygmentsRenderer" +fsi = "mfr.extensions.codepygments:CodePygmentsRenderer" +fun = "mfr.extensions.codepygments:CodePygmentsRenderer" +fy = "mfr.extensions.codepygments:CodePygmentsRenderer" +g = "mfr.extensions.codepygments:CodePygmentsRenderer" +gap = "mfr.extensions.codepygments:CodePygmentsRenderer" +gd = "mfr.extensions.codepygments:CodePygmentsRenderer" +gdc = "mfr.extensions.codepygments:CodePygmentsRenderer" +gdt = "mfr.extensions.codepygments:CodePygmentsRenderer" +gemspec = "mfr.extensions.codepygments:CodePygmentsRenderer" +geo = "mfr.extensions.codepygments:CodePygmentsRenderer" +gi = "mfr.extensions.codepygments:CodePygmentsRenderer" +go = "mfr.extensions.codepygments:CodePygmentsRenderer" +golo = "mfr.extensions.codepygments:CodePygmentsRenderer" +groovy = "mfr.extensions.codepygments:CodePygmentsRenderer" +gs = "mfr.extensions.codepygments:CodePygmentsRenderer" +gsp = "mfr.extensions.codepygments:CodePygmentsRenderer" +gst = "mfr.extensions.codepygments:CodePygmentsRenderer" +gsx = "mfr.extensions.codepygments:CodePygmentsRenderer" +h = "mfr.extensions.codepygments:CodePygmentsRenderer" +haml = "mfr.extensions.codepygments:CodePygmentsRenderer" +handlebars = "mfr.extensions.codepygments:CodePygmentsRenderer" +hbs = "mfr.extensions.codepygments:CodePygmentsRenderer" +hdp = "mfr.extensions.codepygments:CodePygmentsRenderer" +hh = "mfr.extensions.codepygments:CodePygmentsRenderer" +hpp = "mfr.extensions.codepygments:CodePygmentsRenderer" +hrl = "mfr.extensions.codepygments:CodePygmentsRenderer" +hs = "mfr.extensions.codepygments:CodePygmentsRenderer" +htm = "mfr.extensions.codepygments:CodePygmentsRenderer" +html = "mfr.extensions.codepygments:CodePygmentsRenderer" +hx = "mfr.extensions.codepygments:CodePygmentsRenderer" +hxml = "mfr.extensions.codepygments:CodePygmentsRenderer" +hxsl = "mfr.extensions.codepygments:CodePygmentsRenderer" +hxx = "mfr.extensions.codepygments:CodePygmentsRenderer" +hy = "mfr.extensions.codepygments:CodePygmentsRenderer" +hyb = "mfr.extensions.codepygments:CodePygmentsRenderer" +i = "mfr.extensions.codepygments:CodePygmentsRenderer" +i6t = "mfr.extensions.codepygments:CodePygmentsRenderer" +i7x = "mfr.extensions.codepygments:CodePygmentsRenderer" +idc = "mfr.extensions.codepygments:CodePygmentsRenderer" +idr = "mfr.extensions.codepygments:CodePygmentsRenderer" +ijm = "mfr.extensions.codepygments:CodePygmentsRenderer" +ik = "mfr.extensions.codepygments:CodePygmentsRenderer" +inc = "mfr.extensions.codepygments:CodePygmentsRenderer" +inf = "mfr.extensions.codepygments:CodePygmentsRenderer" +ini = "mfr.extensions.codepygments:CodePygmentsRenderer" +ino = "mfr.extensions.codepygments:CodePygmentsRenderer" +inp = "mfr.extensions.codepygments:CodePygmentsRenderer" +intr = "mfr.extensions.codepygments:CodePygmentsRenderer" +io = "mfr.extensions.codepygments:CodePygmentsRenderer" +ipf = "mfr.extensions.codepygments:CodePygmentsRenderer" +iqx = "mfr.extensions.codepygments:CodePygmentsRenderer" +j = "mfr.extensions.codepygments:CodePygmentsRenderer" +jade = "mfr.extensions.codepygments:CodePygmentsRenderer" +jag = "mfr.extensions.codepygments:CodePygmentsRenderer" +java = "mfr.extensions.codepygments:CodePygmentsRenderer" +jbst = "mfr.extensions.codepygments:CodePygmentsRenderer" +jl = "mfr.extensions.codepygments:CodePygmentsRenderer" +js = "mfr.extensions.codepygments:CodePygmentsRenderer" +json = "mfr.extensions.codepygments:CodePygmentsRenderer" +jsonld = "mfr.extensions.codepygments:CodePygmentsRenderer" +jsp = "mfr.extensions.codepygments:CodePygmentsRenderer" +jst = "mfr.extensions.codepygments:CodePygmentsRenderer" +jsx = "mfr.extensions.codepygments:CodePygmentsRenderer" +kal = "mfr.extensions.codepygments:CodePygmentsRenderer" +kid = "mfr.extensions.codepygments:CodePygmentsRenderer" +kk = "mfr.extensions.codepygments:CodePygmentsRenderer" +kki = "mfr.extensions.codepygments:CodePygmentsRenderer" +ksh = "mfr.extensions.codepygments:CodePygmentsRenderer" +kt = "mfr.extensions.codepygments:CodePygmentsRenderer" +lagda = "mfr.extensions.codepygments:CodePygmentsRenderer" +lasso = "mfr.extensions.codepygments:CodePygmentsRenderer" +lcry = "mfr.extensions.codepygments:CodePygmentsRenderer" +lean = "mfr.extensions.codepygments:CodePygmentsRenderer" +lgs = "mfr.extensions.codepygments:CodePygmentsRenderer" +lgt = "mfr.extensions.codepygments:CodePygmentsRenderer" +lhs = "mfr.extensions.codepygments:CodePygmentsRenderer" +lid = "mfr.extensions.codepygments:CodePygmentsRenderer" +lidr = "mfr.extensions.codepygments:CodePygmentsRenderer" +liquid = "mfr.extensions.codepygments:CodePygmentsRenderer" +lisp = "mfr.extensions.codepygments:CodePygmentsRenderer" +list = "mfr.extensions.codepygments:CodePygmentsRenderer" +ll = "mfr.extensions.codepygments:CodePygmentsRenderer" +log = "mfr.extensions.codepygments:CodePygmentsRenderer" +logtalk = "mfr.extensions.codepygments:CodePygmentsRenderer" +ls = "mfr.extensions.codepygments:CodePygmentsRenderer" +lsl = "mfr.extensions.codepygments:CodePygmentsRenderer" +lsp = "mfr.extensions.codepygments:CodePygmentsRenderer" +lss = "mfr.extensions.codepygments:CodePygmentsRenderer" +lst = "mfr.extensions.codepygments:CodePygmentsRenderer" +ltx = "mfr.extensions.codepygments:CodePygmentsRenderer" +lua = "mfr.extensions.codepygments:CodePygmentsRenderer" +lyx = "mfr.extensions.codepygments:CodePygmentsRenderer" +m = "mfr.extensions.codepygments:CodePygmentsRenderer" +ma = "mfr.extensions.codepygments:CodePygmentsRenderer" +mak = "mfr.extensions.codepygments:CodePygmentsRenderer" +man = "mfr.extensions.codepygments:CodePygmentsRenderer" +mao = "mfr.extensions.codepygments:CodePygmentsRenderer" +maql = "mfr.extensions.codepygments:CodePygmentsRenderer" +mask = "mfr.extensions.codepygments:CodePygmentsRenderer" +mc = "mfr.extensions.codepygments:CodePygmentsRenderer" +mdp = "mfr.extensions.codepygments:CodePygmentsRenderer" +mhtml = "mfr.extensions.codepygments:CodePygmentsRenderer" +mi = "mfr.extensions.codepygments:CodePygmentsRenderer" +mk = "mfr.extensions.codepygments:CodePygmentsRenderer" +ml = "mfr.extensions.codepygments:CodePygmentsRenderer" +mli = "mfr.extensions.codepygments:CodePygmentsRenderer" +mll = "mfr.extensions.codepygments:CodePygmentsRenderer" +mly = "mfr.extensions.codepygments:CodePygmentsRenderer" +mm = "mfr.extensions.codepygments:CodePygmentsRenderer" +mo = "mfr.extensions.codepygments:CodePygmentsRenderer" +mod = "mfr.extensions.codepygments:CodePygmentsRenderer" +monkey = "mfr.extensions.codepygments:CodePygmentsRenderer" +moo = "mfr.extensions.codepygments:CodePygmentsRenderer" +moon = "mfr.extensions.codepygments:CodePygmentsRenderer" +mq4 = "mfr.extensions.codepygments:CodePygmentsRenderer" +mq5 = "mfr.extensions.codepygments:CodePygmentsRenderer" +mqh = "mfr.extensions.codepygments:CodePygmentsRenderer" +msc = "mfr.extensions.codepygments:CodePygmentsRenderer" +mu = "mfr.extensions.codepygments:CodePygmentsRenderer" +mxml = "mfr.extensions.codepygments:CodePygmentsRenderer" +myt = "mfr.extensions.codepygments:CodePygmentsRenderer" +n = "mfr.extensions.codepygments:CodePygmentsRenderer" +nb = "mfr.extensions.codepygments:CodePygmentsRenderer" +nbp = "mfr.extensions.codepygments:CodePygmentsRenderer" +nc = "mfr.extensions.codepygments:CodePygmentsRenderer" +nex = "mfr.extensions.codepygments:CodePygmentsRenderer" +ni = "mfr.extensions.codepygments:CodePygmentsRenderer" +nim = "mfr.extensions.codepygments:CodePygmentsRenderer" +nimrod = "mfr.extensions.codepygments:CodePygmentsRenderer" +nit = "mfr.extensions.codepygments:CodePygmentsRenderer" +nix = "mfr.extensions.codepygments:CodePygmentsRenderer" +nl = "mfr.extensions.codepygments:CodePygmentsRenderer" +nlogo = "mfr.extensions.codepygments:CodePygmentsRenderer" +nqp = "mfr.extensions.codepygments:CodePygmentsRenderer" +ns2 = "mfr.extensions.codepygments:CodePygmentsRenderer" +nsh = "mfr.extensions.codepygments:CodePygmentsRenderer" +nsi = "mfr.extensions.codepygments:CodePygmentsRenderer" +objdump = "mfr.extensions.codepygments:CodePygmentsRenderer" +objdump-intel = "mfr.extensions.codepygments:CodePygmentsRenderer" +ooc = "mfr.extensions.codepygments:CodePygmentsRenderer" +opa = "mfr.extensions.codepygments:CodePygmentsRenderer" +opensesame = "mfr.extensions.codepygments:CodePygmentsRenderer" +org = "mfr.extensions.codepygments:CodePygmentsRenderer" +p = "mfr.extensions.codepygments:CodePygmentsRenderer" +p6 = "mfr.extensions.codepygments:CodePygmentsRenderer" +p6l = "mfr.extensions.codepygments:CodePygmentsRenderer" +p6m = "mfr.extensions.codepygments:CodePygmentsRenderer" +pan = "mfr.extensions.codepygments:CodePygmentsRenderer" +pas = "mfr.extensions.codepygments:CodePygmentsRenderer" +patch = "mfr.extensions.codepygments:CodePygmentsRenderer" +php = "mfr.extensions.codepygments:CodePygmentsRenderer" +phtml = "mfr.extensions.codepygments:CodePygmentsRenderer" +pig = "mfr.extensions.codepygments:CodePygmentsRenderer" +pike = "mfr.extensions.codepygments:CodePygmentsRenderer" +pl = "mfr.extensions.codepygments:CodePygmentsRenderer" +pl6 = "mfr.extensions.codepygments:CodePygmentsRenderer" +plot = "mfr.extensions.codepygments:CodePygmentsRenderer" +plt = "mfr.extensions.codepygments:CodePygmentsRenderer" +pm = "mfr.extensions.codepygments:CodePygmentsRenderer" +pm6 = "mfr.extensions.codepygments:CodePygmentsRenderer" +pmod = "mfr.extensions.codepygments:CodePygmentsRenderer" +po = "mfr.extensions.codepygments:CodePygmentsRenderer" +# .pot = "mfr.extensions.codepygments:CodePygmentsRenderer" +pov = "mfr.extensions.codepygments:CodePygmentsRenderer" +pp = "mfr.extensions.codepygments:CodePygmentsRenderer" +praat = "mfr.extensions.codepygments:CodePygmentsRenderer" +prg = "mfr.extensions.codepygments:CodePygmentsRenderer" +prj = "mfr.extensions.codepygments:CodePygmentsRenderer" +pro = "mfr.extensions.codepygments:CodePygmentsRenderer" +prolog = "mfr.extensions.codepygments:CodePygmentsRenderer" +properties = "mfr.extensions.codepygments:CodePygmentsRenderer" +proto = "mfr.extensions.codepygments:CodePygmentsRenderer" +ps = "mfr.extensions.codepygments:CodePygmentsRenderer" +psydat = "mfr.extensions.codepygments:CodePygmentsRenderer" +psyexp = "mfr.extensions.codepygments:CodePygmentsRenderer" +ps1 = "mfr.extensions.codepygments:CodePygmentsRenderer" +psm1 = "mfr.extensions.codepygments:CodePygmentsRenderer" +pwn = "mfr.extensions.codepygments:CodePygmentsRenderer" +pxd = "mfr.extensions.codepygments:CodePygmentsRenderer" +pxi = "mfr.extensions.codepygments:CodePygmentsRenderer" +py = "mfr.extensions.codepygments:CodePygmentsRenderer" +py3tb = "mfr.extensions.codepygments:CodePygmentsRenderer" +pypylog = "mfr.extensions.codepygments:CodePygmentsRenderer" +pytb = "mfr.extensions.codepygments:CodePygmentsRenderer" +pyw = "mfr.extensions.codepygments:CodePygmentsRenderer" +pyx = "mfr.extensions.codepygments:CodePygmentsRenderer" +pzfx = "mfr.extensions.codepygments:CodePygmentsRenderer" +qml = "mfr.extensions.codepygments:CodePygmentsRenderer" +qsf = "mfr.extensions.codepygments:CodePygmentsRenderer" +r = "mfr.extensions.codepygments:CodePygmentsRenderer" +r3 = "mfr.extensions.codepygments:CodePygmentsRenderer" +rake = "mfr.extensions.codepygments:CodePygmentsRenderer" +rb = "mfr.extensions.codepygments:CodePygmentsRenderer" +rbw = "mfr.extensions.codepygments:CodePygmentsRenderer" +rbx = "mfr.extensions.codepygments:CodePygmentsRenderer" +rd = "mfr.extensions.codepygments:CodePygmentsRenderer" +rdf = "mfr.extensions.codepygments:CodePygmentsRenderer" +reb = "mfr.extensions.codepygments:CodePygmentsRenderer" +red = "mfr.extensions.codepygments:CodePygmentsRenderer" +reds = "mfr.extensions.codepygments:CodePygmentsRenderer" +reg = "mfr.extensions.codepygments:CodePygmentsRenderer" +rest = "mfr.extensions.codepygments:CodePygmentsRenderer" +rex = "mfr.extensions.codepygments:CodePygmentsRenderer" +rexx = "mfr.extensions.codepygments:CodePygmentsRenderer" +rhtml = "mfr.extensions.codepygments:CodePygmentsRenderer" +ris = "mfr.extensions.codepygments:CodePygmentsRenderer" +rkt = "mfr.extensions.codepygments:CodePygmentsRenderer" +rktd = "mfr.extensions.codepygments:CodePygmentsRenderer" +rktl = "mfr.extensions.codepygments:CodePygmentsRenderer" +rl = "mfr.extensions.codepygments:CodePygmentsRenderer" +rm5 = "mfr.extensions.codepygments:CodePygmentsRenderer" +rnw = "mfr.extensions.codepygments:CodePygmentsRenderer" +robot = "mfr.extensions.codepygments:CodePygmentsRenderer" +rout = "mfr.extensions.codepygments:CodePygmentsRenderer" +rpf = "mfr.extensions.codepygments:CodePygmentsRenderer" +rq = "mfr.extensions.codepygments:CodePygmentsRenderer" +rql = "mfr.extensions.codepygments:CodePygmentsRenderer" +rs = "mfr.extensions.codepygments:CodePygmentsRenderer" +rsl = "mfr.extensions.codepygments:CodePygmentsRenderer" +rss = "mfr.extensions.codepygments:CodePygmentsRenderer" +rvt = "mfr.extensions.codepygments:CodePygmentsRenderer" +rx = "mfr.extensions.codepygments:CodePygmentsRenderer" +s = "mfr.extensions.codepygments:CodePygmentsRenderer" +sage = "mfr.extensions.codepygments:CodePygmentsRenderer" +sass = "mfr.extensions.codepygments:CodePygmentsRenderer" +sc = "mfr.extensions.codepygments:CodePygmentsRenderer" +scad = "mfr.extensions.codepygments:CodePygmentsRenderer" +scala = "mfr.extensions.codepygments:CodePygmentsRenderer" +scaml = "mfr.extensions.codepygments:CodePygmentsRenderer" +sce = "mfr.extensions.codepygments:CodePygmentsRenderer" +sci = "mfr.extensions.codepygments:CodePygmentsRenderer" +sch = "mfr.extensions.codepygments:CodePygmentsRenderer" +scm = "mfr.extensions.codepygments:CodePygmentsRenderer" +scss = "mfr.extensions.codepygments:CodePygmentsRenderer" +sdf = "mfr.extensions.codepygments:CodePygmentsRenderer" +sh = "mfr.extensions.codepygments:CodePygmentsRenderer" +sh-session = "mfr.extensions.codepygments:CodePygmentsRenderer" +shell-session = "mfr.extensions.codepygments:CodePygmentsRenderer" +sig = "mfr.extensions.codepygments:CodePygmentsRenderer" +slim = "mfr.extensions.codepygments:CodePygmentsRenderer" +sls = "mfr.extensions.codepygments:CodePygmentsRenderer" +smali = "mfr.extensions.codepygments:CodePygmentsRenderer" +smcl = "mfr.extensions.codepygments:CodePygmentsRenderer" +sml = "mfr.extensions.codepygments:CodePygmentsRenderer" +snobol = "mfr.extensions.codepygments:CodePygmentsRenderer" +sp = "mfr.extensions.codepygments:CodePygmentsRenderer" +sparql = "mfr.extensions.codepygments:CodePygmentsRenderer" +spec = "mfr.extensions.codepygments:CodePygmentsRenderer" +spt = "mfr.extensions.codepygments:CodePygmentsRenderer" +sql = "mfr.extensions.codepygments:CodePygmentsRenderer" +sqlite3-console = "mfr.extensions.codepygments:CodePygmentsRenderer" +ss = "mfr.extensions.codepygments:CodePygmentsRenderer" +ssp = "mfr.extensions.codepygments:CodePygmentsRenderer" +st = "mfr.extensions.codepygments:CodePygmentsRenderer" +stan = "mfr.extensions.codepygments:CodePygmentsRenderer" +sty = "mfr.extensions.codepygments:CodePygmentsRenderer" +sv = "mfr.extensions.codepygments:CodePygmentsRenderer" +svh = "mfr.extensions.codepygments:CodePygmentsRenderer" +swg = "mfr.extensions.codepygments:CodePygmentsRenderer" +swift = "mfr.extensions.codepygments:CodePygmentsRenderer" +t = "mfr.extensions.codepygments:CodePygmentsRenderer" +tab = "mfr.extensions.codepygments:CodePygmentsRenderer" +tac = "mfr.extensions.codepygments:CodePygmentsRenderer" +tcl = "mfr.extensions.codepygments:CodePygmentsRenderer" +tcsh = "mfr.extensions.codepygments:CodePygmentsRenderer" +tea = "mfr.extensions.codepygments:CodePygmentsRenderer" +tem = "mfr.extensions.codepygments:CodePygmentsRenderer" +tex = "mfr.extensions.codepygments:CodePygmentsRenderer" +textgrid = "mfr.extensions.codepygments:CodePygmentsRenderer" +thy = "mfr.extensions.codepygments:CodePygmentsRenderer" +tmpl = "mfr.extensions.codepygments:CodePygmentsRenderer" +toc = "mfr.extensions.codepygments:CodePygmentsRenderer" +todotxt = "mfr.extensions.codepygments:CodePygmentsRenderer" +tpl = "mfr.extensions.codepygments:CodePygmentsRenderer" +tre = "mfr.extensions.codepygments:CodePygmentsRenderer" +treetop = "mfr.extensions.codepygments:CodePygmentsRenderer" +ts = "mfr.extensions.codepygments:CodePygmentsRenderer" +tst = "mfr.extensions.codepygments:CodePygmentsRenderer" +tt = "mfr.extensions.codepygments:CodePygmentsRenderer" +ttl = "mfr.extensions.codepygments:CodePygmentsRenderer" +twig = "mfr.extensions.codepygments:CodePygmentsRenderer" +txt = "mfr.extensions.codepygments:CodePygmentsRenderer" +rmd = "mfr.extensions.codepygments:CodePygmentsRenderer" +do = "mfr.extensions.codepygments:CodePygmentsRenderer" +sas = "mfr.extensions.codepygments:CodePygmentsRenderer" +sps = "mfr.extensions.codepygments:CodePygmentsRenderer" +u = "mfr.extensions.codepygments:CodePygmentsRenderer" +umbrella = "mfr.extensions.codepygments:CodePygmentsRenderer" +v = "mfr.extensions.codepygments:CodePygmentsRenderer" +vala = "mfr.extensions.codepygments:CodePygmentsRenderer" +vapi = "mfr.extensions.codepygments:CodePygmentsRenderer" +vark = "mfr.extensions.codepygments:CodePygmentsRenderer" +vb = "mfr.extensions.codepygments:CodePygmentsRenderer" +vert = "mfr.extensions.codepygments:CodePygmentsRenderer" +vhd = "mfr.extensions.codepygments:CodePygmentsRenderer" +vhdl = "mfr.extensions.codepygments:CodePygmentsRenderer" +vim = "mfr.extensions.codepygments:CodePygmentsRenderer" +vm = "mfr.extensions.codepygments:CodePygmentsRenderer" +vmrk = "mfr.extensions.codepygments:CodePygmentsRenderer" +vtk = "mfr.extensions.codepygments:CodePygmentsRenderer" +vtt = "mfr.extensions.codepygments:CodePygmentsRenderer" +weechatlog = "mfr.extensions.codepygments:CodePygmentsRenderer" +wlua = "mfr.extensions.codepygments:CodePygmentsRenderer" +wndpos = "mfr.extensions.codepygments:CodePygmentsRenderer" +wsdl = "mfr.extensions.codepygments:CodePygmentsRenderer" +wsf = "mfr.extensions.codepygments:CodePygmentsRenderer" +x = "mfr.extensions.codepygments:CodePygmentsRenderer" +xhtml = "mfr.extensions.codepygments:CodePygmentsRenderer" +xi = "mfr.extensions.codepygments:CodePygmentsRenderer" +xm = "mfr.extensions.codepygments:CodePygmentsRenderer" +xmi = "mfr.extensions.codepygments:CodePygmentsRenderer" +xml = "mfr.extensions.codepygments:CodePygmentsRenderer" +xpl = "mfr.extensions.codepygments:CodePygmentsRenderer" +xq = "mfr.extensions.codepygments:CodePygmentsRenderer" +xql = "mfr.extensions.codepygments:CodePygmentsRenderer" +xqm = "mfr.extensions.codepygments:CodePygmentsRenderer" +xquery = "mfr.extensions.codepygments:CodePygmentsRenderer" +xqy = "mfr.extensions.codepygments:CodePygmentsRenderer" +xsd = "mfr.extensions.codepygments:CodePygmentsRenderer" +xsl = "mfr.extensions.codepygments:CodePygmentsRenderer" +xslt = "mfr.extensions.codepygments:CodePygmentsRenderer" +xtend = "mfr.extensions.codepygments:CodePygmentsRenderer" +xul = "mfr.extensions.codepygments:CodePygmentsRenderer" +yaml = "mfr.extensions.codepygments:CodePygmentsRenderer" +yml = "mfr.extensions.codepygments:CodePygmentsRenderer" +zep = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.*config.in* = "mfr.extensions.codepygments:CodePygmentsRenderer" +renviron = "mfr.extensions.codepygments:CodePygmentsRenderer" +rhistory = "mfr.extensions.codepygments:CodePygmentsRenderer" +rprofile = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.bash_* = "mfr.extensions.codepygments:CodePygmentsRenderer" +bashrc = "mfr.extensions.codepygments:CodePygmentsRenderer" +exrc = "mfr.extensions.codepygments:CodePygmentsRenderer" +gvimrc = "mfr.extensions.codepygments:CodePygmentsRenderer" +htaccess = "mfr.extensions.codepygments:CodePygmentsRenderer" +vimrc = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.cmakelists.txt = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.dockerfile = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.gnumakefile = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.kconfig = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.makefile = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.makefile.* = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.pkgbuild = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.rakefile = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.sconscript = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.sconstruct = "mfr.extensions.codepygments:CodePygmentsRenderer" +#._exrc = "mfr.extensions.codepygments:CodePygmentsRenderer" +#._gvimrc = "mfr.extensions.codepygments:CodePygmentsRenderer" +#._vimrc = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.apache.conf = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.apache2.conf = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.autodelegate = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.autohandler = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.bash_* = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.bashrc = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.control = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.dhandler = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.external.in* = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.gvimrc = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.makefile = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.sources.list = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.squid.conf = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.standard-modules.in = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.todo.txt = "mfr.extensions.codepygments:CodePygmentsRenderer" +#.vimrc = "mfr.extensions.codepygments:CodePygmentsRenderer" + +# docx +# .docx = mfr.extensions.docx:DocxRenderer + +# google docs +gdraw = "mfr.extensions.image:ImageRenderer" +gdoc = "mfr.extensions.unoconv:UnoconvRenderer" +gsheet = "mfr.extensions.tabular:TabularRenderer" +gslides = "mfr.extensions.unoconv:UnoconvRenderer" + +# image +bmp = "mfr.extensions.image:ImageRenderer" +jpg = "mfr.extensions.image:ImageRenderer" +jpeg = "mfr.extensions.image:ImageRenderer" +gif = "mfr.extensions.image:ImageRenderer" +ico = "mfr.extensions.image:ImageRenderer" +png = "mfr.extensions.image:ImageRenderer" +psd = "mfr.extensions.image:ImageRenderer" +tif = "mfr.extensions.pdf:PdfRenderer" +tiff = "mfr.extensions.pdf:PdfRenderer" + +# ipynb +ipynb = "mfr.extensions.ipynb:IpynbRenderer" + +# md +md = "mfr.extensions.md:MdRenderer" +markdown = "mfr.extensions.md:MdRenderer" + +# jsc3d +3ds = "mfr.extensions.jsc3d:JSC3DRenderer" +ctm = "mfr.extensions.jsc3d:JSC3DRenderer" +obj = "mfr.extensions.jsc3d:JSC3DRenderer" +stl = "mfr.extensions.jsc3d:JSC3DRenderer" +stp = "mfr.extensions.jsc3d:JSC3DRenderer" +step = "mfr.extensions.jsc3d:JSC3DRenderer" + + +# pdb +pdb = "mfr.extensions.pdb:PdbRenderer" + +# pdf +pdf = "mfr.extensions.pdf:PdfRenderer" + +# rst +rst = "mfr.extensions.rst:RstRenderer" + +# svg +# .svg = mfr.extensions.svg:SvgRenderer + +# tabular +csv = "mfr.extensions.tabular:TabularRenderer" +tsv = "mfr.extensions.tabular:TabularRenderer" +xls = "mfr.extensions.tabular:TabularRenderer" +xlsx = "mfr.extensions.tabular:TabularRenderer" +dta = "mfr.extensions.tabular:TabularRenderer" +mat = "mfr.extensions.tabular:TabularRenderer" +sav = "mfr.extensions.tabular:TabularRenderer" +#.ods = "mfr.extensions.tabular:TabularRenderer" + +# unoconv +# .bib = mfr.extensions.unoconv:UnoconvRenderer +# .bmp = mfr.extensions.unoconv:UnoconvRenderer +# .csv = mfr.extensions.unoconv:UnoconvRenderer +dbf = "mfr.extensions.unoconv:UnoconvRenderer" +dif = "mfr.extensions.unoconv:UnoconvRenderer" +doc = "mfr.extensions.unoconv:UnoconvRenderer" +docx = "mfr.extensions.unoconv:UnoconvRenderer" +emf = "mfr.extensions.unoconv:UnoconvRenderer" +eps = "mfr.extensions.unoconv:UnoconvRenderer" +fodg = "mfr.extensions.unoconv:UnoconvRenderer" +fodp = "mfr.extensions.unoconv:UnoconvRenderer" +fods = "mfr.extensions.unoconv:UnoconvRenderer" +fodt = "mfr.extensions.unoconv:UnoconvRenderer" +# .gif = "mfr.extensions.unoconv:UnoconvRenderer" +# .html = "mfr.extensions.unoconv:UnoconvRenderer" +# .jpg = "mfr.extensions.unoconv:UnoconvRenderer" +# .ltx = "mfr.extensions.unoconv:UnoconvRenderer" +met = "mfr.extensions.unoconv:UnoconvRenderer" +odd = "mfr.extensions.unoconv:UnoconvRenderer" +odg = "mfr.extensions.unoconv:UnoconvRenderer" +odp = "mfr.extensions.unoconv:UnoconvRenderer" +ods = "mfr.extensions.unoconv:UnoconvRenderer" +odt = "mfr.extensions.unoconv:UnoconvRenderer" +otg = "mfr.extensions.unoconv:UnoconvRenderer" +otp = "mfr.extensions.unoconv:UnoconvRenderer" +ots = "mfr.extensions.unoconv:UnoconvRenderer" +ott = "mfr.extensions.unoconv:UnoconvRenderer" +pbm = "mfr.extensions.unoconv:UnoconvRenderer" +pct = "mfr.extensions.unoconv:UnoconvRenderer" +# .pdb = "mfr.extensions.unoconv:UnoconvRenderer" +# .pdf = "mfr.extensions.unoconv:UnoconvRenderer" +pgm = "mfr.extensions.unoconv:UnoconvRenderer" +# .png = "mfr.extensions.unoconv:UnoconvRenderer" +pot = "mfr.extensions.unoconv:UnoconvRenderer" +potm = "mfr.extensions.unoconv:UnoconvRenderer" +ppm = "mfr.extensions.unoconv:UnoconvRenderer" +pps = "mfr.extensions.unoconv:UnoconvRenderer" +ppt = "mfr.extensions.unoconv:UnoconvRenderer" +pptx = "mfr.extensions.unoconv:UnoconvRenderer" +psw = "mfr.extensions.unoconv:UnoconvRenderer" +pwp = "mfr.extensions.unoconv:UnoconvRenderer" +pxl = "mfr.extensions.unoconv:UnoconvRenderer" +ras = "mfr.extensions.unoconv:UnoconvRenderer" +rtf = "mfr.extensions.unoconv:UnoconvRenderer" +sda = "mfr.extensions.unoconv:UnoconvRenderer" +sdc = "mfr.extensions.unoconv:UnoconvRenderer" +sdd = "mfr.extensions.unoconv:UnoconvRenderer" +sdw = "mfr.extensions.unoconv:UnoconvRenderer" +slk = "mfr.extensions.unoconv:UnoconvRenderer" +stc = "mfr.extensions.unoconv:UnoconvRenderer" +std = "mfr.extensions.unoconv:UnoconvRenderer" +sti = "mfr.extensions.unoconv:UnoconvRenderer" +stw = "mfr.extensions.unoconv:UnoconvRenderer" +svg = "mfr.extensions.unoconv:UnoconvRenderer" +svm = "mfr.extensions.unoconv:UnoconvRenderer" +# Renders junk at the moment +# .swf = mfr.extensions.unoconv:UnoconvRenderer +sxc = "mfr.extensions.unoconv:UnoconvRenderer" +sxd = "mfr.extensions.unoconv:UnoconvRenderer" +sxi = "mfr.extensions.unoconv:UnoconvRenderer" +sxw = "mfr.extensions.unoconv:UnoconvRenderer" +# .tiff = "mfr.extensions.unoconv:UnoconvRenderer" +# .txt = "mfr.extensions.unoconv:UnoconvRenderer" +uop = "mfr.extensions.unoconv:UnoconvRenderer" +uos = "mfr.extensions.unoconv:UnoconvRenderer" +uot = "mfr.extensions.unoconv:UnoconvRenderer" +vor = "mfr.extensions.unoconv:UnoconvRenderer" +wmf = "mfr.extensions.unoconv:UnoconvRenderer" +wps = "mfr.extensions.unoconv:UnoconvRenderer" +# .xhtml = "mfr.extensions.unoconv:UnoconvRenderer" +# .xls = "mfr.extensions.unoconv:UnoconvRenderer" +# .xlsx = "mfr.extensions.unoconv:UnoconvRenderer" +xlt = "mfr.extensions.unoconv:UnoconvRenderer" +# .xml = "mfr.extensions.unoconv:UnoconvRenderer" +xpm = "mfr.extensions.unoconv:UnoconvRenderer" + +# video +mp4 = "mfr.extensions.video:VideoRenderer" +m4v = "mfr.extensions.video:VideoRenderer" +# Unable to support at this time +#.avi = mfr.extensions.video:VideoRenderer +ogv = "mfr.extensions.video:VideoRenderer" +#.wmv = mfr.extensions.video:VideoRenderer +webm = "mfr.extensions.video:VideoRenderer" + +# jamovi +omv = "mfr.extensions.jamovi:JamoviRenderer" + +# JASP +jasp = "mfr.extensions.jasp:JASPRenderer" + +# Zip +zip = "mfr.extensions.zip:ZipRenderer" diff --git a/setup.py b/setup.py deleted file mode 100644 index 52cb4bdd..00000000 --- a/setup.py +++ /dev/null @@ -1,811 +0,0 @@ -from setuptools import setup, find_packages - - -# Taken from option 3 of https://packaging.python.org/guides/single-sourcing-package-version/ -version = {} -with open('mfr/version.py') as fp: - exec(fp.read(), version) - -setup( - name='mfr', - version=version['__version__'], - description='Modular File Renderer', - author='Center for Open Science', - author_email='contact@cos.io', - url='https://github.com/CenterForOpenScience/modular-file-renderer', - packages=find_packages(exclude=("tests*", )), - package_dir={'mfr': 'mfr'}, - include_package_data=True, - zip_safe=False, - license='Apache-2.0', - classifiers=[ - 'Natural Language :: English', - 'Intended Audience :: Developers', - 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.13', - 'Development Status :: 5 - Production/Stable', - ], - provides=[ - 'mfr.extensions', - 'mfr.providers', - ], - entry_points={ - 'mfr.providers': [ - 'http = mfr.providers.http:HttpProvider', - 'osf = mfr.providers.osf:OsfProvider', - ], - 'mfr.exporters': [ - # google docs - '.gdraw = mfr.extensions.image:ImageExporter', - '.gdoc = mfr.extensions.unoconv:UnoconvExporter', - '.gsheet = mfr.extensions.unoconv:UnoconvExporter', - '.gslides = mfr.extensions.unoconv:UnoconvExporter', - - # image - '.jpg = mfr.extensions.image:ImageExporter', - '.jpeg = mfr.extensions.image:ImageExporter', - '.png = mfr.extensions.image:ImageExporter', - '.bmp = mfr.extensions.image:ImageExporter', - '.gif = mfr.extensions.image:ImageExporter', - '.psd = mfr.extensions.image:ImageExporter', - '.tif = mfr.extensions.pdf:PdfExporter', - '.tiff = mfr.extensions.pdf:PdfExporter', - - # jsc3d - '.stp = mfr.extensions.jsc3d:JSC3DExporter', - '.step = mfr.extensions.jsc3d:JSC3DExporter', - - # unoconv - # '.bib = mfr.extensions.unoconv:UnoconvExporter', - # '.bmp = mfr.extensions.unoconv:UnoconvExporter', - # '.csv = mfr.extensions.unoconv:UnoconvExporter', - '.dbf = mfr.extensions.unoconv:UnoconvExporter', - '.dif = mfr.extensions.unoconv:UnoconvExporter', - '.doc = mfr.extensions.unoconv:UnoconvExporter', - '.docx = mfr.extensions.unoconv:UnoconvExporter', - '.emf = mfr.extensions.unoconv:UnoconvExporter', - '.eps = mfr.extensions.unoconv:UnoconvExporter', - '.fodg = mfr.extensions.unoconv:UnoconvExporter', - '.fodp = mfr.extensions.unoconv:UnoconvExporter', - '.fods = mfr.extensions.unoconv:UnoconvExporter', - '.fodt = mfr.extensions.unoconv:UnoconvExporter', - # '.gif = mfr.extensions.unoconv:UnoconvExporter', - # '.html = mfr.extensions.unoconv:UnoconvExporter', - # '.jpg = mfr.extensions.unoconv:UnoconvExporter', - # '.ltx = mfr.extensions.unoconv:UnoconvExporter', - '.met = mfr.extensions.unoconv:UnoconvExporter', - '.odd = mfr.extensions.unoconv:UnoconvExporter', - '.odg = mfr.extensions.unoconv:UnoconvExporter', - '.odp = mfr.extensions.unoconv:UnoconvExporter', - '.ods = mfr.extensions.unoconv:UnoconvExporter', - '.odt = mfr.extensions.unoconv:UnoconvExporter', - '.otg = mfr.extensions.unoconv:UnoconvExporter', - '.otp = mfr.extensions.unoconv:UnoconvExporter', - '.ots = mfr.extensions.unoconv:UnoconvExporter', - '.ott = mfr.extensions.unoconv:UnoconvExporter', - '.pbm = mfr.extensions.unoconv:UnoconvExporter', - '.pct = mfr.extensions.unoconv:UnoconvExporter', - # '.pdb = mfr.extensions.unoconv:UnoconvExporter', - # '.pdf = mfr.extensions.unoconv:UnoconvExporter', - '.pgm = mfr.extensions.unoconv:UnoconvExporter', - # '.png = mfr.extensions.unoconv:UnoconvExporter', - '.pot = mfr.extensions.unoconv:UnoconvExporter', - '.potm = mfr.extensions.unoconv:UnoconvExporter', - '.ppm = mfr.extensions.unoconv:UnoconvExporter', - '.pps = mfr.extensions.unoconv:UnoconvExporter', - '.ppt = mfr.extensions.unoconv:UnoconvExporter', - '.pptx = mfr.extensions.unoconv:UnoconvExporter', - '.psw = mfr.extensions.unoconv:UnoconvExporter', - '.pwp = mfr.extensions.unoconv:UnoconvExporter', - '.pxl = mfr.extensions.unoconv:UnoconvExporter', - '.ras = mfr.extensions.unoconv:UnoconvExporter', - '.rtf = mfr.extensions.unoconv:UnoconvExporter', - '.sda = mfr.extensions.unoconv:UnoconvExporter', - '.sdc = mfr.extensions.unoconv:UnoconvExporter', - '.sdd = mfr.extensions.unoconv:UnoconvExporter', - '.sdw = mfr.extensions.unoconv:UnoconvExporter', - '.slk = mfr.extensions.unoconv:UnoconvExporter', - '.stc = mfr.extensions.unoconv:UnoconvExporter', - '.std = mfr.extensions.unoconv:UnoconvExporter', - '.sti = mfr.extensions.unoconv:UnoconvExporter', - '.stw = mfr.extensions.unoconv:UnoconvExporter', - '.svg = mfr.extensions.unoconv:UnoconvExporter', - '.svm = mfr.extensions.unoconv:UnoconvExporter', - # Renders junk at the moment - # '.swf = mfr.extensions.unoconv:UnoconvExporter', - '.sxc = mfr.extensions.unoconv:UnoconvExporter', - '.sxd = mfr.extensions.unoconv:UnoconvExporter', - '.sxi = mfr.extensions.unoconv:UnoconvExporter', - '.sxw = mfr.extensions.unoconv:UnoconvExporter', - # '.tiff = mfr.extensions.unoconv:UnoconvExporter', - # '.txt = mfr.extensions.unoconv:UnoconvExporter', - '.uop = mfr.extensions.unoconv:UnoconvExporter', - '.uos = mfr.extensions.unoconv:UnoconvExporter', - '.uot = mfr.extensions.unoconv:UnoconvExporter', - '.vor = mfr.extensions.unoconv:UnoconvExporter', - '.wmf = mfr.extensions.unoconv:UnoconvExporter', - '.wps = mfr.extensions.unoconv:UnoconvExporter', - # '.xhtml = mfr.extensions.unoconv:UnoconvExporter', - # '.xls = mfr.extensions.unoconv:UnoconvExporter', - # '.xlsx = mfr.extensions.unoconv:UnoconvExporter', - '.xlt = mfr.extensions.unoconv:UnoconvExporter', - # '.xml = mfr.extensions.unoconv:UnoconvExporter', - '.xpm = mfr.extensions.unoconv:UnoconvExporter', - ], - 'mfr.renderers': [ - # audio - '.mp3 = mfr.extensions.audio:AudioRenderer', - '.ogg = mfr.extensions.audio:AudioRenderer', - '.wav = mfr.extensions.audio:AudioRenderer', - - # code pygments - 'none = mfr.extensions.codepygments:CodePygmentsRenderer', - '.1 = mfr.extensions.codepygments:CodePygmentsRenderer', - '.2 = mfr.extensions.codepygments:CodePygmentsRenderer', - '.3 = mfr.extensions.codepygments:CodePygmentsRenderer', - '.4 = mfr.extensions.codepygments:CodePygmentsRenderer', - '.5 = mfr.extensions.codepygments:CodePygmentsRenderer', - '.6 = mfr.extensions.codepygments:CodePygmentsRenderer', - '.6pm = mfr.extensions.codepygments:CodePygmentsRenderer', - '.6pl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.7 = mfr.extensions.codepygments:CodePygmentsRenderer', - '.abap = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ada = mfr.extensions.codepygments:CodePygmentsRenderer', - '.adb = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ads = mfr.extensions.codepygments:CodePygmentsRenderer', - '.agda = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ahk = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ahkl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.aj = mfr.extensions.codepygments:CodePygmentsRenderer', - '.als = mfr.extensions.codepygments:CodePygmentsRenderer', - '.amw = mfr.extensions.codepygments:CodePygmentsRenderer', - '.anl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.apl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.applescript = mfr.extensions.codepygments:CodePygmentsRenderer', - '.arexx = mfr.extensions.codepygments:CodePygmentsRenderer', - '.as = mfr.extensions.codepygments:CodePygmentsRenderer', - '.asax = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ascx = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ashx = mfr.extensions.codepygments:CodePygmentsRenderer', - '.asm = mfr.extensions.codepygments:CodePygmentsRenderer', - '.asmx = mfr.extensions.codepygments:CodePygmentsRenderer', - '.aspx = mfr.extensions.codepygments:CodePygmentsRenderer', - '.asy = mfr.extensions.codepygments:CodePygmentsRenderer', - '.at = mfr.extensions.codepygments:CodePygmentsRenderer', - '.au3 = mfr.extensions.codepygments:CodePygmentsRenderer', - '.aux = mfr.extensions.codepygments:CodePygmentsRenderer', - '.awk = mfr.extensions.codepygments:CodePygmentsRenderer', - '.axd = mfr.extensions.codepygments:CodePygmentsRenderer', - '.b = mfr.extensions.codepygments:CodePygmentsRenderer', - '.bas = mfr.extensions.codepygments:CodePygmentsRenderer', - '.bash = mfr.extensions.codepygments:CodePygmentsRenderer', - '.bat = mfr.extensions.codepygments:CodePygmentsRenderer', - '.bb = mfr.extensions.codepygments:CodePygmentsRenderer', - '.bed = mfr.extensions.codepygments:CodePygmentsRenderer', - '.befunge = mfr.extensions.codepygments:CodePygmentsRenderer', - '.bf = mfr.extensions.codepygments:CodePygmentsRenderer', - '.bib = mfr.extensions.codepygments:CodePygmentsRenderer', - '.bmx = mfr.extensions.codepygments:CodePygmentsRenderer', - '.boa = mfr.extensions.codepygments:CodePygmentsRenderer', - '.boo = mfr.extensions.codepygments:CodePygmentsRenderer', - '.boxs = mfr.extensions.codepygments:CodePygmentsRenderer', - '.bro = mfr.extensions.codepygments:CodePygmentsRenderer', - '.bst = mfr.extensions.codepygments:CodePygmentsRenderer', - '.bug = mfr.extensions.codepygments:CodePygmentsRenderer', - '.c = mfr.extensions.codepygments:CodePygmentsRenderer', - '.c++ = mfr.extensions.codepygments:CodePygmentsRenderer', - '.c++-objdump = mfr.extensions.codepygments:CodePygmentsRenderer', - '.c-objdump = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cbl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cc = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cdf = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cmdi = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ceylon = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cf = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cfc = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cfg = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cfm = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cfml = mfr.extensions.codepygments:CodePygmentsRenderer', - '.chai = mfr.extensions.codepygments:CodePygmentsRenderer', - '.chpl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cirru = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.clay = mfr.extensions.codepygments:CodePygmentsRenderer', - '.clj = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cljs = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cls = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cmake = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cmd = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cob = mfr.extensions.codepygments:CodePygmentsRenderer', - '.coffee = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cp = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cpp = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cpp-objdump = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cpy = mfr.extensions.codepygments:CodePygmentsRenderer', - '.croc = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cry = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cs = mfr.extensions.codepygments:CodePygmentsRenderer', - '.csh = mfr.extensions.codepygments:CodePygmentsRenderer', - '.csl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.css = mfr.extensions.codepygments:CodePygmentsRenderer', - '.css.in = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cu = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cuh = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cw = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cxx = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cxx-objdump = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cyp = mfr.extensions.codepygments:CodePygmentsRenderer', - '.cypher = mfr.extensions.codepygments:CodePygmentsRenderer', - '.d = mfr.extensions.codepygments:CodePygmentsRenderer', - '.d-objdump = mfr.extensions.codepygments:CodePygmentsRenderer', - '.darcspatch = mfr.extensions.codepygments:CodePygmentsRenderer', - '.dart = mfr.extensions.codepygments:CodePygmentsRenderer', - '.decls = mfr.extensions.codepygments:CodePygmentsRenderer', - '.def = mfr.extensions.codepygments:CodePygmentsRenderer', - '.dg = mfr.extensions.codepygments:CodePygmentsRenderer', - '.di = mfr.extensions.codepygments:CodePygmentsRenderer', - '.diff = mfr.extensions.codepygments:CodePygmentsRenderer', - '.docker = mfr.extensions.codepygments:CodePygmentsRenderer', - '.dpatch = mfr.extensions.codepygments:CodePygmentsRenderer', - '.dtd = mfr.extensions.codepygments:CodePygmentsRenderer', - '.duby = mfr.extensions.codepygments:CodePygmentsRenderer', - '.duel = mfr.extensions.codepygments:CodePygmentsRenderer', - '.dyl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.dylan = mfr.extensions.codepygments:CodePygmentsRenderer', - '.dylan-console = mfr.extensions.codepygments:CodePygmentsRenderer', - '.e = mfr.extensions.codepygments:CodePygmentsRenderer', - '.eaf = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ebnf = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ebuild = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ec = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ecl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.eclass = mfr.extensions.codepygments:CodePygmentsRenderer', - '.eh = mfr.extensions.codepygments:CodePygmentsRenderer', - '.el = mfr.extensions.codepygments:CodePygmentsRenderer', - # '.eps = mfr.extensions.codepygments:CodePygmentsRenderer', - '.eqn = mfr.extensions.codepygments:CodePygmentsRenderer', - '.erl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.erl-sh = mfr.extensions.codepygments:CodePygmentsRenderer', - '.es = mfr.extensions.codepygments:CodePygmentsRenderer', - '.escript = mfr.extensions.codepygments:CodePygmentsRenderer', - '.evoque = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ex = mfr.extensions.codepygments:CodePygmentsRenderer', - '.exs = mfr.extensions.codepygments:CodePygmentsRenderer', - '.f = mfr.extensions.codepygments:CodePygmentsRenderer', - '.f90 = mfr.extensions.codepygments:CodePygmentsRenderer', - '.factor = mfr.extensions.codepygments:CodePygmentsRenderer', - '.fan = mfr.extensions.codepygments:CodePygmentsRenderer', - '.fancypack = mfr.extensions.codepygments:CodePygmentsRenderer', - '.fas = mfr.extensions.codepygments:CodePygmentsRenderer', - '.fasta = mfr.extensions.codepygments:CodePygmentsRenderer', - '.feature = mfr.extensions.codepygments:CodePygmentsRenderer', - '.fhtml = mfr.extensions.codepygments:CodePygmentsRenderer', - '.flx = mfr.extensions.codepygments:CodePygmentsRenderer', - '.flxh = mfr.extensions.codepygments:CodePygmentsRenderer', - '.frag = mfr.extensions.codepygments:CodePygmentsRenderer', - '.fs = mfr.extensions.codepygments:CodePygmentsRenderer', - '.fsi = mfr.extensions.codepygments:CodePygmentsRenderer', - '.fun = mfr.extensions.codepygments:CodePygmentsRenderer', - '.fy = mfr.extensions.codepygments:CodePygmentsRenderer', - '.g = mfr.extensions.codepygments:CodePygmentsRenderer', - '.gap = mfr.extensions.codepygments:CodePygmentsRenderer', - '.gd = mfr.extensions.codepygments:CodePygmentsRenderer', - '.gdc = mfr.extensions.codepygments:CodePygmentsRenderer', - '.gdt = mfr.extensions.codepygments:CodePygmentsRenderer', - '.gemspec = mfr.extensions.codepygments:CodePygmentsRenderer', - '.geo = mfr.extensions.codepygments:CodePygmentsRenderer', - '.gi = mfr.extensions.codepygments:CodePygmentsRenderer', - '.go = mfr.extensions.codepygments:CodePygmentsRenderer', - '.golo = mfr.extensions.codepygments:CodePygmentsRenderer', - '.groovy = mfr.extensions.codepygments:CodePygmentsRenderer', - '.gs = mfr.extensions.codepygments:CodePygmentsRenderer', - '.gsp = mfr.extensions.codepygments:CodePygmentsRenderer', - '.gst = mfr.extensions.codepygments:CodePygmentsRenderer', - '.gsx = mfr.extensions.codepygments:CodePygmentsRenderer', - '.h = mfr.extensions.codepygments:CodePygmentsRenderer', - '.h++ = mfr.extensions.codepygments:CodePygmentsRenderer', - '.haml = mfr.extensions.codepygments:CodePygmentsRenderer', - '.handlebars = mfr.extensions.codepygments:CodePygmentsRenderer', - '.hbs = mfr.extensions.codepygments:CodePygmentsRenderer', - '.hdp = mfr.extensions.codepygments:CodePygmentsRenderer', - '.hh = mfr.extensions.codepygments:CodePygmentsRenderer', - '.hpp = mfr.extensions.codepygments:CodePygmentsRenderer', - '.hrl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.hs = mfr.extensions.codepygments:CodePygmentsRenderer', - '.htm = mfr.extensions.codepygments:CodePygmentsRenderer', - '.html = mfr.extensions.codepygments:CodePygmentsRenderer', - '.hx = mfr.extensions.codepygments:CodePygmentsRenderer', - '.hxml = mfr.extensions.codepygments:CodePygmentsRenderer', - '.hxsl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.hxx = mfr.extensions.codepygments:CodePygmentsRenderer', - '.hy = mfr.extensions.codepygments:CodePygmentsRenderer', - '.hyb = mfr.extensions.codepygments:CodePygmentsRenderer', - '.i = mfr.extensions.codepygments:CodePygmentsRenderer', - '.i6t = mfr.extensions.codepygments:CodePygmentsRenderer', - '.i7x = mfr.extensions.codepygments:CodePygmentsRenderer', - '.idc = mfr.extensions.codepygments:CodePygmentsRenderer', - '.idr = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ijm = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ik = mfr.extensions.codepygments:CodePygmentsRenderer', - '.inc = mfr.extensions.codepygments:CodePygmentsRenderer', - '.inf = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ini = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ino = mfr.extensions.codepygments:CodePygmentsRenderer', - '.inp = mfr.extensions.codepygments:CodePygmentsRenderer', - '.intr = mfr.extensions.codepygments:CodePygmentsRenderer', - '.io = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ipf = mfr.extensions.codepygments:CodePygmentsRenderer', - '.iqx = mfr.extensions.codepygments:CodePygmentsRenderer', - '.j = mfr.extensions.codepygments:CodePygmentsRenderer', - '.jade = mfr.extensions.codepygments:CodePygmentsRenderer', - '.jag = mfr.extensions.codepygments:CodePygmentsRenderer', - '.java = mfr.extensions.codepygments:CodePygmentsRenderer', - '.jbst = mfr.extensions.codepygments:CodePygmentsRenderer', - '.jl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.js = mfr.extensions.codepygments:CodePygmentsRenderer', - '.js.in = mfr.extensions.codepygments:CodePygmentsRenderer', - '.json = mfr.extensions.codepygments:CodePygmentsRenderer', - '.jsonld = mfr.extensions.codepygments:CodePygmentsRenderer', - '.jsp = mfr.extensions.codepygments:CodePygmentsRenderer', - '.jst = mfr.extensions.codepygments:CodePygmentsRenderer', - '.jsx = mfr.extensions.codepygments:CodePygmentsRenderer', - '.kal = mfr.extensions.codepygments:CodePygmentsRenderer', - '.kid = mfr.extensions.codepygments:CodePygmentsRenderer', - '.kk = mfr.extensions.codepygments:CodePygmentsRenderer', - '.kki = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ksh = mfr.extensions.codepygments:CodePygmentsRenderer', - '.kt = mfr.extensions.codepygments:CodePygmentsRenderer', - '.lagda = mfr.extensions.codepygments:CodePygmentsRenderer', - '.lasso = mfr.extensions.codepygments:CodePygmentsRenderer', - '.lasso[89] = mfr.extensions.codepygments:CodePygmentsRenderer', - '.lcry = mfr.extensions.codepygments:CodePygmentsRenderer', - '.lean = mfr.extensions.codepygments:CodePygmentsRenderer', - '.lgs = mfr.extensions.codepygments:CodePygmentsRenderer', - '.lgt = mfr.extensions.codepygments:CodePygmentsRenderer', - '.lhs = mfr.extensions.codepygments:CodePygmentsRenderer', - '.lid = mfr.extensions.codepygments:CodePygmentsRenderer', - '.lidr = mfr.extensions.codepygments:CodePygmentsRenderer', - '.liquid = mfr.extensions.codepygments:CodePygmentsRenderer', - '.lisp = mfr.extensions.codepygments:CodePygmentsRenderer', - '.list = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ll = mfr.extensions.codepygments:CodePygmentsRenderer', - '.log = mfr.extensions.codepygments:CodePygmentsRenderer', - '.logtalk = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ls = mfr.extensions.codepygments:CodePygmentsRenderer', - '.lsl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.lsp = mfr.extensions.codepygments:CodePygmentsRenderer', - '.lss = mfr.extensions.codepygments:CodePygmentsRenderer', - '.lst = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ltx = mfr.extensions.codepygments:CodePygmentsRenderer', - '.lua = mfr.extensions.codepygments:CodePygmentsRenderer', - '.lyx = mfr.extensions.codepygments:CodePygmentsRenderer', - '.m = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ma = mfr.extensions.codepygments:CodePygmentsRenderer', - '.mak = mfr.extensions.codepygments:CodePygmentsRenderer', - '.man = mfr.extensions.codepygments:CodePygmentsRenderer', - '.mao = mfr.extensions.codepygments:CodePygmentsRenderer', - '.maql = mfr.extensions.codepygments:CodePygmentsRenderer', - '.mask = mfr.extensions.codepygments:CodePygmentsRenderer', - '.mc = mfr.extensions.codepygments:CodePygmentsRenderer', - '.mdp = mfr.extensions.codepygments:CodePygmentsRenderer', - '.mhtml = mfr.extensions.codepygments:CodePygmentsRenderer', - '.mi = mfr.extensions.codepygments:CodePygmentsRenderer', - '.mk = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ml = mfr.extensions.codepygments:CodePygmentsRenderer', - '.mli = mfr.extensions.codepygments:CodePygmentsRenderer', - '.mll = mfr.extensions.codepygments:CodePygmentsRenderer', - '.mly = mfr.extensions.codepygments:CodePygmentsRenderer', - '.mm = mfr.extensions.codepygments:CodePygmentsRenderer', - '.mo = mfr.extensions.codepygments:CodePygmentsRenderer', - '.mod = mfr.extensions.codepygments:CodePygmentsRenderer', - '.monkey = mfr.extensions.codepygments:CodePygmentsRenderer', - '.moo = mfr.extensions.codepygments:CodePygmentsRenderer', - '.moon = mfr.extensions.codepygments:CodePygmentsRenderer', - '.mq4 = mfr.extensions.codepygments:CodePygmentsRenderer', - '.mq5 = mfr.extensions.codepygments:CodePygmentsRenderer', - '.mqh = mfr.extensions.codepygments:CodePygmentsRenderer', - '.msc = mfr.extensions.codepygments:CodePygmentsRenderer', - '.mu = mfr.extensions.codepygments:CodePygmentsRenderer', - '.mxml = mfr.extensions.codepygments:CodePygmentsRenderer', - '.myt = mfr.extensions.codepygments:CodePygmentsRenderer', - '.n = mfr.extensions.codepygments:CodePygmentsRenderer', - '.nb = mfr.extensions.codepygments:CodePygmentsRenderer', - '.nbp = mfr.extensions.codepygments:CodePygmentsRenderer', - '.nc = mfr.extensions.codepygments:CodePygmentsRenderer', - '.nex = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ni = mfr.extensions.codepygments:CodePygmentsRenderer', - '.nim = mfr.extensions.codepygments:CodePygmentsRenderer', - '.nimrod = mfr.extensions.codepygments:CodePygmentsRenderer', - '.nit = mfr.extensions.codepygments:CodePygmentsRenderer', - '.nix = mfr.extensions.codepygments:CodePygmentsRenderer', - '.nl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.nlogo = mfr.extensions.codepygments:CodePygmentsRenderer', - '.nqp = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ns2 = mfr.extensions.codepygments:CodePygmentsRenderer', - '.nsh = mfr.extensions.codepygments:CodePygmentsRenderer', - '.nsi = mfr.extensions.codepygments:CodePygmentsRenderer', - '.objdump = mfr.extensions.codepygments:CodePygmentsRenderer', - '.objdump-intel = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ooc = mfr.extensions.codepygments:CodePygmentsRenderer', - '.opa = mfr.extensions.codepygments:CodePygmentsRenderer', - '.opensesame = mfr.extensions.codepygments:CodePygmentsRenderer', - '.org = mfr.extensions.codepygments:CodePygmentsRenderer', - '.p = mfr.extensions.codepygments:CodePygmentsRenderer', - '.p6 = mfr.extensions.codepygments:CodePygmentsRenderer', - '.p6l = mfr.extensions.codepygments:CodePygmentsRenderer', - '.p6m = mfr.extensions.codepygments:CodePygmentsRenderer', - '.pan = mfr.extensions.codepygments:CodePygmentsRenderer', - '.pas = mfr.extensions.codepygments:CodePygmentsRenderer', - '.patch = mfr.extensions.codepygments:CodePygmentsRenderer', - '.php = mfr.extensions.codepygments:CodePygmentsRenderer', - '.php[345] = mfr.extensions.codepygments:CodePygmentsRenderer', - '.phtml = mfr.extensions.codepygments:CodePygmentsRenderer', - '.pig = mfr.extensions.codepygments:CodePygmentsRenderer', - '.pike = mfr.extensions.codepygments:CodePygmentsRenderer', - '.pl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.pl6 = mfr.extensions.codepygments:CodePygmentsRenderer', - '.plot = mfr.extensions.codepygments:CodePygmentsRenderer', - '.plt = mfr.extensions.codepygments:CodePygmentsRenderer', - '.pm = mfr.extensions.codepygments:CodePygmentsRenderer', - '.pm6 = mfr.extensions.codepygments:CodePygmentsRenderer', - '.pmod = mfr.extensions.codepygments:CodePygmentsRenderer', - '.po = mfr.extensions.codepygments:CodePygmentsRenderer', - # '.pot = mfr.extensions.codepygments:CodePygmentsRenderer', - '.pov = mfr.extensions.codepygments:CodePygmentsRenderer', - '.pp = mfr.extensions.codepygments:CodePygmentsRenderer', - '.praat = mfr.extensions.codepygments:CodePygmentsRenderer', - '.prg = mfr.extensions.codepygments:CodePygmentsRenderer', - '.prj = mfr.extensions.codepygments:CodePygmentsRenderer', - '.pro = mfr.extensions.codepygments:CodePygmentsRenderer', - '.prolog = mfr.extensions.codepygments:CodePygmentsRenderer', - '.properties = mfr.extensions.codepygments:CodePygmentsRenderer', - '.proto = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ps = mfr.extensions.codepygments:CodePygmentsRenderer', - '.psydat = mfr.extensions.codepygments:CodePygmentsRenderer', - '.psyexp = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ps1 = mfr.extensions.codepygments:CodePygmentsRenderer', - '.psm1 = mfr.extensions.codepygments:CodePygmentsRenderer', - '.pwn = mfr.extensions.codepygments:CodePygmentsRenderer', - '.pxd = mfr.extensions.codepygments:CodePygmentsRenderer', - '.pxi = mfr.extensions.codepygments:CodePygmentsRenderer', - '.py = mfr.extensions.codepygments:CodePygmentsRenderer', - '.py3tb = mfr.extensions.codepygments:CodePygmentsRenderer', - '.pypylog = mfr.extensions.codepygments:CodePygmentsRenderer', - '.pytb = mfr.extensions.codepygments:CodePygmentsRenderer', - '.pyw = mfr.extensions.codepygments:CodePygmentsRenderer', - '.pyx = mfr.extensions.codepygments:CodePygmentsRenderer', - '.pzfx = mfr.extensions.codepygments:CodePygmentsRenderer', - '.qml = mfr.extensions.codepygments:CodePygmentsRenderer', - '.qsf = mfr.extensions.codepygments:CodePygmentsRenderer', - '.r = mfr.extensions.codepygments:CodePygmentsRenderer', - '.r3 = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rake = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rb = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rbw = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rbx = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rd = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rdf = mfr.extensions.codepygments:CodePygmentsRenderer', - '.reb = mfr.extensions.codepygments:CodePygmentsRenderer', - '.red = mfr.extensions.codepygments:CodePygmentsRenderer', - '.reds = mfr.extensions.codepygments:CodePygmentsRenderer', - '.reg = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rest = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rex = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rexx = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rhtml = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ris = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rkt = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rktd = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rktl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rm5 = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rnw = mfr.extensions.codepygments:CodePygmentsRenderer', - '.robot = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rout = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rpf = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rq = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rql = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rs = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rsl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rss = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rvt = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rx = mfr.extensions.codepygments:CodePygmentsRenderer', - '.s = mfr.extensions.codepygments:CodePygmentsRenderer', - '.sage = mfr.extensions.codepygments:CodePygmentsRenderer', - '.sass = mfr.extensions.codepygments:CodePygmentsRenderer', - '.sc = mfr.extensions.codepygments:CodePygmentsRenderer', - '.scad = mfr.extensions.codepygments:CodePygmentsRenderer', - '.scala = mfr.extensions.codepygments:CodePygmentsRenderer', - '.scaml = mfr.extensions.codepygments:CodePygmentsRenderer', - '.sce = mfr.extensions.codepygments:CodePygmentsRenderer', - '.sci = mfr.extensions.codepygments:CodePygmentsRenderer', - '.sch = mfr.extensions.codepygments:CodePygmentsRenderer', - '.scm = mfr.extensions.codepygments:CodePygmentsRenderer', - '.scss = mfr.extensions.codepygments:CodePygmentsRenderer', - '.sdf = mfr.extensions.codepygments:CodePygmentsRenderer', - '.sh = mfr.extensions.codepygments:CodePygmentsRenderer', - '.sh-session = mfr.extensions.codepygments:CodePygmentsRenderer', - '.shell-session = mfr.extensions.codepygments:CodePygmentsRenderer', - '.sig = mfr.extensions.codepygments:CodePygmentsRenderer', - '.slim = mfr.extensions.codepygments:CodePygmentsRenderer', - '.sls = mfr.extensions.codepygments:CodePygmentsRenderer', - '.smali = mfr.extensions.codepygments:CodePygmentsRenderer', - '.smcl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.sml = mfr.extensions.codepygments:CodePygmentsRenderer', - '.snobol = mfr.extensions.codepygments:CodePygmentsRenderer', - '.sp = mfr.extensions.codepygments:CodePygmentsRenderer', - '.sparql = mfr.extensions.codepygments:CodePygmentsRenderer', - '.spec = mfr.extensions.codepygments:CodePygmentsRenderer', - '.spt = mfr.extensions.codepygments:CodePygmentsRenderer', - '.sql = mfr.extensions.codepygments:CodePygmentsRenderer', - '.sqlite3-console = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ss = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ssp = mfr.extensions.codepygments:CodePygmentsRenderer', - '.st = mfr.extensions.codepygments:CodePygmentsRenderer', - '.stan = mfr.extensions.codepygments:CodePygmentsRenderer', - '.sty = mfr.extensions.codepygments:CodePygmentsRenderer', - '.sv = mfr.extensions.codepygments:CodePygmentsRenderer', - '.svh = mfr.extensions.codepygments:CodePygmentsRenderer', - '.swg = mfr.extensions.codepygments:CodePygmentsRenderer', - '.swift = mfr.extensions.codepygments:CodePygmentsRenderer', - '.t = mfr.extensions.codepygments:CodePygmentsRenderer', - '.tab = mfr.extensions.codepygments:CodePygmentsRenderer', - '.tac = mfr.extensions.codepygments:CodePygmentsRenderer', - '.tcl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.tcsh = mfr.extensions.codepygments:CodePygmentsRenderer', - '.tea = mfr.extensions.codepygments:CodePygmentsRenderer', - '.tem = mfr.extensions.codepygments:CodePygmentsRenderer', - '.tex = mfr.extensions.codepygments:CodePygmentsRenderer', - '.textgrid = mfr.extensions.codepygments:CodePygmentsRenderer', - '.thy = mfr.extensions.codepygments:CodePygmentsRenderer', - '.tmpl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.toc = mfr.extensions.codepygments:CodePygmentsRenderer', - '.todotxt = mfr.extensions.codepygments:CodePygmentsRenderer', - '.tpl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.tre = mfr.extensions.codepygments:CodePygmentsRenderer', - '.treetop = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ts = mfr.extensions.codepygments:CodePygmentsRenderer', - '.tst = mfr.extensions.codepygments:CodePygmentsRenderer', - '.tt = mfr.extensions.codepygments:CodePygmentsRenderer', - '.ttl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.twig = mfr.extensions.codepygments:CodePygmentsRenderer', - '.txt = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rmd = mfr.extensions.codepygments:CodePygmentsRenderer', - '.do = mfr.extensions.codepygments:CodePygmentsRenderer', - '.sas = mfr.extensions.codepygments:CodePygmentsRenderer', - '.sps = mfr.extensions.codepygments:CodePygmentsRenderer', - '.u = mfr.extensions.codepygments:CodePygmentsRenderer', - '.umbrella = mfr.extensions.codepygments:CodePygmentsRenderer', - '.v = mfr.extensions.codepygments:CodePygmentsRenderer', - '.vala = mfr.extensions.codepygments:CodePygmentsRenderer', - '.vapi = mfr.extensions.codepygments:CodePygmentsRenderer', - '.vark = mfr.extensions.codepygments:CodePygmentsRenderer', - '.vb = mfr.extensions.codepygments:CodePygmentsRenderer', - '.vert = mfr.extensions.codepygments:CodePygmentsRenderer', - '.vhd = mfr.extensions.codepygments:CodePygmentsRenderer', - '.vhdl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.vim = mfr.extensions.codepygments:CodePygmentsRenderer', - '.vm = mfr.extensions.codepygments:CodePygmentsRenderer', - '.vmrk = mfr.extensions.codepygments:CodePygmentsRenderer', - '.vtk = mfr.extensions.codepygments:CodePygmentsRenderer', - '.vtt = mfr.extensions.codepygments:CodePygmentsRenderer', - '.weechatlog = mfr.extensions.codepygments:CodePygmentsRenderer', - '.wlua = mfr.extensions.codepygments:CodePygmentsRenderer', - '.wndpos = mfr.extensions.codepygments:CodePygmentsRenderer', - '.wsdl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.wsf = mfr.extensions.codepygments:CodePygmentsRenderer', - '.x = mfr.extensions.codepygments:CodePygmentsRenderer', - '.xhtml = mfr.extensions.codepygments:CodePygmentsRenderer', - '.xi = mfr.extensions.codepygments:CodePygmentsRenderer', - '.xm = mfr.extensions.codepygments:CodePygmentsRenderer', - '.xmi = mfr.extensions.codepygments:CodePygmentsRenderer', - '.xml = mfr.extensions.codepygments:CodePygmentsRenderer', - '.xpl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.xq = mfr.extensions.codepygments:CodePygmentsRenderer', - '.xql = mfr.extensions.codepygments:CodePygmentsRenderer', - '.xqm = mfr.extensions.codepygments:CodePygmentsRenderer', - '.xquery = mfr.extensions.codepygments:CodePygmentsRenderer', - '.xqy = mfr.extensions.codepygments:CodePygmentsRenderer', - '.xsd = mfr.extensions.codepygments:CodePygmentsRenderer', - '.xsl = mfr.extensions.codepygments:CodePygmentsRenderer', - '.xslt = mfr.extensions.codepygments:CodePygmentsRenderer', - '.xtend = mfr.extensions.codepygments:CodePygmentsRenderer', - '.xul.in = mfr.extensions.codepygments:CodePygmentsRenderer', - '.yaml = mfr.extensions.codepygments:CodePygmentsRenderer', - '.yml = mfr.extensions.codepygments:CodePygmentsRenderer', - '.zep = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.*config.in* = mfr.extensions.codepygments:CodePygmentsRenderer', - '.renviron = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rhistory = mfr.extensions.codepygments:CodePygmentsRenderer', - '.rprofile = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.bash_* = mfr.extensions.codepygments:CodePygmentsRenderer', - '.bashrc = mfr.extensions.codepygments:CodePygmentsRenderer', - '.exrc = mfr.extensions.codepygments:CodePygmentsRenderer', - '.gvimrc = mfr.extensions.codepygments:CodePygmentsRenderer', - '.htaccess = mfr.extensions.codepygments:CodePygmentsRenderer', - '.vimrc = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.cmakelists.txt = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.dockerfile = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.gnumakefile = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.kconfig = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.makefile = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.makefile.* = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.pkgbuild = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.rakefile = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.sconscript = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.sconstruct = mfr.extensions.codepygments:CodePygmentsRenderer', - #'._exrc = mfr.extensions.codepygments:CodePygmentsRenderer', - #'._gvimrc = mfr.extensions.codepygments:CodePygmentsRenderer', - #'._vimrc = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.apache.conf = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.apache2.conf = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.autodelegate = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.autohandler = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.bash_* = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.bashrc = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.control = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.dhandler = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.external.in* = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.gvimrc = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.makefile = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.sources.list = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.squid.conf = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.standard-modules.in = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.todo.txt = mfr.extensions.codepygments:CodePygmentsRenderer', - #'.vimrc' = mfr.extensions.codepygments:CodePygmentsRenderer', - - # docx - # '.docx = mfr.extensions.docx:DocxRenderer', - - # google docs - '.gdraw = mfr.extensions.image:ImageRenderer', - '.gdoc = mfr.extensions.unoconv:UnoconvRenderer', - '.gsheet = mfr.extensions.tabular:TabularRenderer', - '.gslides = mfr.extensions.unoconv:UnoconvRenderer', - - # image - '.bmp = mfr.extensions.image:ImageRenderer', - '.jpg = mfr.extensions.image:ImageRenderer', - '.jpeg = mfr.extensions.image:ImageRenderer', - '.gif = mfr.extensions.image:ImageRenderer', - '.ico = mfr.extensions.image:ImageRenderer', - '.png = mfr.extensions.image:ImageRenderer', - '.psd = mfr.extensions.image:ImageRenderer', - '.tif = mfr.extensions.pdf:PdfRenderer', - '.tiff = mfr.extensions.pdf:PdfRenderer', - - # ipynb - '.ipynb = mfr.extensions.ipynb:IpynbRenderer', - - # md - '.md = mfr.extensions.md:MdRenderer', - '.markdown = mfr.extensions.md:MdRenderer', - - # jsc3d - '.3ds = mfr.extensions.jsc3d:JSC3DRenderer', - '.ctm = mfr.extensions.jsc3d:JSC3DRenderer', - '.obj = mfr.extensions.jsc3d:JSC3DRenderer', - '.stl = mfr.extensions.jsc3d:JSC3DRenderer', - '.stp = mfr.extensions.jsc3d:JSC3DRenderer', - '.step = mfr.extensions.jsc3d:JSC3DRenderer', - - - # pdb - '.pdb = mfr.extensions.pdb:PdbRenderer', - - # pdf - '.pdf = mfr.extensions.pdf:PdfRenderer', - - # rst - '.rst = mfr.extensions.rst:RstRenderer', - - # svg - # '.svg = mfr.extensions.svg:SvgRenderer', - - # tabular - '.csv = mfr.extensions.tabular:TabularRenderer', - '.tsv = mfr.extensions.tabular:TabularRenderer', - '.xls = mfr.extensions.tabular:TabularRenderer', - '.xlsx = mfr.extensions.tabular:TabularRenderer', - '.dta = mfr.extensions.tabular:TabularRenderer', - '.mat = mfr.extensions.tabular:TabularRenderer', - '.sav = mfr.extensions.tabular:TabularRenderer', - #'.ods = mfr.extensions.tabular:TabularRenderer', - - # unoconv - # '.bib = mfr.extensions.unoconv:UnoconvRenderer', - # '.bmp = mfr.extensions.unoconv:UnoconvRenderer', - # '.csv = mfr.extensions.unoconv:UnoconvRenderer', - '.dbf = mfr.extensions.unoconv:UnoconvRenderer', - '.dif = mfr.extensions.unoconv:UnoconvRenderer', - '.doc = mfr.extensions.unoconv:UnoconvRenderer', - '.docx = mfr.extensions.unoconv:UnoconvRenderer', - '.emf = mfr.extensions.unoconv:UnoconvRenderer', - '.eps = mfr.extensions.unoconv:UnoconvRenderer', - '.fodg = mfr.extensions.unoconv:UnoconvRenderer', - '.fodp = mfr.extensions.unoconv:UnoconvRenderer', - '.fods = mfr.extensions.unoconv:UnoconvRenderer', - '.fodt = mfr.extensions.unoconv:UnoconvRenderer', - # '.gif = mfr.extensions.unoconv:UnoconvRenderer', - # '.html = mfr.extensions.unoconv:UnoconvRenderer', - # '.jpg = mfr.extensions.unoconv:UnoconvRenderer', - # '.ltx = mfr.extensions.unoconv:UnoconvRenderer', - '.met = mfr.extensions.unoconv:UnoconvRenderer', - '.odd = mfr.extensions.unoconv:UnoconvRenderer', - '.odg = mfr.extensions.unoconv:UnoconvRenderer', - '.odp = mfr.extensions.unoconv:UnoconvRenderer', - '.ods = mfr.extensions.unoconv:UnoconvRenderer', - '.odt = mfr.extensions.unoconv:UnoconvRenderer', - '.otg = mfr.extensions.unoconv:UnoconvRenderer', - '.otp = mfr.extensions.unoconv:UnoconvRenderer', - '.ots = mfr.extensions.unoconv:UnoconvRenderer', - '.ott = mfr.extensions.unoconv:UnoconvRenderer', - '.pbm = mfr.extensions.unoconv:UnoconvRenderer', - '.pct = mfr.extensions.unoconv:UnoconvRenderer', - # '.pdb = mfr.extensions.unoconv:UnoconvRenderer', - # '.pdf = mfr.extensions.unoconv:UnoconvRenderer', - '.pgm = mfr.extensions.unoconv:UnoconvRenderer', - # '.png = mfr.extensions.unoconv:UnoconvRenderer', - '.pot = mfr.extensions.unoconv:UnoconvRenderer', - '.potm = mfr.extensions.unoconv:UnoconvRenderer', - '.ppm = mfr.extensions.unoconv:UnoconvRenderer', - '.pps = mfr.extensions.unoconv:UnoconvRenderer', - '.ppt = mfr.extensions.unoconv:UnoconvRenderer', - '.pptx = mfr.extensions.unoconv:UnoconvRenderer', - '.psw = mfr.extensions.unoconv:UnoconvRenderer', - '.pwp = mfr.extensions.unoconv:UnoconvRenderer', - '.pxl = mfr.extensions.unoconv:UnoconvRenderer', - '.ras = mfr.extensions.unoconv:UnoconvRenderer', - '.rtf = mfr.extensions.unoconv:UnoconvRenderer', - '.sda = mfr.extensions.unoconv:UnoconvRenderer', - '.sdc = mfr.extensions.unoconv:UnoconvRenderer', - '.sdd = mfr.extensions.unoconv:UnoconvRenderer', - '.sdw = mfr.extensions.unoconv:UnoconvRenderer', - '.slk = mfr.extensions.unoconv:UnoconvRenderer', - '.stc = mfr.extensions.unoconv:UnoconvRenderer', - '.std = mfr.extensions.unoconv:UnoconvRenderer', - '.sti = mfr.extensions.unoconv:UnoconvRenderer', - '.stw = mfr.extensions.unoconv:UnoconvRenderer', - '.svg = mfr.extensions.unoconv:UnoconvRenderer', - '.svm = mfr.extensions.unoconv:UnoconvRenderer', - # Renders junk at the moment - # '.swf = mfr.extensions.unoconv:UnoconvRenderer', - '.sxc = mfr.extensions.unoconv:UnoconvRenderer', - '.sxd = mfr.extensions.unoconv:UnoconvRenderer', - '.sxi = mfr.extensions.unoconv:UnoconvRenderer', - '.sxw = mfr.extensions.unoconv:UnoconvRenderer', - # '.tiff = mfr.extensions.unoconv:UnoconvRenderer', - # '.txt = mfr.extensions.unoconv:UnoconvRenderer', - '.uop = mfr.extensions.unoconv:UnoconvRenderer', - '.uos = mfr.extensions.unoconv:UnoconvRenderer', - '.uot = mfr.extensions.unoconv:UnoconvRenderer', - '.vor = mfr.extensions.unoconv:UnoconvRenderer', - '.wmf = mfr.extensions.unoconv:UnoconvRenderer', - '.wps = mfr.extensions.unoconv:UnoconvRenderer', - # '.xhtml = mfr.extensions.unoconv:UnoconvRenderer', - # '.xls = mfr.extensions.unoconv:UnoconvRenderer', - # '.xlsx = mfr.extensions.unoconv:UnoconvRenderer', - '.xlt = mfr.extensions.unoconv:UnoconvRenderer', - # '.xml = mfr.extensions.unoconv:UnoconvRenderer', - '.xpm = mfr.extensions.unoconv:UnoconvRenderer', - - # video - '.mp4 = mfr.extensions.video:VideoRenderer', - '.m4v = mfr.extensions.video:VideoRenderer', - # Unable to support at this time - #'.avi = mfr.extensions.video:VideoRenderer', - '.ogv = mfr.extensions.video:VideoRenderer', - #'.wmv = mfr.extensions.video:VideoRenderer', - '.webm = mfr.extensions.video:VideoRenderer', - - # jamovi - '.omv = mfr.extensions.jamovi:JamoviRenderer', - - # JASP - '.jasp = mfr.extensions.jasp:JASPRenderer', - - # Zip - '.zip = mfr.extensions.zip:ZipRenderer' - ] - }, -) diff --git a/tests/core/test_utils.py b/tests/core/test_utils.py index 7d249ec9..fb0f0853 100644 --- a/tests/core/test_utils.py +++ b/tests/core/test_utils.py @@ -1,17 +1,20 @@ import pytest from importlib.metadata import entry_points +from skimage._shared.testing import parametrize + from mfr.core import utils as mfr_utils +from mfr.core.utils import fix_name class TestGetRendererName: def test_get_renderer_name_explicit_assertions(self): - assert mfr_utils.get_renderer_name('.jpg') == 'ImageRenderer' - assert mfr_utils.get_renderer_name('.txt') == 'CodePygmentsRenderer' - assert mfr_utils.get_renderer_name('.xlsx') == 'TabularRenderer' - assert mfr_utils.get_renderer_name('.odt') == 'UnoconvRenderer' - assert mfr_utils.get_renderer_name('.pdf') == 'PdfRenderer' + assert mfr_utils.get_renderer_name('jpg') == 'ImageRenderer' + assert mfr_utils.get_renderer_name('txt') == 'CodePygmentsRenderer' + assert mfr_utils.get_renderer_name('xlsx') == 'TabularRenderer' + assert mfr_utils.get_renderer_name('odt') == 'UnoconvRenderer' + assert mfr_utils.get_renderer_name('pdf') == 'PdfRenderer' def test_get_renderer_name(self): for ep in entry_points().select(group='mfr.renderers'): @@ -19,14 +22,14 @@ def test_get_renderer_name(self): assert mfr_utils.get_renderer_name(ep.name) == expected def test_get_renderer_name_no_entry_point(self): - assert mfr_utils.get_renderer_name('jpg') == '' # extensions must begin with a period + assert mfr_utils.get_renderer_name('.jpg') == '' # extensions must begin with a period class TestGetExporterName: def test_get_exporter_name_explicit_assertions(self): - assert mfr_utils.get_exporter_name('.jpg') == 'ImageExporter' - assert mfr_utils.get_exporter_name('.odt') == 'UnoconvExporter' + assert mfr_utils.get_exporter_name('jpg') == 'ImageExporter' + assert mfr_utils.get_exporter_name('odt') == 'UnoconvExporter' def test_get_exporter_name(self): for ep in entry_points().select(group='mfr.exporters'): @@ -34,4 +37,21 @@ def test_get_exporter_name(self): assert mfr_utils.get_exporter_name(ep.name) == expected def test_get_exporter_name_no_entry_point(self): - assert mfr_utils.get_exporter_name('jpg') == '' # extensions must begin with a period + assert mfr_utils.get_exporter_name('.jpg') == '' # extensions must begin with a period + +@parametrize( + "inp, out", + [ + ["jpg", "jpg"], + ["c++", "cpp"], + ["h++", "hpp"], + ["php[345]", "php"], + ["lasso[89]", "lasso"], + ["css.in", "css"], + ["js.in", "js"], + ["xul.in", "xul"], + ], +) +def test_fix_name(inp, out): + assert fix_name(inp) == out + assert fix_name(f'.{inp}') == out diff --git a/tests/documentation/test_entrypoints.py b/tests/documentation/test_entrypoints.py index c9f02af9..1ac93f43 100644 --- a/tests/documentation/test_entrypoints.py +++ b/tests/documentation/test_entrypoints.py @@ -3,6 +3,8 @@ import pytest from importlib.metadata import entry_points +from mfr.core.utils import fix_name + class TestEntryPoints: @@ -11,7 +13,7 @@ def test_entry_points(self): parent_dir = os.pardir readme_path = os.path.join(os.path.dirname(parent_dir), 'supportedextensions.md') with open(readme_path) as file: - readme_ext = [line.strip()[2:] for line in file if '*' in line] + readme_ext = [fix_name(line.strip()[2:]) for line in file if '*' in line] for ep in entry_points().select(group='mfr.renderers'): if ep.name != 'none': assert ep.name in readme_ext