summary refs log tree commit diff
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2015-08-25 15:33:23 +0100
committerErik Johnston <erik@matrix.org>2015-08-25 15:33:23 +0100
commitd33f31d741f703758c092e311bae263ff3c3ef64 (patch)
treec2b04086f20935b0e03372b835e72632277db514
parentUpdate the log message (diff)
downloadsynapse-d33f31d741f703758c092e311bae263ff3c3ef64.tar.xz
Print the correct pip install line when failing due to lack of matrix-angular-sdk
-rwxr-xr-xsynapse/app/homeserver.py7
-rw-r--r--synapse/python_dependencies.py10
2 files changed, 9 insertions, 8 deletions
diff --git a/synapse/app/homeserver.py b/synapse/app/homeserver.py
index 7f3e441723..ff7807c2e6 100755
--- a/synapse/app/homeserver.py
+++ b/synapse/app/homeserver.py
@@ -16,7 +16,7 @@
 
 import sys
 sys.dont_write_bytecode = True
-from synapse.python_dependencies import check_requirements
+from synapse.python_dependencies import check_requirements, DEPENDENCY_LINKS
 
 if __name__ == '__main__':
     check_requirements()
@@ -108,10 +108,11 @@ class SynapseHomeServer(HomeServer):
                     "the location of the source to serve via the configuration\n"
                     "option `web_client_location`\n\n"
                     "To install the `matrix-angular-sdk` via pip, run:\n\n"
-                    "    pip install 'matrix-angular-sdk'\n"
+                    "    pip install '%(dep)s'\n"
                     "\n"
                     "You can also disable hosting of the webclient via the\n"
                     "configuration option `web_client`\n"
+                    % {"dep": DEPENDENCY_LINKS["matrix-angular-sdk"]}
                 )
             syweb_path = os.path.dirname(syweb.__file__)
             webclient_path = os.path.join(syweb_path, "webclient")
@@ -274,7 +275,7 @@ class SynapseHomeServer(HomeServer):
 
 def quit_with_error(error_string):
     message_lines = error_string.split("\n")
-    line_length = max([len(l) for l in message_lines]) + 2
+    line_length = max([len(l) for l in message_lines if len(l) < 80]) + 2
     sys.stderr.write("*" * line_length + '\n')
     for line in message_lines:
         sys.stderr.write(" %s\n" % (line.rstrip(),))
diff --git a/synapse/python_dependencies.py b/synapse/python_dependencies.py
index 82e28133e2..d7e3a686fa 100644
--- a/synapse/python_dependencies.py
+++ b/synapse/python_dependencies.py
@@ -52,18 +52,18 @@ def requirements(config=None, include_conditional=False):
 def github_link(project, version, egg):
     return "https://github.com/%s/tarball/%s/#egg=%s" % (project, version, egg)
 
-DEPENDENCY_LINKS = [
-    github_link(
+DEPENDENCY_LINKS = {
+    "syutil": github_link(
         project="matrix-org/syutil",
         version="v0.0.7",
         egg="syutil-0.0.7",
     ),
-    github_link(
+    "matrix-angular-sdk": github_link(
         project="matrix-org/matrix-angular-sdk",
         version="v0.6.6",
         egg="matrix_angular_sdk-0.6.6",
     ),
-]
+}
 
 
 class MissingRequirementError(Exception):
@@ -131,7 +131,7 @@ def check_requirements(config=None):
 def list_requirements():
     result = []
     linked = []
-    for link in DEPENDENCY_LINKS:
+    for link in DEPENDENCY_LINKS.values():
         egg = link.split("#egg=")[1]
         linked.append(egg.split('-')[0])
         result.append(link)