
    Mg                     z    S SK r S SKJr  S SKJr  S SK7  S rS rS rS rS	 r	S
 r
S rS r\" S5      S 5       rg)    N)Fore)plugin)*c                 Z    U S:  a  SnU$ U S:  a  SnU$ U S:  a  SnU$ U S:  a  SnU$ SnU$ )	N      2   -   K   <   d   Z    maximumrests     =/Users/admin/workspace/ai/Jarvis/jarviscli/plugins/workout.pypush_compute_restr   	   s`    | K 
2 K 
2
 K	 
3 K K    c                 ,    U S-  S-  n[        U5      nU$ )N      intr   jarvisnums      r   push_compute_numr      s    
A+
C
c(CJr   c                 Z    U S:  a  SnU$ U S:  a  SnU$ U S:  a  SnU$ U S:  a  SnU$ S	nU$ )
N
   r      r
      r   r   r   r   r   r   s     r   pull_compute_restr#      s`    | K 
2 K 
2
 K	 
2 K Kr   c                 ,    U S-  S-  n[        U5      nU$ )Ng      ?r   r   r   s      r   pull_compute_numr%   +   s    
C-1
C
c(CJr   c                 p    [        U SS5       H%  n[        US5        [        R                  " S5        M'     g )Nr   zsec left   )rangeprinttimesleep)r   is     r   timerr.   1   s*    4Ba

1  r   c           	          [        U5      nUS:  a,  U R                  S[        R                  5        [        U 5        g [        X 5      n[        U5      nU R                  S[        US-   5      -   S-   [        US-   5      -   S-   [        U5      -   S-   [        US-
  5      -   S-   [        US-
  5      -   S-   [        U5      -   S	-   [        R                  5        U R                  S
[        R                  5      nUS:X  d  US:X  a  [        U 5        g US:X  d  US:X  Ga?  [        SS5       H  n[        S[        U5      -   S[        US-   U-
  5      -   S-   [        S9  U R                  S[        U5      -   S-   [        US-   U-
  5      -   S-   [        R                  5        U R                  S[        R                  5        U R                  S[        U5      -   S-   [        R                  5        U R                  S[        R                  5        [        U5        M     U R                  S[        US-  5      -   S-   [        R                  5        [        U 5        g U R                  S[        R                  5        [        U 5        g ! [         a.    U R                  S[        R                  5        [        U 5         g f = f)NPlease enter an integer only!r!   zFFirstly, try to reach your maximum to at least 15, then call me again!Your program for today is [r   , r(   ] and  sec rest in between#Type 's' to start and 'q' for quit
'q'q's's   
Start Set Do    z pushupsurgency - Do Press enter after finishingRest:  sec...,I will notice you when to start the next setWell done, you performed r   5Incorrect input, please write either 'push' or 'pull')r   BaseExceptionsayr   BLUEquitr   r   strinputGREENr)   notifyNOTIFY_NORMALr.   r   r9   r   r   r   r-   s         r   pushupsrQ   7   sv   a&
 |

TVZV_V_	aV
7
+CW%D
JJ,s37|;dBSq\QTXX[^_b[ccfjjmpan cAg,')1247I>@VWX\XaXac;TZZHA	U
a3hV
u*Sq!A<#a&(%#cAgk2B*B+'46JJ|c!f,x737Q;'(*456:iiALL6

CJJx#d)+i7CJJ>		K$K  	

.sQw< ",-.2ii	9V

CTYY	PVC  

2DII>Vs   J 5KKc           	          [        U5      nUS:  a,  U R                  S[        R                  5        [        U 5        g [        X 5      n[        U5      nU R                  S[        US-   5      -   S-   [        US-   5      -   S-   [        U5      -   S-   [        US-
  5      -   S-   [        US-
  5      -   S-   [        U5      -   S	-   [        R                  5        U R                  S
[        R                  5      nUS:X  d  US:X  a  [        U 5        g US:X  d  US:X  GaO  [        SS5       GH   nUS-   U-
  S:X  a    O[        S[        U5      -   S[        US-   U-
  5      -   S-   [        S9  U R                  S[        U5      -   S-   [        US-   U-
  5      -   S-   [        R                  5        U R                  S[        R                  5        U R                  S[        U5      -   S-   [        R                  5        U R                  S[        R                  5        [        U5        GM     U R                  S[        US-  5      -   S-   [        R                  5        [        U 5        g U R                  S5        [        U 5        g ! [         a.    U R                  S[        R                  5        [        U 5         g f = f)Nr0      zEFirstly, try to reach your maximum to at least 7, then call me again!r1   r   r2   r(   r3   r4   r5   r6   r7   r8   r9   r:   r=   r   r;   r<   z pullupsr>   r@   rA   rB   rC   rD   rE   r   rF   )r   rG   rH   r   rI   rJ   r%   r#   rK   rL   rM   r)   rN   rO   r.   rP   s         r   pullupsrT   ^   s   a&
 {

SUYU^U^	`V
7
+CW%D
JJ,s37|;dBSq\QTXX[^_b[ccfjjmpan cAg,')1247I>@VWX\XaXac;TZZHA	U
a3hV
u*Sq!Aa!q <#a&(%#cAgk2B*B+'46JJ|c!f,x737Q;'(*456:iiALL6

CJJx#d)+i7CJJ>		K$K  	

.sQw< ",-.2ii	9V

JKVE  

2DII>Vs   J 5KKc                 D    U R                  S[        R                  5        g )NzStay fit - do workout!)rH   r   rI   )r   s    r   rJ   rJ      s    
JJ'3r   workoutc                    U R                  S[        R                  5      nUS:X  d  US:X  a  [        U 5        gUS:X  d  US:X  a,  U R                  S[        R                  5      n[	        X5        gUS:X  d  US:X  a,  U R                  S	[        R                  5      n[        X5        gU R                  S
[        R                  5        [        U 5        g)zProvides a workout programm according to user's abilities
Formula to generate a relevant program is taken from:
https://www.gbpersonaltraining.com/how-to-perform-100-push-ups/zRChoose an exercise. Write 'push' for pushups, 'pull' for pullups and 'q' for quit
r6   r7   z'push'pushz9How many times can you push up? Please enter an integer!
z'pull'pullz9How many times can you pull up? Please enter an integer!
rF   N)rL   r   rM   rJ   rQ   rT   rH   rI   )r   r9   s     r   rV   rV      s    
 	]_c_i_i	kA	U
a3hV
x-1;LLH$**V
x-1;LLH$**V

CTYY	PVr   )r+   coloramar   r   utilities.notificationr   r   r#   r%   r.   rQ   rT   rJ   rV   r   r   r   <module>r\      sT       $$N%P4 	 r   