radboy 0.0.374__py3-none-any.whl → 0.0.376__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 +268 -2
- radboy/DB/__pycache__/Prompt.cpython-313.pyc +0 -0
- radboy/DayLog/DayLogger.py +61 -8
- radboy/DayLog/__pycache__/DayLogger.cpython-313.pyc +0 -0
- radboy/__init__.py +1 -1
- radboy/__pycache__/__init__.cpython-313.pyc +0 -0
- {radboy-0.0.374.dist-info → radboy-0.0.376.dist-info}/METADATA +1 -1
- {radboy-0.0.374.dist-info → radboy-0.0.376.dist-info}/RECORD +10 -10
- {radboy-0.0.374.dist-info → radboy-0.0.376.dist-info}/WHEEL +0 -0
- {radboy-0.0.374.dist-info → radboy-0.0.376.dist-info}/top_level.txt +0 -0
radboy/DB/Prompt.py
CHANGED
|
@@ -807,6 +807,173 @@ class Prompt(object):
|
|
|
807
807
|
|
|
808
808
|
|
|
809
809
|
def __init2__(self,func,ptext='do what',helpText='',data={},noHistory=False,qc=None,replace_ptext=None):
|
|
810
|
+
'''
|
|
811
|
+
lsbld - bldls()
|
|
812
|
+
lsbld- - bldls(minus=True)
|
|
813
|
+
bldlse - bldls(bldlse=True)
|
|
814
|
+
bldlse - bldls(bldlse=True,minus=True)
|
|
815
|
+
|
|
816
|
+
sbld - bldls(sbld=True)
|
|
817
|
+
sbld- bldls(sbld=True,minus=True)
|
|
818
|
+
esbld - bldls(bldlse=True,sbld=True)
|
|
819
|
+
esblb- bldls(bldlse=True,sbld=True,minus=True)
|
|
820
|
+
'''
|
|
821
|
+
def bldls(bldlse=False,sbld=False,minus=False):
|
|
822
|
+
extras=Prompt.__init2__(None,func=FormBuilderMkText,ptext="Show Extras?",helpText="extra data attached to each entry yes or no",data="boolean")
|
|
823
|
+
if extras in [None,'d',False]:
|
|
824
|
+
extras=False
|
|
825
|
+
msg=''
|
|
826
|
+
if bldlse:
|
|
827
|
+
db.logInput(msg,user=False,filter_colors=True,maxed_hfl=False,ofile=Prompt.bld_file,clear_only=True)
|
|
828
|
+
with db.Session(db.ENGINE) as session:
|
|
829
|
+
results_query=session.query(db.Entry).filter(db.Entry.InList==True)
|
|
830
|
+
if sbld:
|
|
831
|
+
def mkT(text,data):
|
|
832
|
+
return text
|
|
833
|
+
code=Prompt.__init2__(None,func=mkT,ptext="Code|Barcode|Name: ",helpText="find by code,barcode,name",data='')
|
|
834
|
+
if code in [None,'d']:
|
|
835
|
+
return
|
|
836
|
+
results_query=results_query.filter(
|
|
837
|
+
db.or_(
|
|
838
|
+
db.Entry.Code==code,
|
|
839
|
+
db.Entry.Barcode==code,
|
|
840
|
+
db.Entry.Barcode.icontains(code),
|
|
841
|
+
db.Entry.Code.icontains(code),
|
|
842
|
+
db.Entry.Name.icontains(code)
|
|
843
|
+
)
|
|
844
|
+
)
|
|
845
|
+
location_fields=["Shelf","BackRoom","Display_1","Display_2","Display_3","Display_4","Display_5","Display_6","ListQty","SBX_WTR_DSPLY","SBX_CHP_DSPLY","SBX_WTR_KLR","FLRL_CHP_DSPLY","FLRL_WTR_DSPLY","WD_DSPLY","CHKSTND_SPLY","Distress"]
|
|
846
|
+
z=Prompt.mkfield_list(None,location_fields)
|
|
847
|
+
if z in [[],None]:
|
|
848
|
+
z=location_fields
|
|
849
|
+
location_fields=z
|
|
850
|
+
tmp=[]
|
|
851
|
+
for f in location_fields:
|
|
852
|
+
if not minus:
|
|
853
|
+
tmp.append(or_(getattr(db.Entry,f)>=0.0001))
|
|
854
|
+
else:
|
|
855
|
+
tmp.append(or_(getattr(db.Entry,f)!=0,getattr(db.Entry,f)!=None))
|
|
856
|
+
|
|
857
|
+
results_query=results_query.filter(or_(*tmp))
|
|
858
|
+
LookUpState=db.detectGetOrSet('list maker lookup order',False,setValue=False,literal=False)
|
|
859
|
+
if not isinstance(LookUpState,bool):
|
|
860
|
+
LookUpState=db.detectGetOrSet('list maker lookup order',False,setValue=True,literal=False)
|
|
861
|
+
if LookUpState == True:
|
|
862
|
+
results=results_query.order_by(db.Entry.Timestamp.asc()).all()
|
|
863
|
+
else:
|
|
864
|
+
results=results_query.order_by(db.Entry.Timestamp.desc()).all()
|
|
865
|
+
ct=len(results)
|
|
866
|
+
if ct < 1:
|
|
867
|
+
msg=f"{Fore.light_steel_blue}Nothing in {Fore.slate_blue_1}Bld{Fore.light_red}LS!{Style.reset}"
|
|
868
|
+
db.logInput(msg,user=False,filter_colors=True,maxed_hfl=False,ofile=Prompt.bld_file)
|
|
869
|
+
print(msg)
|
|
870
|
+
return
|
|
871
|
+
#start
|
|
872
|
+
ROUNDTO=int(db.detectGetOrSet("lsbld ROUNDTO default",3,setValue=False,literal=True))
|
|
873
|
+
master_total=0
|
|
874
|
+
master_total_crv=0
|
|
875
|
+
master_total_tax=0
|
|
876
|
+
master_total_tax_crv=0
|
|
877
|
+
|
|
878
|
+
for num,i in enumerate(results):
|
|
879
|
+
getExtras(i.EntryId,extras)
|
|
880
|
+
msg=f'{"*"*os.get_terminal_size().columns}\n{Fore.light_green}{num}{Fore.light_magenta}/{Fore.orange_3}{num+1} of {Fore.light_red}{ct}[{Fore.dark_slate_gray_1}EID{Fore.orange_3}]{Fore.dark_violet_1b}{i.EntryId}{Style.reset} |-| {Fore.light_yellow}{i.Name}|{Fore.light_salmon_1}[{Fore.light_red}BCD]{i.rebar()}{Fore.medium_violet_red}|[{Fore.light_red}CD{Fore.medium_violet_red}]{i.cfmt(i.Code)} {Style.reset}|-| '
|
|
881
|
+
colormapped=[
|
|
882
|
+
Fore.deep_sky_blue_4c,
|
|
883
|
+
Fore.spring_green_4,
|
|
884
|
+
Fore.turquoise_4,
|
|
885
|
+
Fore.dark_cyan,
|
|
886
|
+
Fore.deep_sky_blue_2,
|
|
887
|
+
Fore.spring_green_2a,
|
|
888
|
+
Fore.medium_spring_green,
|
|
889
|
+
Fore.steel_blue,
|
|
890
|
+
Fore.cadet_blue_1,
|
|
891
|
+
Fore.aquamarine_3,
|
|
892
|
+
Fore.purple_1a,
|
|
893
|
+
Fore.medium_purple_3a,
|
|
894
|
+
Fore.slate_blue_1,
|
|
895
|
+
Fore.light_slate_grey,
|
|
896
|
+
Fore.dark_olive_green_3a,
|
|
897
|
+
Fore.deep_pink_4c,
|
|
898
|
+
Fore.orange_3,
|
|
899
|
+
]
|
|
900
|
+
total=0
|
|
901
|
+
crv=0
|
|
902
|
+
tax=0
|
|
903
|
+
tax_crv=0
|
|
904
|
+
i.Tax=round(i.Tax,ROUNDTO)
|
|
905
|
+
i.CRV=round(i.CRV,ROUNDTO)
|
|
906
|
+
i.Price=round(i.Price,ROUNDTO)
|
|
907
|
+
session.commit()
|
|
908
|
+
if not minus:
|
|
909
|
+
for n2,f in enumerate(location_fields):
|
|
910
|
+
try:
|
|
911
|
+
if getattr(i,f) > 0:
|
|
912
|
+
total+=getattr(i,f)
|
|
913
|
+
except Exception as e:
|
|
914
|
+
print(e)
|
|
915
|
+
for n2,f in enumerate(location_fields):
|
|
916
|
+
if getattr(i,f) > 0:
|
|
917
|
+
msg2=f'{colormapped[n2]}{f} = {round(getattr(i,f),ROUNDTO)}{Style.reset}'
|
|
918
|
+
if n2 < len(location_fields):
|
|
919
|
+
msg2+=","
|
|
920
|
+
msg+=msg2
|
|
921
|
+
else:
|
|
922
|
+
for n2,f in enumerate(location_fields):
|
|
923
|
+
try:
|
|
924
|
+
if getattr(i,f) != 0:
|
|
925
|
+
total+=getattr(i,f)
|
|
926
|
+
except Exception as e:
|
|
927
|
+
print(e)
|
|
928
|
+
for n2,f in enumerate(location_fields):
|
|
929
|
+
if getattr(i,f) != 0:
|
|
930
|
+
msg2=f'{colormapped[n2]}{f} = {round(getattr(i,f),3)}{Style.reset}'
|
|
931
|
+
if n2 < len(location_fields):
|
|
932
|
+
msg2+=","
|
|
933
|
+
msg+=msg2
|
|
934
|
+
master_total+=total*round(i.Price,ROUNDTO)
|
|
935
|
+
|
|
936
|
+
crv+=(round(i.CRV,ROUNDTO)*total)
|
|
937
|
+
tax+=(round(i.Tax,ROUNDTO)*total)
|
|
938
|
+
if tax == 0 and crv > 0:
|
|
939
|
+
tax_crv=(round(i.CRV,ROUNDTO)*total)
|
|
940
|
+
else:
|
|
941
|
+
tax_crv+=((round(i.Tax,ROUNDTO)*total)+(round(i.CRV,ROUNDTO)*total))
|
|
942
|
+
master_total_tax+=tax
|
|
943
|
+
master_total_crv+=crv
|
|
944
|
+
master_total_tax_crv+=tax_crv
|
|
945
|
+
tax_crv=round(tax_crv,ROUNDTO)
|
|
946
|
+
try:
|
|
947
|
+
super_total=(round(round(round(total*i.Price,ROUNDTO)+tax_crv,ROUNDTO)/getSuperTotal(results,location_fields,colormapped)['final total'],ROUNDTO))*100
|
|
948
|
+
except Exception as e:
|
|
949
|
+
p1=round(round(round(total*i.Price,ROUNDTO)+tax_crv,ROUNDTO))
|
|
950
|
+
p2=getSuperTotal(results,location_fields,colormapped)['final total']
|
|
951
|
+
print(e)
|
|
952
|
+
print(p1,"p1")
|
|
953
|
+
print(p2,"p2")
|
|
954
|
+
super_total=0
|
|
955
|
+
msg+=f"""{Fore.light_magenta} |-|{Fore.light_green} Total = {Fore.light_sea_green}{round(total,ROUNDTO)}
|
|
956
|
+
{Fore.light_magenta}Price({i.Price}){Fore.medium_violet_red}*{Fore.light_slate_blue}Total({round(total,ROUNDTO)}):{round(i.Price*total,ROUNDTO)}
|
|
957
|
+
{Fore.grey_70}+CRV({i.CRV})*Total({round(total,ROUNDTO)}){Fore.slate_blue_1}\n=TotalCRV({crv})+TotalPrice({round(total*i.Price,ROUNDTO)})=NetPrice({round(total*i.Price,ROUNDTO)+crv})
|
|
958
|
+
{Fore.grey_70}+Tax({i.Tax}) w/o CRV({i.CRV})*Total({round(total,ROUNDTO)}){Fore.slate_blue_1}\n=TaxNoCRVTotal({tax})+TotalPrice({round(total*i.Price,ROUNDTO)})=NetPrice({round(round(total*i.Price,ROUNDTO)+tax,ROUNDTO)})
|
|
959
|
+
{Fore.grey_70}+Tax({i.Tax}) w/ CRV({i.CRV})*Total({round(total,ROUNDTO)}){Fore.slate_blue_1}\n=TaxCRVTotal({tax_crv})+TotalPrice({round(total*i.Price,ROUNDTO)})=NetPrice({round(round(total*i.Price,ROUNDTO)+tax_crv,ROUNDTO)})
|
|
960
|
+
{Fore.medium_violet_red}PercentOfTotal({round(super_total,ROUNDTO)}) of Total({getSuperTotal(results,location_fields,colormapped)['final total']})
|
|
961
|
+
{'*'*os.get_terminal_size().columns}{Style.reset}"""
|
|
962
|
+
if bldlse:
|
|
963
|
+
db.logInput(msg,user=False,filter_colors=True,maxed_hfl=False,ofile=Prompt.bld_file)
|
|
964
|
+
print(msg)
|
|
965
|
+
master_total=round(master_total,ROUNDTO)
|
|
966
|
+
master_total_crv=round(master_total_crv,ROUNDTO)
|
|
967
|
+
master_total_tax=round(master_total_tax,ROUNDTO)
|
|
968
|
+
master_total_tax_crv=round(master_total_tax_crv,ROUNDTO)
|
|
969
|
+
msg=f"""{Fore.light_green}Total Product Value:{Fore.slate_blue_1}{round(master_total,ROUNDTO)}
|
|
970
|
+
{Fore.light_green}Total Product Value w/CRV({master_total_crv}):{Fore.slate_blue_1}{round(master_total_crv+master_total,ROUNDTO)}
|
|
971
|
+
{Fore.light_green}Total Product Value Taxed w/o CRV({master_total_tax}):{Fore.slate_blue_1}{round(master_total_tax+master_total,ROUNDTO)}
|
|
972
|
+
{Fore.light_green}Total Product Value Taxed w/ CRV({master_total_tax_crv}):{Fore.slate_blue_1}{round(master_total_tax_crv+master_total,ROUNDTO)}
|
|
973
|
+
{Style.reset}"""
|
|
974
|
+
if bldlse:
|
|
975
|
+
db.logInput(msg,user=False,filter_colors=True,maxed_hfl=False,ofile=Prompt.bld_file)
|
|
976
|
+
print(msg)
|
|
810
977
|
while True:
|
|
811
978
|
try:
|
|
812
979
|
lastTime=db.detectGetOrSet("PromptLastDTasFloat",datetime.now().timestamp())
|
|
@@ -2013,6 +2180,8 @@ last month = today-30d
|
|
|
2013
2180
|
result=global_search_for_text()
|
|
2014
2181
|
return func(result,data)
|
|
2015
2182
|
elif cmd.lower() in ["bldls","build","buildls","build list","bld ls",'lsbld','list build','ls bld','bld']:
|
|
2183
|
+
bldls()
|
|
2184
|
+
'''
|
|
2016
2185
|
extras=Prompt.__init2__(None,func=FormBuilderMkText,ptext="Show Extras?",helpText="extra data attached to each entry yes or no",data="boolean")
|
|
2017
2186
|
if extras in [None,'d',False]:
|
|
2018
2187
|
extras=False
|
|
@@ -2127,13 +2296,13 @@ last month = today-30d
|
|
|
2127
2296
|
{Fore.light_green}Total Product Value Taxed w/o CRV({master_total_tax}):{Fore.slate_blue_1}{round(master_total_tax+master_total,ROUNDTO)}
|
|
2128
2297
|
{Fore.light_green}Total Product Value Taxed w/ CRV({master_total_tax_crv}):{Fore.slate_blue_1}{round(master_total_tax_crv+master_total,ROUNDTO)}
|
|
2129
2298
|
{Style.reset}"""
|
|
2130
|
-
print(msg)
|
|
2299
|
+
print(msg)'''
|
|
2131
2300
|
elif cmd.lower() in ['quick price','qprc','price']:
|
|
2132
2301
|
t=TM.Tasks.TasksMode.pricing(None)
|
|
2133
2302
|
if t is not None:
|
|
2134
2303
|
return func(str(t),data)
|
|
2135
2304
|
elif cmd.lower() in ["bldlse","builde","buildlse","build list export ","bld ls exp",'elsbld','export list build','exp ls bld','ebld']:
|
|
2136
|
-
extras=Prompt.__init2__(None,func=FormBuilderMkText,ptext="Show Extras?",helpText="extra data attached to each entry yes or no",data="boolean")
|
|
2305
|
+
'''extras=Prompt.__init2__(None,func=FormBuilderMkText,ptext="Show Extras?",helpText="extra data attached to each entry yes or no",data="boolean")
|
|
2137
2306
|
if extras in [None,'d',False]:
|
|
2138
2307
|
extras=False
|
|
2139
2308
|
msg=''
|
|
@@ -2252,7 +2421,21 @@ last month = today-30d
|
|
|
2252
2421
|
{Style.reset}"""
|
|
2253
2422
|
db.logInput(msg,user=False,filter_colors=True,maxed_hfl=False,ofile=Prompt.bld_file)
|
|
2254
2423
|
print(msg)
|
|
2424
|
+
'''
|
|
2425
|
+
'''
|
|
2426
|
+
lsbld - bldls()
|
|
2427
|
+
lsbld- - bldls(minus=True)
|
|
2428
|
+
bldlse - bldls(bldlse=True)
|
|
2429
|
+
bldlse - bldls(bldlse=True,minus=True)
|
|
2430
|
+
|
|
2431
|
+
sbld - bldls(sbld=True)
|
|
2432
|
+
sbld- bldls(sbld=True,minus=True)
|
|
2433
|
+
esbld - bldls(bldlse=True,sbld=True)
|
|
2434
|
+
esblb- bldls(bldlse=True,sbld=True,minus=True)
|
|
2435
|
+
'''
|
|
2436
|
+
bldls(bldlse=True)
|
|
2255
2437
|
elif cmd.lower() in ['sbld','search build','search_build','scan build','scan_bld']:
|
|
2438
|
+
'''
|
|
2256
2439
|
extras=Prompt.__init2__(None,func=FormBuilderMkText,ptext="Show Extras?",helpText="extra data attached to each entry yes or no",data="boolean")
|
|
2257
2440
|
if extras in [None,'d',False]:
|
|
2258
2441
|
extras=False
|
|
@@ -2387,7 +2570,21 @@ last month = today-30d
|
|
|
2387
2570
|
{Fore.medium_violet_red}PercentOfTotal({round(super_total,ROUNDTO)}) of Total({getSuperTotal(results,location_fields,colormapped)['final total']})
|
|
2388
2571
|
{Style.reset}"""
|
|
2389
2572
|
print(msg)
|
|
2573
|
+
'''
|
|
2574
|
+
'''
|
|
2575
|
+
lsbld - bldls()
|
|
2576
|
+
lsbld- - bldls(minus=True)
|
|
2577
|
+
bldlse - bldls(bldlse=True)
|
|
2578
|
+
bldlse - bldls(bldlse=True,minus=True)
|
|
2579
|
+
|
|
2580
|
+
sbld - bldls(sbld=True)
|
|
2581
|
+
sbld- bldls(sbld=True,minus=True)
|
|
2582
|
+
esbld - bldls(bldlse=True,sbld=True)
|
|
2583
|
+
esblb- bldls(bldlse=True,sbld=True,minus=True)
|
|
2584
|
+
'''
|
|
2585
|
+
bldls(sbld=True)
|
|
2390
2586
|
elif cmd.lower() in ['esbld','export search build','export_search_build','exp scan build','exp_scan_bld']:
|
|
2587
|
+
'''
|
|
2391
2588
|
extras=Prompt.__init2__(None,func=FormBuilderMkText,ptext="Show Extras?",helpText="extra data attached to each entry yes or no",data="boolean")
|
|
2392
2589
|
if extras in [None,'d',False]:
|
|
2393
2590
|
extras=False
|
|
@@ -2528,7 +2725,21 @@ last month = today-30d
|
|
|
2528
2725
|
{Style.reset}"""
|
|
2529
2726
|
db.logInput(msg,user=False,filter_colors=True,maxed_hfl=False,ofile=Prompt.bld_file)
|
|
2530
2727
|
print(msg)
|
|
2728
|
+
'''
|
|
2729
|
+
'''
|
|
2730
|
+
lsbld - bldls()
|
|
2731
|
+
lsbld- - bldls(minus=True)
|
|
2732
|
+
bldlse - bldls(bldlse=True)
|
|
2733
|
+
bldlse - bldls(bldlse=True,minus=True)
|
|
2734
|
+
|
|
2735
|
+
sbld - bldls(sbld=True)
|
|
2736
|
+
sbld- bldls(sbld=True,minus=True)
|
|
2737
|
+
esbld - bldls(bldlse=True,sbld=True)
|
|
2738
|
+
esblb- bldls(bldlse=True,sbld=True,minus=True)
|
|
2739
|
+
'''
|
|
2740
|
+
bldls(bldlse=True,sbld=True)
|
|
2531
2741
|
elif cmd.lower() in ["bldls-","build-","buildls-","build list -","bld ls -",'lsbld-','list build -','ls bld -','bld-']:
|
|
2742
|
+
'''
|
|
2532
2743
|
extras=Prompt.__init2__(None,func=FormBuilderMkText,ptext="Show Extras?",helpText="extra data attached to each entry yes or no",data="boolean")
|
|
2533
2744
|
if extras in [None,'d',False]:
|
|
2534
2745
|
extras=False
|
|
@@ -2638,7 +2849,21 @@ last month = today-30d
|
|
|
2638
2849
|
{Fore.light_green}Total Product Value Taxed w/ CRV({master_total_tax_crv}):{Fore.slate_blue_1}{round(master_total_tax_crv+master_total,ROUNDTO)}
|
|
2639
2850
|
{Style.reset}"""
|
|
2640
2851
|
print(msg)
|
|
2852
|
+
'''
|
|
2853
|
+
'''
|
|
2854
|
+
lsbld - bldls()
|
|
2855
|
+
lsbld- - bldls(minus=True)
|
|
2856
|
+
bldlse - bldls(bldlse=True)
|
|
2857
|
+
bldlse - bldls(bldlse=True,minus=True)
|
|
2858
|
+
|
|
2859
|
+
sbld - bldls(sbld=True)
|
|
2860
|
+
sbld- bldls(sbld=True,minus=True)
|
|
2861
|
+
esbld - bldls(bldlse=True,sbld=True)
|
|
2862
|
+
esblb- bldls(bldlse=True,sbld=True,minus=True)
|
|
2863
|
+
'''
|
|
2864
|
+
bldls(minus=True)
|
|
2641
2865
|
elif cmd.lower() in ["bldlse-","builde-","buildlse-","build list export -","bld ls exp -",'elsbld-','export list build -','exp ls bld -','ebld-']:
|
|
2866
|
+
'''
|
|
2642
2867
|
extras=Prompt.__init2__(None,func=FormBuilderMkText,ptext="Show Extras?",helpText="extra data attached to each entry yes or no",data="boolean")
|
|
2643
2868
|
if extras in [None,'d',False]:
|
|
2644
2869
|
extras=False
|
|
@@ -2755,7 +2980,21 @@ last month = today-30d
|
|
|
2755
2980
|
{Style.reset}"""
|
|
2756
2981
|
print(msg)
|
|
2757
2982
|
db.logInput(msg,user=False,filter_colors=True,maxed_hfl=False,ofile=Prompt.bld_file)
|
|
2983
|
+
'''
|
|
2984
|
+
'''
|
|
2985
|
+
lsbld - bldls()
|
|
2986
|
+
lsbld- - bldls(minus=True)
|
|
2987
|
+
bldlse - bldls(bldlse=True)
|
|
2988
|
+
bldlse- - bldls(bldlse=True,minus=True)
|
|
2989
|
+
|
|
2990
|
+
sbld - bldls(sbld=True)
|
|
2991
|
+
sbld- bldls(sbld=True,minus=True)
|
|
2992
|
+
esbld - bldls(bldlse=True,sbld=True)
|
|
2993
|
+
esblb- bldls(bldlse=True,sbld=True,minus=True)
|
|
2994
|
+
'''
|
|
2995
|
+
bldls(bldlse=True,minus=True)
|
|
2758
2996
|
elif cmd.lower() in ['sbld-','search build -','search_build-','scan build-','scan_bld-']:
|
|
2997
|
+
'''
|
|
2759
2998
|
extras=Prompt.__init2__(None,func=FormBuilderMkText,ptext="Show Extras?",helpText="extra data attached to each entry yes or no",data="boolean")
|
|
2760
2999
|
if extras in [None,'d',False]:
|
|
2761
3000
|
extras=False
|
|
@@ -2886,7 +3125,21 @@ last month = today-30d
|
|
|
2886
3125
|
{Fore.light_green}Total Product Value Taxed w/ CRV({master_total_tax_crv}):{Fore.slate_blue_1}{round(master_total_tax_crv+master_total,ROUNDTO)}
|
|
2887
3126
|
{Style.reset}"""
|
|
2888
3127
|
print(msg)
|
|
3128
|
+
'''
|
|
3129
|
+
'''
|
|
3130
|
+
lsbld - bldls()
|
|
3131
|
+
lsbld- - bldls(minus=True)
|
|
3132
|
+
bldlse - bldls(bldlse=True)
|
|
3133
|
+
bldlse - bldls(bldlse=True,minus=True)
|
|
3134
|
+
|
|
3135
|
+
sbld - bldls(sbld=True)
|
|
3136
|
+
sbld- bldls(sbld=True,minus=True)
|
|
3137
|
+
esbld - bldls(bldlse=True,sbld=True)
|
|
3138
|
+
esblb- bldls(bldlse=True,sbld=True,minus=True)
|
|
3139
|
+
'''
|
|
3140
|
+
bldls(sbld=True,minus=True)
|
|
2889
3141
|
elif cmd.lower() in ['esbld-','export search build -','export_search_build-','exp scan build-','exp_scan_bld-']:
|
|
3142
|
+
'''
|
|
2890
3143
|
extras=Prompt.__init2__(None,func=FormBuilderMkText,ptext="Show Extras?",helpText="extra data attached to each entry yes or no",data="boolean")
|
|
2891
3144
|
if extras in [None,'d',False]:
|
|
2892
3145
|
extras=False
|
|
@@ -3022,6 +3275,19 @@ last month = today-30d
|
|
|
3022
3275
|
print(msg)
|
|
3023
3276
|
db.logInput(msg,user=False,filter_colors=True,maxed_hfl=False,ofile=Prompt.bld_file)
|
|
3024
3277
|
#end#
|
|
3278
|
+
'''
|
|
3279
|
+
'''
|
|
3280
|
+
lsbld - bldls()
|
|
3281
|
+
lsbld- - bldls(minus=True)
|
|
3282
|
+
bldlse - bldls(bldlse=True)
|
|
3283
|
+
bldlse - bldls(bldlse=True,minus=True)
|
|
3284
|
+
|
|
3285
|
+
sbld - bldls(sbld=True)
|
|
3286
|
+
sbld- bldls(sbld=True,minus=True)
|
|
3287
|
+
esbld - bldls(bldlse=True,sbld=True)
|
|
3288
|
+
esblb- bldls(bldlse=True,sbld=True,minus=True)
|
|
3289
|
+
'''
|
|
3290
|
+
bldls(bldlse=True,sbld=True,minus=True)
|
|
3025
3291
|
elif cmd.lower() in ['cdp','clipboard_default_paste','clipboard default paste']:
|
|
3026
3292
|
with db.Session(db.ENGINE) as session:
|
|
3027
3293
|
dflt=session.query(db.ClipBoord).filter(db.ClipBoord.defaultPaste==True).order_by(db.ClipBoord.doe.desc()).first()
|
|
Binary file
|
radboy/DayLog/DayLogger.py
CHANGED
|
@@ -18,7 +18,8 @@ from radboy.DB.CoinCombo import *
|
|
|
18
18
|
from radboy.DayLog.Wavelength4Freq import HoleSize
|
|
19
19
|
from radboy.DayLog.TaxiFares import TaxiFare
|
|
20
20
|
from radboy.Compare.Compare import *
|
|
21
|
-
|
|
21
|
+
from sqlalchemy.sql import functions as func
|
|
22
|
+
from collections import OrderedDict
|
|
22
23
|
|
|
23
24
|
class DayLogger:
|
|
24
25
|
helpText=f"""
|
|
@@ -754,7 +755,9 @@ fxtbl - update table with correct columns
|
|
|
754
755
|
""")
|
|
755
756
|
if totals[i] >= occurances and totals[i] <= occurances_max:
|
|
756
757
|
print(msg)
|
|
757
|
-
|
|
758
|
+
def f_orderByTotalValue(self,query):
|
|
759
|
+
#just a dummy extra filtering can be here
|
|
760
|
+
return query
|
|
758
761
|
|
|
759
762
|
def TotalSpent(self):
|
|
760
763
|
LookUpState=db.detectGetOrSet('list maker lookup order',False,setValue=False,literal=False)
|
|
@@ -769,6 +772,22 @@ fxtbl - update table with correct columns
|
|
|
769
772
|
#cost report
|
|
770
773
|
#export results Both text and xlsx
|
|
771
774
|
#yes no
|
|
775
|
+
orderByTotalValue=Prompt.__init2__(None,func=FormBuilderMkText,ptext="Order Final Results by total qty value[y/N]:",helpText="yes or no; default is No.",data="boolean")
|
|
776
|
+
|
|
777
|
+
if orderByTotalValue in [None,]:
|
|
778
|
+
return
|
|
779
|
+
elif orderByTotalValue in ['d',]:
|
|
780
|
+
orderByTotalValue=False
|
|
781
|
+
|
|
782
|
+
reverse=True
|
|
783
|
+
if orderByTotalValue:
|
|
784
|
+
reverse=Prompt.__init2__(None,func=FormBuilderMkText,ptext="Order Asc(True/Yes/First Line Newest or Smallest & Last Line Biggest or Oldest)[Default]/Desc(false/no/First Line Oldest or Biggest & Last Line Newest or Smallest):",helpText="yes or no; default is yes.",data="boolean")
|
|
785
|
+
|
|
786
|
+
if reverse in [None,]:
|
|
787
|
+
return
|
|
788
|
+
elif reverse in ['d',]:
|
|
789
|
+
reverse=True
|
|
790
|
+
|
|
772
791
|
graph_it=Prompt.__init2__(None,func=FormBuilderMkText,ptext="Graph Results (if possible)[y/N]:",helpText="yes or no; default is No.",data="boolean")
|
|
773
792
|
|
|
774
793
|
if graph_it in [None,]:
|
|
@@ -920,6 +939,9 @@ fxtbl - update table with correct columns
|
|
|
920
939
|
x=GraphIt(query,fields_for_total)
|
|
921
940
|
if x is None:
|
|
922
941
|
return
|
|
942
|
+
if orderByTotalValue:
|
|
943
|
+
query=self.f_orderByTotalValue(query)
|
|
944
|
+
|
|
923
945
|
query=query.all()
|
|
924
946
|
else:
|
|
925
947
|
query=session.query(DayLog).filter(DayLog.DayLogDate.between(date_from,date_to))
|
|
@@ -933,6 +955,9 @@ fxtbl - update table with correct columns
|
|
|
933
955
|
x=GraphIt(query,fields_for_total)
|
|
934
956
|
if x is None:
|
|
935
957
|
return
|
|
958
|
+
|
|
959
|
+
if orderByTotalValue:
|
|
960
|
+
query=self.f_orderByTotalValue(query)
|
|
936
961
|
query=query.all()
|
|
937
962
|
else:
|
|
938
963
|
exclude_code=Prompt.__init2__(None,func=FormBuilderMkText,ptext="exclude this code from results:",helpText="yes or no",data="boolean")
|
|
@@ -957,6 +982,10 @@ fxtbl - update table with correct columns
|
|
|
957
982
|
query=query.order_by(DayLog.DayLogDate.asc())
|
|
958
983
|
elif LookUpState == False:
|
|
959
984
|
query=query.order_by(DayLog.DayLogDate.desc())
|
|
985
|
+
|
|
986
|
+
if orderByTotalValue:
|
|
987
|
+
query=self.f_orderByTotalValue(query)
|
|
988
|
+
|
|
960
989
|
else:
|
|
961
990
|
filt=[]
|
|
962
991
|
for q in code:
|
|
@@ -977,6 +1006,8 @@ fxtbl - update table with correct columns
|
|
|
977
1006
|
query=query.order_by(DayLog.DayLogDate.asc())
|
|
978
1007
|
elif LookUpState == False:
|
|
979
1008
|
query=query.order_by(DayLog.DayLogDate.desc())
|
|
1009
|
+
if orderByTotalValue:
|
|
1010
|
+
query=self.f_orderByTotalValue(query)
|
|
980
1011
|
if export:
|
|
981
1012
|
exporter_excel(query,xlsx_cr_export)
|
|
982
1013
|
if graph_it:
|
|
@@ -984,6 +1015,8 @@ fxtbl - update table with correct columns
|
|
|
984
1015
|
if x is None:
|
|
985
1016
|
return
|
|
986
1017
|
|
|
1018
|
+
if orderByTotalValue:
|
|
1019
|
+
query=self.f_orderByTotalValue(query)
|
|
987
1020
|
query=query.all()
|
|
988
1021
|
else:
|
|
989
1022
|
if not exclude_code:
|
|
@@ -1003,6 +1036,8 @@ fxtbl - update table with correct columns
|
|
|
1003
1036
|
query=query.order_by(DayLog.DayLogDate.asc())
|
|
1004
1037
|
elif LookUpState == False:
|
|
1005
1038
|
query=query.order_by(DayLog.DayLogDate.desc())
|
|
1039
|
+
if orderByTotalValue:
|
|
1040
|
+
query=self.f_orderByTotalValue(query)
|
|
1006
1041
|
else:
|
|
1007
1042
|
filt=[]
|
|
1008
1043
|
for q in code:
|
|
@@ -1026,19 +1061,23 @@ fxtbl - update table with correct columns
|
|
|
1026
1061
|
query=query.order_by(DayLog.DayLogDate.asc())
|
|
1027
1062
|
elif LookUpState == False:
|
|
1028
1063
|
query=query.order_by(DayLog.DayLogDate.desc())
|
|
1064
|
+
if orderByTotalValue:
|
|
1065
|
+
query=self.f_orderByTotalValue(query)
|
|
1029
1066
|
if export:
|
|
1030
1067
|
exporter_excel(query,xlsx_cr_export)
|
|
1031
1068
|
if graph_it:
|
|
1032
1069
|
x=GraphIt(query,fields_for_total)
|
|
1033
1070
|
if x is None:
|
|
1034
1071
|
return
|
|
1072
|
+
if orderByTotalValue:
|
|
1073
|
+
query=self.f_orderByTotalValue(query)
|
|
1035
1074
|
query=query.all()
|
|
1036
1075
|
|
|
1037
|
-
totals={}
|
|
1038
|
-
totals_dl={}
|
|
1039
|
-
total_price={}
|
|
1040
|
-
total_tax={}
|
|
1041
|
-
total_crv={}
|
|
1076
|
+
totals=OrderedDict({})
|
|
1077
|
+
totals_dl=OrderedDict({})
|
|
1078
|
+
total_price=OrderedDict({})
|
|
1079
|
+
total_tax=OrderedDict({})
|
|
1080
|
+
total_crv=OrderedDict({})
|
|
1042
1081
|
if export:
|
|
1043
1082
|
msg=f'{datetime.now()}[NOW]/[{date_from}(From)]-[{date_to}(To)]'
|
|
1044
1083
|
logInput(msg,user=False,filter_colors=True,maxed_hfl=False,ofile=text_cr_export,clear_only=True)
|
|
@@ -1098,6 +1137,19 @@ fxtbl - update table with correct columns
|
|
|
1098
1137
|
# return
|
|
1099
1138
|
#else:
|
|
1100
1139
|
# pass
|
|
1140
|
+
#
|
|
1141
|
+
if orderByTotalValue:
|
|
1142
|
+
totals_ordered_keys=OrderedDict({})
|
|
1143
|
+
for key in totals:
|
|
1144
|
+
totals_ordered_keys[key]=round(((total_crv[key]+total_tax[key]+total_price[key])/total_expense)*100,ROUNDTO)
|
|
1145
|
+
#need to sort dictionary
|
|
1146
|
+
#according to -> round(((total_crv[key]+total_tax[key]+total_price[key])/total_expense)*100,ROUNDTO)
|
|
1147
|
+
totals_ordered_keys=OrderedDict(sorted(totals_ordered_keys.items(),key=lambda item:item[1],reverse=not reverse))
|
|
1148
|
+
tmp=OrderedDict()
|
|
1149
|
+
for key in totals_ordered_keys.keys():
|
|
1150
|
+
tmp[key]=totals[key]
|
|
1151
|
+
totals=tmp
|
|
1152
|
+
|
|
1101
1153
|
totals_len=len(totals)
|
|
1102
1154
|
for num,key in enumerate(totals):
|
|
1103
1155
|
if LookUpState == True:
|
|
@@ -1115,7 +1167,8 @@ fxtbl - update table with correct columns
|
|
|
1115
1167
|
if export:
|
|
1116
1168
|
logInput(msg,user=False,filter_colors=True,maxed_hfl=False,ofile=text_cr_export)
|
|
1117
1169
|
print(msg)
|
|
1118
|
-
|
|
1170
|
+
reverse_state={False:'False - Desc. (First Line Oldest/Biggest,Last Line Newest/Smallest)',True:'True - Asc. (Firt Line Newest/Smallest,Last Line Newest/Biggest)'}
|
|
1171
|
+
msg3=f"{Fore.light_cyan}Final Results Reverse:{reverse_state[reverse]}|{Fore.orange_red_1}Total Expense:{Fore.light_magenta}{total_expense}{Style.reset}"
|
|
1119
1172
|
print(msg3)
|
|
1120
1173
|
if export:
|
|
1121
1174
|
logInput(msg3,user=False,filter_colors=True,maxed_hfl=False,ofile=text_cr_export)
|
|
Binary file
|
radboy/__init__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
VERSION='0.0.
|
|
1
|
+
VERSION='0.0.376'
|
|
Binary file
|
|
@@ -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=XXy-o5Z_yOgrgHNju4iqM3h7xhRBkNIoHG1qePtBnGY,41316
|
|
7
7
|
radboy/Run.py,sha256=JUoCTHnzQBv7n8PB2_i93ANdAC_iW__RkAge8esCnk4,76
|
|
8
|
-
radboy/__init__.py,sha256=
|
|
8
|
+
radboy/__init__.py,sha256=TfgMJOI-srmu2Qo5T_-rw8Dl8KQNAJyqzQBkLAdv6Es,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
|
|
@@ -83,7 +83,7 @@ radboy/DB/ExerciseTracker.py,sha256=CZ8jdKJiAE_QTAiJTRXi8ZOnS1NUiSvWVSKLHLpYVGk,
|
|
|
83
83
|
radboy/DB/PayDay.py,sha256=H2kPGvBCDkMOz7lbxQhYtUt_oAInpxi37Q6MFrah98I,8710
|
|
84
84
|
radboy/DB/PayModels.py,sha256=hjwWxP7PL33hmfzQl5YTf0HqzaMxXJxFknPdxFJXJc8,3499
|
|
85
85
|
radboy/DB/PrintLogging.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
86
|
-
radboy/DB/Prompt.py,sha256=
|
|
86
|
+
radboy/DB/Prompt.py,sha256=H8kVdEYImkJyurqopvfo30wzRd1KpfbhkEnprdSWSUQ,205091
|
|
87
87
|
radboy/DB/RandomStringUtil.py,sha256=eZCpR907WStgfbk4Evcghjv9hOkUDXH-iMXIq0-kXq8,24386
|
|
88
88
|
radboy/DB/ResetTools.py,sha256=RbI-Ua7UlsN0S9qLqtEkTWvzyTZ6R-hHR3CW4NHlUPE,6660
|
|
89
89
|
radboy/DB/SMLabelImporter.py,sha256=eUoBDxVUUEKGL2g_PwkASM67ZB7FmXtSnn4bCagskhY,4013
|
|
@@ -107,7 +107,7 @@ radboy/DB/__pycache__/FormBuilder.cpython-312.pyc,sha256=p1o-5SMRL8OXP_XQ5liUpf-
|
|
|
107
107
|
radboy/DB/__pycache__/PrintLogging.cpython-312.pyc,sha256=pIAFqTi6OiQQORSc-oMH1zAbsdH7sY1TifxrN_QOvnU,148
|
|
108
108
|
radboy/DB/__pycache__/Prompt.cpython-311.pyc,sha256=P2uPRpeqfLFtxieZ0JHBG3X_HZzWUCsFSLb_fpRqky0,6407
|
|
109
109
|
radboy/DB/__pycache__/Prompt.cpython-312.pyc,sha256=6CcQ1gE2hcz3cKPjo4f6d7xNM2PTDnl8NzQG0Pme5BE,142886
|
|
110
|
-
radboy/DB/__pycache__/Prompt.cpython-313.pyc,sha256=
|
|
110
|
+
radboy/DB/__pycache__/Prompt.cpython-313.pyc,sha256=rZD1O8jsEo-uy41QlO1F6mi3Klcs2m8nt97BNUdW9Nc,196540
|
|
111
111
|
radboy/DB/__pycache__/RandomStringUtil.cpython-312.pyc,sha256=TrbEY89MuLmNlvoo5d8vOE6Dyshh5_EMlTZvk8MDVN4,48597
|
|
112
112
|
radboy/DB/__pycache__/RandomStringUtil.cpython-313.pyc,sha256=MCcgVwV2Y-9rAY2FVaJZCKcou3HDX70EZudoiCigT0o,49217
|
|
113
113
|
radboy/DB/__pycache__/ResetTools.cpython-311.pyc,sha256=4Vyc57iAAF0yRPjjglnVKovnTn8OoFIi6Zok3Wpj_YM,9292
|
|
@@ -134,13 +134,13 @@ radboy/DB/__pycache__/renderText2Png.cpython-311.pyc,sha256=ivSzvyAeWhsS-a_RcFF8
|
|
|
134
134
|
radboy/DB/__pycache__/renderText2Png.cpython-312.pyc,sha256=1CUGjOhJw_vC4DNMQ-W5jBXEKp7HzDrq7--x9VyBTo8,8991
|
|
135
135
|
radboy/DB/__pycache__/renderText2Png.cpython-313.pyc,sha256=LDJOo7uFztlxw3ptN8QuHrLkr0GKiAArBu34QiE15iQ,9096
|
|
136
136
|
radboy/DB/__pycache__/testClass.cpython-311.pyc,sha256=nkWap8RuBsWWOB_ZhGbR3ELbnL1F1CHZCi0dpepqw-0,1225
|
|
137
|
-
radboy/DayLog/DayLogger.py,sha256=
|
|
137
|
+
radboy/DayLog/DayLogger.py,sha256=63N1oJ_5tq1QJPCSLMffhFQgrg4gW8tFOi2Ftb5rSs8,101456
|
|
138
138
|
radboy/DayLog/TaxiFares.py,sha256=3slYjtBcTnRe8IeneJ-_iZJJ3E7alW09f6GWYXPxhOo,10882
|
|
139
139
|
radboy/DayLog/Wavelength4Freq.py,sha256=MfN2EATrN3bbEDgP1qOPjV1Fk8sVnkc_4tgX6sKfSE0,2054
|
|
140
140
|
radboy/DayLog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
141
141
|
radboy/DayLog/__pycache__/DayLogger.cpython-311.pyc,sha256=TmRnRZHp5tMTokSEB8hWTxnasi-iJdh6TmYcb_nXGoY,29557
|
|
142
142
|
radboy/DayLog/__pycache__/DayLogger.cpython-312.pyc,sha256=bfDCQZrIhgQYzoUle7roicRE_bhGPYZtIbCRIiDrsxU,68240
|
|
143
|
-
radboy/DayLog/__pycache__/DayLogger.cpython-313.pyc,sha256=
|
|
143
|
+
radboy/DayLog/__pycache__/DayLogger.cpython-313.pyc,sha256=kRcVAtHpS_R-XMHGw5mvx9xtMMJ5s2PY4hZHV4CQumc,149602
|
|
144
144
|
radboy/DayLog/__pycache__/__init__.cpython-311.pyc,sha256=Z5Y4DdVF77LZf6-Of92MDGFdi-IXik1ASQd4AdLNNfQ,231
|
|
145
145
|
radboy/DayLog/__pycache__/__init__.cpython-312.pyc,sha256=lP_GHzSPt5JTrT1jLWiRMFGPmSdJYBn4eRV__OxgJ6s,269
|
|
146
146
|
radboy/DayLog/__pycache__/__init__.cpython-313.pyc,sha256=UQw5v4r7yismC9qcqP0dEme6h-lawbOA5pXYpkqUwFk,148
|
|
@@ -386,7 +386,7 @@ radboy/__pycache__/Run.cpython-311.pyc,sha256=G_UEfMtkLRjR6ZpGA_BJzGenuaCcP469Y9
|
|
|
386
386
|
radboy/__pycache__/Run.cpython-312.pyc,sha256=v4xolc3mHyla991XhpYBUbBHYT0bnJ1gE-lkFoQ4GFA,241
|
|
387
387
|
radboy/__pycache__/__init__.cpython-311.pyc,sha256=R-DVbUioMOW-Fnaq7FpT5F1a5p0q3b_RW-HpLRArCAY,242
|
|
388
388
|
radboy/__pycache__/__init__.cpython-312.pyc,sha256=FsFzLXOlTK8_7ixoPZzakkR8Wibt-DvXLFh-oG2QlPw,164
|
|
389
|
-
radboy/__pycache__/__init__.cpython-313.pyc,sha256=
|
|
389
|
+
radboy/__pycache__/__init__.cpython-313.pyc,sha256=5vrXGFs2V8LeNLfLIzdqbGvpekeZHWk8_qK8VDjsiVA,165
|
|
390
390
|
radboy/__pycache__/__init__.cpython-39.pyc,sha256=D48T6x6FUeKPfubo0sdS_ZUut3FmBvPMP7qT6rYBZzU,275
|
|
391
391
|
radboy/__pycache__/possibleCode.cpython-311.pyc,sha256=zFiHyzqD8gUnIWu4vtyMYIBposiRQqaRXfcT_fOl4rU,20882
|
|
392
392
|
radboy/__pycache__/possibleCode.cpython-312.pyc,sha256=tk_CO-AcsO3YZj5j6vEsw3g37UmEzWc5YgeWEoJEUg4,27922
|
|
@@ -411,7 +411,7 @@ radboy/tkGui/Images/__pycache__/__init__.cpython-311.pyc,sha256=tXBYpqbOlZ24B1BI
|
|
|
411
411
|
radboy/tkGui/__pycache__/BeginnersLuck.cpython-311.pyc,sha256=xLQOnV1wuqHGaub16mPX0dDMGU9ryCeLtNz5e517_GE,3004
|
|
412
412
|
radboy/tkGui/__pycache__/Review.cpython-311.pyc,sha256=wKq24iM6Xe2OampgZ7-8U6Nvmgs2y-qWOrGwtWhc75k,4047
|
|
413
413
|
radboy/tkGui/__pycache__/__init__.cpython-311.pyc,sha256=BX7DBn5qbvKTvlrKOP5gzTBPBTeTgSMjBW6EMl7N8e0,230
|
|
414
|
-
radboy-0.0.
|
|
415
|
-
radboy-0.0.
|
|
416
|
-
radboy-0.0.
|
|
417
|
-
radboy-0.0.
|
|
414
|
+
radboy-0.0.376.dist-info/METADATA,sha256=wHoK_Yw45nTZj0iotrud9mPBgdh1E0JC59l_3yrnfpU,794
|
|
415
|
+
radboy-0.0.376.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
416
|
+
radboy-0.0.376.dist-info/top_level.txt,sha256=mlM0RWMUxGo1YHnlLmYrHOgGdK4XNRpr7nMFD5lR56c,7
|
|
417
|
+
radboy-0.0.376.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|