Coder Social home page Coder Social logo

sepandhaghighi / mytimer Goto Github PK

View Code? Open in Web Editor NEW
85.0 4.0 5.0 866 KB

A Geeky Timer for Terminal Enthusiasts

License: MIT License

Python 96.81% Batchfile 1.57% Shell 1.61%
cli console console-app console-application python stopwatch terminal terminal-app terminal-based timer

mytimer's People

Contributors

dependabot[bot] avatar ghazalrafiei avatar sadrasabouri avatar sepandhaghighi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

mytimer's Issues

Input type

Description

hour, minute, and second types should be int

Add `pomodoro` program

Description

Add the Pomodoro timer program

  1. work program
  2. short-break program
  3. Go back to step 1 and repeat 4 times
  4. long-break program

The timer doesn't really works

Description

The timer is not correct. It fails counting time.
Launching a 20 minutes timer takes 19 minutes and 41 seconds instead of 20 minutes

Steps/Code to Reproduce

You can try this :

$ time mytimer --minute=20

Expected Behavior

We must get something like this :

mytimer --minute=20  2.36s user 0.99s system 0% cpu 20:00.00 total

Actual Behavior

When testing I got this :

mytimer --minute=20 --countdown  2.36s user 0.99s system 0% cpu 19:41.35 total

Add continue

Description

Add continue flag in countdown mode

Add `faces-list` argument

Description

Add --faces-list argument to show all faces with a sample.
Something like this:

mytimer --faces-list
Code: 1

 __  ___         ___   __         ___   _    
/  )(__ \   ()  (__ ) /. |   ()  | __) / )   
 )(  / _/        (_ \(_  _)      |__ \/ _ \  
(__)(____)  ()  (___/  (_)   ()  (___/\___/  

=============================================================================
Code: 2

 ,--.  ,---.           ,----.    ,---.          ,-----.   ,--.    
/   | '.-.  \   .--.   '.-.  |  /    |   .--.   |  .--'  /  .'    
`|  |  .-' .'   '--'     .' <  /  '  |   '--'   '--. `\ |  .-.    
 |  | /   '-.   .--.   /'-'  | '--|  |   .--.   .--'  / \   o |   
 `--' '-----'   '--'   `----'     `--'   '--'   `----'   `---'    

.
.
.

Add `programs-list` argument

Description

Add --programs-list argument to show the list of programs.
Something like this:

mytimer --programs-list
1. `poached-egg` - Poached egg (1.5 mins)
2. `boiled-egg` - Boiled egg (3 mins)
.
.
.

Add `v-shift` and `h-shift` arguments

Description

Add vertical/horizontal shift

Steps/Code to Reproduce

mytimer --v-shift=20 --h-shift=30

Expected Behavior

The starting position of the timer should be (30, 20).

Add programs

Description

Add different programs

Steps/Code to Reproduce

mytimer --program="green tea"

Add `noodle` program

Description

Add Noodle program

"noodle": {
        "hour": 0,
        "minute": 3,
        "second": 0,
        "alarm": 1,
        "alarm_repeat": 1,
        "face": 1,
        "tone": 1,
        "message": "Instant noodle (3 mins)"}

Add version flag

Description

Add version flag to mytimer.

Example:

mytimer --version

Auto alignment

Description

The feature of auto alignment adjusts the layout of the display based on the size of the terminal.

Add `work`/`break` programs

Description

Add work, short-break, and long-break programs.

"work": {
        "hour": 0,
        "minute": 25,
        "second": 0,
        "alarm": 1,
        "alarm_repeat": 1,
        "face": 1,
        "tone": 1,
        "message": "Time to Work (25 mins)"}
"short-break": {
        "hour": 0,
        "minute": 10,
        "second": 0,
        "alarm": 1,
        "alarm_repeat": 1,
        "face": 1,
        "tone": 1,
        "message": "Short Break (10 mins)"}
"long-break": {
        "hour": 0,
        "minute": 30,
        "second": 0,
        "alarm": 1,
        "alarm_repeat": 1,
        "face": 1,
        "tone": 1,
        "message": "Long Break (30 mins)"}

Tone bug

Description

It seems some tones are too short and is not possible to hear them!!

Steps/Code to Reproduce

mytimer --second=2 --alarm --tone=4

Expected Behavior

Alarm

Actual Behavior

No alarm

Operating System

Windows 10

Python Version

Python 3.8

MyTimer Version

0.7

Logo

Description

New logo

`japanese-green-tea` bug

Description

There seems to be an issue with the japanese-green-tea program.

Steps/Code to Reproduce

mytimer --program=japanese-green-tea

Expected Behavior

Work without problem

Actual Behavior

Traceback (most recent call last):
    ...
TypeError: inner_function() missing 1 required positional argument: 'tone'

Operating System

Windows 10

Python Version

3.8.2

MyTimer Version

MyTimer v0.9

Zero padding

Description

Print 01:02:23 instead of 1:2:23
To avoid display stretching, implementing this solution will prove to be helpful.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.