Super WM Wetter Widget Problem

1

Ich benutze Awesome WM als Fenstermanager, um eine flexiblere Umgebung zu erhalten. Aber als ich ein Wetter-Widget mit der 'bösartigen' Bibliothek erstellt habe, konnte ich einen Fehler machen ... Das Problem ist das nächste: Jedes Mal, wenn ich Wetterinformationen auf dem Desktop erhalten möchte, erhalte ich einen Vektor von N/A. Ich kann nicht erkennen, wo das eigentliche Problem liegt ... Beim Abrufen von Informationen aus bösartigen Quellen wird alles empfangen. Vielleicht ist es ein Fehler des bösartigen Widgets? Screenshots (schauen Sie einfach in die linke obere Ecke des Bildschirms): Bildschirm .
Widget-Code:

-- {{{ Weather widget
weatherBox = wibox({ type = "desktop", visible = true, bg = "#00000000" })
weatherBox:geometry({ x = 10, y = 25, width = 300, height = 85 })
weatherLayout = wibox.layout.fixed.horizontal()

weatherWidget = boxWidget(vicious.widgets.weather,
    function(w, data)
        local city        = data["{city}"]
        local wind_speed  = data["{windkmh}"]
        local wind        = data["{wind}"]
        local sky         = data["{sky}"]
        local humidity    = data["{humid}"]
        local temperature = data["{tempc}"]

        return 'Location: ' .. city .. '\n' ..
               'Wind: ' .. wind_speed .. ', ' .. wind_speed .. '\n' ..
               'Sky: ' .. sky .. '\n' ..
               'Humidity: ' .. humidity .. '\n' ..
               'Temerature: ' .. temperature .. ', C\n'
    end, 1, "UUEE")

weatherLayout:add(weatherWidget)
weatherBox:set_widget(weatherLayout)
-- }}}

Andrew Bezzubtsev
quelle
Woher wird dataübergeben? Möglicherweise sehe ich auch ein anderes kleines Problem, das Sie wind_speedzweimal verwenden, wenn Sie Ihre Windleistung anzeigen. Ich gehe davon aus, dass Sie eher etwas wie wind_speed und wind (direction) wollen.
DrZoo
@ DrZoo Ich benutze eine bösartige Bibliothek, um einige grundlegende Schnittstellen zu erhalten. Der eigentliche Code des Widgets ist hier .
Andrew Bezzubtsev
@ DrZoo Vicious Bibliothek wird verwendet, um einige Schnittstellen zu erhalten. Der Code des Widget Workers ist hier ( github.com/Mic92/vicious/blob/master/widgets/weather_all.lua ).
Andrew Bezzubtsev
Dies kann besser auf StackOverflow gestellt werden. Aber es scheint, als würden Sie die Initialisierungseinstellung für jede Variable auf "N / A" setzen. In Zeile 46 weather_all.luatreffen Sie if ws == nil then return _weather end, was die Standardinitialisierung jedes Elements zurückgibt, anstatt in Zeile 51 fortzufahren. Ich würde versuchen, herauszufinden, was in den Zeilen 44 und 45 passiert, wenn in eine Datei geschrieben und von dort gelesen wird es.
DrZoo
@ DrZoo OK, ich werde versuchen, meinen Widget-Code neu zu schreiben, und ich hoffe, es wird funktionieren ...
Andrew Bezzubtsev