aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWojtek Kosior <koszko@koszko.org>2022-04-19 14:38:30 +0200
committerWojtek Kosior <koszko@koszko.org>2022-04-19 14:38:30 +0200
commit21ed4b30355f2e61495d5ba41516988a507ffa76 (patch)
tree72e62397776ef727cda7f04e8df8af5f7d583648
parentb2c167f1c7713785813ff4cd93aff3cd235f4ffe (diff)
downloadhaketilo-hydrilla-21ed4b30355f2e61495d5ba41516988a507ffa76.tar.gz
haketilo-hydrilla-21ed4b30355f2e61495d5ba41516988a507ffa76.zip
add support for --version option; expose --version and --help over HTTP
-rw-r--r--setup.cfg2
-rw-r--r--src/hydrilla/server/locales/en_US/LC_MESSAGES/hydrilla-messages.po53
-rw-r--r--src/hydrilla/server/serve.py12
3 files changed, 47 insertions, 20 deletions
diff --git a/setup.cfg b/setup.cfg
index 5855f1a..95c540c 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -35,7 +35,7 @@ packages = find:
include_package_data=True
python_requires = >= 3.7
install_requires =
- hydrilla.builder==1.0b2
+ hydrilla.builder==1.0b3.dev1+ge640863
flask
jsonschema>=3.0
diff --git a/src/hydrilla/server/locales/en_US/LC_MESSAGES/hydrilla-messages.po b/src/hydrilla/server/locales/en_US/LC_MESSAGES/hydrilla-messages.po
index 6b5b25a..a532a37 100644
--- a/src/hydrilla/server/locales/en_US/LC_MESSAGES/hydrilla-messages.po
+++ b/src/hydrilla/server/locales/en_US/LC_MESSAGES/hydrilla-messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hydrilla.builder 0.1\n"
"Report-Msgid-Bugs-To: koszko@koszko.org\n"
-"POT-Creation-Date: 2022-02-12 16:10+0100\n"
+"POT-Creation-Date: 2022-04-19 14:22+0200\n"
"PO-Revision-Date: 2022-02-12 00:00+0000\n"
"Last-Translator: Wojtek Kosior <koszko@koszko.org>\n"
"Language: en_US\n"
@@ -18,90 +18,105 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n"
-#: src/hydrilla/server/serve.py:110
+#: src/hydrilla/server/serve.py:122
#, python-brace-format
msgid "uuid_mismatch_{identifier}"
msgstr "Two different uuids were specified for item '{identifier}'."
-#: src/hydrilla/server/serve.py:117
+#: src/hydrilla/server/serve.py:129
#, python-brace-format
msgid "version_clash_{identifier}_{version}"
msgstr "Version '{version}' specified more than once for item '{identifier}'."
-#: src/hydrilla/server/serve.py:233 src/hydrilla/server/serve.py:245
+#: src/hydrilla/server/serve.py:245 src/hydrilla/server/serve.py:257
msgid "invalid_URL_{}"
msgstr "Invalid URL/pattern: '{}'."
-#: src/hydrilla/server/serve.py:237
+#: src/hydrilla/server/serve.py:249
msgid "disallowed_protocol_{}"
msgstr "Disallowed protocol: '{}'."
-#: src/hydrilla/server/serve.py:290
+#: src/hydrilla/server/serve.py:302
msgid "malcontent_dir_path_not_dir_{}"
msgstr "Provided 'malcontent_dir' path does not name a directory: {}"
-#: src/hydrilla/server/serve.py:309
+#: src/hydrilla/server/serve.py:321
msgid "couldnt_load_item_from_{}"
msgstr "Couldn't load item from {}."
-#: src/hydrilla/server/serve.py:335
+#: src/hydrilla/server/serve.py:347
msgid "item_{item}_in_file_{file}"
msgstr "Item {item} incorrectly present under {file}."
-#: src/hydrilla/server/serve.py:341
+#: src/hydrilla/server/serve.py:353
msgid "item_version_{ver}_in_file_{file}"
msgstr "Item version {ver} incorrectly present under {file}."
-#: src/hydrilla/server/serve.py:364
+#: src/hydrilla/server/serve.py:376
msgid "no_dep_{resource}_{ver}_{dep}"
msgstr "Unknown dependency '{dep}' of resource '{resource}', version '{ver}'."
-#: src/hydrilla/server/serve.py:375
+#: src/hydrilla/server/serve.py:387
msgid "no_payload_{mapping}_{ver}_{payload}"
msgstr "Unknown payload '{payload}' of mapping '{mapping}', version '{ver}'."
-#: src/hydrilla/server/serve.py:401
+#: src/hydrilla/server/serve.py:413
msgid "couldnt_register_{mapping}_{ver}_{pattern}"
msgstr ""
"Couldn't register mapping '{mapping}', version '{ver}' (pattern "
"'{pattern}')."
-#: src/hydrilla/server/serve.py:552
+#: src/hydrilla/server/serve.py:566 src/hydrilla/server/serve.py:588
+#, python-format
+msgid "%(prog)s_%(version)s_license"
+msgstr ""
+"%(prog)s %(version)s\n"
+"Copyright (C) 2021,2022 Wojtek Kosior and contributors.\n"
+"License GPLv3+: GNU AGPL version 3 or later "
+"<https://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law."
+
+#: src/hydrilla/server/serve.py:577
msgid "directory_to_serve_from_overrides_config"
msgstr ""
"Directory to serve files from. Overrides value from the config file (if "
"any)."
-#: src/hydrilla/server/serve.py:554
+#: src/hydrilla/server/serve.py:579
msgid "project_url_to_display_overrides_config"
msgstr ""
"Project url to display on generated HTML pages. Overrides value from the "
"config file (if any)."
-#: src/hydrilla/server/serve.py:556
+#: src/hydrilla/server/serve.py:581
msgid "tcp_port_to_listen_on_overrides_config"
msgstr ""
"TCP port number to listen on (0-65535). Overrides value from the config "
"file (if any)."
-#: src/hydrilla/server/serve.py:559
+#: src/hydrilla/server/serve.py:584
msgid "path_to_config_file_explain_default"
msgstr ""
"Path to Hydrilla server configuration file (optional, by default Hydrilla"
" loads its own config file, which in turn tries to load "
"/etc/hydrilla/config.json)."
-#: src/hydrilla/server/serve.py:561
+#: src/hydrilla/server/serve.py:586
msgid "language_to_use_overrides_config"
msgstr ""
"Language to use (also affects served HTML files). Overrides value from "
"the config file (if any)."
-#: src/hydrilla/server/serve.py:591
+#: src/hydrilla/server/serve.py:589
+msgid "version_printing"
+msgstr "Print version information and exit."
+
+#: src/hydrilla/server/serve.py:617
msgid "config_option_{}_not_supplied"
msgstr "Missing configuration option '{}'."
-#: src/hydrilla/server/serve.py:595
+#: src/hydrilla/server/serve.py:621
msgid "serve_hydrilla_packages_explain_wsgi_considerations"
msgstr ""
"Serve Hydrilla packages.\n"
diff --git a/src/hydrilla/server/serve.py b/src/hydrilla/server/serve.py
index 6cb98c2..9e51324 100644
--- a/src/hydrilla/server/serve.py
+++ b/src/hydrilla/server/serve.py
@@ -556,6 +556,15 @@ def query():
return Response(json.dumps(result), mimetype='application/json')
+@bp.route('/--help')
+def mm_help():
+ return start.get_help(click.Context(start)) + '\n'
+
+@bp.route('/--version')
+def mm_version():
+ prog_info = {'prog': 'Hydrilla', 'version': _version.version}
+ return _('%(prog)s_%(version)s_license') % prog_info + '\n'
+
default_config_path = Path('/etc/hydrilla/config.json')
default_malcontent_dir = '/var/lib/hydrilla/malcontent'
default_project_url = 'https://hydrillabugs.koszko.org/projects/hydrilla/wiki'
@@ -575,6 +584,9 @@ _ = console_gettext
help=_('path_to_config_file_explain_default'))
@click.option('-l', '--language', type=click.STRING,
help=_('language_to_use_overrides_config'))
+@click.version_option(version=_version.version, prog_name='Hydrilla',
+ message=_('%(prog)s_%(version)s_license'),
+ help=_('version_printing'))
def start(malcontent_dir: Optional[str], hydrilla_project_url: Optional[str],
port: Optional[int], config_path: Optional[str],
language: Optional[str]) -> None:
f='/guix/commit/gnu/packages/aux-files?id=6bd1c41e8729ab5f40620f2acc41dbc630d886de'>gnu: linux-libre: Update to 4.13.•••* gnu/packages/linux.scm (%linux-libre-version): Update to 4.13. (%linux-libre-hash): Update hash. * gnu/packages/aux-files/linux-libre/4.12-i686.conf, gnu/packages/aux-files/linux-libre/4.12-x86_64.conf: Delete files. * gnu/packages/aux-files/linux-libre/4.13-i686.conf, gnu/packages/aux-files/linux-libre/4.13-x86_64.conf: New files. * Makefile.am (AUX_FILES): Adjust accordingly. Mark H Weaver 2017-07-29gnu: emacs: Check GUIX_ENVIRONMENT when autoloading packages.•••Check the environment profile so that we autoload packages that are given as arguments to "guix environment" but are not in the system or user profile. Note that the union of Emacs packages in the system, user, and environment profiles will be autoloaded even when --pure was passed to "guix environment", because it's not clear how to detect that --pure was given. * gnu/packages/aux-files/emacs/guix-emacs.el (guix-emacs-autoload-packages): Add Emacs packages from GUIX_ENVIRONMENT profile. Signed-off-by: Alex Kost <alezost@gmail.com> Kyle Meyer 2017-07-04gnu: linux-libre: Update to 4.12.•••* gnu/packages/linux.scm (%linux-libre-version): Update to 4.12. (%linux-libre-hash): Update hash. * gnu/packages/aux-files/linux-libre/4.11-i686.conf, gnu/packages/aux-files/linux-libre/4.11-x86_64.conf: Delete files. * gnu/packages/aux-files/linux-libre/4.12-i686.conf, gnu/packages/aux-files/linux-libre/4.12-x86_64.conf: New files. * Makefile.am (AUX_FILES): Update accordingly. Mark H Weaver 2017-05-21gnu: linux-libre: Remove CONFIG_SMC from x86 kernel configurations.•••This removes support for the "shared memory communications over RDMA" (SMC-R) networking protocol, which was added in 4.11 without the knowledge of the RDMA maintainers, and which is thought to contain significant security flaws. For details, see <https://lwn.net/Articles/723081> and <https://lwn.net/Articles/723070>. * gnu/packages/aux-files/linux-libre/4.11-x86_64.conf, gnu/packages/aux-files/linux-libre/4.11-i686.conf: Disable CONFIG_SMC. 723# 0001-gnu-libevent-2.0-Add-fix-from-upstream.patch Mark H Weaver 2017-05-01gnu: linux-libre: Update to 4.11.•••* gnu/packages/linux.scm (%linux-libre-version): Update to 4.11. (%linux-libre-hash): Update hash. * gnu/packages/aux-files/linux-libre/4.10-i686.conf, gnu/packages/aux-files/linux-libre/4.10-x86_64.conf: Delete files. * gnu/packages/aux-files/linux-libre/4.11-i686.conf, gnu/packages/aux-files/linux-libre/4.11-x86_64.conf: New files. * Makefile.am (AUX_FILES): Adjust accordingly. Mark H Weaver