q2rad 0.1.220__py3-none-any.whl → 0.1.221__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/q2appselector.py CHANGED
@@ -467,7 +467,7 @@ class Q2AppSelect(Q2Form):
467
467
  self.close()
468
468
  AppManager.import_json_app(json.load(response_app))
469
469
  self.q2_app.open_selected_app()
470
- self.q2_app.migrate_db_data()
470
+ # self.q2_app.migrate_db_data()
471
471
  AppManager.import_json_data(json.load(response_data))
472
472
  else:
473
473
  q2Mess(_("Can't to load Demo App"))
q2rad/q2extensions.py CHANGED
@@ -25,6 +25,8 @@ from q2rad.q2appmanager import AppManager
25
25
  from q2terminal.q2terminal import Q2Terminal
26
26
  import gettext
27
27
  import json
28
+ from q2rad.q2raddb import read_url
29
+ from q2gui.q2model import Q2Model
28
30
 
29
31
 
30
32
  _ = gettext.gettext
@@ -56,6 +58,14 @@ class Q2Extensions(Q2Form):
56
58
  self.add_action("Import|from JSON file", self.import_json, eof_disabled=True)
57
59
  self.add_action("Import|from q2Market", self.import_q2market, eof_disabled=True)
58
60
 
61
+ def before_form_show(self):
62
+ if self.crud_mode == "NEW":
63
+ if q2AskYN("Would you like to download one from q2market?") == 2:
64
+ q2market = Q2MarketExt().run()
65
+ if q2market.heap._return:
66
+ self.s.prefix = q2market.heap._return
67
+ self.s.checkupdates = "*"
68
+
59
69
  def info(self):
60
70
  pass
61
71
 
@@ -153,3 +163,34 @@ class Q2Extensions(Q2Form):
153
163
  q2app.q2_app.check_ext_update(self.r.prefix, force_update=True)
154
164
  else:
155
165
  q2Mess("No App URL!")
166
+
167
+
168
+ class Q2MarketExt(Q2Form):
169
+ def __init__(self, title=""):
170
+ super().__init__("q2Market")
171
+ self.no_view_action = True
172
+ self.heap._return = None
173
+
174
+ def on_init(self):
175
+ self.add_control("ext_title", _("Name"), datatype="char", datalen=100)
176
+ self.add_control("ext_version", _("Version"), datatype="char", datalen=100)
177
+ self.add_control("ext_description", _("Description"), control="text", datatype="char", datalen=100)
178
+ self.add_control("ext_url", _("Path"), datatype="char", datalen=100)
179
+
180
+ q2market_catalogue_url = f"{self.q2_app.q2market_url}/q2market.json"
181
+ data = json.loads(read_url(q2market_catalogue_url).decode("utf-8"))
182
+ rez = []
183
+ for x in data:
184
+ if "ext_title" in data[x]:
185
+ rec = data[x]
186
+ rec["ext_url"] = x
187
+ rez.append(rec)
188
+ model = Q2Model()
189
+ model.set_records(rez)
190
+ self.set_model(model)
191
+ self.add_action_view()
192
+ self.add_action("Select", self.select_row, tag="select", eof_disabled=1)
193
+
194
+ def select_row(self):
195
+ self.heap._return = self.r.ext_title
196
+ self.close()
q2rad/q2forms.py CHANGED
@@ -288,7 +288,7 @@ class Q2Forms(Q2Form, Q2_save_and_run):
288
288
  super().after_crud_save()
289
289
  if self.crud_mode != "EDIT":
290
290
  if self.s.form_table:
291
- ai = "*" if q2ask("Set AUTOINCREMENT for primary key?") else ""
291
+ ai = "*" if q2ask("Set AUTOINCREMENT for primary key?") == 2 else ""
292
292
  self.db.insert(
293
293
  "lines",
294
294
  {
q2rad/q2lines.py CHANGED
@@ -125,7 +125,8 @@ class Q2Lines(Q2Form, Q2_save_and_run):
125
125
  if self.add_control("/h"):
126
126
  self.add_control("stretch", _("Stretch factor"), datatype="int")
127
127
  self.add_control("alignment", _("Alignment"), datatype="int", datalen=3)
128
- self.add_control("tag", _("Tag"), datatype="char", datalen=100)
128
+ self.add_control("tag", _("Tag"), datatype="char", datalen=100, stretch=99)
129
+ self.add_control("/s")
129
130
  self.add_control("/")
130
131
  if self.add_control("/h", _("Control type")):
131
132
  self.add_control(
q2rad/q2modules.py CHANGED
@@ -104,7 +104,7 @@ class Q2Modules(Q2Form, Q2_save_and_run):
104
104
  != 2
105
105
  ):
106
106
  return False
107
- self.s.last_line = self.w.script.current_line()+1
107
+ self.s.last_line = self.w.script.current_line() + 1
108
108
  # return super().before_crud_save()
109
109
 
110
110
  def before_form_show(self):
@@ -118,8 +118,12 @@ class Q2Modules(Q2Form, Q2_save_and_run):
118
118
  self.w.script.set_focus()
119
119
 
120
120
  def script_runner(self):
121
- self.q2_app.code_runner(self.r.script)()
121
+ # self.q2_app.code_runner(self.r.script)()
122
+ from q2rad.q2rad import run_module
123
+ run_module(script=self.r.script)
122
124
 
123
125
  def editor_just_run(self):
124
- self.q2_app.code_runner(self.s.script)()
126
+ # self.q2_app.code_runner(self.s.script)()
127
+ from q2rad.q2rad import run_module
128
+ run_module(script=self.s.script)
125
129
  self.w.script.set_focus()
q2rad/q2rad.py CHANGED
@@ -139,6 +139,7 @@ def run_module(module_name=None, _globals={}, _locals={}, script="", import_only
139
139
  else:
140
140
  __name__ = "__main__"
141
141
 
142
+ _globals.update(globals())
142
143
  _globals.update(
143
144
  {
144
145
  "RETURN": None,
@@ -149,7 +150,6 @@ def run_module(module_name=None, _globals={}, _locals={}, script="", import_only
149
150
  "__name__": __name__,
150
151
  }
151
152
  )
152
- _globals.update(globals())
153
153
  try:
154
154
  if _locals:
155
155
  exec(code["code"], _globals, _locals)
@@ -322,7 +322,7 @@ class Q2RadApp(Q2App):
322
322
  self.set_title("Open Application")
323
323
  Q2AppSelect().run(autoload_enabled)
324
324
  if self.selected_application != {}:
325
- self.open_selected_app(True)
325
+ self.open_selected_app(True, migrate_db_data=False)
326
326
  self.check_app_update()
327
327
  self.check_ext_update()
328
328
  self.on_new_tab()
@@ -330,14 +330,18 @@ class Q2RadApp(Q2App):
330
330
  self.close()
331
331
  self.subwindow_count_changed()
332
332
 
333
- def open_selected_app(self, go_to_q2market=False):
333
+ def open_selected_app(self, go_to_q2market=False, migrate_db_data=True):
334
334
  wait = Q2WaitShow(5, "Loading app> ")
335
335
  wait.step("Prepare")
336
336
  self.clear_app_info()
337
337
  wait.step("Migrate logic DB")
338
338
  self.migrate_db_logic(self.db_logic)
339
- wait.step("Migrate data DB")
340
- self.migrate_db_data()
339
+ if migrate_db_data:
340
+ wait.step("Migrate data DB")
341
+ self.migrate_db_data()
342
+ else:
343
+ wait.step("Create menus")
344
+ self.create_menu()
341
345
  wait.step("looking for updates")
342
346
  self.process_events()
343
347
  wait.step("Done!")
@@ -926,7 +930,7 @@ class Q2RadApp(Q2App):
926
930
  AppManager.import_json_app(data)
927
931
  self.open_selected_app()
928
932
 
929
- def check_ext_update(self, prefix="", force_update=False, ext_url=""):
933
+ def check_ext_update(self, prefix="", force_update=False, _ext_url=""):
930
934
  if self.frozen:
931
935
  return
932
936
  if prefix:
@@ -936,8 +940,8 @@ class Q2RadApp(Q2App):
936
940
  for row in cu.records():
937
941
  _prefix = row["prefix"]
938
942
 
939
- if ext_url:
940
- ext_url = f"{ext_url}/{_prefix}"
943
+ if _ext_url:
944
+ ext_url = f"{_ext_url}/{_prefix}"
941
945
  elif self.app_url:
942
946
  ext_url = f"{os.path.dirname(self.app_url)}/{_prefix}"
943
947
  else:
q2rad/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.1.220"
1
+ __version__ = "0.1.221"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: q2rad
3
- Version: 0.1.220
3
+ Version: 0.1.221
4
4
  Summary: RAD - database, GUI, reports
5
5
  Author: Andrei Puchko
6
6
  Author-email: andrei.puchko@gmx.de
@@ -2,24 +2,24 @@ q2rad/__init__.py,sha256=Y0Up-UTXOmCYC9llNmTF10CpDDgF2kv10pyHT3-YwmQ,183
2
2
  q2rad/__main__.py,sha256=zP4JARM-FzFHM-vWLehx7c5N4v4m_F-TuMobCdFzr4Q,824
3
3
  q2rad/q2actions.py,sha256=eExRvOSyLhT_v1XCR-DmLEhQ9g_LRkrlyXnwDCjT0LM,8258
4
4
  q2rad/q2appmanager.py,sha256=4c1h5I_7f4S7Ef9nDnDQthRqPC-uyK8v8B8zmhdhtr0,20567
5
- q2rad/q2appselector.py,sha256=-QazsbpOxRlzuCZZ35QU-p9iiBrF16oDU-Os-5rPIRQ,18811
5
+ q2rad/q2appselector.py,sha256=bjl4MDg9DoU1h6NZOQDElaIGURjVQwiHnsUwr3kp3nc,18813
6
6
  q2rad/q2constants.py,sha256=dQtN4OMvZw0FATDAFYjolI7eGMVUnNnbTl6qM-ggZ4I,3416
7
- q2rad/q2extensions.py,sha256=V54Xypcucl1-RarLWtH3GGxnAW1m4p3wrTYXFLBdqgk,5929
8
- q2rad/q2forms.py,sha256=36NriEUquuF97fkHpBBQyw1PDIrBQQlwxb21YVrmtng,11117
9
- q2rad/q2lines.py,sha256=KQslxn06vypKSFahCDAa7oFPoo_BhvABTKy5iDEOFbc,19133
7
+ q2rad/q2extensions.py,sha256=iQz8_GlMCm8g9LOR3aP3YSBgi9rD5i1YkuNaxRiTn5g,7541
8
+ q2rad/q2forms.py,sha256=e9FrhXjvi9ZmrhRBmnmsHoPxDQJqsanLnsPjY6rjaQI,11122
9
+ q2rad/q2lines.py,sha256=hGdEOdUmBdBpfJ4jHBrXR4gLRXCrgn0dlywsH8nbJ6Q,19185
10
10
  q2rad/q2make.py,sha256=wXoyBUwf2zaAl9JjWDCbjAteUElRq0O7ippyaMY9eug,6476
11
11
  q2rad/q2market.py,sha256=RNXTNv-fFUgbzBGhHPNXlzGjsAHAtz71BRbTErJarNo,2641
12
- q2rad/q2modules.py,sha256=FetB84IxsuDzNYKTFM3BdvfH5GrWrFKoi6cV5uW1fKo,4360
12
+ q2rad/q2modules.py,sha256=SpDdXJPG6IcVz1u3xnLoynA2rmiODCNZTZJT8s5iTRI,4538
13
13
  q2rad/q2packages.py,sha256=y72L1RAw1OgtKGaL8lJ1KHIaers5I6kTZSiphwwrY0M,3808
14
14
  q2rad/q2queries.py,sha256=l9SJ_T5Y38p23xa505EPZocCEmFw_a2y4ck0_-AHVP0,13119
15
- q2rad/q2rad.py,sha256=qlHORwI_E0rGXT5Moz7ECid_zlRcnAXco4_CTtcWdvw,52142
15
+ q2rad/q2rad.py,sha256=5IfUu4VHhqVuygem5ZwWFdj1WL_1VyXSKLngaVtbxbo,52313
16
16
  q2rad/q2raddb.py,sha256=tMX971d_awTwiWeYLkZGSfdrIs88oiNHBAs2cMFvSbU,4685
17
17
  q2rad/q2reports.py,sha256=1fewf1Zlz98raqTIWlRLIg-zTCYA2flGVqyIC120UEU,84802
18
18
  q2rad/q2stylesettings.py,sha256=rEJLyLzsffJEXnMbg9bPB3KHLjYfw-49QgrtcYOfGV0,4769
19
19
  q2rad/q2utils.py,sha256=Vb5K8Lbb7PzQGDiBEHFrPyDcytVnUSVXy9yIkvWM1Oc,19734
20
- q2rad/version.py,sha256=Yg55j5Kpc4j7L2JTOD4XO90GgG_NmOIipe_KjVZ996s,23
21
- q2rad-0.1.220.dist-info/entry_points.txt,sha256=DmsJQE6f3wYuhdN2h6ARYxSe8_d03paeepfGpdVj5rs,42
22
- q2rad-0.1.220.dist-info/LICENSE,sha256=JRR3LlR18ghhYXT4G2cWgXmnxRvcuVcKlqncWWK4MRY,10347
23
- q2rad-0.1.220.dist-info/METADATA,sha256=4D6X3yn1DATbq926bwEaZW_m_qrHlDKPgY4GPDHmoGA,3369
24
- q2rad-0.1.220.dist-info/WHEEL,sha256=WGfLGfLX43Ei_YORXSnT54hxFygu34kMpcQdmgmEwCQ,88
25
- q2rad-0.1.220.dist-info/RECORD,,
20
+ q2rad/version.py,sha256=cAD9mqAwq0S1-BMh3hvd-bOW2U1IH16XAr4cwraQU60,23
21
+ q2rad-0.1.221.dist-info/entry_points.txt,sha256=DmsJQE6f3wYuhdN2h6ARYxSe8_d03paeepfGpdVj5rs,42
22
+ q2rad-0.1.221.dist-info/LICENSE,sha256=JRR3LlR18ghhYXT4G2cWgXmnxRvcuVcKlqncWWK4MRY,10347
23
+ q2rad-0.1.221.dist-info/METADATA,sha256=_pCl1FLf9OSMdKqMC6eH-8wYEg1xpviYD4I-bfGrXso,3369
24
+ q2rad-0.1.221.dist-info/WHEEL,sha256=WGfLGfLX43Ei_YORXSnT54hxFygu34kMpcQdmgmEwCQ,88
25
+ q2rad-0.1.221.dist-info/RECORD,,