salespyforce 1.2.2rc1__tar.gz → 1.3.0__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.
- {salespyforce-1.2.2rc1/src/salespyforce.egg-info → salespyforce-1.3.0}/PKG-INFO +2 -2
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/README.md +1 -1
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/pyproject.toml +1 -1
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/src/salespyforce/core.py +27 -6
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/src/salespyforce/knowledge.py +23 -1
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/src/salespyforce/utils/version.py +2 -2
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0/src/salespyforce.egg-info}/PKG-INFO +2 -2
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/LICENSE +0 -0
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/setup.cfg +0 -0
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/setup.py +0 -0
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/src/salespyforce/__init__.py +0 -0
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/src/salespyforce/api.py +0 -0
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/src/salespyforce/chatter.py +0 -0
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/src/salespyforce/errors/__init__.py +0 -0
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/src/salespyforce/errors/exceptions.py +0 -0
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/src/salespyforce/errors/handlers.py +0 -0
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/src/salespyforce/utils/__init__.py +0 -0
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/src/salespyforce/utils/core_utils.py +0 -0
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/src/salespyforce/utils/helper.py +0 -0
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/src/salespyforce/utils/log_utils.py +0 -0
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/src/salespyforce/utils/tests/__init__.py +0 -0
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/src/salespyforce/utils/tests/resources.py +0 -0
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/src/salespyforce/utils/tests/test_instantiate_object.py +0 -0
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/src/salespyforce/utils/tests/test_sobjects.py +0 -0
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/src/salespyforce/utils/tests/test_soql.py +0 -0
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/src/salespyforce/utils/tests/test_sosl.py +0 -0
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/src/salespyforce.egg-info/SOURCES.txt +0 -0
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/src/salespyforce.egg-info/dependency_links.txt +0 -0
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/src/salespyforce.egg-info/requires.txt +0 -0
- {salespyforce-1.2.2rc1 → salespyforce-1.3.0}/src/salespyforce.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: salespyforce
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.3.0
|
|
4
4
|
Summary: A Python toolset for performing Salesforce API calls
|
|
5
5
|
Home-page: https://github.com/jeffshurtliff/salespyforce
|
|
6
6
|
Author: Jeff Shurtliff
|
|
@@ -45,7 +45,7 @@ A Python toolset for performing Salesforce API calls
|
|
|
45
45
|
<td>Latest Beta/RC Release</td>
|
|
46
46
|
<td>
|
|
47
47
|
<a href='https://pypi.org/project/salespyforce/#history'>
|
|
48
|
-
<img alt="PyPI" src="https://img.shields.io/badge/pypi-1.
|
|
48
|
+
<img alt="PyPI" src="https://img.shields.io/badge/pypi-1.3.0rc3-blue">
|
|
49
49
|
</a>
|
|
50
50
|
</td>
|
|
51
51
|
</tr>
|
|
@@ -14,7 +14,7 @@ A Python toolset for performing Salesforce API calls
|
|
|
14
14
|
<td>Latest Beta/RC Release</td>
|
|
15
15
|
<td>
|
|
16
16
|
<a href='https://pypi.org/project/salespyforce/#history'>
|
|
17
|
-
<img alt="PyPI" src="https://img.shields.io/badge/pypi-1.
|
|
17
|
+
<img alt="PyPI" src="https://img.shields.io/badge/pypi-1.3.0rc3-blue">
|
|
18
18
|
</a>
|
|
19
19
|
</td>
|
|
20
20
|
</tr>
|
|
@@ -6,9 +6,11 @@
|
|
|
6
6
|
:Example: ``sfdc = Salesforce()``
|
|
7
7
|
:Created By: Jeff Shurtliff
|
|
8
8
|
:Last Modified: Jeff Shurtliff
|
|
9
|
-
:Modified Date:
|
|
9
|
+
:Modified Date: 22 Nov 2023
|
|
10
10
|
"""
|
|
11
11
|
|
|
12
|
+
import re
|
|
13
|
+
|
|
12
14
|
import requests
|
|
13
15
|
|
|
14
16
|
from . import api, errors
|
|
@@ -319,7 +321,7 @@ class Salesforce(object):
|
|
|
319
321
|
"""
|
|
320
322
|
return self.get(f'/services/data/{self.version}')
|
|
321
323
|
|
|
322
|
-
def soql_query(self, query, replace_quotes=True):
|
|
324
|
+
def soql_query(self, query, replace_quotes=True, next_records_url=False):
|
|
323
325
|
"""This method performs a SOQL query and returns the results in JSON format.
|
|
324
326
|
(`Reference 1 <https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_query.htm>`_,
|
|
325
327
|
`Reference 2 <https://developer.salesforce.com/docs/atlas.en-us.knowledge_dev.meta/knowledge_dev/knowledge_development_soql_sosl_intro.htm>`_)
|
|
@@ -328,12 +330,18 @@ class Salesforce(object):
|
|
|
328
330
|
:type query: str
|
|
329
331
|
:param replace_quotes: Determines if double-quotes should be replaced with single-quotes (``True`` by default)
|
|
330
332
|
:type replace_quotes: bool
|
|
333
|
+
:param next_records_url: Indicates that the ``query`` parameter is a ``nextRecordsUrl`` value.
|
|
334
|
+
:type next_records_url: bool
|
|
331
335
|
:returns: The result of the SOQL query
|
|
332
336
|
"""
|
|
333
|
-
if
|
|
334
|
-
query =
|
|
335
|
-
|
|
336
|
-
|
|
337
|
+
if next_records_url:
|
|
338
|
+
query = re.sub(r'^.*/', '', query) if '/' in query else query
|
|
339
|
+
else:
|
|
340
|
+
if replace_quotes:
|
|
341
|
+
query = query.replace('"', "'")
|
|
342
|
+
query = core_utils.url_encode(query)
|
|
343
|
+
query = f'?q={query}'
|
|
344
|
+
return self.get(f'/services/data/{self.version}/query/{query}')
|
|
337
345
|
|
|
338
346
|
def search_string(self, string_to_search):
|
|
339
347
|
"""This method performs a SOSL query to search for a given string.
|
|
@@ -773,6 +781,19 @@ class Salesforce(object):
|
|
|
773
781
|
category_group_name=category_group_name,
|
|
774
782
|
category_name=category_name)
|
|
775
783
|
|
|
784
|
+
def archive_article(self, article_id):
|
|
785
|
+
"""This function archives a published knowledge article.
|
|
786
|
+
(`Reference <https://developer.salesforce.com/docs/atlas.en-us.knowledge_dev.meta/knowledge_dev/knowledge_REST_archive_master_version.htm>`_)
|
|
787
|
+
|
|
788
|
+
.. versionadded:: 1.3.0
|
|
789
|
+
|
|
790
|
+
:param article_id: The ID of the article to archive
|
|
791
|
+
:type article_id: str
|
|
792
|
+
:returns: The API response from the POST request
|
|
793
|
+
:raises: :py:exc:`RuntimeError`
|
|
794
|
+
"""
|
|
795
|
+
return knowledge_module.archive_article(self.sfdc_object, article_id=article_id)
|
|
796
|
+
|
|
776
797
|
|
|
777
798
|
def define_connection_info():
|
|
778
799
|
"""This function prompts the user for the connection information.
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
:Synopsis: Defines the Knowledge-related functions associated with the Salesforce API
|
|
5
5
|
:Created By: Jeff Shurtliff
|
|
6
6
|
:Last Modified: Jeff Shurtliff
|
|
7
|
-
:Modified Date:
|
|
7
|
+
:Modified Date: 14 Nov 2023
|
|
8
8
|
"""
|
|
9
9
|
|
|
10
10
|
from . import errors
|
|
@@ -507,3 +507,25 @@ def assign_data_category(sfdc_object, article_id, category_group_name, category_
|
|
|
507
507
|
endpoint = f'/services/data/{sfdc_object.version}/sobjects/Knowledge__DataCategorySelection'
|
|
508
508
|
return sfdc_object.post(endpoint, payload)
|
|
509
509
|
|
|
510
|
+
|
|
511
|
+
def archive_article(sfdc_object, article_id):
|
|
512
|
+
"""This function archives a published knowledge article.
|
|
513
|
+
(`Reference <https://developer.salesforce.com/docs/atlas.en-us.knowledge_dev.meta/knowledge_dev/knowledge_REST_archive_master_version.htm>`_)
|
|
514
|
+
|
|
515
|
+
.. versionadded:: 1.3.0
|
|
516
|
+
|
|
517
|
+
:param sfdc_object: The instantiated SalesPyForce object
|
|
518
|
+
:type sfdc_object: class[salespyforce.Salesforce]
|
|
519
|
+
:param article_id: The ID of the article to archive
|
|
520
|
+
:type article_id: str
|
|
521
|
+
:returns: The API response from the POST request
|
|
522
|
+
:raises: :py:exc:`RuntimeError`
|
|
523
|
+
"""
|
|
524
|
+
# Define the payload for the API call
|
|
525
|
+
payload = {
|
|
526
|
+
"publishStatus": "Archived"
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
# Perform the API call
|
|
530
|
+
endpoint = f'/services/data/{sfdc_object.version}/knowledgeManagement/articleVersions/masterVersions/{article_id}'
|
|
531
|
+
return sfdc_object.patch(endpoint, payload)
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
:Synopsis: This simple script contains the package version
|
|
5
5
|
:Created By: Jeff Shurtliff
|
|
6
6
|
:Last Modified: Jeff Shurtliff
|
|
7
|
-
:Modified Date:
|
|
7
|
+
:Modified Date: 11 Nov 2025
|
|
8
8
|
"""
|
|
9
9
|
|
|
10
10
|
from . import log_utils
|
|
@@ -13,7 +13,7 @@ from . import log_utils
|
|
|
13
13
|
logger = log_utils.initialize_logging(__name__)
|
|
14
14
|
|
|
15
15
|
# Define special and global variables
|
|
16
|
-
__version__ = "1.
|
|
16
|
+
__version__ = "1.3.0"
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
def get_full_version():
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: salespyforce
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.3.0
|
|
4
4
|
Summary: A Python toolset for performing Salesforce API calls
|
|
5
5
|
Home-page: https://github.com/jeffshurtliff/salespyforce
|
|
6
6
|
Author: Jeff Shurtliff
|
|
@@ -45,7 +45,7 @@ A Python toolset for performing Salesforce API calls
|
|
|
45
45
|
<td>Latest Beta/RC Release</td>
|
|
46
46
|
<td>
|
|
47
47
|
<a href='https://pypi.org/project/salespyforce/#history'>
|
|
48
|
-
<img alt="PyPI" src="https://img.shields.io/badge/pypi-1.
|
|
48
|
+
<img alt="PyPI" src="https://img.shields.io/badge/pypi-1.3.0rc3-blue">
|
|
49
49
|
</a>
|
|
50
50
|
</td>
|
|
51
51
|
</tr>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{salespyforce-1.2.2rc1 → salespyforce-1.3.0}/src/salespyforce/utils/tests/test_instantiate_object.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|