Changeset 4182
- Timestamp:
- 02/29/08 22:02:13 (9 months ago)
- Files:
-
- branches/1.0/turbogears/qstemplates/quickstart/+package+/model.py_tmpl (modified) (1 diff)
- branches/1.0/turbogears/tests/test_paginate.py (modified) (17 diffs)
- branches/1.1/turbogears/qstemplates/quickstart/+package+/model.py_tmpl (modified) (6 diffs)
- branches/1.1/turbogears/tests/test_paginate.py (modified) (17 diffs)
- branches/1.1/turbogears/visit/savisit.py (modified) (1 diff)
- branches/1.1/turbogears/visit/sovisit.py (modified) (2 diffs)
- branches/1.1/turbogears/widgets/big_widgets.py (modified) (2 diffs)
- branches/1.1/turbogears/widgets/datagrid.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/1.0/turbogears/qstemplates/quickstart/+package+/model.py_tmpl
r3666 r4182 200 200 expiry = Field(DateTime) 201 201 202 @classmethod203 202 def lookup_visit(cls, visit_key): 204 203 return Visit.get(visit_key) 204 lookup_visit = classmethod(lookup_visit) 205 205 206 206 branches/1.0/turbogears/tests/test_paginate.py
r4132 r4182 94 94 assert_ok = staticmethod(assert_ok) 95 95 96 96 [jsonify.when('isinstance(obj, Spy)')] 97 97 def jsonify_spy(obj): 98 98 result = str(obj) 99 99 return result 100 jsonify_spy = jsonify.when('isinstance(obj, Spy)')(jsonify_spy)101 100 102 101 … … 105 104 106 105 class MyRoot(RootController): 106 107 [expose()] 108 [paginate("data")] 107 109 def spy(self): 108 110 data = range(100) 109 111 spy = Spy() 110 112 return dict(data=data, spy=spy) 111 spy = paginate("data")(spy) 112 spy = expose()(spy)113 113 114 [expose()] 115 [paginate("data")] 114 116 def spy_correct_expectation(self): 115 117 data = range(100) 116 118 spy = Spy(page_count=10) 117 119 return dict(data=data, spy=spy) 118 spy_correct_expectation = paginate("data")(spy_correct_expectation) 119 spy_correct_expectation = expose()(spy_correct_expectation)120 120 121 [expose()] 122 [paginate("data")] 121 123 def spy_wrong_expectation(self): 122 124 data = range(100) 123 125 spy = Spy(page_count=9) 124 126 return dict(data=data, spy=spy) 125 spy_wrong_expectation = paginate("data")(spy_wrong_expectation) 126 spy_wrong_expectation = expose()(spy_wrong_expectation)127 127 128 [expose()] 129 [paginate("data")] 128 130 def spy_invalid_expectation(self): 129 131 data = range(100) 130 132 spy = Spy(foobar=10) 131 133 return dict(data=data, spy=spy) 132 spy_invalid_expectation = paginate("data")(spy_invalid_expectation)133 spy_invalid_expectation = expose()(spy_invalid_expectation)134 134 135 135 … … 141 141 body = cherrypy.response.body[0] 142 142 Spy.assert_ok(body, 'current_page', 1) 143 144 143 try: 145 144 Spy.assert_ok(body, 'current_page', 2) … … 169 168 170 169 171 172 173 170 class TestPagination(unittest.TestCase): 174 171 """Base class for all Paginate TestCases""" 172 175 173 def request(self, url): 176 174 create_request(url) … … 181 179 182 180 183 184 185 181 class TestBasicPagination(TestPagination): 186 182 187 183 class MyRoot(RootController): 184 185 [expose()] 186 [paginate("data", limit=4)] 188 187 def basic(self): 189 188 spy = Spy(var_name='data', pages=[1,2,3], limit=4, page_count=3, … … 191 190 data = range(10) 192 191 return dict(data=data, spy=spy) 193 basic = paginate("data", limit=4)(basic) 194 basic = expose()(basic)195 192 193 [expose()] 194 [paginate("data", limit=4, allow_limit_override=True)] 196 195 def custom_limit(self): 197 196 spy = Spy(var_name='data', order=None, ordering={}, row_count=10) 198 197 data = range(10) 199 198 return dict(data=data, spy=spy) 200 custom_limit = paginate("data", limit=4, 201 allow_limit_override=True)(custom_limit) 202 custom_limit = expose()(custom_limit) 203 199 200 [expose()] 201 [paginate("data")] 204 202 def default_max_pages(self): 205 203 spy = Spy(var_name='data', limit=10, page_count=10, … … 207 205 data = range(100) 208 206 return dict(data=data, spy=spy) 209 default_max_pages = paginate("data")(default_max_pages) 210 default_max_pages = expose()(default_max_pages)211 207 208 [expose()] 209 [paginate("data", max_pages=4)] 212 210 def four_max_pages(self): 213 211 spy = Spy(var_name='data', limit=10, page_count=10, … … 215 213 data = range(100) 216 214 return dict(data=data, spy=spy) 217 four_max_pages = paginate("data", max_pages=4)(four_max_pages) 218 four_max_pages = expose()(four_max_pages)219 215 216 [expose()] 217 [paginate("data", max_pages=3)] 220 218 def three_max_pages(self): 221 219 spy = Spy(var_name='data', limit=10, page_count=10, … … 223 221 data = range(100) 224 222 return dict(data=data, spy=spy) 225 three_max_pages = paginate("data", max_pages=3)(three_max_pages) 226 three_max_pages = expose()(three_max_pages)227 223 224 [expose()] 225 [paginate("data", limit=4, dynamic_limit='foobar')] 228 226 def invalid_dynamic(self): 229 227 data = range(10) 230 228 return dict(data=data) 231 invalid_dynamic = paginate("data", limit=4, 232 dynamic_limit='foobar')(invalid_dynamic) 233 invalid_dynamic = expose()(invalid_dynamic) 234 229 230 [expose()] 231 [paginate("data", limit=4, dynamic_limit='foobar', allow_limit_override=True)] 235 232 def dynamic(self): 236 233 spy = Spy(var_name='data', pages=[1,2], limit=7, page_count=2, … … 238 235 data = range(10) 239 236 return dict(data=data, spy=spy, foobar=7) 240 dynamic = paginate("data", limit=4, dynamic_limit='foobar', 241 allow_limit_override=True)(dynamic)242 dynamic = expose()(dynamic)243 237 238 [expose()] 239 [paginate("bar")] 240 [paginate("foo", limit=4)] 244 241 def multiple(self): 245 242 spy_foo = Spy(name='foo', var_name='foo', pages=[1,2,3,4,5], … … 250 247 foo = range(20) 251 248 bar = list('ABCDEFGHIJKLMNOPQRSTUVWXYZ') # 26 letters 252 253 249 return dict(foo=foo, bar=bar, spy_foo=spy_foo, spy_bar=spy_bar) 254 multiple = paginate("foo", limit=4)(multiple) 255 multiple = paginate("bar")(multiple) 256 multiple = expose()(multiple) 257 250 251 [expose()] 252 [paginate("data", limit=4, allow_limit_override=True)] 258 253 def empty(self): 259 254 spy = Spy(var_name='data', pages=[], page_count=0, … … 262 257 data = [] 263 258 return dict(data=data, spy=spy) 264 empty = paginate("data", limit=4, allow_limit_override=True)(empty)265 empty = expose()(empty)266 # end of MyRoot ------------------------------------------------------------267 259 268 260 … … 577 569 578 570 class MyRoot(RootController): 571 579 572 def __common(self, method=None): 580 573 if method == "Q": … … 633 626 default_compound_ordering4 = expose("turbogears.tests.paginate")(default_compound_ordering4) 634 627 628 [expose("turbogears.tests.paginate")] 629 [paginate("data", default_order="id")] 635 630 def related(self): 636 631 # only SA Query … … 640 635 order=None, row_count=16) 641 636 return dict(data=data, spy=spy) 642 related = paginate("data", default_order="id")(related) 643 related = expose("turbogears.tests.paginate")(related)644 637 638 [expose("turbogears.tests.paginate")] 639 [paginate("data", default_order="id", limit=0)] 645 640 def zero_limit(self, method=None): 646 641 if method == "Q": … … 657 652 return dict(data=data, spy=spy) 658 653 659 zero_limit = paginate("data", default_order="id", limit=0)(zero_limit) 660 zero_limit = expose("turbogears.tests.paginate")(zero_limit) 661 654 [expose("turbogears.tests.paginate")] 655 [paginate("data", default_order="id")] 662 656 def empty_with_groupby(self): 663 657 data = session.query(Address).filter(Address.c.id<0).group_by(Address.c.user_id) … … 667 661 return dict(data=data, spy=spy) 668 662 669 empty_with_groupby = paginate("data", default_order="id")(empty_with_groupby)670 empty_with_groupby = expose("turbogears.tests.paginate")(empty_with_groupby)671 672 # end of MyRoot ------------------------------------------------------------673 663 674 664 def setUp(self): branches/1.1/turbogears/qstemplates/quickstart/+package+/model.py_tmpl
r3667 r4182 93 93 expiry = DateTimeCol() 94 94 95 @classmethod 95 96 def lookup_visit(cls, visit_key): 96 97 try: … … 98 99 except SQLObjectNotFound: 99 100 return None 100 lookup_visit = classmethod(lookup_visit)101 101 102 102 … … 325 325 A visit to your site 326 326 """ 327 @classmethod 327 328 def lookup_visit(cls, visit_key): 328 329 return cls.query.get(visit_key) 329 lookup_visit = classmethod(lookup_visit)330 330 331 331 … … 356 356 permissions = property(permissions) 357 357 358 @classmethod 358 359 def by_email_address(cls, email): 359 360 """ … … 363 364 return cls.query.filter_by(email_address=email).first() 364 365 365 by_email_address = classmethod(by_email_address) 366 366 @classmethod 367 367 def by_user_name(cls, username): 368 368 """ … … 371 371 """ 372 372 return cls.query.filter_by(user_name=username).first() 373 374 by_user_name = classmethod(by_user_name)375 373 376 374 def _set_password(self, password): branches/1.1/turbogears/tests/test_paginate.py
r4132 r4182 83 83 " , ".join(["%s=%r" % (k,v) for k,v in paginate.__dict__.items()]) 84 84 85 @staticmethod 85 86 def assert_ok(body, key, value, raw=False): 86 87 assert "ok: [paginate" in body … … 92 93 print body 93 94 assert expr in body, "expected %s" % expr 94 assert_ok = staticmethod(assert_ok) 95 96 95 96 97 @jsonify.when('isinstance(obj, Spy)') 97 98 def jsonify_spy(obj): 98 99 result = str(obj) 99 100 return result 100 jsonify_spy = jsonify.when('isinstance(obj, Spy)')(jsonify_spy)101 101 102 102 … … 105 105 106 106 class MyRoot(RootController): 107 108 @expose() 109 @paginate("data") 107 110 def spy(self): 108 111 data = range(100) 109 112 spy = Spy() 110 113 return dict(data=data, spy=spy) 111 spy = paginate("data")(spy) 112 spy = expose()(spy)113 114 115 @expose() 116 @paginate("data") 114 117 def spy_correct_expectation(self): 115 118 data = range(100) 116 119 spy = Spy(page_count=10) 117 120 return dict(data=data, spy=spy) 118 spy_correct_expectation = paginate("data")(spy_correct_expectation) 119 spy_correct_expectation = expose()(spy_correct_expectation)120 121 122 @expose() 123 @paginate("data") 121 124 def spy_wrong_expectation(self): 122 125 data = range(100) 123 126 spy = Spy(page_count=9) 124 127 return dict(data=data, spy=spy) 125 spy_wrong_expectation = paginate("data")(spy_wrong_expectation) 126 spy_wrong_expectation = expose()(spy_wrong_expectation)127 128 129 @expose() 130 @paginate("data") 128 131 def spy_invalid_expectation(self): 129 132 data = range(100) 130 133 spy = Spy(foobar=10) 131 134 return dict(data=data, spy=spy) 132 spy_invalid_expectation = paginate("data")(spy_invalid_expectation)133 spy_invalid_expectation = expose()(spy_invalid_expectation)134 135 135 136 … … 141 142 body = cherrypy.response.body[0] 142 143 Spy.assert_ok(body, 'current_page', 1) 143 144 144 try: 145 145 Spy.assert_ok(body, 'current_page', 2) … … 169 169 170 170 171 172 173 171 class TestPagination(unittest.TestCase): 174 172 """Base class for all Paginate TestCases""" 173 175 174 def request(self, url): 176 175 create_request(url) … … 181 180 182 181 183 184 185 182 class TestBasicPagination(TestPagination): 186 183 187 184 class MyRoot(RootController): 185 186 @expose() 187 @paginate("data", limit=4) 188 188 def basic(self): 189 189 spy = Spy(var_name='data', pages=[1,2,3], limit=4, page_count=3, … … 191 191 data = range(10) 192 192 return dict(data=data, spy=spy) 193 basic = paginate("data", limit=4)(basic) 194 basic = expose()(basic)195 193 194 @expose() 195 @paginate("data", limit=4, allow_limit_override=True) 196 196 def custom_limit(self): 197 197 spy = Spy(var_name='data', order=None, ordering={}, row_count=10) 198 198 data = range(10) 199 199 return dict(data=data, spy=spy) 200 custom_limit = paginate("data", limit=4, 201 allow_limit_override=True)(custom_limit) 202 custom_limit = expose()(custom_limit) 203 200 201 @expose() 202 @paginate("data") 204 203 def default_max_pages(self): 205 204 spy = Spy(var_name='data', limit=10, page_count=10, … … 207 206 data = range(100) 208 207 return dict(data=data, spy=spy) 209 default_max_pages = paginate("data")(default_max_pages) 210 default_max_pages = expose()(default_max_pages)211 208 209 @expose() 210 @paginate("data", max_pages=4) 212 211 def four_max_pages(self): 213 212 spy = Spy(var_name='data', limit=10, page_count=10, … … 215 214 data = range(100) 216 215 return dict(data=data, spy=spy) 217 four_max_pages = paginate("data", max_pages=4)(four_max_pages) 218 four_max_pages = expose()(four_max_pages)219 216 217 @expose() 218 @paginate("data", max_pages=3) 220 219 def three_max_pages(self): 221 220 spy = Spy(var_name='data', limit=10, page_count=10, … … 223 222 data = range(100) 224 223 return dict(data=data, spy=spy) 225 three_max_pages = paginate("data", max_pages=3)(three_max_pages) 226 three_max_pages = expose()(three_max_pages)227 224 225 @expose() 226 @paginate("data", limit=4, dynamic_limit='foobar') 228 227 def invalid_dynamic(self): 229 228 data = range(10) 230 229 return dict(data=data) 231 invalid_dynamic = paginate("data", limit=4, 232 dynamic_limit='foobar')(invalid_dynamic) 233 invalid_dynamic = expose()(invalid_dynamic) 234 230 231 @expose() 232 @paginate("data", limit=4, dynamic_limit='foobar', allow_limit_override=True) 235 233 def dynamic(self): 236 234 spy = Spy(var_name='data', pages=[1,2], limit=7, page_count=2, … … 238 236 data = range(10) 239 237 return dict(data=data, spy=spy, foobar=7) 240 dynamic = paginate("data", limit=4, dynamic_limit='foobar', 241 allow_limit_override=True)(dynamic)242 dynamic = expose()(dynamic)243 238 239 @expose() 240 @paginate("bar") 241 @paginate("foo", limit=4) 244 242 def multiple(self): 245 243 spy_foo = Spy(name='foo', var_name='foo', pages=[1,2,3,4,5], … … 252 250 253 251 return dict(foo=foo, bar=bar, spy_foo=spy_foo, spy_bar=spy_bar) 254 multiple = paginate("foo", limit=4)(multiple) 255 multiple = paginate("bar")(multiple)256 multiple = expose()(multiple)252 253 @expose() 254 @paginate("data", limit=4, allow_limit_override=True) 257 255 258 256 def empty(self): … … 262 260 data = [] 263 261 return dict(data=data, spy=spy) 264 empty = paginate("data", limit=4, allow_limit_override=True)(empty)265 empty = expose()(empty)266 # end of MyRoot ------------------------------------------------------------267 262 268 263 … … 630 625 default_compound_ordering4 = expose("turbogears.tests.paginate")(default_compound_ordering4) 631 626 627 @expose("turbogears.tests.paginate") 628 @paginate("data", default_order="id") 632 629 def related(self): 633 630 # only SA Query … … 637 634 order=None, row_count=16) 638 635 return dict(data=data, spy=spy) 639 related = paginate("data", default_order="id")(related) 640 related = expose("turbogears.tests.paginate")(related)641 636 637 @expose("turbogears.tests.paginate") 638 @paginate("data", default_order="id", limit=0) 642 639 def zero_limit(self, method=None): 643 640 if method == "Q": … … 654 651 return dict(data=data, spy=spy) 655 652 656 zero_limit = paginate("data", default_order="id", limit=0)(zero_limit) 657 zero_limit = expose("turbogears.tests.paginate")(zero_limit) 658 653 @expose("turbogears.tests.paginate") 654 @paginate("data", default_order="id") 659 655 def empty_with_groupby(self): 660 656 data = session.query(Address).filter(Address.c.id<0).group_by(Address.c.user_id) … … 664 660 return dict(data=data, spy=spy) 665 661 666 empty_with_groupby = paginate("data", default_order="id")(empty_with_groupby)667 empty_with_groupby = expose("turbogears.tests.paginate")(empty_with_groupby)668 669 # end of MyRoot ------------------------------------------------------------670 662 671 663 def setUp(self): branches/1.1/turbogears/visit/savisit.py
r3619 r4182 84 84 class TG_Visit(object): 85 85 86 @classmethod 86 87 def lookup_visit(cls, visit_key): 87 88 return Visit.get(visit_key) 88 lookup_visit = classmethod(lookup_visit)branches/1.1/turbogears/visit/sovisit.py
r3367 r4182 88 88 expiry= DateTimeCol() 89 89 90 @classmethod 90 91 def lookup_visit( cls, visit_key ): 91 92 try: … … 93 94 except SQLObjectNotFound: 94 95 return None 95 lookup_visit= classmethod(lookup_visit)branches/1.1/turbogears/widgets/big_widgets.py
r4118 r4182 412 412 name = "AJAX Grid" 413 413 414 @staticmethod 414 415 def facgen(n): 415 416 total = 1 … … 418 419 total *= x 419 420 yield x, total 420 facgen = staticmethod(facgen)421 422 421 423 422 full_class_name = "turbogears.widgets.AjaxGrid" branches/1.1/turbogears/widgets/datagrid.py
r1850 r4182 95 95 """Shortcut to get_column.""" 96 96 return self.get_column(name) 97 @staticmethod 97 98 def get_field_getter(columns): 98 99 """ Returns a function to access the fields of table by row, col """ … … 103 104 return idx[col].get_field(row) 104 105 return _get_field 105 get_field_getter = staticmethod(get_field_getter)106 106 def update_params(self, d): 107 107 super(DataGrid, self).update_params(d)