Endpoint
toggl_api.modules.meta.enums.RequestMethod
¶
Bases: Enum
Self explanatory enumerations describing the different request types primarily for selecting request methods.
toggl_api.modules.meta.base_endpoint.TogglEndpoint
¶
Bases: ABC
Base class with basic functionality for all API requests.
Source code in toggl_api/modules/meta/base_endpoint.py
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 |
|
endpoint: str
abstractmethod
property
¶
model: type[TogglClass]
abstractmethod
property
¶
request(parameters: str, headers: Optional[dict] = None, body: Optional[dict] = None, method: RequestMethod = RequestMethod.GET) -> Optional[list[TogglClass] | TogglClass]
¶
Main request method which handles putting together the final API request.
Parameters:
-
parameters
(str
) –Request parameters with the endpoint excluded. Will concate with the endpoint property.
-
headers
(dict
, default:None
) –Custom request headers. Defaults to class property if set to None.
-
body
(dict
, default:None
) –Request body JSON data for specifying info. Defaults to None. Only used with none-GET or DELETE requests.
-
method
(RequestMethod
, default:GET
) –Request method to select. Defaults to GET.
Returns:
-
Optional[list[TogglClass] | TogglClass]
–dict | None: Response data or None if request does not return any data.
Source code in toggl_api/modules/meta/base_endpoint.py
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
|
method(method: RequestMethod) -> Callable
¶
Source code in toggl_api/modules/meta/base_endpoint.py
58 59 60 61 62 63 64 65 66 |
|
process_models(data: list[dict[str, Any]]) -> list[TogglClass]
¶
Source code in toggl_api/modules/meta/base_endpoint.py
124 125 126 127 128 |
|
toggl_api.modules.meta.cached_endpoint.TogglCachedEndpoint
¶
Bases: TogglEndpoint
Abstract cached endpoint for requesting toggl API data to disk.
Attributes:
-
_cache
–Cache object for caching toggl API data to disk. Builtin cache types are JSONCache and SqliteCache.
Source code in toggl_api/modules/meta/cached_endpoint.py
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 |
|
cache: TogglCache
property
writable
¶
request(parameters: str, headers: Optional[dict] = None, body: Optional[dict] = None, method: RequestMethod = RequestMethod.GET, *, refresh: bool = False) -> Optional[TogglClass | Iterable[TogglClass]]
¶
Overridden request method with builtin cache.
Parameters:
-
parameters
(str
) –Request parameters with the endpoint excluded.
-
headers
(Optional[dict]
, default:None
) –Request headers. Custom headers can be added here.
-
body
(Optional[dict]
, default:None
) –Request body for GET, POST, PUT, PATCH requests. Defaults to None.
-
method
(RequestMethod
, default:GET
) –Request method. Defaults to GET.
-
refresh
(bool
, default:False
) –Whether to refresh the cache or not. Defaults to False.
Returns:
-
Optional[TogglClass | Iterable[TogglClass]]
–TogglClass | Iterable[TogglClass] | None: Toggl API response data processed into TogglClass objects.
Source code in toggl_api/modules/meta/cached_endpoint.py
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
|
load_cache() -> Iterable[TogglClass]
¶
Source code in toggl_api/modules/meta/cached_endpoint.py
110 111 |
|
save_cache(response: list[TogglClass] | TogglClass, method: RequestMethod) -> None
¶
Source code in toggl_api/modules/meta/cached_endpoint.py
113 114 115 116 117 118 119 120 |
|