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 +1 -1
- q2rad/q2extensions.py +41 -0
- q2rad/q2forms.py +1 -1
- q2rad/q2lines.py +2 -1
- q2rad/q2modules.py +7 -3
- q2rad/q2rad.py +12 -8
- q2rad/version.py +1 -1
- {q2rad-0.1.220.dist-info → q2rad-0.1.221.dist-info}/METADATA +1 -1
- {q2rad-0.1.220.dist-info → q2rad-0.1.221.dist-info}/RECORD +12 -12
- {q2rad-0.1.220.dist-info → q2rad-0.1.221.dist-info}/LICENSE +0 -0
- {q2rad-0.1.220.dist-info → q2rad-0.1.221.dist-info}/WHEEL +0 -0
- {q2rad-0.1.220.dist-info → q2rad-0.1.221.dist-info}/entry_points.txt +0 -0
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
|
-
|
|
340
|
-
|
|
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,
|
|
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
|
|
940
|
-
ext_url = f"{
|
|
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.
|
|
1
|
+
__version__ = "0.1.221"
|
|
@@ -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
|
|
5
|
+
q2rad/q2appselector.py,sha256=bjl4MDg9DoU1h6NZOQDElaIGURjVQwiHnsUwr3kp3nc,18813
|
|
6
6
|
q2rad/q2constants.py,sha256=dQtN4OMvZw0FATDAFYjolI7eGMVUnNnbTl6qM-ggZ4I,3416
|
|
7
|
-
q2rad/q2extensions.py,sha256=
|
|
8
|
-
q2rad/q2forms.py,sha256=
|
|
9
|
-
q2rad/q2lines.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
21
|
-
q2rad-0.1.
|
|
22
|
-
q2rad-0.1.
|
|
23
|
-
q2rad-0.1.
|
|
24
|
-
q2rad-0.1.
|
|
25
|
-
q2rad-0.1.
|
|
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,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|