MCPcopy
hub / github.com/diffgram/diffgram / Report_Runner

Class Report_Runner

default/methods/report/report_runner.py:208–1193  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

206
207
208class Report_Runner():
209
210 def __init__(
211 self,
212 session,
213 report_template_id: int = None,
214 report_template_data: dict = None,
215 metadata: dict = None,
216 member = None,
217 project_string_id = None
218
219 ):
220
221 self.session = session
222 self.report_template_id = report_template_id
223 self.report_template_data = report_template_data
224
225 self.time_created_normalized = None
226
227 self.metadata_untrusted = metadata
228 self.member = member
229
230 self.project_string_id = project_string_id
231 self.project = Project.get_by_string_id(self.session, self.project_string_id)
232
233 self.log = regular_log.default()
234
235 # Context of say report list or something else...
236 if not self.metadata_untrusted:
237 return
238
239 self.metadata = self.validate_report_spec(
240 metadata_untrusted = self.metadata_untrusted)
241 if len(self.log["error"].keys()) >= 1:
242 return
243
244 if 'all' in self.metadata.get('member_list', []):
245 project = Project.get_by_string_id(session, self.metadata['project_string_id'])
246 users = project.users
247 member_ids = [u.member_id for u in users]
248 self.metadata['member_list'] = member_ids
249
250 @staticmethod
251 def string_to_class(item_of_interest: str):
252 """
253 We assume that item_of_interest has been
254 converted to lower case already here
255
256 more general approach - more scale
257 get_class = lambda x: globals()[x]
258 form_class = get_class(report.customization_forms.form_class_name)
259 """
260
261 class_dict = {
262 'instance': Instance,
263 'user': User,
264 'file': File,
265 'task': TaskEvent,

Callers 5

report_save_apiFunction · 0.85
report_run_apiFunction · 0.85
report_list_apiFunction · 0.85
report_update_apiFunction · 0.85
report_info_apiFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected