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

radboy/TasksMode/Tasks.py CHANGED
@@ -871,6 +871,39 @@ SALES TAX ON APPLICABLE TANGIBLE ITEMS = (PRICE + CRV) * TTL TAX RATE
871
871
  result=tax_rate
872
872
  return result
873
873
 
874
+ def dollar_tree_multiprices():
875
+ prices=[
876
+ 1.25,
877
+ 3,
878
+ 4,
879
+ 5,
880
+ 7,
881
+ ]
882
+ htext=[]
883
+ cta=len(prices)
884
+ for num,i in enumerate(prices):
885
+ htext.append(std_colorize(i,num,cta))
886
+
887
+ htext='\n'.join(htext)
888
+ while True:
889
+ try:
890
+ print(htext)
891
+ idx=Control(func=FormBuilderMkText,ptext=f"which price's index[0({Fore.orange_red_1}d=default{Fore.light_yellow})]?",helpText=f"{htext}\nan integer between 0 and {cta-1}",data="integer")
892
+ if idx is None:
893
+ return None
894
+ elif idx in ['d',]:
895
+ return prices[0]
896
+
897
+ if idx in range(0,cta):
898
+ return prices[idx]
899
+ else:
900
+ print(f"{Fore.orange_red_1}use a number within 0-{cta-1}!")
901
+ continue
902
+
903
+ except Exception as e:
904
+ print(e)
905
+ return result
906
+
874
907
  def tax_rate_from_oldPriceAndNewPrice():
875
908
  result=None
876
909
  print('tax_rate_from_oldPriceAndNewPrice()')
@@ -955,6 +988,11 @@ SALES TAX ON APPLICABLE TANGIBLE ITEMS = (PRICE + CRV) * TTL TAX RATE
955
988
  'desc':f'{Fore.light_yellow}tax rate{Fore.medium_violet_red} from old price and new price{Style.reset}',
956
989
  'exec':tax_rate_from_oldPriceAndNewPrice
957
990
  },
991
+ f'{uuid1()}':{
992
+ 'cmds':generate_cmds(startcmd=['dt','dollar tree','$tree','dollar-tree'],endCmd=['prcs','prices','prces','mpc',]),
993
+ 'desc':f'{Fore.light_yellow}Dollar($tree) Tree {Fore.medium_violet_red}multi-price selector{Style.reset}',
994
+ 'exec':dollar_tree_multiprices
995
+ },
958
996
  f'{uuid1()}':{
959
997
  'cmds':generate_cmds(startcmd=['salary','sal','slry'],endCmd=['2hours','2hr','tohr','tohour','-hour','-hr']),
960
998
  'desc':f'{Fore.light_yellow}Annual Salary{Fore.medium_violet_red} from hourly wage rate and hours worked{Style.reset}',
@@ -1164,57 +1202,96 @@ def generateWhiteNoise():
1164
1202
  print(e)
1165
1203
 
1166
1204
  class TasksMode:
1167
- def nanoid(self,auto=None):
1168
- with localcontext() as ctx:
1169
- fields={
1170
- 'size':{
1171
- 'default':21,
1172
- 'type':'integer',
1173
- },
1174
- 'alphabet':{
1175
- 'default':string.ascii_uppercase+string.digits,
1176
- 'type':'string',
1177
- },
1178
- 'chunk size':{
1179
- 'default':7,
1180
- 'type':'integer',
1181
- },
1182
- 'delim':{
1183
- 'default':'/',
1184
- 'type':'string',
1185
- }
1186
- }
1187
- if not auto:
1188
- fd=FormBuilder(data=fields)
1189
- if fd is None:
1190
- return None
1191
- else:
1192
- fd={
1193
- 'chunk size':7,
1194
- 'size':21,
1195
- 'delim':'/',
1196
- 'alphabet':string.ascii_uppercase+string.digits,
1205
+ def nanoid(self,auto=None,check_dup=True):
1206
+ while True:
1207
+ with localcontext() as ctx:
1208
+ fields={
1209
+ 'size':{
1210
+ 'default':21,
1211
+ 'type':'integer',
1212
+ },
1213
+ 'alphabet':{
1214
+ 'default':string.ascii_uppercase+string.digits,
1215
+ 'type':'string',
1216
+ },
1217
+ 'chunk size':{
1218
+ 'default':7,
1219
+ 'type':'integer',
1220
+ },
1221
+ 'delim':{
1222
+ 'default':'/',
1223
+ 'type':'string',
1224
+ }
1197
1225
  }
1198
- recieptidFile=detectGetOrSet("NanoIdFile","nanoid.txt",setValue=False,literal=True)
1199
- idx=nanoid.generate(fd['alphabet'],fd['size'])
1200
- idx=f'{fd["delim"]}'.join(stre(idx)/fd["chunk size"])
1226
+ if not auto:
1227
+ fd=FormBuilder(data=fields)
1228
+ if fd is None:
1229
+ return None
1230
+ else:
1231
+ fd={
1232
+ 'chunk size':7,
1233
+ 'size':21,
1234
+ 'delim':'/',
1235
+ 'alphabet':string.ascii_uppercase+string.digits,
1236
+ }
1237
+ recieptidFile=detectGetOrSet("NanoIdFile","nanoid.txt",setValue=False,literal=True)
1238
+ idx=nanoid.generate(fd['alphabet'],fd['size'])
1239
+ idx=f'{fd["delim"]}'.join(stre(idx)/fd["chunk size"])
1201
1240
 
1202
- if not auto:
1203
- returnIDX=Control(func=FormBuilderMkText,ptext=f"return '{idx}'; it will be saved to {recieptidFile}",helpText=f"return '{idx}' as a string",data="boolean")
1204
- else:
1205
- returnIDX=None
1241
+
1242
+ if check_dup:
1243
+ idxx=str(idx)
1244
+ with Session(ENGINE) as session:
1245
+ f=[
1246
+ Entry.Name.icontains(idxx),
1247
+ Entry.Barcode.icontains(idxx),
1248
+ Entry.Code.icontains(idxx),
1249
+ Entry.Name.icontains(idxx),
1250
+ Entry.ALT_Barcode.icontains(idxx),
1251
+ Entry.DUP_Barcode.icontains(idxx),
1252
+ Entry.CaseID_BR.icontains(idxx),
1253
+ Entry.CaseID_LD.icontains(idxx),
1254
+ Entry.CaseID_6W.icontains(idxx),
1255
+ Entry.Tags.icontains(idxx),
1256
+ ]
1257
+ check=session.query(Entry).filter(or_(*f)).first()
1258
+ if check is not None:
1259
+ print(f"{Fore.orange_red_1}A Collision may have occurred in Entry [{check}{Fore.orange_red_1},] ... trying {Fore.light_yellow}again!{Style.reset}")
1260
+ continue
1206
1261
 
1207
- if recieptidFile is not None:
1208
- if auto:
1209
- print(f"'{recieptidFile}' was updated with '{idx}'.")
1210
- recieptidFile=Path(recieptidFile)
1211
- with recieptidFile.open("w") as f:
1212
- f.write(idx+"\n")
1262
+ f=[
1263
+ DayLog.Name.icontains(idxx),
1264
+ DayLog.Barcode.icontains(idxx),
1265
+ DayLog.Code.icontains(idxx),
1266
+ DayLog.Name.icontains(idxx),
1267
+ DayLog.ALT_Barcode.icontains(idxx),
1268
+ DayLog.DUP_Barcode.icontains(idxx),
1269
+ DayLog.CaseID_BR.icontains(idxx),
1270
+ DayLog.CaseID_LD.icontains(idxx),
1271
+ DayLog.CaseID_6W.icontains(idxx),
1272
+ DayLog.Tags.icontains(idxx),
1273
+ ]
1274
+ check=session.query(DayLog).filter(or_(*f)).first()
1275
+ if check is not None:
1276
+ print(f"{Fore.orange_red_1}A Collision may have occurred in DayLog [{check}{Fore.orange_red_1},] ... trying {Fore.light_yellow}again!{Style.reset}")
1277
+ continue
1278
+
1279
+ if not auto:
1280
+ returnIDX=Control(func=FormBuilderMkText,ptext=f"return '{idx}'; it will be saved to {recieptidFile}",helpText=f"return '{idx}' as a string",data="boolean")
1281
+ else:
1282
+ returnIDX=None
1213
1283
 
1214
- if returnIDX in [False,'NaN',None]:
1215
- return None
1216
- elif returnIDX in ['d',True]:
1217
- return str(idx)
1284
+ if recieptidFile is not None:
1285
+ if auto:
1286
+ print(f"'{recieptidFile}' was updated with '{idx}'.")
1287
+ recieptidFile=Path(recieptidFile)
1288
+ with recieptidFile.open("w") as f:
1289
+ f.write(idx+"\n")
1290
+
1291
+ if returnIDX in [False,'NaN',None]:
1292
+ return None
1293
+ elif returnIDX in ['d',True]:
1294
+ return str(idx)
1218
1295
 
1219
1296
  def mkRun(self):
1220
1297
  rootdir=Control(func=FormBuilderMkText,ptext=f"Root Directory[d={ROOTDIR}/path|p=str(Path().cwd())]",helpText="root directory",data="string")
@@ -2741,7 +2818,8 @@ so use {Fore.orange_red_1}ls-lq/ls Shelf {Fore.light_yellow}from {Fore.light_mag
2741
2818
  print(ne)
2742
2819
 
2743
2820
 
2744
- def mkNew(self,code,data=None,extra=[],defaultEnter=True):
2821
+ def mkNew(self,code,data=None,extra=[],defaultEnter=True,use_name=True,use_code=True,use_casecount=True,use_price=True):
2822
+ #print("XMEN")
2745
2823
  if data != None:
2746
2824
  if 'Tags' in list(data.keys()):
2747
2825
  data.pop('Tags')
@@ -2752,6 +2830,31 @@ so use {Fore.orange_red_1}ls-lq/ls Shelf {Fore.light_yellow}from {Fore.light_mag
2752
2830
  'Price':0,
2753
2831
  'CaseCount':1,
2754
2832
  }
2833
+ if 'Name' in data:
2834
+ if not use_name:
2835
+ data.pop('Name')
2836
+ if 'Code' in data:
2837
+ if not use_code:
2838
+ data.pop('Code')
2839
+
2840
+ if 'CaseCount' in data:
2841
+ if not use_casecount:
2842
+ data.pop('CaseCount')
2843
+
2844
+ if 'Price' in data:
2845
+ if not use_price:
2846
+ data.pop('Price')
2847
+
2848
+ if len(data) < 1:
2849
+ #print(data)
2850
+ data={
2851
+ 'Name':code,
2852
+ 'Code':code,
2853
+ 'Price':0,
2854
+ 'CaseCount':1,
2855
+ }
2856
+ return data
2857
+
2755
2858
  if len(extra) > 0:
2756
2859
  for k in extra:
2757
2860
  try:
@@ -2893,6 +2996,21 @@ so use {Fore.orange_red_1}ls-lq/ls Shelf {Fore.light_yellow}from {Fore.light_mag
2893
2996
  break
2894
2997
  if self.skipTo == None:
2895
2998
  break
2999
+ if 'Name' not in data:
3000
+ if not use_name and 'Name' not in data:
3001
+ data['Name']=code
3002
+ if 'Code' not in data:
3003
+ if not use_code and 'Code' not in data:
3004
+ data['Code']=code
3005
+
3006
+ if 'CaseCount' not in data:
3007
+ if not use_casecount and 'CaseCount' not in data:
3008
+ data['CaseCount']=1
3009
+
3010
+ if 'Price' not in data:
3011
+ if not use_price and 'Price' not in data:
3012
+ data['Price']=0
3013
+ #print(data)
2896
3014
  return data
2897
3015
 
2898
3016
  entrySepStart=f'{Back.grey_30}{Fore.light_red}\\\\{Fore.light_green}{"*"*10}{Fore.light_yellow}|{Fore.light_steel_blue}#REPLACE#{Fore.light_magenta}|{Fore.orange_red_1}{"+"*10}{Fore.light_yellow}{Style.bold}({today()}){Fore.light_red}//{Style.reset}'
@@ -2987,15 +3105,55 @@ so use {Fore.orange_red_1}ls-lq/ls Shelf {Fore.light_yellow}from {Fore.light_mag
2987
3105
  ptext=f'''{hafnhaf_l}
2988
3106
  {Fore.light_red}Enter {Style.bold}{Style.underline}{Fore.orange_red_1}Quantity/Formula{Style.reset} amount|+amount|-amount|a,+a,-a(advanced)|r,+r,-r(ReParseFormula) (Enter==1)|{Fore.light_green}ipcv={Fore.dark_goldenrod}PalletCount-value[{Fore.light_steel_blue}:-){Fore.dark_goldenrod}]|{Fore.light_green}iscv={Fore.dark_goldenrod}ShelfCount-value[{Fore.light_steel_blue}:-(){Fore.dark_goldenrod}]|{Fore.light_green}ilcv={Fore.dark_goldenrod}LoadCount-value[{Fore.light_steel_blue};-){Fore.dark_goldenrod}]|{Fore.light_green}iccv={Fore.dark_goldenrod}CaseCount-value[{Fore.light_steel_blue}:-P{Fore.dark_goldenrod}]|{Fore.light_green}ipcvc{Fore.dark_goldenrod}=(PalletCount-value)/CaseCount[{Fore.light_steel_blue}:-D{Fore.dark_goldenrod}]|{Fore.light_green}iscvc{Fore.dark_goldenrod}=(ShelfCount-value)/CaseCount[{Fore.light_steel_blue}:-|{Fore.dark_goldenrod}]|{Fore.light_green}ilcvc{Fore.dark_goldenrod}=(LoadCount-value)/CaseCount[{Fore.light_steel_blue}:-*{Fore.dark_goldenrod}]|{Fore.light_green}iccvc{Fore.dark_goldenrod}=(CaseCount-value)/CaseCount[{Fore.light_steel_blue}:O{Fore.dark_goldenrod}]{Style.reset}'''
2989
3107
  return ptext
2990
- default_quantity_action=Prompt.__init2__(None,func=FormBuilderMkText,ptext="Set The Default Quantity to the quantity retrieved + this value? 'd'=1",helpText="a positive(+) or Negative(-) integer.",data="float")
3108
+ ready=0
3109
+ #ready+=1
3110
+ m=f'{Fore.orange_red_1}INIT({ready}){Fore.light_yellow} -> '
3111
+ #names that are not always necessary
3112
+ use_name=Prompt.__init2__(None,func=FormBuilderMkText,ptext=f"{m}Ask for Entry {Fore.cyan}Name{Fore.light_yellow} after Quantity Input when Item is new? [y({Fore.orange_red_1}d=default{Fore.light_yellow})/N]",helpText="a boolean value from either of (0,f,n,no,false,False) or (1,t,true,True,yes,y) or formula that equates to a True or a False",data="boolean")
3113
+ if use_name in [None,]:
3114
+ return
3115
+ elif use_name in [False,]:
3116
+ use_name=False
3117
+ else:
3118
+ use_name=True
2991
3119
 
2992
- if default_quantity_action in [None,]:
3120
+ ready+=1
3121
+ m=f'{Fore.orange_red_1}INIT({ready}){Fore.light_yellow} -> '
3122
+ #extras that are not always necessary
3123
+ use_code=Prompt.__init2__(None,func=FormBuilderMkText,ptext=f"{m}Ask for Entry {Fore.cyan}Codes{Fore.light_yellow} after Quantity Input when Item is new? [y/N({Fore.orange_red_1}d=default{Fore.light_yellow})]",helpText="a boolean value from either of (0,f,n,no,false,False) or (1,t,true,True,yes,y) or formula that equates to a True or a False",data="boolean")
3124
+ if use_code in [None,]:
2993
3125
  return
2994
- elif default_quantity_action in ['d',]:
2995
- default_quantity_action=1
3126
+ elif use_code in ['d',False,]:
3127
+ use_code=False
3128
+ else:
3129
+ use_code=True
2996
3130
 
3131
+ ready+=1
3132
+ m=f'{Fore.orange_red_1}INIT({ready}){Fore.light_yellow} -> '
3133
+ #names that are not always necessary
3134
+ use_casecount=Prompt.__init2__(None,func=FormBuilderMkText,ptext=f"{m}Ask for Entry {Fore.cyan}CaseCount{Fore.light_yellow} after Quantity Input when Item is new? [y/N({Fore.orange_red_1}d=default{Fore.light_yellow})]",helpText="a boolean value from either of (0,f,n,no,false,False) or (1,t,true,True,yes,y) or formula that equates to a True or a False",data="boolean")
3135
+ if use_casecount in [None,]:
3136
+ return
3137
+ elif use_casecount in ['d',False]:
3138
+ use_casecount=False
3139
+ else:
3140
+ use_casecount=True
3141
+
3142
+ ready+=1
3143
+ m=f'{Fore.orange_red_1}INIT({ready}){Fore.light_yellow} -> '
2997
3144
  #extras that are not always necessary
2998
- use_notes=Prompt.__init2__(None,func=FormBuilderMkText,ptext="Ask for Entry Notes after Quantity Input? [y/N]",helpText="a boolean value from either of (0,f,n,no,false,False) or (1,t,true,True,yes,y) or formula that equates to a True or a False",data="boolean")
3145
+ use_price=Prompt.__init2__(None,func=FormBuilderMkText,ptext=f"{m}Ask for Entry {Fore.cyan}Price{Fore.light_yellow} after Quantity Input when Item is new? [y({Fore.orange_red_1}d=default{Fore.light_yellow})/N]",helpText="a boolean value from either of (0,f,n,no,false,False) or (1,t,true,True,yes,y) or formula that equates to a True or a False",data="boolean")
3146
+ if use_price in [None,]:
3147
+ return
3148
+ elif use_price in [False,]:
3149
+ use_price=False
3150
+ else:
3151
+ use_price=True
3152
+
3153
+ ready+=1
3154
+ m=f'{Fore.orange_red_1}INIT({ready}){Fore.light_yellow} -> '
3155
+ #extras that are not always necessary
3156
+ use_notes=Prompt.__init2__(None,func=FormBuilderMkText,ptext=f"{m}Ask for Entry {Fore.cyan}Notes{Fore.light_yellow} after Quantity Input? [y/N({Fore.orange_red_1}d=default{Fore.light_yellow})]",helpText="a boolean value from either of (0,f,n,no,false,False) or (1,t,true,True,yes,y) or formula that equates to a True or a False",data="boolean")
2999
3157
  if use_notes in [None,]:
3000
3158
  return
3001
3159
  elif use_notes in ['d',False]:
@@ -3003,7 +3161,18 @@ so use {Fore.orange_red_1}ls-lq/ls Shelf {Fore.light_yellow}from {Fore.light_mag
3003
3161
  else:
3004
3162
  use_notes=True
3005
3163
 
3006
- barcode_might_be_number=Prompt.__init2__(None,func=FormBuilderMkText,ptext="might a barcode looking value be a number at Quantity Input [y/N]",helpText="a boolean value from either of (0,f,n,no,false,False) or (1,t,true,True,yes,y) or formula that equates to a True or a False",data="boolean")
3164
+ ready+=1
3165
+ m=f'{Fore.orange_red_1}INIT({ready}){Fore.light_yellow} -> '
3166
+ default_quantity_action=Prompt.__init2__(None,func=FormBuilderMkText,ptext=f"{m}Set The Default Quantity to the quantity retrieved + this value? 'd'=1",helpText="a positive(+) or Negative(-) integer.",data="float")
3167
+
3168
+ if default_quantity_action in [None,]:
3169
+ return
3170
+ elif default_quantity_action in ['d',]:
3171
+ default_quantity_action=1
3172
+
3173
+ ready+=1
3174
+ m=f'{Fore.orange_red_1}INIT({ready}){Fore.light_yellow} -> '
3175
+ barcode_might_be_number=Prompt.__init2__(None,func=FormBuilderMkText,ptext=f"{m}might a barcode looking value be a number at Quantity Input [y/N]",helpText="a boolean value from either of (0,f,n,no,false,False) or (1,t,true,True,yes,y) or formula that equates to a True or a False",data="boolean")
3007
3176
  if barcode_might_be_number in [None,]:
3008
3177
  return
3009
3178
  elif barcode_might_be_number in ['d',False]:
@@ -3790,7 +3959,7 @@ Location Fields:
3790
3959
  raise Exception(f"result is {result}")
3791
3960
  else:
3792
3961
  if only_select_qty:
3793
- data=self.mkNew(code=code)
3962
+ data=self.mkNew(code=code,use_name=use_name,use_code=use_code,use_price=use_price,use_casecount=use_casecount)
3794
3963
  if self.next_barcode():
3795
3964
  continue
3796
3965
  if data in [None,]:
@@ -3808,6 +3977,14 @@ Location Fields:
3808
3977
  iprice=0
3809
3978
  icc=1
3810
3979
  tax,crv=self.calculate_tax_crv(iprice)
3980
+ if not use_name:
3981
+ name=code
3982
+ if not use_code:
3983
+ icode=code
3984
+ if not use_casecount:
3985
+ icc=1
3986
+ if not use_price:
3987
+ iprice=0
3811
3988
  n=Entry(Barcode=code,Code=icode,Price=iprice,Note=note+"\nNew Item",Tax=tax,CRV=crv,Name=name,CaseCount=icc,InList=True)
3812
3989
  setattr(n,fieldname,value)
3813
3990
  session.add(n)
@@ -3877,7 +4054,7 @@ Location Fields:
3877
4054
  raise Exception(f"result is {result}")
3878
4055
  else:
3879
4056
  if only_select_qty:
3880
- data=self.mkNew(code=code)
4057
+ data=self.mkNew(code=code,use_name=use_name,use_code=use_code,use_price=use_price,use_casecount=use_casecount)
3881
4058
  #print(data)
3882
4059
  if self.next_barcode():
3883
4060
  continue
@@ -3895,6 +4072,14 @@ Location Fields:
3895
4072
  iprice=0
3896
4073
  icc=1
3897
4074
  tax,crv=self.calculate_tax_crv(iprice)
4075
+ if not use_name:
4076
+ name=code
4077
+ if not use_code:
4078
+ icode=code
4079
+ if not use_casecount:
4080
+ icc=1
4081
+ if not use_price:
4082
+ iprice=0
3898
4083
  n=Entry(Barcode=code,Code=icode,Price=iprice,Note=note+"\nNew Item",Tax=tax,CRV=crv,Name=name,CaseCount=icc,InList=True)
3899
4084
  #n=Entry(Barcode=code,Code=icode,Note=note+"\nNew Item",Name=name,Price=iprice,CaseCount=icc,InList=True)
3900
4085
  setattr(n,fieldname,value)
radboy/__init__.py CHANGED
@@ -1 +1 @@
1
- VERSION='0.0.777'
1
+ VERSION='0.0.779'
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: radboy
3
- Version: 0.0.777
3
+ Version: 0.0.779
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=h30zoTqt-XLt_afDPlxMxBiKKwmKi3N-yAuldNCqXUo,41476
7
7
  radboy/Run.py,sha256=JUoCTHnzQBv7n8PB2_i93ANdAC_iW__RkAge8esCnk4,76
8
- radboy/__init__.py,sha256=DF1sJis2N7ny3PRH2hfLiiPGxe1u46Wm5eTn2NCI67g,17
8
+ radboy/__init__.py,sha256=L0hH56Ak-t4G_VpYfipNF4xRivGJWTUe8bBTJhIsFEM,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
@@ -356,7 +356,7 @@ radboy/SystemSettings/__pycache__/__init__.cpython-312.pyc,sha256=aIzp4Po0t8EhSA
356
356
  radboy/SystemSettings/__pycache__/__init__.cpython-313.pyc,sha256=QFDuoidxMWsGVLsy5lN-rDs6TP8nKJ4yyCyiamNOhwo,156
357
357
  radboy/TasksMode/ReFormula.py,sha256=REDRJYub-OEOE6g14oRQOLOQwv8pHqVJy4NQk3CCM90,2255
358
358
  radboy/TasksMode/SetEntryNEU.py,sha256=mkV9zAZe0lfpu_3coMuIILEzh6PgCNi7g9lJ4yDUpYM,20596
359
- radboy/TasksMode/Tasks.py,sha256=3kFpc5wmlykqHboT1EuydTiM9V6tkn2iYJx92lfRnkA,362259
359
+ radboy/TasksMode/Tasks.py,sha256=kSHDJKs8XZNQZJwWaoQn196Of7KiegVEXK_28RV3kNo,371601
360
360
  radboy/TasksMode/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
361
361
  radboy/TasksMode/__pycache__/ReFormula.cpython-311.pyc,sha256=QEG3PwVw-8HTd_Mf9XbVcxU56F1fC9yBqWXYPLC39DU,4865
362
362
  radboy/TasksMode/__pycache__/ReFormula.cpython-312.pyc,sha256=aX7BWm2PPjCTnxsbGUitR-2h9hq4AjaBiHMrUXvIl0Y,3967
@@ -365,7 +365,7 @@ radboy/TasksMode/__pycache__/SetEntryNEU.cpython-312.pyc,sha256=pCdFj61aPKkHL6Sv
365
365
  radboy/TasksMode/__pycache__/SetEntryNEU.cpython-313.pyc,sha256=jMSrUX9pvEhf67uVwrPE2ZlBCems8V7tHJ1LcC15ovU,24603
366
366
  radboy/TasksMode/__pycache__/Tasks.cpython-311.pyc,sha256=6QOTJnLiXSKdF81hkhy3vyrz49PPhS20s5_0X52g3Hw,131120
367
367
  radboy/TasksMode/__pycache__/Tasks.cpython-312.pyc,sha256=hyJwdaYaaRLdcrNxgg36diJ5iijX5_3I0UAORsj-6LU,310295
368
- radboy/TasksMode/__pycache__/Tasks.cpython-313.pyc,sha256=J3xhMbxese4nbG-MbdohkOqvHJVQXFZTtMrhi_Ou4Hg,437907
368
+ radboy/TasksMode/__pycache__/Tasks.cpython-313.pyc,sha256=ZNY8A-n2xE8GSNXGl6jBQ14WHKbABbuk1zIZdLwDAtQ,446868
369
369
  radboy/TasksMode/__pycache__/__init__.cpython-311.pyc,sha256=PKV1JbihEacm639b53bZozRQvcllSkjGP3q8STVMxF4,234
370
370
  radboy/TasksMode/__pycache__/__init__.cpython-312.pyc,sha256=ERgnEvRMiGSecWp1BpNzLdSq_SdKw7GvFWUvUM7bLVw,272
371
371
  radboy/TasksMode/__pycache__/__init__.cpython-313.pyc,sha256=lvsTxukyvGKB3C0rdF9dQi_bvVh6ceDVINfwcuIsd0s,151
@@ -412,7 +412,7 @@ radboy/__pycache__/Run.cpython-311.pyc,sha256=G_UEfMtkLRjR6ZpGA_BJzGenuaCcP469Y9
412
412
  radboy/__pycache__/Run.cpython-312.pyc,sha256=v4xolc3mHyla991XhpYBUbBHYT0bnJ1gE-lkFoQ4GFA,241
413
413
  radboy/__pycache__/__init__.cpython-311.pyc,sha256=R-DVbUioMOW-Fnaq7FpT5F1a5p0q3b_RW-HpLRArCAY,242
414
414
  radboy/__pycache__/__init__.cpython-312.pyc,sha256=FsFzLXOlTK8_7ixoPZzakkR8Wibt-DvXLFh-oG2QlPw,164
415
- radboy/__pycache__/__init__.cpython-313.pyc,sha256=cr5T-FVSoiJ0ic0xib8XUsD4IwJDgYHvUDx2YbqijN4,165
415
+ radboy/__pycache__/__init__.cpython-313.pyc,sha256=Ug4viIIH6RpUChg6M8ZvbCZHwU1sdpwjNR4QrPF6MX0,165
416
416
  radboy/__pycache__/__init__.cpython-39.pyc,sha256=D48T6x6FUeKPfubo0sdS_ZUut3FmBvPMP7qT6rYBZzU,275
417
417
  radboy/__pycache__/possibleCode.cpython-311.pyc,sha256=zFiHyzqD8gUnIWu4vtyMYIBposiRQqaRXfcT_fOl4rU,20882
418
418
  radboy/__pycache__/possibleCode.cpython-312.pyc,sha256=tk_CO-AcsO3YZj5j6vEsw3g37UmEzWc5YgeWEoJEUg4,27922
@@ -440,7 +440,7 @@ radboy/tkGui/Images/__pycache__/__init__.cpython-311.pyc,sha256=tXBYpqbOlZ24B1BI
440
440
  radboy/tkGui/__pycache__/BeginnersLuck.cpython-311.pyc,sha256=xLQOnV1wuqHGaub16mPX0dDMGU9ryCeLtNz5e517_GE,3004
441
441
  radboy/tkGui/__pycache__/Review.cpython-311.pyc,sha256=wKq24iM6Xe2OampgZ7-8U6Nvmgs2y-qWOrGwtWhc75k,4047
442
442
  radboy/tkGui/__pycache__/__init__.cpython-311.pyc,sha256=BX7DBn5qbvKTvlrKOP5gzTBPBTeTgSMjBW6EMl7N8e0,230
443
- radboy-0.0.777.dist-info/METADATA,sha256=cQgVdmijI1lmd8F1_Yju3nJllcwDR2731ZmnLSMhXTw,1920
444
- radboy-0.0.777.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
445
- radboy-0.0.777.dist-info/top_level.txt,sha256=mlM0RWMUxGo1YHnlLmYrHOgGdK4XNRpr7nMFD5lR56c,7
446
- radboy-0.0.777.dist-info/RECORD,,
443
+ radboy-0.0.779.dist-info/METADATA,sha256=ndzDFn32MAfnQkX9Bfr964DLR8s04OoZ0fmmR_C6Me4,1920
444
+ radboy-0.0.779.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
445
+ radboy-0.0.779.dist-info/top_level.txt,sha256=mlM0RWMUxGo1YHnlLmYrHOgGdK4XNRpr7nMFD5lR56c,7
446
+ radboy-0.0.779.dist-info/RECORD,,