def _onSaveAsTCX(self): tracks = self._getSelectedTracks() if not tracks: tracks = self.track_list # QMessageBox.information(self, 'No tracks selected', 'You need to select the tracks you want to save.') if not tracks: return if len(tracks) == 1: name = QFileDialog.getSaveFileName(self, 'Save file %s' % tracks[0]['name'], self._trackFilename(tracks[0]['name'], 'tcx'), filter='TCX (*.tcx)') if name: self._saveContent(name, tcx.bryton_gpx_to_tcx(tracks[0]['gpx'], pretty=True, device=self.device_info)) else: dir = QFileDialog.getExistingDirectory(self, 'Open Directory', '', QFileDialog.ShowDirsOnly) if not dir: return for t in tracks: name = path.join(str(dir), self._trackFilename(t['name'], 'tcx')) self._saveContent(name, tcx.bryton_gpx_to_tcx(t['gpx'], pretty=True, device=self.device_info))
def test_simple_lap_no_speed(self): gpx = GPXMock(tcx_templates.SIMPLE_NO_SPEED_LAPS) self.assertTrue(xml_testing.compare_xml_strings( tcx_templates.SIMPLE_NO_SPEED_RESULT.format(sport='Biking'), tcx.bryton_gpx_to_tcx(gpx, pretty=True))) self.assertTrue(xml_testing.compare_xml_strings( tcx_templates.SIMPLE_NO_SPEED_RESULT.format(sport='Running'), tcx.bryton_gpx_to_tcx(gpx, activity_type='run', pretty=True))) self.assertTrue(xml_testing.compare_xml_strings( tcx_templates.SIMPLE_NO_SPEED_RESULT.format(sport='Other'), tcx.bryton_gpx_to_tcx(gpx, activity_type='other', pretty=True)))
def test_lap_with_cadence(self): gpx = GPXMock(tcx_templates.SIMPLE_CADENCE_LAPS) self.assertTrue(xml_testing.compare_xml_strings( tcx_templates.SIMPLE_CADENCE_RESULT_BIKING, tcx.bryton_gpx_to_tcx(gpx, pretty=True) )) self.assertTrue(xml_testing.compare_xml_strings( tcx_templates.SIMPLE_CADENCE_RESULT_RUNNING, tcx.bryton_gpx_to_tcx(gpx, activity_type='run', pretty=True) ))
def _doUpload(self): if self.current_track is None or self._aborted: return track, track_type = self.current_track self.statusMessage.emit('Uploading {0}'.format(track['name'])) log.debug('Sending upload request (%s)', track['name']) # data_fields, data = bryton_gpx_to_strava_json(track['gpx']) data = tcx.bryton_gpx_to_tcx(track['gpx'], activity_type=track_type, pretty=False, device=self.device_info) req = QNetworkRequest(QUrl(self.UPLOAD)) req.setHeader(QNetworkRequest.ContentTypeHeader, "application/json") # d2 = json.loads(open('tmp/test.json').read()) # d2['token'] = self.auth_token # self.reply = self.network_manager.post(req, json.dumps(d2)) self.reply = self.network_manager.post(req, json.dumps({ 'token' : self.auth_token, 'type' : 'tcx', 'data' : data, 'activity_type' : track_type, })) self.reply.finished.connect(self._onUploaded)
def test_lap_with_multiple_laps(self): gpx = GPXMock(tcx_templates.SIMPLE_WITH_MULTIPLE_LAPS) self.assertTrue(xml_testing.compare_xml_strings( tcx_templates.SIMPLE_WITH_MULTIPLE_LAPS_RESULT.format(sport='Biking'), tcx.bryton_gpx_to_tcx(gpx, pretty=True)))
def test_lap_with_pause(self): gpx = GPXMock(tcx_templates.SIMPLE_WITH_PAUSE) self.assertTrue(xml_testing.compare_xml_strings( tcx_templates.SIMPLE_WITH_PAUSE_RESULT.format(sport='Biking'), tcx.bryton_gpx_to_tcx(gpx, pretty=True)))
def test_with_device(self): gpx = GPXMock(tcx_templates.SIMPLE_SPEED_LAPS) self.assertTrue(xml_testing.compare_xml_strings( tcx_templates.SIMPLE_SPEED_RESULT_WITH_DEVICE.format(sport='Biking'), tcx.bryton_gpx_to_tcx(gpx, pretty=True, device={ 'name' : 'Rider40', 'serial' : '12345', 'rev' : '005', 'firmware' : 'R026', }) ))