From a67b0812659d1481f4c5be77ce2cf448b0b37b8c Mon Sep 17 00:00:00 2001 From: SoniEx2 Date: Mon, 14 Jun 2021 22:49:07 -0300 Subject: Start rewriting in Rust --- ganarchy/templating/__init__.py | 21 ------ ganarchy/templating/environment.py | 31 --------- ganarchy/templating/templates.py | 128 ------------------------------------- ganarchy/templating/toml.py | 33 ---------- 4 files changed, 213 deletions(-) delete mode 100644 ganarchy/templating/__init__.py delete mode 100644 ganarchy/templating/environment.py delete mode 100644 ganarchy/templating/templates.py delete mode 100644 ganarchy/templating/toml.py (limited to 'ganarchy/templating') diff --git a/ganarchy/templating/__init__.py b/ganarchy/templating/__init__.py deleted file mode 100644 index d6f6d0c..0000000 --- a/ganarchy/templating/__init__.py +++ /dev/null @@ -1,21 +0,0 @@ -# This file is part of GAnarchy - decentralized project hub -# Copyright (C) 2020 Soni L. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . - -"""Templates. - -""" - -# TODO write me diff --git a/ganarchy/templating/environment.py b/ganarchy/templating/environment.py deleted file mode 100644 index 0258f4d..0000000 --- a/ganarchy/templating/environment.py +++ /dev/null @@ -1,31 +0,0 @@ -# This file is part of GAnarchy - decentralized project hub -# Copyright (C) 2020 Soni L. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . - -import jinja2 - -import ganarchy.templating.templates -import ganarchy.templating.toml - -def get_env(): - env = jinja2.Environment( - loader=ganarchy.templating.templates.get_template_loader(), - autoescape=False, - # aka please_stop_mangling_my_templates=True - keep_trailing_newline=True - ) - env.filters['tomlescape'] = ganarchy.templating.toml.tomlescape - env.filters['tomle'] = env.filters['tomlescape'] - return env diff --git a/ganarchy/templating/templates.py b/ganarchy/templating/templates.py deleted file mode 100644 index 1e9c074..0000000 --- a/ganarchy/templating/templates.py +++ /dev/null @@ -1,128 +0,0 @@ -# This file is part of GAnarchy - decentralized project hub -# Copyright (C) 2020 Soni L. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . - -import jinja2 - -import ganarchy.dirs - -def get_template_loader(): - return jinja2.ChoiceLoader([ - jinja2.FileSystemLoader([ganarchy.dirs.CONFIG_HOME + "/templates"] + [config_dir + "/templates" for config_dir in ganarchy.dirs.CONFIG_DIRS]), - jinja2.DictLoader({ - ## index.html - 'index.html': """ - - - - - {{ ganarchy.title|e }} - - - - - -

{{ ganarchy.title|e }}

-

This is {{ ganarchy.title|e }}. Currently tracking the following projects:

-
    - {% for project in ganarchy.projects -%}{% if project.exists -%} -
  • {{ project.title|e }}: {{ project.description|e }}
  • - {% endif -%}{% endfor -%} -
-

Powered by GAnarchy. AGPLv3-licensed. Source Code.

-

- Register web+ganarchy: URI handler - (Makes navigating between GAnarchy instances easier). -

- - -""", - ## index.toml - 'index.toml': """# Generated by GAnarchy - -{%- for project in database.list_projects() %} -[projects.{{project}}] -{%- for repo_url, branch, _head_commit in database.list_repobranches(project) %} -{%- if database.should_repo_federate(project, repo_url, branch) %} -"{{repo_url|tomle}}".{% if not branch %}HEAD{% else %}"{{branch|tomle}}"{% endif %} = { active=true } -{%- endif %} -{%- endfor %} -{% endfor -%} -""", - ## project.html - # FIXME convert to project.title/etc instead of project_title/etc. - 'project.html': """ - - - - - {{ project_title|e }} - {% if project_desc %}{% endif %} - - - -

{{ project_title|e }}

-

Tracking {{ project_commit }}

-

{{ project_body|e|replace("\n\n", "

") }}

-
    - {% for url, msg, img, branch in repos -%} -
  • {{ url|e }}{% if branch %} [{{ branch|e }}]{% endif %}: {{ msg|e }}
  • - {% endfor -%} -
-

Powered by GAnarchy. AGPLv3-licensed. Source Code.

-

- Main page. - Register web+ganarchy: URI handler - (Makes navigating between GAnarchy instances easier). -

- - -""", - ## history.svg FIXME - 'history.svg': """""", - }) - ]) diff --git a/ganarchy/templating/toml.py b/ganarchy/templating/toml.py deleted file mode 100644 index 431125d..0000000 --- a/ganarchy/templating/toml.py +++ /dev/null @@ -1,33 +0,0 @@ -# This file is part of GAnarchy - decentralized project hub -# Copyright (C) 2020 Soni L. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . - -_tomletrans = str.maketrans({ - 0: '\\u0000', 1: '\\u0001', 2: '\\u0002', 3: '\\u0003', 4: '\\u0004', - 5: '\\u0005', 6: '\\u0006', 7: '\\u0007', 8: '\\b', 9: '\\t', 10: '\\n', - 11: '\\u000B', 12: '\\f', 13: '\\r', 14: '\\u000E', 15: '\\u000F', - 16: '\\u0010', 17: '\\u0011', 18: '\\u0012', 19: '\\u0013', 20: '\\u0014', - 21: '\\u0015', 22: '\\u0016', 23: '\\u0017', 24: '\\u0018', 25: '\\u0019', - 26: '\\u001A', 27: '\\u001B', 28: '\\u001C', 29: '\\u001D', 30: '\\u001E', - 31: '\\u001F', '"': '\\"', '\\': '\\\\' - }) - -def tomlescape(value): - """Escapes a string for use in a TOML string. - - Returns: - str: The escaped string. - """ - return value.translate(_tomletrans) -- cgit 1.4.1