Can setup SMTP inside python itself but for better protection, setup sendmail with SMTP as in other post and then:
More focused module :
Or generic script:
A few Day-to-Day life tricks of Linux.
Can setup SMTP inside python itself but for better protection, setup sendmail with SMTP as in other post and then:
More focused module :
Or generic script:
BQL is not part of daily limit. So we can use those to get the data even when limit is hit:
=@BQL.QUERY("get(" & TEXTJOIN(",", TRUE, B1:E1) & ") for(members('RAY Index'))","cols=7;rows=5919")
market_cap px_volume 30_day_average_volume_at_time factor_expected_daily_volume
this is a sample program using selenium to click a button:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
import time
# Set up Chrome options
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--headless") # Run in headless mode (no UI)
chrome_options.add_argument("--disable-gpu") # Disable GPU acceleration for headless mode
chrome_options.add_argument("--no-sandbox") # Disable sandboxing for headless mode
chrome_options.add_argument("--disable-dev-shm-usage") # Fix shared memory issues
# Set up ChromeDriver using Service (Selenium 4)
service = Service(ChromeDriverManager().install())
# Initialize WebDriver (Chrome) with the path to your ChromeDriver
driver = webdriver.Chrome(service=service, options=chrome_options)
try:
# Open the website
driver.get("http://omsprodapp:9900/oms/f#ListedWrapper")
# Wait for the page to load (you might need to adjust this)
time.sleep(5)
# Find the "Blotter All" button by its ID and click it
blotter_button = driver.find_element(By.ID, "blotAllButt")
blotter_button.click()
# Wait for the action to complete (adjust the sleep if needed)
time.sleep(2)
print("Successfully clicked 'Blotter All'!")
finally:
# Close the browser after the task is completed
driver.quit()
#!/bin/bash
Win + R -> "control access.cpl"
Make the mouse easier to use
UnCheck "Prevent windows from being automatically arranged"
If you want to load .env file before running a command in bash, we can use following utility. (Can use the just the command as well.)
14:54:00 harshal@HP:~$ set -a; source ~/.env; set +a; CMD
or
14:55:42 harshal@HP:~$ cat ~/load_dot_env.sh
set -a; source ~/.env; set +a
14:55:47 harshal@HP:~$ source ~/load_dot_env.sh
14:55:49 harshal@HP:~$
Typically, we start Citrix with this command:
/opt/Citrix/ICAClient/selfservice
But I was getting this error :
harsshal@HP:~$ /opt/Citrix/ICAClient/selfservice
/opt/Citrix/ICAClient/selfservice: error while loading shared libraries: libwebkit2gtk-4.0.so.37: cannot open shared object file: No such file or directory
But followed these steps and then it worked:
sudo add-apt-repository -y "deb http://gb.archive.ubuntu.com/ubuntu jammy main"
sudo apt update
sudo apt install libwebkit2gtk-4.0-dev
To enable middle click, Change the configuration file :
sudo vim /opt/Citrix/ICAClient/config/All_Regions.ini:
MouseSendsControlV=False
volume.ahk
#Requires AutoHotkey v2.0
Volume_Down::SoundSetVolume "-10"
Volume_Up::SoundSetVolume "+10"
Volume_Mute::SoundSetMute "-1"
mouse.ahk
#Requires AutoHotkey v2.0waitTime := 5 ; Number of minutes to wait
Loop {
Sleep waitTime * 60 * 1000
MouseMove 10, 0, 20, "R"
MouseMove -10, 0, 20, "R"
}
#Requires AutoHotkey v2.0 ; Ensure the script runs with AutoHotkey v2SetTimer RunCommand, 3600000 ; Set a timer to run every 1 hour (3600000 milliseconds)RunCommand(){currentTime := FormatTime("HH") ; Corrected FormatTime callif ((currentTime >= 7 and currentTime <= 15) or currentTime = 17) ; Check if it's between 7 AM - 3 PM or exactly 5 PM{Run("C:/Users/hpatil/AppData/Local/Microsoft/WindowsApps/python.exe c:/Users/hpatil/webdr.py")}}
or
#Requires AutoHotkey v2.0 ; Ensure the script runs with AutoHotkey v2
SetTimer RunCommand, 60000 ; Run every 60 seconds (1 minute)
RunCommand()
{
run_times := ["0715", "0815", "1000", "1340", "1500", "1700"] ; Define allowed times
currentTime := FormatTime(A_Now, "HHmm") ; Get current time in HHMM format
if HasVal(run_times, currentTime) ; Check if currentTime is in the array
{
Run("C:/Users/hpatil/AppData/Local/Microsoft/WindowsApps/python.exe c:/Users/hpatil/webdr.py")
}
}
HasVal(haystack, needle)
{
if !IsObject(haystack) ; Ensure it's an array before looping
throw Error("Bad haystack!") ; Use `Error` instead of `Exception`
for value in haystack
if (value = needle)
return true ; Return true if found
return false ; Return false if not found
}