fix non-decimal values problem in umask config.(issue 1325)

This commit is contained in:
Hasan Ramezni 2017-02-19 11:50:50 +03:30
parent bc20bea7d9
commit ef79ee3983

View File

@ -48,6 +48,13 @@ def make_settings(ignore=None):
return settings
def auto_int(_, x):
if x.startswith('0') and not x.lower().startswith('0x'):
# for compatible with octal numbers in python3
x = x.replace('0', '0o', 1)
return int(x, 0)
class Config(object):
def __init__(self, usage=None, prog=None):
@ -1043,14 +1050,13 @@ class Group(Setting):
change the worker processes group.
"""
class Umask(Setting):
name = "umask"
section = "Server Mechanics"
cli = ["-m", "--umask"]
meta = "INT"
validator = validate_pos_int
type = int
type = auto_int
default = 0
desc = """\
A bit mask for the file mode on files written by Gunicorn.