Skip to main content

A etool package for security monitoring

Project description

中文 | English

Installation

Install etool using pip:

pip install -U etool

Features and Usage Examples

Network

Test Network Speed

from etool import ManagerSpeed
ManagerSpeed.network() # Network test
ManagerSpeed.disk() # Disk test
ManagerSpeed.memory() # Memory test
ManagerSpeed.gpu_memory() # GPU test

Screen and File Sharing

Share Screen

from etool import ManagerShare
ManagerShare.screen_share() # Share screen

Share File

from etool import ManagerShare
ManagerShare.share_file() # Share file

Office

PDF Processing

from etool import ManagerPdf

# Convert doc, xlsx, etc. to pdf (convert one file)
ManagerPdf.pdfconverter(os.path.join(os.path.dirname(__file__),'pdf','ex1.docx'),os.path.join(os.path.dirname(__file__),'pdf_out'))
# Convert doc, xlsx, etc. to pdf (convert all files in a directory)
ManagerPdf.pdfconverter(os.path.join(os.path.dirname(__file__),'pdf'),os.path.join(os.path.dirname(__file__),'pdf_out'))

# Add watermark to pdf files (one file)
ManagerPdf.create_watermarks(os.path.join(os.path.dirname(__file__),'pdf_out','ex1.pdf'),os.path.join(os.path.dirname(__file__),'pdf_out','watermarks.pdf'),os.path.join(os.path.dirname(__file__),'pdf_out_watermark'))
# Add watermark to pdf files (all files in a directory)
ManagerPdf.create_watermarks(os.path.join(os.path.dirname(__file__),'pdf_out'),os.path.join(os.path.dirname(__file__),'pdf_out','watermarks.pdf'),os.path.join(os.path.dirname(__file__),'pdf_out_watermark'))

# Encrypt pdf files
ManagerPdf.encrypt_pdf(os.path.join(os.path.dirname(__file__),'pdf_out','ex1.pdf'),r"1234567890")
# Decrypt pdf files
ManagerPdf.decrypt_pdf(os.path.join(os.path.dirname(__file__),'pdf_out','ex1_encrypted.pdf'),r"1234567890")

# Split pdf files (by pages) every 3 pages
ManagerPdf.split_by_pages(os.path.join(os.path.dirname(__file__),'pdf_out','merged.pdf'),3)
# Split pdf files (by number) into 2 parts
ManagerPdf.split_by_num(os.path.join(os.path.dirname(__file__),'pdf_out','merged.pdf'),2)

# Insert pdf ex2 into a specific page of pdf ex1
ManagerPdf.insert_pdf(os.path.join(os.path.dirname(__file__),'pdf_out','ex1.pdf'),os.path.join(os.path.dirname(__file__),'pdf_out','ex2.pdf'),0,os.path.join(os.path.dirname(__file__),'pdf_out','pdf_insert.pdf'))

docx Processing

from etool import ManagerDocx
word_path = 'ex1.docx' # docx file path
result_path = 'result' # save path
ManagerDocx.replace_words(word_path, '1', '2') # Replace text in document
ManagerDocx.change_forward(word_path, 'result.docx') # Change document format
ManagerDocx.get_pictures(word_path, result_path) # Extract images from docx to result folder

Email Sending

from etool import ManagerEmail
ManagerEmail.send_email(
    sender='1234567890@qq.com',
    password='1234567890',
    recipient='1234567890@qq.com',
    subject='Test Email',
    message='Test email content',
    file_path='test.txt',
    image_path='test.webp'
) # Send email

Image Processing

from etool import ManagerImage
pics = ['pic1.webp', 'pic2.webp'] # List of image paths
ManagerImage.merge_LR(pics) # Merge left and right
ManagerImage.merge_UD(pics) # Merge up and down
ManagerImage.fill_image('pic1_UD.webp') # Fill image
ManagerImage.cut_image('pic1_UD_fill.webp') # Cut image
ManagerImage.rename_images('tests', remove=True) # Rename images

Excel Processing

from etool import ManagerExcel
excel_path = 'ex1.xlsx' # Excel file path
save_path = 'result.xlsx' # Save path
ManagerExcel.excel_format(excel_path, save_path) # Copy style from ex1.xlsx to result.xlsx

QR Code Generation

from etool import ManagerQrcode
qr_path = 'qr.png' # Save path
ManagerQrcode.generate_english_qrcode(words='https://www.baidu.com', qr_path) # Generate QR code without Chinese
ManagerQrcode.generate_qrcode(words='百度', qr_path) # Generate QR code with Chinese
ManagerQrcode.decode_qrcode(qr_path) # Decode QR code

ipynb Conversion

from etool import ManagerIpynb
ipynb_dir = 'ipynb_dir' # ipynb directory path
md_dir = 'md' # md directory path

ManagerIpynb.merge_notebooks(ipynb_dir) # Merge ipynb files
ManagerIpynb.convert_notebook_to_markdown(ipynb_dir+'.ipynb', md_dir) # Convert ipynb files to md files

Others

Task Scheduling

from etool import ManagerScheduler

def job():
    print("job")
    raise Exception("error")

def func_success():
    print("success")

def func_failure():
    print("failure")

ManagerScheduler.pocwatch(job, 2, func_success, func_failure)
"""
- `job`: Task function
- `schedule_time`: Execution time
- `func_success`: Callback function on task success
- `func_failure`: Callback function on task failure

`schedule_time` format:

If it's a number, the default unit is seconds, executed every `schedule_time` seconds, e.g., `120` means every 2 minutes.

If it's a string, the default is a time point, follow the `HH:MM` format, e.g., `08:00`, executed once daily at this time.

If it's a list, the default is multiple time points, e.g., `["08:00", "12:00", "16:00"]`, executed daily at these times.

If a dictionary is passed, parse the dictionary keys:

If the key is a number, the default is a date, the corresponding value follows the above number, string, list judgment.

If the key is a string, the default is a weekday (e.g., Monday, supported formats include: `1`, `monday`, `Monday`, `MONDAY`, `mon`, `mon.`, `m`), the corresponding value follows the above number, string, list judgment.

For example, the 1st at 8:00, the 2nd at 8:00, 12:00, 16:00, the 3rd every hour, every Monday at 8:00.

schedule_time = {
1: "08:00",
2: ["08:00", "12:00", "16:00"],
3: 216000,
"1": "08:00",
}

"""
# If you're unsure about the schedule time, use the parse_schedule_time function to confirm
ManagerScheduler.parse_schedule_time(120)
ManagerScheduler.parse_schedule_time("08:00")
ManagerScheduler.parse_schedule_time(["08:00", "12:00", "16:00"])
ManagerScheduler.parse_schedule_time({1: "08:00", 2: ["08:00", "12:00", "16:00"], 3: 216000, "1": "08:00"})

Password Generation

from etool import ManagerPassword
print(ManagerPassword.generate_pwd_list(ManagerPassword.results['all_letters'] + ManagerPassword.results['digits'], 2))
# Generate all possible 2-digit passwords (for password cracking)
print(ManagerPassword.random_pwd(8))
# Randomly generate an 8-digit password (random encryption)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

etool-1.4.0.tar.gz (27.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

etool-1.4.0-py3-none-any.whl (27.5 kB view details)

Uploaded Python 3

File details

Details for the file etool-1.4.0.tar.gz.

File metadata

  • Download URL: etool-1.4.0.tar.gz
  • Upload date:
  • Size: 27.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.21

File hashes

Hashes for etool-1.4.0.tar.gz
Algorithm Hash digest
SHA256 385e26cb15e63f53b3adf888a60e173b64a1d9eb5c2fa96100c04b7429164edb
MD5 f626f2fac573f71fb21f83f1db0c8773
BLAKE2b-256 5590e17003c116742ba6143abddf3925851f102ebac4c1caddda462a75189e78

See more details on using hashes here.

File details

Details for the file etool-1.4.0-py3-none-any.whl.

File metadata

  • Download URL: etool-1.4.0-py3-none-any.whl
  • Upload date:
  • Size: 27.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.21

File hashes

Hashes for etool-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0e718f42a285a3f550267281daa96d76490f0232222b58d38ae79796c3ea9fcb
MD5 841c29c201bec8ff29f49b6f2457f417
BLAKE2b-256 dcf084336503a0e2a05a0912d16e83d3acfbaea7183ad31c8a4626bf5775b495

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page