Updated script that can be controled by Nodejs web app

This commit is contained in:
mac OS
2024-11-25 12:24:18 +07:00
parent c440eda1f4
commit 8b0ab2bd3a
8662 changed files with 1803808 additions and 34 deletions

View File

@@ -0,0 +1,113 @@
# 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: FileSystem (experimental)
from __future__ import annotations
from .util import event_class, T_JSON_DICT
from dataclasses import dataclass
import enum
import typing
from . import network
from . import storage
@dataclass
class File:
name: str
#: Timestamp
last_modified: network.TimeSinceEpoch
#: Size in bytes
size: float
type_: str
def to_json(self):
json = dict()
json['name'] = self.name
json['lastModified'] = self.last_modified.to_json()
json['size'] = self.size
json['type'] = self.type_
return json
@classmethod
def from_json(cls, json):
return cls(
name=str(json['name']),
last_modified=network.TimeSinceEpoch.from_json(json['lastModified']),
size=float(json['size']),
type_=str(json['type']),
)
@dataclass
class Directory:
name: str
nested_directories: typing.List[str]
#: Files that are directly nested under this directory.
nested_files: typing.List[File]
def to_json(self):
json = dict()
json['name'] = self.name
json['nestedDirectories'] = [i for i in self.nested_directories]
json['nestedFiles'] = [i.to_json() for i in self.nested_files]
return json
@classmethod
def from_json(cls, json):
return cls(
name=str(json['name']),
nested_directories=[str(i) for i in json['nestedDirectories']],
nested_files=[File.from_json(i) for i in json['nestedFiles']],
)
@dataclass
class BucketFileSystemLocator:
#: Storage key
storage_key: storage.SerializedStorageKey
#: Path to the directory using each path component as an array item.
path_components: typing.List[str]
#: Bucket name. Not passing a ``bucketName`` will retrieve the default Bucket. (https://developer.mozilla.org/en-US/docs/Web/API/Storage_API#storage_buckets)
bucket_name: typing.Optional[str] = None
def to_json(self):
json = dict()
json['storageKey'] = self.storage_key.to_json()
json['pathComponents'] = [i for i in self.path_components]
if self.bucket_name is not None:
json['bucketName'] = self.bucket_name
return json
@classmethod
def from_json(cls, json):
return cls(
storage_key=storage.SerializedStorageKey.from_json(json['storageKey']),
path_components=[str(i) for i in json['pathComponents']],
bucket_name=str(json['bucketName']) if 'bucketName' in json else None,
)
def get_directory(
bucket_file_system_locator: BucketFileSystemLocator
) -> typing.Generator[T_JSON_DICT,T_JSON_DICT,Directory]:
'''
:param bucket_file_system_locator:
:returns: Returns the directory object at the path.
'''
params: T_JSON_DICT = dict()
params['bucketFileSystemLocator'] = bucket_file_system_locator.to_json()
cmd_dict: T_JSON_DICT = {
'method': 'FileSystem.getDirectory',
'params': params,
}
json = yield cmd_dict
return Directory.from_json(json['directory'])