bgmi3.protocol.backend

Abstract Base Classes for Backend

class bgmi3.protocol.backend.Base(config: dict)[源代码]

base class for backend

version: str = <bgmi3.helper.abstract.AbstractAttribute object>[源代码]

class attribute for attribute version

__init__(config: dict)[源代码]

Initialize self. See help(type(self)) for accurate signature.

abstract classmethod install(config: dict)None[源代码]

install backend, like create tables, only will be called after Backend change

参数

config -- backend config

abstract add_subscription(sub: bgmi3.core.subscription.Subscription)None[源代码]

save a subscription to backend

参数

sub -- subscription name

abstract remove_subscription(sub: bgmi3.core.subscription.Subscription)None[源代码]

remove a subscription from backend

do nothing when record doesn't exist

参数

sub -- subscription name

abstract get_subscription(sub_name: str)bgmi3.core.subscription.Subscription[源代码]

get a subscription from backend

参数

sub_name -- subscription name

返回

Subscription matched

引发

bgmi3.exc.SubscriptionNotFollowed -- Subscription not found

abstract save_subscription(sub: bgmi3.core.subscription.Subscription)None[源代码]

save or create subscription and it's series to backend

if subscription is not dirty, do nothing

参数

sub -- subscription to save

abstract get_all_subscription(filters: Optional[Dict[str, Any]] = None)List[bgmi3.core.subscription.Subscription][源代码]

get a subscription from backend

参数

filters -- filter when getting all subscription

返回

Subscription matched

引发

bgmi3.exc.SubscriptionNotFollowed -- Subscription not found

abstract get_series(source_id: str, name: str)bgmi3.core.series.Series[源代码]

get a series from backend

参数
  • source_id -- source id

  • name -- series name

返回

Series matched

引发

bgmi3.exc.SeriesNotFollowed -- Series not found