Skip to content

Description

Control Panel is used as an entry point to ECS storages and runner.

API

Meta

Source code in encosy/storage/meta.py
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
class ResourceStorageMeta(metaclass=ABCMeta):
    @abstractmethod
    def query(self, *args, **kwargs):
        """
        Query resource by any condition

        Args:
            *args: positional
            **kwargs: keyword

        Returns:
            resources

        """
        pass

    @abstractmethod
    def add(self, resource):
        """
        Add resource

        Args:
            resource: any type

        Returns:
            self

        """
        pass

    @abstractmethod
    def remove(self, resource):
        """
        Remove resource by type

        Args:
            resource: type of resource

        Returns:
            self

        """
        pass

    @abstractmethod
    def get(self, resource):
        """
        Get resource by type

        Args:
            resource: type of resource

        Returns:
            self

        """
        pass

add(resource) abstractmethod

Add resource

Parameters:

Name Type Description Default
resource

any type

required

Returns:

Type Description

self

Source code in encosy/storage/meta.py
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
@abstractmethod
def add(self, resource):
    """
    Add resource

    Args:
        resource: any type

    Returns:
        self

    """
    pass

get(resource) abstractmethod

Get resource by type

Parameters:

Name Type Description Default
resource

type of resource

required

Returns:

Type Description

self

Source code in encosy/storage/meta.py
120
121
122
123
124
125
126
127
128
129
130
131
132
@abstractmethod
def get(self, resource):
    """
    Get resource by type

    Args:
        resource: type of resource

    Returns:
        self

    """
    pass

query(*args, **kwargs) abstractmethod

Query resource by any condition

Parameters:

Name Type Description Default
*args

positional

()
**kwargs

keyword

{}

Returns:

Type Description

resources

Source code in encosy/storage/meta.py
77
78
79
80
81
82
83
84
85
86
87
88
89
90
@abstractmethod
def query(self, *args, **kwargs):
    """
    Query resource by any condition

    Args:
        *args: positional
        **kwargs: keyword

    Returns:
        resources

    """
    pass

remove(resource) abstractmethod

Remove resource by type

Parameters:

Name Type Description Default
resource

type of resource

required

Returns:

Type Description

self

Source code in encosy/storage/meta.py
106
107
108
109
110
111
112
113
114
115
116
117
118
@abstractmethod
def remove(self, resource):
    """
    Remove resource by type

    Args:
        resource: type of resource

    Returns:
        self

    """
    pass

ResourceStorage

SimpleResourceStorage

Bases: ResourceStorageMeta

Source code in encosy/storage/resource_storage.py
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
class SimpleResourceStorage(ResourceStorageMeta):
    def __init__(self):
        self.resources = {}

    def add(self, resource: Any) -> 'SimpleResourceStorage':
        """
        Add resource by type

        Args:
            resource: any

        Returns:
            self

        """
        self.resources[type(resource)] = resource
        return self

    def remove(self, resource: type) -> 'SimpleResourceStorage':
        """
        Remove resource by type

        Args:
            resource: any type

        Returns:
            self

        """
        self.resources.pop(resource)
        return self

    def query(self, *args, **kwargs):
        pass

    def get(self, resource: type) -> Any:
        """
        Get resource by type

        Args:
            resource: type of resource

        Returns:
            Resource of given type

        """
        return self.resources[resource]

    def __len__(self):
        return len(self.resources)

add(resource)

Add resource by type

Parameters:

Name Type Description Default
resource Any

any

required

Returns:

Type Description
SimpleResourceStorage

self

Source code in encosy/storage/resource_storage.py
 9
10
11
12
13
14
15
16
17
18
19
20
21
def add(self, resource: Any) -> 'SimpleResourceStorage':
    """
    Add resource by type

    Args:
        resource: any

    Returns:
        self

    """
    self.resources[type(resource)] = resource
    return self

get(resource)

Get resource by type

Parameters:

Name Type Description Default
resource type

type of resource

required

Returns:

Type Description
Any

Resource of given type

Source code in encosy/storage/resource_storage.py
40
41
42
43
44
45
46
47
48
49
50
51
def get(self, resource: type) -> Any:
    """
    Get resource by type

    Args:
        resource: type of resource

    Returns:
        Resource of given type

    """
    return self.resources[resource]

remove(resource)

Remove resource by type

Parameters:

Name Type Description Default
resource type

any type

required

Returns:

Type Description
SimpleResourceStorage

self

Source code in encosy/storage/resource_storage.py
23
24
25
26
27
28
29
30
31
32
33
34
35
def remove(self, resource: type) -> 'SimpleResourceStorage':
    """
    Remove resource by type

    Args:
        resource: any type

    Returns:
        self

    """
    self.resources.pop(resource)
    return self