Stream references

Managers

class whalesong.managers.stream.StreamManager(driver, manager_path='')

Bases: whalesong.managers.BaseModelManager

Parameters:
__getitem__(name)

Get a submanager.

Parameters:name (str) – Field where submanager was stored.
Return type:BaseManager
__getattr__(name)

Get a submanager.

Parameters:name (str) – Field where submanager was stored.
Return type:BaseManager
add_submanager(name, submanager)

Add a submanager.

Parameters:
  • name (str) – Field where manager will be stored.
  • submanager (BaseManager) – Submanager
get_commands()

Get manager available static commands.

Return type:Result[List[str]]
Returns:Manager static commands.
get_field_monitor_result_class(field)
Return type:MonitorResult[Dict[str, Any]]
get_model()

Get model object

Return type:Result[+MODEL_TYPE]
Returns:Model object
get_model_result_class()
Return type:Result[+MODEL_TYPE]
get_monitor_result_class()
Return type:MonitorResult[+MODEL_TYPE]
get_submanager(name)

Get a submanager.

Parameters:name (str) – Field where submanager was stored.
Return type:BaseManager
map_model(data)
Return type:+MODEL_TYPE
monitor_field(field)

Monitor any change on a model’s field.

Parameters:field (str) – Field to monitor.
Return type:MonitorResult[Dict[str, Any]]
Returns:Model monitor
monitor_model()

Monitor any change on model.

Return type:MonitorResult[+MODEL_TYPE]
Returns:Model monitor
remove_submanager(name)

Remove a submanager.

Parameters:name (str) – Field where submanager was stored.
Return type:Result[~T]
MODEL_CLASS

alias of Stream

poke()

Refresh ref field. It is used to refresh QR image when it expires.

Return type:Result[None]
takeover()

Refresh login. It is used to take session again when other browser has been started session.

Return type:Result[None]
logout()

Logs out of currently logged in session

Return type:Result[None]

Models

Model whalesong.managers.stream.Stream(data=None, flat=False, *args, **kwargs)

Bases: whalesong.models.BaseModel

Connection stream model.

class State

Bases: enum.Enum

Connection states.

OPENING = 'OPENING'

Opening stream.

PAIRING = 'PAIRING'

Pairing WhatsappWeb with a phone.

UNPAIRED = 'UNPAIRED'

Unpaired WhatsappWeb with a phone. QR is available.

UNPAIRED_IDLE = 'UNPAIRED_IDLE'

Unpaired WhatsappWeb with a phone. QR is not available.

CONNECTED = 'CONNECTED'

WhatsappWeb is connected to a phone.

TIMEOUT = 'TIMEOUT'

WhatsappWeb connection to a phone is timeout.

CONFLICT = 'CONFLICT'

Other browser has initiated WhatsappWeb with same phone.

UNLAUNCHED = 'UNLAUNCHED'

WhatsappWeb application has not been launched.

PROXYBLOCK = 'PROXYBLOCK'

Proxy is blocking connection.

TOS_BLOCK = 'TOS_BLOCK'

¿?

SMB_TOS_BLOCK = 'SMB_TOS_BLOCK'

¿?

class Stream

Bases: enum.Enum

An enumeration.

DISCONNECTED = 'DISCONNECTED'

Stream disconnected.

SYNCING = 'SYNCING'

Synchronizing data with phone.

RESUMING = 'RESUMING'

Resuming connection with phone.

CONNECTED = 'CONNECTED'

Connected to phone.

property id: str [READ ONLY]

StringIdField field [READ ONLY]

property backoffGeneration: int

IntegerField field

Aliases:
  • backoff_generation
property canSend: bool

BooleanField field

Aliases:
  • can_send
property hasSynced: bool

BooleanField field

Aliases:
  • has_synced
property isIncognito: bool

BooleanField field

Aliases:
  • is_incognito
property retryTimestamp: datetime

DateTimeField field

Aliases:
  • retry_timestamp
property syncTag: str

StringIdField field

Aliases:
  • sync_tag
launch_generation = None

¿?

property launched: bool

Whether it has been launched.

property state: State

Current stream connection state.

property stream: Stream

Current stream state