import os
import traceback
+import asciichartpy as asciichartpy
from tabulate import tabulate
import ntclient.services.analyze
_epley = calc.orm_epley(weight, reps)
_brzycki = calc.orm_brzycki(weight, reps)
_dos_remedios = calc.orm_dos_remedios(weight, reps)
+ _average = {
+ n: (_epley[n] + _brzycki[n] + _dos_remedios[n]) / 3
+ for n in sorted(_epley.keys())
+ }
result = {"epley": _epley, "brzycki": _brzycki, "dos_remedios": _dos_remedios}
_table = tabulate(_all, headers=["n", "epl", "brz", "rmds"])
print(_table)
+ # Print graph
+ # TODO: make this a configurable height?
+ _plot = asciichartpy.plot(sorted(_average.values(), reverse=True), {"height": 20})
+ print(_plot)
+
return 0, result
# 1 rep max
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-# The only ones displayed in the result table
-common_n_reps = (1, 2, 3, 5, 6, 8, 10, 12, 15, 20)
+# The rep values used in the calculation
+COMMON_N_REPS_MIN = 1
+COMMON_N_REPS_MAX = 20
+COMMON_N_REPS = range(COMMON_N_REPS_MIN, COMMON_N_REPS_MAX)
+# common_n_reps = (1, 2, 3, 5, 6, 8, 10, 12, 15, 20)
def orm_epley(weight: float, reps: float) -> dict:
1,
)
- return {n_reps: max_weight(n_reps) for n_reps in common_n_reps}
+ return {n_reps: max_weight(n_reps) for n_reps in COMMON_N_REPS}
def orm_brzycki(weight: float, reps: float) -> dict:
1,
)
- return {n_reps: max_weight(n_reps) for n_reps in common_n_reps}
+ return {n_reps: max_weight(n_reps) for n_reps in COMMON_N_REPS}
def orm_dos_remedios(weight: float, reps: int) -> dict:
1,
)
- return {n_reps: max_weight(n_reps) for n_reps in common_n_reps}
+ return {n_reps: max_weight(n_reps) for n_reps in COMMON_N_REPS}
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~