Skip to content

Commit 2a794fa

Browse files
committed
Fix for single role_attr
1 parent 7dd2859 commit 2a794fa

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

database/postgresql/postgresql_user.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -400,8 +400,10 @@ def parse_role_attrs(role_attr_flags):
400400
"""
401401
if ',' in role_attr_flags:
402402
flag_set = frozenset(r.upper() for r in role_attr_flags.split(","))
403+
elif role_attr_flags:
404+
flag_set = frozenset((role_attr_flags.upper(),))
403405
else:
404-
flag_set = frozenset(role_attr_flags.upper())
406+
flag_set = frozenset()
405407
if not flag_set.issubset(VALID_FLAGS):
406408
raise InvalidFlagsError('Invalid role_attr_flags specified: %s' %
407409
' '.join(flag_set.difference(VALID_FLAGS)))
@@ -431,11 +433,11 @@ def parse_privs(privs, db):
431433
if ':' not in token:
432434
type_ = 'database'
433435
name = db
434-
priv_set = frozenset(x.strip().upper() for x in token.split(','))
436+
priv_set = frozenset(x.strip().upper() for x in token.split(',') if x.strip())
435437
else:
436438
type_ = 'table'
437439
name, privileges = token.split(':', 1)
438-
priv_set = frozenset(x.strip().upper() for x in privileges.split(','))
440+
priv_set = frozenset(x.strip().upper() for x in privileges.split(',') if x.strip())
439441

440442
if not priv_set.issubset(VALID_PRIVS[type_]):
441443
raise InvalidPrivsError('Invalid privs specified for %s: %s' %

0 commit comments

Comments
 (0)