Compare commits

...

3 Commits

3 changed files with 16 additions and 10 deletions

View File

@ -1,4 +1,5 @@
import json
import copy
from slugify import slugify
from threading import Thread, Event
from datetime import datetime, timedelta
@ -33,7 +34,7 @@ class Notifier(Thread):
ps = ps[0]
print("Sending notification", arrival, ps)
print("Sending notification", arrival, ps, self.vapid_creds)
subscription = ps['sub']
notification = {
@ -41,13 +42,15 @@ class Notifier(Thread):
'body': "You didn't sign out of ftracker yet",
'arr': arrival
}
privkey = self.vapid_creds['private_key']
claims = copy.copy(self.vapid_creds['claims'])
try:
webpush(
subscription,
json.dumps(notification),
vapid_private_key = self.vapid_creds['private_key'],
vapid_claims = self.vapid_creds['claims']
vapid_private_key = privkey,
vapid_claims = claims
)
print("Notification sent")
return None

View File

@ -46,12 +46,13 @@
<a href="/view">View Data</a>,
<a href="/QRgen">Door Sign Generator</a>,
<a href="/?arrival=42">Test Arrival</a>,
<a href="/?departure=42">Test Departure</a><br><br>
<a href="/?departure=42">Test Departure</a>,
<a href="javascript:localStorage.removeItem('pushsub')">Reset Push Subscription</a><br><br>
&copy; 2020 made by <a target="_blank" href="mailto:&#111;&#46;&#119;&#105;&#110;&#107;&#101;&#108;&#115;&#64;&#102;&#97;&#115;&#116;&#116;&#117;&#98;&#101;&#46;&#100;&#101;">Oskar</a>
for <a target="_blank" href="//fasttube.de">FaSTTUBe</a>.<br>
For source code & licensing see <a href="//git.fasttube.de/FaSTTUBe/ftracker">git repo</a>
</div>
<form id="mainform" style="display: none">
<form id="mainform" action="javascript:void(0);" style="display: none">
<label>
Full Name:<br>
<input type="text" name="name" id="name" placeholder="John Doe" required>

View File

@ -268,16 +268,18 @@ function registerPush(name, pushServerPublicKey) {
}).then(function(subscription) {
console.log("User is subscribed:", subscription);
var jsonSub = JSON.stringify({
name: name,
sub: subscription
});
fetch('/pushsubscribe', {
method: "POST",
headers: {"Content-Type": "application/json"},
body: JSON.stringify({
name: name,
sub: subscription
})
body: jsonSub
}).then(function(res) {
if (res.ok)
localStorage.setItem('pushsub', subscription);
localStorage.setItem('pushsub', jsonSub);
});
});
});