add yaml dependency, cli colors and translation file
This commit is contained in:
@@ -6,6 +6,7 @@ import time
|
||||
import pyperclip as clipboard
|
||||
import getpixelcolor
|
||||
import pytesseract
|
||||
import yaml
|
||||
# from src.cursor import classify_cursor, get_current_hcursor
|
||||
|
||||
pytesseract.pytesseract.tesseract_cmd = r".\tesseract\tesseract.exe"
|
||||
@@ -232,18 +233,16 @@ def enter_print_mode():
|
||||
|
||||
|
||||
def exit_print_mode():
|
||||
print("Exiting print mode...")
|
||||
lang = open("lang.txt", "r", encoding="utf-8").read().strip()
|
||||
sys_messages = yaml.safe_load(open(f"translation.yaml", "r", encoding="utf-8"))
|
||||
print(sys_messages["exit_print_mode"][lang])
|
||||
time.sleep(2)
|
||||
while getpixelcolor.pixel(1240, 971) != (192, 215, 242):
|
||||
print("Not found")
|
||||
print(sys_messages["print_exit_not_found"][lang])
|
||||
time.sleep(1)
|
||||
# while getpixelcolor.pixel(1240, 971) == (202, 202, 202):
|
||||
# time.sleep(1)
|
||||
# print("Process locked")
|
||||
# time.sleep(1)
|
||||
pyautogui.click(1240, 971) # Click the print button
|
||||
|
||||
print("Exited print mode.")
|
||||
print(sys_messages["exit_print_mode"][lang])
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
@@ -4,7 +4,10 @@
|
||||
from playwright.sync_api import Playwright, sync_playwright
|
||||
from playwright.sync_api import Page
|
||||
from src.database import Database
|
||||
from src.colors import bcolors
|
||||
import pyperclip as clipboard
|
||||
import yaml
|
||||
import time
|
||||
|
||||
def run():
|
||||
browser = sync_playwright().start().chromium.launch(headless=False)
|
||||
@@ -19,10 +22,17 @@ def run():
|
||||
page.get_by_role("textbox", name="Mediennummer").click()
|
||||
return page
|
||||
|
||||
def work_on_page(page: Page, mednr: str):
|
||||
def work_on_page(page: Page, mednr: str) -> bool:
|
||||
lang = open("lang.txt", "r", encoding="utf-8").read().strip()
|
||||
sys_messages = yaml.safe_load(open(f"translation.yaml", "r", encoding="utf-8"))
|
||||
db = Database()
|
||||
page.get_by_role("textbox", name="Mediennummer").fill(mednr)
|
||||
page.get_by_text("Suche starten").nth(1).click()
|
||||
time.sleep(1)
|
||||
if page.get_by_role("main", name="Hauptbereich").is_visible():
|
||||
print(bcolors.FAIL + sys_messages["page_dead"][lang] + bcolors.ENDC)
|
||||
return False
|
||||
|
||||
page.get_by_text("Ändern").nth(1).click()
|
||||
page.get_by_role("link", name="Sacherschließung").click()
|
||||
page.get_by_role("link", name="Notation, Genre, Signatur").click()
|
||||
@@ -30,12 +40,12 @@ def work_on_page(page: Page, mednr: str):
|
||||
page.locator("input[name=\"cellEditValue\\$7\"]").press("ControlOrMeta+a")
|
||||
page.locator("input[name=\"cellEditValue\\$7\"]").press("ControlOrMeta+c")
|
||||
signature = clipboard.paste()
|
||||
print(signature)
|
||||
print(bcolors.BOLD + bcolors.HEADER + f"{signature}" + bcolors.ENDC)
|
||||
|
||||
new_signature = db.insert(signature)
|
||||
if new_signature is None:
|
||||
print("Signature already exists in the database.")
|
||||
return
|
||||
print(bcolors.WARNING + sys_messages["signature_present"][lang] + bcolors.ENDC)
|
||||
return True
|
||||
clipboard.copy(new_signature)
|
||||
|
||||
page.locator("input[name=\"cellEditValue\\$7\"]").fill(new_signature)
|
||||
@@ -52,7 +62,7 @@ def work_on_page(page: Page, mednr: str):
|
||||
page.get_by_role("link", name="Ansigeln/Absigeln").click()
|
||||
page.get_by_role("button", name="Ok").click()
|
||||
|
||||
|
||||
return True
|
||||
|
||||
|
||||
|
||||
|
||||
10
src/colors.py
Normal file
10
src/colors.py
Normal file
@@ -0,0 +1,10 @@
|
||||
class bcolors:
|
||||
HEADER = '\033[95m'
|
||||
OKBLUE = '\033[94m'
|
||||
OKCYAN = '\033[96m'
|
||||
OKGREEN = '\033[92m'
|
||||
WARNING = '\033[93m'
|
||||
FAIL = '\033[91m'
|
||||
ENDC = '\033[0m'
|
||||
BOLD = '\033[1m'
|
||||
UNDERLINE = '\033[4m'
|
||||
Reference in New Issue
Block a user