from apollo_notifications.config import RequiredAnnotations class ChartsConfig(RequiredAnnotations): """Base charts configuration class. Attributes: VENDOR: str vendor name, one of available VendorEnum options. TOPIC: str topic name to send messages for. PUSH_SEARCH_MODE: str mode of checking push messages existence by identifying parameters set, one of available PushSearchMode options. """ VENDOR: str TOPIC: str PUSH_SEARCH_MODE: str = "HISTORICAL" class ChartsSchemaConfig(RequiredAnnotations): """Configuration for (charts track object to push messages object) serialization schema. Attributes: VENDOR: str vendor name, one of available VendorEnum options. TOPIC: str topic name to send messages for. MESSAGE_TEMPLATE: str message template to format with individual track parameters. PUSH_TARGET: str push target to send messages for. TITLE: str push message title. """ VENDOR: str TOPIC: str MESSAGE_TEMPLATE: str PUSH_TARGET: str TITLE: str class MovesSchemaConfig(ChartsSchemaConfig): """Configuration for (major moves track object to push messages object) serialization schema. Attributes: SIGNIFICANT_DROP_TEMPLATE: str message template for tracks with moves >= 0 to format with individual track parameters. """ SIGNIFICANT_DROP_TEMPLATE: str