radboy 0.0.539__py3-none-any.whl → 0.0.540__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 radboy might be problematic. Click here for more details.

Binary file
radboy/DB/db.py CHANGED
@@ -32,19 +32,30 @@ import platform
32
32
  from uuid import uuid1
33
33
  import sys
34
34
  from inputimeout import inputimeout, TimeoutOccurred
35
-
35
+ def remove_illegals(text):
36
+ if isinstance(text,str):
37
+ iis=['*','/','\\','?','[',']',':',"\""]
38
+ for i in iis:
39
+ text=text.replace(i,f' BCO_UC_{ord(i)} ')
40
+ return text
41
+ else:
42
+ return text
43
+
36
44
  def strip_colors(colored_text):
37
- text=colored_text
38
- colors=[getattr(Fore,i) for i in Fore._COLORS]
39
- colors2=[getattr(Fore,i) for i in Back._COLORS]
40
- styles3=[getattr(Style,i) for i in Style._STYLES]
41
- #text=''.join([i for i in text if i in string.printable])
42
- escape_codes=[]
43
- escape_codes.extend(colors)
44
- escape_codes.extend(colors2)
45
- escape_codes.extend(styles3)
46
- for i in escape_codes:
47
- text=text.replace(i,'')
45
+ if isinstance(colored_text,str):
46
+ text=colored_text
47
+ colors=[getattr(Fore,i) for i in Fore._COLORS]
48
+ colors2=[getattr(Back,i) for i in Back._COLORS]
49
+ styles3=[getattr(Style,i) for i in Style._STYLES]
50
+ #text=''.join([i for i in text if i in string.printable])
51
+ escape_codes=[]
52
+ escape_codes.extend(colors)
53
+ escape_codes.extend(colors2)
54
+ escape_codes.extend(styles3)
55
+ for i in escape_codes:
56
+ text=text.replace(i,'')
57
+ else:
58
+ return colored_text
48
59
  return text
49
60
 
50
61
  class BOOLEAN_ANSWERS:
@@ -267,26 +267,80 @@ class HealthLogUi:
267
267
  print(e)
268
268
 
269
269
  def export_log(self):
270
+ useDateRange=Prompt.__init2__(None,func=FormBuilderMkText,ptext="use a date range?",helpText="yes or no",data="boolean")
271
+ if useDateRange is None:
272
+ return
273
+ elif useDateRange in ['d',]:
274
+ useDateRange=True
270
275
  output=Path("HealthLogAll.xlsx")
271
276
  with Session(ENGINE) as session:
272
277
  query=session.query(HealthLog)
273
278
  query=orderQuery(query,HealthLog.DTOE)
279
+ if useDateRange:
280
+ default_sd=datetime.now()-timedelta(days=30)
281
+ start_date=Prompt.__init2__(None,func=FormBuilderMkText,ptext=f"Start Date(default = {default_sd}):",helpText="start date",data="datetime")
282
+ if start_date is None:
283
+ return
284
+ elif start_date in ['d',]:
285
+ start_date=default_sd
286
+
287
+ default_ed=datetime.now()
288
+ end_date=Prompt.__init2__(None,func=FormBuilderMkText,ptext=f"End Date(default = {default_ed}):",helpText="end date",data="datetime")
289
+ if end_date is None:
290
+ return
291
+ elif end_date in ['d',]:
292
+ end_date=default_ed
293
+
294
+ query=query.filter(and_(HealthLog.DTOE>=start_date,HealthLog.DTOE<=end_date))
295
+
274
296
  df=pd.read_sql(query.statement,session.bind)
297
+
298
+ #str.replace(lambda x:x,lambda x:strip_colors(x))
299
+ #df=df.apply(remove_illegals)
300
+ for i in df:
301
+ df[i]=df[i].apply(lambda x:remove_illegals(strip_colors(x)) if isinstance(x,str) else x)
302
+ #df[i]=df[i].apply(remove_illegals)
275
303
  df.to_excel(output,index=False)
276
304
  print(output.absolute())
277
305
 
278
306
  def export_log_field(self,fields=[],not_none=[]):
307
+ useDateRange=Prompt.__init2__(None,func=FormBuilderMkText,ptext="use a date range?",helpText="yes or no",data="boolean")
308
+ if useDateRange is None:
309
+ return
310
+ elif useDateRange in ['d',]:
311
+ useDateRange=True
312
+
279
313
  if 'DTOE' not in fields:
280
314
  fields.append('DTOE')
281
315
  if 'Comments' not in fields:
282
316
  fields.append('Comments')
283
- output=Path(f"HealthLog-{'_'.join(fields)}.xlsx")
317
+ output=Path(f"HealthLog-fields.xlsx")
284
318
  not_none=[i for i in HealthLog.__table__.columns if str(i.name) in not_none]
285
319
  with Session(ENGINE) as session:
286
320
  query=session.query(HealthLog).filter(or_(*[i!=None for i in not_none]))
287
321
  query=orderQuery(query,HealthLog.DTOE)
322
+ if useDateRange:
323
+ default_sd=datetime.now()-timedelta(days=30)
324
+ start_date=Prompt.__init2__(None,func=FormBuilderMkText,ptext=f"Start Date(default = {default_sd}):",helpText="start date",data="datetime")
325
+ if start_date is None:
326
+ return
327
+ elif start_date in ['d',]:
328
+ start_date=default_sd
329
+
330
+ default_ed=datetime.now()
331
+ end_date=Prompt.__init2__(None,func=FormBuilderMkText,ptext=f"End Date(default = {default_ed}):",helpText="end date",data="datetime")
332
+ if end_date is None:
333
+ return
334
+ elif end_date in ['d',]:
335
+ end_date=default_ed
336
+
337
+ query=query.filter(and_(HealthLog.DTOE>=start_date,HealthLog.DTOE<=end_date))
338
+ query=orderQuery(query,HealthLog.DTOE)
288
339
  df=pd.read_sql(query.statement,session.bind)
340
+
289
341
  df=df[fields]
342
+ for i in df:
343
+ df[i]=df[i].apply(lambda x:remove_illegals(strip_colors(x)) if isinstance(x,str) else x)
290
344
  df.to_excel(output,index=False)
291
345
  print(output.absolute())
292
346
 
@@ -662,6 +716,11 @@ class HealthLogUi:
662
716
  'desc':'list height',
663
717
  'exec':lambda self=self:self.showAllField(fields=['Height','HeightUnitName'],not_none=['Height',])
664
718
  },
719
+ 'ls welsh':{
720
+ 'cmds':['ls welsh','list welsh'],
721
+ 'desc':'list data for diabete\'s dr.',
722
+ 'exec':lambda self=self:self.showAllField(fields=['BloodSugar','BloodSugarUnitName','LongActingInsulinName','LongActingInsulinTaken','LongActingInsulinUnitName','ShortActingInsulinName','ShortActingInsulinTaken','ShortActingInsulinUnitName','HeartRate','HeartRateUnitName','DrugConsumed','DrugQtyConsumed','DrugQtyConsumedUnitName','CarboHydrateIntake','CarboHydrateIntakeUnitName','Comments',],not_none=['Comments',])
723
+ },
665
724
  'ls consumed':{
666
725
  'cmds':['lsfd','ls fd','ls food','lfd','ls fuel','ls fl','lfl'],
667
726
  'desc':'list food',
@@ -720,6 +779,16 @@ class HealthLogUi:
720
779
  'desc':'export height',
721
780
  'exec':lambda self=self:self.export_log_field(fields=['Height','HeightUnitName'],not_none=['Height',])
722
781
  },
782
+ 'xpt cmts':{
783
+ 'cmds':['xptcmts','xpt cmts','xpt cmt',],
784
+ 'desc':'export height',
785
+ 'exec':lambda self=self:self.export_log_field(fields=['Comments',],not_none=['Comments',])
786
+ },
787
+ 'xpt welsh':{
788
+ 'cmds':['export welsh','xpt welsh'],
789
+ 'desc':'export data for diabete\'s dr.',
790
+ 'exec':lambda self=self:self.export_log_field(fields=['BloodSugar','BloodSugarUnitName','LongActingInsulinName','LongActingInsulinTaken','LongActingInsulinUnitName','ShortActingInsulinName','ShortActingInsulinTaken','ShortActingInsulinUnitName','HeartRate','HeartRateUnitName','DrugConsumed','DrugQtyConsumed','DrugQtyConsumedUnitName','CarboHydrateIntake','CarboHydrateIntakeUnitName','Comments',],not_none=['Comments',])
791
+ },
723
792
  'xpt consumed':{
724
793
  'cmds':['xptfd','xpt fd','xpt food','lfd','xpt fuel','xpt fl','xlfl'],
725
794
  'desc':'export food',
radboy/__init__.py CHANGED
@@ -1 +1 @@
1
- VERSION='0.0.539'
1
+ VERSION='0.0.540'
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: radboy
3
- Version: 0.0.539
3
+ Version: 0.0.540
4
4
  Summary: A Retail Calculator for Android/Linux
5
5
  Author: Carl Joseph Hirner III
6
6
  Author-email: Carl Hirner III <k.j.hirner.wisdom@gmail.com>
@@ -5,7 +5,7 @@ radboy/Holidays.txt,sha256=y-JZPihh5iaWKxMIHNXD39yVuVmf1vMs4FdNDcg0f1Y,3114
5
5
  radboy/InventoryGlossary.txt,sha256=018-Yqca6DFb10jPdkUY-5qhkRlQN1k3rxoTaERQ-LA,91008
6
6
  radboy/RecordMyCodes.py,sha256=Lt2reA6xchq3U7Y08DvkrHboZ25i1ts7X2E9gSIwcVg,41101
7
7
  radboy/Run.py,sha256=JUoCTHnzQBv7n8PB2_i93ANdAC_iW__RkAge8esCnk4,76
8
- radboy/__init__.py,sha256=XZEkE6ptPqnIDOuoFV2zEYd7MEoLvdmgetfPoEH6XQ8,17
8
+ radboy/__init__.py,sha256=IN39UFe_BpEb1kjIOEJ_13ex057coNV2ABypTjPJhf8,17
9
9
  radboy/api_key,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  radboy/case-export-2024-05-14-13-10-00.672971.xlsx,sha256=Wd592d_VLFmfUI9KKKSVjNwjV91euc1T7ATyvwvUhlg,5431
11
11
  radboy/case-export-2024-05-14-13-13-22.540614.xlsx,sha256=OnGrhmScHfGp_mVaWW-LNMsqrQgyZDpiU3wV-2s3U5Q,5556
@@ -91,7 +91,7 @@ radboy/DB/SMLabelImporter.py,sha256=eUoBDxVUUEKGL2g_PwkASM67ZB7FmXtSnn4bCagskhY,
91
91
  radboy/DB/__init__.py,sha256=JiigA9B7GalP7YuRdcwyGDu5PDSBahoi0lLjtScxlN8,49
92
92
  radboy/DB/blankDataFile.py,sha256=YX_05Usi71UpDkZN9UTMYwUipbTndTAtEgqzBEga0kE,9285
93
93
  radboy/DB/config.py,sha256=bvu43dUl1_yO3Zq3gsLuenGUgJSiS3S9Cs6ppFEvZbg,239
94
- radboy/DB/db.py,sha256=b47WCPLuTztsyeqhL3tguCvgg0ngRCygAe1zBBHNmzA,249742
94
+ radboy/DB/db.py,sha256=k2PqEz2g3_fhnDwaAsuQzZCK5w39MvCso5JyHvL29dA,250099
95
95
  radboy/DB/glossary_db.py,sha256=1_qxeEpjjEtpWB_eDjsgJisimLv7OBm75MuqM-Lt6zg,28218
96
96
  radboy/DB/masterLookup.py,sha256=DBaM2uscG3_X5dek49wjdnOzhrjWhKgvOEz_umdz0mY,4566
97
97
  radboy/DB/msg.txt,sha256=YxWed6A6tuP1djJ5QPS2Rz3ING4TKKf8kUiCCPtzHXE,7937
@@ -126,7 +126,7 @@ radboy/DB/__pycache__/config.cpython-312.pyc,sha256=Qo7E6MHrF6yqvKgepNFyCoekZXiv
126
126
  radboy/DB/__pycache__/config.cpython-313.pyc,sha256=_8wCIg_3jhyJjxnExD2Sm6aY-uZTw036p7Ki5znL7dc,376
127
127
  radboy/DB/__pycache__/db.cpython-311.pyc,sha256=rNgigyBd0D-cg1JxKAS8t0B_k0IEJivgVlRaZE10Xis,210105
128
128
  radboy/DB/__pycache__/db.cpython-312.pyc,sha256=ANDJPC0RoavbmSKFxG15vC7B4rEGyVt7xRJt7XGY3OA,334609
129
- radboy/DB/__pycache__/db.cpython-313.pyc,sha256=FHc5BCSxQOBWuGWGR2Pza2Q_xFE1EazGt3ix8NQHzq0,394073
129
+ radboy/DB/__pycache__/db.cpython-313.pyc,sha256=LLReDWyLt1f7770vYYqzAQb_YAn8HwJmAIFgfw8zIKo,394549
130
130
  radboy/DB/__pycache__/glossary_db.cpython-312.pyc,sha256=8UL-29cKqtKovx0BANm6kzKKteef1BW_2qF3wumzst4,36023
131
131
  radboy/DB/__pycache__/glossary_db.cpython-313.pyc,sha256=Ke9bkvllGv5CK0JdT9DRvQ3MOdrXxoYv7TVLNkqLux0,36582
132
132
  radboy/DB/__pycache__/masterLookup.cpython-312.pyc,sha256=bQiOkmMwwHgcO18tYSWGQ-YUff4GQlKVhBMp1GoWAqY,6324
@@ -209,10 +209,10 @@ radboy/GeoTools/__pycache__/GeoClass.cpython-313.pyc,sha256=eZ6hpLKoic1XCb7BKKg-
209
209
  radboy/GeoTools/__pycache__/OSMClass.cpython-312.pyc,sha256=5RoT8_wiI8R7yb_B9FWIC7mALdGNoqyWtkzsjM2pbh0,40387
210
210
  radboy/GeoTools/__pycache__/__init__.cpython-312.pyc,sha256=Y7Xtrzwm44-xuY_4NK8aDjYfVmXIzUFWOyexJu9le8A,1238
211
211
  radboy/GeoTools/__pycache__/__init__.cpython-313.pyc,sha256=-bk9eEIxWZgHYZHtNJbrpubDRWkbdYNkGr5J7sVhyIE,1238
212
- radboy/HealthLog/HealthLog.py,sha256=2Yir-gjhCLp0JT4Df0akgc8fbLPFoITjGeJ1JwQyoLU,29623
212
+ radboy/HealthLog/HealthLog.py,sha256=5fcJlfHrxcdeOp4XV34Vfo7jLv2MAo3Kuh3nhGmNFGc,32978
213
213
  radboy/HealthLog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
214
214
  radboy/HealthLog/__pycache__/HealthLog.cpython-312.pyc,sha256=hTo4o7jo9L2yqPZgzuKUw_kon_PVcCuTRguELTuLrIo,27946
215
- radboy/HealthLog/__pycache__/HealthLog.cpython-313.pyc,sha256=fmkRYVTYm1Lhc_ygjcDQjaLSSUOckRQf7kFtFBhgV6Y,47337
215
+ radboy/HealthLog/__pycache__/HealthLog.cpython-313.pyc,sha256=0QTClasQofJn1kqzSB9lSb4L91DJz2dANs_b7PndNg8,50814
216
216
  radboy/HealthLog/__pycache__/__init__.cpython-312.pyc,sha256=yZrYKBk31pGSjCRqmqzpX409iw-muC1zsNO2ObqkGlY,272
217
217
  radboy/HealthLog/__pycache__/__init__.cpython-313.pyc,sha256=cqdZbEJKq9XVoVqDAwsW0pwwBBGSerJNWGlST3YVR3g,151
218
218
  radboy/InListRestore/ILR.py,sha256=s8fbbHLKQSVJX1VaeyGE-vdIUGBEbOPX29kRIG2j2WY,16847
@@ -397,7 +397,7 @@ radboy/__pycache__/Run.cpython-311.pyc,sha256=G_UEfMtkLRjR6ZpGA_BJzGenuaCcP469Y9
397
397
  radboy/__pycache__/Run.cpython-312.pyc,sha256=v4xolc3mHyla991XhpYBUbBHYT0bnJ1gE-lkFoQ4GFA,241
398
398
  radboy/__pycache__/__init__.cpython-311.pyc,sha256=R-DVbUioMOW-Fnaq7FpT5F1a5p0q3b_RW-HpLRArCAY,242
399
399
  radboy/__pycache__/__init__.cpython-312.pyc,sha256=FsFzLXOlTK8_7ixoPZzakkR8Wibt-DvXLFh-oG2QlPw,164
400
- radboy/__pycache__/__init__.cpython-313.pyc,sha256=sXg8HGniDfaRuh3wnRa0eTT9gqd3Td1PD_VP0PB9Vsg,165
400
+ radboy/__pycache__/__init__.cpython-313.pyc,sha256=VavoVd5lBQMdjJRgC1YiZuqVnLPIdABYyOcAxusCTa4,165
401
401
  radboy/__pycache__/__init__.cpython-39.pyc,sha256=D48T6x6FUeKPfubo0sdS_ZUut3FmBvPMP7qT6rYBZzU,275
402
402
  radboy/__pycache__/possibleCode.cpython-311.pyc,sha256=zFiHyzqD8gUnIWu4vtyMYIBposiRQqaRXfcT_fOl4rU,20882
403
403
  radboy/__pycache__/possibleCode.cpython-312.pyc,sha256=tk_CO-AcsO3YZj5j6vEsw3g37UmEzWc5YgeWEoJEUg4,27922
@@ -422,7 +422,7 @@ radboy/tkGui/Images/__pycache__/__init__.cpython-311.pyc,sha256=tXBYpqbOlZ24B1BI
422
422
  radboy/tkGui/__pycache__/BeginnersLuck.cpython-311.pyc,sha256=xLQOnV1wuqHGaub16mPX0dDMGU9ryCeLtNz5e517_GE,3004
423
423
  radboy/tkGui/__pycache__/Review.cpython-311.pyc,sha256=wKq24iM6Xe2OampgZ7-8U6Nvmgs2y-qWOrGwtWhc75k,4047
424
424
  radboy/tkGui/__pycache__/__init__.cpython-311.pyc,sha256=BX7DBn5qbvKTvlrKOP5gzTBPBTeTgSMjBW6EMl7N8e0,230
425
- radboy-0.0.539.dist-info/METADATA,sha256=I9ZYo5Zbz2NyHJvah7tSENDZWp8c09SaFvx84yHG85Y,1615
426
- radboy-0.0.539.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
427
- radboy-0.0.539.dist-info/top_level.txt,sha256=mlM0RWMUxGo1YHnlLmYrHOgGdK4XNRpr7nMFD5lR56c,7
428
- radboy-0.0.539.dist-info/RECORD,,
425
+ radboy-0.0.540.dist-info/METADATA,sha256=QWxxnakIyz9_FmTy7RxACqg5sCCkVdwiVwPvxp5bdVo,1615
426
+ radboy-0.0.540.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
427
+ radboy-0.0.540.dist-info/top_level.txt,sha256=mlM0RWMUxGo1YHnlLmYrHOgGdK4XNRpr7nMFD5lR56c,7
428
+ radboy-0.0.540.dist-info/RECORD,,