Beispiel #1
0
    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))
Beispiel #2
0
    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)))
Beispiel #3
0
    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)
            ))
Beispiel #4
0
    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)
Beispiel #5
0
    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)))
Beispiel #6
0
    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)))
Beispiel #7
0
    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',
            })
            ))