From be0db319a5e68ce9a62ac555c248e5b84a5eee0c Mon Sep 17 00:00:00 2001
From: zay <64491586+zaytiri@users.noreply.github.com>
Date: Wed, 22 Mar 2023 19:20:09 +0000
Subject: [PATCH] update version to 2.0.0
update version to 2.0.0; updated CHANGELOD and README files
---
CHANGELOG.md | 16 ++++++++++
README.md | 41 ++++++++++++++-----------
progscheduler/version/progsettings.yaml | 2 +-
3 files changed, 40 insertions(+), 19 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9c832e1..f107534 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Fixed
- Removed
+## [2.0.0] - 2023-03-22
+
+### Changed
+- auto management of program arguments and settings were refactored. now uses the following library ['margument'](https://pypi.org/project/margument/) for that purpose.
+- changed some arguments commands, for example: use '-p' to specify file path instead of '-e'.
+
+### Added
+- added new argument option to exit program terminal/cmd window when all scheduled jobs are done.
+- added new argument option to define the time for the scheduler to no longer run, for example: if time defined is '17:00', the scheduler, if started, will no longer run if current time exceeds defined time.
+- added new argument option to also list all global configs. previously, only scheduled jobs were being listed.
+- added new argument option specific for running the progscheduler. now the program will only start doing its scheduled jobs if this argument is specified. if not, the program can list settings, update schedules, create new ones, do nothing etc., all without running automatically after every configuration.
+- added more user-friendly messages.
+
+### Fixed
+- updated README.md file.
+
## [1.0.1] - 2022-11-20
### Changed
diff --git a/README.md b/README.md
index c587ef2..01e238d 100644
--- a/README.md
+++ b/README.md
@@ -29,19 +29,22 @@ A scheduled file can also be any type of file including folders. See [Notes](#no
## Features
-| Status | Feature |
+| Status | Features |
|:-------|:-----------------------------------------------------------------------|
| ✅ | schedule a file to start/open at specific days of the week or everyday |
| ✅ | schedule a file to start/open at specific time of the day |
| ✅ | schedule a file to start/open when the computer boots up |
| ✅ | configuration of multiple files to schedule |
+| ✅ | see current configurations |
Any new features are **_very_** welcomed.
### Future features
- Currently, the progscheduler only starts/opens a file, but in the future, a file can also be configured to do other types of jobs.
-- Currently, the progscheduler never stops running the scheduler, but it can be implemented that if all scheduled jobs are at startup, and they already finished then the progscheduler could stop automatically until manually started or computer rebooted.
+
+#### Done ✅
+- ~~Currently, the progscheduler never stops running the scheduler, but it can be implemented that if all scheduled jobs are at startup, and they already finished then the progscheduler could stop automatically until manually started or computer rebooted.~~
Any unimplemented features will be developed by user request, so if you want any of these or new ones, open an issue.
@@ -82,22 +85,24 @@ Open an issue if you need to know how to enable this feature in Linux.
## Usage
-| Command | Required | Description |
-|:--------|----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| -a | ✅✅ | file alias. this name is UNIQUE within all scheduled files. to create or update any configuration regarding a specific file, this is required. |
-| -e | ✅ | absolute path of file to schedule (including the extension name except for folders). |
-| -d | ✅ | days to schedule a file within the following options: 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday', 'everyday', 'weekdays' and 'weekends'. |
-| -t | ✅ | specific time to start/open a file. default is '' (empty). if time is empty then the file will start when the progscheduler command is run. |
-| -del | ❌ | delete a existing configuration with the file alias. |
-
-- -a command is always required when configuring.
-- -e, -d, -t command is required only the first time to configure a file to schedule.
-
+| Command | Type | Description |
+|:--------|------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --run | **REQUIRED** for the scheduler to run | if specified, the scheduler will start running using user-defined configurations. |
+| -a | **REQUIRED** to create new scheduled job | file alias. this name is UNIQUE within all scheduled files. to create or update any configuration regarding a specific file, this is required. |
+| -p | **REQUIRED** to create new scheduled job | absolute path of file to schedule (including the extension name except for folders). |
+| -d | **REQUIRED** to create new scheduled job | days to schedule a file within the following options: 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday', 'everyday', 'weekdays' and 'weekends'. |
+| -t | **OPTIONAL** | specific time to start/open a file. default is '' (empty). if time is empty then the file will start when the progscheduler command is run (at startup if program-scheduler.bat file was configured). |
+| -ts | **OPTIONAL** | define a time for the scheduler to stop running. |
+| -del | **OPTIONAL** | delete a existing configuration with the file alias. |
+| -ls | **OPTIONAL** | list all global settings. |
+| -lsch | **OPTIONAL** | list all scheduled jobs. |
### Important
-- If the file is an executable file, **it's recommended to input the absolute path to a shortcut** instead of the original file location because if so, the executable file **may not start at all**. If a shortcut is used, the extension '.lnk' is needed. For instance: 'C:\Users\\Desktop\shortcut.lnk'
+- -a command is always required when configuring.
+- -p, -d command is required only the first time to configure a file to schedule.
+- If the file is an executable file, **it's recommended to input the absolute path to a shortcut** instead of the original file location because if so, the executable file **may not start at all**. If a shortcut is used, the extension '.lnk' is needed. For instance: 'C:\Users\\Desktop\ExecutableShortcutWithEXEExtension.lnk'
@@ -122,7 +127,7 @@ progscheduler -h
Before running the scheduler, at least one program needs to be configured. The following command will configure the 'program.exe' to start when the computer boots up every monday, friday and saturday
```
-progscheduler -a ThisNAmeRefersToCurrentProgramToSchedule -e "C:\Users\\Desktop\program.exe" -d monday friday saturday
+progscheduler -a ThisNAmeRefersToCurrentProgramToSchedule -p "C:\Users\\Desktop\program.exe" -d monday friday saturday
```
To configure an existing program to change days to schedule:
@@ -140,12 +145,12 @@ To delete an existing configuration:
progscheduler -del ThisNAmeRefersToCurrentProgramToSchedule
```
-When all desired files are scheduled in the configurations, the following command is valid and will expect to run the scheduler considering every configuration made:
+When all desired files are scheduled in the configurations, the following command will run the scheduler considering every configuration made:
```
-progscheduler
+progscheduler --run
```
-Once the progscheduler starts running it will not stop alone, to cancel just run CTRL + C or close the terminal window.
+Once the progscheduler starts running it will not stop alone, to cancel just run CTRL + C or close the terminal window. The exception to this is if the 'exit-when-done' is enabled.
diff --git a/progscheduler/version/progsettings.yaml b/progscheduler/version/progsettings.yaml
index 854286d..81dde3d 100644
--- a/progscheduler/version/progsettings.yaml
+++ b/progscheduler/version/progsettings.yaml
@@ -1,2 +1,2 @@
PROG:
- VERSION: 1.0.2
+ VERSION: 2.0.0