Skip to content

Commit

Permalink
Merge afdc49c into ca0e40e
Browse files Browse the repository at this point in the history
  • Loading branch information
kpsherva committed Mar 11, 2020
2 parents ca0e40e + afdc49c commit 783fb1c
Show file tree
Hide file tree
Showing 11 changed files with 69 additions and 20 deletions.
10 changes: 5 additions & 5 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@ addons:
notifications:
email: false

sudo: false

services:
- mysql
- postgresql
Expand All @@ -38,8 +36,8 @@ env:
- REQUIREMENTS=devel EXTRAS=all,postgresql SQLALCHEMY_DATABASE_URI="postgresql+psycopg2://postgres@localhost:5432/invenio"

python:
- "2.7"
- "3.5"
- "3.6"
- "3.7"

matrix:
fast_finish: true
Expand All @@ -49,6 +47,7 @@ matrix:
- env: REQUIREMENTS=devel EXTRAS=all,postgresql SQLALCHEMY_DATABASE_URI="postgresql+psycopg2://postgres@localhost:5432/invenio"

before_install:
- "pip uninstall -y six"
- "travis_retry pip install --upgrade pip setuptools py"
- "travis_retry pip install twine wheel coveralls requirements-builder"
- "requirements-builder -e $EXTRAS --level=min setup.py > .travis-lowest-requirements.txt"
Expand All @@ -73,7 +72,8 @@ deploy:
password:
secure: "Fbqa+pT8riuZhDCOzZ79SBz/YFFIcFUmgAdfbZLfIxbYnf59UuF+21dMMsUlbwUiUbY2qm9EgQQDwVGRGVyFNuEebCvXjbhUH0fN41AQR+k/Voh9dp9QDh4qkmq9P3V7yI3rnerEJnxq91xRisZAXvfTyaLF0bn3AHoDp91SpjdTD1jO1WDZuVr8zOUH5l2PNY2uVbVwwHzi0hh1OEvkUxhR61nhgrn61qDNzzaGPkE3tz9O3v/hfOoKxGaT8HUUOkLEYMa9iHTL3LnmKfz5fUSJ/wMIEhHmLQasyolDwOnseL9Jb8ST0mVVA5JPzEfL/D/kaDKmuAhsvtbKKTBNC6LKoi0Acv1xviC7gGVl9HGqUtqrKurcUe0mgPfNLJdRDO6v+tofC1ielEazRwfs7qJOf4IVYY+LgU7GcT+2LZcW0ClwklSFmYyjH1NUIeoYNbw/FGZ/UjKItY59wdr9PJ3q18+GY0GlyNASI9tEXS3jQFfJkr65Xp6YBnVFpLRsq2RtxnRJP37hksm4QbFviLvHBp4DtQ0Pf56f2ubD8Z3nIfdejmU4ipy3i6nNXsIZ3ivTo1RvAWkhIxPQorAcY6aweurKXjDJBGJLSr8GIPykDLi/zCkFjMIIWyL4gg7kYAGfBtu0d3dbbbK+Vb/HKNC84uj5yV2KLRSkVSgFW2E="
distributions: "compile_catalog sdist bdist_wheel"
skip_existing: true
on:
tags: true
python: "2.7"
python: "3.6"
condition: $DEPLOY = true
7 changes: 6 additions & 1 deletion examples/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@
from flask import Flask
from flask_babelex import Babel
from flask_menu import Menu
from flask_oauthlib.client import OAuth as FlaskOAuth
from invenio_accounts import InvenioAccounts
from invenio_accounts.views import blueprint as blueprint_accounts
from invenio_admin import InvenioAdmin
Expand All @@ -49,6 +48,11 @@
from invenio_oauthclient.views.client import blueprint as blueprint_client
from invenio_oauthclient.views.settings import blueprint as blueprint_settings

from invenio_oauthclient._compat import monkey_patch_werkzeug # noqa isort:skip
monkey_patch_werkzeug() # noqa isort:skip

from flask_oauthlib.client import OAuth as FlaskOAuth # noqa isort:skip

# Create Flask application
app = Flask(__name__)

Expand All @@ -65,6 +69,7 @@
MAIL_SUPPRESS_SEND=True,
SECRET_KEY='CHANGE_ME',
SECURITY_PASSWORD_SALT='CHANGE_ME_ALSO',
SQLALCHEMY_TRACK_MODIFICATIONS=False,
)

Babel(app)
Expand Down
7 changes: 6 additions & 1 deletion examples/cern_app.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,6 @@
from flask_babelex import Babel
from flask_login import current_user
from flask_menu import Menu as FlaskMenu
from flask_oauthlib.client import OAuth as FlaskOAuth
from invenio_accounts import InvenioAccounts
from invenio_accounts.views import blueprint as blueprint_user
from invenio_db import InvenioDB
Expand All @@ -102,6 +101,11 @@
from invenio_oauthclient.views.client import blueprint as blueprint_client
from invenio_oauthclient.views.settings import blueprint as blueprint_settings

from invenio_oauthclient._compat import monkey_patch_werkzeug # noqa isort:skip
monkey_patch_werkzeug() # noqa isort:skip

from flask_oauthlib.client import OAuth as FlaskOAuth # noqa isort:skip

# [ Configure application credentials ]
CERN_APP_CREDENTIALS = dict(
consumer_key=os.environ.get('CERN_APP_CREDENTIALS_KEY'),
Expand All @@ -123,6 +127,7 @@
SECRET_KEY='TEST',
SECURITY_PASSWORD_SALT='security-password-salt',
SECURITY_SEND_REGISTER_EMAIL=False,
SQLALCHEMY_TRACK_MODIFICATIONS=False,
)

Babel(app)
Expand Down
7 changes: 6 additions & 1 deletion examples/github_app.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,6 @@
from flask_babelex import Babel
from flask_login import current_user
from flask_menu import Menu as FlaskMenu
from flask_oauthlib.client import OAuth as FlaskOAuth
from invenio_accounts import InvenioAccounts
from invenio_accounts.views import blueprint as blueprint_user
from invenio_db import InvenioDB
Expand All @@ -92,6 +91,11 @@
from invenio_oauthclient.views.client import blueprint as blueprint_client
from invenio_oauthclient.views.settings import blueprint as blueprint_settings

from invenio_oauthclient._compat import monkey_patch_werkzeug # noqa isort:skip
monkey_patch_werkzeug() # noqa isort:skip

from flask_oauthlib.client import OAuth as FlaskOAuth # noqa isort:skip

# [ Configure application credentials ]
GITHUB_APP_CREDENTIALS = dict(
consumer_key=os.environ.get('GITHUB_APP_CREDENTIALS_KEY'),
Expand All @@ -116,6 +120,7 @@
MAIL_SUPPRESS_SEND=True,
TESTING=True,
USERPROFILES_EXTEND_SECURITY_FORMS=True,
SQLALCHEMY_TRACK_MODIFICATIONS=False,
)

Babel(app)
Expand Down
5 changes: 4 additions & 1 deletion examples/globus_app.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@
from flask_babelex import Babel
from flask_login import current_user
from flask_menu import Menu as FlaskMenu
from flask_oauthlib.client import OAuth as FlaskOAuth
from invenio_accounts import InvenioAccounts
from invenio_accounts.views import blueprint as blueprint_user
from invenio_db import InvenioDB
Expand All @@ -83,6 +82,9 @@
from invenio_oauthclient.views.client import blueprint as blueprint_client
from invenio_oauthclient.views.settings import blueprint as blueprint_settings

from invenio_oauthclient._compat import monkey_patch_werkzeug # noqa isort:skip
from flask_oauthlib.client import OAuth as FlaskOAuth # noqa isort:skip

# [ Configure application credentials ]
GLOBUS_APP_CREDENTIALS = dict(
consumer_key=os.environ.get('GLOBUS_APP_CREDENTIALS_KEY'),
Expand All @@ -107,6 +109,7 @@
MAIL_SUPPRESS_SEND=True,
TESTING=True,
USERPROFILES_EXTEND_SECURITY_FORMS=True,
SQLALCHEMY_TRACK_MODIFICATIONS=False,
)

Babel(app)
Expand Down
7 changes: 6 additions & 1 deletion examples/orcid_app.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,6 @@
from flask_babelex import Babel
from flask_login import current_user
from flask_menu import Menu as FlaskMenu
from flask_oauthlib.client import OAuth as FlaskOAuth
from invenio_accounts import InvenioAccounts
from invenio_accounts.views import blueprint as blueprint_user
from invenio_db import InvenioDB
Expand All @@ -94,6 +93,11 @@
from invenio_oauthclient.views.client import blueprint as blueprint_client
from invenio_oauthclient.views.settings import blueprint as blueprint_settings

from invenio_oauthclient._compat import monkey_patch_werkzeug # noqa isort:skip
monkey_patch_werkzeug() # noqa isort:skip

from flask_oauthlib.client import OAuth as FlaskOAuth # noqa isort:skip

# [ Configure application credentials ]
ORCID_APP_CREDENTIALS = dict(
consumer_key=os.environ.get('ORCID_APP_CREDENTIALS_KEY'),
Expand All @@ -117,6 +121,7 @@
SECURITY_PASSWORD_SALT='security-password-salt',
SECURITY_LOGIN_WITHOUT_CONFIRMATION=False,
USERPROFILES_EXTEND_SECURITY_FORMS=True,
SQLALCHEMY_TRACK_MODIFICATIONS=False,
)

Babel(app)
Expand Down
14 changes: 14 additions & 0 deletions invenio_oauthclient/_compat.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,21 @@

from __future__ import absolute_import, print_function

import werkzeug

try:
from flask_login.utils import _create_identifier
except ImportError:
from flask_login import _create_identifier


def monkey_patch_werkzeug():
"""Patch top level removed modules."""
try:
from werkzeug import cached_property
except ImportError:
werkzeug.cached_property = werkzeug.utils.cached_property
werkzeug.parse_options_header = werkzeug.http.parse_options_header
werkzeug.url_quote = werkzeug.urls.url_quote
werkzeug.url_decode = werkzeug.urls.url_decode
werkzeug.url_encode = werkzeug.urls.url_encode
8 changes: 6 additions & 2 deletions invenio_oauthclient/ext.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,19 @@
from __future__ import absolute_import, print_function

from flask_login import user_logged_out
from flask_oauthlib.client import OAuth as FlaskOAuth
from flask_oauthlib.client import OAuthRemoteApp

from . import config
from .handlers import authorized_default_handler, authorized_handler, \
disconnect_handler, make_handler, make_token_getter, \
oauth_logout_handler
from .utils import load_or_import_from_config, obj_or_import_string

from invenio_oauthclient._compat import monkey_patch_werkzeug # noqa isort:skip
monkey_patch_werkzeug() # noqa isort:skip

from flask_oauthlib.client import OAuth as FlaskOAuth # noqa isort:skip
from flask_oauthlib.client import OAuthRemoteApp # noqa isort:skip


class _OAuthClientState(object):
"""OAuth client state storing registered actions."""
Expand Down
1 change: 1 addition & 0 deletions requirements-devel.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,5 @@
-e git+git://github.com/inveniosoftware/invenio-db.git#egg=invenio-db
-e git+git://github.com/inveniosoftware/invenio-mail.git#egg=invenio-mail
-e git+git://github.com/inveniosoftware/invenio-userprofiles.git#egg=invenio-userprofiles
-e git+https://github.com/inveniosoftware/invenio-base.git#egg=invenio-base
# -e git+git://github.com/inveniosoftware/invenio-upgrader.git#egg=invenio-upgrader
10 changes: 4 additions & 6 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
'check-manifest>=0.25',
'coverage>=4.0',
'httpretty>=0.8.14',
'invenio-accounts>=1.0.0',
'invenio-userprofiles>=1.0.0',
'isort>=4.2.2',
'mock>=1.3.0',
Expand Down Expand Up @@ -67,16 +66,15 @@
]

install_requires = [
'Flask-BabelEx>=0.9.3',
'Flask-Breadcrumbs>=0.3.0',
'Flask-Breadcrumbs>=0.5.0',
'requests-oauthlib>=0.5.0,<1.2.0',
'oauthlib>=1.1.2,<3.0.0',
'Flask-OAuthlib>=0.9.3',
'Flask>=0.11.1',
'blinker>=1.4',
'invenio-accounts>=1.0.0',
'invenio-accounts>=1.2.0',
'invenio-base>=1.2.2',
'invenio-i18n>=1.2.0',
'invenio-mail>=1.0.0',
'six>=1.9',
'sqlalchemy-utils>=0.32.0',
'uritools>=1.0.1',
]
Expand Down
13 changes: 11 additions & 2 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,11 @@
import tempfile

import pytest
import werkzeug
from flask import Flask
from flask_babelex import Babel
from flask_mail import Mail
from flask_menu import Menu as FlaskMenu
from flask_oauthlib.client import OAuth as FlaskOAuth
from flask_oauthlib.client import OAuthResponse
from invenio_accounts import InvenioAccounts
from invenio_db import InvenioDB, db
from invenio_userprofiles import InvenioUserProfiles, UserProfile
Expand All @@ -38,6 +37,16 @@
from invenio_oauthclient.views.client import blueprint as blueprint_client
from invenio_oauthclient.views.settings import blueprint as blueprint_settings

from invenio_oauthclient._compat import monkey_patch_werkzeug # noqa isort:skip

try:
from werkzeug.middleware.dispatcher import DispatcherMiddleware
except ImportError:
from werkzeug.wsgi import DispatcherMiddleware

from flask_oauthlib.client import OAuth as FlaskOAuth # noqa isort:skip
from flask_oauthlib.client import OAuthResponse # noqa isort:skip


@pytest.fixture
def base_app(request):
Expand Down

0 comments on commit 783fb1c

Please sign in to comment.