do automate things on Linux
Project description
auto_everything
Linux(mainly ubuntu) automation
Installation
wget https://github.com/yingshaoxo/auto_everything/raw/master/env_setup.sh
sudo bash env_setup.sh
Magic
wget https://github.com/yingshaoxo/auto_everything/raw/master/demo/install_YouCompleteMe.py
sudo python3 install_YouCompleteMe.py
Get involved
You know, one man's work is kind of boring, so if you have any better way to implement some function, feel free to pull a request.
Basic API
Import
from auto_everything.base import Terminal
t = Terminal()
Run a command & get reply
reply = t.run_command('uname -a')
print(reply)
Run commands & wait until it was finished
commands = """
sudo apt update
uname -a
"""
t.run(commands, wait=True)
Run a program
t.run_program('firefox')
Run a python script
t.run_py('your_python_file_path')
Run a bash script
t.run_sh('your_.sh_file_path')
Detect if a program or script is running
status = t.is_running('terminal')
print(status)
Kill it
t.kill('terminal')
For simplify Python development
Turn Python Class
into a Command Line Program
py.fire(your_class_name)
Advanced API
Create(start) or Cancel(stop) a systemd serviece
from auto_everything.base import Super
s = Super(username="root")
s.service("service_name", "your_python_file_path")
System management
Get package list
from auto_everything.base import OS
_os = OS()
python_packages = _os.list_python_packages()
lubuntu_packages = _os.list_packages()
print(python_packages)
print(lubuntu_packages)
Install or Uninstall a Python package
from auto_everything.base import OS
_os = OS()
_os.install_python_package("any_package_name")
_os.uninstall_python_package("any_package_name")
Install or Uninstall a Lubuntu package
from auto_everything.base import OS
_os = OS()
_os.install_package("any_package_name")
_os.uninstall_package("any_package_name")
Anothers
Web automation
from auto_everything.web import Selenium
from time import sleep
my_selenium = Selenium("https://www.google.com", headless=False)
d = my_selenium.driver
# get input box
xpath = '//*[@id="lst-ib"]'
element = my_selenium.wait_until_exists(xpath)[0]
# text inputing
element.send_keys('\b' * 20, "yingshaoxo")
# click search button
element = my_selenium.wait_until_exists('//input[@value="Google Search"]')[0]
element.click() # d.execute_script("arguments[0].click();", element)
# exit
sleep(30)
d.quit()
Simpler IO
from auto_everything.base import IO
io = IO()
io.write("hi.txt", "Hello, world!")
print(io.read("hi.txt"))
io.append("hi.txt", "\n\nI'm yingshaoxo.")
print(io.read("hi.txt"))
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
auto_everything-2.9.tar.gz
(16.8 kB
view hashes)
Built Distribution
Close
Hashes for auto_everything-2.9-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e00124b4bdceca7c1651f6d43fde842231d818c6c76a6e9200b1531aac03fd4b |
|
MD5 | 1ee6f46377f79acc6300d5cf0baf18ad |
|
BLAKE2b-256 | e4561d2b764a9dacdd7ac82f24eff6d7bf031a1f744f70d3d6d5708d65060ca0 |