summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-06-09 12:47:06 +1000
committerGitHub <noreply@github.com>2025-06-09 12:47:06 +1000
commit1f7ce345ad2b4487d0331bced2e592714a945080 (patch)
tree4cb24f178bbbebd1f828eb6df440c759229d6941
parentreadme: add how to start in usage section (diff)
parentrefactor(network): add bssid to AccessPoint component (diff)
downloadcaelestia-shell-1f7ce345ad2b4487d0331bced2e592714a945080.tar.gz
caelestia-shell-1f7ce345ad2b4487d0331bced2e592714a945080.tar.bz2
caelestia-shell-1f7ce345ad2b4487d0331bced2e592714a945080.zip
Merge pull request #9 from PiotrekB416/fix/network-service
Network service fixes
-rwxr-xr-xassets/realtime-beat-detector.py2
-rw-r--r--services/Network.qml13
2 files changed, 9 insertions, 6 deletions
diff --git a/assets/realtime-beat-detector.py b/assets/realtime-beat-detector.py
index dfecad6..0f4f54a 100755
--- a/assets/realtime-beat-detector.py
+++ b/assets/realtime-beat-detector.py
@@ -1,4 +1,4 @@
-#!/bin/python
+#!/usr/bin/env python
import pyaudio
import numpy as np
diff --git a/services/Network.qml b/services/Network.qml
index 49d61f8..b4827c8 100644
--- a/services/Network.qml
+++ b/services/Network.qml
@@ -23,29 +23,31 @@ Singleton {
Process {
id: getNetworks
running: true
- command: ["sh", "-c", `nmcli -g ACTIVE,SIGNAL,FREQ,SSID d w | jq -cR '[(inputs / ":") | select(.[3] | length >= 4)]'`]
+ command: ["sh", "-c", `nmcli -g ACTIVE,SIGNAL,FREQ,SSID,BSSID d w | jq -ncR '[(inputs | split("(?<!\\\\\\\\):"; "g")) | select(.[3] | length >= 4)]'`]
stdout: SplitParser {
onRead: data => {
- const networks = JSON.parse(data).map(n => [n[0] === "yes", parseInt(n[1]), parseInt(n[2]), n[3]]);
+ const networks = JSON.parse(data).map(n => [n[0] === "yes", parseInt(n[1]), parseInt(n[2]), n[3], n[4].replace(/\\/g, "")]);
const rNetworks = root.networks;
- const destroyed = rNetworks.filter(rn => !networks.find(n => n[2] === rn.frequency && n[3] === rn.ssid));
+ const destroyed = rNetworks.filter(rn => !networks.find(n => n[2] === rn.frequency && n[3] === rn.ssid && n[4] === rn.bssid));
for (const network of destroyed)
rNetworks.splice(rNetworks.indexOf(network), 1).forEach(n => n.destroy());
for (const network of networks) {
- const match = rNetworks.find(n => n.frequency === network[2] && n.ssid === network[3]);
+ const match = rNetworks.find(n => n.frequency === network[2] && n.ssid === network[3] && n.bssid === network[4]);
if (match) {
match.active = network[0];
match.strength = network[1];
match.frequency = network[2];
match.ssid = network[3];
+ match.bssid = network[4];
} else {
rNetworks.push(apComp.createObject(root, {
active: network[0],
strength: network[1],
frequency: network[2],
- ssid: network[3]
+ ssid: network[3],
+ bssid: network[4]
}));
}
}
@@ -55,6 +57,7 @@ Singleton {
component AccessPoint: QtObject {
required property string ssid
+ required property string bssid
required property int strength
required property int frequency
required property bool active