Skip to content

Commit 74c6bdf

Browse files
Merge pull request #80 from contentstack/staging
DX | 14-04-2025 | Release
2 parents 7d32d2b + d0fab6a commit 74c6bdf

File tree

6 files changed

+37
-8
lines changed

6 files changed

+37
-8
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
## Content Management SDK For Python
44
---
5+
## v1.3.2
6+
7+
#### Date: 07 April 2025
8+
9+
- Allow users to override the query parameters.
10+
---
511
## v1.3.1
612

713
#### Date: 06 February 2025

contentstack_management/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
__author__ = 'ishaileshmishra'
7373
__status__ = 'debug'
7474
__region__ = 'na'
75-
__version__ = '1.3.1'
75+
__version__ = '1.3.2'
7676
__host__ = 'api.contentstack.io'
7777
__protocol__ = 'https://'
7878
__api_version__ = 'v3'

contentstack_management/assets/assets.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ def __init__(self, client, asset_uid, branch):
2121
self.client = client
2222
self.asset_uid = asset_uid
2323
self.branch = branch
24+
if self.branch:
25+
self.add_header('branch', branch)
2426
self.api_key = self.client.headers['api_key']
2527
super().__init__(self.client)
2628

contentstack_management/content_types/content_type.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,12 @@ def find(self):
4040
>>> response = content_type.find()
4141
--------------------------------
4242
"""
43-
self.params = {
43+
defaults = {
4444
"include_count": "false",
4545
"include_global_field_schema": "true",
4646
"include_branch": "false"
4747
}
48+
self.params = {**defaults, **(self.params or {})}
4849
url = "content_types"
4950
return self.client.get(url, headers=self.client.headers, params=self.params)
5051

@@ -64,11 +65,11 @@ def fetch(self):
6465
>>> response = content_type.fetch()
6566
--------------------------------
6667
"""
67-
self.params = {
68-
"version": 1,
68+
defaults = {
6969
"include_global_field_schema": "true",
7070
"include_branch": "false"
7171
}
72+
self.params = {**defaults, **(self.params or {})}
7273
url = f"content_types/{self.content_type_uid}"
7374
return self.client.get(url, headers=self.client.headers, params=self.params)
7475

@@ -296,10 +297,11 @@ def references(self):
296297
>>> response = content_type.references()
297298
--------------------------------
298299
"""
299-
self.params = {
300+
defaults = {
300301
"include_global_fields": "true",
301302
"include_branch": "false"
302303
}
304+
self.params = {**defaults, **(self.params or {})}
303305
url = f"content_types/{self.content_type_uid}/references"
304306
return self.client.get(url, headers=self.client.headers, params=self.params)
305307

requirements.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
python-dotenv~=1.0.0
2-
setuptools==70.0.0
3-
requests~=2.32.0
2+
setuptools==75.6.0
3+
requests~=2.32.3
44
pylint
55
bson>=0.5.9
66
requests-toolbelt>=1.0.0

tests/unit/content_types/test_content_type.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,30 @@ def test_get_all_content_types(self):
2727
self.assertEqual(response.request.method, "GET")
2828
self.assertEqual(response.request.headers["Content-Type"], "application/json")
2929
self.assertEqual(response.request.body, None)
30+
31+
def test_get_all_content_types_with_params(self):
32+
query = self.client.stack(api_key).content_types()
33+
query.add_param("include_count", True)
34+
response = query.find()
35+
self.assertEqual(response.request.url, f"{self.client.endpoint}content_types?include_count=True&include_global_field_schema=true&include_branch=false")
36+
self.assertEqual(response.request.method, "GET")
37+
self.assertEqual(response.request.headers["Content-Type"], "application/json")
38+
self.assertEqual(response.request.body, None)
3039

3140
def test_get_a_content_types(self):
3241
response = self.client.stack(api_key).content_types(content_type_uid).fetch()
3342
self.assertEqual(response.request.url,
34-
f"{self.client.endpoint}content_types/{content_type_uid}?version=1&include_global_field_schema=true&include_branch=false")
43+
f"{self.client.endpoint}content_types/{content_type_uid}?include_global_field_schema=true&include_branch=false")
44+
self.assertEqual(response.request.method, "GET")
45+
self.assertEqual(response.request.headers["Content-Type"], "application/json")
46+
self.assertEqual(response.request.body, None)
47+
48+
def test_get_a_content_types_with_params(self):
49+
query = self.client.stack(api_key).content_types(content_type_uid)
50+
query.add_param("include_branch", True)
51+
response = query.fetch()
52+
self.assertEqual(response.request.url,
53+
f"{self.client.endpoint}content_types/{content_type_uid}?include_global_field_schema=true&include_branch=True")
3554
self.assertEqual(response.request.method, "GET")
3655
self.assertEqual(response.request.headers["Content-Type"], "application/json")
3756
self.assertEqual(response.request.body, None)

0 commit comments

Comments
 (0)