radboy 0.0.805__py3-none-any.whl → 0.0.807__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/GEMINI.py +146 -0
- radboy/HowDoYouDefineMe/CoreEmotions.py +263 -9
- radboy/TasksMode/Tasks.py +36 -0
- radboy/TasksMode/__pycache__/Tasks.cpython-313.pyc +0 -0
- radboy/__init__.py +1 -1
- radboy/__pycache__/__init__.cpython-313.pyc +0 -0
- radboy/preloader/preloader.py +5 -0
- radboy/preloader/preloader_func.py +2 -1
- {radboy-0.0.805.dist-info → radboy-0.0.807.dist-info}/METADATA +1 -1
- {radboy-0.0.805.dist-info → radboy-0.0.807.dist-info}/RECORD +12 -11
- {radboy-0.0.805.dist-info → radboy-0.0.807.dist-info}/WHEEL +0 -0
- {radboy-0.0.805.dist-info → radboy-0.0.807.dist-info}/top_level.txt +0 -0
radboy/DB/GEMINI.py
ADDED
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
'''Everything in this file is generated by an AI, not me'''
|
|
2
|
+
|
|
3
|
+
import math
|
|
4
|
+
from typing import Optional
|
|
5
|
+
|
|
6
|
+
class GEMINI_SequencePredictor:
|
|
7
|
+
"""
|
|
8
|
+
Analyzes the specific sequence [1.25, 3, 4, 5, 7, 10, ..., 20].
|
|
9
|
+
|
|
10
|
+
The class generates the full finite sequence and provides a method to find
|
|
11
|
+
the next value in the sequence based on an arbitrary input 'x', including
|
|
12
|
+
extrapolation if 'x' exceeds the defined sequence limit (20.0).
|
|
13
|
+
"""
|
|
14
|
+
def __init__(self):
|
|
15
|
+
"""
|
|
16
|
+
Generates the complete sequence, which is stored internally.
|
|
17
|
+
The pattern: differences increase by 1 (+1, +2, +3, ...) starting
|
|
18
|
+
from the 4th term (5), and the sequence is capped at 20.
|
|
19
|
+
"""
|
|
20
|
+
# 1. Initialize with the known starting numbers
|
|
21
|
+
sequence: list[float] = [1.25, 3.0, 4.0]
|
|
22
|
+
current_value = 4.0
|
|
23
|
+
difference = 1 # Initial difference for the pattern (4 + 1 = 5)
|
|
24
|
+
|
|
25
|
+
# 2. Loop to apply the increasing difference pattern up to the limit 20
|
|
26
|
+
while True:
|
|
27
|
+
next_value = current_value + difference
|
|
28
|
+
|
|
29
|
+
# Check the stopping condition: 20 must be the final number.
|
|
30
|
+
if next_value >= 20.0:
|
|
31
|
+
# If 20 is not already the last element, add it and stop.
|
|
32
|
+
if sequence[-1] != 20.0:
|
|
33
|
+
sequence.append(20.0)
|
|
34
|
+
break
|
|
35
|
+
else:
|
|
36
|
+
# Add the number and increment the difference for the next step.
|
|
37
|
+
sequence.append(next_value)
|
|
38
|
+
current_value = next_value
|
|
39
|
+
difference += 1
|
|
40
|
+
|
|
41
|
+
# The final sequence: [1.25, 3.0, 4.0, 5.0, 7.0, 10.0, 14.0, 19.0, 20.0]
|
|
42
|
+
self.sequence = sequence
|
|
43
|
+
# Store the state for extrapolation: The last natural pattern step was 19.0,
|
|
44
|
+
# and the next difference *should* be 6.
|
|
45
|
+
self.last_natural_term = 19.0
|
|
46
|
+
self.next_difference_start = 6.0
|
|
47
|
+
|
|
48
|
+
print(f"Generated Finite Sequence: {self.sequence}")
|
|
49
|
+
|
|
50
|
+
def _extrapolate_next_value(self, input_x: float) -> float:
|
|
51
|
+
"""
|
|
52
|
+
Handles the case where input_x > 20.0 by continuing the sequence pattern
|
|
53
|
+
(difference +1) until the predicted term is greater than input_x.
|
|
54
|
+
"""
|
|
55
|
+
current_val = self.last_natural_term
|
|
56
|
+
difference = self.next_difference_start
|
|
57
|
+
|
|
58
|
+
while True:
|
|
59
|
+
next_val = current_val + difference
|
|
60
|
+
|
|
61
|
+
if next_val > input_x:
|
|
62
|
+
# This is the next theoretical sequence number that follows input_x
|
|
63
|
+
print(f"(Extrapolated Anchor: {current_val} with Diff {difference}, Prediction: {next_val})")
|
|
64
|
+
return next_val
|
|
65
|
+
|
|
66
|
+
current_val = next_val
|
|
67
|
+
difference += 1.0
|
|
68
|
+
|
|
69
|
+
def get_next_sequence_value(self, input_x: float) -> float:
|
|
70
|
+
"""
|
|
71
|
+
Finds the closest match 'c' to 'input_x' in the sequence and returns
|
|
72
|
+
the next value. If 'input_x' is greater than 20.0, it extrapolates the
|
|
73
|
+
sequence pattern to find the prediction.
|
|
74
|
+
|
|
75
|
+
Args:
|
|
76
|
+
input_x (float): The user's arbitrary input number.
|
|
77
|
+
|
|
78
|
+
Returns:
|
|
79
|
+
float: The next value in the sequence after the anchor point.
|
|
80
|
+
"""
|
|
81
|
+
# --- CASE 1: INPUT EXCEEDS THE FINITE SEQUENCE LIMIT (20.0) ---
|
|
82
|
+
if input_x > 20.0:
|
|
83
|
+
print(f"Input {input_x} exceeds the sequence limit (20.0). Entering extrapolation mode.")
|
|
84
|
+
return self._extrapolate_next_value(input_x)
|
|
85
|
+
|
|
86
|
+
# --- CASE 2: INPUT IS WITHIN THE FINITE SEQUENCE (<= 20.0) ---
|
|
87
|
+
|
|
88
|
+
anchor_index = 0
|
|
89
|
+
min_difference = abs(input_x - self.sequence[0])
|
|
90
|
+
|
|
91
|
+
# 1. Find the Anchor Point (closest match in the sequence)
|
|
92
|
+
for i, number in enumerate(self.sequence):
|
|
93
|
+
current_difference = abs(input_x - number)
|
|
94
|
+
|
|
95
|
+
# Tie-breaker logic: Use "<=" to favor the larger number.
|
|
96
|
+
if current_difference < min_difference:
|
|
97
|
+
min_difference = current_difference
|
|
98
|
+
anchor_index = i
|
|
99
|
+
elif current_difference == min_difference:
|
|
100
|
+
# Explicitly ensure the larger value is chosen in case of a tie
|
|
101
|
+
if number > self.sequence[anchor_index]:
|
|
102
|
+
anchor_index = i
|
|
103
|
+
|
|
104
|
+
# 2. Determine the Next Value
|
|
105
|
+
|
|
106
|
+
anchor_value = self.sequence[anchor_index]
|
|
107
|
+
print(f"Input {input_x} anchors at {anchor_value} (Index {anchor_index}).")
|
|
108
|
+
|
|
109
|
+
# If the anchor is the last element (20.0), return 20.0 as the "next"
|
|
110
|
+
# since the finite list ends here.
|
|
111
|
+
if anchor_index == len(self.sequence) - 1:
|
|
112
|
+
print("Anchor is the final term. Returning the final term.")
|
|
113
|
+
return anchor_value
|
|
114
|
+
else:
|
|
115
|
+
# Otherwise, return the element at the next index
|
|
116
|
+
next_value = self.sequence[anchor_index + 1]
|
|
117
|
+
return next_value
|
|
118
|
+
|
|
119
|
+
# --- Example Usage ---
|
|
120
|
+
'''
|
|
121
|
+
if __name__ == "__main__":
|
|
122
|
+
predictor = SequencePredictor()
|
|
123
|
+
print("\n--- Next Value Predictions ---")
|
|
124
|
+
|
|
125
|
+
# Example 1: Standard case (Input 7.0)
|
|
126
|
+
input1 = 7.0
|
|
127
|
+
next1 = predictor.get_next_sequence_value(input1)
|
|
128
|
+
print(f"Next value after {input1} is: {next1}\n") # Expected: 10.0 (Anchors at 7.0)
|
|
129
|
+
|
|
130
|
+
# Example 2: Extrapolation Case 1 (Input 21.0 > 20.0)
|
|
131
|
+
# Theoretical sequence continues: 19 + 6 = 25. Since 25 > 21, the prediction is 25.
|
|
132
|
+
input2 = 21.0
|
|
133
|
+
next2 = predictor.get_next_sequence_value(input2)
|
|
134
|
+
print(f"Next value after {input2} is: {next2}\n") # Expected: 25.0
|
|
135
|
+
|
|
136
|
+
# Example 3: Extrapolation Case 2 (Input 26.0)
|
|
137
|
+
# Theoretical sequence continues: 19 + 6 = 25. 25 < 26. Next step: 25 + 7 = 32.
|
|
138
|
+
input3 = 26.0
|
|
139
|
+
next3 = predictor.get_next_sequence_value(input3)
|
|
140
|
+
print(f"Next value after {input3} is: {next3}\n") # Expected: 32.0
|
|
141
|
+
|
|
142
|
+
# Example 4: Edge Case (Input 19.5 - Closest to 20.0)
|
|
143
|
+
input4 = 19.5
|
|
144
|
+
next4 = predictor.get_next_sequence_value(input4)
|
|
145
|
+
print(f"Next value after {input4} is: {next4}\n") # Expected: 20.0 (Anchors at 20.0)
|
|
146
|
+
'''
|
|
@@ -1,14 +1,268 @@
|
|
|
1
1
|
from . import *
|
|
2
2
|
|
|
3
|
-
|
|
4
3
|
@dataclass
|
|
5
|
-
class
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
class CookingConversion(BASE,Template):
|
|
5
|
+
ccid=Column(Integer,primary_key=True)
|
|
6
|
+
__tablename__="CookingConversions"
|
|
7
|
+
Mass_with_unit=Column(String,default='')
|
|
8
|
+
ResourceName=Column(String,default='butter')
|
|
9
|
+
Converts_To_Volume_With_Unit=Column(String,default='')
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
try:
|
|
13
|
+
CookingConversion.metadata.create_all(ENGINE)
|
|
14
|
+
except Exception as e:
|
|
15
|
+
CookingConversion.__table__.drop(ENGINE)
|
|
16
|
+
CookingConversion.metadata.create_all(ENGINE)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class CC_Ui:
|
|
20
|
+
def fix_table(self):
|
|
21
|
+
CookingConversion.__table__.drop(ENGINE)
|
|
22
|
+
CookingConversion.metadata.create_all(ENGINE)
|
|
23
|
+
|
|
24
|
+
def new_conversion(self):
|
|
25
|
+
try:
|
|
26
|
+
excludes=['ccid',]
|
|
27
|
+
fields={
|
|
28
|
+
i.name:{
|
|
29
|
+
'default':None,
|
|
30
|
+
'type':str(i.type).lower()
|
|
31
|
+
} for i in CookingConversion.__table__.columns if i.name not in excludes
|
|
32
|
+
}
|
|
33
|
+
fb=FormBuilder(data=fields)
|
|
34
|
+
if fb is None:
|
|
35
|
+
return
|
|
36
|
+
|
|
37
|
+
with Session(ENGINE) as session:
|
|
38
|
+
try:
|
|
39
|
+
ncc=CookingConversion()
|
|
40
|
+
for k in fb:
|
|
41
|
+
setattr(ncc,k,fb[k])
|
|
42
|
+
session.add(ncc)
|
|
43
|
+
session.commit()
|
|
44
|
+
session.refresh(ncc)
|
|
45
|
+
print(ncc)
|
|
46
|
+
except Exception as ee:
|
|
47
|
+
print(ee)
|
|
48
|
+
session.rollback()
|
|
49
|
+
session.commit()
|
|
50
|
+
except Exception as e:
|
|
51
|
+
print(e)
|
|
52
|
+
|
|
53
|
+
def edit_cvt(self,cvt):
|
|
54
|
+
with Session(ENGINE) as session:
|
|
55
|
+
fields={i.name:{'default':getattr(cvt,i.name),'type':str(i.type).lower()} for i in cvt.__table__.columns}
|
|
56
|
+
fb=FormBuilder(data=fields,passThruText="Edit CookingConversion")
|
|
57
|
+
|
|
58
|
+
r=session.query(CookingConversion).filter(CookingConversion.ccid==cvt.ccid).first()
|
|
59
|
+
for i in fb:
|
|
60
|
+
setattr(r,i,fb[i])
|
|
61
|
+
session.commit()
|
|
62
|
+
session.refresh(r)
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
def search_conversion(self,menu=False):
|
|
67
|
+
try:
|
|
68
|
+
excludes=['ccid',]
|
|
69
|
+
fields={
|
|
70
|
+
i.name:{
|
|
71
|
+
'default':None,
|
|
72
|
+
'type':str(i.type).lower()
|
|
73
|
+
} for i in CookingConversion.__table__.columns if i.name not in excludes
|
|
74
|
+
}
|
|
75
|
+
fb=FormBuilder(data=fields)
|
|
76
|
+
if fb is None:
|
|
77
|
+
return
|
|
78
|
+
|
|
79
|
+
tmp={}
|
|
80
|
+
for i in fb:
|
|
81
|
+
if fb[i] is not None:
|
|
82
|
+
tmp[i]=fb[i]
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
FILTER=[]
|
|
86
|
+
for i in tmp:
|
|
87
|
+
try:
|
|
88
|
+
FILTER.append(getattr(CookingConversion,i).icontains(tmp[i]))
|
|
89
|
+
except Exception as e:
|
|
90
|
+
print(e)
|
|
91
|
+
|
|
92
|
+
with Session(ENGINE) as session:
|
|
93
|
+
try:
|
|
94
|
+
if len(FILTER) < 1:
|
|
95
|
+
query=session.query(CookingConversion)
|
|
96
|
+
else:
|
|
97
|
+
query=session.query(CookingConversion).filter(or_(*FILTER))
|
|
98
|
+
|
|
99
|
+
ordered=orderQuery(query,CookingConversion.ResourceName,inverse=True)
|
|
100
|
+
results=ordered.all()
|
|
101
|
+
cta=len(results)
|
|
102
|
+
display=[]
|
|
103
|
+
|
|
104
|
+
modified=True
|
|
105
|
+
while True:
|
|
106
|
+
da=False
|
|
107
|
+
for num,i in enumerate(results):
|
|
108
|
+
msg=std_colorize(f"{i}",num,cta)
|
|
109
|
+
if menu:
|
|
110
|
+
print(msg)
|
|
111
|
+
if not da:
|
|
112
|
+
action=Control(func=FormBuilderMkText,ptext=f"Delete All({Fore.light_red}delete all{Fore.light_yellow} or {Fore.light_red}da{Fore.light_yellow})/Delete({Fore.light_red}del{Fore.light_yellow})/Edit({Fore.light_red}ed{Fore.light_yellow})",helpText="edit or delete",data="string")
|
|
113
|
+
else:
|
|
114
|
+
action='da'
|
|
115
|
+
if action.lower() in ['delete','del']:
|
|
116
|
+
session.delete(i)
|
|
117
|
+
session.commit()
|
|
118
|
+
continue
|
|
119
|
+
elif action.lower() in ['ed','edit']:
|
|
120
|
+
self.edit_cvt(i)
|
|
121
|
+
session.refresh(results[num])
|
|
122
|
+
msg=std_colorize(f"{i}",num,cta)
|
|
123
|
+
elif action.lower() in ['u','use']:
|
|
124
|
+
print('not implemented!')
|
|
125
|
+
continue
|
|
126
|
+
elif action.lower() in ['da','delete all']:
|
|
127
|
+
da=True
|
|
128
|
+
session.delete(i)
|
|
129
|
+
session.commit()
|
|
130
|
+
else:
|
|
131
|
+
pass
|
|
132
|
+
|
|
133
|
+
try:
|
|
134
|
+
display.append(msg)
|
|
135
|
+
except Exception as e:
|
|
136
|
+
print(e)
|
|
137
|
+
break
|
|
138
|
+
if not da:
|
|
139
|
+
display='\n'.join(display)
|
|
140
|
+
print(display)
|
|
141
|
+
|
|
142
|
+
except Exception as ee:
|
|
143
|
+
print(ee)
|
|
144
|
+
except Exception as e:
|
|
145
|
+
print(e)
|
|
146
|
+
|
|
147
|
+
def findAndUse2(self):
|
|
148
|
+
with Session(ENGINE) as session:
|
|
149
|
+
cmd=Prompt.__init2__(None,func=FormBuilderMkText,ptext=f"{Fore.light_red}[FindAndUse2]{Fore.light_yellow}what cmd are your looking for?",helpText="type the cmd",data="string")
|
|
150
|
+
if cmd in ['d',None]:
|
|
151
|
+
return
|
|
152
|
+
else:
|
|
153
|
+
options=copy(self.options)
|
|
154
|
+
|
|
155
|
+
session.query(FindCmd).delete()
|
|
156
|
+
session.commit()
|
|
157
|
+
for num,k in enumerate(options):
|
|
158
|
+
stage=0
|
|
159
|
+
cmds=options[k]['cmds']
|
|
160
|
+
l=[]
|
|
161
|
+
l.extend(cmds)
|
|
162
|
+
l.append(options[k]['desc'])
|
|
163
|
+
cmdStr=' '.join(l)
|
|
164
|
+
cmd_string=FindCmd(CmdString=cmdStr,CmdKey=k)
|
|
165
|
+
session.add(cmd_string)
|
|
166
|
+
if num % 50 == 0:
|
|
167
|
+
session.commit()
|
|
168
|
+
session.commit()
|
|
169
|
+
session.flush()
|
|
170
|
+
|
|
171
|
+
results=session.query(FindCmd).filter(FindCmd.CmdString.icontains(cmd)).all()
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
ct=len(results)
|
|
175
|
+
if ct == 0:
|
|
176
|
+
print(f"No Cmd was found by {Fore.light_red}{cmd}{Style.reset}")
|
|
177
|
+
return
|
|
178
|
+
for num,x in enumerate(results):
|
|
179
|
+
msg=f"{Fore.light_yellow}{num}/{Fore.light_steel_blue}{num+1} of {Fore.light_red}{ct} -> {Fore.turquoise_4}{f'{Fore.light_yellow},{Style.reset}{Fore.turquoise_4}'.join(options[x.CmdKey]['cmds'])} - {Fore.green_yellow}{options[x.CmdKey]['desc']}"
|
|
180
|
+
print(msg)
|
|
181
|
+
select=Prompt.__init2__(None,func=FormBuilderMkText,ptext="which index?",helpText="the number farthest to the left before the /",data="integer")
|
|
182
|
+
if select in [None,'d']:
|
|
183
|
+
return
|
|
184
|
+
try:
|
|
185
|
+
ee=options[results[select].CmdKey]['exec']
|
|
186
|
+
if callable(ee):
|
|
187
|
+
ee()
|
|
188
|
+
except Exception as e:
|
|
189
|
+
print(e)
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
def __init__(self):
|
|
194
|
+
|
|
195
|
+
self.options={}
|
|
196
|
+
self.options[str(uuid1())]={
|
|
197
|
+
'cmds':generate_cmds(startcmd=["fix","fx"],endCmd=['tbl','table']),
|
|
198
|
+
'desc':'''
|
|
199
|
+
drop and regenerate CookingConversion Table
|
|
200
|
+
''',
|
|
201
|
+
'exec':self.fix_table
|
|
202
|
+
}
|
|
203
|
+
self.options[str(uuid1())]={
|
|
204
|
+
'cmds':generate_cmds(startcmd=["search","s","sch"],endCmd=['cvt','cvn','conversion']),
|
|
205
|
+
'desc':'''
|
|
206
|
+
search conversions
|
|
207
|
+
''',
|
|
208
|
+
'exec':self.search_conversion
|
|
209
|
+
}
|
|
210
|
+
self.options[str(uuid1())]={
|
|
211
|
+
'cmds':generate_cmds(startcmd=["search","s","sch"],endCmd=['mnu','menu','m']),
|
|
212
|
+
'desc':'''
|
|
213
|
+
search for and edit/use/delete cooking conversions that were stored
|
|
214
|
+
''',
|
|
215
|
+
'exec':lambda self=self:self.search_conversion(menu=True)
|
|
216
|
+
}
|
|
217
|
+
self.options[str(uuid1())]={
|
|
218
|
+
'cmds':['',],
|
|
219
|
+
'desc':f'',
|
|
220
|
+
'exec':print
|
|
221
|
+
}
|
|
222
|
+
#new methods() start
|
|
223
|
+
self.options[str(uuid1())]={
|
|
224
|
+
'cmds':['ncc','new cooking conversion','nw ckng cvt'],
|
|
225
|
+
'desc':f'save a new conversion',
|
|
226
|
+
'exec':self.new_conversion
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
#new methods() end
|
|
230
|
+
self.options[str(uuid1())]={
|
|
231
|
+
'cmds':['fcmd','findcmd','find cmd'],
|
|
232
|
+
'desc':f'Find {Fore.light_yellow}cmd{Fore.medium_violet_red} and excute for return{Style.reset}',
|
|
233
|
+
'exec':self.findAndUse2
|
|
234
|
+
}
|
|
235
|
+
self.DESCRIPTION=f'''
|
|
236
|
+
Review Cooking Conversions so you can get dat recipe fo gud. u good cheech?.
|
|
237
|
+
'''
|
|
238
|
+
|
|
239
|
+
self.options[str(uuid1())]={
|
|
240
|
+
'cmds':['desciption','describe me','what am i','help me','?+'],
|
|
241
|
+
'desc':f'print the module description',
|
|
242
|
+
'exec':lambda self=self:print(self.DESCRIPTION)
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
for num,i in enumerate(self.options):
|
|
246
|
+
if str(num) not in self.options[i]['cmds']:
|
|
247
|
+
self.options[i]['cmds'].append(str(num))
|
|
248
|
+
options=copy(self.options)
|
|
249
|
+
|
|
250
|
+
while True:
|
|
251
|
+
helpText=[]
|
|
252
|
+
for i in options:
|
|
253
|
+
msg=f"{Fore.light_green}{options[i]['cmds']}{Fore.light_red} -> {options[i]['desc']}{Style.reset}"
|
|
254
|
+
helpText.append(msg)
|
|
255
|
+
helpText='\n'.join(helpText)
|
|
256
|
+
|
|
257
|
+
cmd=Prompt.__init2__(None,func=FormBuilderMkText,ptext=f"{__class__.__name__}|Do What?:",helpText=helpText,data="string")
|
|
258
|
+
if cmd is None:
|
|
259
|
+
return None
|
|
260
|
+
result=None
|
|
261
|
+
for i in options:
|
|
262
|
+
els=[ii.lower() for ii in options[i]['cmds']]
|
|
263
|
+
if cmd.lower() in els:
|
|
264
|
+
print(i)
|
|
265
|
+
options[i]['exec']()
|
|
266
|
+
break
|
|
10
267
|
|
|
11
|
-
@dataclass
|
|
12
|
-
class EmotionCoreDB(BASE,Template):
|
|
13
|
-
pass
|
|
14
268
|
|
radboy/TasksMode/Tasks.py
CHANGED
|
@@ -51,6 +51,8 @@ from radboy.DB.SimpleScanner import SimpleScanner
|
|
|
51
51
|
from radboy.DB.NW.NetWorth import *
|
|
52
52
|
from decimal import Decimal as DEC
|
|
53
53
|
from radboy.DB.lsToday import *
|
|
54
|
+
from radboy.DB.GEMINI import *
|
|
55
|
+
|
|
54
56
|
def today():
|
|
55
57
|
dt=datetime.now()
|
|
56
58
|
return date(dt.year,dt.month,dt.day)
|
|
@@ -904,6 +906,35 @@ SALES TAX ON APPLICABLE TANGIBLE ITEMS = (PRICE + CRV) * TTL TAX RATE
|
|
|
904
906
|
print(e)
|
|
905
907
|
return result
|
|
906
908
|
|
|
909
|
+
def dollar_tree_multiprices_GEMINI():
|
|
910
|
+
zta=GEMINI_SequencePredictor()
|
|
911
|
+
prices=list(set([zta.get_next_sequence_value(i) for i in range(-5,20)]))
|
|
912
|
+
prices.insert(0,1.25)
|
|
913
|
+
htext=[]
|
|
914
|
+
cta=len(prices)
|
|
915
|
+
for num,i in enumerate(prices):
|
|
916
|
+
htext.append(std_colorize(i,num,cta))
|
|
917
|
+
|
|
918
|
+
htext='\n'.join(htext)
|
|
919
|
+
while True:
|
|
920
|
+
try:
|
|
921
|
+
print(htext)
|
|
922
|
+
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")
|
|
923
|
+
if idx is None:
|
|
924
|
+
return None
|
|
925
|
+
elif idx in ['d',]:
|
|
926
|
+
return prices[0]
|
|
927
|
+
|
|
928
|
+
if idx in range(0,cta):
|
|
929
|
+
return prices[idx]
|
|
930
|
+
else:
|
|
931
|
+
print(f"{Fore.orange_red_1}use a number within 0-{cta-1}!")
|
|
932
|
+
continue
|
|
933
|
+
|
|
934
|
+
except Exception as e:
|
|
935
|
+
print(e)
|
|
936
|
+
return result
|
|
937
|
+
|
|
907
938
|
def tax_rate_from_oldPriceAndNewPrice():
|
|
908
939
|
result=None
|
|
909
940
|
print('tax_rate_from_oldPriceAndNewPrice()')
|
|
@@ -993,6 +1024,11 @@ SALES TAX ON APPLICABLE TANGIBLE ITEMS = (PRICE + CRV) * TTL TAX RATE
|
|
|
993
1024
|
'desc':f'{Fore.light_yellow}Dollar($tree) Tree {Fore.medium_violet_red}multi-price selector{Style.reset}',
|
|
994
1025
|
'exec':dollar_tree_multiprices
|
|
995
1026
|
},
|
|
1027
|
+
f'{uuid1()}':{
|
|
1028
|
+
'cmds':generate_cmds(startcmd=['dt g','dollar tree gemini','$tree gmni','dollar-tree-gemini'],endCmd=['prcs','prices','prces','mpc',]),
|
|
1029
|
+
'desc':f'{Fore.light_yellow}Dollar($tree) Tree {Fore.medium_violet_red}multi-price selector ; {Fore.orange_red_1}This bit was generated using GOOGLE GEMINI.{Style.reset}',
|
|
1030
|
+
'exec':dollar_tree_multiprices_GEMINI
|
|
1031
|
+
},
|
|
996
1032
|
f'{uuid1()}':{
|
|
997
1033
|
'cmds':generate_cmds(startcmd=['salary','sal','slry'],endCmd=['2hours','2hr','tohr','tohour','-hour','-hr']),
|
|
998
1034
|
'desc':f'{Fore.light_yellow}Annual Salary{Fore.medium_violet_red} from hourly wage rate and hours worked{Style.reset}',
|
|
Binary file
|
radboy/__init__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
VERSION='0.0.
|
|
1
|
+
VERSION='0.0.807'
|
|
Binary file
|
radboy/preloader/preloader.py
CHANGED
|
@@ -12,6 +12,11 @@ preloader={
|
|
|
12
12
|
'desc':f'find the volume of height*width*length using pint to normalize the values',
|
|
13
13
|
'exec':volume_pint
|
|
14
14
|
},
|
|
15
|
+
f'{uuid1()}':{
|
|
16
|
+
'cmds':['cooking units',],
|
|
17
|
+
'desc':f'review conversions for the kitchen',
|
|
18
|
+
'exec':CC_Ui
|
|
19
|
+
},
|
|
15
20
|
f'{uuid1()}':{
|
|
16
21
|
'cmds':['self-inductance pint',],
|
|
17
22
|
'desc':f'find self-inductance using pint to normalize the values for self-inductance=relative_permeability*(((turns**2)*area)/length)*1.26e-6',
|
|
@@ -28,6 +28,7 @@ import decimal
|
|
|
28
28
|
from decimal import localcontext,Decimal
|
|
29
29
|
unit_registry=pint.UnitRegistry()
|
|
30
30
|
import math
|
|
31
|
+
from radboy.HowDoYouDefineMe.CoreEmotions import *
|
|
31
32
|
|
|
32
33
|
def volume():
|
|
33
34
|
with localcontext() as ctx:
|
|
@@ -1639,4 +1640,4 @@ def ndtp():
|
|
|
1639
1640
|
msg='\n\n'.join(msg)
|
|
1640
1641
|
return msg
|
|
1641
1642
|
except Exception as e:
|
|
1642
|
-
print(e)
|
|
1643
|
+
print(e)
|
|
@@ -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=
|
|
8
|
+
radboy/__init__.py,sha256=ho3WFDWrWD3mVAXgqiE3sh65QiaHoLasFNk0Wnu-l2c,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,6 +83,7 @@ radboy/DB/DatePicker.py,sha256=B75mDtXQrkHRCpoU9TJsaBVvkK37ykMaJyaiqGOo4dM,18334
|
|
|
83
83
|
radboy/DB/DisplayItemDb.py,sha256=uVvrNyFyBuKvrw-BEPXKYvfa-QWyFN5ahESi2l6vUUA,52046
|
|
84
84
|
radboy/DB/EstimatedPayCalendarWorkSheet.txt,sha256=GOjRSmGxFoNTdAnpPe2kGv7CkXDrh0Mee01HslamGbo,17173
|
|
85
85
|
radboy/DB/ExerciseTracker.py,sha256=hs_RG7YWFsu8KYkMe2PIKtTyxl9MzbnWXuTCXffF3K8,38219
|
|
86
|
+
radboy/DB/GEMINI.py,sha256=kN75rQuCkDq6IgnXTNPWyxGtRulO68qf5RdP-eJj3kc,6057
|
|
86
87
|
radboy/DB/LetterWriter.py,sha256=0B14GB-hJK2Xf_TFASriOELFygiI1LwkSb__R3tUiU0,2631
|
|
87
88
|
radboy/DB/OrderedAndRxd.py,sha256=v_vrTOiTDhKqT5KErK6MOG_u4Nt7ug2MoLTHvAnm88M,19450
|
|
88
89
|
radboy/DB/PayDay.py,sha256=H2kPGvBCDkMOz7lbxQhYtUt_oAInpxi37Q6MFrah98I,8710
|
|
@@ -226,7 +227,7 @@ radboy/HealthLog/__pycache__/HealthLog.cpython-312.pyc,sha256=hTo4o7jo9L2yqPZgzu
|
|
|
226
227
|
radboy/HealthLog/__pycache__/HealthLog.cpython-313.pyc,sha256=efratl-5_nmAASdwo_h9hexnCjZ4RF4kUdNuDhK-2i0,81647
|
|
227
228
|
radboy/HealthLog/__pycache__/__init__.cpython-312.pyc,sha256=yZrYKBk31pGSjCRqmqzpX409iw-muC1zsNO2ObqkGlY,272
|
|
228
229
|
radboy/HealthLog/__pycache__/__init__.cpython-313.pyc,sha256=cqdZbEJKq9XVoVqDAwsW0pwwBBGSerJNWGlST3YVR3g,151
|
|
229
|
-
radboy/HowDoYouDefineMe/CoreEmotions.py,sha256=
|
|
230
|
+
radboy/HowDoYouDefineMe/CoreEmotions.py,sha256=p0__mRUSoITR6SEroMpyJIo4moZT3bSXhXW0C8sSfGU,10257
|
|
230
231
|
radboy/HowDoYouDefineMe/__init__.py,sha256=EoeneTf_YruvZqpEULT7cZwgZhgLXccXLtDEbdiqrIE,770
|
|
231
232
|
radboy/InListRestore/ILR.py,sha256=s8fbbHLKQSVJX1VaeyGE-vdIUGBEbOPX29kRIG2j2WY,16847
|
|
232
233
|
radboy/InListRestore/__init__.py,sha256=DajhhWD-xrWDSpdsNGu_yeuVd721u3Spp77VgdGrEe8,899
|
|
@@ -356,7 +357,7 @@ radboy/SystemSettings/__pycache__/__init__.cpython-312.pyc,sha256=aIzp4Po0t8EhSA
|
|
|
356
357
|
radboy/SystemSettings/__pycache__/__init__.cpython-313.pyc,sha256=QFDuoidxMWsGVLsy5lN-rDs6TP8nKJ4yyCyiamNOhwo,156
|
|
357
358
|
radboy/TasksMode/ReFormula.py,sha256=REDRJYub-OEOE6g14oRQOLOQwv8pHqVJy4NQk3CCM90,2255
|
|
358
359
|
radboy/TasksMode/SetEntryNEU.py,sha256=mkV9zAZe0lfpu_3coMuIILEzh6PgCNi7g9lJ4yDUpYM,20596
|
|
359
|
-
radboy/TasksMode/Tasks.py,sha256=
|
|
360
|
+
radboy/TasksMode/Tasks.py,sha256=4j3OGM-s-Vg63HbEX2CnAarzKcFv475_hljXBZA_El4,381079
|
|
360
361
|
radboy/TasksMode/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
361
362
|
radboy/TasksMode/__pycache__/ReFormula.cpython-311.pyc,sha256=QEG3PwVw-8HTd_Mf9XbVcxU56F1fC9yBqWXYPLC39DU,4865
|
|
362
363
|
radboy/TasksMode/__pycache__/ReFormula.cpython-312.pyc,sha256=aX7BWm2PPjCTnxsbGUitR-2h9hq4AjaBiHMrUXvIl0Y,3967
|
|
@@ -365,7 +366,7 @@ radboy/TasksMode/__pycache__/SetEntryNEU.cpython-312.pyc,sha256=pCdFj61aPKkHL6Sv
|
|
|
365
366
|
radboy/TasksMode/__pycache__/SetEntryNEU.cpython-313.pyc,sha256=jMSrUX9pvEhf67uVwrPE2ZlBCems8V7tHJ1LcC15ovU,24603
|
|
366
367
|
radboy/TasksMode/__pycache__/Tasks.cpython-311.pyc,sha256=6QOTJnLiXSKdF81hkhy3vyrz49PPhS20s5_0X52g3Hw,131120
|
|
367
368
|
radboy/TasksMode/__pycache__/Tasks.cpython-312.pyc,sha256=hyJwdaYaaRLdcrNxgg36diJ5iijX5_3I0UAORsj-6LU,310295
|
|
368
|
-
radboy/TasksMode/__pycache__/Tasks.cpython-313.pyc,sha256=
|
|
369
|
+
radboy/TasksMode/__pycache__/Tasks.cpython-313.pyc,sha256=p33x1LWn97JFHcnaeqpAx3gejYT25Q5i_80H7qCxqbY,454684
|
|
369
370
|
radboy/TasksMode/__pycache__/__init__.cpython-311.pyc,sha256=PKV1JbihEacm639b53bZozRQvcllSkjGP3q8STVMxF4,234
|
|
370
371
|
radboy/TasksMode/__pycache__/__init__.cpython-312.pyc,sha256=ERgnEvRMiGSecWp1BpNzLdSq_SdKw7GvFWUvUM7bLVw,272
|
|
371
372
|
radboy/TasksMode/__pycache__/__init__.cpython-313.pyc,sha256=lvsTxukyvGKB3C0rdF9dQi_bvVh6ceDVINfwcuIsd0s,151
|
|
@@ -412,7 +413,7 @@ radboy/__pycache__/Run.cpython-311.pyc,sha256=G_UEfMtkLRjR6ZpGA_BJzGenuaCcP469Y9
|
|
|
412
413
|
radboy/__pycache__/Run.cpython-312.pyc,sha256=v4xolc3mHyla991XhpYBUbBHYT0bnJ1gE-lkFoQ4GFA,241
|
|
413
414
|
radboy/__pycache__/__init__.cpython-311.pyc,sha256=R-DVbUioMOW-Fnaq7FpT5F1a5p0q3b_RW-HpLRArCAY,242
|
|
414
415
|
radboy/__pycache__/__init__.cpython-312.pyc,sha256=FsFzLXOlTK8_7ixoPZzakkR8Wibt-DvXLFh-oG2QlPw,164
|
|
415
|
-
radboy/__pycache__/__init__.cpython-313.pyc,sha256=
|
|
416
|
+
radboy/__pycache__/__init__.cpython-313.pyc,sha256=ae7rc1h7DgBJDObJxw8Od119-CfACshhWvaEioM8zgg,165
|
|
416
417
|
radboy/__pycache__/__init__.cpython-39.pyc,sha256=D48T6x6FUeKPfubo0sdS_ZUut3FmBvPMP7qT6rYBZzU,275
|
|
417
418
|
radboy/__pycache__/possibleCode.cpython-311.pyc,sha256=zFiHyzqD8gUnIWu4vtyMYIBposiRQqaRXfcT_fOl4rU,20882
|
|
418
419
|
radboy/__pycache__/possibleCode.cpython-312.pyc,sha256=tk_CO-AcsO3YZj5j6vEsw3g37UmEzWc5YgeWEoJEUg4,27922
|
|
@@ -422,8 +423,8 @@ radboy/__pycache__/t.cpython-311.pyc,sha256=bVszNkmfiyoNLd0WUc8aBJc2geGseW4O28cq
|
|
|
422
423
|
radboy/__pycache__/te.cpython-311.pyc,sha256=vI8eNUE5VVrfCQvnrJ7WuWpoKcLz-vVK3ifdUZ4UNhk,592
|
|
423
424
|
radboy/__pycache__/x.cpython-311.pyc,sha256=3jIvWoO5y5WqrL_hRmXNK8O0vO7DwJ4gufjm2b0V7VI,1963
|
|
424
425
|
radboy/preloader/__init__.py,sha256=lrGR0JF0dkDM8N9ORGUKH_MucUFx1-PI38YsvqS-wgA,926
|
|
425
|
-
radboy/preloader/preloader.py,sha256=
|
|
426
|
-
radboy/preloader/preloader_func.py,sha256=
|
|
426
|
+
radboy/preloader/preloader.py,sha256=HbNranfD3wx19DP1FTHNJl8Nd0CFID338rCjiOQzZ58,8155
|
|
427
|
+
radboy/preloader/preloader_func.py,sha256=XHYSe63K2V7HH2kJuiLiyKsaLFzI0_TO7s-Rnc7QXaw,58652
|
|
427
428
|
radboy/setCode/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
428
429
|
radboy/setCode/setCode.py,sha256=8UOf4okbx-Zane99odeoLAS_lfIt8pIaFomN7EtnnVA,5202
|
|
429
430
|
radboy/setCode/__pycache__/__init__.cpython-311.pyc,sha256=cJuP5rve6Wn7ZO789tixyOlyrHZQWsBxDn9oZGoG5WE,232
|
|
@@ -440,7 +441,7 @@ radboy/tkGui/Images/__pycache__/__init__.cpython-311.pyc,sha256=tXBYpqbOlZ24B1BI
|
|
|
440
441
|
radboy/tkGui/__pycache__/BeginnersLuck.cpython-311.pyc,sha256=xLQOnV1wuqHGaub16mPX0dDMGU9ryCeLtNz5e517_GE,3004
|
|
441
442
|
radboy/tkGui/__pycache__/Review.cpython-311.pyc,sha256=wKq24iM6Xe2OampgZ7-8U6Nvmgs2y-qWOrGwtWhc75k,4047
|
|
442
443
|
radboy/tkGui/__pycache__/__init__.cpython-311.pyc,sha256=BX7DBn5qbvKTvlrKOP5gzTBPBTeTgSMjBW6EMl7N8e0,230
|
|
443
|
-
radboy-0.0.
|
|
444
|
-
radboy-0.0.
|
|
445
|
-
radboy-0.0.
|
|
446
|
-
radboy-0.0.
|
|
444
|
+
radboy-0.0.807.dist-info/METADATA,sha256=3fuhQorNiJtwGzK3g1UuZPMaI5tPmE98MQxDj9rwaVU,1920
|
|
445
|
+
radboy-0.0.807.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
446
|
+
radboy-0.0.807.dist-info/top_level.txt,sha256=mlM0RWMUxGo1YHnlLmYrHOgGdK4XNRpr7nMFD5lR56c,7
|
|
447
|
+
radboy-0.0.807.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|