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.
206 lines
5.6 KiB
Python
206 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: ApplicationCache (experimental)
|
|
from __future__ import annotations
|
|
from .util import event_class, T_JSON_DICT
|
|
from dataclasses import dataclass
|
|
import enum
|
|
import typing
|
|
from . import page
|
|
|
|
|
|
@dataclass
|
|
class ApplicationCacheResource:
|
|
'''
|
|
Detailed application cache resource information.
|
|
'''
|
|
#: Resource url.
|
|
url: str
|
|
|
|
#: Resource size.
|
|
size: int
|
|
|
|
#: Resource type.
|
|
type_: str
|
|
|
|
def to_json(self):
|
|
json = dict()
|
|
json['url'] = self.url
|
|
json['size'] = self.size
|
|
json['type'] = self.type_
|
|
return json
|
|
|
|
@classmethod
|
|
def from_json(cls, json):
|
|
return cls(
|
|
url=str(json['url']),
|
|
size=int(json['size']),
|
|
type_=str(json['type']),
|
|
)
|
|
|
|
|
|
@dataclass
|
|
class ApplicationCache:
|
|
'''
|
|
Detailed application cache information.
|
|
'''
|
|
#: Manifest URL.
|
|
manifest_url: str
|
|
|
|
#: Application cache size.
|
|
size: float
|
|
|
|
#: Application cache creation time.
|
|
creation_time: float
|
|
|
|
#: Application cache update time.
|
|
update_time: float
|
|
|
|
#: Application cache resources.
|
|
resources: typing.List[ApplicationCacheResource]
|
|
|
|
def to_json(self):
|
|
json = dict()
|
|
json['manifestURL'] = self.manifest_url
|
|
json['size'] = self.size
|
|
json['creationTime'] = self.creation_time
|
|
json['updateTime'] = self.update_time
|
|
json['resources'] = [i.to_json() for i in self.resources]
|
|
return json
|
|
|
|
@classmethod
|
|
def from_json(cls, json):
|
|
return cls(
|
|
manifest_url=str(json['manifestURL']),
|
|
size=float(json['size']),
|
|
creation_time=float(json['creationTime']),
|
|
update_time=float(json['updateTime']),
|
|
resources=[ApplicationCacheResource.from_json(i) for i in json['resources']],
|
|
)
|
|
|
|
|
|
@dataclass
|
|
class FrameWithManifest:
|
|
'''
|
|
Frame identifier - manifest URL pair.
|
|
'''
|
|
#: Frame identifier.
|
|
frame_id: page.FrameId
|
|
|
|
#: Manifest URL.
|
|
manifest_url: str
|
|
|
|
#: Application cache status.
|
|
status: int
|
|
|
|
def to_json(self):
|
|
json = dict()
|
|
json['frameId'] = self.frame_id.to_json()
|
|
json['manifestURL'] = self.manifest_url
|
|
json['status'] = self.status
|
|
return json
|
|
|
|
@classmethod
|
|
def from_json(cls, json):
|
|
return cls(
|
|
frame_id=page.FrameId.from_json(json['frameId']),
|
|
manifest_url=str(json['manifestURL']),
|
|
status=int(json['status']),
|
|
)
|
|
|
|
|
|
def enable() -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
|
|
'''
|
|
Enables application cache domain notifications.
|
|
'''
|
|
cmd_dict: T_JSON_DICT = {
|
|
'method': 'ApplicationCache.enable',
|
|
}
|
|
json = yield cmd_dict
|
|
|
|
|
|
def get_application_cache_for_frame(
|
|
frame_id: page.FrameId
|
|
) -> typing.Generator[T_JSON_DICT,T_JSON_DICT,ApplicationCache]:
|
|
'''
|
|
Returns relevant application cache data for the document in given frame.
|
|
|
|
:param frame_id: Identifier of the frame containing document whose application cache is retrieved.
|
|
:returns: Relevant application cache data for the document in given frame.
|
|
'''
|
|
params: T_JSON_DICT = dict()
|
|
params['frameId'] = frame_id.to_json()
|
|
cmd_dict: T_JSON_DICT = {
|
|
'method': 'ApplicationCache.getApplicationCacheForFrame',
|
|
'params': params,
|
|
}
|
|
json = yield cmd_dict
|
|
return ApplicationCache.from_json(json['applicationCache'])
|
|
|
|
|
|
def get_frames_with_manifests() -> typing.Generator[T_JSON_DICT,T_JSON_DICT,typing.List[FrameWithManifest]]:
|
|
'''
|
|
Returns array of frame identifiers with manifest urls for each frame containing a document
|
|
associated with some application cache.
|
|
|
|
:returns: Array of frame identifiers with manifest urls for each frame containing a document associated with some application cache.
|
|
'''
|
|
cmd_dict: T_JSON_DICT = {
|
|
'method': 'ApplicationCache.getFramesWithManifests',
|
|
}
|
|
json = yield cmd_dict
|
|
return [FrameWithManifest.from_json(i) for i in json['frameIds']]
|
|
|
|
|
|
def get_manifest_for_frame(
|
|
frame_id: page.FrameId
|
|
) -> typing.Generator[T_JSON_DICT,T_JSON_DICT,str]:
|
|
'''
|
|
Returns manifest URL for document in the given frame.
|
|
|
|
:param frame_id: Identifier of the frame containing document whose manifest is retrieved.
|
|
:returns: Manifest URL for document in the given frame.
|
|
'''
|
|
params: T_JSON_DICT = dict()
|
|
params['frameId'] = frame_id.to_json()
|
|
cmd_dict: T_JSON_DICT = {
|
|
'method': 'ApplicationCache.getManifestForFrame',
|
|
'params': params,
|
|
}
|
|
json = yield cmd_dict
|
|
return str(json['manifestURL'])
|
|
|
|
|
|
@event_class('ApplicationCache.applicationCacheStatusUpdated')
|
|
@dataclass
|
|
class ApplicationCacheStatusUpdated:
|
|
#: Identifier of the frame containing document whose application cache updated status.
|
|
frame_id: page.FrameId
|
|
#: Manifest URL.
|
|
manifest_url: str
|
|
#: Updated application cache status.
|
|
status: int
|
|
|
|
@classmethod
|
|
def from_json(cls, json: T_JSON_DICT) -> ApplicationCacheStatusUpdated:
|
|
return cls(
|
|
frame_id=page.FrameId.from_json(json['frameId']),
|
|
manifest_url=str(json['manifestURL']),
|
|
status=int(json['status'])
|
|
)
|
|
|
|
|
|
@event_class('ApplicationCache.networkStateUpdated')
|
|
@dataclass
|
|
class NetworkStateUpdated:
|
|
is_now_online: bool
|
|
|
|
@classmethod
|
|
def from_json(cls, json: T_JSON_DICT) -> NetworkStateUpdated:
|
|
return cls(
|
|
is_now_online=bool(json['isNowOnline'])
|
|
)
|