[PATCH v4 2/2] fff-web: Externalize iwinfo in wifiscan.html

Adrian Schmutzler freifunk at adrianschmutzler.de
So Jan 21 15:54:30 CET 2018


This prepares for later extensions

Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>

---

Introduced in v3.

Changes in v4:
- Fixed regex replacement.
---
 .../fff/fff-web/files/www/ssl/cgi-bin/wifiscan.html   | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/wifiscan.html b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/wifiscan.html
index 378896e..3ceb5d0 100755
--- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/wifiscan.html
+++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/wifiscan.html
@@ -1,6 +1,19 @@
 #!/usr/bin/haserl
 
 <%in /www/ssl/cgi-bin/header %>
+<%
+readIWinfo() {
+	local iface=$1
+	local ssid=$2
+	local mac=$3
+
+	iwinfo "$iface" scan |\
+		awk -v RS='' \
+		'{r = gensub(/.*Address: ([0-9A-F:]*)?.*ESSID: "?([^"\n]*)"?.*Mode: ([^ ]*).*Channel: ([0-9]*).*Signal: (-[0-9]*) dBm.*Encryption: ([^"]*).*/, \
+		"<!-- \\5 --><tr><'${ssid}'>\\2</'${ssid}'><td>\\4</td><td>\\5 dBm</td><td>\\3</td><'${mac}'>\\1</'${mac}'><td>\\6</td></tr>", "g"); print r;}' | sort -n | sed 's#&#\&#'
+		# The HTML comment contains the signal quality to allow sorting
+}
+%>
 <table style="width: 100%">
 <tr><td>
 <fieldset>
@@ -16,11 +29,7 @@
 		</tr>
 
 <%
-iwinfo w2mesh scan |\
-	awk -v RS='' \
-	'{r = gensub(/.*Address: ([0-9A-F:]*)?.*ESSID: "?([^"\n]*)"?.*Mode: ([^ ]*).*Channel: ([0-9]*).*Signal: (-[0-9]*) dBm.*Encryption: ([^"]*).*/, \
-	"<!-- \\5 --><tr><td>\\2</td><td>\\4</td><td>\\5 dBm</td><td>\\3</td><td>\\1</td><td>\\6</td></tr>", "g"); print r;}' | sort -n | sed 's#&#\&#'
-	# The HTML comment contains the signal quality to allow sorting
+readIWinfo "w2mesh" "td" "td"
 %>
 	</table>
 </fieldset>
-- 
2.7.4



Mehr Informationen über die Mailingliste franken-dev