diff --git a/configproxy.py b/configproxy.py index 08fd1c6b4876b76b7e5c02b478cd0b5e3f9368b9..f0d7e14f71b4d79746c90f29912afc3b81530c7a 100755 --- a/configproxy.py +++ b/configproxy.py @@ -378,7 +378,7 @@ def check_printing(PRINTING_SERVER, PRINTING_USER, PRINTING_PRINTERS): printer, value, name, available_options[name])) -def check_etherpad(ETHERPAD_URL, ETHERPAD_APIKEY, EMPTY_ETHERPAD): +def check_etherpad(ETHERPAD_URL, ETHERPAD_API_URL, ETHERPAD_APIKEY, EMPTY_ETHERPAD): import requests try: answer = requests.get(ETHERPAD_URL) @@ -824,6 +824,12 @@ CONFIG_SECTIONS = [ description=( "URL of the etherpad installation. " "Do not include the '/p'!")), + ConfigEntry( + name="ETHERPAD_API_URL", + default="https://example.com/etherpad/api", + required=False, internal=True, no_sane_default=True, + description=("URL of the etherpad API. " + "Usually ETHERPAD_URL + /api")), ConfigEntry( name="ETHERPAD_APIKEY", default="abc123", diff --git a/utils.py b/utils.py index 946c82858e12455b8c34fb0aa1fb6ac3c24ad2e5..e3d68e4677aa5621459ce9f291483211f08a0b19 100644 --- a/utils.py +++ b/utils.py @@ -139,7 +139,11 @@ def get_etherpad_url(pad): def get_etherpad_api_url(): - return "{}/api".format(config.ETHERPAD_URL) + try: + return config.ETHERPAD_API_URL + except AttributeError: + return "{}/api".format(config.ETHERPAD_URL) + def get_etherpad_api_client(): return EtherpadClient(base_url=get_etherpad_api_url(), api_version="1.2.14", base_params=dict(apikey=config.ETHERPAD_APIKEY))