You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
221 lines
5.6 KiB
Python
221 lines
5.6 KiB
Python
# DO NOT EDIT THIS FILE!
|
|
#
|
|
# This file is generated from the CDP specification. If you need to make
|
|
# changes, edit the generator and regenerate all of the modules.
|
|
#
|
|
# CDP domain: DOMStorage (experimental)
|
|
from __future__ import annotations
|
|
from .util import event_class, T_JSON_DICT
|
|
from dataclasses import dataclass
|
|
import enum
|
|
import typing
|
|
|
|
class SerializedStorageKey(str):
|
|
def to_json(self) -> str:
|
|
return self
|
|
|
|
@classmethod
|
|
def from_json(cls, json: str) -> SerializedStorageKey:
|
|
return cls(json)
|
|
|
|
def __repr__(self):
|
|
return 'SerializedStorageKey({})'.format(super().__repr__())
|
|
|
|
|
|
@dataclass
|
|
class StorageId:
|
|
'''
|
|
DOM Storage identifier.
|
|
'''
|
|
#: Whether the storage is local storage (not session storage).
|
|
is_local_storage: bool
|
|
|
|
#: Security origin for the storage.
|
|
security_origin: typing.Optional[str] = None
|
|
|
|
#: Represents a key by which DOM Storage keys its CachedStorageAreas
|
|
storage_key: typing.Optional[SerializedStorageKey] = None
|
|
|
|
def to_json(self):
|
|
json = dict()
|
|
json['isLocalStorage'] = self.is_local_storage
|
|
if self.security_origin is not None:
|
|
json['securityOrigin'] = self.security_origin
|
|
if self.storage_key is not None:
|
|
json['storageKey'] = self.storage_key.to_json()
|
|
return json
|
|
|
|
@classmethod
|
|
def from_json(cls, json):
|
|
return cls(
|
|
is_local_storage=bool(json['isLocalStorage']),
|
|
security_origin=str(json['securityOrigin']) if 'securityOrigin' in json else None,
|
|
storage_key=SerializedStorageKey.from_json(json['storageKey']) if 'storageKey' in json else None,
|
|
)
|
|
|
|
|
|
class Item(list):
|
|
'''
|
|
DOM Storage item.
|
|
'''
|
|
def to_json(self) -> typing.List[str]:
|
|
return self
|
|
|
|
@classmethod
|
|
def from_json(cls, json: typing.List[str]) -> Item:
|
|
return cls(json)
|
|
|
|
def __repr__(self):
|
|
return 'Item({})'.format(super().__repr__())
|
|
|
|
|
|
def clear(
|
|
storage_id: StorageId
|
|
) -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
|
|
'''
|
|
:param storage_id:
|
|
'''
|
|
params: T_JSON_DICT = dict()
|
|
params['storageId'] = storage_id.to_json()
|
|
cmd_dict: T_JSON_DICT = {
|
|
'method': 'DOMStorage.clear',
|
|
'params': params,
|
|
}
|
|
json = yield cmd_dict
|
|
|
|
|
|
def disable() -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
|
|
'''
|
|
Disables storage tracking, prevents storage events from being sent to the client.
|
|
'''
|
|
cmd_dict: T_JSON_DICT = {
|
|
'method': 'DOMStorage.disable',
|
|
}
|
|
json = yield cmd_dict
|
|
|
|
|
|
def enable() -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
|
|
'''
|
|
Enables storage tracking, storage events will now be delivered to the client.
|
|
'''
|
|
cmd_dict: T_JSON_DICT = {
|
|
'method': 'DOMStorage.enable',
|
|
}
|
|
json = yield cmd_dict
|
|
|
|
|
|
def get_dom_storage_items(
|
|
storage_id: StorageId
|
|
) -> typing.Generator[T_JSON_DICT,T_JSON_DICT,typing.List[Item]]:
|
|
'''
|
|
:param storage_id:
|
|
:returns:
|
|
'''
|
|
params: T_JSON_DICT = dict()
|
|
params['storageId'] = storage_id.to_json()
|
|
cmd_dict: T_JSON_DICT = {
|
|
'method': 'DOMStorage.getDOMStorageItems',
|
|
'params': params,
|
|
}
|
|
json = yield cmd_dict
|
|
return [Item.from_json(i) for i in json['entries']]
|
|
|
|
|
|
def remove_dom_storage_item(
|
|
storage_id: StorageId,
|
|
key: str
|
|
) -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
|
|
'''
|
|
:param storage_id:
|
|
:param key:
|
|
'''
|
|
params: T_JSON_DICT = dict()
|
|
params['storageId'] = storage_id.to_json()
|
|
params['key'] = key
|
|
cmd_dict: T_JSON_DICT = {
|
|
'method': 'DOMStorage.removeDOMStorageItem',
|
|
'params': params,
|
|
}
|
|
json = yield cmd_dict
|
|
|
|
|
|
def set_dom_storage_item(
|
|
storage_id: StorageId,
|
|
key: str,
|
|
value: str
|
|
) -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
|
|
'''
|
|
:param storage_id:
|
|
:param key:
|
|
:param value:
|
|
'''
|
|
params: T_JSON_DICT = dict()
|
|
params['storageId'] = storage_id.to_json()
|
|
params['key'] = key
|
|
params['value'] = value
|
|
cmd_dict: T_JSON_DICT = {
|
|
'method': 'DOMStorage.setDOMStorageItem',
|
|
'params': params,
|
|
}
|
|
json = yield cmd_dict
|
|
|
|
|
|
@event_class('DOMStorage.domStorageItemAdded')
|
|
@dataclass
|
|
class DomStorageItemAdded:
|
|
storage_id: StorageId
|
|
key: str
|
|
new_value: str
|
|
|
|
@classmethod
|
|
def from_json(cls, json: T_JSON_DICT) -> DomStorageItemAdded:
|
|
return cls(
|
|
storage_id=StorageId.from_json(json['storageId']),
|
|
key=str(json['key']),
|
|
new_value=str(json['newValue'])
|
|
)
|
|
|
|
|
|
@event_class('DOMStorage.domStorageItemRemoved')
|
|
@dataclass
|
|
class DomStorageItemRemoved:
|
|
storage_id: StorageId
|
|
key: str
|
|
|
|
@classmethod
|
|
def from_json(cls, json: T_JSON_DICT) -> DomStorageItemRemoved:
|
|
return cls(
|
|
storage_id=StorageId.from_json(json['storageId']),
|
|
key=str(json['key'])
|
|
)
|
|
|
|
|
|
@event_class('DOMStorage.domStorageItemUpdated')
|
|
@dataclass
|
|
class DomStorageItemUpdated:
|
|
storage_id: StorageId
|
|
key: str
|
|
old_value: str
|
|
new_value: str
|
|
|
|
@classmethod
|
|
def from_json(cls, json: T_JSON_DICT) -> DomStorageItemUpdated:
|
|
return cls(
|
|
storage_id=StorageId.from_json(json['storageId']),
|
|
key=str(json['key']),
|
|
old_value=str(json['oldValue']),
|
|
new_value=str(json['newValue'])
|
|
)
|
|
|
|
|
|
@event_class('DOMStorage.domStorageItemsCleared')
|
|
@dataclass
|
|
class DomStorageItemsCleared:
|
|
storage_id: StorageId
|
|
|
|
@classmethod
|
|
def from_json(cls, json: T_JSON_DICT) -> DomStorageItemsCleared:
|
|
return cls(
|
|
storage_id=StorageId.from_json(json['storageId'])
|
|
)
|