Use dict in fakemobileclient for data, add default to BeaconMeasurementDataSchema (#206)
* Fakemobileclient should return a dict of wifi.data, instead of data, since we have bluetooth beacons too * Use dict instead of list for beacon measurement in fakemobileclient and editor script * Use distance directly * BeaconMeasurementDataSchema add default
This commit is contained in:
parent
ac1650e3bc
commit
82b13e16a0
5 changed files with 8 additions and 5 deletions
|
@ -1599,6 +1599,7 @@ editor = {
|
|||
editor._scancollector_data.wifi.push(data);
|
||||
$collector.find('.wifi-count').text(editor._scancollector_data.wifi.length);
|
||||
$collector.siblings('[name=data]').val(JSON.stringify(editor._scancollector_data));
|
||||
$collector.siblings('[name=data]').text(JSON.stringify(editor._scancollector_data));
|
||||
},
|
||||
_scancollector_ibeacon_result: function (data) {
|
||||
var $collector = $('#sidebar').find('.scancollector.running'),
|
||||
|
@ -1636,6 +1637,7 @@ editor = {
|
|||
editor._scancollector_data.ibeacon.push(data);
|
||||
$collector.find('.ibeacon-count').text(editor._scancollector_data.ibeacon.length);
|
||||
$collector.siblings('[name=data]').val(JSON.stringify(editor._scancollector_data));
|
||||
$collector.siblings('[name=data]').text(JSON.stringify(editor._scancollector_data));
|
||||
},
|
||||
_wifi_scan_waits: false,
|
||||
_scancollector_wifi_scan_perhaps: function () {
|
||||
|
|
|
@ -433,7 +433,8 @@ class BeaconMeasurement(SpaceGeometryMixin, models.Model):
|
|||
verbose_name=_('author'))
|
||||
comment = models.TextField(null=True, blank=True, verbose_name=_('comment'))
|
||||
data: BeaconMeasurementDataSchema = SchemaField(BeaconMeasurementDataSchema,
|
||||
verbose_name=_('Measurement list'))
|
||||
verbose_name=_('Measurement list'),
|
||||
default=BeaconMeasurementDataSchema())
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('Beacon Measurement')
|
||||
|
|
|
@ -124,7 +124,7 @@ class Locator:
|
|||
continue
|
||||
peer_id = self.get_peer_id(scan_value.bssid, create=create_peers)
|
||||
if peer_id is not None:
|
||||
result[peer_id] = ScanDataValue(rssi=scan_value.rssi, distance=scan_value.get("distance", None))
|
||||
result[peer_id] = ScanDataValue(rssi=scan_value.rssi, distance=scan_value.distance)
|
||||
return result
|
||||
|
||||
def convert_ibeacon_scan(self, scan_data: list[LocateIBeaconPeerSchema], create_peers=False) -> ScanData:
|
||||
|
|
|
@ -13,8 +13,8 @@ mobileclient = {
|
|||
console.log('mobileclient: scanNow');
|
||||
if (mobileclient.wait) return;
|
||||
mobileclient.wait = true;
|
||||
$.getJSON('http://localhost:'+String(mobileclient.port)+'/scan', function(data) {
|
||||
mobileclient.setNearbyStations(data.data);
|
||||
$.getJSON('http://localhost:'+String(mobileclient.port)+'/scan', function(response) {
|
||||
mobileclient.setNearbyStations(response.wifi);
|
||||
}).always(function() {
|
||||
mobileclient.wait = false;
|
||||
});
|
||||
|
|
|
@ -46,7 +46,7 @@ class FakeMobileClientHandler(http.server.BaseHTTPRequestHandler):
|
|||
self.send_header('Content-Type', 'application/json')
|
||||
self.send_header('Access-Control-Allow-Origin', '*')
|
||||
self.end_headers()
|
||||
self.wfile.write(json.dumps({'data': stations}).encode())
|
||||
self.wfile.write(json.dumps({'wifi':stations}).encode())
|
||||
return True
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue