Primary Modules¶
Additions to the primary modules.
Added the
khorosjx.core.ensure_absolute_url()
function.
This page documents the additions, changes, fixes, deprecations and removals made in each release.
Release Date: 2021-09-23
Additions to the primary modules.
Added the khorosjx.core.ensure_absolute_url()
function.
Additions to the supporting modules.
Added the khorosjx.errors.exceptions.MissingBaseUrlError
exception class.
Changes to the primary modules.
Added the return_url
parameter to the khorosjx.core.set_base_url()
function to determine if the base URL should be returned by the function.
The following functions were updated to leverage the
khorosjx.core.ensure_absolute_url()
function:
khorosjx.core._api_request_with_payload()
Release Date: 2021-09-22
Additions to the primary modules.
Added the khorosjx.places.base.retrieve_connection_info()
function.
Added the khorosjx.places.blogs.retrieve_connection_info()
function.
Changes to the primary modules.
Refactored the following functions to be more pythonic and to avoid depending on a try/except block, and to define the related global variables at the module level:
Refactored the following functions to be more efficient and removed one of the exception references in the docstring:
Changed the default return_fields
value to None
and made related adjustments in
the following functions:
khorosjx.content.base.get_document_info()
Changed the default categories
and tags
values to None
in the
khorosjx.content.docs.create_document()
and adjusted the function accordingly.
The name of the raised exception was added to the error message in the
khorosjx.core._api_request_with_payload()
function.
Renamed the khorosjx.users.__validate_lookup_type()
function to be
khorosjx.users._validate_lookup_type()
instead. (Single underscore prefix)
Renamed the khorosjx.users.__get_paginated_content_count()
function to be
khorosjx.users._get_paginated_content_count()
instead. (Single underscore prefix)
Renamed the khorosjx.users.__get_followed()
function to be
khorosjx.users._get_followed()
instead. (Single underscore prefix)
Updated the khorosjx.users._validate_lookup_type()
function call in
the following functions to use the new function name:
Updated the khorosjx.users._get_paginated_content_count()
function call in
khorosjx.users.get_user_content_count()
to use the new function name.
TODO
to rename the following functions:khorosjx.content.base.__convert_lookup_value()
khorosjx.content.base.__trim_attachments_info()
khorosjx.places.base.__verify_browse_id()
Changes to the supporting modules.
Moved the function khoros.errors.handlers._raise_exception_for_status_code()
function
out to the module level from within khoros.errors.handlers.check_api_response()
.
Fixes in the primary modules.
Fixed how the query_url
variable is defined in the khorosjx.core.get_data()
function to proactively avoid raising any NameError
exceptions.
Adjusted a dictionary lookup in the following functions to proactively avoid raising
a KeyError
exception:
khorosjx.groups._get_paginated_groups()
Refactored the khorosjx.core.get_base_url()
function to properly utilize
the base_url
global variable.
Removed a hardcoded URL in the khorosjx.users.get_profile_url()
with the
interpolated base_url
variable.
Made some minor syntax improvements in the khorosjx.content.base.get_content_id()
function.
Made improvements to the khoros.places.base.get_place_id()
function to proactively
avoid raising any NameError
exceptions.
Changes to the supporting modules.
Release Date: 2021-09-20
Added the codeql-analysis.yml
workflow.
Merged dependabot pull requests to mitigate security vulnerabilities with
twine
dependency packages.
Started over with the requirements.txt
file and renamed the original file
to be original-requirements.txt
.
Added the install_requires
configuration to the setup.py
file.
Added Python version 3.9 to pythonpackage.yml
.
Fixed a minor grammatical error in the examples/khorosjx_helper.yml
file.
Release Date: 2020-05-01
Changes to the primary modules.
Added the optional quiet
argument to the khorosjx.core.get_fields_from_api_response()
function which silences any errors for being unable to locate API fields.
Added the optional quiet
argument to the khorosjx.core.get_paginated_results()
function which silences any errors for being unable to locate API fields.
Added the optional quiet
argument to the khorosjx.groups.get_group_memberships()
function which silences any errors for being unable to locate API fields.
Added the optional quiet
argument to the khorosjx.groups._add_paginated_members()
function which silences any errors for being unable to locate API fields.
Removed the unnecessary variable definition of added_to_group
within the
khorosjx.groups.add_user_to_group()
function.
Renamed the khorosjx.core.__get_filter_syntax()
function to be
khorosjx.core._get_filter_syntax()
instead.
Renamed the khorosjx.core.__api_request_with_payload()
function to be
khorosjx.core._api_request_with_payload()
instead.
Changes to the documentation.
Added a docstring to the khorosjx.core._get_filter_syntax()
function.
Fixes to the primary modules.
Changed the filter string emails.value
to be email.value
in the
khorosjx.core.get_fields_from_api_response()
function.
Release Date: 2020-04-29
Fixes to the supporting modules.
Fixed the khorosjx.utils.helper._convert_yaml_to_bool()
function to only perform its
operations if the passed value is not a Boolean value to prevent the following AttributeError
exception from occurring: AttributeError: 'bool' object has no attribute 'lower'
Release Date: 2020-04-29
Additions to the supporting modules.
Added the khorosjx.utils.core_utils.remove_comment_wrappers_from_html()
function.
Added PyCharm Python Security Scanner to the pythonpackage.yml file.
Updated to bleach v3.1.4 as recommended by GitHub to include some security fixes.
Changes to the primary modules.
Renamed the khorosjx.places.spaces.get_space_permissions()
function to be
khorosjx.places.spaces.get_space_content_permissions()
instead and added a DeprecationWarning
to
the original.
Moved the khorosjx.places.spaces.__get_paginated_content_permissions()
function from within the
khorosjx.places.spaces.get_space_permissions()
function to the module level.
Moved the khorosjx.places.spaces.verify_core_connection.__get_info()
function to the module level as
khorosjx.places.spaces.retrieve_connection_info()
.
Renamed the khorosjx.groups.__add_paginated_members()
function to be
khorosjx.groups._add_paginated_members()
instead.
Renamed the khorosjx.groups.__get_paginated_groups()
function to be
khorosjx.groups._get_paginated_groups()
instead.
Added the ?fields=@all
query string to the API URI in the khorosjx.groups.get_group_members()
function to ensure all fields are retrieved.
Changes to the supporting modules.
Replaced the yaml.load()
function call with yaml.safe_load()
in
khoros.utils.helper.import_yaml_file()
as it is a better security practice.
Renamed the khorosjx.utils.helper.__get_connection_info()
function to be
khorosjx.utils.helper._get_connection_info()
instead.
Renamed the khorosjx.utils.helper.__get_credentials_from_module()
function to be
khorosjx.utils.helper._get_credentials_from_module()
instead.
Renamed the khorosjx.utils.helper.__parse_function_arguments()
function to be
khorosjx.utils.helper._parse_function_arguments()
instead.
Renamed the khorosjx.utils.helper.__get_console_color_settings()
function to be
khorosjx.utils.helper._get_console_color_settings()
instead.
Renamed the khorosjx.utils.helper.__get_modules_to_import()
function to be
khorosjx.utils.helper._get_modules_to_import()
instead.
Renamed the khorosjx.utils.helper.__convert_yaml_to_bool()
function to be
khorosjx.utils.helper._convert_yaml_to_bool()
instead.
Fixes to the primary modules.
Added error handling to the khorosjx.core.get_fields_from_api_response()
function to
prevent it from failing with an IndexError
exception.
Fixes to the documentation.
Fixed a typo and added hyperlinks to raised exceptions in the
khorosjx.places.spaces.get_permitted_content_types()
function docstring.
Fixed a typo in the docstring for the khorosjx.news.filter_subscriptions_by_id()
function.
Release Date: 2020-03-25
Changes to the primary modules.
Updated the khorosjx.core.get_request_with_retries()
function to raise the custom
khorosjx.errors.exceptions.APIConnectionError
exception class rather than the built-in
ConnectionError
exception class.
Removed the import warnings
line from the khorosjx.core
module as it was not being used.
Moved the khorosjx.admin.verify_core_connection.get_info()
function to the module level as
khorosjx.admin.retrieve_connection_info()
.
Moved the khorosjx.content.base.verify_core_connection.get_info()
function to the module level as
khorosjx.content.base.retrieve_connection_info()
.
Moved the khorosjx.content.docs.verify_core_connection.get_info()
function to the module level as
khorosjx.content.docs.retrieve_connection_info()
.
Moved the khorosjx.content.docs.__perform_overwrite_operation()
function to be at the module level
instead of within the khorosjx.content.docs.overwrite_doc_body()
function.
Moved the khorosjx.content.events.verify_core_connection.get_info()
function to the module level as
khorosjx.content.events.retrieve_connection_info()
.
Moved the khorosjx.content.ideas.verify_core_connection.get_info()
function to the module level as
khorosjx.content.ideas.retrieve_connection_info()
.
Moved the khorosjx.content.threads.verify_core_connection.get_info()
function to the module level as
khorosjx.content.threads.retrieve_connection_info()
.
Moved the khorosjx.content.videos.verify_core_connection.get_info()
function to the module level as
khorosjx.content.videos.retrieve_connection_info()
.
Moved the khorosjx.content.videos.__append_videos()
function to be at the module level
instead of within the khorosjx.content.videos.get_native_videos_for_space()
function.
Moved the khorosjx.groups.verify_core_connection.get_info()
function to the module level as
khorosjx.groups.retrieve_connection_info()
.
Moved the khorosjx.groups.__add_paginated_members()
function to be at the module level
instead of within the khorosjx.groups.get_group_memberships()
function.
Moved the khorosjx.groups.__get_paginated_groups()
function to be at the module level
instead of within the khorosjx.groups.get_all_groups()
function.
Updated the khorosjx.groups.get_group_memberships()
function to leverage the
khorosjx.utils.df_utils.convert_dict_list_to_dataframe()
function rather than the deprecated
khorosjx.utils.core_utils.convert_dict_list_to_dataframe()
function.
Moved the khorosjx.news.verify_core_connection.get_info()
function to the module level as
khorosjx.news.retrieve_connection_info()
.
Moved the khorosjx.news.get_subscriber_groups.__filter_subscriptions_by_id()
function to the
module level as khorosjx.news.filter_subscriptions_by_id()
.
Moved the khorosjx.news.get_subscriber_groups.__get_subscriber_ids()
function to the
module level as khorosjx.news.get_subscriber_ids()
.
Moved the khorosjx.users.verify_core_connection.get_info()
function to the module level as
khorosjx.users.retrieve_connection_info()
.
Moved the khorosjx.users.get_user_content_count.__get_count()
function to the module level as
khorosjx.users.__get_paginated_content_count()
.
Changes to the documentation.
khorosjx.core.__api_request_with_payload()
khorosjx.content.__convert_lookup_value()
khorosjx.content.base.__convert_lookup_value()
khorosjx.content.docs.__perform_overwrite_operation()
khorosjx.users.__get_paginated_content_count()
khorosjx.users.__validate_lookup_type()
Fixes relating to security vulnerabilities.
Updated the version of the bleach
package in
requirements.txt to be 3.1.2
to
mitigate an identified mutation XSS vulnerability that was reported by GitHub.
Fixes to the documentation.
Corrected a typo in the docstring for the khorosjx.core.get_base_url()
function.
Release Date: 2020-03-23
Additions to the primary modules.
Added the verify_core_connection()
function call to the khorosjx.content.base.__convert_lookup_value()
function to resolve the NameError: name 'base_url' is not defined
error.
Added missing docstrings to the khorosjx.content.ideas.get_ideas_for_space()
function.
Release Date: 2020-03-16
Additions to the primary modules.
Added the khorosjx.content.ideas.get_ideas_for_space()
function.
Added the idea_fields
list to the khorosjx.utils.classes.FieldLists
class.
Added the khorosjx.utils.version.warn_when_not_latest()
function call in the main khorosjx
module.
Additions to the supporting modules.
Added the khorosjx.utils.version.get_latest_stable()
function.
Added the khorosjx.utils.version.latest_version()
function.
Added the khorosjx.utils.version.warn_when_not_latest()
function.
Changes to the primary modules.
Introduced the all_fields
argument into the
khorosjx.content.base.get_paginated_content()
function.
Updated the datasets
dictionary in the khorosjx.utils.classes.Content
class
to include the idea
key value pair.
Updated the khorosjx.groups.__get_paginated_groups()
function to use the
khorosjx.utils.df_utils.convert_dict_list_to_dataframe()
function instead of the deprecated
khorosjx.utils.core_utils.convert_dict_list_to_dataframe()
function.
Removed obsolete import re
statement from the khorosjx.groups.__get_paginated_groups()
function.
Fixes to the primary modules.
Fixed a minor syntax issue in the khorosjx.content.base.get_content_id()
function.
Changes to the documentation.
Fixed a typo in the README.md file.
Release Date: 2020-02-24
Adjusted the python_requires
value in setup.py
to reject version 3.8.1 and above as the numpy
and
pandas
packages do not currently support that version.
Upgraded the bleach package to version 3.1.1
to mitigate a security alert
for a mutation XSS vulnerability and
updated the requirements.txt
file accordingly.
Release Date: 2020-02-11
Additions to the primary modules.
khorosjx.news
module with the following functions:Additions to the supporting modules.
Added the publication_fields
, subscription_fields
and stream_fields
lists to the
khorosjx.utils.classes.FieldLists
class.
Added the khorosjx.errors.exceptions.SubscriptionNotFoundError
exception class.
Changes to the primary modules.
Added the khorosjx.news
module to the __all__
special variable in the primary khorosjx
module.
Updated the khorosjx.init_module()
function to be compatible with the khorosjx.news
module.
Updated the khorosjx.core.get_data()
function to include the all_fields
argument. (False
by default)
Referenced the khorosjx.errors.exceptions.POSTRequestError
exception class in the docstring for the
khorosjx.core.post_request_with_retries()
function.
Referenced the khorosjx.errors.exceptions.PUTRequestError
exception class in the docstring for the
khorosjx.core.put_request_with_retries()
function.
Changes to the supporting modules.
Added a DeprecationWarning
to the khorosjx.utils.core_utils.convert_dict_list_to_dataframe()
function.
Fixes to the primary modules.
Changed the json_payload
type to dict
in the docstring for the
khorosjx.core.put_request_with_retries()
and khorosjx.core.post_request_with_retries()
functions.
Removed the MANIFEST.in
file as the VERSION
file is no longer used.
Release Date: 2020-01-22
Additions to the primary modules.
Added the khorosjx.core.get_base_url()
function.
Added the khorosjx.core.get_query_url()
function.
Added the khorosjx.core.__get_filter_syntax()
function.
Added the khorosjx.content.videos.get_video_id()
function.
Added the khorosjx.content.videos.get_native_videos_for_space()
function.
Added the khorosjx.content.videos.find_video_attachments()
function.
Added the khorosjx.content.videos.__construct_url_from_id()
function.
Added the khorosjx.content.videos.check_if_embedded()
function.
Added the khorosjx.content.videos.get_video_dimensions()
function.
Additions to the supporting modules.
Added the video_fields
list to the khorosjx.utils.classes.FieldLists
class.
Added the video
key value pair to the datasets
dictionary within the
khorosjx.utils.classes.Content
class.
Added the khorosjx.errors.handlers.bad_lookup_type()
function.
Added the khorosjx.errors.exceptions.ContentNotFoundError
exception.
Updated setup.py to define version
in the
setuptools.setup()
function using the __version__
value from khorosjx.utils.version()
.
Changes to the primary modules.
Updated the khorosjx.core.get_paginated_results()
function to allow additional filters to be supplied as
a tuple containing the element and criteria (e.g. ('type', 'video')
or a list of tuples for multiple filters.
Made minor adjustment to the khorosjx.groups.get_all_groups()
function.
Updated the khorosjx.content.videos.get_content_id()
function to allow a URL or Video ID to be supplied.
Updated the khorosjx.content.base.get_content_id()
function to raise the
khorosjx.errors.exceptions.ContentNotFoundError
exception instead of a generic KeyError
exception.
Release Date: 16 Jan 2020
Added the __version__
global variable in the khorosjx
(__init__.py
) module.
Additions to the primary modules.
Added the khorosjx.core.delete()
function.
Added the khorosjx.content.docs.create_document()
function.
Added the khorosjx.content.docs.delete_document()
function.
Added the khorosjx.places.base.get_uri_for_id()
function.
Added the khorosjx.content.docs.get_url_for_id()
function.
Additions to the supporting modules.
Added the khorosjx.utils.helper.__get_modules_to_import()
function.
Added the khorosjx.errors.exceptions.DatasetNotFoundError
exception class.
Added the uri_dataset_mapping
and security_group_uri_map
dictionaries to the
khorosjx.utils.classes.Content
class.
khorosjx.utils.core_utils.identify_dataset()
function with the accompanying internal functions:khorosjx.utils.core_utils.__get_security_group_dataset()
khorosjx.utils.core_utils.__get_invite_dataset()
khorosjx.utils.core_utils.__get_metadata_dataset()
khorosjx.utils.core_utils.__get_moderation_dataset()
khorosjx.utils.core_utils.__get_search_dataset()
khorosjx.utils.core_utils.__get_support_center_dataset()
khorosjx.utils.core_utils.__get_tile_dataset()
khorosjx.utils.version
module containing the source __version__
and the following functions:Updated setup.py to obtain the version
value from the khorosjx.utils.version()
function.
Updated docs/conf.py to obtain
the version
value from the khorosjx.utils.version()
function.
Changes to the primary modules.
Updated the khorosjx.places
module to proactively import the khorosjx.places.base
,
khorosjx.places.blogs
and khorosjx.places.spaces
modules.
Updated the khorosjx.content.docs.get_content_id()
function to accept both URLs and Document IDs.
Updated the khorosjx.init_helper()
function to handle the modules
section of the YAML configuration file.
Added error handling for invalid file types in the khorosjx.init_helper()
function.
Updated the khorosjx.init_module()
function to properly handle the all
string within an iterable.
Updated the khorosjx.core.get_fields_from_api_response()
to reference the datasets
dictionary that was
moved into the khorosjx.utils.classes.Content
class.
Changes to the supporting modules.
Updated the khorosjx.utils.helper.parse_helper_cfg()
and
khorosjx.utils.helper.retrieve_helper_settings()
functions to leverage the
khorosjx.utils.helper.__get_modules_to_import()
function.
Added the accepted_import_modules
and all_modules
lists to the
khorosjx.utils.helper.HelperParsing
class.
Moved the datasets
dictionary from the khorosjx.core.get_fields_from_api_response()
function into the
khorosjx.utils.classes.Content
class.
Changes to the documentation.
Adjusted the docstring for the khorosjx.errors.exceptions.InvalidDatasetError
exception class to
differentiate it from the khorosjx.errors.exceptions.DatasetNotFoundError
exception class.
Changes to the example files found in the examples directory within the GitHub repository.
Added the modules
section to the
khorosjx_helper.yml file.
Release Date: 8 Jan 2020
Additions to the primary modules.
khorosjx.places
module with the following sub-modules and functions:khorosjx.content
module with the following sub-modules and functions:khorosjx.content.base
khorosjx.content.base.__convert_lookup_value()
khorosjx.content.base.__trim_attachments_info()
Added the khorosjx.content.videos.download_video()
function.
Additions to the supporting modules.
Added the khorosjx.utils.core_utils.print_if_verbose()
function.
Added the permitted_video_file_types
list to the khorosjx.utils.classes.Content
class.
Additions to the documentation.
Added “Return to Top” hyperlinks on the primary modules, supporting modules and change log pages.
Added the khorosjx.utils.df_utils
and khorosjx.errors
modules to the
supporting modules page.
Changed the Development Status
PyPI classifier in the
setup.py file to be 5 - Production/Stable
.
Changes to the primary modules.
Included the blog
and place
datasets in the dictionary within the
khorosjx.core.get_fields_from_api_response()
function.
Changes to the supporting modules.
Added df_utils
and helper
to __all__
in the khorosjx.utils
module.
Changes to the documentation.
Updated the Primary Modules page to show functions within the __init__.py
files.
Added deprecated
directives to docstrings of deprecated functions.
Adjusted the docstrings on the khorosjx.init_helper()
function.
Restructured the table of contents at the top of the Supporting Modules page.
Updated the short-term and long-term items on the Roadmap page.
Fixes applied in the primary modules.
Fixed the try/except in the khorosjx.content.docs.get_document_attachments()
function to account for both
KeyError
and IndexError
exceptions instead of just the latter.
Fixes applied in the supporting modules.
Fixed the khorosjx.errors.handlers.check_api_response()
function so that a 502 response code displays a
simple Site Temporarily Unavailable
error rather than displaying the entire raw HTML response from the API.
Fixes applied to the documentation.
Fixed an issue with the header block docstring for the khorosjx.utils.classes
module.
Deprecations in the primary modules.
Deprecated and moved the functions below to the khorosjx/content/__init__.py file from the removed khorosjx/content.py file. (The deprecated functions will be removed in v3.0.0.)
khorosjx.content.__convert_lookup_value()
khorosjx.content.__trim_attachments_info()
Deprecated the khorosjx.spaces.get_space_info()
function.
Deprecated the khorosjx.spaces.get_place_id()
function.
Deprecated the khorosjx.spaces.get_browse_id()
function.
Deprecated the khorosjx.spaces.__verify_browse_id()
function.
Deprecated the khorosjx.spaces.get_spaces_list_from_file()
function.
Deprecated the khorosjx.spaces.get_permitted_content_types()
function.
Deprecated the khorosjx.spaces.get_space_permissions()
function.
Deprecated the khorosjx.spaces.__get_unique_permission_fields()
function.
Deprecated the khorosjx.spaces.__generate_permissions_dataframe()
function.
Removals in the primary modules.
The khorosjx.content
module has been removed. (See the previous sections for additional context.)
Release Date: 2019-12-21
Additions to the primary modules.
Added the khorosjx.spaces.get_spaces_list_from_file()
function.
Additions to the supporting modules.
Added the new khorosjx.utils.df_utils
module to house all pandas-related functions and utilities.
Added the khorosjx.utils.df_utils.convert_dict_list_to_dataframe()
function. (Moved from the
khorosjx.utils.core_utils
module.)
Added the khorosjx.utils.df_utils.import_csv()
function.
Added the khorosjx.utils.df_utils.import_excel()
function.
Added the khorosjx.errors.exceptions.InvalidFileTypeError
exception class.
Changes to the primary modules.
Updated the khorosjx.core.get_fields_from_api_response()
function to handle the resources.html.ref
field.
Changes to the supporting modules.
Updated the khorosjx.utils.core_utils.convert_dict_list_to_dataframe()
function to leverage the
khorosjx.utils.df_utils.convert_dict_list_to_dataframe()
function in the new module.
Updated the place_fields
list in the khorosjx.utils.classes.FieldLists
class to include the
resources.html.ref
field.
Fixes in the primary modules.
Fixed a logic error in the khorosjx.core.get_fields_from_api_response()
function which was preventing
custom-curated fields for nested values from returning properly.
Deprecations in the supporting modules.
Deprecated the khorosjx.utils.core_utils.convert_dict_list_to_dataframe()
function as it now resides in the
khorosjx.utils.df_utils.convert_dict_list_to_dataframe()
function within the new module.
Release Date: 2019-12-17
Additions to the primary modules.
Added the khorosjx.spaces.get_permitted_content_types()
function.
Added the internal khorosjx.spaces._verify_browse_id()
function.
Added the khorosjx.spaces.get_space_permissions()
function.
Added the internal khorosjx.spaces.__get_unique_permission_fields()
function.
Added the internal khorosjx.spaces.__generate_permissions_dataframe()
function.
Additions to the supporting modules.
Added the khorosjx.errors.handlers.check_json_for_error()
function.
Added the khorosjx.errors.exceptions.NotFoundResponseError
exception class.
Added the khorosjx.errors.exceptions.SpaceNotFoundError
exception class.
Addition to the documentation in this release.
Added a Roadmap page to list upcoming enhancements and changes.
Changes to the primary modules.
Updated the khorosjx.init_module()
function to allow the all
string to be passed which
imports all modules.
Changes to the supporting modules.
Added the optional column_names
keyword argument in the
khorosjx.utils.core_utils.convert_dict_list_to_dataframe()
function.
Changes to the documentation in this release.
Fixes to the primary modules.
Removed helper
from __all__
in the Init Module (khorosjx).
Fixed how to query URL was generated in the khorosjx.core.get_api_info()
function.
Fixed a docstring error in the khorosjx.core.put_request_with_retries()
function.
Fixed a minor docstring error in khorosjx.groups.add_user_to_group()
function.
Fixed a docstring error in the khorosjx.users.get_people_followed()
function.
Added the missing verify_core_connection()
function call in khorosjx.users.get_recent_logins()
function. (See Issue #1)
Fixes to the supporting modules.
Removed the **kwargs
argument in the super()
call within all custom exceptions.
Fixes in the documentation in this release.
Fixed minor typos in the README.md file.
Fixed a minor typo in the khorosjx.utils.core_utils.convert_dict_list_to_dataframe()
function docstring.
Release Date: 2019-12-05
Additions to the primary modules.
Added to the datasets
dictionary and a “field not found” error message in the
khorosjx.core.get_fields_from_api_response()
function.
Added the khorosjx.content.get_document_info()
function.
Added the khorosjx.content.get_document_attachments()
function.
Added the internal khorosjx.content.__convert_lookup_value()
function.
Added the internal khorosjx.content.__trim_attachments_info()
function.
Added the khorosjx.spaces.get_space_info()
function.
Added the khorosjx.spaces.get_place_id()
and khorosjx.spaces.get_browse_id()
functions.
Added the internal khorosjx.users.__validate_lookup_type()
function.
Additions to the supporting modules.
Added the place_fields
and document_fields
lists to the khorosjx.utils.classes.FieldLists
class.
Added the khorosjx.errors.exceptions.LookupMismatchError
exception class.
Added the khorosjx.errors.exceptions.CurrentlyUnsupportedError
exception class.
Added the section on how to Obtain the primary email address within the Managing Users page now that the function is available.
Updated the khorosjx.users.get_user_id()
and khorosjx.users.get_username()
functions to leverage
the internal khorosjx.users.__validate_lookup_type()
function.
Updated the khorosjx.users.get_user_id()
function to confirm that an email address was provided if the
‘email’ lookup type is supplied.
Updated the header block docstring at the top of the khorosjx.spaces()
module.
Updated the header block docstring at the top of the khorosjx.errors.exceptions()
module.
Fixed a variable name error in the khorosjx.users.get_username()
function.
Release Date: 2019-11-30
Additions to the primary modules.
Added the khorosjx.core.get_paginated_results()
function.
Added docstrings to the khorosjx.core.get_fields_from_api_response()
function.
Added the khorosjx.groups.get_group_memberships()
function.
Additions to the supporting modules.
Added the khorosjx.utils.core_utils.add_to_master_list()
function.
Added the khorosjx.utils.core_utils.convert_single_pair_dict_list()
function.
Added docstrings to the khorosjx.utils.core_utils.convert_dict_list_to_dataframe()
function.
Added the new khorosjx.utils.classes.Groups
class which contains the membership_types
and user_type_mapping
dictionaries.
Added the people_fields
list to the khorosjx.utils.classes.FieldLists
class.
Changes in the supporting modules.
Added a TODO
note to move the khorosjx.utils.core_utils.eprint()
function to
the khorosjx.errors.handlers
module.
Changed the structure of the changelog to be more concise. (i.e. less sub-sections)
Changed the Development Status classifier from Alpha
to Beta
in the
setup.py file.
Removals in the primary modules.
Removed the nested add_to_master_list()
function from within the
khorosjx.groups.get_all_groups()
function.
Release Date: 2019-11-27
Additions to the primary modules.
Added the init_helper()
function to the Init Module (khorosjx)
to initialize a helper configuration file.
Additions to the supporting modules.
Added the new Helper Module (khorosjx.utils.helper) which allows a “helper” configuration file to be imported and parsed to facilitate the use of the library (e.g. defining the base URL and API credentials) and defining additional settings.
Added the khorosjx.errors.exceptions.InvalidHelperArgumentsError
exception class.
Added the khorosjx.errors.exceptions.HelperFunctionNotFoundError
exception class.
Added a new examples directory containing the khorosjx_helper.yml file which demonstrates how the helper configuration file should be formatted.
Added the Using the Helper Utility page to address the new Helper Utility that was introduced.
Added the Helper Module (khorosjx.utils.helper) to the Supporting Modules page.
Added a “See Also” section mentioning the Helper Utility on the Core Functionality page.
Release Date: 2019-11-24
Additions to the primary modules.
Added the khorosjx.core.__api_request_with_payload()
function to leverage for both POST and PUT requests.
Added the khorosjx.core.post_request_with_retries()
function for POST requests, which leverages the
private function above.
Added the khorosjx.groups.add_user_to_group()
function.
Added the khorosjx.groups.check_user_membership()
function.
Additions to the supporting modules.
Added the khorosjx.utils.core_utils.eprint()
function to print error messages to stderr and onscreen.
Added the khorosjx.errors.exceptions.POSTRequestError
,
khorosjx.errors.exceptions.InvalidScopeError
, khorosjx.errors.exceptions.InvalidLookupTypeError
,
khorosjx.errors.exceptions.InvalidEndpointError
,
khorosjx.errors.exceptions.InvalidRequestTypeError
and
khorosjx.errors.exceptions.APIConnectionError
exception classes.
Added the Core Functionality page with instructions on leveraging the core functionality of the library. (Page is still a work in progress)
Added the Managing Users page with instructions on managing users by leveraging the library. (Page is still a work in progress)
Added the Basic Usage page with the intent of inserting it into more than one page.
Updated the classifiers in setup.py to specifically reference Python 3.6, 3.7 and 3.8.
Changes to existing functions in the primary modules.
Updated the khorosjx.core.get_data()
function to accept username
as an identifier for the
people
endpoint.
Updated the khorosjx.core.get_request_with_retries()
function to include the return_json
optional
argument. (Disabled by default)
Refactored the khorosjx.core.put_request_with_retries()
function to leverage
the khorosjx.core.__api_request_with_payload()
function.
Updated the khorosjx.users.get_user_id()
function to accept a username as well as an email address.
Changes to existing functions in the supporting modules.
Expanded the functionality of the khorosjx.errors.handlers.check_api_response()
function.
Updated the Introduction page to insert the Basic Usage content.
Added the Basic Usage page with the intent of inserting it into more than one page.
Release Date: 2019-11-23
Added default messages to all of the exception classes in the Exceptions Module (khorosjx.errors.exceptions).
Added docstrings to the khorosjx.content.overwrite_doc_body()
function.
Updated the build workflow (pythonpackage.yml) to also test Python 3.8 for compatibility.
Changed the structure of the change log to match the best practices from keepachangelog.com.
Made minor PEP8 compliance edits to the Classes Module (khorosjx.utils.classes).
The khorosjx.errors.raise_exceptions()
function is no longer necessary as the exception classes now have
default messages and it has been removed from the khorosjx.errors
module
(__init__.py) and the
Handlers Module (khorosjx.errors.handlers).
Removed the khorosjx.errors.exceptions.ExceptionMapping
and
khorosjx.errors.exceptions.ExceptionGrouping
classes as they are no longer used.
Release Date: 2019-11-22
Additions to the primary modules.
Added the khorosjx.core.put_request_with_retries()
function.
Added the ignore_exceptions
parameter in the khorosjx.core.get_data()
function and replaced the
built-in ValueError exception with the
custom khorosjx.errors.exceptions.GETRequestError
exception class.
Added the khorosjx.core.get_fields_from_api_response()
function.
Added the khorosjx.content.overwrite_doc_body()
function.
Added the khorosjx.groups.get_user_memberships()
function.
Added the khorosjx.groups.get_group_info()
function.
Added the khorosjx.groups.get_all_groups()
function.
Added the khorosjx.users.get_recent_logins()
function.
Additions to the supporting modules.
Added the khorosjx.utils.core_utils.convert_dict_list_to_dataframe()
function.
Added the khorosjx.errors.exceptions.ContentPublishError
,
khorosjx.errors.exceptions.BadCredentialsError
, khorosjx.errors.exceptions.GETRequestError
and khorosjx.errors.exceptions.PUTRequestError
exception classes.
Added the new Handlers Module (khorosjx.errors.handlers) which includes a new
khorosjx.errors.handlers.check_api_response()
function.
Created the new Tests Module (khorosjx.utils.tests) for unit tests to leverage with pytest.
Updated the Supporting Modules documentation page to reference the new modules.
Reformatted the Change Log documentation page to follow the Sphinx Style Guide.
The raise_exception()
function in the khorosjx.errors
module now displays a DeprecationWarning
as it has
been moved into the new Handlers Module (khorosjx.errors.handlers).
Added a PendingDeprecationWarning
warning on the khorosjx.errors.handlers.raise_exception()
function as
it will be deprecated in a future release. (See v1.1.1)
Added the khorosjx.core.verify_connection()
function call to the khorosjx.core.get_data()
function.
Release Date: 2019-11-19
Created a new Introduction page with the existing home page content and added a Navigation (i.e. Table of Contents) to the home page.
Changed all auxilliary modules references to be supporting modules instead.
Added a Reporting Issues section to the Introduction page and to the README file.
Release Date: 2019-11-19
Removed the version from the individual module header blocks as all will adhere to the primary versioning.
Added missing from . import core
in the khorosjx.admin
, khorosjx.groups
and khorosjx.spaces
modules.