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);
|
editor._scancollector_data.wifi.push(data);
|
||||||
$collector.find('.wifi-count').text(editor._scancollector_data.wifi.length);
|
$collector.find('.wifi-count').text(editor._scancollector_data.wifi.length);
|
||||||
$collector.siblings('[name=data]').val(JSON.stringify(editor._scancollector_data));
|
$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) {
|
_scancollector_ibeacon_result: function (data) {
|
||||||
var $collector = $('#sidebar').find('.scancollector.running'),
|
var $collector = $('#sidebar').find('.scancollector.running'),
|
||||||
|
@ -1636,6 +1637,7 @@ editor = {
|
||||||
editor._scancollector_data.ibeacon.push(data);
|
editor._scancollector_data.ibeacon.push(data);
|
||||||
$collector.find('.ibeacon-count').text(editor._scancollector_data.ibeacon.length);
|
$collector.find('.ibeacon-count').text(editor._scancollector_data.ibeacon.length);
|
||||||
$collector.siblings('[name=data]').val(JSON.stringify(editor._scancollector_data));
|
$collector.siblings('[name=data]').val(JSON.stringify(editor._scancollector_data));
|
||||||
|
$collector.siblings('[name=data]').text(JSON.stringify(editor._scancollector_data));
|
||||||
},
|
},
|
||||||
_wifi_scan_waits: false,
|
_wifi_scan_waits: false,
|
||||||
_scancollector_wifi_scan_perhaps: function () {
|
_scancollector_wifi_scan_perhaps: function () {
|
||||||
|
|
|
@ -433,7 +433,8 @@ class BeaconMeasurement(SpaceGeometryMixin, models.Model):
|
||||||
verbose_name=_('author'))
|
verbose_name=_('author'))
|
||||||
comment = models.TextField(null=True, blank=True, verbose_name=_('comment'))
|
comment = models.TextField(null=True, blank=True, verbose_name=_('comment'))
|
||||||
data: BeaconMeasurementDataSchema = SchemaField(BeaconMeasurementDataSchema,
|
data: BeaconMeasurementDataSchema = SchemaField(BeaconMeasurementDataSchema,
|
||||||
verbose_name=_('Measurement list'))
|
verbose_name=_('Measurement list'),
|
||||||
|
default=BeaconMeasurementDataSchema())
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = _('Beacon Measurement')
|
verbose_name = _('Beacon Measurement')
|
||||||
|
|
|
@ -124,7 +124,7 @@ class Locator:
|
||||||
continue
|
continue
|
||||||
peer_id = self.get_peer_id(scan_value.bssid, create=create_peers)
|
peer_id = self.get_peer_id(scan_value.bssid, create=create_peers)
|
||||||
if peer_id is not None:
|
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
|
return result
|
||||||
|
|
||||||
def convert_ibeacon_scan(self, scan_data: list[LocateIBeaconPeerSchema], create_peers=False) -> ScanData:
|
def convert_ibeacon_scan(self, scan_data: list[LocateIBeaconPeerSchema], create_peers=False) -> ScanData:
|
||||||
|
|
|
@ -13,8 +13,8 @@ mobileclient = {
|
||||||
console.log('mobileclient: scanNow');
|
console.log('mobileclient: scanNow');
|
||||||
if (mobileclient.wait) return;
|
if (mobileclient.wait) return;
|
||||||
mobileclient.wait = true;
|
mobileclient.wait = true;
|
||||||
$.getJSON('http://localhost:'+String(mobileclient.port)+'/scan', function(data) {
|
$.getJSON('http://localhost:'+String(mobileclient.port)+'/scan', function(response) {
|
||||||
mobileclient.setNearbyStations(data.data);
|
mobileclient.setNearbyStations(response.wifi);
|
||||||
}).always(function() {
|
}).always(function() {
|
||||||
mobileclient.wait = false;
|
mobileclient.wait = false;
|
||||||
});
|
});
|
||||||
|
|
|
@ -46,7 +46,7 @@ class FakeMobileClientHandler(http.server.BaseHTTPRequestHandler):
|
||||||
self.send_header('Content-Type', 'application/json')
|
self.send_header('Content-Type', 'application/json')
|
||||||
self.send_header('Access-Control-Allow-Origin', '*')
|
self.send_header('Access-Control-Allow-Origin', '*')
|
||||||
self.end_headers()
|
self.end_headers()
|
||||||
self.wfile.write(json.dumps({'data': stations}).encode())
|
self.wfile.write(json.dumps({'wifi':stations}).encode())
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue