radboy 0.0.742__py3-none-any.whl → 0.0.743__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/DB/Prompt.py CHANGED
@@ -27,17 +27,11 @@ from Crypto.Cipher import AES
27
27
  #from Cryptodome.Cipher import AES
28
28
  from Crypto.Util.Padding import pad, unpad
29
29
  from decimal import Decimal,localcontext,getcontext
30
- import biip
31
- import itertools
32
30
  from inputimeout import inputimeout, TimeoutOccurred
33
31
  from uuid import uuid1
34
32
  import zipfile,pydoc
35
- import math
36
- import enum
37
33
  from radboy.DB.rad_types import *
38
- import asyncio
39
- import hashlib
40
- import decimal
34
+ import decimal,nanoid,hashlib,asyncio,enum,math,biip,itertools
41
35
 
42
36
  try:
43
37
  import resource
@@ -2382,10 +2376,27 @@ class Prompt(object):
2382
2376
  return func(phn,data)
2383
2377
  elif cmd.lower() in ['h','help']:
2384
2378
  llo_modes=["dlu.cr","Prompt.lsbld","esu","t.[mksl||qsl||set Shelf||set Display]"]
2385
- extra=f'''{Fore.orange_red_1}Dimension Fields {Fore.light_steel_blue}are fields that tell how much space the product is going to take up using the the product itself as the unit of measure
2386
- {Fore.orange_red_1}Location Fields{Fore.light_steel_blue} are fields where the item resides at, will reside at, is coming from etc...
2387
- {Fore.orange_red_1}Count Fields{Fore.light_steel_blue} are fields that define max values that relate to how much goes to the shelf,comes via the Load, how much comes in a Pallet, or Case{Style.reset}
2379
+ extra=f'''
2380
+ [Generation]
2381
+ {Fore.grey_70}**{Fore.light_sea_green}'crbc',"checked random barcode"{Fore.light_yellow}- generate a random, but non-local-system existant barcode for input{Style.reset}
2382
+ {Fore.grey_70}**{Fore.light_sea_green}'cruid',"checked uid"{Fore.light_yellow}- generate a uid, but non-local-system existant uid for input{Style.reset}
2383
+ {Fore.grey_70}**{Fore.light_sea_green}'bcd-gen','bcd-img'{Fore.light_yellow}- generate a custom barcode img from input data possible output is selected from {barcode.PROVIDED_BARCODES}{Style.reset}
2384
+ {Fore.grey_70}**{Fore.light_sea_green}'qr-gen','qr-img'{Fore.light_yellow}- generate a custom barcode img from input data possible output is selected{Style.reset}
2385
+ {Fore.grey_70}**{Fore.light_sea_green}{','.join(generate_cmds(startcmd=["nano",],endCmd=["id",]))}{Fore.light_yellow} - generate collision resistance nano ids{Style.reset}
2386
+ {Fore.grey_70}**{Fore.light_sea_green}'upcify','format upc','fupc'{Fore.light_yellow} Format input text to look '{db.Entry.rebar(None,"TESTTEXTUPCA")}{Style.reset}'
2387
+ {Fore.grey_70}**{Fore.light_sea_green}'codify','format code','fcode'{Fore.light_yellow} Format input text to look '{db.Entry.cfmt(None,"TESTTEXT")}{Style.reset}'
2388
+ {Fore.grey_70}**{Fore.light_sea_green}'upcify str','upcify.str','upcify-str','format upc str','fupcs'{Fore.light_yellow} Format input text to look and use formatted text as input-text'{db.Entry.rebar(None,"TESTTEXTUPCA")}{Style.reset}'
2389
+ {Fore.grey_70}**{Fore.light_sea_green}'codify str','codify.str','codify-str','format code str','fcodes'{Fore.light_yellow} Format input text to look and use formatted text as input-text'{db.Entry.cfmt(None,"TESTTEXT")}{Style.reset}'
2390
+ {Fore.grey_70}**{Fore.light_green}'ic2oc','input code to output code'{Fore.light_steel_blue} Convert an input code to its neighboring format for view or input use{Style.reset}
2391
+ {Fore.grey_70}**{Fore.light_green}'uniq-rcpt-id','uniq rcpt id','unique_reciept_id','urid','unique reciept id','unique-reciept-id'{Fore.light_steel_blue} Generate Relavent Receipt Id to be searchable in DayLogger{Style.reset}
2392
+ {Fore.grey_70}**{Fore.light_green}'text2file'{Fore.light_steel_blue} dump input/returned text to file{Style.reset}
2393
+ {Fore.grey_70}** {Fore.light_steel_blue}['dsu','daystring','daystr']{Fore.light_green} print daystring {Style.reset}
2394
+ {Fore.grey_70}** {Fore.light_steel_blue}['dsur','daystring return','dstr r']{Fore.light_green} print and return daystring {Style.reset}
2395
+ {Fore.grey_70}** {Fore.light_steel_blue}['dsup','daystring plain','daystrpln']{Fore.light_green} print daystring as plain text with no colors{Style.reset}
2396
+ {Fore.grey_70}** {Fore.light_steel_blue}['dsurp','daystring return plain','dstr r pln']{Fore.light_green} print and return daystring as plain text with no colors{Style.reset}
2397
+ {Fore.grey_70}** {Fore.light_steel_blue}['letter','message']{Fore.light_green} Generate a displayable letter from a default format, allowing to return the text as colored, or plain output; if a return is not desired, continue to the last prompt. using curly-braces you may attempt to write small python code to be evaluated and used as text in the message/letter. This includes colors from Fore,Back, and Style.{Style.reset}
2388
2398
 
2399
+ [Formulas/Calculators/Utility]
2389
2400
  {Fore.orange_red_1}{Style.underline}Prompt Level CMDS(Access from anywhere But {Fore.light_red}Root){Style.reset}
2390
2401
  {Fore.light_yellow}Don't Use {Fore.grey_70}**{Style.reset}
2391
2402
  {Fore.grey_70}**{Fore.light_green}sft{Fore.light_red}u{Fore.light_steel_blue} - search for text across whole DB and return it as input{Style.reset}
@@ -2394,7 +2405,6 @@ class Prompt(object):
2394
2405
  {Fore.grey_70}**{Fore.light_green}s{Fore.light_red}bld{Fore.light_steel_blue} - search with barcode in all items with InList==True and has a location value above {Fore.light_red}0{Style.reset}
2395
2406
  {Fore.grey_70}**{Fore.light_green}"bldlse","builde","buildlse","build list export ","bld ls exp",'elsbld','export list build','exp ls bld','ebld'{Fore.light_steel_blue} - same as versions without export, but dumps list to {Path(Prompt.bld_file).absolute()}{Style.reset}
2396
2407
  {Fore.grey_70}**{Fore.light_green}'esbld','export search build','export_search_build','exp scan build','exp_scan_bld'{Fore.light_steel_blue} - same as versions without export, but dumps list to {Path(Prompt.bld_file).absolute()}{Style.reset}
2397
-
2398
2408
  {Fore.grey_70}**{Fore.light_green}{','.join(generate_cmds(startcmd=["lsbld","buildls","bldls","bld"],endCmd=["ncrvtxd","nocrv txd","ncrv txd","no crv taxed"]))}{Fore.light_steel_blue} - bldls but displays Entries where 'Tax' has been applied, but no CRV has been applied.{Style.reset}
2399
2409
  {Fore.grey_70}**{Fore.light_green}{','.join(generate_cmds(startcmd=["lsbld","buildls","bldls","bld"],endCmd=["crvntx","crv ntx","crv notax","crv not taxed","crv untaxed"]))}{Fore.light_steel_blue} - bldls but displays Entries where 'CRV' has been applied and where there is No tax.{Style.reset}
2400
2410
  {Fore.grey_70}**{Fore.light_green}"bldls no txcrv","build no tax crv","buildlsnotaxcrv","build list no tax crv","bld ls ntxcrv",'lsbldntxcrv','list build no tax crv','ls bld ntx crv','bldntxcrv'{Fore.light_steel_blue} - bldls but displays Entries where no tax and no crv has been applied{Style.reset}
@@ -2410,60 +2420,67 @@ class Prompt(object):
2410
2420
  {Fore.grey_70}**{Fore.light_green}mlu{Fore.light_steel_blue} - master lookup search for something in {SEARCH_TABLES}{Style.reset}
2411
2421
  {Fore.grey_70}**{Fore.light_green}exp{Fore.light_steel_blue} - product expiration menu{Style.reset}
2412
2422
  {Fore.grey_70}**{Fore.light_green}comm{Fore.light_steel_blue} - send an email message with gmail{Style.reset}
2413
- {Fore.grey_70}**{Fore.light_sea_green}'crbc',"checked random barcode"{Fore.light_yellow}- generate a random, but non-local-system existant barcode for input{Style.reset}
2414
- {Fore.grey_70}**{Fore.light_sea_green}'cruid',"checked uid"{Fore.light_yellow}- generate a uid, but non-local-system existant uid for input{Style.reset}
2415
- {Fore.grey_70}**{Fore.light_sea_green}'bcd-gen','bcd-img'{Fore.light_yellow}- generate a custom barcode img from input data possible output is selected from {barcode.PROVIDED_BARCODES}{Style.reset}
2416
- {Fore.grey_70}**{Fore.light_sea_green}'qr-gen','qr-img'{Fore.light_yellow}- generate a custom barcode img from input data possible output is selected{Style.reset}
2417
- {Fore.grey_70}**{Fore.light_red}u{Fore.light_steel_blue} is for {Fore.light_red}Universally{Fore.light_steel_blue} accessible where this menu is{Style.reset}
2418
- {Fore.grey_70}**{Style.bold}{Fore.spring_green_3a}ts{Fore.light_red}u{Fore.spring_green_3a},j,journal,jrnl{Style.reset} -{Fore.light_steel_blue} Access TouchScan Journal from this prompt{Style.reset}
2419
- {Fore.grey_70}**{Fore.light_red}The Current CMD type/scanned is written to {Fore.light_yellow}{scanout}{Fore.light_red}, so if you are stuck without traditional keyboard output, you can still utilize the Text file as a ClipBoard{Style.reset}
2423
+
2420
2424
  {Fore.grey_70}**{Fore.light_steel_blue}obf msg {Fore.spring_green_3a}encrypted msgs via {db.detectGetOrSet("OBFUSCATED MSG FILE",value="MSG.txt",setValue=False,literal=True)} and Prompt Input{Style.reset}
2421
- {Fore.grey_70}**{Fore.light_salmon_1}Start a line with {Fore.cyan}#ml#{Fore.light_salmon_1} followed by text, where {Fore.light_red}<ENTER>/<RETURN>{Fore.light_salmon_1} will allow for additional lines of input until you end the multi-line input with {Fore.cyan}#ml#{Style.reset}
2422
- {Fore.light_sea_green}Code=="UNASSIGNED_TO_NEW_ITEM" --> {Fore.light_steel_blue} `neu;set field;#select indexes for Code,Name,Price,CaseCount from prompt; type "UNASSIGNED_TO_NEW_ITEM" and hit <ENTER>/<RETURN>;#follow the prompts to fill the Entry Data for those Fields`{Style.reset}
2423
- {Fore.grey_70}**{Fore.light_green}'upcify','format upc','fupc'{Fore.light_steel_blue} Format input text to look '{db.Entry.rebar(None,"TESTTEXTUPCA")}{Style.reset}'
2424
- {Fore.grey_70}**{Fore.light_green}'codify','format code','fcode'{Fore.light_steel_blue} Format input text to look '{db.Entry.cfmt(None,"TESTTEXT")}{Style.reset}'
2425
- {Fore.grey_70}**{Fore.light_green}'upcify str','upcify.str','upcify-str','format upc str','fupcs'{Fore.light_steel_blue} Format input text to look and use formatted text as input-text'{db.Entry.rebar(None,"TESTTEXTUPCA")}{Style.reset}'
2426
- {Fore.grey_70}**{Fore.light_green}'codify str','codify.str','codify-str','format code str','fcodes'{Fore.light_steel_blue} Format input text to look and use formatted text as input-text'{db.Entry.cfmt(None,"TESTTEXT")}{Style.reset}'
2427
2425
  {Fore.grey_70}**{Fore.light_green}{PRICE}{Fore.light_steel_blue} Calculate price information using user provided data for an arbitrary product who Data is not in the Entry table{Style.reset}
2428
2426
  {Fore.grey_70}**{Fore.light_green}{FMLA}{Fore.light_steel_blue} use some pre-built formulas for returning values to the prompt{Style.reset}
2429
- {Fore.grey_70}**{Fore.light_green}'mksl','make shopping list','p-slq','prompt slq','set list qty','slqp','slq-p'{Fore.light_steel_blue} make a list using {Fore.green_3a}slq{Fore.light_steel_blue} from {Fore.orange_red_1}Tasks.{Fore.light_red}TasksMode{Style.reset}
2430
- {Fore.grey_70}**{Fore.light_green}'ic2oc','input code to output code'{Fore.light_steel_blue} Convert an input code to its neighboring format for view or input use{Style.reset}
2431
- {Fore.grey_70}**{Fore.light_green}'uniq-rcpt-id','uniq rcpt id','unique_reciept_id','urid','unique reciept id','unique-reciept-id'{Fore.light_steel_blue} Generate Relavent Receipt Id to be searchable in DayLogger{Style.reset}
2432
- {Fore.grey_70}**{Fore.light_green}'cslf','clear selected location field'{Fore.light_steel_blue} set Entry's with selected field's to Zero, but do not do change InList==False{Style.reset}
2433
- {Fore.grey_70}**{Fore.light_green}'cse','clear selected entry'{Fore.light_steel_blue} clear selected entry{Style.reset}
2434
- {Fore.grey_70}**{Fore.light_green}'fmbh','formbuilder help','form helptext'{Fore.light_steel_blue} print formbuilder helptext{Style.reset}
2435
- {Fore.grey_70}**{Fore.light_green}'text2file'{Fore.light_steel_blue} dump input/returned text to file{Style.reset}
2436
- {Fore.grey_70}**{Fore.light_green}'qc','quick change','q-c','q.c'{Fore.light_steel_blue} use the quick change menu {Fore.orange_red_1}if available{Style.reset}
2427
+ {Fore.grey_70}** {Fore.light_steel_blue}{generate_cmds(startcmd=['simple','smpl'],endCmd=['scanner','scanr','scnnr','scnr'])} {Fore.light_green}a scanner recorder that only records the text,times scanned,and dtoe, and when when time permits, comment.{Style.reset}
2428
+ {Fore.grey_70}** {Fore.light_steel_blue}{generate_cmds(startcmd=['precision','prcsn'],endCmd=['set','st','='])} {Fore.light_green}set Prompt Decimal precision{Style.reset}
2437
2429
  {Fore.grey_70}**{Fore.light_green}'exe','execute','x'{Fore.light_steel_blue} write an inline script and excute it, using {Fore.magenta}#ml#{Fore.light_steel_blue} if multi-line{Fore.orange_red_1}[if available] {Fore.grey_70}**{Fore.green_yellow}to save results for use later, use the function {Fore.light_sea_green}save(result){Fore.green_yellow} where result is the variable containing your result to be used elsewhere.{Style.reset}
2438
2430
  {Fore.grey_70}**{Fore.light_green}'exe-result','execute-result','xr'{Fore.light_steel_blue} return result from inline script save(){Style.reset}
2439
2431
  {Fore.grey_70}**{Fore.light_green}'exe-print','pxr','print exe result'{Fore.light_steel_blue} print result of inline script from save without returning{Style.reset}
2440
- {Fore.grey_70}{llo_modes} Modes ONLY **{Fore.light_green}'rllo','reverse list lookup order'{Fore.light_green}Reverse the ordering used by the List Maker's listing modes for Entry Lookup, i.e. set Shelf,mksl,qsl{Style.reset}
2441
- {Fore.grey_70}{llo_modes} Modes ONLY **{Fore.light_green}'vllo','view list lookup order'{Fore.light_green}View the ordering used by the List Maker's listing modes for Entry Lookup, i.e. set Shelf,mksl,qsl{Style.reset}
2442
- {Fore.grey_85}** {Fore.light_steel_blue}'fbht','fmbh','formbuilder help','form helptext'{Fore.light_green}FormBuilderHelpText; extra keywords when asked for time and date{Style.reset}
2432
+ [Suggested Receipt Directory Structure]
2433
+ For Lots of Receipts and the Need for Details
2434
+ {db.receiptsDirectory}/{datetime.now().year}/{datetime.now().month}/{datetime.now().day}/file with image name_containing id from nanoid.txt or receipt_id.txt
2435
+ For Moederate Amounts of Receipts
2436
+ {db.receiptsDirectory}/{datetime.now().year}/{datetime.now().month}//file with image name_containing id from nanoid.txt or receipt_id.txt
2437
+ {db.receiptsDirectory}/{datetime.now().year}/file with image name_containing id from nanoid.txt or receipt_id.txt
2438
+ For Low Amounts of Receipts And/Or Fewer Details are needed
2439
+ {db.receiptsDirectory}/
2440
+ Musts:
2441
+ -ensure id is visible in the image
2442
+ -enusre receipt is clearly readable
2443
+ -ensure file name contains the id
2444
+
2445
+ [Reference/Help]
2446
+ {Fore.orange_red_1}Dimension Fields {Fore.light_steel_blue}are fields that tell how much space the product is going to take up using the the product itself as the unit of measure
2447
+ {Fore.orange_red_1}Location Fields{Fore.light_steel_blue} are fields where the item resides at, will reside at, is coming from etc...
2448
+ {Fore.orange_red_1}Count Fields{Fore.light_steel_blue} are fields that define max values that relate to how much goes to the shelf,comes via the Load, how much comes in a Pallet, or Case{Style.reset}
2449
+
2450
+ {Fore.grey_70}**{Fore.light_salmon_1}Start a line with {Fore.cyan}#ml#{Fore.light_salmon_1} followed by text, where {Fore.light_red}<ENTER>/<RETURN>{Fore.light_salmon_1} will allow for additional lines of input until you end the multi-line input with {Fore.cyan}#ml#{Style.reset}
2451
+ {Fore.light_sea_green}Code=="UNASSIGNED_TO_NEW_ITEM" --> {Fore.light_steel_blue} `neu;set field;#select indexes for Code,Name,Price,CaseCount from prompt; type "UNASSIGNED_TO_NEW_ITEM" and hit <ENTER>/<RETURN>;#follow the prompts to fill the Entry Data for those Fields`{Style.reset}
2452
+ {Fore.grey_70}**{Fore.light_red}u{Fore.light_steel_blue} is for {Fore.light_red}Universally{Fore.light_steel_blue} accessible where this menu is{Style.reset}
2453
+ {Fore.grey_70}**{Style.bold}{Fore.spring_green_3a}ts{Fore.light_red}u{Fore.spring_green_3a},j,journal,jrnl{Style.reset} -{Fore.light_steel_blue} Access TouchScan Journal from this prompt{Style.reset}
2454
+ {Fore.grey_70}**{Fore.light_red}The Current CMD type/scanned is written to {Fore.light_yellow}{scanout}{Fore.light_red}, so if you are stuck without traditional keyboard output, you can still utilize the Text file as a ClipBoard{Style.reset}
2455
+ {Fore.grey_70}**{Fore.light_green}'fmbh','formbuilder help','form helptext'{Fore.light_steel_blue} print formbuilder helptext{Style.reset}
2443
2456
  {Fore.grey_70}** {Fore.light_steel_blue}{f'{Fore.light_red},{Fore.light_steel_blue}'.join(generate_cmds(startcmd=['units',],endCmd=['']))}{Fore.light_green} list supported units{Style.reset}
2444
2457
  {Fore.grey_70}** {Fore.light_steel_blue}{f'{Fore.light_red},{Fore.light_steel_blue}'.join(generate_cmds(startcmd=['units',],endCmd=['r','return','returnable']))}{Fore.light_green} list & return selected supported unit{Style.reset}
2445
2458
  {Fore.grey_70}** {Fore.light_steel_blue}{f'{Fore.light_red},{Fore.light_steel_blue}'.join(generate_cmds(startcmd=['lds2','rdts'],endCmd=['',]))}{Fore.light_green} repeable dates,orders,etc...{Style.reset}
2459
+ {Fore.grey_70}** {Fore.light_steel_blue}'si-reference','si-ref','si ref','si reference'{Fore.light_green}print si reference chart and continue prompt{Style.reset}
2460
+ {Fore.grey_70}** {Fore.light_steel_blue}{','.join(generate_cmds(startcmd=['fake',],endCmd=['phone','ph#','ph. no.','phone number']))}{Fore.light_green}fake phone number{Style.reset}
2461
+ {Fore.grey_85}** {Fore.light_steel_blue}'fbht','fmbh','formbuilder help','form helptext'{Fore.light_green}FormBuilderHelpText; extra keywords when asked for time and date{Style.reset}
2462
+ {Fore.grey_70}{llo_modes} Modes ONLY **{Fore.light_green}'rllo','reverse list lookup order'{Fore.light_green}Reverse the ordering used by the List Maker's listing modes for Entry Lookup, i.e. set Shelf,mksl,qsl{Style.reset}
2463
+ {Fore.grey_70}{llo_modes} Modes ONLY **{Fore.light_green}'vllo','view list lookup order'{Fore.light_green}View the ordering used by the List Maker's listing modes for Entry Lookup, i.e. set Shelf,mksl,qsl{Style.reset}
2464
+
2465
+ [List Making]
2466
+ {Fore.grey_70}**{Fore.light_green}'mksl','make shopping list','p-slq','prompt slq','set list qty','slqp','slq-p'{Fore.light_steel_blue} make a list using {Fore.green_3a}slq{Fore.light_steel_blue} from {Fore.orange_red_1}Tasks.{Fore.light_red}TasksMode{Style.reset}
2467
+ {Fore.grey_70}**{Fore.light_green}'cslf','clear selected location field'{Fore.light_steel_blue} set Entry's with selected field's to Zero, but do not do change InList==False{Style.reset}
2468
+ {Fore.grey_70}**{Fore.light_green}'cse','clear selected entry'{Fore.light_steel_blue} clear selected entry{Style.reset}
2469
+ {Fore.grey_70}**{Fore.light_green}'qc','quick change','q-c','q.c'{Fore.light_steel_blue} use the quick change menu {Fore.orange_red_1}if available{Style.reset}
2446
2470
  {Fore.grey_70}** {Fore.light_steel_blue}{f'{Fore.light_red},{Fore.light_steel_blue}'.join(generate_cmds(startcmd=["set inlist","sil"],endCmd=["qtyu","u"]))}{Fore.light_green} set Entry's with InList==True to value, from prompt{Style.reset}
2447
- {Fore.grey_70}** {Fore.light_steel_blue}['dsu','daystring','daystr']{Fore.light_green} print daystring {Style.reset}
2448
- {Fore.grey_70}** {Fore.light_steel_blue}['dsur','daystring return','dstr r']{Fore.light_green} print and return daystring {Style.reset}
2449
- {Fore.grey_70}** {Fore.light_steel_blue}['dsup','daystring plain','daystrpln']{Fore.light_green} print daystring as plain text with no colors{Style.reset}
2450
- {Fore.grey_70}** {Fore.light_steel_blue}['dsurp','daystring return plain','dstr r pln']{Fore.light_green} print and return daystring as plain text with no colors{Style.reset}
2451
2471
  {Fore.grey_70}** {Fore.light_steel_blue} ['jcu','just count','just-count','just_count']{Fore.light_green} just count the total lines/items for the reciept{Style.reset}
2452
2472
  {Fore.grey_70}** {Fore.light_steel_blue}['jcu-','just count -','just-count -','just_count -','just count minus','just-count minus','just_count minus']{Fore.light_green} just count the total lines/items for the reciept, accounting for negative quantities{Style.reset}
2453
2473
  {Fore.grey_70}** {Fore.light_steel_blue}['jtu','just total','just-total','just_total']{Fore.light_green} just display the total{Style.reset}
2454
2474
  {Fore.grey_70}** {Fore.light_steel_blue}['jtu-','just total -','just-total -','just_total -','just total minus','just-total minus','just_total minus']{Fore.light_green} just display the total, accounting for negative quantities{Style.reset}
2455
2475
  {Fore.grey_70}** {Fore.light_steel_blue}['set prec','sprec']{Fore.light_green}set the decimal global precision, does not apply to verything, except for lsbld where it does apply{Style.reset}
2456
- {Fore.grey_70}** {Fore.light_steel_blue}'si-reference','si-ref','si ref','si reference'{Fore.light_green}print si reference chart and continue prompt{Style.reset}
2457
- {Fore.grey_70}** {Fore.light_steel_blue}{','.join(generate_cmds(startcmd=['fake',],endCmd=['phone','ph#','ph. no.','phone number']))}{Fore.light_green}fake phone number{Style.reset}
2458
2476
  {Fore.grey_70}** {Fore.light_steel_blue}{','.join(generate_cmds(startcmd=['util',],endCmd=['tags','tgs']))}{Fore.light_green}tags utility from TaskMode{Style.reset}
2477
+ [Return None]
2459
2478
  {Fore.grey_70}** {Fore.light_steel_blue}'None'{Fore.light_red} return None{Style.reset}
2460
2479
  {Fore.grey_70}** {Fore.light_steel_blue}'NAN'{Fore.light_red} return 'NAN' for 'Not a Number'{Style.reset}
2480
+ [Checksumming]
2461
2481
  {Fore.grey_70}** {Fore.light_steel_blue}{generate_cmds(startcmd=['util','checksum','cksm'],endCmd=['sha512 ','sha512'])} {Fore.light_green}generate a checksum for TEXT from user{Style.reset}
2462
2482
  {Fore.grey_70}** {Fore.light_steel_blue}{generate_cmds(startcmd=['util','diff','eq'],endCmd=['text ','txt'])} {Fore.light_green}compare 2 strings/text and return True or False{Style.reset}
2463
2483
  {Fore.grey_70}** {Fore.light_steel_blue}{generate_cmds(startcmd=['util','diff','rules'],endCmd=['encounter-verify','ev'])} {Fore.light_green}confirm an encounter rules{Style.reset}
2464
- {Fore.grey_70}** {Fore.light_steel_blue}['letter','message']{Fore.light_green} Generate a displayable letter from a default format, allowing to return the text as colored, or plain output; if a return is not desired, continue to the last prompt. using curly-braces you may attempt to write small python code to be evaluated and used as text in the message/letter. This includes colors from Fore,Back, and Style.{Style.reset}
2465
- {Fore.grey_70}** {Fore.light_steel_blue}{generate_cmds(startcmd=['simple','smpl'],endCmd=['scanner','scanr','scnnr','scnr'])} {Fore.light_green}a scanner recorder that only records the text,times scanned,and dtoe, and when when time permits, comment.{Style.reset}
2466
- {Fore.grey_70}** {Fore.light_steel_blue}{generate_cmds(startcmd=['precision','prcsn'],endCmd=['set','st','='])} {Fore.light_green}set Prompt Decimal precision{Style.reset}
2467
2484
  '''
2468
2485
  print(extra)
2469
2486
  print(helpText)
@@ -2956,6 +2973,16 @@ with some options:
2956
2973
  elif cmd.lower() in ['set prec','sprec']:
2957
2974
  t=TM.Tasks.TasksMode(parent=self,engine=db.ENGINE,init_only=True).setPrec()
2958
2975
  continue
2976
+ elif cmd.lower() in [i for i in generate_cmds(startcmd=["nano",],endCmd=["id",])]:
2977
+ t=TM.Tasks.TasksMode(parent=self,engine=db.ENGINE,init_only=True).nanoid()
2978
+ if t is not None:
2979
+ print("returned")
2980
+ try:
2981
+ return func(str(t),data)
2982
+ except:
2983
+ return func(t,data)
2984
+ else:
2985
+ continue
2959
2986
  elif cmd.lower() in ['jcu-','just count -','just-count -','just_count -','just count minus','just-count minus','just_count minus']:
2960
2987
  bldls(justCount=True,minus=True)
2961
2988
  elif cmd.lower() in ['jtu','just total','just-total','just_total']:
@@ -2978,6 +3005,8 @@ with some options:
2978
3005
  return func(str(t),data)
2979
3006
  except:
2980
3007
  return func(t,data)
3008
+ else:
3009
+ continue
2981
3010
  elif cmd.lower() in ["bldlse","builde","buildlse","build list export ","bld ls exp",'elsbld','export list build','exp ls bld','ebld']:
2982
3011
  bldls(bldlse=True)
2983
3012
  elif cmd.lower() in ['sbld','search build','search_build','scan build','scan_bld']:
Binary file
radboy/DB/db.py CHANGED
@@ -5951,3 +5951,9 @@ except Exception as e:
5951
5951
  print(e)
5952
5952
  TaxRate.__table__.drop(ENGINE)
5953
5953
  TaxRate.metadata.create_all(ENGINE)
5954
+
5955
+ receiptsDirectory=detectGetOrSet("ReceiptsDirectory","Receipts",setValue=False,literal=True)
5956
+ if receiptsDirectory:
5957
+ receiptsDirectory=Path(receiptsDirectory)
5958
+ if not receiptsDirectory.exists():
5959
+ receiptsDirectory.mkdir(parents=True)
radboy/TasksMode/Tasks.py CHANGED
@@ -1163,6 +1163,48 @@ def generateWhiteNoise():
1163
1163
  print(e)
1164
1164
 
1165
1165
  class TasksMode:
1166
+ def nanoid(self):
1167
+ with localcontext() as ctx:
1168
+ fields={
1169
+ 'size':{
1170
+ 'default':10,
1171
+ 'type':'integer',
1172
+ },
1173
+ 'alphabet':{
1174
+ 'default':string.digits,
1175
+ 'type':'string',
1176
+ },
1177
+ 'chunks':{
1178
+ 'default':4,
1179
+ 'type':'integer',
1180
+ },
1181
+ 'delim':{
1182
+ 'default':'-',
1183
+ 'type':'string',
1184
+ }
1185
+ }
1186
+ fd=FormBuilder(data=fields)
1187
+ if fd is None:
1188
+ return None
1189
+ recieptidFile=detectGetOrSet("NanoIdFile","nanoid.txt",setValue=False,literal=True)
1190
+ idx=nanoid.generate(fd['alphabet'],fd['size'])
1191
+ idx=f'{fd["delim"]}'.join(stre(idx)/fd["chunks"])
1192
+ returnIDX=Control(func=FormBuilderMkText,ptext=f"return '{idx}'; it will be saved to {recieptidFile}",helpText="return '{idx}' as a string",data="boolean")
1193
+
1194
+ if recieptidFile is not None:
1195
+ recieptidFile=Path(recieptidFile)
1196
+ with recieptidFile.open("w") as f:
1197
+ f.write(idx+"\n")
1198
+
1199
+ if returnIDX in [False,'NaN',None]:
1200
+ return None
1201
+ elif returnIDX in ['d',True]:
1202
+ return str(idx)
1203
+
1204
+
1205
+
1206
+
1207
+
1166
1208
  def networth_ui(self):
1167
1209
  NetWorthUi()
1168
1210
  def simple_scanner(self):
radboy/Unified/Unified.py CHANGED
@@ -961,6 +961,31 @@ rmc.quikRn()
961
961
  print(f"{Fore.spring_green_3b}Adding {Fore.green_yellow}{bootable_directory}{Style.reset}")
962
962
  gzf.add(bootable_directory)
963
963
 
964
+ try:
965
+ recieptidFile=Path(detectGetOrSet("NanoIdFile","nanoid.txt",setValue=False,literal=True))
966
+ if recieptidFile.exists():
967
+ print(f"{Fore.spring_green_3b}Adding {Fore.green_yellow}{recieptidFile}{Style.reset}")
968
+ gzf.add(recieptidFile)
969
+ except Exception as e:
970
+ print(e)
971
+ pass
972
+ try:
973
+ recieptidFile=Path(detectGetOrSet("RecieptIdFile","reciept_id.txt",setValue=False,literal=True))
974
+ if recieptidFile.exists():
975
+ print(f"{Fore.spring_green_3b}Adding {Fore.green_yellow}{recieptidFile}{Style.reset}")
976
+ gzf.add(recieptidFile)
977
+ except Exception as e:
978
+ print(e)
979
+ pass
980
+
981
+ receiptsDirectory=detectGetOrSet("ReceiptsDirectory","Receipts",setValue=False,literal=True)
982
+ if receiptsDirectory:
983
+ receiptsDirectory=Path(receiptsDirectory)
984
+ if not receiptsDirectory.exists():
985
+ receiptsDirectory.mkdir(parents=True)
986
+ print(f"{Fore.spring_green_3b}Adding {Fore.green_yellow}{receiptsDirectory}{Style.reset}")
987
+ gzf.add(receiptsDirectory)
988
+
964
989
  with Session(ENGINE) as session:
965
990
  files=session.query(SystemPreference).filter(SystemPreference.name.icontains('ClipBoordImport_')).all()
966
991
  for num,i in enumerate(files):
radboy/__init__.py CHANGED
@@ -1 +1 @@
1
- VERSION='0.0.742'
1
+ VERSION='0.0.743'
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: radboy
3
- Version: 0.0.742
3
+ Version: 0.0.743
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=KI7Jmf3MX0Zng_YUvcjVKN2siyUOhaMAHQGzpPuX8KQ,41373
7
7
  radboy/Run.py,sha256=JUoCTHnzQBv7n8PB2_i93ANdAC_iW__RkAge8esCnk4,76
8
- radboy/__init__.py,sha256=FDUSordZXaYNZbrlYip0H1jtD3lgsQQf2cyV34KBY9c,17
8
+ radboy/__init__.py,sha256=d-dtBIbxS6G6ah_uuorTJeu2PpMfdhF6wUwl5Pu3nd4,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
@@ -88,14 +88,14 @@ radboy/DB/OrderedAndRxd.py,sha256=gdOTxia6b6RN2h99e4uF87G7Rmujem1F0kr4Uuxy6dw,23
88
88
  radboy/DB/PayDay.py,sha256=H2kPGvBCDkMOz7lbxQhYtUt_oAInpxi37Q6MFrah98I,8710
89
89
  radboy/DB/PayModels.py,sha256=hjwWxP7PL33hmfzQl5YTf0HqzaMxXJxFknPdxFJXJc8,3499
90
90
  radboy/DB/PrintLogging.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
91
- radboy/DB/Prompt.py,sha256=rOP5vriFpff79TtOvZKBKyAtNctSMzf7_y1Rs24aj48,187645
91
+ radboy/DB/Prompt.py,sha256=_H6XrDm16YRb_7FhUki5Ul_MYuyb0ILNwiTcAFG5hwQ,189295
92
92
  radboy/DB/RandomStringUtil.py,sha256=eZCpR907WStgfbk4Evcghjv9hOkUDXH-iMXIq0-kXq8,24386
93
93
  radboy/DB/ResetTools.py,sha256=RbI-Ua7UlsN0S9qLqtEkTWvzyTZ6R-hHR3CW4NHlUPE,6660
94
94
  radboy/DB/SMLabelImporter.py,sha256=eUoBDxVUUEKGL2g_PwkASM67ZB7FmXtSnn4bCagskhY,4013
95
95
  radboy/DB/__init__.py,sha256=JiigA9B7GalP7YuRdcwyGDu5PDSBahoi0lLjtScxlN8,49
96
96
  radboy/DB/blankDataFile.py,sha256=YX_05Usi71UpDkZN9UTMYwUipbTndTAtEgqzBEga0kE,9285
97
97
  radboy/DB/config.py,sha256=bvu43dUl1_yO3Zq3gsLuenGUgJSiS3S9Cs6ppFEvZbg,239
98
- radboy/DB/db.py,sha256=pMJHs6-Pl341wDg1z-02FE0JdnQ__pJxbFh2F7_zi-k,262840
98
+ radboy/DB/db.py,sha256=CHWWfTmCFogM3vOCYxrMuI9HH0ErpoE7B7MRvhdJ2fQ,263086
99
99
  radboy/DB/glossary_db.py,sha256=1_qxeEpjjEtpWB_eDjsgJisimLv7OBm75MuqM-Lt6zg,28218
100
100
  radboy/DB/masterLookup.py,sha256=DBaM2uscG3_X5dek49wjdnOzhrjWhKgvOEz_umdz0mY,4566
101
101
  radboy/DB/msg.txt,sha256=YxWed6A6tuP1djJ5QPS2Rz3ING4TKKf8kUiCCPtzHXE,7937
@@ -117,7 +117,7 @@ radboy/DB/__pycache__/FormBuilder.cpython-312.pyc,sha256=p1o-5SMRL8OXP_XQ5liUpf-
117
117
  radboy/DB/__pycache__/PrintLogging.cpython-312.pyc,sha256=pIAFqTi6OiQQORSc-oMH1zAbsdH7sY1TifxrN_QOvnU,148
118
118
  radboy/DB/__pycache__/Prompt.cpython-311.pyc,sha256=P2uPRpeqfLFtxieZ0JHBG3X_HZzWUCsFSLb_fpRqky0,6407
119
119
  radboy/DB/__pycache__/Prompt.cpython-312.pyc,sha256=6CcQ1gE2hcz3cKPjo4f6d7xNM2PTDnl8NzQG0Pme5BE,142886
120
- radboy/DB/__pycache__/Prompt.cpython-313.pyc,sha256=rp7cdqGlMbCb0106vpvMX7nZU2Wz3jKbk9rRSPXzZyA,265831
120
+ radboy/DB/__pycache__/Prompt.cpython-313.pyc,sha256=_WRy1JwQZ25N6fJII_SbbGCEw1FEfDsUJ1S_dl9Ebww,268642
121
121
  radboy/DB/__pycache__/RandomStringUtil.cpython-312.pyc,sha256=TrbEY89MuLmNlvoo5d8vOE6Dyshh5_EMlTZvk8MDVN4,48597
122
122
  radboy/DB/__pycache__/RandomStringUtil.cpython-313.pyc,sha256=MCcgVwV2Y-9rAY2FVaJZCKcou3HDX70EZudoiCigT0o,49217
123
123
  radboy/DB/__pycache__/ResetTools.cpython-311.pyc,sha256=4Vyc57iAAF0yRPjjglnVKovnTn8OoFIi6Zok3Wpj_YM,9292
@@ -135,7 +135,7 @@ radboy/DB/__pycache__/config.cpython-312.pyc,sha256=Qo7E6MHrF6yqvKgepNFyCoekZXiv
135
135
  radboy/DB/__pycache__/config.cpython-313.pyc,sha256=_8wCIg_3jhyJjxnExD2Sm6aY-uZTw036p7Ki5znL7dc,376
136
136
  radboy/DB/__pycache__/db.cpython-311.pyc,sha256=rNgigyBd0D-cg1JxKAS8t0B_k0IEJivgVlRaZE10Xis,210105
137
137
  radboy/DB/__pycache__/db.cpython-312.pyc,sha256=ANDJPC0RoavbmSKFxG15vC7B4rEGyVt7xRJt7XGY3OA,334609
138
- radboy/DB/__pycache__/db.cpython-313.pyc,sha256=824ZgO1MYbuSwxiKYAE470kJq730UpqPPtEZyW8o1B4,411907
138
+ radboy/DB/__pycache__/db.cpython-313.pyc,sha256=OBN0X9xvrz9GaT9tgyZsUCYSaDLXvobIpg-azkHAJig,412164
139
139
  radboy/DB/__pycache__/glossary_db.cpython-312.pyc,sha256=8UL-29cKqtKovx0BANm6kzKKteef1BW_2qF3wumzst4,36023
140
140
  radboy/DB/__pycache__/glossary_db.cpython-313.pyc,sha256=Ke9bkvllGv5CK0JdT9DRvQ3MOdrXxoYv7TVLNkqLux0,36582
141
141
  radboy/DB/__pycache__/masterLookup.cpython-312.pyc,sha256=bQiOkmMwwHgcO18tYSWGQ-YUff4GQlKVhBMp1GoWAqY,6324
@@ -350,7 +350,7 @@ radboy/SystemSettings/__pycache__/__init__.cpython-312.pyc,sha256=aIzp4Po0t8EhSA
350
350
  radboy/SystemSettings/__pycache__/__init__.cpython-313.pyc,sha256=QFDuoidxMWsGVLsy5lN-rDs6TP8nKJ4yyCyiamNOhwo,156
351
351
  radboy/TasksMode/ReFormula.py,sha256=REDRJYub-OEOE6g14oRQOLOQwv8pHqVJy4NQk3CCM90,2255
352
352
  radboy/TasksMode/SetEntryNEU.py,sha256=mkV9zAZe0lfpu_3coMuIILEzh6PgCNi7g9lJ4yDUpYM,20596
353
- radboy/TasksMode/Tasks.py,sha256=8IIrOCt8zHtOhByH-ojlNNaUEX5lq1Rd9qgL_ou4Um0,359215
353
+ radboy/TasksMode/Tasks.py,sha256=ZjBmhgIdkbn59q8WrW_5Hr4hsZarRYMQ9c_Y59NKep4,360617
354
354
  radboy/TasksMode/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
355
355
  radboy/TasksMode/__pycache__/ReFormula.cpython-311.pyc,sha256=QEG3PwVw-8HTd_Mf9XbVcxU56F1fC9yBqWXYPLC39DU,4865
356
356
  radboy/TasksMode/__pycache__/ReFormula.cpython-312.pyc,sha256=aX7BWm2PPjCTnxsbGUitR-2h9hq4AjaBiHMrUXvIl0Y,3967
@@ -359,7 +359,7 @@ radboy/TasksMode/__pycache__/SetEntryNEU.cpython-312.pyc,sha256=pCdFj61aPKkHL6Sv
359
359
  radboy/TasksMode/__pycache__/SetEntryNEU.cpython-313.pyc,sha256=jMSrUX9pvEhf67uVwrPE2ZlBCems8V7tHJ1LcC15ovU,24603
360
360
  radboy/TasksMode/__pycache__/Tasks.cpython-311.pyc,sha256=6QOTJnLiXSKdF81hkhy3vyrz49PPhS20s5_0X52g3Hw,131120
361
361
  radboy/TasksMode/__pycache__/Tasks.cpython-312.pyc,sha256=hyJwdaYaaRLdcrNxgg36diJ5iijX5_3I0UAORsj-6LU,310295
362
- radboy/TasksMode/__pycache__/Tasks.cpython-313.pyc,sha256=xR1TyMIsOUp6_j8B-Rop6KwKyzZKgMddeZz-guLWvNA,434213
362
+ radboy/TasksMode/__pycache__/Tasks.cpython-313.pyc,sha256=K9jfRa0GWfdWvjlz6FQ7Hrg6fueuOgqOHpmdoRydKaA,435692
363
363
  radboy/TasksMode/__pycache__/__init__.cpython-311.pyc,sha256=PKV1JbihEacm639b53bZozRQvcllSkjGP3q8STVMxF4,234
364
364
  radboy/TasksMode/__pycache__/__init__.cpython-312.pyc,sha256=ERgnEvRMiGSecWp1BpNzLdSq_SdKw7GvFWUvUM7bLVw,272
365
365
  radboy/TasksMode/__pycache__/__init__.cpython-313.pyc,sha256=lvsTxukyvGKB3C0rdF9dQi_bvVh6ceDVINfwcuIsd0s,151
@@ -371,14 +371,14 @@ radboy/TouchStampC/__pycache__/TouchStampC.cpython-313.pyc,sha256=6A1Z56mlsBBZi4
371
371
  radboy/TouchStampC/__pycache__/__init__.cpython-311.pyc,sha256=0Rn25Y_gKIKFC7fRVMToQ99ozp8rqnK3HkTajb4skdo,236
372
372
  radboy/TouchStampC/__pycache__/__init__.cpython-312.pyc,sha256=Qa5Iy6Fp7_w5wPhQCbj6FFvfMttQoNd5j6DTqYXa_GQ,274
373
373
  radboy/TouchStampC/__pycache__/__init__.cpython-313.pyc,sha256=kA-p_LdocXJQHfYfDE0DQZ3fgzbfoL90Kr0soLsff_w,153
374
- radboy/Unified/Unified.py,sha256=ANvs_qb4j-mUBQCoJcqCXHvObl99Ovm7izahVoXVjVM,64431
374
+ radboy/Unified/Unified.py,sha256=3fkW7hCqOE3a7DBn-0Zu7u2vp5Q1BEmDrUieflIuJaE,65966
375
375
  radboy/Unified/Unified2.py,sha256=TnJQ5Ir28cLG449o8mDe8Ya1Zx4WaRhuoHfEIrCbJME,42257
376
376
  radboy/Unified/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
377
377
  radboy/Unified/bareCA.py,sha256=CCqpwi2mhH-pzR4PzWxYrUIQcCxCIi05EtWMhdjfNLo,7169
378
378
  radboy/Unified/clearalll.py,sha256=O6dg_gIP830tUSNFD2szC-7fP9UzX2n3QB1TN04lqJU,3975
379
379
  radboy/Unified/__pycache__/Unified.cpython-311.pyc,sha256=ZtvZDV9cVMV_r_Cuj6LR4m27CGUnZy0l9zUTILSnMRg,65018
380
380
  radboy/Unified/__pycache__/Unified.cpython-312.pyc,sha256=BT3bLl4LQUs7m3H44WVjg6BsHfU9xnWNwpytZSA2smI,78625
381
- radboy/Unified/__pycache__/Unified.cpython-313.pyc,sha256=nBYwfCVq6kBFKXDRlLtfogOHvBVvWKaOkldr87pf04M,80544
381
+ radboy/Unified/__pycache__/Unified.cpython-313.pyc,sha256=FwkPNfknyMkPRbKOIemq4_VM5-wWTw9x2muM1LuIcNY,82101
382
382
  radboy/Unified/__pycache__/__init__.cpython-311.pyc,sha256=2OjdGThHMNZ2yMrbdlwiKHKtCDLQfJdNhtDVtLDUKCk,232
383
383
  radboy/Unified/__pycache__/__init__.cpython-312.pyc,sha256=5aXXASuWsXCly7t_gqJ6cVbdAeTo4Wom8989FszH4Xw,270
384
384
  radboy/Unified/__pycache__/__init__.cpython-313.pyc,sha256=h03zVuB4hfY_ko4nkuSS-SIkjHOGTlFM9bDpMdQPwg4,149
@@ -406,7 +406,7 @@ radboy/__pycache__/Run.cpython-311.pyc,sha256=G_UEfMtkLRjR6ZpGA_BJzGenuaCcP469Y9
406
406
  radboy/__pycache__/Run.cpython-312.pyc,sha256=v4xolc3mHyla991XhpYBUbBHYT0bnJ1gE-lkFoQ4GFA,241
407
407
  radboy/__pycache__/__init__.cpython-311.pyc,sha256=R-DVbUioMOW-Fnaq7FpT5F1a5p0q3b_RW-HpLRArCAY,242
408
408
  radboy/__pycache__/__init__.cpython-312.pyc,sha256=FsFzLXOlTK8_7ixoPZzakkR8Wibt-DvXLFh-oG2QlPw,164
409
- radboy/__pycache__/__init__.cpython-313.pyc,sha256=Msn8HGfneewxUptw0g1VdUlEobUmX_eRwCjSvkYY8aU,165
409
+ radboy/__pycache__/__init__.cpython-313.pyc,sha256=_EpWbvFywvZsjByUiqChHV4gnE2jJg1muoZpgv6Sfro,165
410
410
  radboy/__pycache__/__init__.cpython-39.pyc,sha256=D48T6x6FUeKPfubo0sdS_ZUut3FmBvPMP7qT6rYBZzU,275
411
411
  radboy/__pycache__/possibleCode.cpython-311.pyc,sha256=zFiHyzqD8gUnIWu4vtyMYIBposiRQqaRXfcT_fOl4rU,20882
412
412
  radboy/__pycache__/possibleCode.cpython-312.pyc,sha256=tk_CO-AcsO3YZj5j6vEsw3g37UmEzWc5YgeWEoJEUg4,27922
@@ -434,7 +434,7 @@ radboy/tkGui/Images/__pycache__/__init__.cpython-311.pyc,sha256=tXBYpqbOlZ24B1BI
434
434
  radboy/tkGui/__pycache__/BeginnersLuck.cpython-311.pyc,sha256=xLQOnV1wuqHGaub16mPX0dDMGU9ryCeLtNz5e517_GE,3004
435
435
  radboy/tkGui/__pycache__/Review.cpython-311.pyc,sha256=wKq24iM6Xe2OampgZ7-8U6Nvmgs2y-qWOrGwtWhc75k,4047
436
436
  radboy/tkGui/__pycache__/__init__.cpython-311.pyc,sha256=BX7DBn5qbvKTvlrKOP5gzTBPBTeTgSMjBW6EMl7N8e0,230
437
- radboy-0.0.742.dist-info/METADATA,sha256=2llUEN4uFB-Qg2IquCQ4n5U_QCrPyo_wGdvxcdHeGVQ,1891
438
- radboy-0.0.742.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
439
- radboy-0.0.742.dist-info/top_level.txt,sha256=mlM0RWMUxGo1YHnlLmYrHOgGdK4XNRpr7nMFD5lR56c,7
440
- radboy-0.0.742.dist-info/RECORD,,
437
+ radboy-0.0.743.dist-info/METADATA,sha256=CNDD5aWxhESK97SU7pJ1GJh3xQNXFn41i3P4B0PC73c,1891
438
+ radboy-0.0.743.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
439
+ radboy-0.0.743.dist-info/top_level.txt,sha256=mlM0RWMUxGo1YHnlLmYrHOgGdK4XNRpr7nMFD5lR56c,7
440
+ radboy-0.0.743.dist-info/RECORD,,