bug fix
This commit is contained in:
parent
2cc6afc5cf
commit
b4c7c505f0
@ -1 +1 @@
|
|||||||
{"feature": "Stocks", "speed": "medium", "animation": "down", "percent": false, "point": false, "logos": true, "chart": false, "title": true, "symbols": {"NEO,USD": {"current": 42.95, "24hr_change": -2.0434968411618937}, "BTC,USD": {"current": 60594, "24hr_change": -0.03867146261533629}, "ETH,BTC": {"current": 0.07020828, "24hr_change": -0.632522958888375}, "ADA,GBP": {"current": 1.39, "24hr_change": -2.1188381102215366}}}
|
{"feature": "Stocks", "speed": "medium", "animation": "down", "percent": false, "point": false, "logos": true, "chart": false, "title": true, "symbols": {"NEO,USD": {"current": 40.04, "24hr_change": -7.092150997474435}, "BTC,USD": {"current": 58197, "24hr_change": -3.8902517485472328}, "ETH,BTC": {"current": 0.07043227, "24hr_change": -3.9373132260122343}, "ADA,GBP": {"current": 1.32, "24hr_change": -5.336498540074388}}}
|
@ -1 +1 @@
|
|||||||
{"feature": "Current Weather", "speed": "medium", "animation": "down", "temp": "celsius", "wind_speed": "miles/sec", "colour": "white", "city_colour": "yellow", "title": true, "locations": {"Beijing": {"main_weather": "Clear", "description": "clear sky", "temp": -1.06, "min_temp": -1.06, "max_temp": 12.94, "feels_like": -1.06, "humidity": 49, "clouds": 0, "wind_speed": 0.71, "wind_direction": 25, "visibility": 10000, "uv": 0, "rain_chance": 0}, "London": {"main_weather": "Clouds", "description": "overcast clouds", "temp": 6.83, "min_temp": 6.83, "max_temp": 11.37, "feels_like": 4.93, "humidity": 88, "clouds": 100, "wind_speed": 2.68, "wind_direction": 268, "visibility": 10000, "uv": 0, "rain_chance": 0}, "Moscow": {"main_weather": "Clouds", "description": "overcast clouds", "temp": 0.41, "min_temp": -2.12, "max_temp": 0.41, "feels_like": -2.18, "humidity": 84, "clouds": 100, "wind_speed": 2.17, "wind_direction": 224, "visibility": 10000, "uv": 0, "rain_chance": 0}, "Tokyo": {"main_weather": "Clouds", "description": "broken clouds", "temp": 11.46, "min_temp": 11.46, "max_temp": 17.07, "feels_like": 10.52, "humidity": 71, "clouds": 75, "wind_speed": 0.89, "wind_direction": 346, "visibility": 10000, "uv": 0, "rain_chance": 0}}, "current_weather": true}
|
{"feature": "Current Weather", "speed": "medium", "animation": "down", "temp": "celsius", "wind_speed": "miles/sec", "colour": "white", "city_colour": "yellow", "title": true, "locations": {"London": {"main_weather": "Clouds", "description": "overcast clouds", "temp": 12.65, "min_temp": 7.04, "max_temp": 12.86, "feels_like": 12.22, "humidity": 86, "clouds": 90, "wind_speed": 4.12, "wind_direction": 240, "visibility": 10000, "uv": 0, "rain_chance": 0}, "Tokyo": {"main_weather": "Clouds", "description": "scattered clouds", "temp": 10.82, "min_temp": 10.82, "max_temp": 16.96, "feels_like": 9.92, "humidity": 75, "clouds": 40, "wind_speed": 0.89, "wind_direction": 301, "visibility": 10000, "uv": 0, "rain_chance": 0}, "Beijing": {"main_weather": "Clouds", "description": "overcast clouds", "temp": 7.94, "min_temp": 5.1, "max_temp": 9.51, "feels_like": 5.35, "humidity": 29, "clouds": 86, "wind_speed": 4.25, "wind_direction": 43, "visibility": 10000, "uv": 0, "rain_chance": 0}, "Moscow": {"main_weather": "Snow", "description": "light snow", "temp": -1.01, "min_temp": -2.28, "max_temp": 0.08, "feels_like": -6.37, "humidity": 73, "clouds": 48, "wind_speed": 5.33, "wind_direction": 223, "visibility": 10000, "uv": 0, "rain_chance": 0}}, "current_weather": true}
|
@ -1 +1 @@
|
|||||||
{"feature": "Current Weather", "speed": "medium", "animation": "continuous", "temp": "celsius", "wind_speed": "miles/sec", "colour": "white", "city_colour": "yellow", "title": true, "locations": {"Beijing": [{"main_weather": "Clouds", "description": "few clouds", "min_temp": -1.06, "max_temp": 12.94}, {"main_weather": "Clear", "description": "clear sky", "min_temp": 5.15, "max_temp": 9.77}, {"main_weather": "Clouds", "description": "overcast clouds", "min_temp": 6.02, "max_temp": 9.97}, {"main_weather": "Clouds", "description": "overcast clouds", "min_temp": 2.73, "max_temp": 8.78}, {"main_weather": "Clear", "description": "clear sky", "min_temp": -0.16, "max_temp": 3.35}, {"main_weather": "Clear", "description": "clear sky", "min_temp": -1.02, "max_temp": 3.5}, {"main_weather": "Clear", "description": "clear sky", "min_temp": -1.05, "max_temp": 4.64}, {"main_weather": "Clear", "description": "clear sky", "min_temp": 0.23, "max_temp": 7.72}], "London": [{"main_weather": "Clouds", "description": "overcast clouds", "min_temp": 6.83, "max_temp": 11.37}, {"main_weather": "Clouds", "description": "broken clouds", "min_temp": 6.99, "max_temp": 13.15}, {"main_weather": "Clouds", "description": "broken clouds", "min_temp": 9.22, "max_temp": 13.85}, {"main_weather": "Clouds", "description": "few clouds", "min_temp": 8.67, "max_temp": 12.75}, {"main_weather": "Rain", "description": "light rain", "min_temp": 6.23, "max_temp": 9.51}, {"main_weather": "Clouds", "description": "few clouds", "min_temp": 5.99, "max_temp": 8.96}, {"main_weather": "Clouds", "description": "broken clouds", "min_temp": 5.47, "max_temp": 8.48}, {"main_weather": "Rain", "description": "light rain", "min_temp": 4.07, "max_temp": 7.85}], "Moscow": [{"main_weather": "Clouds", "description": "overcast clouds", "min_temp": -2.12, "max_temp": 0.41}, {"main_weather": "Snow", "description": "light snow", "min_temp": -1.63, "max_temp": 0.24}, {"main_weather": "Clouds", "description": "overcast clouds", "min_temp": -0.6, "max_temp": 1.53}, {"main_weather": "Snow", "description": "rain and snow", "min_temp": 0.88, "max_temp": 5.22}, {"main_weather": "Snow", "description": "light snow", "min_temp": 0.72, "max_temp": 2.13}, {"main_weather": "Snow", "description": "light snow", "min_temp": -3.96, "max_temp": 0.25}, {"main_weather": "Snow", "description": "light snow", "min_temp": -4.37, "max_temp": -1.28}, {"main_weather": "Snow", "description": "snow", "min_temp": -0.46, "max_temp": 1.39}], "Tokyo": [{"main_weather": "Rain", "description": "light rain", "min_temp": 11.46, "max_temp": 17.07}, {"main_weather": "Clouds", "description": "broken clouds", "min_temp": 13.12, "max_temp": 17.24}, {"main_weather": "Clouds", "description": "broken clouds", "min_temp": 13.09, "max_temp": 16.3}, {"main_weather": "Rain", "description": "light rain", "min_temp": 13.04, "max_temp": 14.23}, {"main_weather": "Rain", "description": "moderate rain", "min_temp": 12.46, "max_temp": 16.24}, {"main_weather": "Rain", "description": "light rain", "min_temp": 13.46, "max_temp": 15.28}, {"main_weather": "Clear", "description": "clear sky", "min_temp": 10.71, "max_temp": 14.18}, {"main_weather": "Clear", "description": "clear sky", "min_temp": 9.46, "max_temp": 14.24}]}, "current_weather": true}
|
{"feature": "Current Weather", "speed": "medium", "animation": "continuous", "temp": "celsius", "wind_speed": "miles/sec", "colour": "white", "city_colour": "yellow", "title": true, "locations": {"London": [{"main_weather": "Clouds", "description": "scattered clouds", "min_temp": 7.04, "max_temp": 12.86}, {"main_weather": "Clouds", "description": "few clouds", "min_temp": 8.55, "max_temp": 13.28}, {"main_weather": "Clouds", "description": "scattered clouds", "min_temp": 7.99, "max_temp": 11.54}, {"main_weather": "Rain", "description": "light rain", "min_temp": 4.32, "max_temp": 9.28}, {"main_weather": "Rain", "description": "light rain", "min_temp": 4.39, "max_temp": 8.95}, {"main_weather": "Rain", "description": "light rain", "min_temp": 5.13, "max_temp": 8.18}, {"main_weather": "Rain", "description": "light rain", "min_temp": 5.37, "max_temp": 7.39}, {"main_weather": "Rain", "description": "light rain", "min_temp": 3.32, "max_temp": 5.61}], "Tokyo": [{"main_weather": "Clouds", "description": "overcast clouds", "min_temp": 10.82, "max_temp": 16.96}, {"main_weather": "Clear", "description": "clear sky", "min_temp": 13.33, "max_temp": 17.6}, {"main_weather": "Clouds", "description": "overcast clouds", "min_temp": 13.65, "max_temp": 15.41}, {"main_weather": "Rain", "description": "moderate rain", "min_temp": 13.74, "max_temp": 17.5}, {"main_weather": "Rain", "description": "light rain", "min_temp": 13.11, "max_temp": 16.33}, {"main_weather": "Clear", "description": "clear sky", "min_temp": 10.02, "max_temp": 14.72}, {"main_weather": "Clear", "description": "clear sky", "min_temp": 9.14, "max_temp": 13.28}, {"main_weather": "Clear", "description": "clear sky", "min_temp": 10.21, "max_temp": 14.42}], "Beijing": [{"main_weather": "Rain", "description": "light rain", "min_temp": 5.1, "max_temp": 9.51}, {"main_weather": "Clouds", "description": "overcast clouds", "min_temp": 5.47, "max_temp": 9.38}, {"main_weather": "Clouds", "description": "broken clouds", "min_temp": 2.66, "max_temp": 8.26}, {"main_weather": "Clear", "description": "clear sky", "min_temp": -0.1, "max_temp": 2.91}, {"main_weather": "Clear", "description": "clear sky", "min_temp": -0.03, "max_temp": 6.36}, {"main_weather": "Clouds", "description": "overcast clouds", "min_temp": 0.45, "max_temp": 6.06}, {"main_weather": "Clear", "description": "clear sky", "min_temp": 2.37, "max_temp": 7.28}, {"main_weather": "Clear", "description": "clear sky", "min_temp": 1.03, "max_temp": 6.71}], "Moscow": [{"main_weather": "Snow", "description": "light snow", "min_temp": -2.28, "max_temp": 0.08}, {"main_weather": "Clouds", "description": "overcast clouds", "min_temp": -0.72, "max_temp": 1.66}, {"main_weather": "Snow", "description": "rain and snow", "min_temp": 0.3, "max_temp": 1.58}, {"main_weather": "Clouds", "description": "overcast clouds", "min_temp": -0.36, "max_temp": 2.01}, {"main_weather": "Snow", "description": "light snow", "min_temp": -3.24, "max_temp": 0.91}, {"main_weather": "Snow", "description": "light snow", "min_temp": -5.23, "max_temp": -2.9}, {"main_weather": "Snow", "description": "light snow", "min_temp": -1.2, "max_temp": 1.62}, {"main_weather": "Clear", "description": "clear sky", "min_temp": -1.72, "max_temp": 1.17}]}, "current_weather": true}
|
@ -1 +1 @@
|
|||||||
["Stocks"]
|
["Stocks", "Crypto"]
|
||||||
|
@ -1 +1 @@
|
|||||||
{"feature": "Stocks", "speed": "medium", "animation": "down", "percent": true, "point": true, "logos": false, "chart": false, "title": true, "symbols": {"MSFT": {"current": 339.89, "opening": 339.29}, "GOOG": {"current": 2990.345, "opening": 2984.38}}}
|
{"feature": "Stocks", "speed": "medium", "animation": "down", "percent": true, "point": true, "logos": false, "chart": false, "title": true, "symbols": {"MSFT": {"current": 341.4, "opening": 338.12}, "GOOG": {"current": 3019.28, "opening": 2983.88}}}
|
13
log.txt
13
log.txt
@ -0,0 +1,13 @@
|
|||||||
|
[Errno 13] Permission denied: './display_images/Stocks.ppm'. file: stockTicker.py. line: 2476. type: <class 'PermissionError'>
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "stockTicker.py", line 2476, in <module>
|
||||||
|
stock_ticker.process_msg(msg)
|
||||||
|
File "stockTicker.py", line 2437, in process_msg
|
||||||
|
self.scrollFunctionsAnimated(userSettings, animation = 'down')
|
||||||
|
File "stockTicker.py", line 329, in scrollFunctionsAnimated
|
||||||
|
self.updateMultiple([options[0]])
|
||||||
|
File "stockTicker.py", line 289, in updateMultiple
|
||||||
|
img.save('./display_images/'+ option+ '.ppm')
|
||||||
|
File "/usr/lib/python3/dist-packages/PIL/Image.py", line 1991, in save
|
||||||
|
fp = builtins.open(filename, "w+b")
|
||||||
|
PermissionError: [Errno 13] Permission denied: './display_images/Stocks.ppm'
|
59
server.py
59
server.py
@ -36,6 +36,7 @@ CSV_FOLDER = 'csv/new/'
|
|||||||
ALLOWED_EXTENSIONS = {'csv', 'png'}
|
ALLOWED_EXTENSIONS = {'csv', 'png'}
|
||||||
|
|
||||||
ticker = pexpect.spawn("sudo -E taskset -c 3 python3 stockTicker.py")
|
ticker = pexpect.spawn("sudo -E taskset -c 3 python3 stockTicker.py")
|
||||||
|
ticker.sendline('*') # run by default
|
||||||
ticker.sendline('A') # run by default
|
ticker.sendline('A') # run by default
|
||||||
|
|
||||||
|
|
||||||
@ -149,6 +150,24 @@ def start():
|
|||||||
ticker.sendline('A')
|
ticker.sendline('A')
|
||||||
return index()
|
return index()
|
||||||
|
|
||||||
|
@app.route("/stop")
|
||||||
|
def stop():
|
||||||
|
print('stop')
|
||||||
|
global ticker
|
||||||
|
global displaying_screensaver
|
||||||
|
if not displaying_screensaver:
|
||||||
|
ticker.sendline('K')
|
||||||
|
else:
|
||||||
|
screensaver_p.close()
|
||||||
|
|
||||||
|
|
||||||
|
if displaying_screensaver:
|
||||||
|
screensaver_p.close()
|
||||||
|
api_caller = pexpect.spawn("sudo -E python3 api_caller.py")
|
||||||
|
ticker = pexpect.spawn("sudo -E taskset -c 3 python3 stockTicker.py")
|
||||||
|
displaying_screensaver = False
|
||||||
|
return index()
|
||||||
|
|
||||||
@app.route("/display_format", methods = ['PUT', 'POST', 'GET'])
|
@app.route("/display_format", methods = ['PUT', 'POST', 'GET'])
|
||||||
def display_format():
|
def display_format():
|
||||||
global professional
|
global professional
|
||||||
@ -208,7 +227,32 @@ def upload():
|
|||||||
|
|
||||||
return index()
|
return index()
|
||||||
|
|
||||||
|
@app.route("/brightness", methods=['PUT','POST'])
|
||||||
|
def brightness():
|
||||||
|
global brightness
|
||||||
|
|
||||||
|
data= request.data.decode('utf-8')
|
||||||
|
settings = json.loads(data)
|
||||||
|
print(settings)
|
||||||
|
brightness =settings['brightness']
|
||||||
|
print(str(int(brightness) - 1))
|
||||||
|
ticker.sendline(str(int(brightness) - 1))
|
||||||
|
|
||||||
|
f = open('csv/settings.csv', 'r')
|
||||||
|
CSV = csv.reader(f)
|
||||||
|
next(CSV)
|
||||||
|
for line in CSV:
|
||||||
|
speed, _ = line
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
f = open('csv/settings.csv', 'w+')
|
||||||
|
f.write('speed,brightness\n')
|
||||||
|
f.write(str(speed) + ',' + str(brightness))
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
global LastCommand
|
||||||
|
LastCommand = 'Change Brightness'
|
||||||
|
return index()
|
||||||
|
|
||||||
@app.route("/screensaver", methods = ['PUT', 'POST'])
|
@app.route("/screensaver", methods = ['PUT', 'POST'])
|
||||||
def screensaver():
|
def screensaver():
|
||||||
@ -220,6 +264,9 @@ def screensaver():
|
|||||||
ticker.close()
|
ticker.close()
|
||||||
data = str(request.data)
|
data = str(request.data)
|
||||||
|
|
||||||
|
if displaying_screensaver:
|
||||||
|
screensaver_p.close()
|
||||||
|
|
||||||
|
|
||||||
if "Pulsating Colors" in data:
|
if "Pulsating Colors" in data:
|
||||||
screensaver_p = pexpect.spawn("sudo -E python3 ./rpi-rgb-led-matrix/bindings/python/samples/pulsing-colors.py")
|
screensaver_p = pexpect.spawn("sudo -E python3 ./rpi-rgb-led-matrix/bindings/python/samples/pulsing-colors.py")
|
||||||
@ -368,17 +415,7 @@ def save_message_settings(input_settings):
|
|||||||
|
|
||||||
json.dump(input_settings, open('csv/message_settings.json', 'w+'))
|
json.dump(input_settings, open('csv/message_settings.json', 'w+'))
|
||||||
|
|
||||||
@app.route("/stop")
|
|
||||||
def stop():
|
|
||||||
print('stop')
|
|
||||||
ticker.sendline('K')
|
|
||||||
global displaying_screensaver
|
|
||||||
if displaying_screensaver:
|
|
||||||
screensaver.close()
|
|
||||||
api_caller = pexpect.spawn("sudo -E python3 api_caller.py")
|
|
||||||
ticker = pexpect.spawn("sudo -E taskset -c 3 python3 stockTicker.py")
|
|
||||||
displaying_screensaver = False
|
|
||||||
return index()
|
|
||||||
|
|
||||||
@app.route("/shutdown")
|
@app.route("/shutdown")
|
||||||
def shutdown():
|
def shutdown():
|
||||||
|
@ -826,6 +826,19 @@ stopButton.addEventListener("click", () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var stopButton = document.getElementById("screensaver-btn");
|
||||||
|
stopButton.addEventListener("click", () => {
|
||||||
|
let anim = localStorage.getItem("inputAnimation");
|
||||||
|
|
||||||
|
|
||||||
|
fetch("/screensaver", {
|
||||||
|
method: "POST",
|
||||||
|
body: anim,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
var dispFormatButton = document.getElementById("dispformat-btn");
|
var dispFormatButton = document.getElementById("dispformat-btn");
|
||||||
|
|
||||||
var displayFormats = document.getElementById("inputDisplayFormat");
|
var displayFormats = document.getElementById("inputDisplayFormat");
|
||||||
@ -1270,11 +1283,6 @@ let inputAnimationBtn = document.getElementById("input-animation-btn");
|
|||||||
inputAnimationBtn.addEventListener("click", () => {
|
inputAnimationBtn.addEventListener("click", () => {
|
||||||
localStorage.setItem("inputAnimation", inputAnimation.value);
|
localStorage.setItem("inputAnimation", inputAnimation.value);
|
||||||
|
|
||||||
|
|
||||||
fetch("/screensaver", {
|
|
||||||
method: "POST",
|
|
||||||
body: inputAnimation.value,
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// scroll speed row two
|
// scroll speed row two
|
||||||
|
@ -2456,7 +2456,8 @@ if __name__ == '__main__':
|
|||||||
|
|
||||||
start_image = Image.open('./logos/startup_logo.png')
|
start_image = Image.open('./logos/startup_logo.png')
|
||||||
|
|
||||||
|
msg = getInput()
|
||||||
|
if msg =='*':
|
||||||
stock_ticker.setImage(start_image)
|
stock_ticker.setImage(start_image)
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
stock_ticker.resetMatrix()
|
stock_ticker.resetMatrix()
|
||||||
|
@ -62,7 +62,7 @@
|
|||||||
<a id="stop-btn" class="btn btn-stop-display">Stop Display</a>
|
<a id="stop-btn" class="btn btn-stop-display">Stop Display</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#" class="btn btn-warning text-white">Screensaver</a>
|
<a id="screensaver-btn" class="btn btn-warning text-white">Screensaver</a>
|
||||||
</li>
|
</li>
|
||||||
<li><a id="shutdown-btn" class="btn btn-danger">Shut Down</a></li>
|
<li><a id="shutdown-btn" class="btn btn-danger">Shut Down</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
Loading…
Reference in New Issue
Block a user