diff --git a/realms/config/__init__.py b/realms/config/__init__.py index 9e06a1c..32172f3 100644 --- a/realms/config/__init__.py +++ b/realms/config/__init__.py @@ -23,7 +23,7 @@ class Config(object): BASE_URL = 'http://localhost' SITE_TITLE = "Realms" - # https://pythonhosted.org/Flask-SQLAlchemy/config.html#connection-uri-format + # http://flask-sqlalchemy.pocoo.org/config/#connection-uri-format DB_URI = 'sqlite:////tmp/wiki.db' # DB_URI = 'mysql://scott:tiger@localhost/mydatabase' # DB_URI = 'postgresql://scott:tiger@localhost/mydatabase' diff --git a/realms/modules/auth/oauth/models.py b/realms/modules/auth/oauth/models.py index 72f0470..d7f7680 100644 --- a/realms/modules/auth/oauth/models.py +++ b/realms/modules/auth/oauth/models.py @@ -40,7 +40,7 @@ providers = { 'field_map': { 'id': 'id', 'username': 'login', - 'email': 'email' + 'email': lambda(data): data.get('email') or data['login'] + '@users.noreply.github.com' }, 'token_name': 'access_token' }, @@ -118,6 +118,8 @@ class User(BaseUser): def get_value(d, key): if isinstance(key, basestring): return d.get(key) + elif callable(key): + return key(d) # key should be list here val = d.get(key.pop(0)) if len(key) == 0: