Command Line Based Todo Script

Overview

Todo-CLI

Features

Full-Fledged Command Line Based Todo List with the following features planned:

  • Interactive Interface
  • OS Notifications
  • Save and Remove Todo
  • Persistent Todo Storage
  • Todo Data Encryption

To Run the Program

  1. Install dependencies
    pip install -r requirements.txt
    
  2. Run the Script
    python Main.py
    

To Use the Program

After following the above steps, you will be prompted to input a command into the command line. Currently, the following commands are available:

Add:

The 'add' command will add a new task to the todo list. It takes two required arguments - 'Todo Title' and 'Todo Description' - both of which should be enclosed in quotes if more than one word. For example:

add Word "This is a multi-word description so needs to be enclosed in quotes"

Will add a new todo with:

  • A title of 'Word'
  • A description matching the quoted section above
  • A deadline set to the current default of 1 minute

This brings us to the deadline argument. This optional argument sets a deadline for the todo item. Once this deadline is reached, you will be alerted to it by a notification through your operating system (examples shown below) and a message on the command line.

This deadline can be given in two different formats each with its own flag - if both are given, the --time argument will be used:

  • The --offset flag: How long, in minutes, after the task is added you would like to set the deadline for. Decimal values aren't required but they are supported. For example:
add "Adding a Deadline with the Offset Flag" "This todo item has a deadline set five and a half minutes from now" --offset 5.5
  • The --time flag: Will accept entries formatted "dd/mm/YYYY H:M". This sets the deadline for the specified date and time. For example:
add "Adding a Deadline with the --time flag" "This todo item will have a deadline of the 1st of Feburary 2022 at 3:30pm" --time "01/02/2022 15:30"

Note:

  • The argument is in quotes
  • There is a space between the date and time portions of the argument
  • All values are zero-padded - i.e. February is given as '02' not just '2'
  • The 'hour' portion of the time is given as a 24hr value

View:

The 'view' command will display all of your todo items in the command line. The items will be ordered according to their deadlines with the items whose deadlines are closest to the current time at the top of the list. There are currently no arguments required for this command so simply enter it in to the command line when prompted to do so.

view

Exit

To exit the program, and save your pending todos, in an encrypted file, simply enter the 'exit' command when prompted:

exit

--help

Entering an invalid command, or no command at all, will display usage instructions but this can be manually invoked with the --help command.

--help

To get the usage instructions for one of the commands mentioned above, pass --help as an argument to it. For example, to see how to use the 'add' command enter the following:

add --help

Sample Notifications

Notifications will look similar to the following:

Windows

Windows

Linux

Linux (linux)

MacOS

Mac

Maintainers

Contributors

Made with contributors-img.

Contributing

Thank you for your interest in contributing to our repo! Before making any PRs, we strongly suggest you go through our contribution guidelines to see how you can contribute to this project.

Hacktoberfest 2021

img

All of the valid PRs made to this repository before the 31st of October will be labelled with 'hacktoberfest-accepted'. For more rules visit the Hacktoberfest Website.

License

The code in this repo is licensed under the MIT license. Feel free to use and share it as per the license.


Who are we?

We are DSC-IIEST. Feel free to join our community here.

gdsc-iiest

Owner
DSC IIEST
DSC IIEST is the developer and tech community of IIEST Shibpur.
DSC IIEST
Command-line tool to use LNURL with your LND instance

Sprint planner Sprint planner is a Python script for planning your Jira tasks based on your calendar availability. Installation Use the package manage

Djuri Baars 6 Jan 14, 2022
This is an app for creating your own color scheme for Termux!

Termux Terminal Theme Creator [WIP] If you need help on how to use the program, you can either create a GitHub issue or join this temporary Discord se

asxlvm 3 Dec 31, 2022
CLI para o projeto Compilado (Newsletter e Podcast do Código Fonte TV)

Compilado CLI Automatização de tarefas através de linha de comando para a geração de assets para episódios do Compilado, a newsletter e podcast do can

Gabriel Froes 18 Nov 21, 2022
🎮 An easy to use tool to change the mapping of your input device buttons.

Input Remapper Formerly Key Mapper An easy to use tool to change the mapping of your input device buttons. Supports mice, keyboards, gamepads, X11, Wa

Tobi 1.9k Jan 05, 2023
A set of libraries and functions for simplifying automating Cisco devices through SecureCRT.

This is a set of libraries for automating Cisco devices (and to a lesser extent, bash prompts) over ssh/telnet in SecureCRT.

Matthew Spangler 7 Mar 30, 2022
A simple web-based SSH client.

Kommander A simple web-based SSH client. It supports: entering SSH login details (including private key and custom ports) and connecting user authenti

KingWaffleIII 2 Jan 01, 2022
A CLI/Shell supporting OpenRobot API and more!

A CLI/Shell supporting JeyyAPI, OpenRobot API and RePI API.

OpenRobot Packages 1 Jan 06, 2022
Create argparse subcommands with decorators.

python-argparse-subdec This is a very simple Python package that allows one to create argparse's subcommands via function decorators. Usage Create a S

Gustavo José de Sousa 7 Oct 21, 2022
Rdwcli - Car list cli app with python

Rdwcli - Car list cli app with python

Arie Twigt 1 Feb 02, 2022
Python library & console tool for controlling Xiaomi smart appliances

python-miio This library (and its accompanying cli tool) can be used to interface with devices using Xiaomi's miIO and MIoT protocols. Getting started

Teemu R. 2.4k Jan 02, 2023
git-partial-submodule is a command-line script for setting up and working with submodules while enabling them to use git's partial clone and sparse checkout features.

Partial Submodules for Git git-partial-submodule is a command-line script for setting up and working with submodules while enabling them to use git's

Nathan Reed 15 Sep 22, 2022
A dec-bin converter uses 2's complement.

2's Complement Dec-Bin Converter A dec-bin converter uses 2's complement. Visit my Medium Post. What is 2's complement? Two's complement is the most c

Khaw Chi Hun (Jacky) 9 Mar 01, 2022
🐾 Get the nftables counters easier to read

nft-stats Get the nftables counters easier to read It kind of hard to read the output of nft list ruleset so there is a small program parcising the ou

7 Oct 08, 2022
Autosub - Command-line utility for auto-generating subtitles for any video file

Auto-generated subtitles for any video Autosub is a utility for automatic speech recognition and subtitle generation. It takes a video or an a

Anastasis Germanidis 3.9k Jan 05, 2023
A simple python implementation of a reverse shell

llehs A python implementation of a reverse shell. Note for contributors The project is open for contributions and is hacktoberfest registered! llehs u

Archisman Ghosh 2 Jul 05, 2022
Just a shell writed on Python

HIGHSHELL (also hSH or HS) Just a shell writed on Python Send bug report • How to use the shell • Broked features • Licenses How to use the shell Inst

0LungSkill0 2 Jan 04, 2022
Python script to tabulate data formats like json, csv, html, etc

pyT PyT is a a command line tool and as well a library for visualising various data formats like: JSON HTML Table CSV XML, etc. Features Print table o

Mobolaji Abdulsalam 1 Dec 30, 2021
Regis-ltmpt-auto - Program register ltmpt 2022 automatis

LTMPT Register Otomatis 2022 Program register ltmpt 2022 automatis dibuat untuk

1 Jan 13, 2022
Multifunctional library for creating progress bars.

👋 Content Installation Using github Using pypi Quickstart Flags Useful links Documentation Pypi Changelog TODO Contributing FAQ Bar structure ⚙️ Inst

DenyS 27 Jan 01, 2023
MiShell is a multi-platform, multi-architecture project based on the first version (MiShell32)

MiShell is a multi-platform, multi-architecture project based on the first version (MiShell32), which offers super super small reverse shell payloads great for injection in buffer overflow vulnerabil

Kamyar Hatamnezhad 0 Oct 27, 2022