Matej Cepl 2022-04-16 23:19:39 +00:00 committed by Git OBS Bridge
parent 6d30fc2b5d
commit f4ad85a324
3 changed files with 0 additions and 400 deletions

View File

@ -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',

View File

@ -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)

View File

@ -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)