Remove unnecessary patches.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:flask/python-flask-peewee?expand=0&rev=2
This commit is contained in:
parent
6d30fc2b5d
commit
f4ad85a324
@ -1,23 +0,0 @@
|
|||||||
From 8fac0f27e2e01e1ac64803b55c78323414b86667 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Charles Leifer <coleifer@gmail.com>
|
|
||||||
Date: Fri, 21 Sep 2018 08:35:56 -0500
|
|
||||||
Subject: [PATCH] Clarify that project uses MIT
|
|
||||||
|
|
||||||
Fixes #172
|
|
||||||
---
|
|
||||||
setup.py | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/setup.py b/setup.py
|
|
||||||
index b1479f2..83323d2 100644
|
|
||||||
--- a/setup.py
|
|
||||||
+++ b/setup.py
|
|
||||||
@@ -9,7 +9,7 @@
|
|
||||||
name='flask-peewee',
|
|
||||||
version='3.0.3',
|
|
||||||
url='http://github.com/coleifer/flask-peewee/',
|
|
||||||
- license='BSD',
|
|
||||||
+ license='MIT',
|
|
||||||
author='Charles Leifer',
|
|
||||||
author_email='coleifer@gmail.com',
|
|
||||||
description='Peewee integration for flask',
|
|
@ -1,311 +0,0 @@
|
|||||||
From fd89cf20fe9525b195596d17ee122110a110f67d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Charles Leifer <coleifer@gmail.com>
|
|
||||||
Date: Mon, 6 Jan 2020 17:12:44 -0600
|
|
||||||
Subject: [PATCH] Compatibility with new(er) werkzeug and flask.
|
|
||||||
|
|
||||||
Tests passing and general cleanup.
|
|
||||||
---
|
|
||||||
flask_peewee/admin.py | 2 +-
|
|
||||||
flask_peewee/rest.py | 3 +--
|
|
||||||
flask_peewee/tests/base.py | 16 ++++++++--------
|
|
||||||
flask_peewee/tests/rest.py | 9 ++++-----
|
|
||||||
flask_peewee/tests/serializer.py | 28 ++++++++++++++--------------
|
|
||||||
flask_peewee/tests/test_app.py | 14 +++++++-------
|
|
||||||
flask_peewee/tests/utils.py | 10 +++++-----
|
|
||||||
7 files changed, 40 insertions(+), 42 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/flask_peewee/admin.py b/flask_peewee/admin.py
|
|
||||||
index 7566e0f..9191c43 100644
|
|
||||||
--- a/flask_peewee/admin.py
|
|
||||||
+++ b/flask_peewee/admin.py
|
|
||||||
@@ -32,7 +32,7 @@
|
|
||||||
from peewee import DateTimeField
|
|
||||||
from peewee import ForeignKeyField
|
|
||||||
from peewee import TextField
|
|
||||||
-from werkzeug import Headers
|
|
||||||
+from werkzeug.datastructures import Headers
|
|
||||||
from wtforms import fields
|
|
||||||
from wtforms import widgets
|
|
||||||
from wtfpeewee.fields import ModelHiddenField
|
|
||||||
diff --git a/flask_peewee/rest.py b/flask_peewee/rest.py
|
|
||||||
index e4a7934..05c3170 100644
|
|
||||||
--- a/flask_peewee/rest.py
|
|
||||||
+++ b/flask_peewee/rest.py
|
|
||||||
@@ -288,8 +288,7 @@ def response_bad_request(self):
|
|
||||||
return Response('Bad request', 400)
|
|
||||||
|
|
||||||
def response(self, data):
|
|
||||||
- kwargs = {} if request.is_xhr else {'indent': 2}
|
|
||||||
- return Response(json.dumps(data, **kwargs), mimetype='application/json')
|
|
||||||
+ return Response(json.dumps(data), mimetype='application/json')
|
|
||||||
|
|
||||||
def require_method(self, func, methods):
|
|
||||||
@functools.wraps(func)
|
|
||||||
diff --git a/flask_peewee/tests/base.py b/flask_peewee/tests/base.py
|
|
||||||
index 3744510..e7cf19e 100644
|
|
||||||
--- a/flask_peewee/tests/base.py
|
|
||||||
+++ b/flask_peewee/tests/base.py
|
|
||||||
@@ -26,21 +26,21 @@ def setUp(self):
|
|
||||||
EModel.drop_table(True)
|
|
||||||
EModel.create_table()
|
|
||||||
FModel.create_table()
|
|
||||||
-
|
|
||||||
+
|
|
||||||
self.flask_app = test_app.app
|
|
||||||
self.flask_app._template_context = {}
|
|
||||||
-
|
|
||||||
- self.app = test_app.app.test_client()
|
|
||||||
-
|
|
||||||
+
|
|
||||||
+ self.app = test_app.app.test_client()
|
|
||||||
+
|
|
||||||
def create_user(self, username, password, **kwargs):
|
|
||||||
user = User(username=username, email=kwargs.pop('email', ''), **kwargs)
|
|
||||||
user.set_password(password)
|
|
||||||
user.save()
|
|
||||||
return user
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def create_message(self, user, content, **kwargs):
|
|
||||||
return Message.create(user=user, content=content, **kwargs)
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def create_users(self):
|
|
||||||
users = [
|
|
||||||
self.create_user('admin', 'admin', admin=True),
|
|
||||||
@@ -49,11 +49,11 @@ def create_users(self):
|
|
||||||
]
|
|
||||||
self.admin, self.normal, self.inactive = users
|
|
||||||
return users
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def get_context(self, var_name):
|
|
||||||
if var_name not in self.flask_app._template_context:
|
|
||||||
raise KeyError('%s not in template context' % var_name)
|
|
||||||
return self.flask_app._template_context[var_name]
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def assertContext(self, key, value):
|
|
||||||
self.assertEqual(self.get_context(key), value)
|
|
||||||
diff --git a/flask_peewee/tests/rest.py b/flask_peewee/tests/rest.py
|
|
||||||
index ed8f80c..07970cc 100644
|
|
||||||
--- a/flask_peewee/tests/rest.py
|
|
||||||
+++ b/flask_peewee/tests/rest.py
|
|
||||||
@@ -18,8 +18,10 @@
|
|
||||||
from flask_peewee.tests.base import FlaskPeeweeTestCase
|
|
||||||
from flask_peewee.tests.test_app import AModel
|
|
||||||
from flask_peewee.tests.test_app import APIKey
|
|
||||||
+from flask_peewee.tests.test_app import BDetails
|
|
||||||
from flask_peewee.tests.test_app import BModel
|
|
||||||
from flask_peewee.tests.test_app import CModel
|
|
||||||
+from flask_peewee.tests.test_app import DModel
|
|
||||||
from flask_peewee.tests.test_app import EModel
|
|
||||||
from flask_peewee.tests.test_app import FModel
|
|
||||||
from flask_peewee.tests.test_app import Message
|
|
||||||
@@ -106,11 +108,8 @@ def assertAPITestModels(self, json_data, tms):
|
|
||||||
class RestApiResourceTestCase(RestApiTestCase):
|
|
||||||
def setUp(self):
|
|
||||||
super(RestApiResourceTestCase, self).setUp()
|
|
||||||
- FModel.delete().execute()
|
|
||||||
- EModel.delete().execute()
|
|
||||||
- CModel.delete().execute()
|
|
||||||
- BModel.delete().execute()
|
|
||||||
- AModel.delete().execute()
|
|
||||||
+ for M in (FModel, EModel, DModel, CModel, BDetails, BModel, AModel):
|
|
||||||
+ M.delete().execute()
|
|
||||||
|
|
||||||
def create_test_models(self):
|
|
||||||
self.a1 = AModel.create(a_field='a1')
|
|
||||||
diff --git a/flask_peewee/tests/serializer.py b/flask_peewee/tests/serializer.py
|
|
||||||
index d0beabc..5734cd4 100644
|
|
||||||
--- a/flask_peewee/tests/serializer.py
|
|
||||||
+++ b/flask_peewee/tests/serializer.py
|
|
||||||
@@ -13,7 +13,7 @@ def setUp(self):
|
|
||||||
super(SerializerTestCase, self).setUp()
|
|
||||||
self.s = Serializer()
|
|
||||||
self.d = Deserializer()
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def test_serializer(self):
|
|
||||||
users = self.create_users()
|
|
||||||
serialized = self.s.serialize_object(self.admin)
|
|
||||||
@@ -26,13 +26,13 @@ def test_serializer(self):
|
|
||||||
'admin': True,
|
|
||||||
'email': '',
|
|
||||||
})
|
|
||||||
-
|
|
||||||
+
|
|
||||||
serialized = self.s.serialize_object(self.admin, fields={User: ['id', 'username']})
|
|
||||||
self.assertEqual(serialized, {
|
|
||||||
'id': self.admin.id,
|
|
||||||
'username': 'admin',
|
|
||||||
})
|
|
||||||
-
|
|
||||||
+
|
|
||||||
serialized = self.s.serialize_object(self.admin, exclude={User: ['password', 'join_date']})
|
|
||||||
self.assertEqual(serialized, {
|
|
||||||
'id': self.admin.id,
|
|
||||||
@@ -41,10 +41,10 @@ def test_serializer(self):
|
|
||||||
'admin': True,
|
|
||||||
'email': '',
|
|
||||||
})
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def test_deserializer(self):
|
|
||||||
users = self.create_users()
|
|
||||||
-
|
|
||||||
+
|
|
||||||
deserialized, models = self.d.deserialize_object(User(), {
|
|
||||||
'id': self.admin.id,
|
|
||||||
'username': 'admin',
|
|
||||||
@@ -53,40 +53,40 @@ def test_deserializer(self):
|
|
||||||
'active': True,
|
|
||||||
'admin': True,
|
|
||||||
})
|
|
||||||
-
|
|
||||||
+
|
|
||||||
for attr in ['id', 'username', 'password', 'active', 'admin']:
|
|
||||||
self.assertEqual(
|
|
||||||
getattr(deserialized, attr),
|
|
||||||
getattr(self.admin, attr),
|
|
||||||
)
|
|
||||||
-
|
|
||||||
+
|
|
||||||
self.assertEqual(
|
|
||||||
deserialized.join_date.strftime('%Y-%m-%d %H:%M:%S'),
|
|
||||||
self.admin.join_date.strftime('%Y-%m-%d %H:%M:%S'),
|
|
||||||
)
|
|
||||||
-
|
|
||||||
+
|
|
||||||
admin_pk = self.admin.id
|
|
||||||
-
|
|
||||||
+
|
|
||||||
deserialized, models = self.d.deserialize_object(self.admin, {
|
|
||||||
'username': 'edited',
|
|
||||||
'active': False,
|
|
||||||
'admin': False,
|
|
||||||
})
|
|
||||||
-
|
|
||||||
+
|
|
||||||
self.assertEqual(deserialized.username, 'edited')
|
|
||||||
self.assertEqual(deserialized.admin, False)
|
|
||||||
self.assertEqual(deserialized.active, False)
|
|
||||||
self.assertEqual(deserialized.id, admin_pk)
|
|
||||||
-
|
|
||||||
+
|
|
||||||
deserialized.save()
|
|
||||||
-
|
|
||||||
+
|
|
||||||
self.assertEqual(User.select().count(), 3)
|
|
||||||
edited = User.get(username='edited')
|
|
||||||
self.assertEqual(edited.id, admin_pk)
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def test_s_and_d(self):
|
|
||||||
self.create_users()
|
|
||||||
-
|
|
||||||
+
|
|
||||||
s = self.s.serialize_object(self.admin)
|
|
||||||
d, model_list = self.d.deserialize_object(User(), s)
|
|
||||||
self.assertEqual(d, self.admin)
|
|
||||||
diff --git a/flask_peewee/tests/test_app.py b/flask_peewee/tests/test_app.py
|
|
||||||
index 25c72ad..c90d4a9 100644
|
|
||||||
--- a/flask_peewee/tests/test_app.py
|
|
||||||
+++ b/flask_peewee/tests/test_app.py
|
|
||||||
@@ -70,7 +70,7 @@ class Message(db.Model):
|
|
||||||
user = ForeignKeyField(User)
|
|
||||||
content = TextField()
|
|
||||||
pub_date = DateTimeField(default=datetime.datetime.now)
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def __unicode__(self):
|
|
||||||
return '%s: %s' % (self.user, self.content)
|
|
||||||
|
|
||||||
@@ -83,7 +83,7 @@ class Note(db.Model):
|
|
||||||
|
|
||||||
class TestModel(db.Model):
|
|
||||||
data = TextField()
|
|
||||||
-
|
|
||||||
+
|
|
||||||
class Meta:
|
|
||||||
order_by = ('id',)
|
|
||||||
|
|
||||||
@@ -98,7 +98,7 @@ class BModel(db.Model):
|
|
||||||
class CModel(db.Model):
|
|
||||||
b = ForeignKeyField(BModel)
|
|
||||||
c_field = CharField()
|
|
||||||
-
|
|
||||||
+
|
|
||||||
class DModel(db.Model):
|
|
||||||
c = ForeignKeyField(CModel)
|
|
||||||
d_field = CharField()
|
|
||||||
@@ -122,12 +122,12 @@ class APIKey(db.Model):
|
|
||||||
|
|
||||||
class NotePanel(AdminPanel):
|
|
||||||
template_name = 'admin/notes.html'
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def get_urls(self):
|
|
||||||
return (
|
|
||||||
('/create/', self.create),
|
|
||||||
)
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def create(self):
|
|
||||||
if request.method == 'POST':
|
|
||||||
if request.form.get('message'):
|
|
||||||
@@ -137,7 +137,7 @@ def create(self):
|
|
||||||
)
|
|
||||||
next = request.form.get('next') or self.dashboard_url()
|
|
||||||
return redirect(next)
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def get_context(self):
|
|
||||||
return {
|
|
||||||
'note_list': Note.select().order_by(('created_date', 'desc')).paginate(1, 3)
|
|
||||||
@@ -183,7 +183,7 @@ class NoteAdmin(ModelAdmin):
|
|
||||||
|
|
||||||
class UserResource(RestResource):
|
|
||||||
exclude = ('password', 'email',)
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def get_query(self):
|
|
||||||
return User.select().where(User.active==True)
|
|
||||||
|
|
||||||
diff --git a/flask_peewee/tests/utils.py b/flask_peewee/tests/utils.py
|
|
||||||
index 64bed7c..d975bdf 100644
|
|
||||||
--- a/flask_peewee/tests/utils.py
|
|
||||||
+++ b/flask_peewee/tests/utils.py
|
|
||||||
@@ -21,27 +21,27 @@
|
|
||||||
class UtilsTestCase(FlaskPeeweeTestCase):
|
|
||||||
def setUp(self):
|
|
||||||
super(UtilsTestCase, self).setUp()
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def test_get_object_or_404(self):
|
|
||||||
user = self.create_user('test', 'test')
|
|
||||||
-
|
|
||||||
+
|
|
||||||
# test with model as first arg
|
|
||||||
self.assertRaises(NotFound, get_object_or_404, User, User.username=='not-here')
|
|
||||||
self.assertEqual(user, get_object_or_404(User, User.username=='test'))
|
|
||||||
-
|
|
||||||
+
|
|
||||||
# test with query as first arg
|
|
||||||
active = User.select().where(User.active==True)
|
|
||||||
inactive = User.select().where(User.active==False)
|
|
||||||
self.assertRaises(NotFound, get_object_or_404, active, User.username=='not-here')
|
|
||||||
self.assertRaises(NotFound, get_object_or_404, inactive, User.username=='test')
|
|
||||||
self.assertEqual(user, get_object_or_404(active, User.username=='test'))
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def test_passwords(self):
|
|
||||||
p = make_password('testing')
|
|
||||||
self.assertTrue(check_password('testing', p))
|
|
||||||
self.assertFalse(check_password('testing ', p))
|
|
||||||
self.assertFalse(check_password('Testing', p))
|
|
||||||
self.assertFalse(check_password('', p))
|
|
||||||
-
|
|
||||||
+
|
|
||||||
p2 = make_password('Testing')
|
|
||||||
self.assertFalse(p == p2)
|
|
@ -1,66 +0,0 @@
|
|||||||
---
|
|
||||||
flask_peewee/auth.py | 6 +++---
|
|
||||||
flask_peewee/filters.py | 2 +-
|
|
||||||
flask_peewee/tests/admin.py | 6 +++---
|
|
||||||
3 files changed, 7 insertions(+), 7 deletions(-)
|
|
||||||
|
|
||||||
--- a/flask_peewee/auth.py
|
|
||||||
+++ b/flask_peewee/auth.py
|
|
||||||
@@ -13,7 +13,7 @@ from flask import url_for
|
|
||||||
from peewee import *
|
|
||||||
from wtforms import Form
|
|
||||||
from wtforms import PasswordField
|
|
||||||
-from wtforms import TextField
|
|
||||||
+from wtforms import StringField
|
|
||||||
from wtforms import validators
|
|
||||||
|
|
||||||
from flask_peewee.utils import check_password
|
|
||||||
@@ -26,8 +26,8 @@ current_dir = os.path.dirname(__file__)
|
|
||||||
|
|
||||||
|
|
||||||
class LoginForm(Form):
|
|
||||||
- username = TextField('Username', validators=[validators.Required()])
|
|
||||||
- password = PasswordField('Password', validators=[validators.Required()])
|
|
||||||
+ username = StringField('Username', validators=[validators.DataRequired()])
|
|
||||||
+ password = PasswordField('Password', validators=[validators.DataRequired()])
|
|
||||||
|
|
||||||
|
|
||||||
class BaseUser(object):
|
|
||||||
--- a/flask_peewee/filters.py
|
|
||||||
+++ b/flask_peewee/filters.py
|
|
||||||
@@ -387,5 +387,5 @@ class FilterModelConverter(BaseModelConv
|
|
||||||
def __init__(self, *args, **kwargs):
|
|
||||||
super(FilterModelConverter, self).__init__(*args, **kwargs)
|
|
||||||
self.defaults = dict(self.defaults)
|
|
||||||
- self.defaults[TextField] = fields.TextField
|
|
||||||
+ self.defaults[TextField] = fields.StringField
|
|
||||||
self.defaults[DateTimeField] = fields.DateTimeField
|
|
||||||
--- a/flask_peewee/tests/admin.py
|
|
||||||
+++ b/flask_peewee/tests/admin.py
|
|
||||||
@@ -47,7 +47,7 @@ class AdminTestCase(BaseAdminTestCase):
|
|
||||||
# check login redirect
|
|
||||||
resp = self.app.get('/admin/')
|
|
||||||
self.assertEqual(resp.status_code, 302)
|
|
||||||
- self.assertEqual(resp.headers['location'], 'http://localhost/accounts/login/?next=%2Fadmin%2F')
|
|
||||||
+ self.assertEqual(resp.headers['location'], '/accounts/login/?next=%2Fadmin%2F')
|
|
||||||
|
|
||||||
# try logging in as a normal user, get a 403 forbidden
|
|
||||||
resp = self.app.post('/accounts/login/', data={
|
|
||||||
@@ -56,7 +56,7 @@ class AdminTestCase(BaseAdminTestCase):
|
|
||||||
'next': '/admin/',
|
|
||||||
})
|
|
||||||
self.assertEqual(resp.status_code, 302)
|
|
||||||
- self.assertEqual(resp.headers['location'], 'http://localhost/admin/')
|
|
||||||
+ self.assertEqual(resp.headers['location'], '/admin/')
|
|
||||||
|
|
||||||
resp = self.app.get('/admin/')
|
|
||||||
self.assertEqual(resp.status_code, 403)
|
|
||||||
@@ -71,7 +71,7 @@ class AdminTestCase(BaseAdminTestCase):
|
|
||||||
'next': '/admin/',
|
|
||||||
})
|
|
||||||
self.assertEqual(resp.status_code, 302)
|
|
||||||
- self.assertEqual(resp.headers['location'], 'http://localhost/admin/')
|
|
||||||
+ self.assertEqual(resp.headers['location'], '/admin/')
|
|
||||||
|
|
||||||
resp = self.app.get('/admin/')
|
|
||||||
self.assertEqual(resp.status_code, 200)
|
|
Loading…
x
Reference in New Issue
Block a user