workouttypes = ( ('water','Standard Racing Shell'), ('rower','Indoor Rower'), ('skierg','Ski Erg'), ('bike','Bike Erg'), ('dynamic','Dynamic Indoor Rower'), ('slides','Indoor Rower on Slides'), ('paddle','Paddle Adapter'), ('snow','On-snow'), ('coastal','Coastal'), ('c-boat','Dutch C boat'), ('churchboat','Finnish Church boat'), ('Ride','Ride'), ('Run','Run'), ('NordicSki','NordicSki'), ('Swim','Swim'), ('Hike','Hike'), ('Walk','Walk'), ('Canoeing','Canoeing'), ('Crossfit','Crossfit'), ('StandUpPaddling','StandUpPaddling'), ('IceSkate','IceSkate'), ('WeightTraining','WeightTraining'), ('InlineSkate','InlineSkate'), ('Kayaking','Kayaking'), ('Workout','Workout'), ('other','Other'), ) stravamapping = { 'water':'Rowing', 'rower':'Rowing', 'skierg':'NordicSki', 'bike':'Ride', 'dynamic':'Rowing', 'slides':'Rowing', 'paddle':'StandUpPaddling', 'snow':'NordicSki', 'coastal':'Rowing', 'c-boat':'Rowing', 'churchboat':'Rowing', 'Ride':'Ride', 'Run':'Run', 'NordicSki':'NordicSki', 'Swim':'Swim', 'Hike':'Hike', 'Walk':'Walk', 'Canoeing':'Canoeing', 'Crossfit':'Crossfit', 'StandUpPaddling':'StandUpPaddling', 'IceSkate':'IceSkate', 'WeightTraining':'WeightTraining', 'InlineSkate':'InlineSkate', 'Kayaking':'Kayaking', 'Workout':'Workout', 'other':'Workout', } stmapping = { 'water':'Rowing', 'rower':'Rowing', 'skierg':'Skiing:Nordic', 'bike':'Cycling', 'dynamic':'Rowing', 'slides':'Rowing', 'paddle':'Other:Paddling', 'snow':'Skiing:Nordic', 'coastal':'Rowing', 'c-boat':'Rowing', 'churchboat':'Rowing', 'Ride':'Cycling', 'Run':'Running', 'NordicSki':'Skiing:Nordic', 'Swim':'Swimming', 'Hike':'Hiking', 'RollerSki':'Other:RollerSki', 'Walk':'Other:Walk', 'Canoeing':'Other:Canoeing', 'Crossfit':'Other:Crossfit', 'StandUpPaddling':'Other:StandUpPaddling', 'IceSkate':'Skating', 'WeightTraining':'Other:WeightTraining', 'InlineSkate':'Skating:InlineSkate', 'Kayaking':'Other:Kayaking', 'Workout':'Other:Workout', 'other':'Other', } rkmapping = { 'water':'Rowing', 'rower':'Rowing', 'skierg':'Cross-Country Skiing', 'bike':'Cycling', 'dynamic':'Rowing', 'slides':'Rowing', 'paddle':'Other:Paddling', 'snow':'Cross-Country Skiing', 'coastal':'Rowing', 'c-boat':'Rowing', 'churchboat':'Rowing', 'Ride':'Cycling', 'Run':'Running', 'NordicSki':'Cross-Country Skiing', 'Swim':'Swimming', 'Hike':'Hiking', 'Walk':'Walking', 'Canoeing':'Other', 'Crossfit':'CrossFit', 'StandUpPaddling':'Other', 'IceSkate':'Skating', 'WeightTraining':'Other', 'InlineSkate':'Skating', 'Kayaking':'Other', 'Workout':'Other', 'other':'Other', } polarmapping = { 'water':'Rowing', 'rower':'Rowing', 'skierg':'Skiing', 'bike':'Cycling', 'dynamic':'Rowing', 'slides':'Rowing', 'paddle':'Other Outdoor', 'snow':'Skiing', 'coastal':'Rowing', 'c-boat':'Rowing', 'churchboat':'Rowing', 'Ride':'Cycling', 'Run':'Running', 'NordicSki':'Skiing', 'Swim':'Swimming', 'Hike':'Hiking', 'Walk':'Walking', 'Canoeing':'Canoeing', 'Crossfit':'Crossfit', 'StandUpPaddling':'Other Outdoor', 'IceSkate':'Skating', 'WeightTraining':'Strength training', 'InlineSkate':'Skating', 'Kayaking':'Kayaking', 'Workout':'Other Indoor', 'other':'Other Indoor', } tpmapping = { 'water':'rowing', 'rower':'rowing', 'skierg':'xc-ski', 'bike':'bike', 'dynamic':'rowing', 'slides':'rowing', 'paddle':'other', 'snow':'xc-ski', 'coastal':'rowing', 'c-boat':'rowing', 'churchboat':'rowing', 'Ride':'cycling', 'Run':'run', 'NordicSki':'xc-ski', 'Swim':'swim', 'Hike':'other', 'Walk':'walk', 'Canoeing':'other', 'Crossfit':'other', 'StandUpPaddling':'other', 'IceSkate':'other', 'WeightTraining':'strength', 'InlineSkate':'other', 'Kayaking':'other', 'Workout':'other', 'other':'other', } c2mapping = { 'water':'water', 'rower':'rower', 'skierg':'skierg', 'bike':'bike', 'dynamic':'dynamic', 'slides':'slides', 'paddle':'paddle', 'snow':'snow', 'coastal':'water', 'c-boat':'water', 'churchboat':'water', 'Ride':'bike', 'Run':None, 'NordicSki':'snow', 'Swim':None, 'Hike':None, 'Walk':None, 'Canoeing':'paddle', 'Crossfit':None, 'StandUpPaddling':None, 'IceSkate':None, 'WeightTraining':None, 'InlineSkate':None, 'Kayaking':None, 'Workout':None, 'other':None, } c2mappinginv = {value:key for key,value in c2mapping.iteritems() if value is not None} stravamappinginv = {value:key for key,value in stravamapping.iteritems() if value is not None} stmappinginv = {value:key for key,value in stmapping.iteritems() if value is not None} rkmappinginv = {value:key for key,value in rkmapping.iteritems() if value is not None} polarmappinginv = {value:key for key,value in polarmapping.iteritems() if value is not None} otwtypes = ( 'water', 'coastal', 'c-boat', 'churchboat' ) rowtypes = ( 'water', 'rower', 'dynamic', 'slides', 'coastal', 'c-boat', 'churchboat' ) checktypes = [i[0] for i in workouttypes] workoutsources = ( ('strava','strava'), ('concept2','concept2'), ('sporttracks','sporttracks'), ('runkeeper','runkeeper'), ('mapmyfitness','mapmyfitness'), ('csv','painsled'), ('tcx','tcx'), ('rp','rowperfect'), ('mystery','mystery'), # ('tcxnohr','tcx (no HR)'), ('rowperfect3','rowperfect3'), ('ergdata','ergdata'), ('boatcoach','boatcoach'), ('boatcoachotw','boatcoachotw'), # ('bcmike','boatcoach (develop)'), ('painsleddesktop','painsleddesktop'), ('speedcoach','speedcoach'), ('speedcoach2','speedcoach2'), ('ergstick','ergstick'), ('fit','fit'), ('unknown','unknown')) boattypes = ( ('1x', '1x (single)'), ('2x', '2x (double)'), ('2x+', '2x+ (coxed double)'), ('2-', '2- (pair)'), ('2+', '2+ (coxed pair)'), ('3x+','3x+ (coxed triple)'), ('3x-','3x- (triple)'), ('4x', '4x (quad)'), ('4x+', '4x+ (coxed quad)'), ('4-', '4- (four)'), ('4+', '4+ (coxed four)'), ('8+', '8+ (eight)'), ('8x+', '8x+ (octuple scull)'), ) waterboattype = [i[0] for i in boattypes] privacychoices = ( ('private','Private'), ('visible','Visible'), )