Subscribers

Resource

Methods

Subscriber.__init__(manager, data)

Resource initializer.

Parameters
  • manager – The manager this resource belongs to

  • data – The raw json data

Subscriber.update()

Posts the values in the resource to the server.

Example:

# Change an attribute and save the resource
>> resource.value = something
>> updated_resource = resource.update()
Returns

The updated resource from the server

Return type

Resource

Subscriber.get(name) → Any

Safely obtain any attribute name for the resource

Parameters

name (str) – Key name in json response

Returns

Value from the raw json response. If the key doesn’t exist None is returned.

Subscriber.delete() → None

Deletes the resource from the server.

Raises

HTTPException if the resource don't exist.

Attributes

Subscriber.attrs

The raw json response from the server

Type

dict

Subscriber.id

Resource ID

Type

int

Subscriber.email

email address

Type

str

Subscriber.verify_code

Auto generated unique verify code

Type

str

Subscriber.is_global

Is the user subscribed to all components?

Type

bool

Subscriber.created_at

When the subscription was created

Type

datetime

Subscriber.updated_at

Last time the subscription was updated

Type

datetime

Subscriber.verified_at

When the subscription was verified. None if not verified

Type

datetime

Manager

Methods

SubscriberManager.__init__(http_client: cachetclient.httpclient.HttpClient)

Manager initializer.

Parameters

http_client – The httpclient

SubscriberManager.create(*, email: str, components: List[int] = None, verify: bool = True) → cachetclient.v1.subscribers.Subscriber

Create a subscriber. If a subscriber already exists the existing one will be returned. Note that this endoint cannot be used to edit the user.

Keyword Arguments
  • email (str) – Email address to subscribe

  • components (List[int]) – The components to subscribe to. If omitted all components are subscribed.

  • verify (bool) – Verification status. If False a verification email is sent to the user

Returns

Subscriber instance

SubscriberManager.list(page: int = 1, per_page: int = 20) → Generator[cachetclient.v1.subscribers.Subscriber, None, None]

List all subscribers

Keyword Arguments
  • page (int) – The page to start listing

  • per_page – Number of entries per page

Returns

Generator of Subscriber instances

SubscriberManager.delete(subscriber_id: int) → None

Delete a specific subscriber id

Parameters

subscriber_id (int) – Subscriber id to delete

Raises

requests.exceptions.HttpError – if subscriber do not exist

SubscriberManager.count() → int

Count the total number of subscribers

Returns

Number of subscribers

Return type

int

SubscriberManager.instance_from_dict(data: dict) → cachetclient.base.Resource

Creates a resource instance from a dictionary.

This doesn’t hit any endpoints in cachet, but rather enables us to create a resource class instance from dictionary data. This can be useful when caching data from cachet in memcache or databases.

Parameters

data (dict) – dictionary containing the instance data

Returns

The resource class instance

Return type

Resource

SubscriberManager.instance_from_json(data: str) → cachetclient.base.Resource

Creates a resource instance from a json string.

This doesn’t hit any endpoints in cachet, but rather enables us to create a resource class instance from json data. This can be useful when caching data from cachet in memcache or databases.

Parameters

data (str) – json string containing the instance data

Returns

The resource class instance

Return type

Resource

SubscriberManager.instance_list_from_json(data: str) → List[cachetclient.base.Resource]

Creates a resource instance list from a json string.

This doesn’t hit any endpoints in cachet, but rather enables us to create a resource class instances from json data. This can be useful when caching data from cachet in memcache or databases.

Parameters

data (str) – json string containing the instance data

Returns

The resource class instance

Return type

Resource

Raises

ValueError – if json data do not deserialize into a list

Attributes

SubscriberManager.path = 'subscribers'
SubscriberManager.resource_class = <class 'cachetclient.v1.subscribers.Subscriber'>