radboy 0.0.444__py3-none-any.whl → 0.0.446__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.

@@ -0,0 +1,379 @@
1
+ from . import *
2
+
3
+
4
+ class CookBookUi:
5
+ def create_new_rcp(self):
6
+ with Session(ENGINE) as session:
7
+ uid=uuid1()
8
+ uid=str(uid)
9
+ excludes=['cbid','DTOE','recipe_uid','Instructions','recipe_name']
10
+ while True:
11
+ try:
12
+ cb=CookBook()
13
+ cb.recipe_uid=uid
14
+ session.add(cb)
15
+ session.commit()
16
+ entry=None
17
+ while True:
18
+ try:
19
+ barcode=Prompt.__init2__(None,func=FormBuilderMkText,ptext="Barcode|Code|Name of Ingredient[enter=skip]:",helpText="what to search for in Entry",data="string")
20
+ if barcode is None:
21
+ print("User Cancelled Early")
22
+ return
23
+ elif barcode in ['d',]:
24
+ break
25
+ entry=session.query(Entry).filter(or_(Entry.Barcode==barcode,Entry.Barcode.icontains(barcode),Entry.Name.icontains(barcode),Entry.Code==barcode,Entry.Code.icontains(barcode)))
26
+
27
+ entry=orderQuery(entry,Entry.Timestamp)
28
+ entry=entry.all()
29
+ ct=len(entry)
30
+ if ct > 0:
31
+ htext=[]
32
+ for num, i in enumerate(entry):
33
+ msg=f"{Fore.light_red}{num}/{Fore.medium_violet_red}{num+1} of {Fore.light_sea_green}{ct} -> {i.seeShort()}"
34
+ htext.append(msg)
35
+ print(msg)
36
+ htext='\n'.join(htext)
37
+ which=Prompt.__init2__(None,func=FormBuilderMkText,ptext=f"Which {Fore.light_red}index?{Fore.light_yellow}",helpText=f"{htext}\n{Fore.light_red}number{Fore.light_yellow} farthest to left of screen{Style.reset}",data="integer")
38
+ if which not in [None,]:
39
+ if which == 'd':
40
+ entry=entry[0]
41
+ else:
42
+ entry=entry[which]
43
+ else:
44
+ htext=f"{Fore.orange_red_1}No Results for '{Fore.cyan}{barcode}{Fore.orange_red_1}'{Style.reset}"
45
+ again=Prompt.__init2__(None,func=FormBuilderMkText,ptext="Try another search?[yes/no=default]",helpText=htext,data="boolean")
46
+ if again is None:
47
+ return
48
+ elif again in [False,'d']:
49
+ entry=None
50
+ break
51
+ else:
52
+ barcode=Prompt.__init2__(None,func=FormBuilderMkText,ptext=f"{h}Barcode|Code|Name[b=skips search]: ",helpText="what was consumed?",data="string")
53
+ continue
54
+ else:
55
+ entry=None
56
+ htext=f"{Fore.orange_red_1}No Results for '{Fore.cyan}{barcode}{Fore.orange_red_1}'{Style.reset}"
57
+ again=Prompt.__init2__(None,func=FormBuilderMkText,ptext="Try another search?[yes/no=default]",helpText=htext,data="boolean")
58
+ if again is None:
59
+ return
60
+ elif again in [False,'d']:
61
+ break
62
+ else:
63
+ barcode=Prompt.__init2__(None,func=FormBuilderMkText,ptext=f"{h}Barcode|Code|Name[b=skips search]: ",helpText="what was consumed?",data="string")
64
+ continue
65
+ break
66
+ except Exception as e:
67
+ print(e)
68
+ return
69
+
70
+ fields={i.name:{'default':getattr(cb,i.name),"type":str(i.type).lower()} for i in cb.__table__.columns if str(i.name) not in excludes}
71
+ if entry is not None:
72
+ fields['IngredientName']['default']=entry.Name
73
+ fields['IngredientBarcode']['default']=entry.Barcode
74
+ fields['IngredientCode']['default']=entry.Code
75
+ if entry.Price is None:
76
+ entry.Price=0
77
+ if entry.Tax is None:
78
+ entry.Tax=0
79
+ if entry.CRV is None:
80
+ entry.CRV=0
81
+ fields['IngredientPricePerPurchase']['default']=float(Decimal(entry.Price+entry.CRV+entry.Tax).quantize(Decimal("0.00")))
82
+ fd=FormBuilder(data=fields)
83
+ if fd is None:
84
+ session.delete(cb)
85
+ session.commit()
86
+ print("User Cancelled Early")
87
+ return
88
+
89
+ for k in fd:
90
+ setattr(cb,k,fd[k])
91
+ session.commit()
92
+ htext="Add another ingredient?"
93
+ again=Prompt.__init2__(None,func=FormBuilderMkText,ptext="Try another search?[yes/no=default]",helpText=htext,data="boolean")
94
+ if again is None:
95
+ return
96
+ elif again in [False,'d']:
97
+ break
98
+ else:
99
+ continue
100
+ except Exception as eee:
101
+ print(eee)
102
+ return
103
+ instructions={
104
+ 'Instructions':{'default':'','type':'text'},
105
+ 'recipe_name':{'default':'','type':'string'}}
106
+ fdi=FormBuilder(data=instructions)
107
+ if fdi is None:
108
+ print("User Quit Early, so all work has been deleted!")
109
+ r=session.query(CookBook).filter(CookBook.recipe_uid==uid).delete()
110
+ session.commit()
111
+ else:
112
+ session.query(CookBook).filter(CookBook.recipe_uid==uid).update(fdi)
113
+ session.commit()
114
+
115
+ results=session.query(CookBook).filter(CookBook.recipe_uid==uid)
116
+ results=orderQuery(results,CookBook.DTOE,inverse=True)
117
+ results=results.all()
118
+ ctt=len(results)
119
+ for num,i in enumerate(results):
120
+ msg=std_colorize(i,num,ctt)
121
+ print(msg)
122
+
123
+
124
+ def fix_table(self):
125
+ CookBook.__table__.drop(ENGINE)
126
+ CookBook.metadata.create_all(ENGINE)
127
+
128
+
129
+ def rm_rcp(self):
130
+ with Session(ENGINE) as session:
131
+ rcp=self.ls_rcp_names(asSelector=True,whole=True,names=True)
132
+ ct=len(rcp[0])
133
+ htext=[]
134
+ for i in rcp[0]:
135
+ htext.append(i)
136
+ htext='\n'.join(htext)
137
+ print(htext)
138
+ which=Prompt.__init2__(self,func=FormBuilderMkText,ptext="which index",helpText=f"{htext}\nindex of rcp to delete",data="integer")
139
+ if which in [None,'d']:
140
+ return
141
+ try:
142
+ query_2=session.query(CookBook).filter(CookBook.recipe_uid==rcp[-1][which].recipe_uid).delete()
143
+ session.commit()
144
+ print("Done Deleting!")
145
+ except Exception as e:
146
+ print(e)
147
+ #delete everything found by searchtext using recipe_uid as the final selection parameter
148
+
149
+ def edit_rcp(self):
150
+ with Session(ENGINE) as session:
151
+ rcp=self.ls_rcp_names(asSelector=True,whole=True,names=True)
152
+ ct=len(rcp[0])
153
+ htext=[]
154
+ for i in rcp[0]:
155
+ htext.append(i)
156
+ htext='\n'.join(htext)
157
+ print(htext)
158
+ which=Prompt.__init2__(self,func=FormBuilderMkText,ptext="which index",helpText=f"{htext}\nindex of rcp to edit",data="integer")
159
+ if which in [None,'d']:
160
+ return
161
+ try:
162
+ query_2=session.query(CookBook).filter(CookBook.recipe_uid==rcp[-1][which].recipe_uid).first()
163
+ fields={
164
+ 'recipe_name':{'default':getattr(query_2,'recipe_name'),'type':"string"},
165
+ 'Instructions':{'default':getattr(query_2,'Instructions'),'type':"string"},
166
+ }
167
+ fd=FormBuilder(data=fields)
168
+ if fd is not None:
169
+ r=session.query(CookBook).filter(CookBook.recipe_uid==query_2.recipe_uid)
170
+ r.update(fd)
171
+ session.commit()
172
+ print("Done Editing!")
173
+ except Exception as e:
174
+ print(e)
175
+ #edit everything found by searchtext using recipe_uid as the final selection parameter
176
+
177
+ def rm_ingredient(self):
178
+ with Session(ENGINE) as session:
179
+ rcp=self.ls_rcp_names(asSelector=True,whole=True,names=True)
180
+ ct=len(rcp[0])
181
+ htext=[]
182
+ for i in rcp[0]:
183
+ htext.append(i)
184
+ htext='\n'.join(htext)
185
+ print(htext)
186
+ which=Prompt.__init2__(self,func=FormBuilderMkText,ptext="which index",helpText=f"{htext}\nindex of rcp to delete its ingredients",data="integer")
187
+ if which in [None,'d']:
188
+ return
189
+ try:
190
+ query_2=session.query(CookBook).filter(CookBook.recipe_uid==rcp[-1][which].recipe_uid)
191
+ ordered_2=orderQuery(query_2,CookBook.DTOE)
192
+ results_2=ordered_2.all()
193
+ ct=len(results_2)
194
+ for num,i in enumerate(results_2):
195
+ print(std_colorize(i,num,ct))
196
+ delete=Prompt.__init2__(self,func=FormBuilderMkText,ptext="Delete[default=False]?",helpText="delete it, yes or no?",data="boolean")
197
+ if delete in [None,]:
198
+ return
199
+ elif delete in ['d',]:
200
+ continue
201
+ elif delete == True:
202
+ session.delete(i)
203
+ session.commit()
204
+ except Exception as e:
205
+ print(e)
206
+ #find a recipe, list its ingredients, select ingredients to delete, delete selected ingredients
207
+
208
+ #asSelector==False,whole==True,names==False - print selector_string_whole
209
+ #asSelector==False,whole==False,names==True - print selector_string_names
210
+ #asSelector==False,whole==True,names==True - print selector_string_whole,selector_string_names
211
+ #asSelector==True,whole==True,names==False - return selector_string_whole,selector_list
212
+ #asSelector==True,whole==False,names==True - return selector_string_names,selector_list
213
+ #asSelector==True,whole==True,names==True - return selector_string_names,selector_string_whole,selector_list
214
+ def ls_rcp_names(self,asSelector=False,whole=False,names=False):
215
+ with Session(ENGINE) as session:
216
+ selector_list=[]
217
+ selector_string_names=[]
218
+ selector_string_whole=[]
219
+
220
+ searchText=Prompt.__init2__(None,func=FormBuilderMkText,ptext="What are you looking for?",helpText="text to search for",data="string")
221
+ if searchText is None:
222
+ return
223
+ includes=["string","varchar","text"]
224
+ excludes=['cbid','DTOE']
225
+ fields=[i.name for i in CookBook.__table__.columns if str(i.name) not in excludes and str(i.type).lower() in includes]
226
+ q=[]
227
+ for i in fields:
228
+ q.append(getattr(CookBook,i).icontains(searchText))
229
+ query=session.query(CookBook).filter(or_(*q))
230
+ grouped=query.group_by(CookBook.recipe_uid)
231
+ ordered=orderQuery(grouped,CookBook.DTOE,inverse=True)
232
+
233
+ results=ordered.all()
234
+ ct=len(results)
235
+ if ct <= 0:
236
+ print("No Results")
237
+ return None
238
+ for num,i in enumerate(results):
239
+ selector_list.append(i)
240
+ selector_string_whole.append(std_colorize(i,num,ct))
241
+ selector_string_names.append(std_colorize(f"{i.recipe_name} - {i.recipe_uid}",num,ct))
242
+ if not asSelector:
243
+ if whole:
244
+ print(selector_string_whole[num])
245
+ if names:
246
+ print(selector_string_names[num])
247
+ if asSelector:
248
+ if whole and not names:
249
+ return selector_string_whole,selector_list
250
+ elif names and not whole:
251
+ return selector_string_names,selector_list
252
+ elif names and whole:
253
+ return selector_string_names,selector_string_whole,selector_list
254
+
255
+ def ls_rcp_ingredients(self):
256
+ with Session(ENGINE) as session:
257
+ rcp=self.ls_rcp_names(asSelector=True,whole=True,names=True)
258
+ ct=len(rcp[0])
259
+ htext=[]
260
+ for i in rcp[0]:
261
+ htext.append(i)
262
+ htext='\n'.join(htext)
263
+ print(htext)
264
+ which=Prompt.__init2__(self,func=FormBuilderMkText,ptext="which index",helpText=f"{htext}\nindex of rcp to view its ingredients",data="integer")
265
+ if which in [None,'d']:
266
+ return
267
+ try:
268
+ query_2=session.query(CookBook).filter(CookBook.recipe_uid==rcp[-1][which].recipe_uid)
269
+ ordered_2=orderQuery(query_2,CookBook.DTOE)
270
+ results_2=ordered_2.all()
271
+ ct=len(results_2)
272
+ for num,i in enumerate(results_2):
273
+ print(std_colorize(i,num,ct))
274
+ except Exception as e:
275
+ print(e)
276
+
277
+ def edit_rcp_ingredients(self):
278
+ with Session(ENGINE) as session:
279
+ rcp=self.ls_rcp_names(asSelector=True,whole=True,names=True)
280
+ ct=len(rcp[0])
281
+ htext=[]
282
+ for i in rcp[0]:
283
+ htext.append(i)
284
+ htext='\n'.join(htext)
285
+ print(htext)
286
+ which=Prompt.__init2__(self,func=FormBuilderMkText,ptext="which index",helpText=f"{htext}\nindex of rcp to view its ingredients",data="integer")
287
+ if which in [None,'d']:
288
+ return
289
+ try:
290
+ query_2=session.query(CookBook).filter(CookBook.recipe_uid==rcp[-1][which].recipe_uid)
291
+ ordered_2=orderQuery(query_2,CookBook.DTOE)
292
+ results_2=ordered_2.all()
293
+ ct=len(results_2)
294
+ for num,i in enumerate(results_2):
295
+ print(std_colorize(i,num,ct))
296
+ edit=Prompt.__init2__(self,func=FormBuilderMkText,ptext="Edit[default=False]?",helpText="Edit it, yes or no?",data="boolean")
297
+ if edit in [None,]:
298
+ return
299
+ elif edit in ['d',]:
300
+ continue
301
+ elif edit == True:
302
+ excludes=['cbid','recipe_uid','recipe_name','DTOE']
303
+ fields={ii.name:{'default':getattr(i,ii.name),'type':str(ii.type).lower()} for ii in CookBook.__table__.columns if ii.name not in excludes}
304
+ fd=FormBuilder(data=fields)
305
+ if fd is not None:
306
+ for k in fd:
307
+ setattr(i,k,fd[k])
308
+ session.commit()
309
+ else:
310
+ continue
311
+ except Exception as e:
312
+ print(e)
313
+
314
+
315
+ def __init__(self):
316
+ cmds={
317
+ str(uuid1()):{
318
+ 'cmds':generate_cmds(startcmd=['create new','cn','cnw'],endCmd=['recipe','rcp']),
319
+ 'desc':"create a new recipe",
320
+ 'exec':self.create_new_rcp,
321
+ },
322
+ uuid1():{
323
+ 'cmds':generate_cmds(startcmd=['fix','fx'],endCmd=['tbl','table']),
324
+ 'desc':"reinstall table",
325
+ 'exec':self.fix_table,
326
+ },
327
+ uuid1():{
328
+ 'cmds':generate_cmds(startcmd=['rm','del','remove','delete'],endCmd=['recipe','rcp']),
329
+ 'desc':"delete a recipe(delete everything found by searchtext using recipe_uid as the final selection parameter)",
330
+ 'exec':self.rm_rcp,
331
+ },
332
+ uuid1():{
333
+ 'cmds':generate_cmds(startcmd=['rm','del','remove','delete'],endCmd=['ingredient','ingrdnt','component','cmpnt']),
334
+ 'desc':"delete a recipe ingredient/component(find a recipe, list its ingredients, select ingredients to delete, delete selected ingredients)",
335
+ 'exec':self.rm_ingredient,
336
+ },
337
+ uuid1():{
338
+ 'cmds':generate_cmds(startcmd=['ls','list','lst'],endCmd=['rcp','recipe']),
339
+ 'desc':"list recipe names",
340
+ 'exec':lambda self=self:self.ls_rcp_names(asSelector=False,whole=False,names=True),
341
+ },
342
+ uuid1():{
343
+ 'cmds':generate_cmds(startcmd=['ls','list','lst'],endCmd=['rcp ingrdnts','recipe ingredients']),
344
+ 'desc':"list recipe names",
345
+ 'exec':lambda self=self:self.ls_rcp_ingredients(),
346
+ },
347
+ uuid1():{
348
+ 'cmds':generate_cmds(startcmd=['ed','edt','edit'],endCmd=['rcp ingrdnts','recipe ingredients']),
349
+ 'desc':"edit recipe ingredients",
350
+ 'exec':lambda self=self:self.edit_rcp_ingredients(),
351
+ },
352
+ uuid1():{
353
+ 'cmds':generate_cmds(startcmd=['ed','edt','edit'],endCmd=['rcp','recipe']),
354
+ 'desc':"edit recipe names and instructions",
355
+ 'exec':lambda self=self:self.edit_rcp(),
356
+ },
357
+ }
358
+
359
+ htext=[]
360
+ ct=len(cmds)
361
+ for num,i in enumerate(cmds):
362
+ m=f"{Fore.light_sea_green}{cmds[i]['cmds']}{Fore.orange_red_1} - {Fore.light_steel_blue}{cmds[i]['desc']}"
363
+ msg=f"{std_colorize(m,num,ct)}"
364
+ htext.append(msg)
365
+ htext='\n'.join(htext)
366
+ while True:
367
+ doWhat=Prompt.__init2__(None,func=FormBuilderMkText,ptext=f"{self.__class__.__name__} @ Do What? ",helpText=htext,data="string")
368
+ if doWhat is None:
369
+ return
370
+ elif doWhat in ['','d',]:
371
+ print(htext)
372
+ continue
373
+ for i in cmds:
374
+ if doWhat.lower() in [i.lower() for i in cmds[i]['cmds']]:
375
+ if callable(cmds[i]['exec']):
376
+ cmds[i]['exec']()
377
+ else:
378
+ print(f"{i} - {cmds[i]['cmds']} - {cmds[i]['exec']}() - {cmds[i]['desc']}")
379
+ return
@@ -0,0 +1,29 @@
1
+ from radboy.DB.db import *
2
+ #from radboy.DB.RandomStringUtil import *
3
+ #import radboy.Unified.Unified as unified
4
+ #import radboy.possibleCode as pc
5
+ from radboy.DB.Prompt import *
6
+ from radboy.DB.Prompt import prefix_text
7
+ #from radboy.TasksMode.ReFormula import *
8
+ #from radboy.TasksMode.SetEntryNEU import *
9
+ from radboy.FB.FormBuilder import *
10
+ from radboy.FB.FBMTXT import *
11
+ #from radboy.RNE.RNE import *
12
+ #from radboy.Lookup2.Lookup2 import Lookup as Lookup2
13
+ #from radboy.DayLog.DayLogger import *
14
+ #from radboy.DB.masterLookup import *
15
+ from collections import namedtuple,OrderedDict
16
+ import nanoid,qrcode,io
17
+ #from password_generator import PasswordGenerator
18
+ import random
19
+ from pint import UnitRegistry
20
+ import pandas as pd
21
+ import numpy as np
22
+ from datetime import *
23
+ from colored import Style,Fore
24
+ import json,sys,math,re,calendar,hashlib,haversine
25
+ from time import sleep
26
+ import itertools
27
+ from uuid import uuid1
28
+
29
+ from .CookBook import *
radboy/DB/Prompt.py CHANGED
@@ -141,7 +141,7 @@ def getSuperTotal(results,location_fields,colormapped):
141
141
  master_total_tax_crv+=tax_crv
142
142
  tax_crv=tax_crv
143
143
 
144
- return {'final total':master_total_tax_crv+master_total,'master_total_tax_crv':master_total_tax_crv,'master_total_tax':master_total_tax,'master_total_crv':master_total_crv,'sub_total':master_total}
144
+ return {'final total':float(master_total_tax_crv+master_total),'master_total_tax_crv':float(master_total_tax_crv),'master_total_tax':float(master_total_tax),'master_total_crv':float(master_total_crv),'sub_total':float(master_total)}
145
145
 
146
146
 
147
147
  class Obfuscate:
Binary file
radboy/DB/db.py CHANGED
@@ -5183,4 +5183,81 @@ try:
5183
5183
  RepeatableDates.metadata.create_all(ENGINE)
5184
5184
  except Exception as e:
5185
5185
  RepeatableDates.__table__.drop(ENGINE)
5186
- RepeatableDates.metadata.create_all(ENGINE)
5186
+ RepeatableDates.metadata.create_all(ENGINE)
5187
+
5188
+
5189
+ class CookBook(BASE,Template):
5190
+ __tablename__='CookBook'
5191
+ cbid=Column(Integer,primary_key=True)
5192
+
5193
+ #to bind ingredients together as one
5194
+ recipe_uid=Column(String,default=None)
5195
+ recipe_name=Column(String,default=None)
5196
+
5197
+ IngredientName=Column(String,default=None)
5198
+ IngredientBarcode=Column(String,default=None)
5199
+ IngredientCode=Column(String,default=None)
5200
+ IngredientPricePerPurchase=Column(Float,default=None)
5201
+
5202
+ IngredientQty=Column(Float,default=None)
5203
+ IngredientQtyUnit=Column(String,default="gram")
5204
+
5205
+ carb_per_serving=Column(Float,default=None)
5206
+ carb_per_serving_unit=Column(String,default="gram")
5207
+
5208
+ fiber_per_serving=Column(Float,default=None)
5209
+ fiber_per_serving_unit=Column(String,default="gram")
5210
+
5211
+ protien_per_serving=Column(Float,default=None)
5212
+ protien_per_serving_unit=Column(String,default="gram")
5213
+
5214
+ total_fat_per_serving=Column(Float,default=None)
5215
+ total_fat_per_serving_unit=Column(String,default="gram")
5216
+
5217
+ saturated_fat_per_serving=Column(Float,default=None)
5218
+ saturated_fat_per_serving_unit=Column(String,default="gram")
5219
+
5220
+ trans_fat_per_serving=Column(Float,default=None)
5221
+ trans_fat_per_serving_unit=Column(String,default="gram")
5222
+
5223
+ sodium_per_serving=Column(Float,default=None)
5224
+ sodium_per_serving_unit=Column(String,default="milligram")
5225
+
5226
+ cholesterol_per_serving=Column(Float,default=None)
5227
+ cholesterol_per_serving_unit=Column(String,default="milligram")
5228
+
5229
+ vitamin_d=Column(Float,default=None)
5230
+ vitamin_d_unit=Column(String,default="mg")
5231
+
5232
+ calcium=Column(Float,default=None)
5233
+ calcium_unit=Column(String,default="mg")
5234
+
5235
+ iron=Column(Float,default=None)
5236
+ iron_unit=Column(String,default="mg")
5237
+
5238
+ potassium=Column(Float,default=None)
5239
+ potassium_unit=Column(String,default="mg")
5240
+
5241
+ DTOE=Column(DateTime,default=datetime.now())
5242
+ Comment=Column(String,default='N/A')
5243
+
5244
+ Instructions=Column(Text,default='')
5245
+
5246
+ def as_json(self):
5247
+ excludes=['cbid','DTOE']
5248
+ dd={str(d.name):self.__dict__[d.name] for d in self.__table__.columns if d.name not in excludes}
5249
+ return json.dumps(dd)
5250
+
5251
+ def asID(self):
5252
+ return f"{self.__class__.__name__}(cbid={self.cbid})"
5253
+
5254
+ def __init__(self,**kwargs):
5255
+ for k in kwargs.keys():
5256
+ if k in [s.name for s in self.__table__.columns]:
5257
+ setattr(self,k,kwargs.get(k))
5258
+
5259
+ try:
5260
+ CookBook.metadata.create_all(ENGINE)
5261
+ except Exception as e:
5262
+ CookBook.__table__.drop(ENGINE)
5263
+ CookBook.metadata.create_all(ENGINE)
radboy/FB/FBMTXT.py CHANGED
@@ -212,7 +212,7 @@ def FormBuilderMkText(text,data,passThru=[],PassThru=True,alternative_false=None
212
212
  return 'd'
213
213
  except Exception as e:
214
214
  return 'd'
215
- elif data.lower() in ['str','string',"varchar",]:
215
+ elif data.lower() in ['str','string',"varchar","text"]:
216
216
  value=text
217
217
  elif data.lower() == 'date':
218
218
  if text.lower() in ['y','yes','1','t','true']:
@@ -107,6 +107,7 @@ class HealthLogUi:
107
107
  break
108
108
  except Exception as e:
109
109
  print(e)
110
+ return
110
111
 
111
112
  hl=HealthLog()
112
113
 
@@ -272,7 +272,7 @@ class RepeatableDatesUi:
272
272
  htext.append(msg)
273
273
  htext='\n'.join(htext)
274
274
  while True:
275
- doWhat=Prompt.__init2__(None,func=FormBuilderMkText,ptext="RepeatableDatesUi @ Do What? ",helpText=htext,data="string")
275
+ doWhat=Prompt.__init2__(None,func=FormBuilderMkText,ptext=f"{self.__class__.__name__} @ Do What? ",helpText=htext,data="string")
276
276
  if doWhat is None:
277
277
  return
278
278
  elif doWhat in ['','d',]:
radboy/TasksMode/Tasks.py CHANGED
@@ -39,6 +39,7 @@ from decimal import Decimal,getcontext
39
39
  from radboy.GDOWN.GDOWN import *
40
40
  from radboy.Unified.clearalll import clear_all
41
41
  from radboy.RepeatableDates import *
42
+ from radboy.CookBook import *
42
43
 
43
44
  def today():
44
45
  dt=datetime.now()
@@ -291,7 +292,11 @@ class TasksMode:
291
292
  def rd_ui(self):
292
293
  RepeatableDatesUi()
293
294
 
295
+ def cookbook(self):
296
+ CookBookUi()
297
+
294
298
  def process_cmd(self,buffer):
299
+ ''
295
300
  data=OrderedDict()
296
301
  for num,line in enumerate(buffer):
297
302
  data[num]={
@@ -305,9 +310,9 @@ class TasksMode:
305
310
  fd[0]='#ml#'+fd[0]
306
311
  if not fd[len(buffer)-1].endswith('#ml#'):
307
312
  fd[len(buffer)-1]+='#ml#'
308
- text=''
309
- for i in range(len(buffer)):
310
- text+=fd[i]
313
+ text=''
314
+ for i in range(len(buffer)):
315
+ text+=fd[i]
311
316
  return text
312
317
  def getInLineResult(self):
313
318
  return str(detectGetOrSet("InLineResult",None,setValue=False,literal=True))
@@ -4742,6 +4747,18 @@ where:
4742
4747
  'exec':lambda self=self: print(self.DateTimePkr()),
4743
4748
  }
4744
4749
  count+=1
4750
+ self.options[str(uuid1())]={
4751
+ 'cmds':["#"+str(count),*[i for i in generate_cmds(startcmd=["cookbook","ckbk"],endCmd=["",])]],
4752
+ 'desc':f"cookbook",
4753
+ 'exec':lambda self=self: print(self.cookbook()),
4754
+ }
4755
+ count+=1
4756
+ self.options[str(uuid1())]={
4757
+ 'cmds':["#"+str(count),*[i for i in generate_cmds(startcmd=["loads2","lds2"],endCmd=["",])]],
4758
+ 'desc':f"dates that repeat weekly, or upcoming dates that are important",
4759
+ 'exec':lambda self=self: print(self.rd_ui()),
4760
+ }
4761
+ count+=1
4745
4762
  #self.product_history=
4746
4763
 
4747
4764
  '''
radboy/__init__.py CHANGED
@@ -1 +1 @@
1
- VERSION='0.0.444'
1
+ VERSION='0.0.446'
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: radboy
3
- Version: 0.0.444
3
+ Version: 0.0.446
4
4
  Summary: A small example package
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=dOm24buf-rWC4FGLQLDjL5obdxOKF3D01t6Qkkit-R0,41421
7
7
  radboy/Run.py,sha256=JUoCTHnzQBv7n8PB2_i93ANdAC_iW__RkAge8esCnk4,76
8
- radboy/__init__.py,sha256=6U_lrhQwKFQNoBShOrP82AwM93A_GaxB0-5fubxdLok,17
8
+ radboy/__init__.py,sha256=wcDStHyBxLpSEKOCtqi1zLg7IQBZDcrpnO0Gcy1iE4s,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
@@ -75,6 +75,8 @@ radboy/ConvertCode/__pycache__/__init__.cpython-311.pyc,sha256=1-K1vfRZxAs9MoOyy
75
75
  radboy/ConvertCode/__pycache__/__init__.cpython-312.pyc,sha256=77LSCMdrPg91lbsloPumUo1SpAt5A8l1WPgTxGIvwTs,274
76
76
  radboy/ConvertCode/__pycache__/__init__.cpython-313.pyc,sha256=4F9h0V0Z5sQHdZQGEsnfCSLMQK4lUD5CzJwU4Elv-EU,153
77
77
  radboy/ConvertCode/__pycache__/codep.cpython-311.pyc,sha256=-qJqPEjGOP1-x6Xw6W4Msfuu2iwVffN_-DerH18Is2o,1086
78
+ radboy/CookBook/CookBook.py,sha256=ZKjSkvLXoPL0eCxjLrySeF7Gjh_n1CJRQqYj0Kaju00,14132
79
+ radboy/CookBook/__init__.py,sha256=svTiqqFxHZeqYCRorLx6qLxL3oI1pil4fxomm-kkQ88,927
78
80
  radboy/DB/CoinCombo.py,sha256=NJfTmx3XYgS41zkAyyO2W6de1Mj3rWsCWqU4ikHfvJI,13604
79
81
  radboy/DB/DatePicker.py,sha256=6eNjmryFWPpzrRYmI418UwSGin3XpJlL52h8cauanbY,18004
80
82
  radboy/DB/DisplayItemDb.py,sha256=uVvrNyFyBuKvrw-BEPXKYvfa-QWyFN5ahESi2l6vUUA,52046
@@ -83,14 +85,14 @@ radboy/DB/ExerciseTracker.py,sha256=CZ8jdKJiAE_QTAiJTRXi8ZOnS1NUiSvWVSKLHLpYVGk,
83
85
  radboy/DB/PayDay.py,sha256=H2kPGvBCDkMOz7lbxQhYtUt_oAInpxi37Q6MFrah98I,8710
84
86
  radboy/DB/PayModels.py,sha256=hjwWxP7PL33hmfzQl5YTf0HqzaMxXJxFknPdxFJXJc8,3499
85
87
  radboy/DB/PrintLogging.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
86
- radboy/DB/Prompt.py,sha256=5WKiXvEY0NlUCkVWEOylOjRsVIVPpvLoKgen_aQKaKE,139054
88
+ radboy/DB/Prompt.py,sha256=HhpI4-u0pCuUt43I-0kTD8f4q-B4UN7MRg56j7LG3ww,139089
87
89
  radboy/DB/RandomStringUtil.py,sha256=eZCpR907WStgfbk4Evcghjv9hOkUDXH-iMXIq0-kXq8,24386
88
90
  radboy/DB/ResetTools.py,sha256=RbI-Ua7UlsN0S9qLqtEkTWvzyTZ6R-hHR3CW4NHlUPE,6660
89
91
  radboy/DB/SMLabelImporter.py,sha256=eUoBDxVUUEKGL2g_PwkASM67ZB7FmXtSnn4bCagskhY,4013
90
92
  radboy/DB/__init__.py,sha256=JiigA9B7GalP7YuRdcwyGDu5PDSBahoi0lLjtScxlN8,49
91
93
  radboy/DB/blankDataFile.py,sha256=YX_05Usi71UpDkZN9UTMYwUipbTndTAtEgqzBEga0kE,9285
92
94
  radboy/DB/config.py,sha256=bvu43dUl1_yO3Zq3gsLuenGUgJSiS3S9Cs6ppFEvZbg,239
93
- radboy/DB/db.py,sha256=eS4USltCDbsMfc5JDQPObDwPK4451yA4ts8VJwgWo7Q,237461
95
+ radboy/DB/db.py,sha256=IfAxy3rE6cnyyAJT9L0hu95Rsn67ljmLEy-Mi3iH-gU,239987
94
96
  radboy/DB/glossary_db.py,sha256=1_qxeEpjjEtpWB_eDjsgJisimLv7OBm75MuqM-Lt6zg,28218
95
97
  radboy/DB/masterLookup.py,sha256=DBaM2uscG3_X5dek49wjdnOzhrjWhKgvOEz_umdz0mY,4566
96
98
  radboy/DB/msg.txt,sha256=YxWed6A6tuP1djJ5QPS2Rz3ING4TKKf8kUiCCPtzHXE,7937
@@ -107,7 +109,7 @@ radboy/DB/__pycache__/FormBuilder.cpython-312.pyc,sha256=p1o-5SMRL8OXP_XQ5liUpf-
107
109
  radboy/DB/__pycache__/PrintLogging.cpython-312.pyc,sha256=pIAFqTi6OiQQORSc-oMH1zAbsdH7sY1TifxrN_QOvnU,148
108
110
  radboy/DB/__pycache__/Prompt.cpython-311.pyc,sha256=P2uPRpeqfLFtxieZ0JHBG3X_HZzWUCsFSLb_fpRqky0,6407
109
111
  radboy/DB/__pycache__/Prompt.cpython-312.pyc,sha256=6CcQ1gE2hcz3cKPjo4f6d7xNM2PTDnl8NzQG0Pme5BE,142886
110
- radboy/DB/__pycache__/Prompt.cpython-313.pyc,sha256=JkwchbakHIXGcUoj65rHnMtqFtkj_LXlPWf9E_cElRo,213457
112
+ radboy/DB/__pycache__/Prompt.cpython-313.pyc,sha256=IcoofO4HR1jUrBtY8gAEhTJSTSJMWqCpBNcFwZZ09dg,213626
111
113
  radboy/DB/__pycache__/RandomStringUtil.cpython-312.pyc,sha256=TrbEY89MuLmNlvoo5d8vOE6Dyshh5_EMlTZvk8MDVN4,48597
112
114
  radboy/DB/__pycache__/RandomStringUtil.cpython-313.pyc,sha256=MCcgVwV2Y-9rAY2FVaJZCKcou3HDX70EZudoiCigT0o,49217
113
115
  radboy/DB/__pycache__/ResetTools.cpython-311.pyc,sha256=4Vyc57iAAF0yRPjjglnVKovnTn8OoFIi6Zok3Wpj_YM,9292
@@ -125,7 +127,7 @@ radboy/DB/__pycache__/config.cpython-312.pyc,sha256=Qo7E6MHrF6yqvKgepNFyCoekZXiv
125
127
  radboy/DB/__pycache__/config.cpython-313.pyc,sha256=_8wCIg_3jhyJjxnExD2Sm6aY-uZTw036p7Ki5znL7dc,376
126
128
  radboy/DB/__pycache__/db.cpython-311.pyc,sha256=rNgigyBd0D-cg1JxKAS8t0B_k0IEJivgVlRaZE10Xis,210105
127
129
  radboy/DB/__pycache__/db.cpython-312.pyc,sha256=ANDJPC0RoavbmSKFxG15vC7B4rEGyVt7xRJt7XGY3OA,334609
128
- radboy/DB/__pycache__/db.cpython-313.pyc,sha256=gXmD_XfJ5GN1JzZAqGMJwm_HBVTp1mKXFsoiOJ4jL9g,375697
130
+ radboy/DB/__pycache__/db.cpython-313.pyc,sha256=NCtdFi-lav2m3SShNb4If3YUY5E5Tep1pszMvddk0jM,378883
129
131
  radboy/DB/__pycache__/glossary_db.cpython-312.pyc,sha256=8UL-29cKqtKovx0BANm6kzKKteef1BW_2qF3wumzst4,36023
130
132
  radboy/DB/__pycache__/glossary_db.cpython-313.pyc,sha256=Ke9bkvllGv5CK0JdT9DRvQ3MOdrXxoYv7TVLNkqLux0,36582
131
133
  radboy/DB/__pycache__/masterLookup.cpython-312.pyc,sha256=bQiOkmMwwHgcO18tYSWGQ-YUff4GQlKVhBMp1GoWAqY,6324
@@ -190,11 +192,11 @@ radboy/ExtractPkg/__pycache__/ExtractPkg2.cpython-313.pyc,sha256=bgw-00G_ouurOtO
190
192
  radboy/ExtractPkg/__pycache__/__init__.cpython-311.pyc,sha256=62yPgrgPZffZFLr6FscOqCdo45vfhScJ8aZbLTbD7I4,235
191
193
  radboy/ExtractPkg/__pycache__/__init__.cpython-312.pyc,sha256=Ll1iKcG0MDtoCIloQ_frcihvCSe1HPtyERzcAoXwQT0,273
192
194
  radboy/ExtractPkg/__pycache__/__init__.cpython-313.pyc,sha256=kL3Y3KxCTaGNg3aq5fhf2fsnQHZolGfvniEUfsx2bwY,152
193
- radboy/FB/FBMTXT.py,sha256=CxMqujpDLFe_azvARaJuF0l2x5tJFsDNqPfMjVpXkQw,41407
195
+ radboy/FB/FBMTXT.py,sha256=Yc1P0diaRNDvQZfmX872cOER6YQZr8flZBzbG62X2oM,41413
194
196
  radboy/FB/FormBuilder.py,sha256=oOlGmvrUaAOVf0DpM_wlHKfIyz-Q8WU9pJRZ7XPzdQg,14275
195
197
  radboy/FB/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
196
198
  radboy/FB/__pycache__/FBMTXT.cpython-312.pyc,sha256=XCVFa7Mo83LGIdRrTvcK73siUpcVIEQfXKCH2QHeViw,9626
197
- radboy/FB/__pycache__/FBMTXT.cpython-313.pyc,sha256=KS3MAXVUaBFxec0iglOcQEIILlptOuV0yGBP_snpstI,54681
199
+ radboy/FB/__pycache__/FBMTXT.cpython-313.pyc,sha256=yGN_5nMHjf2Yy7s7nF0BSkJjapNVHwpRO4DlnnLFhuA,54686
198
200
  radboy/FB/__pycache__/FormBuilder.cpython-312.pyc,sha256=lNQdB-zApsXM7OQF9MIi0zRZD1SAL6stKEN-AyQiIKg,18873
199
201
  radboy/FB/__pycache__/FormBuilder.cpython-313.pyc,sha256=WOX7ndix3aTqTaF01w1x4X_b-DX15RAoBdH7_L5NPCc,19706
200
202
  radboy/FB/__pycache__/__init__.cpython-312.pyc,sha256=ULEL8Au_CxcYpNAcSoSbI65M7-av1W6Zuy6kQJUu-Mw,265
@@ -208,10 +210,10 @@ radboy/GeoTools/__pycache__/GeoClass.cpython-313.pyc,sha256=eZ6hpLKoic1XCb7BKKg-
208
210
  radboy/GeoTools/__pycache__/OSMClass.cpython-312.pyc,sha256=5RoT8_wiI8R7yb_B9FWIC7mALdGNoqyWtkzsjM2pbh0,40387
209
211
  radboy/GeoTools/__pycache__/__init__.cpython-312.pyc,sha256=Y7Xtrzwm44-xuY_4NK8aDjYfVmXIzUFWOyexJu9le8A,1238
210
212
  radboy/GeoTools/__pycache__/__init__.cpython-313.pyc,sha256=-bk9eEIxWZgHYZHtNJbrpubDRWkbdYNkGr5J7sVhyIE,1238
211
- radboy/HealthLog/HealthLog.py,sha256=U1KHLAmhjZMZUp9G9tfZ8XZ8EvhqZP2Sxrf8S0SGWQM,19861
213
+ radboy/HealthLog/HealthLog.py,sha256=ziw5zvKgjbsEKES2GC5h7U8ZuoUYMfRjVcuvhv6yW8A,19875
212
214
  radboy/HealthLog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
213
215
  radboy/HealthLog/__pycache__/HealthLog.cpython-312.pyc,sha256=hTo4o7jo9L2yqPZgzuKUw_kon_PVcCuTRguELTuLrIo,27946
214
- radboy/HealthLog/__pycache__/HealthLog.cpython-313.pyc,sha256=OLT-yuiH4mWJsngPDiJzycsvoRzE1ldfkmdIrKwgMqA,32329
216
+ radboy/HealthLog/__pycache__/HealthLog.cpython-313.pyc,sha256=kepTB0QEnhtCa8d87E2cyEMLJy2iEM_pw6u0grXF1zQ,32341
215
217
  radboy/HealthLog/__pycache__/__init__.cpython-312.pyc,sha256=yZrYKBk31pGSjCRqmqzpX409iw-muC1zsNO2ObqkGlY,272
216
218
  radboy/HealthLog/__pycache__/__init__.cpython-313.pyc,sha256=cqdZbEJKq9XVoVqDAwsW0pwwBBGSerJNWGlST3YVR3g,151
217
219
  radboy/InListRestore/ILR.py,sha256=s8fbbHLKQSVJX1VaeyGE-vdIUGBEbOPX29kRIG2j2WY,16847
@@ -307,7 +309,7 @@ radboy/Repack/__pycache__/Repack.cpython-313.pyc,sha256=6MjxbPlXSer4oFs2fyUXMNHP
307
309
  radboy/Repack/__pycache__/__init__.cpython-311.pyc,sha256=fnP-an9GM_scIcBL6D9z8eDQRgb7EWs1usOIzKRqc8s,231
308
310
  radboy/Repack/__pycache__/__init__.cpython-312.pyc,sha256=SRvtYwum13YJJ0NnJHQa6f_wHmyZ8KxHrmICv5Qawcg,269
309
311
  radboy/Repack/__pycache__/__init__.cpython-313.pyc,sha256=VxcShJHR5BBzMPCKvDDjPR2EPDErl1fTPOt93NZKzNQ,148
310
- radboy/RepeatableDates/RepeatableDates.py,sha256=wvk9SIlBXYSfz6kroZMUXkGZi64Fm1QUiOAQtVJclRY,8858
312
+ radboy/RepeatableDates/RepeatableDates.py,sha256=cDCGRDIdz0SrMPkcf6hoYokWmWcgJElAZuK9INgwcys,8867
311
313
  radboy/RepeatableDates/__init__.py,sha256=9fV4hKov1VvXym9fmNbTFTPxmMx6LA3AaL103IOrMQg,934
312
314
  radboy/Roster/Roster.py,sha256=hOtq-jA9Rw_167fqKF-iRBzLscVUtOXdY7g_kdPSgVs,82325
313
315
  radboy/Roster/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -336,7 +338,7 @@ radboy/SystemSettings/__pycache__/__init__.cpython-312.pyc,sha256=aIzp4Po0t8EhSA
336
338
  radboy/SystemSettings/__pycache__/__init__.cpython-313.pyc,sha256=QFDuoidxMWsGVLsy5lN-rDs6TP8nKJ4yyCyiamNOhwo,156
337
339
  radboy/TasksMode/ReFormula.py,sha256=REDRJYub-OEOE6g14oRQOLOQwv8pHqVJy4NQk3CCM90,2255
338
340
  radboy/TasksMode/SetEntryNEU.py,sha256=TTzlAT5rNXvXUAy16BHBq0hJOKhONYpPhdAfQKdTfGw,17364
339
- radboy/TasksMode/Tasks.py,sha256=AIbCybNxZmGPBJzHGMRTy0v62deCH3i5vBNYRMnnFaU,308915
341
+ radboy/TasksMode/Tasks.py,sha256=_4QakS45dlnrNUaEhRqlpHHrME1NUgH2WYf4-PnYMBM,309665
340
342
  radboy/TasksMode/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
341
343
  radboy/TasksMode/__pycache__/ReFormula.cpython-311.pyc,sha256=QEG3PwVw-8HTd_Mf9XbVcxU56F1fC9yBqWXYPLC39DU,4865
342
344
  radboy/TasksMode/__pycache__/ReFormula.cpython-312.pyc,sha256=aX7BWm2PPjCTnxsbGUitR-2h9hq4AjaBiHMrUXvIl0Y,3967
@@ -345,7 +347,7 @@ radboy/TasksMode/__pycache__/SetEntryNEU.cpython-312.pyc,sha256=pCdFj61aPKkHL6Sv
345
347
  radboy/TasksMode/__pycache__/SetEntryNEU.cpython-313.pyc,sha256=eSWkYvfm5RuRE5rbO5wI7XxzFyKnp6KlbphSqPAF2z4,20133
346
348
  radboy/TasksMode/__pycache__/Tasks.cpython-311.pyc,sha256=6QOTJnLiXSKdF81hkhy3vyrz49PPhS20s5_0X52g3Hw,131120
347
349
  radboy/TasksMode/__pycache__/Tasks.cpython-312.pyc,sha256=hyJwdaYaaRLdcrNxgg36diJ5iijX5_3I0UAORsj-6LU,310295
348
- radboy/TasksMode/__pycache__/Tasks.cpython-313.pyc,sha256=XZMWj-cXakusl8rnq3rn6tbBXq2Qc7eIBXaZ9QiJ_Vs,379231
350
+ radboy/TasksMode/__pycache__/Tasks.cpython-313.pyc,sha256=i1LPUMNcQXkyAs89G1mwc9ZcId7lKpateMdhlKJ5pKs,380450
349
351
  radboy/TasksMode/__pycache__/__init__.cpython-311.pyc,sha256=PKV1JbihEacm639b53bZozRQvcllSkjGP3q8STVMxF4,234
350
352
  radboy/TasksMode/__pycache__/__init__.cpython-312.pyc,sha256=ERgnEvRMiGSecWp1BpNzLdSq_SdKw7GvFWUvUM7bLVw,272
351
353
  radboy/TasksMode/__pycache__/__init__.cpython-313.pyc,sha256=lvsTxukyvGKB3C0rdF9dQi_bvVh6ceDVINfwcuIsd0s,151
@@ -392,7 +394,7 @@ radboy/__pycache__/Run.cpython-311.pyc,sha256=G_UEfMtkLRjR6ZpGA_BJzGenuaCcP469Y9
392
394
  radboy/__pycache__/Run.cpython-312.pyc,sha256=v4xolc3mHyla991XhpYBUbBHYT0bnJ1gE-lkFoQ4GFA,241
393
395
  radboy/__pycache__/__init__.cpython-311.pyc,sha256=R-DVbUioMOW-Fnaq7FpT5F1a5p0q3b_RW-HpLRArCAY,242
394
396
  radboy/__pycache__/__init__.cpython-312.pyc,sha256=FsFzLXOlTK8_7ixoPZzakkR8Wibt-DvXLFh-oG2QlPw,164
395
- radboy/__pycache__/__init__.cpython-313.pyc,sha256=xRr5Nmz_4sETGuB1X1SaSVJoG7kfr70V0rbobW6HQLY,165
397
+ radboy/__pycache__/__init__.cpython-313.pyc,sha256=VjvyFLJqsRJ68CbsnhY8iv-FpZk-AuYhc2Xq5OtLNeE,165
396
398
  radboy/__pycache__/__init__.cpython-39.pyc,sha256=D48T6x6FUeKPfubo0sdS_ZUut3FmBvPMP7qT6rYBZzU,275
397
399
  radboy/__pycache__/possibleCode.cpython-311.pyc,sha256=zFiHyzqD8gUnIWu4vtyMYIBposiRQqaRXfcT_fOl4rU,20882
398
400
  radboy/__pycache__/possibleCode.cpython-312.pyc,sha256=tk_CO-AcsO3YZj5j6vEsw3g37UmEzWc5YgeWEoJEUg4,27922
@@ -417,7 +419,7 @@ radboy/tkGui/Images/__pycache__/__init__.cpython-311.pyc,sha256=tXBYpqbOlZ24B1BI
417
419
  radboy/tkGui/__pycache__/BeginnersLuck.cpython-311.pyc,sha256=xLQOnV1wuqHGaub16mPX0dDMGU9ryCeLtNz5e517_GE,3004
418
420
  radboy/tkGui/__pycache__/Review.cpython-311.pyc,sha256=wKq24iM6Xe2OampgZ7-8U6Nvmgs2y-qWOrGwtWhc75k,4047
419
421
  radboy/tkGui/__pycache__/__init__.cpython-311.pyc,sha256=BX7DBn5qbvKTvlrKOP5gzTBPBTeTgSMjBW6EMl7N8e0,230
420
- radboy-0.0.444.dist-info/METADATA,sha256=ZdjZjmXe36c-1x8ObUd1eyv7C5fcX7LC-BeYn6XXsuc,1574
421
- radboy-0.0.444.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
422
- radboy-0.0.444.dist-info/top_level.txt,sha256=mlM0RWMUxGo1YHnlLmYrHOgGdK4XNRpr7nMFD5lR56c,7
423
- radboy-0.0.444.dist-info/RECORD,,
422
+ radboy-0.0.446.dist-info/METADATA,sha256=Gzj19N35zq39hMRdsei1IEVi92QuFKN_EuYMMCeWISU,1574
423
+ radboy-0.0.446.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
424
+ radboy-0.0.446.dist-info/top_level.txt,sha256=mlM0RWMUxGo1YHnlLmYrHOgGdK4XNRpr7nMFD5lR56c,7
425
+ radboy-0.0.446.dist-info/RECORD,,