bartman / progression-app-perl

decode backup files from the Progression app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

progression-app-perl

This repository hosts scripts used to decode *.progressionbackup files generated by the fitness tracker called "Progression".

See http://www.progression-app.com/ to learn more about Progression.

how can I get my data

If you export your workouts with Progression, you'll get a DATE TIME.progressionbackup file.

Alternatively you can use ./pull-from-device to copy the database from your device using ADB (fws.json, ms.json, ua.json, up.json) or some other means.

what can I do?

The main script is called weightxreps.pl, and it can read from aws.json or a *.progressionbackup file.

Specifying no other options will list all the workouts.

# ./weightxreps.pl -i data/2015-12-26-15-48-17.progressionbackup
...
[2]    <improvised>                      @ 2015/12/21 19:03:29 + 0.92 hours
[1]    B (squat, OHP, deadlift)          @ 2015/12/23 08:36:50 + 2.2 hours
[0]    A (squat, bench, row)             @ 2015/12/26 09:54:10 + 1.86 hours

# ./weightxreps.pl -i fws.json
...
[2]    5/3/1 D1 squat                    @ 2020/09/07 13:15:42 + 1.23 hours
[1]    5/3/1 D2 bench                    @ 2020/09/08 15:06:45 + 0.69 hours
[0]    5/3/1 D3 deadlift                 @ 2020/09/09 15:54:24 + 0.99 hours

Above, entries are listed in reverse-chronological order so that most recent sessions show up at the bottom. Each entry consists of session number, workout name (if you follow a schedule, or <improvised> if you do not), the starting date and time, and the duration.

Selecting a session, allows one to see the workout details in weightxreps.net journal format.

To generate a weightxreps journal entry, select a session and run...

# ./weightxreps.pl -i data/2015-12-26-15-48-17.progressionbackup -s 0
#squat
135 x 5
225 x 5 x 5
#bench-press
135 x 5
190 x 5 x 3
190 x 4 x 2
#barbell-row
135 x 5
170 x 5 x 5
#dips
BW x 10 x 3

# ./weightxreps.pl -i fws.json -s 0
[0]    5/3/1 D3 deadlift                 @ 2020/09/09 15:54:24 + 0.99 hours

#deadlift
135 x 10
165 x 5
205 x 5
245 x 5
315 x 5  R
355 x 3
390 x 10
390 x 5
315 x 10
205 x 10 x 5

Journal entries can also be generated for sessions(s) matching a date. As above select a date from the summary output and run...

# ./weightxreps.pl -i data/2015-12-26-15-48-17.progressionbackup -d 2015/12/26
...

Note that if multiple sessions match a single date, they will both be output.

See weightxreps.pl -help and -man for more information.

debug tools

There are also 2 scripts that can be used to dump the contents of the backup file (everything):

  • ./dump.pl <file> - builds a tree structure that's easy to look at.
  • ./dddump.pl <file> - fairly short, using Data::Dumper to generate crude output.

About

decode backup files from the Progression app


Languages

Language:Perl 97.3%Language:Shell 1.7%Language:Makefile 1.1%