q2rad 0.1.227__py3-none-any.whl → 0.1.229__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
@@ -17,6 +17,7 @@ import os
17
17
  import re
18
18
  import threading
19
19
  from packaging import version
20
+ import webbrowser
20
21
 
21
22
  if __name__ == "__main__":
22
23
  sys.path.insert(0, ".")
@@ -575,6 +576,8 @@ class Q2RadApp(Q2App):
575
576
  self.add_menu("Dev|Packages", self.run_packages)
576
577
  self.add_menu("Dev|-")
577
578
  self.add_menu("Dev|Finder", self.run_finder)
579
+ self.add_menu("Dev|-")
580
+ self.add_menu("Dev|Documentation", self.read_the_docs)
578
581
  if not self.frozen:
579
582
  self.add_menu("Dev|-")
580
583
  self.add_menu("Dev|Make binary", self.make_binary)
@@ -1204,6 +1207,9 @@ class Q2RadApp(Q2App):
1204
1207
  finder.cancel_button = 1
1205
1208
  finder.run()
1206
1209
 
1210
+ def read_the_docs(self):
1211
+ webbrowser.open_new_tab("https://github.com/AndreiPuchko/q2rad/blob/main/docs/index.md")
1212
+
1207
1213
  def make_binary(self):
1208
1214
  make_binary(self)
1209
1215
 
q2rad/q2raddb.py CHANGED
@@ -179,41 +179,45 @@ def ensure_empty_pk(table="", row={}, q2_db=None):
179
179
 
180
180
 
181
181
  def dtoc(date, format_from="%Y-%m-%d", format_to="%d.%m.%Y"):
182
- return datetime.datetime.strptime(date, format_from).strftime(format_to)
182
+ try:
183
+ return datetime.datetime.strptime(date, format_from).strftime(format_to)
184
+ except Exception:
185
+ return ""
183
186
 
184
187
 
185
188
  def ctod(date, format_from="%d.%m.%Y", format_to="%Y-%m-%d"):
186
- return dtoc(date, format_from, format_to)
189
+ try:
190
+ return dtoc(date, format_from, format_to)
191
+ except Exception:
192
+ return ""
187
193
 
188
194
 
189
195
  def first_day_of_month(date):
190
- _date = datetime.datetime.strptime(date, "%Y-%m-%d")
191
- _date = _date.replace(day=1)
192
- return _date.strftime("%Y-%m-%d")
196
+ try:
197
+ _date = datetime.datetime.strptime(date, "%Y-%m-%d")
198
+ _date = _date.replace(day=1)
199
+ return _date.strftime("%Y-%m-%d")
200
+ except Exception:
201
+ return date
193
202
 
194
203
 
195
204
  def last_day_of_month(date):
196
- _date = datetime.datetime.strptime(date, "%Y-%m-%d")
197
- _date = _date.replace(day=calendar.monthrange(_date.year, _date.month)[1])
198
- return _date.strftime("%Y-%m-%d")
199
-
200
-
201
- def ffinder(module_name="module", function_name="fname"):
202
- from q2rad.q2rad import run_module
203
- run_module(module_name, import_only=True)
204
205
  try:
205
- is_callable = eval(f"callable({function_name})")
206
+ _date = datetime.datetime.strptime(date, "%Y-%m-%d")
207
+ _date = _date.replace(day=calendar.monthrange(_date.year, _date.month)[1])
208
+ return _date.strftime("%Y-%m-%d")
206
209
  except Exception:
207
- is_callable = False
210
+ return date
208
211
 
209
- if not is_callable:
210
212
 
213
+ def ffinder(module_name="module", function_name="fname"):
214
+ from q2rad.q2rad import run_module
215
+ glo = {}
216
+ glo.update(globals())
217
+ run_module(module_name, import_only=True, _globals = glo)
218
+ if function_name in glo:
219
+ return glo[function_name]
220
+ else:
211
221
  def empty_function(*args, **kwargs):
212
222
  pass
213
-
214
- return empty_function
215
- else:
216
- try:
217
- return locals()[function_name]
218
- except:
219
- return globals()[function_name]
223
+ return empty_function
q2rad/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.1.227"
1
+ __version__ = "0.1.229"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: q2rad
3
- Version: 0.1.227
3
+ Version: 0.1.229
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=IDMsNAz2C4oqO1-74L-Tn3Dh0AK8xhNVo3wG-RINNBk,56464
16
- q2rad/q2raddb.py,sha256=nHyMJWWL-N9WmzUiCEUzgsWOPwQ2jnb3VvqAsgRmWMY,5871
15
+ q2rad/q2rad.py,sha256=UXKZyUPHm3hBAWIm4xLLGgD4ey9YBzNv_TiV5PcvNXk,56717
16
+ q2rad/q2raddb.py,sha256=1Xw3W73JJqp-emy4pGEqzYEvDCA3EbKMDVJk9vy06yQ,5964
17
17
  q2rad/q2reports.py,sha256=tAOm54_P_NN8nRDsZy8N6vbw0YOTNQ_9xtvT6NMG724,86155
18
18
  q2rad/q2stylesettings.py,sha256=rEJLyLzsffJEXnMbg9bPB3KHLjYfw-49QgrtcYOfGV0,4769
19
19
  q2rad/q2utils.py,sha256=APe6BIdjDY5B6V_iuy-2oRyh3UPAzc8kJmPZJY5AojA,19767
20
- q2rad/version.py,sha256=s4tYtTMNylH4rRoXKgbLdplQUDFEFcPmp_Iwg5eff7g,23
21
- q2rad-0.1.227.dist-info/entry_points.txt,sha256=DmsJQE6f3wYuhdN2h6ARYxSe8_d03paeepfGpdVj5rs,42
22
- q2rad-0.1.227.dist-info/LICENSE,sha256=JRR3LlR18ghhYXT4G2cWgXmnxRvcuVcKlqncWWK4MRY,10347
23
- q2rad-0.1.227.dist-info/METADATA,sha256=MZm3utEA8ATzjzM4T7jPAwJDWPSy3fVbRp56SQtweAQ,3369
24
- q2rad-0.1.227.dist-info/WHEEL,sha256=WGfLGfLX43Ei_YORXSnT54hxFygu34kMpcQdmgmEwCQ,88
25
- q2rad-0.1.227.dist-info/RECORD,,
20
+ q2rad/version.py,sha256=3WYNDlI76rf-ifc1F5P0_TvT2g3oxAGkakmiwbfV3Qk,23
21
+ q2rad-0.1.229.dist-info/entry_points.txt,sha256=DmsJQE6f3wYuhdN2h6ARYxSe8_d03paeepfGpdVj5rs,42
22
+ q2rad-0.1.229.dist-info/LICENSE,sha256=JRR3LlR18ghhYXT4G2cWgXmnxRvcuVcKlqncWWK4MRY,10347
23
+ q2rad-0.1.229.dist-info/METADATA,sha256=8SyObMznDt_-mxEouo7K62ufrbrE48s4N4osy3gPE6Q,3369
24
+ q2rad-0.1.229.dist-info/WHEEL,sha256=WGfLGfLX43Ei_YORXSnT54hxFygu34kMpcQdmgmEwCQ,88
25
+ q2rad-0.1.229.dist-info/RECORD,,