|
33 | 33 | from .default_views.root import RootView |
34 | 34 | from .default_views.sockets import socket_handler |
35 | 35 |
|
36 | | -from .utilities import camel_to_snake |
| 36 | +from .utilities import camel_to_snake, url_for_property, url_for_action |
37 | 37 |
|
38 | 38 | from typing import Callable |
39 | 39 |
|
@@ -394,11 +394,15 @@ def add_root_link(self, view, rel, kwargs=None, params=None): |
394 | 394 |
|
395 | 395 | # Convenience methods |
396 | 396 | def build_property( |
397 | | - self, property_object: object, property_name: str, *urls, **kwargs |
| 397 | + self, property_object: object, property_name: str, urls: list = None, **kwargs |
398 | 398 | ): |
| 399 | + if urls is None: |
| 400 | + urls = [url_for_property(property_object, property_name)] |
399 | 401 | self.add_view(property_of(property_object, property_name, **kwargs), *urls) |
400 | 402 |
|
401 | | - def build_action(self, function: Callable, *urls, **kwargs): |
| 403 | + def build_action(self, function: Callable, urls: list = None, **kwargs): |
| 404 | + if urls is None: |
| 405 | + urls = [url_for_action(function)] |
402 | 406 | self.add_view(action_from(function, **kwargs), *urls) |
403 | 407 |
|
404 | 408 | def spawn_action(self, *args, **kwargs): |
|
0 commit comments