Bump a few things
This commit is contained in:
parent
23d7c0d52f
commit
ce836a568c
|
|
@ -0,0 +1,91 @@
|
||||||
|
#!/bin/python
|
||||||
|
|
||||||
|
import subprocess
|
||||||
|
import re
|
||||||
|
|
||||||
|
# Dictionary for symbol conversion to LaTeX format
|
||||||
|
latex_symbols = {
|
||||||
|
"Ω": r"\Omega",
|
||||||
|
"ohm": r"\Omega",
|
||||||
|
"A": r"\text{A}",
|
||||||
|
"V": r"\text{V}",
|
||||||
|
"*": r"\cdot",
|
||||||
|
"N*m": r"\text{N} \cdot \text{m}",
|
||||||
|
"in*lb": r"\text{in} \cdot \text{lb}",
|
||||||
|
"||": r"\|",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def run_qalc(expression):
|
||||||
|
# Run qalc with the provided expression
|
||||||
|
result = subprocess.run(["qalc", expression], stdout=subprocess.PIPE, text=True)
|
||||||
|
output = result.stdout
|
||||||
|
return output
|
||||||
|
|
||||||
|
|
||||||
|
def format_expression_for_latex(expression):
|
||||||
|
# Replace the units and special characters in the input expression using the dictionary
|
||||||
|
for symbol, latex_symbol in latex_symbols.items():
|
||||||
|
expression = expression.replace(symbol, latex_symbol)
|
||||||
|
|
||||||
|
return expression
|
||||||
|
|
||||||
|
|
||||||
|
def format_result_for_latex(output):
|
||||||
|
# Get the last line of qalc output (the answer)
|
||||||
|
output = output.strip().split("\n")[-1]
|
||||||
|
|
||||||
|
# Check if the result is approximate (contains "≈")
|
||||||
|
approx_match = "≈" in output
|
||||||
|
|
||||||
|
# Extract the value and unit from the result
|
||||||
|
match = re.search(r"(≈|=)\s*([-\d\.]+)\s*(.*)", output)
|
||||||
|
if match:
|
||||||
|
_, value, unit = match.groups()
|
||||||
|
# Replace the units and special characters using the dictionary
|
||||||
|
unit = unit.strip()
|
||||||
|
for symbol, latex_symbol in latex_symbols.items():
|
||||||
|
unit = unit.replace(symbol, latex_symbol)
|
||||||
|
|
||||||
|
# Use = or \approx in LaTeX based on whether the result is approximate
|
||||||
|
equal_symbol = r"\approx" if approx_match else "="
|
||||||
|
|
||||||
|
# Only add \, if there's a unit
|
||||||
|
if unit:
|
||||||
|
latex_result = f"{equal_symbol} {value.strip()} \\, {unit}"
|
||||||
|
else:
|
||||||
|
latex_result = f"{equal_symbol} {value.strip()}"
|
||||||
|
|
||||||
|
return latex_result
|
||||||
|
return output # Fallback to returning the raw qalc output if no match
|
||||||
|
|
||||||
|
|
||||||
|
def copy_to_clipboard(text):
|
||||||
|
# Use wl-copy to send the text to the clipboard
|
||||||
|
subprocess.run(["wl-copy"], input=text, text=True)
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
# Input the qalc expression
|
||||||
|
expression = input("Enter qalc expression: ")
|
||||||
|
|
||||||
|
# Run qalc and get the result
|
||||||
|
qalc_output = run_qalc(expression)
|
||||||
|
|
||||||
|
# Format the input expression for LaTeX
|
||||||
|
latex_expression = format_expression_for_latex(expression)
|
||||||
|
|
||||||
|
# Format the output result for LaTeX
|
||||||
|
latex_result = format_result_for_latex(qalc_output)
|
||||||
|
|
||||||
|
# Combine both input expression and result for final LaTeX output
|
||||||
|
final_latex_output = f"${latex_expression} {latex_result}$"
|
||||||
|
|
||||||
|
# Print and copy to clipboard
|
||||||
|
print(f"Final LaTeX output:\n{final_latex_output}")
|
||||||
|
copy_to_clipboard(final_latex_output)
|
||||||
|
print("LaTeX result copied to clipboard!")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
10
.ssh/config
10
.ssh/config
|
|
@ -12,6 +12,10 @@ host edge
|
||||||
HostName 10.85.5.52
|
HostName 10.85.5.52
|
||||||
User joe
|
User joe
|
||||||
|
|
||||||
|
host bitwarden
|
||||||
|
HostName 10.85.3.83
|
||||||
|
User joe
|
||||||
|
|
||||||
host frigate
|
host frigate
|
||||||
IdentityFile ~/.ssh/hydroxonium
|
IdentityFile ~/.ssh/hydroxonium
|
||||||
HostName 10.85.3.22
|
HostName 10.85.3.22
|
||||||
|
|
@ -123,6 +127,12 @@ Host stdocker1
|
||||||
HostName 10.20.30.225
|
HostName 10.20.30.225
|
||||||
IdentityFile ~/.ssh/stdocker
|
IdentityFile ~/.ssh/stdocker
|
||||||
|
|
||||||
|
# Little mini-pc in the IOT room
|
||||||
|
Host pioremote
|
||||||
|
# This is actually a zerotier ip
|
||||||
|
HostName 10.144.0.15
|
||||||
|
IdentityFile ~/.ssh/silvertech/silvertech
|
||||||
|
|
||||||
# Work laptop
|
# Work laptop
|
||||||
Host workLaptop
|
Host workLaptop
|
||||||
HostName 10.144.236.234
|
HostName 10.144.236.234
|
||||||
|
|
|
||||||
1
.zshrc
1
.zshrc
|
|
@ -5,6 +5,7 @@ fortune -a
|
||||||
|
|
||||||
# Add my bins to path
|
# Add my bins to path
|
||||||
path+=("$HOME/.local/bin")
|
path+=("$HOME/.local/bin")
|
||||||
|
path+=("$HOME/Pictures/Furry/Scripts")
|
||||||
export PATH
|
export PATH
|
||||||
|
|
||||||
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
|
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue