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

pull/136/head
Mark Haines 2015-04-30 16:04:02 +01:00
parent c28f1d16f0
commit 74aaacf82a
2 changed files with 15 additions and 12 deletions

View File

@ -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"

View File

@ -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):