From 79e1b977c2a9461c46d66b8bc5d6320dfb15332c Mon Sep 17 00:00:00 2001
From: Robin Sonnabend <robin@fsmpi.rwth-aachen.de>
Date: Thu, 19 Nov 2020 21:54:33 +0100
Subject: [PATCH] Differentiate ETHERPAD_URL and ETHERPAD_API_URL

---
 configproxy.py | 8 +++++++-
 utils.py       | 6 +++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/configproxy.py b/configproxy.py
index 08fd1c6..f0d7e14 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 946c828..e3d68e4 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))
-- 
GitLab