1. 10 May, 2021 2 commits
    • Kevin Morris's avatar
      port over base HTML layout from PHP to FastAPI+Jinja2 · 79cb7632
      Kevin Morris authored
      
      
      + Mounted static files (at web/html) to /static.
      + Added AURWEB_VERSION to aurweb.config (this is used around HTML
        to refer back to aurweb's release on git.archlinux.org), so we
        need it easily accessible in the Python codebase.
      + Implemented basic Jinja2 partials to put together whole aurweb
        pages. This may be missing some things currently and is a WIP
        until this set is ready to be merged.
      + Added config [options] aurwebdir = YOUR_AUR_ROOT; this configuration
        option should specify the root directory of the aurweb project.
        It is used by various parts of the FastAPI codebase to target
        project directories.
      
      Added routes via aurweb.routers.html:
          * POST /language: Set your session language.
          * GET /favicon.ico: Redirect to /static/images/favicon.ico.
              * Some browsers always look for $ROOT/favicon.ico to get an icon
                for the page being loaded, regardless of a specified "shortcut
                icon" given in a <link> directive.
          * GET /: Home page; WIP.
      
      * Updated aurweb.routers.html.language passes query parameters to
        its next redirection.
      
      When calling aurweb.templates.render_template, the context passed should
      be formed via the aurweb.templates.make_context. See
      aurweb.routers.html.index for an example of this.
      Signed-off-by: Kevin Morris's avatarKevin Morris <kevr@0cost.org>
      79cb7632
    • Jelle van der Waa's avatar
      Use the clipboard API for copy paste · a665b89b
      Jelle van der Waa authored and Eli Schwartz's avatar Eli Schwartz committed
      
      
      The Document.execCommand API is deprecated and no longer recommended to
      be used. It's replacement is the much simpler navigator.clipboard API
      which is supported in all browsers except internet explorer.
      Signed-off-by: Eli Schwartz's avatarEli Schwartz <eschwartz@archlinux.org>
      a665b89b
  2. 07 May, 2021 1 commit
  3. 02 May, 2021 2 commits
    • Eli Schwartz's avatar
    • Kevin Morris's avatar
      aurweb: Globalize a Translator instance, add more utility · 93bac8ec
      Kevin Morris authored and Lukas Fleischer's avatar Lukas Fleischer committed
      
      
      + Added SUPPORTED_LANGUAGES, a global constant dictionary of
        language => display pairs for languages we support.
      + Add Translator.get_translator, a function used to retrieve a
        translator after initializing it (if needed). Use `fallback=True`
        while creating languages, in case we setup a language that we
        don't have a translation for, it will noop the translation.
        This is particularly useful for "en," since we do not translate
        it, but doing this will allow us to go through our normal translation
        flow in any case.
      + Added typing.
      + Added get_request_language, a function that grabs the language for
        a request session, defaulting to aurweb.config [options] default_lang.
      + Added get_raw_translator_for_request, a function that retrieves
        the concrete translation object for a given language.
      + Added tr, a jinja2 contextfilter that can be used to inline translate
        strings in jinja2 templates.
      + Added `python-jinja` dep to .gitlab-ci.yml. This needs to be
        included in documentation before this set is merged in.
      + Introduce pytest units (test_l10n.py) in `test` along with
        __init__.py, which marks `test` as a test package.
      + Additionally, fix up notify.py to use the global translator. Also
        reduce its source width to <= 80 by newlining some code.
      + Additionally, prepare locale in .gitlab-ci.yml and add
        aurweb.config [options] localedir to config.dev with YOUR_AUR_ROOT
        like others.
      Signed-off-by: Kevin Morris's avatarKevin Morris <kevr@0cost.org>
      Signed-off-by: Lukas Fleischer's avatarLukas Fleischer <lfleischer@archlinux.org>
      93bac8ec
  4. 30 Apr, 2021 1 commit
  5. 28 Apr, 2021 1 commit
  6. 27 Apr, 2021 1 commit
    • Eli Schwartz's avatar
      git update hook: gracefully error on completely broken .SRCINFO · c767b13b
      Eli Schwartz authored
      
      
      I've seen this happen a bunch of times now. Someone cannot push to the
      AUR, and the error report is some traceback with a KeyError which is
      difficult to understand without context:
      
      remote: Traceback (most recent call last):
      remote:   File "/srv/http/aurweb/aur.git/hooks/update", line 33, in <module>
      remote:     sys.exit(load_entry_point('aurweb==5.0.0', 'console_scripts', 'aurweb-git-update')())
      remote:   File "/usr/lib/python3.9/site-packages/aurweb-5.0.0-py3.9.egg/aurweb/git/update.py", line 306, in main
      remote: KeyError: 'pkgbase'
      
      Eventually it turns out that their .SRCINFO file is... badly corrupted.
      Generally, they managed to accidentally commit an *empty* file instead
      of a .SRCINFO, and in all cases, the problem was on the very first
      lookup for 'pkgbase'.
      
      Point people to the actual failing commit, and have a nicely formatted
      message indicating that the .SRCINFO is completely invalid.
      Signed-off-by: Eli Schwartz's avatarEli Schwartz <eschwartz@archlinux.org>
      c767b13b
  7. 29 Mar, 2021 1 commit
  8. 20 Feb, 2021 31 commits