dart-tools 0.8.3__tar.gz → 0.8.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of dart-tools might be problematic. Click here for more details.

Files changed (102) hide show
  1. {dart_tools-0.8.3/dart_tools.egg-info → dart_tools-0.8.4}/PKG-INFO +1 -1
  2. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/api/__init__.py +1 -0
  3. dart_tools-0.8.4/dart/generated/api/attachment/add_task_attachment_from_url.py +190 -0
  4. dart_tools-0.8.4/dart/generated/api/view/__init__.py +1 -0
  5. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/__init__.py +2 -0
  6. dart_tools-0.8.4/dart/generated/models/attachment_create_from_url.py +67 -0
  7. {dart_tools-0.8.3 → dart_tools-0.8.4/dart_tools.egg-info}/PKG-INFO +1 -1
  8. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart_tools.egg-info/SOURCES.txt +3 -0
  9. {dart_tools-0.8.3 → dart_tools-0.8.4}/pyproject.toml +1 -1
  10. {dart_tools-0.8.3 → dart_tools-0.8.4}/LICENSE +0 -0
  11. {dart_tools-0.8.3 → dart_tools-0.8.4}/README.md +0 -0
  12. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/__init__.py +0 -0
  13. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/dart.py +0 -0
  14. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/exception.py +0 -0
  15. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/__init__.py +0 -0
  16. {dart_tools-0.8.3/dart/generated/api/comment → dart_tools-0.8.4/dart/generated/api/attachment}/__init__.py +0 -0
  17. {dart_tools-0.8.3/dart/generated/api/config → dart_tools-0.8.4/dart/generated/api/comment}/__init__.py +0 -0
  18. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/api/comment/add_task_comment.py +0 -0
  19. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/api/comment/list_comments.py +0 -0
  20. {dart_tools-0.8.3/dart/generated/api/dartboard → dart_tools-0.8.4/dart/generated/api/config}/__init__.py +0 -0
  21. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/api/config/get_config.py +0 -0
  22. {dart_tools-0.8.3/dart/generated/api/doc → dart_tools-0.8.4/dart/generated/api/dartboard}/__init__.py +0 -0
  23. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/api/dartboard/get_dartboard.py +0 -0
  24. {dart_tools-0.8.3/dart/generated/api/folder → dart_tools-0.8.4/dart/generated/api/doc}/__init__.py +0 -0
  25. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/api/doc/create_doc.py +0 -0
  26. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/api/doc/delete_doc.py +0 -0
  27. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/api/doc/get_doc.py +0 -0
  28. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/api/doc/list_docs.py +0 -0
  29. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/api/doc/update_doc.py +0 -0
  30. {dart_tools-0.8.3/dart/generated/api/help_center_article → dart_tools-0.8.4/dart/generated/api/folder}/__init__.py +0 -0
  31. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/api/folder/get_folder.py +0 -0
  32. {dart_tools-0.8.3/dart/generated/api/skill → dart_tools-0.8.4/dart/generated/api/help_center_article}/__init__.py +0 -0
  33. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/api/help_center_article/list_help_center_articles.py +0 -0
  34. {dart_tools-0.8.3/dart/generated/api/task → dart_tools-0.8.4/dart/generated/api/skill}/__init__.py +0 -0
  35. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/api/skill/retrieve_skill_by_title.py +0 -0
  36. {dart_tools-0.8.3/dart/generated/api/view → dart_tools-0.8.4/dart/generated/api/task}/__init__.py +0 -0
  37. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/api/task/create_task.py +0 -0
  38. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/api/task/delete_task.py +0 -0
  39. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/api/task/get_task.py +0 -0
  40. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/api/task/list_tasks.py +0 -0
  41. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/api/task/update_task.py +0 -0
  42. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/api/view/get_view.py +0 -0
  43. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/client.py +0 -0
  44. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/errors.py +0 -0
  45. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/attachment.py +0 -0
  46. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/comment.py +0 -0
  47. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/comment_create.py +0 -0
  48. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/concise_doc.py +0 -0
  49. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/concise_task.py +0 -0
  50. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/custom_properties.py +0 -0
  51. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/dartboard.py +0 -0
  52. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/doc.py +0 -0
  53. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/doc_create.py +0 -0
  54. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/doc_update.py +0 -0
  55. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/folder.py +0 -0
  56. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/list_comments_o_item.py +0 -0
  57. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/list_docs_o_item.py +0 -0
  58. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/paginated_comment_list.py +0 -0
  59. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/paginated_concise_doc_list.py +0 -0
  60. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/paginated_concise_task_list.py +0 -0
  61. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/priority.py +0 -0
  62. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/skill.py +0 -0
  63. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/task.py +0 -0
  64. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/task_create.py +0 -0
  65. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/task_relationships_type_0.py +0 -0
  66. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/task_update.py +0 -0
  67. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/time_tracking_entry.py +0 -0
  68. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/user.py +0 -0
  69. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/user_space_configuration.py +0 -0
  70. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/user_space_configuration_custom_property_checkbox_type_def.py +0 -0
  71. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/user_space_configuration_custom_property_dates_type_def.py +0 -0
  72. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/user_space_configuration_custom_property_multiselect_type_def.py +0 -0
  73. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/user_space_configuration_custom_property_number_type_def.py +0 -0
  74. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/user_space_configuration_custom_property_number_type_def_custom_property_number_format_type_def.py +0 -0
  75. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/user_space_configuration_custom_property_select_type_def.py +0 -0
  76. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/user_space_configuration_custom_property_status_type_def.py +0 -0
  77. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/user_space_configuration_custom_property_text_type_def.py +0 -0
  78. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/user_space_configuration_custom_property_time_tracking_type_def.py +0 -0
  79. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/user_space_configuration_custom_property_user_type_def.py +0 -0
  80. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/view.py +0 -0
  81. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/wrapped_comment.py +0 -0
  82. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/wrapped_comment_create.py +0 -0
  83. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/wrapped_dartboard.py +0 -0
  84. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/wrapped_doc.py +0 -0
  85. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/wrapped_doc_create.py +0 -0
  86. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/wrapped_doc_update.py +0 -0
  87. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/wrapped_folder.py +0 -0
  88. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/wrapped_help_center_articles.py +0 -0
  89. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/wrapped_skill.py +0 -0
  90. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/wrapped_task.py +0 -0
  91. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/wrapped_task_create.py +0 -0
  92. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/wrapped_task_update.py +0 -0
  93. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/models/wrapped_view.py +0 -0
  94. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/generated/types.py +0 -0
  95. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/old.py +0 -0
  96. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/order_manager.py +0 -0
  97. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart/webhook.py +0 -0
  98. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart_tools.egg-info/dependency_links.txt +0 -0
  99. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart_tools.egg-info/entry_points.txt +0 -0
  100. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart_tools.egg-info/requires.txt +0 -0
  101. {dart_tools-0.8.3 → dart_tools-0.8.4}/dart_tools.egg-info/top_level.txt +0 -0
  102. {dart_tools-0.8.3 → dart_tools-0.8.4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dart-tools
3
- Version: 0.8.3
3
+ Version: 0.8.4
4
4
  Summary: The Dart CLI and Python Library
5
5
  Author-email: Dart <software@dartai.com>
6
6
  License: MIT License
@@ -1,5 +1,6 @@
1
1
  """Contains methods for accessing the API"""
2
2
 
3
+ from .attachment import add_task_attachment_from_url
3
4
  from .comment import add_task_comment, list_comments
4
5
  from .config import get_config
5
6
  from .dartboard import get_dartboard
@@ -0,0 +1,190 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Optional, Union, cast
3
+
4
+ import httpx
5
+
6
+ from ... import errors
7
+ from ...client import AuthenticatedClient, Client
8
+ from ...models.attachment import Attachment
9
+ from ...models.attachment_create_from_url import AttachmentCreateFromUrl
10
+ from ...types import Response
11
+
12
+
13
+ def _get_kwargs(
14
+ id: str,
15
+ *,
16
+ body: AttachmentCreateFromUrl,
17
+ ) -> dict[str, Any]:
18
+ headers: dict[str, Any] = {}
19
+
20
+ _kwargs: dict[str, Any] = {
21
+ "method": "post",
22
+ "url": "/tasks/{id}/attachments/from-url".format(
23
+ id=id,
24
+ ),
25
+ }
26
+
27
+ _body = body.to_dict()
28
+
29
+ _kwargs["json"] = _body
30
+ headers["Content-Type"] = "application/json"
31
+
32
+ _kwargs["headers"] = headers
33
+ return _kwargs
34
+
35
+
36
+ def _parse_response(
37
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
38
+ ) -> Optional[Union[Any, Attachment]]:
39
+ if response.status_code == 200:
40
+ response_200 = Attachment.from_dict(response.json())
41
+
42
+ return response_200
43
+ if response.status_code == 400:
44
+ response_400 = cast(Any, None)
45
+ return response_400
46
+ if client.raise_on_unexpected_status:
47
+ raise errors.UnexpectedStatus(response.status_code, response.content)
48
+ else:
49
+ return None
50
+
51
+
52
+ def _build_response(
53
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
54
+ ) -> Response[Union[Any, Attachment]]:
55
+ return Response(
56
+ status_code=HTTPStatus(response.status_code),
57
+ content=response.content,
58
+ headers=response.headers,
59
+ parsed=_parse_response(client=client, response=response),
60
+ )
61
+
62
+
63
+ def sync_detailed(
64
+ id: str,
65
+ *,
66
+ client: Union[AuthenticatedClient, Client],
67
+ body: AttachmentCreateFromUrl,
68
+ ) -> Response[Union[Any, Attachment]]:
69
+ """Attach a file from a provided URL to a task
70
+
71
+ Attach a file from a provided URL to a task. The file will be downloaded and attached
72
+ asynchronously. This operation may take a few moments to complete.
73
+
74
+ Args:
75
+ id (str):
76
+ body (AttachmentCreateFromUrl):
77
+
78
+ Raises:
79
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
80
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
81
+
82
+ Returns:
83
+ Response[Union[Any, Attachment]]
84
+ """
85
+
86
+ kwargs = _get_kwargs(
87
+ id=id,
88
+ body=body,
89
+ )
90
+
91
+ response = client.get_httpx_client().request(
92
+ **kwargs,
93
+ )
94
+
95
+ return _build_response(client=client, response=response)
96
+
97
+
98
+ def sync(
99
+ id: str,
100
+ *,
101
+ client: Union[AuthenticatedClient, Client],
102
+ body: AttachmentCreateFromUrl,
103
+ ) -> Optional[Union[Any, Attachment]]:
104
+ """Attach a file from a provided URL to a task
105
+
106
+ Attach a file from a provided URL to a task. The file will be downloaded and attached
107
+ asynchronously. This operation may take a few moments to complete.
108
+
109
+ Args:
110
+ id (str):
111
+ body (AttachmentCreateFromUrl):
112
+
113
+ Raises:
114
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
115
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
116
+
117
+ Returns:
118
+ Union[Any, Attachment]
119
+ """
120
+
121
+ return sync_detailed(
122
+ id=id,
123
+ client=client,
124
+ body=body,
125
+ ).parsed
126
+
127
+
128
+ async def asyncio_detailed(
129
+ id: str,
130
+ *,
131
+ client: Union[AuthenticatedClient, Client],
132
+ body: AttachmentCreateFromUrl,
133
+ ) -> Response[Union[Any, Attachment]]:
134
+ """Attach a file from a provided URL to a task
135
+
136
+ Attach a file from a provided URL to a task. The file will be downloaded and attached
137
+ asynchronously. This operation may take a few moments to complete.
138
+
139
+ Args:
140
+ id (str):
141
+ body (AttachmentCreateFromUrl):
142
+
143
+ Raises:
144
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
145
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
146
+
147
+ Returns:
148
+ Response[Union[Any, Attachment]]
149
+ """
150
+
151
+ kwargs = _get_kwargs(
152
+ id=id,
153
+ body=body,
154
+ )
155
+
156
+ response = await client.get_async_httpx_client().request(**kwargs)
157
+
158
+ return _build_response(client=client, response=response)
159
+
160
+
161
+ async def asyncio(
162
+ id: str,
163
+ *,
164
+ client: Union[AuthenticatedClient, Client],
165
+ body: AttachmentCreateFromUrl,
166
+ ) -> Optional[Union[Any, Attachment]]:
167
+ """Attach a file from a provided URL to a task
168
+
169
+ Attach a file from a provided URL to a task. The file will be downloaded and attached
170
+ asynchronously. This operation may take a few moments to complete.
171
+
172
+ Args:
173
+ id (str):
174
+ body (AttachmentCreateFromUrl):
175
+
176
+ Raises:
177
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
178
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
179
+
180
+ Returns:
181
+ Union[Any, Attachment]
182
+ """
183
+
184
+ return (
185
+ await asyncio_detailed(
186
+ id=id,
187
+ client=client,
188
+ body=body,
189
+ )
190
+ ).parsed
@@ -0,0 +1 @@
1
+ """Contains endpoint functions for accessing the API"""
@@ -1,6 +1,7 @@
1
1
  """Contains all the data models used in inputs/outputs"""
2
2
 
3
3
  from .attachment import Attachment
4
+ from .attachment_create_from_url import AttachmentCreateFromUrl
4
5
  from .comment import Comment
5
6
  from .comment_create import CommentCreate
6
7
  from .concise_doc import ConciseDoc
@@ -72,6 +73,7 @@ from .wrapped_view import WrappedView
72
73
 
73
74
  __all__ = (
74
75
  "Attachment",
76
+ "AttachmentCreateFromUrl",
75
77
  "Comment",
76
78
  "CommentCreate",
77
79
  "ConciseDoc",
@@ -0,0 +1,67 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ T = TypeVar("T", bound="AttachmentCreateFromUrl")
8
+
9
+
10
+ @_attrs_define
11
+ class AttachmentCreateFromUrl:
12
+ """
13
+ Attributes:
14
+ name (str): The name of the file to upload.
15
+ url (str): The URL of the file to upload.
16
+ """
17
+
18
+ name: str
19
+ url: str
20
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
21
+
22
+ def to_dict(self) -> dict[str, Any]:
23
+ name = self.name
24
+
25
+ url = self.url
26
+
27
+ field_dict: dict[str, Any] = {}
28
+ field_dict.update(self.additional_properties)
29
+ field_dict.update(
30
+ {
31
+ "name": name,
32
+ "url": url,
33
+ }
34
+ )
35
+
36
+ return field_dict
37
+
38
+ @classmethod
39
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
40
+ d = dict(src_dict)
41
+ name = d.pop("name")
42
+
43
+ url = d.pop("url")
44
+
45
+ attachment_create_from_url = cls(
46
+ name=name,
47
+ url=url,
48
+ )
49
+
50
+ attachment_create_from_url.additional_properties = d
51
+ return attachment_create_from_url
52
+
53
+ @property
54
+ def additional_keys(self) -> list[str]:
55
+ return list(self.additional_properties.keys())
56
+
57
+ def __getitem__(self, key: str) -> Any:
58
+ return self.additional_properties[key]
59
+
60
+ def __setitem__(self, key: str, value: Any) -> None:
61
+ self.additional_properties[key] = value
62
+
63
+ def __delitem__(self, key: str) -> None:
64
+ del self.additional_properties[key]
65
+
66
+ def __contains__(self, key: str) -> bool:
67
+ return key in self.additional_properties
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dart-tools
3
- Version: 0.8.3
3
+ Version: 0.8.4
4
4
  Summary: The Dart CLI and Python Library
5
5
  Author-email: Dart <software@dartai.com>
6
6
  License: MIT License
@@ -12,6 +12,8 @@ dart/generated/client.py
12
12
  dart/generated/errors.py
13
13
  dart/generated/types.py
14
14
  dart/generated/api/__init__.py
15
+ dart/generated/api/attachment/__init__.py
16
+ dart/generated/api/attachment/add_task_attachment_from_url.py
15
17
  dart/generated/api/comment/__init__.py
16
18
  dart/generated/api/comment/add_task_comment.py
17
19
  dart/generated/api/comment/list_comments.py
@@ -41,6 +43,7 @@ dart/generated/api/view/__init__.py
41
43
  dart/generated/api/view/get_view.py
42
44
  dart/generated/models/__init__.py
43
45
  dart/generated/models/attachment.py
46
+ dart/generated/models/attachment_create_from_url.py
44
47
  dart/generated/models/comment.py
45
48
  dart/generated/models/comment_create.py
46
49
  dart/generated/models/concise_doc.py
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "dart-tools"
3
- version = "0.8.3"
3
+ version = "0.8.4"
4
4
  description = "The Dart CLI and Python Library"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.9"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes