Updated script that can be controled by Nodejs web app
This commit is contained in:
162
lib/python3.13/site-packages/selenium/webdriver/common/devtools/v130/database.py
Executable file
162
lib/python3.13/site-packages/selenium/webdriver/common/devtools/v130/database.py
Executable file
@ -0,0 +1,162 @@
|
||||
# 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: Database (experimental)
|
||||
from __future__ import annotations
|
||||
from .util import event_class, T_JSON_DICT
|
||||
from dataclasses import dataclass
|
||||
import enum
|
||||
import typing
|
||||
|
||||
class DatabaseId(str):
|
||||
'''
|
||||
Unique identifier of Database object.
|
||||
'''
|
||||
def to_json(self) -> str:
|
||||
return self
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json: str) -> DatabaseId:
|
||||
return cls(json)
|
||||
|
||||
def __repr__(self):
|
||||
return 'DatabaseId({})'.format(super().__repr__())
|
||||
|
||||
|
||||
@dataclass
|
||||
class Database:
|
||||
'''
|
||||
Database object.
|
||||
'''
|
||||
#: Database ID.
|
||||
id_: DatabaseId
|
||||
|
||||
#: Database domain.
|
||||
domain: str
|
||||
|
||||
#: Database name.
|
||||
name: str
|
||||
|
||||
#: Database version.
|
||||
version: str
|
||||
|
||||
def to_json(self):
|
||||
json = dict()
|
||||
json['id'] = self.id_.to_json()
|
||||
json['domain'] = self.domain
|
||||
json['name'] = self.name
|
||||
json['version'] = self.version
|
||||
return json
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json):
|
||||
return cls(
|
||||
id_=DatabaseId.from_json(json['id']),
|
||||
domain=str(json['domain']),
|
||||
name=str(json['name']),
|
||||
version=str(json['version']),
|
||||
)
|
||||
|
||||
|
||||
@dataclass
|
||||
class Error:
|
||||
'''
|
||||
Database error.
|
||||
'''
|
||||
#: Error message.
|
||||
message: str
|
||||
|
||||
#: Error code.
|
||||
code: int
|
||||
|
||||
def to_json(self):
|
||||
json = dict()
|
||||
json['message'] = self.message
|
||||
json['code'] = self.code
|
||||
return json
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json):
|
||||
return cls(
|
||||
message=str(json['message']),
|
||||
code=int(json['code']),
|
||||
)
|
||||
|
||||
|
||||
def disable() -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
|
||||
'''
|
||||
Disables database tracking, prevents database events from being sent to the client.
|
||||
'''
|
||||
cmd_dict: T_JSON_DICT = {
|
||||
'method': 'Database.disable',
|
||||
}
|
||||
json = yield cmd_dict
|
||||
|
||||
|
||||
def enable() -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
|
||||
'''
|
||||
Enables database tracking, database events will now be delivered to the client.
|
||||
'''
|
||||
cmd_dict: T_JSON_DICT = {
|
||||
'method': 'Database.enable',
|
||||
}
|
||||
json = yield cmd_dict
|
||||
|
||||
|
||||
def execute_sql(
|
||||
database_id: DatabaseId,
|
||||
query: str
|
||||
) -> typing.Generator[T_JSON_DICT,T_JSON_DICT,typing.Tuple[typing.Optional[typing.List[str]], typing.Optional[typing.List[typing.Any]], typing.Optional[Error]]]:
|
||||
'''
|
||||
:param database_id:
|
||||
:param query:
|
||||
:returns: A tuple with the following items:
|
||||
|
||||
0. **columnNames** -
|
||||
1. **values** -
|
||||
2. **sqlError** -
|
||||
'''
|
||||
params: T_JSON_DICT = dict()
|
||||
params['databaseId'] = database_id.to_json()
|
||||
params['query'] = query
|
||||
cmd_dict: T_JSON_DICT = {
|
||||
'method': 'Database.executeSQL',
|
||||
'params': params,
|
||||
}
|
||||
json = yield cmd_dict
|
||||
return (
|
||||
[str(i) for i in json['columnNames']] if 'columnNames' in json else None,
|
||||
[i for i in json['values']] if 'values' in json else None,
|
||||
Error.from_json(json['sqlError']) if 'sqlError' in json else None
|
||||
)
|
||||
|
||||
|
||||
def get_database_table_names(
|
||||
database_id: DatabaseId
|
||||
) -> typing.Generator[T_JSON_DICT,T_JSON_DICT,typing.List[str]]:
|
||||
'''
|
||||
:param database_id:
|
||||
:returns:
|
||||
'''
|
||||
params: T_JSON_DICT = dict()
|
||||
params['databaseId'] = database_id.to_json()
|
||||
cmd_dict: T_JSON_DICT = {
|
||||
'method': 'Database.getDatabaseTableNames',
|
||||
'params': params,
|
||||
}
|
||||
json = yield cmd_dict
|
||||
return [str(i) for i in json['tableNames']]
|
||||
|
||||
|
||||
@event_class('Database.addDatabase')
|
||||
@dataclass
|
||||
class AddDatabase:
|
||||
database: Database
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json: T_JSON_DICT) -> AddDatabase:
|
||||
return cls(
|
||||
database=Database.from_json(json['database'])
|
||||
)
|
Reference in New Issue
Block a user