q2rad 0.1.223__py3-none-any.whl → 0.1.224__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of q2rad might be problematic. Click here for more details.

q2rad/q2rad.py CHANGED
@@ -1412,13 +1412,14 @@ class Q2RadApp(Q2App):
1412
1412
  if re.findall(r"^\s*import\W*.*", x):
1413
1413
  module = x.split("import")[1].strip()
1414
1414
  if self.db_logic.get("modules", f"name='{module}'", "name"):
1415
- x = x.split("import")[0] + f"run_module('{module}', import_only=True)"
1415
+ # x = x.split("import")[0] + f"run_module('{module}', import_only=True)"
1416
+ x = x.split("import")[0] + f"run_module('{module}', _globals=globals(), import_only=True)"
1416
1417
 
1417
1418
  new_script_lines.append(x)
1418
1419
  script = "\n".join(new_script_lines)
1419
1420
  try:
1420
1421
  code = compile(script, f"<{script}>", "exec")
1421
- return {"code": code, "error": ""}
1422
+ return {"code": code, "error": "", "script": script}
1422
1423
  except Exception:
1423
1424
  error = sys.exc_info()[1]
1424
1425
  msg = []
q2rad/q2reports.py CHANGED
@@ -26,13 +26,18 @@ from q2rad.q2queries import Q2QueryEdit
26
26
  from q2rad.q2utils import q2cursor, Q2_save_and_run
27
27
  from q2gui import q2app
28
28
  from q2gui.q2dialogs import Q2WaitShow, q2WaitMax, q2WaitStep, q2working
29
+ from q2rad.q2raddb import *
30
+ from q2rad.q2utils import *
29
31
  import json
30
32
  import os
33
+ import logging
34
+ import threading
31
35
  import gettext
32
36
 
33
37
  from q2rad.q2utils import Q2Form
34
38
 
35
39
  _ = gettext.gettext
40
+ _logger = logging.getLogger(__name__)
36
41
 
37
42
  # TODO: selected rows removing - bug
38
43
 
@@ -190,6 +195,10 @@ class Q2RadReport(Q2Report):
190
195
  q2app.q2_app.process_events()
191
196
 
192
197
  def run(self, output_file="temp/repo.html"):
198
+ from q2rad.q2rad import run_module, run_form, get_form , get_report
199
+ _globals = {}
200
+ _globals.update(locals())
201
+
193
202
  output_file = self.prepare_output_file(output_file)
194
203
  if not output_file:
195
204
  return
@@ -214,6 +223,27 @@ class Q2RadReport(Q2Report):
214
223
 
215
224
  return real_worker
216
225
 
226
+ if _module := self.report_content.get("module"):
227
+ code = q2app.q2_app.code_compiler(_module)
228
+ if code["code"]:
229
+ _globals.update(globals())
230
+ try:
231
+ exec(code["code"], _globals)
232
+ for key, value in _globals.items():
233
+ self.set_data(value, key)
234
+ except Exception as error:
235
+ from q2rad.q2rad import explain_error
236
+ _logger.error(f"{error}")
237
+ explain_error()
238
+ else:
239
+ msg = code["error"]
240
+ if threading.current_thread() is threading.main_thread():
241
+ q2mess(f"{msg}".replace("\n", "<br>").replace(" ", "&nbsp;"))
242
+ print(f"{msg}")
243
+ print("-" * 25)
244
+ _logger.error(msg)
245
+ return
246
+
217
247
  q2working(worker(), "W o r k i n g")
218
248
 
219
249
  super().run(output_file, data=data)
@@ -364,8 +394,8 @@ class Q2ReportEdit(Q2Form):
364
394
  self.add_control("rl", "", widget=self.layout_edit, nogrid=1, migrate=0)
365
395
  self.add_control("/t", "Query")
366
396
  self.add_control("ql", "", widget=self.query_edit, nogrid=1, migrate=0)
367
- self.add_control("/t", "Setup")
368
- self.add_control("before_script", "", control="code")
397
+ # self.add_control("/t", "Setup")
398
+ # self.add_control("before_script", "", control="code")
369
399
  self.add_control("/t", "Module")
370
400
  self.add_control("module", "", control="code")
371
401
  self.add_control("/t", "Comment")
@@ -380,10 +410,12 @@ class Q2ReportEdit(Q2Form):
380
410
  content_json = content
381
411
  self.query_edit.set_content(content_json)
382
412
  self.layout_edit.set_content(content_json)
413
+ self.s.module = content_json.get("module", "#")
383
414
 
384
415
  def get_content(self, str_mode=True):
385
416
  content = self.query_edit.get_content(str_mode=False)
386
417
  content.update(self.layout_edit.get_content(str_mode=False))
418
+ content["module"] = self.s.module
387
419
  if str_mode:
388
420
  return json.dumps(content, indent=2)
389
421
  else:
q2rad/q2utils.py CHANGED
@@ -204,6 +204,7 @@ class Q2Form(_Q2Form):
204
204
  q2app.q2app.ACTION_TOOLS_TEXT + "|" + "Changelog",
205
205
  self.changelog,
206
206
  icon="🕟",
207
+ eof_disabled=1,
207
208
  )
208
209
 
209
210
  def changelog(self):
q2rad/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.1.223"
1
+ __version__ = "0.1.224"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: q2rad
3
- Version: 0.1.223
3
+ Version: 0.1.224
4
4
  Summary: RAD - database, GUI, reports
5
5
  Author: Andrei Puchko
6
6
  Author-email: andrei.puchko@gmx.de
@@ -12,14 +12,14 @@ q2rad/q2market.py,sha256=RNXTNv-fFUgbzBGhHPNXlzGjsAHAtz71BRbTErJarNo,2641
12
12
  q2rad/q2modules.py,sha256=RwemVJwfxth0lBN4K96tKz62VOW71C7CmmKyhIoH5mc,4632
13
13
  q2rad/q2packages.py,sha256=y72L1RAw1OgtKGaL8lJ1KHIaers5I6kTZSiphwwrY0M,3808
14
14
  q2rad/q2queries.py,sha256=YYJEpC_0rXAV8W_lx2604yqnkooHzheFmDCfqbW02zY,13203
15
- q2rad/q2rad.py,sha256=ObbJUrt_-3Tqu5hrMxY7GXlvkM7FBX8g6TlKBs7IGTo,55887
15
+ q2rad/q2rad.py,sha256=YuitDdn5gggJFZ96QHeiMClvoLNGN6tLl3U5IPXlaAo,56023
16
16
  q2rad/q2raddb.py,sha256=tMX971d_awTwiWeYLkZGSfdrIs88oiNHBAs2cMFvSbU,4685
17
- q2rad/q2reports.py,sha256=np_Yfjy7oiQCK9MrFDlD9ojx1dIt6Yg3QqHkJbnjT6w,84886
17
+ q2rad/q2reports.py,sha256=tAOm54_P_NN8nRDsZy8N6vbw0YOTNQ_9xtvT6NMG724,86155
18
18
  q2rad/q2stylesettings.py,sha256=rEJLyLzsffJEXnMbg9bPB3KHLjYfw-49QgrtcYOfGV0,4769
19
- q2rad/q2utils.py,sha256=Vb5K8Lbb7PzQGDiBEHFrPyDcytVnUSVXy9yIkvWM1Oc,19734
20
- q2rad/version.py,sha256=1XpZ9ZHWiFjHHBz1xBKwDLpuS3A_Vb_IEKixlVSqME4,23
21
- q2rad-0.1.223.dist-info/entry_points.txt,sha256=DmsJQE6f3wYuhdN2h6ARYxSe8_d03paeepfGpdVj5rs,42
22
- q2rad-0.1.223.dist-info/LICENSE,sha256=JRR3LlR18ghhYXT4G2cWgXmnxRvcuVcKlqncWWK4MRY,10347
23
- q2rad-0.1.223.dist-info/METADATA,sha256=hEnJx6Vf38LEGE1ghZ30FAgSLn7xu29pwoFQTaykDbs,3369
24
- q2rad-0.1.223.dist-info/WHEEL,sha256=WGfLGfLX43Ei_YORXSnT54hxFygu34kMpcQdmgmEwCQ,88
25
- q2rad-0.1.223.dist-info/RECORD,,
19
+ q2rad/q2utils.py,sha256=APe6BIdjDY5B6V_iuy-2oRyh3UPAzc8kJmPZJY5AojA,19767
20
+ q2rad/version.py,sha256=B3XV2JBD0xS1afkIkrXk7h-qhjzPqMqB-QIxgORR5ko,23
21
+ q2rad-0.1.224.dist-info/entry_points.txt,sha256=DmsJQE6f3wYuhdN2h6ARYxSe8_d03paeepfGpdVj5rs,42
22
+ q2rad-0.1.224.dist-info/LICENSE,sha256=JRR3LlR18ghhYXT4G2cWgXmnxRvcuVcKlqncWWK4MRY,10347
23
+ q2rad-0.1.224.dist-info/METADATA,sha256=o7gJRGx4U-o5cLh1BRP9ac3Wzljdj57KnPMQb5vrHA0,3369
24
+ q2rad-0.1.224.dist-info/WHEEL,sha256=WGfLGfLX43Ei_YORXSnT54hxFygu34kMpcQdmgmEwCQ,88
25
+ q2rad-0.1.224.dist-info/RECORD,,