We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent faac88b commit 6539bfeCopy full SHA for 6539bfe
example/store/books/resources.py
@@ -60,11 +60,11 @@ def list(self, request, params):
60
def detail(self, request, book_id):
61
return Book.objects.get( id=book_id )
62
63
- @validate_form(CreateBook)
+ # @validate_form(CreateBook)
64
def create(self, *args, **kwargs):
65
return 401
66
67
68
def update(self, *args, **kwargs):
69
return 405
70
example/store/books/tests/json_builder.py
@@ -6,15 +6,15 @@
6
from yard.api import Api
7
from yard import fields as FIELDS
8
from books.tests.base import BaseTestCase
9
-from books.models import *
+from books.models import Book, Author
10
11
12
class JSONBuilderTestCase( BaseTestCase ):
13
14
def setUp(self):
15
super(JSONBuilderTestCase, self).setUp()
16
self.api = Api()
17
- self.resource_class = type('TestResouce', (Resource,), {})
+ self.resource_class = type('TestResouce', (Resource,), {'model': Book})
18
self.resource_class.preprocess(self.api)
19
self.resource = self.resource_class({})
20
example/store/books/tests/params.py
@@ -152,7 +152,7 @@ def test_default(self):
152
assert p.get_default(string)[0] == string
153
154
def test_validate(self, param=CharParam):
155
- p = RegexParam(r'[0-9]*')
+ p = RegexParam(r'^[0-9]*$')
156
assert fail_validation(p, RANDOM.string())
157
assert p.do_validate(RANDOM.char_number())
158
example/store/books/tests/resource_methods.py
@@ -43,7 +43,7 @@ class ResourceHttpMethodsTestCase( BaseTestCase ):
43
44
super(ResourceHttpMethodsTestCase, self).setUp()
45
self.factory = RequestFactory()
46
- TestResource = type('TestResource', (Resource,), {})
+ TestResource = type('TestResource', (Resource,), {'model': Book})
47
TestResource.preprocess(Api())
48
self.collection_resource = TestResource(
49
TestResource.as_list_view()['routes'])
src/yard/api.py
@@ -52,8 +52,8 @@ def get_documentation(self):
52
resource_class.preprocess(self)
53
for info in resource_class.get_views():
54
items = info['routes'].iteritems()
55
- if not any(hasattr(resource_class, v) for k,v in items):
56
- continue
+ # if not any(hasattr(resource_class, v) for k,v in items):
+ # continue
57
viewname = "%s.%s" %(name or resource_class.__name__, info['name'])
58
self.list_of_urlpatterns.append(
59
url(
src/yard/fields.py
@@ -16,9 +16,9 @@ def get_documentation(self):
json['items'] = {'type': 'string'}
return json
- def __call__(self, data):
+ def __call__(self, data, api=None):
if data:
21
- return self.converter(data)
+ return self.converter(data, api) if api else self.converter(data)
22
23
24
Integer = JsonField('integer', lambda data: int(data))
src/yard/forms/params/__init__.py
@@ -55,17 +55,16 @@ class PositiveIntegerParam(IntegerParam):
Parameter for positive integer values
'''
def __init__(self, description=None, alias=None, aliases=None,
- required=False, default=None, min_value=0, max_value=None):
- self.max_value = max_value
- self.min_value = 0
- Parameter.__init__(self,
+ required=False, default=None, max_value=None):
+ super(PositiveIntegerParam, self).__init__(
description=description, alias=alias, aliases=aliases,
- required=required, default=default, validate=validate)
+ required=required, default=default, min_value=0,
+ max_value=max_value)
def validate(self, value):
if self.max_value != None:
- return value <= self.max_value and value >= max(self.min_value, 0)
- return value >= max(self.min_value, 0)
+ return value <= self.max_value and value >= self.min_value
+ return value >= self.min_value
71
class CharParam(Parameter):
src/yard/resources/base/__init__.py
@@ -100,7 +100,7 @@ def get_views(cls):
100
101
def __init__(self, routes):
102
self.routes = routes
103
-
+
104
@property
105
def tagname(self):
106
return self.model.__name__.lower()
0 commit comments