Skip to content

Latest commit

 

History

History
64 lines (52 loc) · 3.95 KB

README.md

File metadata and controls

64 lines (52 loc) · 3.95 KB

day-ploy

A Python program that assists you in creating a realistic daily schedule depending on how much you love each activity.

What is this?

ploy (noun) a slightly dishonest method used to try to achieve something

Source: https://dictionary.cambridge.org/dictionary/learner-english/ploy

day-ploy is a Python program that allows you to manipulate the flow of time. It will day-ploy (deploy) a perfect daily plan for you to follow (as best as you can) based on the basic facts you provide.

This program is based on the concept behind SuperMemo Plan, which is a game-changing piece of software that will... well, change your life for the better.

This Python program is not intended to be a complete replacement for SuperMemo Plan, but rather as a starting point for further development and expansion. I'm hoping for this to serve as a skeleton for something more considerable.

How do you use it?

Very simple:

  1. Put the txt file in the same location as the code
  2. Run the program and enter the list of the activities which you want to do today
  3. Enter the desired number of minutes which you would like to spend on each of these activities
  4. Let the program give you a more realistic number of minutes for each of your activities

Contributing

The program is still a massive work-in-progress. If you would like to contribute, then please do so!

You can fork this project and build something pretty :).

Not sure what you should be aiming for? Read this guide to find out about how the original SuperMemo Plan is supposed to work. Then simply transform those concepts into Python letters and numbers to bring it to life.

Feel free to contact me if you get stuck, I will be more than happy to help!

Changelog

  • 26/08/2022
    • You can now move tasks up and down.
    • The program now clears the screen to give you a better experience.
  • 24/08/2022
    • You can now find out the time at which the day ends (it is printed out as $$END$$ at the end of the activity list)
  • 23/08/2022
    • The program now adds the number of daily work hours to time.txt. This means that the program will now remember the number of work hours. I wanted to avoid the use of another text file, but, unfortunately, this turned out to be the easiest way. If you have another idea, let me know!
  • 09/08/2022
    • File validation added.
  • 06/08/2022
    • Added the Rigid feature.

TODO list

To be done

  • Create timer
  • Create GUI (perhaps use Gooey as it is quick and easy)
    • Or perhaps create a TUI using something like asciimatics (I like this one a lot)
  • Add Fixed feature (I need to first figure out the maths behind it). Or maybe we should make this app different to the original (in the sense that it will not have a fixed feature. We'll see)
  • Add ability to make the name of the text file change according to the (chosen) date. But this can be done later: "data.txt" should do for now.

Done

  • Add ability to move activities up and down
  • Feature that tells the user the time at which the day ends
  • Make the program remember the number of daily working hours. This is added to time.txt
  • File validation
  • Add Rigid feature
  • Need to make the program figure out the start time based on ActLen
  • Need to make the program add the start time to the CSV
  • Let the user enter their own start time
  • There is an issue where ActLen is not being written into the CSV file
  • Think about whether we should use Pandas or JSON. The reason being is that, currently, Pandas uses about 30 Mb of RAM, whereas JSON uses 2 Mb.
    • Furthermore, Pandas is a somewhat esoteric library, and few people will be comfortable using it. Therefore, this could limit the number of contributors.
  • Print the index of each activity to make it easier for the user to delete something