Skip to content

Commit 7f2933f

Browse files
authored
Merge pull request #13 from Jeroendevr/master
Update to newer dash version
2 parents 4aeea39 + 622e9da commit 7f2933f

11 files changed

+127
-249
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
*egg-info
22
*pyc
33
dist
4+
build/
5+
.DS_Store

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55

66
Dash-Admin is intended to be plug and play! Providing user authentication should be as simple as:
77

8+
```
89
auth = FlaskLoginAuth(dash_app)
10+
```
911

1012
### Documentation
1113

dash_flask_login/flask_login_auth.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ def __protect_views(self):
149149
"""
150150
for app in self.apps_list:
151151
for view_func in self.server.view_functions:
152-
if view_func.startswith(app.url_base_pathname):
152+
if view_func.startswith(app.config.url_base_pathname):
153153
self.server.view_functions[view_func] = login_required(self.server.view_functions[view_func])
154154

155155
def serve_default_views(self):

dash_flask_login/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = '0.0.5'
1+
__version__ = '0.0.6'

pyproject.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[build-system]
2+
requires = [
3+
"setuptools>=42",
4+
"wheel"
5+
]
6+
build-backend = "setuptools.build_meta"

requirements.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
dash>=2.0.0
2+
flask-login>=0.5.0

setup.cfg

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,24 @@
1-
[bdist_wheel]
2-
universal=1
1+
[metadata]
2+
name=dash_flask_login
3+
version=__version__ # noqa: F821
4+
author=Jeroen de Vries
5+
author_email=jeroendevries@runbox.eu
6+
description=Integration of Dash with Flask-Login
7+
long_description= file: README.md
8+
url = https://github.com/Jeroendevr/dash-flask-login
9+
classifiers =
10+
Intended Audience :: Developers
11+
Topic :: Utilities
12+
Natural Language :: English
13+
Operating System :: OS Independent
14+
License :: OSI Approved :: MIT License
15+
Programming Language :: Python :: 3
16+
17+
[options]
18+
package_dir =
19+
= dash_flask_login
20+
packages = find:
21+
python_requires = >=3.9
22+
23+
[options.packages.find]
24+
where = dash_flask_login

setup.py

Lines changed: 0 additions & 36 deletions
This file was deleted.

tests/test_flask_login_auth.py

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@
66
from dash.dependencies import Input, Output, State
77
from dash import Dash
88
from dash_flask_login import FlaskLoginAuth
9-
import sqlite3
10-
import hashlib
119
from flask_login import UserMixin
12-
import pprint
1310

1411
class FlaskLoginAuthTest(unittest.TestCase):
1512
# Test FlaskLoginAuth functionality
@@ -22,17 +19,17 @@ def setUp(self):
2219
SECRET_KEY = os.urandom(12),
2320
)
2421

25-
self.app = Dash(name='app1', url_base_pathname='/app1', server=server)
22+
self.app = Dash(name='app1', url_base_pathname='/app1/', server=server)
2623
self.app.layout = html.Div('Hello World!')
2724

28-
self.add_auth_app = Dash(name='add_auth_app', url_base_pathname='/add-auth-app', server=server)
25+
self.add_auth_app = Dash(name='add_auth_app', url_base_pathname='/add-auth-app/', server=server)
2926
self.add_auth_app.layout = html.Div('Hello World!')
3027

31-
self.multi_app_no_auth = Dash(name='multi_app_no_auth', url_base_pathname='/app-no-auth', server=server)
28+
self.multi_app_no_auth = Dash(name='multi_app_no_auth', url_base_pathname='/app-no-auth/', server=server)
3229
self.multi_app_no_auth.layout = html.Div('Hello World!')
3330

3431
# Will raise an error because it doesn't have the same server
35-
self.crash_app = Dash(name='crash', url_base_pathname='/crash-app')
32+
self.crash_app = Dash(name='crash', url_base_pathname='/crash-app/')
3633
self.crash_app.layout = html.Div('Goodby Cruel World!')
3734

3835
self.server = server.test_client()
@@ -56,23 +53,23 @@ def login_logout(self, username, password):
5653
response = self.server.get('/logout',)
5754
self.assertEqual(response.status_code, 302, 'Not logged in yet, server should redirect.')
5855

59-
response = self.server.get('/app1',)
56+
response = self.server.get('/app1/',)
6057
self.assertEqual(response.status_code, 302, 'Not logged in yet, server should redirect.')
6158

6259
self.login_user(username, password)
6360

64-
response = self.server.get('/app1',)
61+
response = self.server.get('/app1/',)
6562
self.assertEqual(response.status_code, 200, 'Logged in, should be 200 Okay')
6663

6764
response = self.server.get('/logout',)
6865
self.assertEqual(response.status_code, 200, 'Logged in, should be 200 Okay')
6966

7067
# Check that logout has worked
71-
response = self.server.get('/app1',)
68+
response = self.server.get('/app1/',)
7269
self.assertEqual(response.status_code, 302, 'If logged out successfully, server should redirect.')
7370

7471
def test_app_no_auth(self):
75-
response = self.server.get('/app1', follow_redirects=True)
72+
response = self.server.get('/app1/', follow_redirects=True)
7673
self.assertEqual(response.status_code, 200)
7774
self.assertTrue('<title>Dash</title>' in response.data)
7875

@@ -157,7 +154,7 @@ def test_multi_app_no_auth_second_app(self):
157154

158155
auth = FlaskLoginAuth(self.app, use_default_views=True)
159156

160-
response = self.server.get('/app-no-auth')
157+
response = self.server.get('/app-no-auth/')
161158
self.assertEqual(response.status_code, 200)
162159

163160
def test_multi_app_second_app_with_auth(self):
@@ -166,17 +163,17 @@ def test_multi_app_second_app_with_auth(self):
166163
auth.add_app(self.add_auth_app)
167164

168165
# Not logged in yet
169-
response = self.server.get('/add-auth-app')
166+
response = self.server.get('/add-auth-app/')
170167
self.assertEqual(response.status_code, 302)
171168

172169
# Does not require login
173-
response = self.server.get('/app-no-auth')
170+
response = self.server.get('/app-no-auth/')
174171
self.assertEqual(response.status_code, 200)
175172

176173
self.login_user('admin','admin')
177174

178175
# Logged in
179-
response = self.server.get('/add-auth-app')
176+
response = self.server.get('/add-auth-app/')
180177
self.assertEqual(response.status_code, 200)
181178

182179

0 commit comments

Comments
 (0)