Browse Source

Don't break when sizes or durations are given as integers

Mark Haines 9 years ago
parent
commit
74aaacf82a
2 changed files with 15 additions and 12 deletions
  1. 3 3
      demo/start.sh
  2. 12 9
      synapse/config/_base.py

+ 3 - 3
demo/start.sh

@@ -26,9 +26,9 @@ for port in 8080 8081 8082; do
 
     https_port=$((port + 400))
     mkdir -p demo/$port
-    pushd demo/$port
+#    pushd demo/$port
 
-    rm $DIR/etc/$port.config
+    #rm $DIR/etc/$port.config
     python -m synapse.app.homeserver \
         --generate-config \
         -H "localhost:$https_port" \
@@ -39,7 +39,7 @@ for port in 8080 8081 8082; do
         -D \
         -vv \
 
-    popd
+ #   popd
 done
 
 cd "$CWD"

+ 12 - 9
synapse/config/_base.py

@@ -27,30 +27,33 @@ class ConfigError(Exception):
 class Config(object):
 
     @staticmethod
-    def parse_size(string):
+    def parse_size(value):
+        if isinstance(value, int) or isinstance(value, long):
+            return value
         sizes = {"K": 1024, "M": 1024 * 1024}
         size = 1
-        suffix = string[-1]
+        suffix = value[-1]
         if suffix in sizes:
-            string = string[:-1]
+            value = value[:-1]
             size = sizes[suffix]
-        return int(string) * size
+        return int(value) * size
 
     @staticmethod
-    def parse_duration(string):
+    def parse_duration(value):
+        if isinstance(value, int) or isinstance(value, long):
+            return value
         second = 1000
         hour = 60 * 60 * second
         day = 24 * hour
         week = 7 * day
         year = 365 * day
-
         sizes = {"s": second, "h": hour, "d": day, "w": week, "y": year}
         size = 1
-        suffix = string[-1]
+        suffix = value[-1]
         if suffix in sizes:
-            string = string[:-1]
+            value = value[:-1]
             size = sizes[suffix]
-        return int(string) * size
+        return int(value) * size
 
     @staticmethod
     def abspath(file_path):