radboy 0.0.753__py3-none-any.whl → 0.0.754__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/lsToday.py ADDED
@@ -0,0 +1,188 @@
1
+ from pathlib import Path
2
+ import grp,pwd
3
+ import os,sys
4
+ import argparse
5
+ from datetime import datetime,timedelta
6
+ from colored import Fore,Back,Style
7
+ import stat
8
+ from humanfriendly import format_size
9
+ from radboy.DB.db import *
10
+ from radboy.FB.FBMTXT import *
11
+ from radboy.FB.FormBuilder import *
12
+ from radboy.DB.Prompt import *
13
+
14
+ def systemls(path:Path=None,today:datetime=None,search=None,cmdline=False):
15
+ now=datetime.now()
16
+ if today is None:
17
+ today=datetime(now.year,now.month,now.day)-timedelta(days=1)
18
+
19
+ start=datetime.now()
20
+ def std_colorize(msg,count,total,post_msg="\n\t"):
21
+ return f"""{Fore.dark_olive_green_3b}{msg}{post_msg}{Fore.light_blue}{count}/{count+1} of {total}{Style.reset}"""
22
+
23
+ if path is None:
24
+ if cmdline == True:
25
+ if len(sys.argv) == 2:
26
+ path=Path(sys.argv[1])
27
+ else:
28
+ fields={
29
+ 'path to examine':{
30
+ 'default':str(Path.cwd()),
31
+ 'type':'string'
32
+ },
33
+ 'search':{
34
+ 'default':None,
35
+ 'type':'string',
36
+ },
37
+ 'dtoe':{
38
+ 'default':today-timedelta(days=1),
39
+ 'type':'datetime'
40
+ },
41
+ }
42
+ fd=FormBuilder(data=fields,passThruText="What/Where for Everything Past a Date")
43
+ if fd is None:
44
+ return
45
+ path=Path(fd['path to examine'])
46
+ today=fd['dtoe']
47
+ search=fd['search']
48
+
49
+ if not path.exists():
50
+ raise FileNotFoundError(path)
51
+ ct_top=len([i for i in path.walk(top_down=True,follow_symlinks=False,on_error=print)])
52
+ break_page=False
53
+ for num,(root,dirs,names) in enumerate(path.walk(top_down=True,follow_symlinks=False,on_error=print)):
54
+ ct_dirs=len(dirs)
55
+ for numd,d in enumerate(dirs):
56
+ dirpath=root/d
57
+ try:
58
+ if isinstance(dirpath,Path):
59
+ l=[]
60
+ if datetime.fromtimestamp(dirpath.stat().st_mtime) > today:
61
+ if dirpath not in l:
62
+ if search is not None:
63
+ if search.lower() in str(dirpath).lower():
64
+ print(f"Matched '{search}' ~= {dirpath}")
65
+ l.append(dirpath)
66
+ else:
67
+ l.append(dirpath)
68
+
69
+ if datetime.fromtimestamp(dirpath.stat().st_ctime) > today:
70
+ if dirpath not in l:
71
+ if search is not None:
72
+ if search.lower() in str(dirpath).lower():
73
+ print(f"Matched '{search}' ~= {dirpath}")
74
+ l.append(dirpath)
75
+ else:
76
+ l.append(dirpath)
77
+
78
+ if datetime.fromtimestamp(dirpath.stat().st_atime) > today:
79
+ if dirpath not in l:
80
+ if search is not None:
81
+ if search.lower() in str(dirpath).lower():
82
+ print(f"Matched '{search}' ~= {dirpath}")
83
+ l.append(dirpath)
84
+ else:
85
+ l.append(dirpath)
86
+ for i in l:
87
+ try:
88
+ username=''
89
+ username=pwd.getpwuid(i.stat().st_uid).pw_name
90
+ except Exception as e:
91
+ print(e)
92
+ username='USERNM#ERROR:UnResolved'
93
+ try:
94
+ grpname=''
95
+ grpname=pwd.getpwuid(i.stat().st_gid).pw_name
96
+ except Exception as e:
97
+ print(e)
98
+ grpname='GRP#ERROR:UnResolved'
99
+
100
+
101
+ print(std_colorize(f"""{Fore.light_cyan}[Directory]{Fore.light_steel_blue}{i}
102
+ \t{Fore.orange_red_1}MTIME:{datetime.fromtimestamp(i.stat().st_mtime)} Age:{datetime.now()-datetime.fromtimestamp(i.stat().st_mtime)}
103
+ \t{Fore.light_yellow}CTIME:{datetime.fromtimestamp(i.stat().st_ctime)} Age:{datetime.now()-datetime.fromtimestamp(i.stat().st_ctime)}
104
+ \t{Fore.light_green}ATIME: {datetime.fromtimestamp(i.stat().st_atime)} Age:{datetime.now()-datetime.fromtimestamp(i.stat().st_atime)}
105
+ \t{Fore.light_red}MODE: {stat.filemode(i.stat().st_mode)}
106
+ \t{Fore.dark_green}GID:{i.stat().st_gid} ({grpname})
107
+ \t{Fore.medium_violet_red}UID:{i.stat().st_uid} ({username})
108
+ \t{Fore.magenta}Size:{format_size(i.stat().st_size)}{Style.reset}""",numd,ct_dirs))
109
+ print(std_colorize(f"Since Exe:{datetime.now()-start}",num,ct_top))
110
+ if not break_page:
111
+ NEXT=Control(func=FormBuilderMkText,ptext="Next?",helpText="yes==advances 1,no==stops paging",data="boolean")
112
+ if NEXT in ['NaN',None]:
113
+ return
114
+ elif NEXT in ['d',True]:
115
+ continue
116
+ elif NEXT == False:
117
+ break_page=True
118
+
119
+
120
+ except Exception as e:
121
+ print(e)
122
+ ctn=len(names)
123
+ for numn,name in enumerate(names):
124
+ try:
125
+ npath=root/name
126
+ if isinstance(npath,Path):
127
+ l=[]
128
+ if datetime.fromtimestamp(npath.stat().st_mtime) > today:
129
+ if npath not in l:
130
+ if search is not None:
131
+ if search.lower() in str(npath).lower():
132
+ print(f"Matched {search} ~= {npath}")
133
+ l.append(npath)
134
+ else:
135
+ l.append(npath)
136
+ if datetime.fromtimestamp(npath.stat().st_ctime) > today:
137
+ if npath not in l:
138
+ if search is not None:
139
+ if search.lower() in str(npath).lower():
140
+ print(f"Matched {search} ~= {npath}")
141
+ l.append(npath)
142
+ else:
143
+ l.append(npath)
144
+
145
+ if datetime.fromtimestamp(npath.stat().st_atime) > today:
146
+ if npath not in l:
147
+ if search is not None:
148
+ if search.lower() in str(npath).lower():
149
+ print(f"Matched {search} ~= {npath}")
150
+ l.append(npath)
151
+ else:
152
+ l.append(npath)
153
+
154
+ for i in l:
155
+ try:
156
+ username=''
157
+ username=pwd.getpwuid(i.stat().st_uid).pw_name
158
+ except Exception as e:
159
+ print(e)
160
+ username='USERNM#ERROR:UnResolved'
161
+ try:
162
+ grpname=''
163
+ grpname=pwd.getpwuid(i.stat().st_gid).pw_name
164
+ except Exception as e:
165
+ print(e)
166
+ grpname='GRP#ERROR:UnResolved'
167
+
168
+ print(std_colorize(f""" {Fore.dark_cyan}[File]{Fore.light_steel_blue}{i}
169
+ \t{Fore.orange_red_1}MTIME:{datetime.fromtimestamp(i.stat().st_mtime)} Age:{datetime.now()-datetime.fromtimestamp(i.stat().st_mtime)}
170
+ \t{Fore.light_yellow}CTIME:{datetime.fromtimestamp(i.stat().st_ctime)} Age:{datetime.now()-datetime.fromtimestamp(i.stat().st_ctime)}
171
+ \t{Fore.light_green}ATIME: {datetime.fromtimestamp(i.stat().st_atime)} Age:{datetime.now()-datetime.fromtimestamp(i.stat().st_atime)}
172
+ \t{Fore.light_red}MODE: {stat.filemode(i.stat().st_mode)}
173
+ \t{Fore.dark_green}GID:{i.stat().st_gid} ({grpname})
174
+ \t{Fore.medium_violet_red}UID:{i.stat().st_uid} ({username})
175
+ \t{Fore.magenta}Size:{format_size(i.stat().st_size)}{Style.reset}""",numn,ctn))
176
+ print(std_colorize(f" \tSince Exe:{datetime.now()-start}",num,ct_top))
177
+ if not break_page:
178
+ NEXT=Control(func=FormBuilderMkText,ptext="Next?",helpText="yes==advances 1,no==stops paging",data="boolean")
179
+ if NEXT in ['NaN',None]:
180
+ return
181
+ elif NEXT in ['d',True]:
182
+ continue
183
+ elif NEXT == False:
184
+ break_page=True
185
+
186
+ except Exception as e:
187
+ print(e)
188
+
radboy/TasksMode/Tasks.py CHANGED
@@ -50,6 +50,7 @@ from scipy.io.wavfile import write
50
50
  from radboy.DB.SimpleScanner import SimpleScanner
51
51
  from radboy.DB.NW.NetWorth import *
52
52
  from decimal import Decimal as DEC
53
+ from radboy.DB.lsToday import *
53
54
  def today():
54
55
  dt=datetime.now()
55
56
  return date(dt.year,dt.month,dt.day)
@@ -5433,6 +5434,12 @@ where:
5433
5434
  'exec':lambda self=self,entry=entry: self.getTotalwithBreakDownForScan(short=True,nonZero=True),
5434
5435
  }
5435
5436
  count+=1
5437
+ self.options[str(uuid1())]={
5438
+ 'cmds':["#"+str(count),f"lookup_non0","system list","sysls","sys ls","sys-ls"],
5439
+ 'desc':f'list system files',
5440
+ 'exec':lambda self=self: systemls(),
5441
+ }
5442
+ count+=1
5436
5443
  self.options["b1"]={
5437
5444
  'cmds':["#"+str(count),f"barcode_first","b1"],
5438
5445
  'desc':f'list mode where barcode is asked first',
radboy/__init__.py CHANGED
@@ -1 +1 @@
1
- VERSION='0.0.753'
1
+ VERSION='0.0.754'
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: radboy
3
- Version: 0.0.753
3
+ Version: 0.0.754
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=5rFBIurTR96rU4RMKXBsM2HikzhznDqoSrKzuuEnAkw,17
8
+ radboy/__init__.py,sha256=NZU6ooZcsCQMOWOV0Yt9USn5G80KteTga4qECQVEii0,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
@@ -97,6 +97,7 @@ radboy/DB/blankDataFile.py,sha256=YX_05Usi71UpDkZN9UTMYwUipbTndTAtEgqzBEga0kE,92
97
97
  radboy/DB/config.py,sha256=bvu43dUl1_yO3Zq3gsLuenGUgJSiS3S9Cs6ppFEvZbg,239
98
98
  radboy/DB/db.py,sha256=F2l9oQ4EqzTdiu7LBnmW6Fqv65ivsQ3CUUcjvjVMEv8,263344
99
99
  radboy/DB/glossary_db.py,sha256=1_qxeEpjjEtpWB_eDjsgJisimLv7OBm75MuqM-Lt6zg,28218
100
+ radboy/DB/lsToday.py,sha256=eCTXcGL3jwzJBFHE0-pDjwNaccwDI1G72okaLn9Q2rw,9038
100
101
  radboy/DB/masterLookup.py,sha256=DBaM2uscG3_X5dek49wjdnOzhrjWhKgvOEz_umdz0mY,4566
101
102
  radboy/DB/msg.txt,sha256=YxWed6A6tuP1djJ5QPS2Rz3ING4TKKf8kUiCCPtzHXE,7937
102
103
  radboy/DB/rad_types.py,sha256=W1JO0IC1Cs8SA6cmfmqOaGgyJFW0EojDFtz8gvxJcBc,4806
@@ -352,7 +353,7 @@ radboy/SystemSettings/__pycache__/__init__.cpython-312.pyc,sha256=aIzp4Po0t8EhSA
352
353
  radboy/SystemSettings/__pycache__/__init__.cpython-313.pyc,sha256=QFDuoidxMWsGVLsy5lN-rDs6TP8nKJ4yyCyiamNOhwo,156
353
354
  radboy/TasksMode/ReFormula.py,sha256=REDRJYub-OEOE6g14oRQOLOQwv8pHqVJy4NQk3CCM90,2255
354
355
  radboy/TasksMode/SetEntryNEU.py,sha256=mkV9zAZe0lfpu_3coMuIILEzh6PgCNi7g9lJ4yDUpYM,20596
355
- radboy/TasksMode/Tasks.py,sha256=61OJ_9npZiAxqHxQAk8M0vo2mx0igFMUJ8BcS4uEJwM,361927
356
+ radboy/TasksMode/Tasks.py,sha256=cXMwh9ozenlLnew3TxOSO8ogdLMih44ATKdvgB2jv9E,362241
356
357
  radboy/TasksMode/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
357
358
  radboy/TasksMode/__pycache__/ReFormula.cpython-311.pyc,sha256=QEG3PwVw-8HTd_Mf9XbVcxU56F1fC9yBqWXYPLC39DU,4865
358
359
  radboy/TasksMode/__pycache__/ReFormula.cpython-312.pyc,sha256=aX7BWm2PPjCTnxsbGUitR-2h9hq4AjaBiHMrUXvIl0Y,3967
@@ -361,7 +362,7 @@ radboy/TasksMode/__pycache__/SetEntryNEU.cpython-312.pyc,sha256=pCdFj61aPKkHL6Sv
361
362
  radboy/TasksMode/__pycache__/SetEntryNEU.cpython-313.pyc,sha256=jMSrUX9pvEhf67uVwrPE2ZlBCems8V7tHJ1LcC15ovU,24603
362
363
  radboy/TasksMode/__pycache__/Tasks.cpython-311.pyc,sha256=6QOTJnLiXSKdF81hkhy3vyrz49PPhS20s5_0X52g3Hw,131120
363
364
  radboy/TasksMode/__pycache__/Tasks.cpython-312.pyc,sha256=hyJwdaYaaRLdcrNxgg36diJ5iijX5_3I0UAORsj-6LU,310295
364
- radboy/TasksMode/__pycache__/Tasks.cpython-313.pyc,sha256=s2eUcyyo1NBBbGjzXDcZt4kKxYo2j1cCRKuEz3XGCpI,437428
365
+ radboy/TasksMode/__pycache__/Tasks.cpython-313.pyc,sha256=ivLl31WL6Ca8aGjUraMUTuMHqbYOjGTbAO6-G4U0DFw,437836
365
366
  radboy/TasksMode/__pycache__/__init__.cpython-311.pyc,sha256=PKV1JbihEacm639b53bZozRQvcllSkjGP3q8STVMxF4,234
366
367
  radboy/TasksMode/__pycache__/__init__.cpython-312.pyc,sha256=ERgnEvRMiGSecWp1BpNzLdSq_SdKw7GvFWUvUM7bLVw,272
367
368
  radboy/TasksMode/__pycache__/__init__.cpython-313.pyc,sha256=lvsTxukyvGKB3C0rdF9dQi_bvVh6ceDVINfwcuIsd0s,151
@@ -408,7 +409,7 @@ radboy/__pycache__/Run.cpython-311.pyc,sha256=G_UEfMtkLRjR6ZpGA_BJzGenuaCcP469Y9
408
409
  radboy/__pycache__/Run.cpython-312.pyc,sha256=v4xolc3mHyla991XhpYBUbBHYT0bnJ1gE-lkFoQ4GFA,241
409
410
  radboy/__pycache__/__init__.cpython-311.pyc,sha256=R-DVbUioMOW-Fnaq7FpT5F1a5p0q3b_RW-HpLRArCAY,242
410
411
  radboy/__pycache__/__init__.cpython-312.pyc,sha256=FsFzLXOlTK8_7ixoPZzakkR8Wibt-DvXLFh-oG2QlPw,164
411
- radboy/__pycache__/__init__.cpython-313.pyc,sha256=mxgsH4btBDzKXlvu182CJIUqORR_yrvLb4HUgj_8kgQ,165
412
+ radboy/__pycache__/__init__.cpython-313.pyc,sha256=tEdFVfDpncN8oFOHdmmEblvnny3jYa9i2PzTSZO0ks8,165
412
413
  radboy/__pycache__/__init__.cpython-39.pyc,sha256=D48T6x6FUeKPfubo0sdS_ZUut3FmBvPMP7qT6rYBZzU,275
413
414
  radboy/__pycache__/possibleCode.cpython-311.pyc,sha256=zFiHyzqD8gUnIWu4vtyMYIBposiRQqaRXfcT_fOl4rU,20882
414
415
  radboy/__pycache__/possibleCode.cpython-312.pyc,sha256=tk_CO-AcsO3YZj5j6vEsw3g37UmEzWc5YgeWEoJEUg4,27922
@@ -436,7 +437,7 @@ radboy/tkGui/Images/__pycache__/__init__.cpython-311.pyc,sha256=tXBYpqbOlZ24B1BI
436
437
  radboy/tkGui/__pycache__/BeginnersLuck.cpython-311.pyc,sha256=xLQOnV1wuqHGaub16mPX0dDMGU9ryCeLtNz5e517_GE,3004
437
438
  radboy/tkGui/__pycache__/Review.cpython-311.pyc,sha256=wKq24iM6Xe2OampgZ7-8U6Nvmgs2y-qWOrGwtWhc75k,4047
438
439
  radboy/tkGui/__pycache__/__init__.cpython-311.pyc,sha256=BX7DBn5qbvKTvlrKOP5gzTBPBTeTgSMjBW6EMl7N8e0,230
439
- radboy-0.0.753.dist-info/METADATA,sha256=13fOAM5ZXwQRZ6SgtuyhYTtFSNLGre6FfLWsbYqUDaM,1920
440
- radboy-0.0.753.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
441
- radboy-0.0.753.dist-info/top_level.txt,sha256=mlM0RWMUxGo1YHnlLmYrHOgGdK4XNRpr7nMFD5lR56c,7
442
- radboy-0.0.753.dist-info/RECORD,,
440
+ radboy-0.0.754.dist-info/METADATA,sha256=tbqCbIAZdJZjDhJeCjgH4fITt9GUIdVSFIzd9SLvZEI,1920
441
+ radboy-0.0.754.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
442
+ radboy-0.0.754.dist-info/top_level.txt,sha256=mlM0RWMUxGo1YHnlLmYrHOgGdK4XNRpr7nMFD5lR56c,7
443
+ radboy-0.0.754.dist-info/RECORD,,