This project has been archived by its maintainers, and is no longer receiving any updates.
CrawlerCodePythonTools - Documentation
Installation
pip install CrawlerCodePythonTools
Config
from pythontools.core import config
cfg = config.Config(path="", default_config={"config_data_1": "value_123"})
cfgData = cfg.getConfig()
# get config value
print(cfgData["config_data_1"])
# chang value and save config
cfgData["config_data_1"] = "value_456"
cfg.saveConfig()
Logger
from pythontools.core import logger
# path to logs directory (optional)
logger.init_log("logs")
# set time format (optional)
logger.set_time_format(date=True, time=True)
# print color test
logger.log("§1Blue §9Light-Blue §3Cyan §bLight-Cyan §4Red §cLight-Red §6Yellow §eLight-Yellow §2Green §aLight-Green §5Magenta §dLight-Magenta §fWhite §7Light-Gray §8Gray §0Black")
CronJob
from pythontools.core import cronjob, logger
Interval-based CronJob
def cron_interval_based():
logger.log("Interval-based CronJob done.")
# register CronJob
cronjob.register_cron_job(cronjob.CronJob("cron_interval_based", 10, cron_interval_based))
Time-based CronJob
def cron_time_based():
logger.log("Time-based CronJob done.")
# register CronJob
#cronjob.register_cron_job(cronjob.CronJob("cron_time_based", "20", cron_time_based)) # 20 => 20h
cronjob.register_cron_job(cronjob.CronJob("cron_time_based", "20:10", cron_time_based)) # 20:10 => 20h 10m
#cronjob.register_cron_job(cronjob.CronJob("cron_time_based", "20:10:30", cron_time_based)) # 20:10:30 => 20h 10m 30s
Weekday-based CronJob
def cron_weekday_based():
logger.log("today is friday!")
logger.log("Weekday-based CronJob done.")
# register CronJob
cronjob.register_cron_job(cronjob.CronJob("cron_weekday_based", "friday", cron_weekday_based))
Server and Client (sockets)
Server
from pythontools.sockets import server
from threading import Thread
SERVER = server.Server(password="PASSWORD")
def ON_CLIENT_CONNECT(client):
# send a message to client on connect by clientSocket
SERVER.sendTo(client["clientSocket"], {"METHOD": "HELLO"})
def ON_CLIENT_DISCONNECT(client):
pass
def ON_RECEIVE(client, data):
METHOD = data["METHOD"]
SERVER.ON_CLIENT_CONNECT(ON_CLIENT_CONNECT)
SERVER.ON_CLIENT_DISCONNECT(ON_CLIENT_DISCONNECT)
SERVER.ON_RECEIVE(ON_RECEIVE)
Thread(target=SERVER.start, args=["HOST-IP", 15749]).start()
# send a message to client by clientID
SERVER.sendToClient("MY_CLIENT_ID", {"METHOD": "TEST", "mydata": "123"})
Client
from pythontools.sockets import client
from threading import Thread
CLIENT = client.Client(password="PASSWORD", clientID="MY_CLIENT_ID", clientType="CLIENT")
def ON_CONNECT():
pass
def ON_RECEIVE(data):
METHOD = data["METHOD"]
# recipe the test message
if METHOD == "TEST":
print("test:", data["mydata"])
CLIENT.ON_CONNECT(ON_CONNECT)
CLIENT.ON_RECEIVE(ON_RECEIVE)
Thread(target=CLIENT.connect, args=["HOST-IP", 15749]).start()
WebBot
- Download chromedriver or geckodriver
from pythontools.webbot import webbot
# Google Chrome
browser = webbot.WebBot().Chrome(chromedriver="chromedriver.exe")
# Firefox
browser = webbot.WebBot().Firefox(geckodriver="geckodriver.exe")
browser.get("https://www.google.com/")
browser.input('//*[@id="tsf"]/div[2]/div[1]/div[1]/div/div[2]/input', "what is python?")
browser.click('//*[@id="tsf"]/div[2]/div[1]/div[2]/div[2]/div[2]/center/input[1]')
time.sleep(10)
browser.close()
Metadata
Release files for CrawlerCodePythonTools 1.5.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| CrawlerCodePythonTools-1.5.4.tar.gz | 383.1 kB | Without provenance | Details for CrawlerCodePythonTools-1.5.4.tar.gz |
Release files / CrawlerCodePythonTools-1.5.4.tar.gz
| Download URL | CrawlerCodePythonTools-1.5.4.tar.gz |
|---|---|
| Size | 383.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1e55f7077c29ab5a76a3ae0cbf7b925099b9743114eef582913f56a47cab35a4
|
|
BLAKE2b-256 checksum How to use checksums |
17761d0367c26631de0e57b0973c1851936e0692b85d84576c25f06cacd9c269
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.10.2
|
Security for CrawlerCodePythonTools 1.5.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.