Jump to content


Photo

Skin Weer


  • Please log in to reply
68 replies to this topic

Re: Skin Weer #61 Loui (PD1LOI)

  • Senior Member
  • 3,454 posts

+93
Good

Posted 29 December 2019 - 18:02

Nee, een andere skin wijzigt geen instellingen dus zal die optie nog gewoon 'aan' staan, de skin zal het mogelijk niet ondersteunen.

Dank je.
Heb wel even de gele bol gezien, toen verdween deze weer.
Zal eens verder in de instellingen duiken...
In mijn skin zit deze er nu in bij de volgende update, de Icon zat er wel in maar het pad er naar toe niet.
Top Loui.
Is er btw een mogelijkheid om de knipperende rode R van opname weg te halen of niet te laten knipperen?
Ja dat kan!
Verander het rood gekleurde in skin_templates.xml met deze naam ConditionalShowHide

<widget source="session.RecordState" render="Pixmap" pixmap="Pd1loi-HD-night/buttons/rec.png" position="1590,79" size="30,30" zPosition="3" alphatest="on">
<convert type="ConditionalShowHide">Blink</convert>
</widget>

Dan krijg je dit te zien.


<widget source="session.RecordState" render="Pixmap" pixmap="Pd1loi-HD-night/buttons/rec.png" position="1590,79" size="30,30" zPosition="3" alphatest="on">
<convert type="ConditionalShowHide">ConditionalShowHide</convert>
</widget>

Sla de file op en herstart enigma en het zal niet meer knipperen.
Top. Dank je wel Loui.
Bewaar de skin_templates.xml wel anders is. Bij een volgend update deze file weer overschreven.

Mijn handtekening is zoals gewoonlijk niet te lezen.
PD1LOI
Mut@nt-HD51-PVR en Wavefrontier T90.
En alles draait op OpenPli v7.3 Rc. 

Bereikbaar op BM 204 NL-Lokaal 92-DMR http://www.pi1fld.nl


Re: Skin Weer #62 Richardfm

  • Senior Member
  • 38 posts

+1
Neutral

Posted 29 December 2019 - 19:47


Nee, een andere skin wijzigt geen instellingen dus zal die optie nog gewoon 'aan' staan, de skin zal het mogelijk niet ondersteunen.

Dank je.
Heb wel even de gele bol gezien, toen verdween deze weer.
Zal eens verder in de instellingen duiken...
In mijn skin zit deze er nu in bij de volgende update, de Icon zat er wel in maar het pad er naar toe niet.
Top Loui.
Is er btw een mogelijkheid om de knipperende rode R van opname weg te halen of niet te laten knipperen?
Ja dat kan!
Verander het rood gekleurde in skin_templates.xml met deze naam ConditionalShowHide

Blink

Dan krijg je dit te zien.

ConditionalShowHide

Sla de file op en herstart enigma en het zal niet meer knipperen.
Top. Dank je wel Loui.
Bewaar de skin_templates.xml wel anders is. Bij een volgend update deze file weer overschreven.
Verandering gedaan maar de knipperende R blijft knipperen.
Dit ook bij herstart en ook bij uit/aan.

Attached Files



Re: Skin Weer #63 Tech

  • Forum Moderator
    PLi® Core member
  • 11,952 posts

+300
Excellent

Posted 29 December 2019 - 19:48

Zouden jullie bij kunnen dragen aan de leesvriendelijkheid, en niet complete quote's herquoten?

 

Quote op quote op quote op quote op quote is niet echt bepaald prettig lezen, dat is deze zin al niet ;)


Aan de rand van de afgrond is een stap voorwaarts niet altijd vooruitgang....

Re: Skin Weer #64 Loui (PD1LOI)

  • Senior Member
  • 3,454 posts

+93
Good

Posted 30 December 2019 - 10:17

Zal er rekening mee houden, soms doe je dat zonder dat je het echt door hebt pure gewoonte.


Mijn handtekening is zoals gewoonlijk niet te lezen.
PD1LOI
Mut@nt-HD51-PVR en Wavefrontier T90.
En alles draait op OpenPli v7.3 Rc. 

Bereikbaar op BM 204 NL-Lokaal 92-DMR http://www.pi1fld.nl


Re: Skin Weer #65 Loui (PD1LOI)

  • Senior Member
  • 3,454 posts

+93
Good

Posted 30 December 2019 - 10:23

@RichardFM 

Je kan ook "ConditionalShowHide"  weghalen en gewoon de "" laten staan.


Mijn handtekening is zoals gewoonlijk niet te lezen.
PD1LOI
Mut@nt-HD51-PVR en Wavefrontier T90.
En alles draait op OpenPli v7.3 Rc. 

Bereikbaar op BM 204 NL-Lokaal 92-DMR http://www.pi1fld.nl


Re: Skin Weer #66 littlesat

  • PLi® Core member
  • 52,173 posts

+591
Excellent

Posted 20 January 2020 - 13:47

An optimized weatherMSN parser... considered to include in HetWeer plugin... With an example how to retrieve the current weather... The getWeather() class (or better the later to be defined screen) could be placed on a 'loop' that retrieves the weather data e.g. each 5 minutes. Then the 'global' class weather has the xml file with latest info. When the website could not be retrieved it keeps the latest 'grabbed' information. It has a minimal impact in performance.

 

Until know when I verify the WWW I do not see any shorter streamlined code...

The skycode gives the picture you could show (cloud, fog, sun... etc)

 

The idea was to add a current weather screen in hetWeer plugin that uses e.g. this WeatherMSN code... the screen is a box in the OSD that will be added to the infobar as instantiateDialog screen that the plugin reports to InfoBarGenerics as new plugin type "PLUGIN_INFOBAR_INSTANTIATE". Instead of using source, renderers and converters...

 

Python script beneden is 'console/putty' geschikt en een demo van het idee

from twisted.web import client
from twisted.internet import reactor
import xml.etree.cElementTree
 
class weather:
        weather = None
 
class getWeather():
        def __init__(self, tempType, language, location):
                client.getPage('http://weather.service.msn.com/data.aspx?weadegreetype=%s&culture=%s&weasearchstr=%s&src=outlook' % (tempType, language, location), timeout=5).addCallback(self.getWeatherCallback).addErrback(self.getWeathe
 
        def getWeatherCallback(self, data):
                root = xml.etree.cElementTree.fromstring(data)
                weather.weather = root.find('weather')
                print '[WeatherMSN] weather info correctly retreived'
                self.stop()
 
        def getWeatherError(self, error):
                print '[WeatherMSN] %s'% error
                self.stop()
 
        def stop(self):
                reactor.stop()
 
def getCurrentWeather():
        if weather.weather:
                current = weather.weather.find('current').attrib
                print current['temperature']
                print current['skycode']
                for k in current.keys():
                        print k, current[k]
 
getWeather("C", "NL", "Amsterdam")
reactor.run()
getCurrentWeather()

Edited by littlesat, 20 January 2020 - 13:56.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Skin Weer #67 littlesat

  • PLi® Core member
  • 52,173 posts

+591
Excellent

Posted 22 January 2020 - 15:14

next step drafted MSNWeater grab code...

It collects cities when multiple cities are found.... and it has the latest list

 
from twisted.web import client
from twisted.internet import reactor
import xml.etree.cElementTree
 
class weather:
        xmldata = {}
        locations = []
 
def getWeather(tempType, language, location):
        url = 'http://weather.service.msn.com/data.aspx?weadegreetype=%s&culture=%s&weasearchstr=%s&src=outlook' % (tempType, language, location)
        print "[WeatherMSN] Get weater %s" % url
        client.getPage(url, timeout=5).addCallback(getWeatherCallback).addErrback(getWeatherError)
 
def getWeatherCallback(data):
        root = xml.etree.cElementTree.fromstring(data)
        weather.locations = [element.get('weatherlocationname') for element in root]
        weather.xmldata = root.find('weather')
        print '[WeatherMSN] Weather info correctly retreived'
        reactor.stop()
 
def getWeatherError(error):
        print '[WeatherMSN] %s'% error
        reactor.stop()
 
def getCurrentWeather():
        if weather.xmldata:
                current = weather.xmldata.find('current').attrib
                print "-"*80
                print current.get('temperature')
                print current.get('skycode')
                print current.get('winddisplay')
                print current.get('humidity')
                print current.get('observationpoint')
                print current.get('date')
                print current.get('observationtime')
                print current.get('feelslike')
                print current.get('day')
 
def get5DayWeather():
        if weather.xmldata:
                fiveDays = {}
                for x in weather.xmldata.findall("forecast"):
                        print x.tag, x.attrib
 
getWeather("C", "NL", "Valkenburg")
reactor.run()
getCurrentWeather()
get5DayWeather()
print len(weather.locations), weather.locations

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Skin Weer #68 Loui (PD1LOI)

  • Senior Member
  • 3,454 posts

+93
Good

Posted 29 January 2020 - 12:23

 

next step drafted MSNWeater grab code...

It collects cities when multiple cities are found.... and it has the latest list

 
from twisted.web import client
from twisted.internet import reactor
import xml.etree.cElementTree
 
class weather:
        xmldata = {}
        locations = []
 
def getWeather(tempType, language, location):
        url = 'http://weather.service.msn.com/data.aspx?weadegreetype=%s&culture=%s&weasearchstr=%s&src=outlook' % (tempType, language, location)
        print "[WeatherMSN] Get weater %s" % url
        client.getPage(url, timeout=5).addCallback(getWeatherCallback).addErrback(getWeatherError)
 
def getWeatherCallback(data):
        root = xml.etree.cElementTree.fromstring(data)
        weather.locations = [element.get('weatherlocationname') for element in root]
        weather.xmldata = root.find('weather')
        print '[WeatherMSN] Weather info correctly retreived'
        reactor.stop()
 
def getWeatherError(error):
        print '[WeatherMSN] %s'% error
        reactor.stop()
 
def getCurrentWeather():
        if weather.xmldata:
                current = weather.xmldata.find('current').attrib
                print "-"*80
                print current.get('temperature')
                print current.get('skycode')
                print current.get('winddisplay')
                print current.get('humidity')
                print current.get('observationpoint')
                print current.get('date')
                print current.get('observationtime')
                print current.get('feelslike')
                print current.get('day')
 
def get5DayWeather():
        if weather.xmldata:
                fiveDays = {}
                for x in weather.xmldata.findall("forecast"):
                        print x.tag, x.attrib
 
getWeather("C", "NL", "Valkenburg")
reactor.run()
getCurrentWeather()
get5DayWeather()
print len(weather.locations), weather.locations

Waar kan ik dit in gebruiken? welk bestand heb je veranderd?


Mijn handtekening is zoals gewoonlijk niet te lezen.
PD1LOI
Mut@nt-HD51-PVR en Wavefrontier T90.
En alles draait op OpenPli v7.3 Rc. 

Bereikbaar op BM 204 NL-Lokaal 92-DMR http://www.pi1fld.nl


Re: Skin Weer #69 littlesat

  • PLi® Core member
  • 52,173 posts

+591
Excellent

Posted 29 January 2020 - 19:04

Niets veranderd is gewoon via console/putty als test... maar het maakt gebruik van een vervalen api die nog iets heeft waardoor het in Outlook kan werken. Dus ook deze heeft een onbepaalde tijdslimiet.... maar het doet wel via twisted web xml code parsten ipv url lib wat het user interface niet blokkeert als data wordt opgehaald... en slaat/buffert het resultaat in een global weather class.

Edited by littlesat, 29 January 2020 - 19:05.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users