From 784ea72845b4b4c106795427115419375f27a8f5 Mon Sep 17 00:00:00 2001 From: brice Date: Sun, 13 Mar 2022 11:13:14 +0000 Subject: [PATCH] fix up fields update and order for running effeciency #98 --- ConnectStats/sqlite/README.md | 4 +++ ConnectStats/sqlite/build.py | 25 +++++++++++++----- .../sqlite/edit/gc_fields_manual.xlsx | Bin 14915 -> 15775 bytes ConnectStats/sqlite/out/fields.db | Bin 86016 -> 86016 bytes ConnectStats/sqlite/out/fields.json | 15 +++++++++++ ConnectStats/src/GCActivity+Fields.m | 2 +- ConnectStats/src/GCField.m | 2 +- 7 files changed, 40 insertions(+), 8 deletions(-) diff --git a/ConnectStats/sqlite/README.md b/ConnectStats/sqlite/README.md index bb49dd1c..c553446b 100644 --- a/ConnectStats/sqlite/README.md +++ b/ConnectStats/sqlite/README.md @@ -1,5 +1,8 @@ # Update Fields + + + build.py will update fields.db from: - files in cache directory are cached translated fields in multiple languages @@ -9,6 +12,7 @@ build.py will update fields.db from: + ### Connect IQ Field 1. Same steps as above diff --git a/ConnectStats/sqlite/build.py b/ConnectStats/sqlite/build.py index f9353e54..29bfcb35 100755 --- a/ConnectStats/sqlite/build.py +++ b/ConnectStats/sqlite/build.py @@ -21,9 +21,15 @@ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. -# -# To rebuild db from legacy: -# ./build.py --init legacy -o out/fields.db build +# +# Regular Usage: +# Add field: +# edit edit/gc_fields_manual.xlsx +# edit edit/fields_order.xlsx +# rerun to update: +# ./build.py -v -b out/fields.db -i latest -o out/fields.json build edit/gc_fields_manual.xlsx edit/fields_order.xlsx +# +# # # To rebuild db adding changes for a file (example here edit/gc_fields_manual.xlsx) # -v : verbose @@ -32,6 +38,11 @@ # -o : save to fields.json # ./build.py -v -b out/fields.db -i latest -o out/fields.json build edit/gc_fields_manual.xlsx # then git diff will show what changed or use 'diff' as a command instead of 'build' +# +# +# To rebuild db from legacy: +# ./build.py --init legacy -o out/fields.db build +# import sqlite3 import argparse @@ -431,7 +442,7 @@ def add_category_and_order(self, info): if no activityType or null applies to all ''' rv = None - debug = (self.key == '__CalcLossElevation') + debug = (self.key == '__CalcRunningEffectiveness') if debug: print( f'add: {info}' ) @@ -766,7 +777,7 @@ def init_latest(self): self.types.verbose = self.verbose self.types.read_from_modern_json( 'download/activity_types_modern.json' ) if self.verbose: - print( 'read {}'.format( base ) ) + print( 'init with latest {}'.format( base ) ) self.types.read_from_db(base) self.fields = Fields(self.types) self.fields.verbose = self.verbose @@ -809,6 +820,8 @@ def init_empty(self): self.categories.verbose = self.verbose def cmd_build(self): + if self.verbose: + print( 'start build' ) for fn in self.args.files: self.process_file( fn ) @@ -863,7 +876,7 @@ def load_from_json(self,jname): def process_file(self,fn): if os.path.exists( fn ): if self.verbose: - print( 'read {}'.format( fn ) ) + print( 'process {}'.format( fn ) ) if fn.endswith( '.db' ) : self.load_db( fn ) elif fn.endswith( '.json' ): diff --git a/ConnectStats/sqlite/edit/gc_fields_manual.xlsx b/ConnectStats/sqlite/edit/gc_fields_manual.xlsx index 91f752709e614019477504a0d267d77a42955055..d113f48a306830a1b911bd1cf1a69e1c61138764 100644 GIT binary patch delta 5767 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 Q0Equww-dgS!u|95KbMtkod5s; delta 4889 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 r55>ebPaJVWPMNa_)ZsX&d-v delta 1517 zcmZWoZERCj81CDy+r8(WdvD7aZMS~6+xod~$j9b@FaRdO(e-W@SlPP~K2R zm4nJA#UwAvMR`hoPJT+>BAf6{oW~dNI8Na0*dpDMzLhRYlhU}0~rem8+|3(3M1Y(l*pE+1{(<(n=6Rc*QfQ~!SrSlG}=myR(6#~ zCkYtaR`|Wc>Ewp^eI2cC(#$>$fY;G)T>e5<}V432mT1l`YRLWWBLbXA@Sj^l+M^>ERL0Nov`XVQ|Ab zb}GzUnc2B8G=hnJ5(XcrY%$DFsW2P?2gq!HgkzW;kAN2>_G$#&H9mrjUAj6p8-aS^ z$iSe6{6u6*lwVw6o1>gx!wyGzlWI1`Q-hHo!~*g7?!-`UPg)!4KY48Ugf`-AB30~C z6arvi*P~oo&u|O44PFB5bPL#KGA(cx46*8KwC1PyG&x?KyY_p)mfkE_bZV{gqw=O@h+oH}_%QCkwbHV5MS4d%BRwtcmHbjQT11yo4xK~KA`R_D zF{Fyi;#F~0d{Z13`^8cB`QyY`_t$R;{H?}7*DSMyfbNN>#BJK8GhM-sh*_o}y6 z)GJ_FJx06ob@rADVb#ZFk8dDRdMs~+2z?>%gfN}TJ0L_q&-)-qZ{$4?pm@Or%`~!L zH~2^seSV=48tMBB9`MsEeDu*}Uhz^(!2=%JQE-Es9xAxNMV~3S>Yb=@^^$8{>md%B xEBL@pzbiOtOEEwlMKjdXSg{>!G*#RJR(ihJ4Ho)yu_5QV{0q!fwZcEH{{cznqa6SM diff --git a/ConnectStats/sqlite/out/fields.json b/ConnectStats/sqlite/out/fields.json index 0eb60937..1b50fd12 100644 --- a/ConnectStats/sqlite/out/fields.json +++ b/ConnectStats/sqlite/out/fields.json @@ -2091,6 +2091,10 @@ { "field": "__CalcRotationDevelopment" }, + { + "en": "Running Effectiveness", + "field": "__CalcRunningEffectiveness" + }, { "field": "__CalcStrideLength" }, @@ -2895,6 +2899,11 @@ "field": "__CalcRotationDevelopment", "field_order": 20 }, + { + "category": "running", + "field": "__CalcRunningEffectiveness", + "field_order": 5 + }, { "category": "run", "field": "__CalcStrideLength", @@ -3848,6 +3857,12 @@ "field": "__CalcBestRollingWeightedMeanSpeed", "metric": "kph", "statute": "mph" + }, + { + "activity_type": "running", + "field": "__CalcRunningEffectiveness", + "metric": "dimensionless", + "statute": "dimensionless" } ] } \ No newline at end of file diff --git a/ConnectStats/src/GCActivity+Fields.m b/ConnectStats/src/GCActivity+Fields.m index 146ac59e..0a73cd65 100644 --- a/ConnectStats/src/GCActivity+Fields.m +++ b/ConnectStats/src/GCActivity+Fields.m @@ -74,7 +74,7 @@ -(GCField*)fieldForKey:(NSString*)fieldkey{ @"WeightedMeanVerticalRatio", @"WeightedMeanAirTemperature", @"WeightedMeanLegSpringStiffness", - CALC_METABOLIC_EFFICIENCY, + CALC_RUNNING_EFFECTIVENESS, ], GC_TYPE_CYCLING:@[ @"SumDistance", diff --git a/ConnectStats/src/GCField.m b/ConnectStats/src/GCField.m index daa5b2db..2034cb8a 100644 --- a/ConnectStats/src/GCField.m +++ b/ConnectStats/src/GCField.m @@ -628,7 +628,7 @@ -(NSComparisonResult)compare:(id)other{ @[CALC_ASCENT_SPEED, CALC_MAX_ASCENT_SPEED], @[CALC_DESCENT_SPEED, CALC_MAX_DESCENT_SPEED], @[CALC_VERTICAL_SPEED, CALC_ASCENT_SPEED, CALC_DESCENT_SPEED], - @[CALC_METABOLIC_EFFICIENCY, CALC_RUNNING_EFFECTIVENESS, CALC_EFFICIENCY_FACTOR], + @[ CALC_RUNNING_EFFECTIVENESS, CALC_METABOLIC_EFFICIENCY, CALC_EFFICIENCY_FACTOR], ]; RZRetain(_groups);