* Initial plan
* feat(cli): implement task subcommand with cross-platform scheduler support
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
* docs(cli): add task subcommand documentation
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
* fix(cli,task): address review feedback - move task handler to cli, remove defaults, improve fallback status checking
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
* refactor(task): convert TaskManager class to functions and handle task commands entirely in CLI
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
* fix(cli,tests): remove handle_task_command from exports and rename test file
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
* feat(task): add enable and disable commands for scheduled tasks
* add task tests
* refactor(task): simplify task command handling and update status retrieval
* update task
* test(task): update subcommand tests to assert exit codes and rename delete to uninstall
* Add unit tests for DDNS task subcommand functionality and enhance existing tests
- Introduced comprehensive unit tests for the DDNS task subcommand, covering help, status, install, enable, disable, delete, and argument handling.
- Added tests for file I/O operations in the ddns.util.fileio module, ensuring proper directory creation, file reading/writing, and error handling.
- Enhanced test coverage for task scheduling functions, including systemd and cron installations, with additional checks for argument handling.
- Updated existing tests to improve compatibility and reliability across different operating systems, particularly for path handling on Windows.
- Refactored task command building tests to ensure correct command generation with various argument types, including lists and boolean flags.
* refactor(task): improve command execution and path handling for DDNS tasks
* remove DEVNULL
* fix(task): ensure proper task interval handling and add sudo for task commands in test script
* add and fix tests
* fix lint
* refactor(cli): organize DDNS arguments into groups and improve task subcommand handling
* fix tests
* +x
* fix py2 and types
* rm sudo
* fix(tests): use sudo for task installation and uninstallation in test script
* update test command
* always force
* fix format
* docs: add task management parameters and usage examples to CLI documentation
* update log
* docs: update CLI task management instructions and examples
* fix py2
* fix task in python2
* fix lint
* refactor tasks
* update tests
* add schtasks-based task scheduler implementation and unit tests
* Enhance scheduler functionality and improve error handling
- Added a 60-second timeout to subprocess calls in BaseScheduler to prevent hanging.
- Improved error logging in BaseScheduler to capture command failures.
- Refactored CronScheduler to remove unnecessary variable initialization.
- Updated SystemdScheduler to handle PermissionError and provide user feedback for permission issues.
- Enhanced file I/O functions in fileio.py to return default values on exceptions.
- Improved unit tests for scheduler classes to ensure robust testing of functionality and error handling.
- Added lifecycle operation tests for SystemdScheduler to validate install, enable, disable, and uninstall processes.
- Ensured consistent status reporting across multiple calls in SystemdScheduler.
- Cleaned up test code for better readability and maintainability.
* fix lint
* Refactor scheduler command execution and enhance error handling in BaseScheduler and LaunchdScheduler tests
* fix tests
* Add unittest configuration to settings and improve SchtasksScheduler error handling
* Refactor code for improved readability and maintainability in various test files and the DnspodProvider class
* Refactor LaunchdScheduler tests for improved readability and error handling
* fix py2
* fix mac launchd test
* fix lint
* fix macos tests
* fix windows test
* patch readme
* update doc
* Update tests/test_scheduler_cron.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
Co-authored-by: New Future <NewFuture@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>