Appearance
module : sdk.storage_provider.service_metadata
Link to GitHub
Entities:
- AssetType
- MPEServiceMetadata
- __init__
- set_simple_field
- set_fixed_price_in_cogs
- set_method_price_in_cogs
- add_group
- remove_group
- get_tags
- add_tag
- remove_tag
- add_asset
- remove_all_assets
- remove_asset
- add_endpoint_to_group
- remove_all_endpoints_for_group
- is_group_name_exists
- get_group_by_group_id
- set_free_calls_for_group
- set_freecall_signer_address
- get_json
- get_json_pretty
- set_from_json
- load
- save_pretty
- __getitem__
- __contains__
- get
- get_group_name_nonetrick
- get_group
- get_group_id_base64
- get_group_id
- get_payment_address
- add_daemon_address_to_group
- remove_all_daemon_addresses_for_group
- get_all_endpoints_for_group
- get_all_group_endpoints
- get_all_endpoints_with_group_name
- get_endpoints_for_group
- add_contributor
- remove_contributor_by_email
- group_init
- add_media
- remove_media
- remove_all_media
- swap_media_order
- change_media_order
- _is_asset_type_exists
- add_description
- load_mpe_service_metadata
- mpe_service_metadata_from_json
Class AssetType
extends: Enum
is extended by: -
description
This is an enum
that represents the type of asset in the service metadata.
members
HERO_IMAGE
(str): The hero image asset type. Equals to "hero_image".IMAGES
(str): The images asset type. Equals to "images".DOCUMENTATION
(str): The documentation asset type. Equals to "documentation".TERMS_OF_USE
(str): The terms of use asset type. Equals to "terms_of_use".
methods
is_single_value
Static method. Checks if the asset type is a single value (HERO_IMAGE
, DOCUMENTATION
or TERMS_OF_USE
).
args:
asset_type
(str): The asset type to check.
returns:
True
if the asset type is a single value,False
otherwise. (bool)
Class MPEServiceMetadata
extends: -
is extended by: -
description
This class represents the service metadata.
attributes
m
(dict): A dictionary that contains all the service metadata fields.
methods
__init__
Initializes a new instance of the class. Initializes the m
dict with empty of default values.
returns:
- None
set_simple_field
Sets a new value for a specified field in the m
dict. Supported fields are: display_name
, encoding
, model_ipfs_hash
, mpe_address
, service_type
, payment_expiration_threshold
, service_description
. If the field is not supported, an exception is raised.
args:
f
(str): The field name to set.v
(Any): The value to set.
returns:
- None
raises:
Exception
: If the field name is unknown.
set_fixed_price_in_cogs
Sets a new value for the fixed_price
field in the specified payment group.
args:
group_name
(str): The name of the payment group.price
(int): The new value for thefixed_price
field.
returns:
- None
raises:
Exception
: If the payment group with the specified name is not found.
set_method_price_in_cogs
Sets the price for a specific method in a service within a payment group. It checks if the group exists, then updates the pricing details accordingly. If the pricing model or service does not exist, it creates a new one.
args:
group_name
(str): The name of the payment group.package_name
(str): The name of the package.service_name
(str): The name of the service.method
(str): The name of the method.price
(int): The new price for the method.
returns:
- None
raises:
Exception
: If the payment group with the specified name is not found.
add_group
Adds a new payment group to the m
dict.
args:
group_name
(str): The name of the new payment group.
returns:
- None
raises:
Exception
: If the payment group with the specified name already exists.
remove_group
Removes a payment group from the m
dict.
args:
group_name
(str): The name of the payment group to remove.
returns:
- None
get_tags
Returns the list of tags from the m
dict. If the tags
field does not exist, an empty list is returned.
returns:
- The list of tags. (list[str])
add_tag
Adds a new tag to the tags
field in the m
dict. If the tag already exists, it is not added again.
args:
tag_name
(str): The name of the new tag.
returns:
- None
remove_tag
Removes a tag from the tags
field in the m
dict. If the tag does not exist, nothing happens.
args:
tag_name
(str): The name of the tag to remove.
returns:
- None
add_asset
Adds a new asset to the assets
field in the m
dict. If the asset already exists, it is not added again.
args:
asset_ipfs_hash
(str): The IPFS hash of the asset.asset_type
(str): The type of the asset.
returns:
- None
raises:
Exception
: If the asset type is not supported.
remove_all_assets
Removes all assets from the assets
field in the m
dict.
returns:
- None
remove_asset
Removes an asset from the assets
field in the m
dict. If the asset does not exist, nothing happens. If the asset type is not supported, an exception is raised.
args:
asste_type
(str): The type of the asset to remove.
returns:
- None
raises:
Exception
: If the asset type is not supported.
add_endpoint_to_group
Checks the endpoint is valid and adds it to the endpoints
field of the specified payment group in the m
dict. If the endpoint is not valid of if the group does not exist or if the endpoint is already present, an exception is raised.
args:
group_name
(str): The name of the payment group.endpoint
(str): The new endpoint to add.
returns:
- None
raises:
Exception
: If the payment group with the specified name is not found, if the endpoint is not valid, or if the endpoint is already present.
remove_all_endpoints_from_group
Removes all endpoints from the endpoints
field of the specified payment group in the m
dict. If the group does not exist, an exception is raised.
args:
group_name
(str): The name of the payment group.
returns:
- None
raises:
Exception
: If the payment group with the specified name is not found.
is_group_name_exists
Checks if the payment group with the specified name exists in the m
dict.
args:
group_name
(str): The name of the payment group.
returns:
- True if the payment group exists, False otherwise. (bool)
get_group_by_group_id
Returns group with given group id (returns None if it doesn't exist).
args:
group_id
(str): The id of the payment group.
returns:
- The group with the given id. (dict[str, Any] | None)
set_free_calls_for_group
Sets the free_calls
field of the specified payment group in the m
dict, if the group exists.
args:
group_name
(str): The name of the payment group.free_calls
(int): The new value for thefree_calls
field - amount of free calls.
returns:
- None
set_freecall_signer_address
Sets the freecall_signer_address
field of the specified payment group in the m
dict, if the group exists.
args:
group_name
(str): The name of the payment group.freecall_signer_address
(str): The new value for thefreecall_signer_address
field.
returns:
- None
get_json
Returns the JSON representation of the m
dict.
returns:
- The JSON representation of the
m
dict. (str)
get_json_pretty
Returns the pretty-printed JSON representation of the m
dict.
returns:
- The pretty-printed JSON representation of the
m
dict. (str)
set_from_json
Sets the m
dict from the service metadata JSON representation.
args:
j
(str): The service metadata JSON representation.
returns:
- None
load
Loads the service metadata from the specified file and sets it in the m
dict.
args:
file_name
(str): The name of the file containing the service metadata.
returns:
- None
save_pretty
Saves the pretty-printed JSON representation of the m
dict to the specified file.
args:
file_name
(str): The name of the file to save.
returns:
- None
__getitem__
Overrides the __getitem__
Python special method. Returns the value associated with the given key from the m
dict.
args:
key
(str): The name of the field.
returns:
- The value associated with the given key. (Any)
__contains__
Overrides the __contains__
Python special method.
args:
key
(str): The name of the field.
returns:
- True if the key is in the
m
dict, False otherwise. (bool)
get
Returns the value associated with the given key from the m
dict or the default value if the key is not found.
args:
key
(str): The name of the field.default
(Any): The default value to return if the key is not found. Defaults to None.
returns:
- The value associated with the given key. (Any)
get_group_name_nonetrick
Returns a group name from metadata. If no group name is provided (group_name=None), it checks if there's only one group in the metadata and returns its name. If there are multiple groups, it raises an exception, requiring a specific group name to be provided. If a group name is provided, it simply returns that name.
args:
group_name
(str): The name of the payment group. Defaults to None.
returns:
- The name of the payment group. (str)
raises:
Exception
: If there are no groups in the metadata or if there are multiple groups in the metadata and no group name is provided.
get_group
Retrieves a group from metadata by its name. If no name is provided, it uses get_group_name_nonetrick
to determine the name. Searches for a matching group in the metadata and returns it. If no matching group is found, raises an exception.
args:
group_name
(str): The name of the payment group. Defaults to None.
returns:
- The payment group. (dict[str, Any])
raises:
Exception
: If no group with the specified name is found in them
dict.
get_group_id_base64
Returns the group id base64 encoded.
args:
group_name
(str): The name of the payment group. Defaults to None.
returns:
- The group id base64 encoded. (str)
get_group_id
Returns the group id as bytes from m
dict.
args:
group_name
(str): The name of the payment group. Defaults to None.
returns:
- The group id. (bytes)
get_payment_address
Returns the payment address of the group from m
dict.
args:
group_name
(str): The name of the payment group. Defaults to None.
returns:
- The payment address. (str)
add_daemon_address_to_group
Adds a daemon address to the daemon_addresses
field of the specified payment group in the m
dict.
args:
group_name
(str): The name of the payment group.daemon_address
(str): The new daemon address to add.
returns:
- None
raises:
Exception
: If the payment group with the specified name does not exist.
remove_all_daemon_addresses_for_group
Removes all daemon addresses from the daemon_addresses
field of the specified payment group in the m
dict.
args:
group_name
(str): The name of the payment group.
returns:
- None
raises:
Exception
: If the payment group with the specified name does not exist.
get_all_endpoints_for_group
Returns all endpoints from the endpoints
field of the specified payment group in the m
dict.
args:
group_name
(str): The name of the payment group.
returns:
- The list of endpoints. (list[str])
get_all_group_endpoints
Returns all endpoints from the endpoints
of all payment groups in the m
dict.
returns:
- The list of endpoints. (list[str])
get_all_endpoints_with_group_name
Returns all endpoints from the endpoints
for all payment groups in the m
dict as dict with the group name as key and the list of endpoints as value.
returns:
- Group names with lists of endpoints. (dict[str, list[str]])
get_endpoints_for_group
Returns a list of endpoints that belong to a specific payment group. If no group name is provided, it will use the default group name (if only one group exists).
args:
group_name
(str): The name of the payment group. Defaults to None.
returns:
- The list of endpoints. (list[str])
add_contributor
Adds a contributor to the contributors
field of the m
dict.
args:
name
(str): The name of the contributor.email_id
(str): The email id of the contributor.
returns:
- None
remove_contributor_by_email
Removes contributors with the specified email from the contributors
field of the m
dict.
args:
email_id
(str): The email id of the contributor.
returns:
- None
group_init
Initializes a new payment group in the m
dict. Prompts the user to enter several fields, such as fixed price, endpoints, etc.
args:
group_name
(str): The name of the payment group.
returns:
- None
raises:
Exception
: If user enters same endpoints.ValueError
: If user enters non-integer fixed price.
add_media
Adds a new media to the media
field of the m
dict.
args:
url
(str): The url of the media.media_type
(str): The type of the media.hero_img
(bool): Whether the media is a hero image. Defaults to False.
returns:
- None
remove_media
Removes an individual media from the media
field of the m
dict using unique order key.
args:
order
(int): The order of the media.
returns:
- None
raises:
Exception
: If the media with the specified order does not exist.
remove_all_media
Removes all individual media from the media
field of the m
dict.
returns:
- None
swap_media_order
Swap orders of two different media given their individual orders.
args:
move_from
(int): The order of the first media to be moved.move_to
(int): The order of the second media to be moved.
returns:
- None
raises:
Exception
: If at least one of the media with the specified orders does not exist.
change_media_order
Mini REPL to change order of all individual media
returns:
- None
_is_asset_type_exists
Returns whether the asset type exists in the media field of the m
dict.
returns:
- True if the asset type exists, False otherwise. (bool)
add_description
Adds a new description to the description
field of the m
dict. Prompts the user to enter user guide url, service long description and service short description.
returns:
- None
Function load_mpe_service_metadata
Loads the service metadata from the JSON file to MPEServiceMetadata
object.
args:
f
(str): The name of the file containing the service metadata as JSON.
returns:
- The service metadata. (MPEServiceMetadata)
Function mpe_service_metadata_from_json
Loads the service metadata from the JSON string to MPEServiceMetadata
object.
args:
j
(str): The service metadata JSON representation.
returns:
- The service metadata. (MPEServiceMetadata)