Coverage for gws-app/gws/ext/__init__.py: 100%
132 statements
« prev ^ index » next coverage.py v7.16.2, created at 2026-10-05 13:35 +0200
« prev ^ index » next coverage.py v7.16.2, created at 2026-10-05 13:35 +0200
1"""Dummy decorators to support extension typing."""
3from typing import TypeVar
5T = TypeVar('T')
8class _classTag:
9 extName = ''
11 def __init__(self, typ: str):
12 self.typ = typ
14 def __call__(self, target: T) -> T:
15 setattr(target, 'extName', self.extName + '.' + self.typ)
16 setattr(target, 'extType', self.typ)
17 return target
20class _methodTag:
21 def __init__(self, typ):
22 pass
24 def __call__(self, target):
25 return target
28def name_for(obj: str | type) -> str | None:
29 if isinstance(obj, str) and obj.startswith('gws.ext.'):
30 return obj
31 if isinstance(obj, type) and issubclass(obj, _classTag):
32 return obj.extName
35# fmt: off
37##
40TYPES = [
41 "action",
42 "application",
43 "authMethod",
44 "authMultiFactorAdapter",
45 "authProvider",
46 "authSessionManager",
47 "cli",
48 "databaseProvider",
49 "exporter",
50 "finder",
51 "helper",
52 "layer",
53 "legend",
54 "map",
55 "model",
56 "modelField",
57 "modelValidator",
58 "modelValue",
59 "modelWidget",
60 "owsProvider",
61 "owsService",
62 "printer",
63 "project",
64 "storageProvider",
65 "template",
66]
69class command:
70 class api(_methodTag): pass
71 class cli(_methodTag): pass
72 class get(_methodTag): pass
73 class post(_methodTag): pass
74 class raw(_methodTag): pass
77class _new:
78 def action(self, *args): pass
79 def application(self, *args): pass
80 def authMethod(self, *args): pass
81 def authMultiFactorAdapter(self, *args): pass
82 def authProvider(self, *args): pass
83 def authSessionManager(self, *args): pass
84 def cli(self, *args): pass
85 def databaseProvider(self, *args): pass
86 def exporter(self, *args): pass
87 def finder(self, *args): pass
88 def helper(self, *args): pass
89 def layer(self, *args): pass
90 def legend(self, *args): pass
91 def map(self, *args): pass
92 def model(self, *args): pass
93 def modelField(self, *args): pass
94 def modelValidator(self, *args): pass
95 def modelValue(self, *args): pass
96 def modelWidget(self, *args): pass
97 def owsProvider(self, *args): pass
98 def owsService(self, *args): pass
99 def printer(self, *args): pass
100 def project(self, *args): pass
101 def storageProvider(self, *args): pass
102 def template(self, *args): pass
105new = _new()
108class object:
109 class action (_classTag): extName = 'gws.ext.object.action'
110 class application (_classTag): extName = 'gws.ext.object.application'
111 class authMethod (_classTag): extName = 'gws.ext.object.authMethod'
112 class authMultiFactorAdapter (_classTag): extName = 'gws.ext.object.authMultiFactorAdapter'
113 class authProvider (_classTag): extName = 'gws.ext.object.authProvider'
114 class authSessionManager (_classTag): extName = 'gws.ext.object.authSessionManager'
115 class cli (_classTag): extName = 'gws.ext.object.cli'
116 class databaseProvider (_classTag): extName = 'gws.ext.object.databaseProvider'
117 class exporter (_classTag): extName = 'gws.ext.object.exporter'
118 class finder (_classTag): extName = 'gws.ext.object.finder'
119 class helper (_classTag): extName = 'gws.ext.object.helper'
120 class layer (_classTag): extName = 'gws.ext.object.layer'
121 class legend (_classTag): extName = 'gws.ext.object.legend'
122 class map (_classTag): extName = 'gws.ext.object.map'
123 class model (_classTag): extName = 'gws.ext.object.model'
124 class modelField (_classTag): extName = 'gws.ext.object.modelField'
125 class modelValidator (_classTag): extName = 'gws.ext.object.modelValidator'
126 class modelValue (_classTag): extName = 'gws.ext.object.modelValue'
127 class modelWidget (_classTag): extName = 'gws.ext.object.modelWidget'
128 class owsProvider (_classTag): extName = 'gws.ext.object.owsProvider'
129 class owsService (_classTag): extName = 'gws.ext.object.owsService'
130 class printer (_classTag): extName = 'gws.ext.object.printer'
131 class project (_classTag): extName = 'gws.ext.object.project'
132 class storageProvider (_classTag): extName = 'gws.ext.object.storageProvider'
133 class template (_classTag): extName = 'gws.ext.object.template'
136class config:
137 class action (_classTag): extName = 'gws.ext.config.action'
138 class application (_classTag): extName = 'gws.ext.config.application'
139 class authMethod (_classTag): extName = 'gws.ext.config.authMethod'
140 class authMultiFactorAdapter (_classTag): extName = 'gws.ext.config.authMultiFactorAdapter'
141 class authProvider (_classTag): extName = 'gws.ext.config.authProvider'
142 class authSessionManager (_classTag): extName = 'gws.ext.config.authSessionManager'
143 class cli (_classTag): extName = 'gws.ext.config.cli'
144 class databaseProvider (_classTag): extName = 'gws.ext.config.databaseProvider'
145 class exporter (_classTag): extName = 'gws.ext.config.exporter'
146 class finder (_classTag): extName = 'gws.ext.config.finder'
147 class helper (_classTag): extName = 'gws.ext.config.helper'
148 class layer (_classTag): extName = 'gws.ext.config.layer'
149 class legend (_classTag): extName = 'gws.ext.config.legend'
150 class map (_classTag): extName = 'gws.ext.config.map'
151 class model (_classTag): extName = 'gws.ext.config.model'
152 class modelField (_classTag): extName = 'gws.ext.config.modelField'
153 class modelValidator (_classTag): extName = 'gws.ext.config.modelValidator'
154 class modelValue (_classTag): extName = 'gws.ext.config.modelValue'
155 class modelWidget (_classTag): extName = 'gws.ext.config.modelWidget'
156 class owsProvider (_classTag): extName = 'gws.ext.config.owsProvider'
157 class owsService (_classTag): extName = 'gws.ext.config.owsService'
158 class printer (_classTag): extName = 'gws.ext.config.printer'
159 class project (_classTag): extName = 'gws.ext.config.project'
160 class storageProvider (_classTag): extName = 'gws.ext.config.storageProvider'
161 class template (_classTag): extName = 'gws.ext.config.template'
164class props:
165 class action (_classTag): extName = 'gws.ext.props.action'
166 class application (_classTag): extName = 'gws.ext.props.application'
167 class authMethod (_classTag): extName = 'gws.ext.props.authMethod'
168 class authMultiFactorAdapter (_classTag): extName = 'gws.ext.props.authMultiFactorAdapter'
169 class authProvider (_classTag): extName = 'gws.ext.props.authProvider'
170 class authSessionManager (_classTag): extName = 'gws.ext.props.authSessionManager'
171 class cli (_classTag): extName = 'gws.ext.props.cli'
172 class databaseProvider (_classTag): extName = 'gws.ext.props.databaseProvider'
173 class exporter (_classTag): extName = 'gws.ext.props.exporter'
174 class finder (_classTag): extName = 'gws.ext.props.finder'
175 class helper (_classTag): extName = 'gws.ext.props.helper'
176 class layer (_classTag): extName = 'gws.ext.props.layer'
177 class legend (_classTag): extName = 'gws.ext.props.legend'
178 class map (_classTag): extName = 'gws.ext.props.map'
179 class model (_classTag): extName = 'gws.ext.props.model'
180 class modelField (_classTag): extName = 'gws.ext.props.modelField'
181 class modelValidator (_classTag): extName = 'gws.ext.props.modelValidator'
182 class modelValue (_classTag): extName = 'gws.ext.props.modelValue'
183 class modelWidget (_classTag): extName = 'gws.ext.props.modelWidget'
184 class owsProvider (_classTag): extName = 'gws.ext.props.owsProvider'
185 class owsService (_classTag): extName = 'gws.ext.props.owsService'
186 class printer (_classTag): extName = 'gws.ext.props.printer'
187 class project (_classTag): extName = 'gws.ext.props.project'
188 class storageProvider (_classTag): extName = 'gws.ext.props.storageProvider'
189 class template (_classTag): extName = 'gws.ext.props.template'