Commit Graph

28 Commits

Author SHA1 Message Date
kinoshitakenta f9792b99e0
chore: add Beerware license 2025-08-18 14:05:10 +08:00
kinoshitakenta 42ca15bfbd
docs: updates README documentation
Updates a README file to describe the project, including instructions on how to configure and run the application, and explains the project's purpose.
2025-08-18 13:41:46 +08:00
kinoshitakenta 82fb61ec26
fix: prompt re-login on expired Selenium session to prevent crash 2025-07-03 17:06:25 +08:00
kinoshitakenta 982e70a4e4
docs: use straight quotes (') instead of typographic apostrophes (’)
Typographic apostrophes can lead to formatting or encoding issues in technical documents.
Straight quotes are preferred in source-controlled files to ensure consistency and portability.
2025-07-03 13:26:29 +08:00
kinoshitakenta e1ec580ce1
fix: missing import `ctypes` library 2025-07-03 10:29:12 +08:00
kinoshitakenta 5b87c86223
fix: skip handling alerts that are already closed
Avoids handling alerts that have already been dismissed at the time of operation.
2025-07-03 10:18:35 +08:00
kinoshitakenta 2c5ca3c3d3
docs: removes outdated `TODO.txt`
Removed TODO.txt as the mentioned feature has been implemented.
2025-06-20 14:50:27 +08:00
kinoshitakenta 86bd790f1c
feat: added the function to open the booking meeting room page 2025-06-20 14:30:33 +08:00
kinoshitakenta ccd5dee807
Merge branch 'env/migrate-to-uv' 2025-06-20 13:52:19 +08:00
kinoshitakenta bee7927ef9
chore: use uv to manage the environment
Refactors the project to use `uv` for dependency management
instead of `poetry` and `requirements.txt`.

Updates `pyproject.toml` to remove unnecessary fields, and adds
`uv.lock` to specify exact versions of dependencies.

Updates the README with `uv` command to execute the application.
2025-06-20 13:37:38 +08:00
kinoshitakenta 8579b135cf
Merge branch 'env/migrate-to-poetry' 2025-06-19 16:52:21 +08:00
kinoshitakenta 07e01554d0
chore: updates author info and dependencies
Updates the author information and adjusts the dependency versions in the project configuration.
2025-06-19 16:47:22 +08:00
kinoshitakenta 953b6ab909
feat: improves element click handling
Adds retry logic to handle `ElementClickInterceptedException`.

This change enhances the robustness of element clicking by implementing a retry mechanism with a timeout.
It addresses the issue where clicks are sometimes intercepted (such as scrolling up and down on the page), preventing the action from succeeding.
2025-06-12 16:29:28 +08:00
kinoshitakenta 77054f1d84
docs: adds documentation to login function
Adds a detailed docstring to the `keep_login_status` function,
clarifying its purpose, arguments, return value, and behavior
during login attempts.
2025-06-12 16:26:41 +08:00
kinoshitakenta 6523fecb5a
feat: improves login status handling
Ability to further handle pop-up windows when login attempts are unsuccessful.

Modified the return value of the `keep_login_status` function to indicate whether the operation was successful or failed.
In case of a failure, no further command actions will be executed.
2025-06-12 16:25:26 +08:00
kinoshitakenta 3c23ee2ce9
feat: improves screen clearing functionality
Updates the screen clearing function to provide a more robust cross-platform solution. It now attempts to reset text attributes on Windows and uses `shutil.which` to locate the `clear` command on Unix-like systems, falling back to ANSI escape codes if necessary.

This change improves the screen-clearing function, ensuring its effectiveness regardless of the operating system or available commands.
2025-05-28 15:57:25 +08:00
kinoshitakenta 0671d49497
feat: validates config path before loading login info
Adds a check to ensure the provided configuration file path exists and is a valid file before attempting to load login information.
2025-05-28 15:45:01 +08:00
kinoshitakenta e32063e2ce
refactor: uses constants for EIP login elements
Refactors the code to use constants for EIP URL and HTML element IDs, improving code maintainability and readability.
This change replaces hardcoded strings with named constants, making it easier to update element identifiers if they change on the EIP website.
2025-05-28 15:33:05 +08:00
kinoshitakenta cfd1e5e61a
feat: validates required fields in login configuration
Adds validation to ensure that all required fields ("lang", "login_ID", "login_passwd", "company_ID") are present in the login_info section of the configuration file.

Raises a ValueError if any required field is missing, improving error handling and preventing potential issues
due to incomplete configuration.
2025-05-28 15:33:03 +08:00
kinoshitakenta ef204f1aae
chore: improved compatibility with Python 3.11 and above
Uses `tomllib` when available for Python 3.11+ and falls back to `tomli` for older versions.

This avoids deprecation warnings and ensures compatibility across different Python versions.
2025-05-28 13:19:31 +08:00
kinoshitakenta 6de63bfdb5
chore: add rich library for better output
Includes `rich` library in requirements.txt to enhance the formatting and presentation of output in the application.
2025-05-20 16:25:57 +08:00
insleker 73f0e62301 chore: add poetry dependency manager 2025-05-20 12:43:11 +08:00
kinoshitakenta 3774f2eaa3
feat: add example configuration file
Introduces an example TOML configuration file.

This file defines the structure and default values for login-related settings, including language, login ID, password, and company ID.
2025-05-19 15:58:34 +08:00
kinoshitakenta 6cadab738c
chore: adds dependencies for TOML parsing and Selenium
Adds `tomli` for parsing TOML files and `webdriver_manager` along with `selenium` for managing browser drivers in automated testing.
2025-05-19 15:58:16 +08:00
kinoshitakenta 0b80ee79b1
feat: automates ChromeDriver management
Updates the ChromeDriver setup to use `webdriver_manager` instead of relying on a local executable. This ensures the correct ChromeDriver version is automatically downloaded and managed, improving reliability and reducing manual configuration.

Removes the now unnecessary `chromedriver.exe` from the `.gitignore` file.
2025-05-19 11:02:58 +08:00
kinoshitakenta f66cf7aeac
feature: log in again after timeout, can handle the correct window 2024-05-30 15:36:23 +08:00
kinoshitakenta e0afd876b6
feature: basic features 2024-05-28 11:45:07 +08:00
kinoshitakenta d89ee00308
Initial commit 2024-05-28 11:31:45 +08:00