q2rad 0.1.221__py3-none-any.whl → 0.1.223__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/q2actions.py +1 -0
- q2rad/q2appmanager.py +2 -1
- q2rad/q2extensions.py +2 -1
- q2rad/q2forms.py +1 -0
- q2rad/q2lines.py +2 -1
- q2rad/q2modules.py +2 -1
- q2rad/q2queries.py +1 -0
- q2rad/q2rad.py +129 -38
- q2rad/q2reports.py +1 -0
- q2rad/version.py +1 -1
- {q2rad-0.1.221.dist-info → q2rad-0.1.223.dist-info}/METADATA +1 -1
- q2rad-0.1.223.dist-info/RECORD +25 -0
- q2rad-0.1.221.dist-info/RECORD +0 -25
- {q2rad-0.1.221.dist-info → q2rad-0.1.223.dist-info}/LICENSE +0 -0
- {q2rad-0.1.221.dist-info → q2rad-0.1.223.dist-info}/WHEEL +0 -0
- {q2rad-0.1.221.dist-info → q2rad-0.1.223.dist-info}/entry_points.txt +0 -0
q2rad/q2actions.py
CHANGED
|
@@ -139,6 +139,7 @@ class Q2Actions(Q2Form, Q2_save_and_run):
|
|
|
139
139
|
self.add_control("/t", _("Comment"))
|
|
140
140
|
self.add_control("comment", gridlabel=_("Comments"), datatype="longtext", control="longtext")
|
|
141
141
|
self.add_control("/")
|
|
142
|
+
self.add_control("q2_time", "Time", datatype="int", noform=1, alignment=7)
|
|
142
143
|
self._add_save_and_run()
|
|
143
144
|
self._add_save_and_run_visible()
|
|
144
145
|
|
q2rad/q2appmanager.py
CHANGED
|
@@ -448,7 +448,8 @@ class AppManager(Q2Form):
|
|
|
448
448
|
return rez
|
|
449
449
|
|
|
450
450
|
def import_q2market(self):
|
|
451
|
-
self.q2_app.check_app_update(force_update=True)
|
|
451
|
+
if self.q2_app.check_app_update(force_update=True):
|
|
452
|
+
self.q2_app.open_selected_app()
|
|
452
453
|
|
|
453
454
|
def import_app(self, file=""):
|
|
454
455
|
filetype = "JSON(*.json)"
|
q2rad/q2extensions.py
CHANGED
|
@@ -160,7 +160,8 @@ class Q2Extensions(Q2Form):
|
|
|
160
160
|
def import_q2market(self):
|
|
161
161
|
q2market_url = self.r.q2market_url if self.r.q2market_url else self.q2_app.q2market_url
|
|
162
162
|
if q2market_url:
|
|
163
|
-
q2app.q2_app.check_ext_update(self.r.prefix, force_update=True)
|
|
163
|
+
if q2app.q2_app.check_ext_update(self.r.prefix, force_update=True):
|
|
164
|
+
q2app.q2_app.open_selected_app()
|
|
164
165
|
else:
|
|
165
166
|
q2Mess("No App URL!")
|
|
166
167
|
|
q2rad/q2forms.py
CHANGED
q2rad/q2lines.py
CHANGED
|
@@ -286,6 +286,7 @@ class Q2Lines(Q2Form, Q2_save_and_run):
|
|
|
286
286
|
datatype="longtext",
|
|
287
287
|
)
|
|
288
288
|
self.add_control("/")
|
|
289
|
+
self.add_control("q2_time", "Time", datatype="int", noform=1, alignment=7)
|
|
289
290
|
self._add_save_and_run()
|
|
290
291
|
self._add_save_and_run_visible()
|
|
291
292
|
|
|
@@ -300,7 +301,7 @@ class Q2Lines(Q2Form, Q2_save_and_run):
|
|
|
300
301
|
record = self.get_current_record()
|
|
301
302
|
record["table"] = self.db.get("forms", f"name = '{self.prev_form.r.name}'", "form_table")
|
|
302
303
|
if not q2app.q2_app.db_data.alter_column(record):
|
|
303
|
-
q2mess(self.db_data.migrate_error_list)
|
|
304
|
+
q2mess(self.q2_app.db_data.migrate_error_list)
|
|
304
305
|
|
|
305
306
|
def copy_to(self):
|
|
306
307
|
rows = self.get_grid_selected_rows()
|
q2rad/q2modules.py
CHANGED
|
@@ -56,7 +56,8 @@ class Q2Modules(Q2Form, Q2_save_and_run):
|
|
|
56
56
|
self.add_control("/t", "Comment")
|
|
57
57
|
self.add_control("comment", _("Comment"), control="text", dattype="text")
|
|
58
58
|
|
|
59
|
-
self.add_control("last_line", "Last line", datatype="int", noform=1, migrate=1)
|
|
59
|
+
self.add_control("last_line", "Last line", datatype="int", noform=1, migrate=1, nogrid=1)
|
|
60
|
+
self.add_control("q2_time", "Time", datatype="int", noform=1, alignment=7)
|
|
60
61
|
self.add_control("/")
|
|
61
62
|
|
|
62
63
|
cursor: Q2Cursor = self.q2_app.db_logic.table(table_name="modules", order="name")
|
q2rad/q2queries.py
CHANGED
|
@@ -63,6 +63,7 @@ class Q2Queries(Q2Form, Q2_save_and_run):
|
|
|
63
63
|
# readonly=1,
|
|
64
64
|
)
|
|
65
65
|
self.add_control("comment", _("Comment"), datatype="longtext", noform=1)
|
|
66
|
+
self.add_control("q2_time", "Time", datatype="int", noform=1, alignment=7)
|
|
66
67
|
self._add_save_and_run(save_only=True)
|
|
67
68
|
self._add_save_and_run_visible(save_only=True)
|
|
68
69
|
|
q2rad/q2rad.py
CHANGED
|
@@ -323,8 +323,8 @@ class Q2RadApp(Q2App):
|
|
|
323
323
|
Q2AppSelect().run(autoload_enabled)
|
|
324
324
|
if self.selected_application != {}:
|
|
325
325
|
self.open_selected_app(True, migrate_db_data=False)
|
|
326
|
-
self.check_app_update()
|
|
327
|
-
|
|
326
|
+
if self.check_app_update() or self.check_ext_update():
|
|
327
|
+
self.open_selected_app()
|
|
328
328
|
self.on_new_tab()
|
|
329
329
|
else:
|
|
330
330
|
self.close()
|
|
@@ -425,6 +425,16 @@ class Q2RadApp(Q2App):
|
|
|
425
425
|
data_schema.add(**x)
|
|
426
426
|
db_logic.set_schema(data_schema)
|
|
427
427
|
|
|
428
|
+
data_schema = Q2DbSchema()
|
|
429
|
+
for form in (
|
|
430
|
+
Q2Constants(),
|
|
431
|
+
Q2Extensions(),
|
|
432
|
+
):
|
|
433
|
+
for x in form.get_table_schema():
|
|
434
|
+
data_schema.add(**x)
|
|
435
|
+
|
|
436
|
+
self.db_data.set_schema(data_schema)
|
|
437
|
+
|
|
428
438
|
def get_autocompletition_list(self):
|
|
429
439
|
rez = []
|
|
430
440
|
tables = self.db_data.db_schema.get_schema_tables()
|
|
@@ -558,9 +568,11 @@ class Q2RadApp(Q2App):
|
|
|
558
568
|
if self.dev_mode:
|
|
559
569
|
self.add_menu("Dev|Forms", self.run_forms)
|
|
560
570
|
self.add_menu("Dev|Modules", self.run_modules)
|
|
561
|
-
self.add_menu("Dev|
|
|
571
|
+
self.add_menu("Dev|Queries", self.run_queries)
|
|
562
572
|
self.add_menu("Dev|Reports", self.run_reports)
|
|
563
573
|
self.add_menu("Dev|Packages", self.run_packages)
|
|
574
|
+
self.add_menu("Dev|-")
|
|
575
|
+
self.add_menu("Dev|Finder", self.run_finder)
|
|
564
576
|
if not self.frozen:
|
|
565
577
|
self.add_menu("Dev|-")
|
|
566
578
|
self.add_menu("Dev|Make binary", self.make_binary)
|
|
@@ -912,7 +924,7 @@ class Q2RadApp(Q2App):
|
|
|
912
924
|
except Exception as e: # noqa F841
|
|
913
925
|
self.show_statusbar_mess("An error occurred while checking for updates")
|
|
914
926
|
return
|
|
915
|
-
if force_update or market_version and market_version
|
|
927
|
+
if force_update or (market_version and market_version > self.app_version):
|
|
916
928
|
if force_update:
|
|
917
929
|
update_detected = f"You are about to rewrite current App <b>{self.app_title}</b>!"
|
|
918
930
|
else:
|
|
@@ -928,7 +940,8 @@ class Q2RadApp(Q2App):
|
|
|
928
940
|
):
|
|
929
941
|
data = json.load(open_url(self.app_url + ".json")) # noqa F405
|
|
930
942
|
AppManager.import_json_app(data)
|
|
931
|
-
self.open_selected_app()
|
|
943
|
+
# self.open_selected_app()
|
|
944
|
+
return True
|
|
932
945
|
|
|
933
946
|
def check_ext_update(self, prefix="", force_update=False, _ext_url=""):
|
|
934
947
|
if self.frozen:
|
|
@@ -937,6 +950,7 @@ class Q2RadApp(Q2App):
|
|
|
937
950
|
cu = q2cursor(f"select * from extensions where prefix='{prefix}'")
|
|
938
951
|
else:
|
|
939
952
|
cu = q2cursor(f"select * from extensions where checkupdates<>'' order by seq")
|
|
953
|
+
updated = None
|
|
940
954
|
for row in cu.records():
|
|
941
955
|
_prefix = row["prefix"]
|
|
942
956
|
|
|
@@ -953,8 +967,8 @@ class Q2RadApp(Q2App):
|
|
|
953
967
|
market_version = read_url(ext_url + ".version").decode("utf-8") # noqa F405
|
|
954
968
|
except Exception as e: # noqa F841
|
|
955
969
|
self.show_statusbar_mess("An error occurred while checking for updates")
|
|
956
|
-
|
|
957
|
-
if force_update or market_version and market_version
|
|
970
|
+
continue
|
|
971
|
+
if force_update or (market_version and market_version > ext_version):
|
|
958
972
|
if force_update:
|
|
959
973
|
update_detected = (
|
|
960
974
|
f"You are about to rewrite current Extension ({_prefix}) <b>{self.app_title}</b>!"
|
|
@@ -974,8 +988,10 @@ class Q2RadApp(Q2App):
|
|
|
974
988
|
):
|
|
975
989
|
data = json.load(open_url(ext_url + ".json")) # noqa F405
|
|
976
990
|
AppManager.import_json_app(data, prefix=_prefix)
|
|
977
|
-
update("extensions", {"prefix":row["prefix"], "version":market_version})
|
|
978
|
-
|
|
991
|
+
update("extensions", {"prefix": row["prefix"], "version": market_version})
|
|
992
|
+
updated = True
|
|
993
|
+
# self.open_selected_app()
|
|
994
|
+
return updated
|
|
979
995
|
|
|
980
996
|
def update_app_packages(self):
|
|
981
997
|
if self.frozen:
|
|
@@ -1115,6 +1131,77 @@ class Q2RadApp(Q2App):
|
|
|
1115
1131
|
def run_extensions(self):
|
|
1116
1132
|
Q2Extensions().run()
|
|
1117
1133
|
|
|
1134
|
+
def run_finder(self):
|
|
1135
|
+
class Q2Finder:
|
|
1136
|
+
def __init__(self, find_string):
|
|
1137
|
+
self.find_string = find_string
|
|
1138
|
+
|
|
1139
|
+
def get_columns_sql(self, table):
|
|
1140
|
+
return "select {{}} from {} where concat({}) like".format(
|
|
1141
|
+
table,
|
|
1142
|
+
", ".join([f"`{x}`" for x in q2app.q2_app.db_logic.get_database_columns(table).keys()]),
|
|
1143
|
+
)
|
|
1144
|
+
|
|
1145
|
+
def show_lines(self, table="lines"):
|
|
1146
|
+
sql = self.get_columns_sql(table).format("id") + " '%{}%'".format(self.find_string)
|
|
1147
|
+
where = "id in ({})".format(
|
|
1148
|
+
", ".join([x["id"] for x in q2cursor(sql, q2app.q2_app.db_logic).records()])
|
|
1149
|
+
)
|
|
1150
|
+
{"actions": Q2Actions, "lines": Q2Lines}[table]().run(where=where)
|
|
1151
|
+
|
|
1152
|
+
def show_other(self, table):
|
|
1153
|
+
sql = self.get_columns_sql(table).format("name") + " '%{}%'".format(self.find_string)
|
|
1154
|
+
where = "name in ({})".format(
|
|
1155
|
+
", ".join(['"' + x["name"] + '"' for x in q2cursor(sql, q2app.q2_app.db_logic).records()])
|
|
1156
|
+
)
|
|
1157
|
+
{"forms": Q2Forms, "reports": Q2Reports, "modules": Q2Modules, "queries": Q2Queries}[
|
|
1158
|
+
table
|
|
1159
|
+
]().run(where=where)
|
|
1160
|
+
|
|
1161
|
+
finder = Q2Form("Finder")
|
|
1162
|
+
|
|
1163
|
+
finder.add_control("find_string", "Find string", datalen=150)
|
|
1164
|
+
finder.add_control("/")
|
|
1165
|
+
finder.add_control("/h", "in")
|
|
1166
|
+
finder.add_control(
|
|
1167
|
+
"button",
|
|
1168
|
+
"Forms",
|
|
1169
|
+
control="button",
|
|
1170
|
+
valid=lambda: Q2Finder(finder.s.find_string).show_other("forms"),
|
|
1171
|
+
)
|
|
1172
|
+
finder.add_control(
|
|
1173
|
+
"button",
|
|
1174
|
+
"Lines",
|
|
1175
|
+
control="button",
|
|
1176
|
+
valid=lambda: Q2Finder(finder.s.find_string).show_lines("lines"),
|
|
1177
|
+
)
|
|
1178
|
+
finder.add_control(
|
|
1179
|
+
"button",
|
|
1180
|
+
"Actions",
|
|
1181
|
+
control="button",
|
|
1182
|
+
valid=lambda: Q2Finder(finder.s.find_string).show_lines("actions"),
|
|
1183
|
+
)
|
|
1184
|
+
finder.add_control(
|
|
1185
|
+
"button",
|
|
1186
|
+
"Modules",
|
|
1187
|
+
control="button",
|
|
1188
|
+
valid=lambda: Q2Finder(finder.s.find_string).show_other("modules"),
|
|
1189
|
+
)
|
|
1190
|
+
finder.add_control(
|
|
1191
|
+
"button",
|
|
1192
|
+
"Queries",
|
|
1193
|
+
control="button",
|
|
1194
|
+
valid=lambda: Q2Finder(finder.s.find_string).show_other("queries"),
|
|
1195
|
+
)
|
|
1196
|
+
finder.add_control(
|
|
1197
|
+
"button",
|
|
1198
|
+
"Reports",
|
|
1199
|
+
control="button",
|
|
1200
|
+
valid=lambda: Q2Finder(finder.s.find_string).show_other("reports"),
|
|
1201
|
+
)
|
|
1202
|
+
finder.cancel_button = 1
|
|
1203
|
+
finder.run()
|
|
1204
|
+
|
|
1118
1205
|
def make_binary(self):
|
|
1119
1206
|
make_binary(self)
|
|
1120
1207
|
|
|
@@ -1199,12 +1286,12 @@ class Q2RadApp(Q2App):
|
|
|
1199
1286
|
form.after_delete = self.code_runner(form_dic["after_delete"], form)
|
|
1200
1287
|
|
|
1201
1288
|
# add controls
|
|
1202
|
-
for
|
|
1203
|
-
|
|
1204
|
-
if
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
form.add_control(**
|
|
1289
|
+
for control in cu.records():
|
|
1290
|
+
control["valid"] = self.code_runner(control["valid"], form)
|
|
1291
|
+
if control.get("_show"):
|
|
1292
|
+
control["show"] = self.code_runner(control["_show"], form)
|
|
1293
|
+
control["when"] = self.code_runner(control["_when"], form)
|
|
1294
|
+
form.add_control(**control)
|
|
1208
1295
|
run_module("_e_control", _locals=locals())
|
|
1209
1296
|
|
|
1210
1297
|
# add datasource
|
|
@@ -1235,14 +1322,14 @@ class Q2RadApp(Q2App):
|
|
|
1235
1322
|
ext_select = ""
|
|
1236
1323
|
sql = f"select * from (select * from actions where name = '{name}' order by seq ) qq {ext_select}"
|
|
1237
1324
|
cu = q2cursor(sql, self.db_logic)
|
|
1238
|
-
for
|
|
1239
|
-
if
|
|
1325
|
+
for action in cu.records():
|
|
1326
|
+
if action["action_mode"] == "1":
|
|
1240
1327
|
form.add_action("/crud")
|
|
1241
|
-
elif
|
|
1328
|
+
elif action["action_mode"] == "3":
|
|
1242
1329
|
form.add_action("-")
|
|
1243
1330
|
else:
|
|
1244
|
-
if
|
|
1245
|
-
child_form_name =
|
|
1331
|
+
if action["child_form"] and action["child_where"]:
|
|
1332
|
+
child_form_name = action["child_form"]
|
|
1246
1333
|
|
|
1247
1334
|
def get_action_form(child_form_name):
|
|
1248
1335
|
def worker():
|
|
@@ -1251,29 +1338,33 @@ class Q2RadApp(Q2App):
|
|
|
1251
1338
|
return worker
|
|
1252
1339
|
|
|
1253
1340
|
form.add_action(
|
|
1254
|
-
|
|
1255
|
-
self.code_runner(
|
|
1341
|
+
action["action_text"],
|
|
1342
|
+
self.code_runner(action["action_worker"]) if action["action_worker"] else None,
|
|
1256
1343
|
child_form=get_action_form(child_form_name),
|
|
1257
|
-
child_where=
|
|
1258
|
-
hotkey=
|
|
1259
|
-
mess=
|
|
1260
|
-
icon=
|
|
1261
|
-
tag=
|
|
1262
|
-
child_noshow=
|
|
1263
|
-
child_copy_mode=
|
|
1344
|
+
child_where=action["child_where"],
|
|
1345
|
+
hotkey=action["action_key"],
|
|
1346
|
+
mess=action["action_mess"],
|
|
1347
|
+
icon=action["action_icon"],
|
|
1348
|
+
tag=action["tag"],
|
|
1349
|
+
child_noshow=action["child_noshow"],
|
|
1350
|
+
child_copy_mode=action["child_copy_mode"],
|
|
1264
1351
|
eof_disabled=1,
|
|
1265
1352
|
)
|
|
1266
1353
|
else:
|
|
1267
1354
|
form.add_action(
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1355
|
+
action["action_text"],
|
|
1356
|
+
(
|
|
1357
|
+
self.code_runner(action["action_worker"], form=form)
|
|
1358
|
+
if action["action_worker"]
|
|
1359
|
+
else None
|
|
1360
|
+
),
|
|
1361
|
+
hotkey=action["action_key"],
|
|
1362
|
+
icon=action["action_icon"],
|
|
1363
|
+
mess=action["action_mess"],
|
|
1364
|
+
tag=action["tag"],
|
|
1365
|
+
child_noshow=action["child_noshow"],
|
|
1366
|
+
child_copy_mode=action["child_copy_mode"],
|
|
1367
|
+
eof_disabled=action["eof_disabled"],
|
|
1277
1368
|
)
|
|
1278
1369
|
run_module("_e_action", _locals=locals())
|
|
1279
1370
|
return form
|
q2rad/q2reports.py
CHANGED
|
@@ -241,6 +241,7 @@ class Q2Reports(Q2Form, Q2_save_and_run):
|
|
|
241
241
|
noform=1,
|
|
242
242
|
)
|
|
243
243
|
self.add_control("comment", _("Comment"), datatype="text", noform=1)
|
|
244
|
+
self.add_control("q2_time", "Time", datatype="int", noform=1, alignment=7)
|
|
244
245
|
self._add_save_and_run(save_only=True)
|
|
245
246
|
self._add_save_and_run_visible(save_only=True)
|
|
246
247
|
|
q2rad/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "0.1.
|
|
1
|
+
__version__ = "0.1.223"
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
q2rad/__init__.py,sha256=Y0Up-UTXOmCYC9llNmTF10CpDDgF2kv10pyHT3-YwmQ,183
|
|
2
|
+
q2rad/__main__.py,sha256=zP4JARM-FzFHM-vWLehx7c5N4v4m_F-TuMobCdFzr4Q,824
|
|
3
|
+
q2rad/q2actions.py,sha256=sZftIHXmrVRnmkHVA51foSyAel9ziIa82rAZq03OPh4,8342
|
|
4
|
+
q2rad/q2appmanager.py,sha256=8btKbT_NGBlNxscINVQnpdkLZ032OuvnFeYbXda4Xnw,20616
|
|
5
|
+
q2rad/q2appselector.py,sha256=bjl4MDg9DoU1h6NZOQDElaIGURjVQwiHnsUwr3kp3nc,18813
|
|
6
|
+
q2rad/q2constants.py,sha256=dQtN4OMvZw0FATDAFYjolI7eGMVUnNnbTl6qM-ggZ4I,3416
|
|
7
|
+
q2rad/q2extensions.py,sha256=ZAY2gXKjun666PeYfnqGH0X17ZmTgaOMmjCvxAIltJI,7595
|
|
8
|
+
q2rad/q2forms.py,sha256=U19O_zgLrIk0IXCEzscHhQTSIbgW8XS3ftO2ktEHJvo,11206
|
|
9
|
+
q2rad/q2lines.py,sha256=wm6U_WM2K3C9TLI8971_IYcjtUghlBUdIliMAhEESt0,19276
|
|
10
|
+
q2rad/q2make.py,sha256=wXoyBUwf2zaAl9JjWDCbjAteUElRq0O7ippyaMY9eug,6476
|
|
11
|
+
q2rad/q2market.py,sha256=RNXTNv-fFUgbzBGhHPNXlzGjsAHAtz71BRbTErJarNo,2641
|
|
12
|
+
q2rad/q2modules.py,sha256=RwemVJwfxth0lBN4K96tKz62VOW71C7CmmKyhIoH5mc,4632
|
|
13
|
+
q2rad/q2packages.py,sha256=y72L1RAw1OgtKGaL8lJ1KHIaers5I6kTZSiphwwrY0M,3808
|
|
14
|
+
q2rad/q2queries.py,sha256=YYJEpC_0rXAV8W_lx2604yqnkooHzheFmDCfqbW02zY,13203
|
|
15
|
+
q2rad/q2rad.py,sha256=ObbJUrt_-3Tqu5hrMxY7GXlvkM7FBX8g6TlKBs7IGTo,55887
|
|
16
|
+
q2rad/q2raddb.py,sha256=tMX971d_awTwiWeYLkZGSfdrIs88oiNHBAs2cMFvSbU,4685
|
|
17
|
+
q2rad/q2reports.py,sha256=np_Yfjy7oiQCK9MrFDlD9ojx1dIt6Yg3QqHkJbnjT6w,84886
|
|
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,,
|
q2rad-0.1.221.dist-info/RECORD
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
q2rad/__init__.py,sha256=Y0Up-UTXOmCYC9llNmTF10CpDDgF2kv10pyHT3-YwmQ,183
|
|
2
|
-
q2rad/__main__.py,sha256=zP4JARM-FzFHM-vWLehx7c5N4v4m_F-TuMobCdFzr4Q,824
|
|
3
|
-
q2rad/q2actions.py,sha256=eExRvOSyLhT_v1XCR-DmLEhQ9g_LRkrlyXnwDCjT0LM,8258
|
|
4
|
-
q2rad/q2appmanager.py,sha256=4c1h5I_7f4S7Ef9nDnDQthRqPC-uyK8v8B8zmhdhtr0,20567
|
|
5
|
-
q2rad/q2appselector.py,sha256=bjl4MDg9DoU1h6NZOQDElaIGURjVQwiHnsUwr3kp3nc,18813
|
|
6
|
-
q2rad/q2constants.py,sha256=dQtN4OMvZw0FATDAFYjolI7eGMVUnNnbTl6qM-ggZ4I,3416
|
|
7
|
-
q2rad/q2extensions.py,sha256=iQz8_GlMCm8g9LOR3aP3YSBgi9rD5i1YkuNaxRiTn5g,7541
|
|
8
|
-
q2rad/q2forms.py,sha256=e9FrhXjvi9ZmrhRBmnmsHoPxDQJqsanLnsPjY6rjaQI,11122
|
|
9
|
-
q2rad/q2lines.py,sha256=hGdEOdUmBdBpfJ4jHBrXR4gLRXCrgn0dlywsH8nbJ6Q,19185
|
|
10
|
-
q2rad/q2make.py,sha256=wXoyBUwf2zaAl9JjWDCbjAteUElRq0O7ippyaMY9eug,6476
|
|
11
|
-
q2rad/q2market.py,sha256=RNXTNv-fFUgbzBGhHPNXlzGjsAHAtz71BRbTErJarNo,2641
|
|
12
|
-
q2rad/q2modules.py,sha256=SpDdXJPG6IcVz1u3xnLoynA2rmiODCNZTZJT8s5iTRI,4538
|
|
13
|
-
q2rad/q2packages.py,sha256=y72L1RAw1OgtKGaL8lJ1KHIaers5I6kTZSiphwwrY0M,3808
|
|
14
|
-
q2rad/q2queries.py,sha256=l9SJ_T5Y38p23xa505EPZocCEmFw_a2y4ck0_-AHVP0,13119
|
|
15
|
-
q2rad/q2rad.py,sha256=5IfUu4VHhqVuygem5ZwWFdj1WL_1VyXSKLngaVtbxbo,52313
|
|
16
|
-
q2rad/q2raddb.py,sha256=tMX971d_awTwiWeYLkZGSfdrIs88oiNHBAs2cMFvSbU,4685
|
|
17
|
-
q2rad/q2reports.py,sha256=1fewf1Zlz98raqTIWlRLIg-zTCYA2flGVqyIC120UEU,84802
|
|
18
|
-
q2rad/q2stylesettings.py,sha256=rEJLyLzsffJEXnMbg9bPB3KHLjYfw-49QgrtcYOfGV0,4769
|
|
19
|
-
q2rad/q2utils.py,sha256=Vb5K8Lbb7PzQGDiBEHFrPyDcytVnUSVXy9yIkvWM1Oc,19734
|
|
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
|