Remarqué que les segments météorologiques ont disparu, vérifié le journal Powerline qui contenait
2019-01-08 12:28:22,330:ERROR:tmux:WeatherSegment:Exception while computing state for 'London,United Kingdom,GB': <urlopen error [Errno -5] No address associated with hostname>
Il semble que l'URL utilisée par Powerline ne soit plus prise en charge par Yahoo depuis03 / janv :
Avis EOL important: à partir du jeudi 3 janvier 2019, les sites weather.yahooapis.com et query.yahooapis.com pour Yahoo Weather API seront supprimés.
Pour continuer Ă utiliser nos API Yahoo Weather gratuites, utilisez https://weather-ydn-yql.media.yahoo.com/forecastrss. Contactez [email protected] pour obtenir les informations d'identification Ă bord de ce service gratuit d'API Yahoo Weather.
Pour mémoire, voici la section correspondante du journal
2019-01-08 12:28:22,330:ERROR:tmux:WeatherSegment:Exception while computing state for 'London,United Kingdom,GB': <urlopen error [Errno -5] No address associated with hostname>
Traceback (most recent call last):
File "/home/souto/.local/lib/python3.6/site-packages/powerline/lib/threaded.py", line 197, in render
update_state = queries[key][1]
KeyError: 'London,United Kingdom,GB'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.6/urllib/request.py", line 1318, in do_open
encode_chunked=req.has_header('Transfer-encoding'))
File "/usr/lib/python3.6/http/client.py", line 1239, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/lib/python3.6/http/client.py", line 1285, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/usr/lib/python3.6/http/client.py", line 1234, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/usr/lib/python3.6/http/client.py", line 1026, in _send_output
self.send(msg)
File "/usr/lib/python3.6/http/client.py", line 964, in send
self.connect()
File "/usr/lib/python3.6/http/client.py", line 936, in connect
(self.host,self.port), self.timeout, self.source_address)
File "/usr/lib/python3.6/socket.py", line 704, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
File "/usr/lib/python3.6/socket.py", line 745, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -5] No address associated with hostname
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/souto/.local/lib/python3.6/site-packages/powerline/lib/threaded.py", line 220, in update_one
updates[key] = (monotonic(), self.compute_state(key))
File "/home/souto/.local/lib/python3.6/site-packages/powerline/segments/common/wthr.py", line 140, in compute_state
raw_response = urllib_read(url)
File "/home/souto/.local/lib/python3.6/site-packages/powerline/lib/url.py", line 15, in urllib_read
return urlopen(url, timeout=10).read().decode('utf-8')
File "/usr/lib/python3.6/urllib/request.py", line 223, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.6/urllib/request.py", line 526, in open
response = self._open(req, data)
File "/usr/lib/python3.6/urllib/request.py", line 544, in _open
'_open', req)
File "/usr/lib/python3.6/urllib/request.py", line 504, in _call_chain
result = func(*args)
File "/usr/lib/python3.6/urllib/request.py", line 1346, in http_open
return self.do_open(http.client.HTTPConnection, req)
File "/usr/lib/python3.6/urllib/request.py", line 1320, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [Errno -5] No address associated with hostname>
Je n'ai trouvé aucun problÚme décrivant cela, je m'excuse, c'est qu'il s'agit d'un double.
Il serait simple d'Ă©crire un nouveau segment en utilisant l' API OpenWeatherMap, mais pour autant que je dĂ©pĂŽt semble abandonnĂ©. Je serais prĂȘt Ă travailler sur le segment si un administrateur pouvait rĂ©pondre et confirmer que le dĂ©pĂŽt est actif et qu'il serait prĂȘt Ă le fusionner.
Nous pouvons commencer par une pull request pour déplacer l'API, je suis disponible si vous avez besoin de plus de mains pour coder cela ...
Une autre main ici si une aide est nécessaire pour migrer l'API
@ barra51 @ mp1118 quand
@gsusrafael Pour moi, c'est OK si nous commençons maintenant :)
J'ai bifurqué le dépÎt, je vérifie cette info https://blog.rapidapi.com/access-global-weather-data-with-these-weather-apis/ pour vérifier nos options pour une collecte d'informations météorologiques. ..
Je voulais juste ajouter https://wttr.in comme une autre option, en raison de sa simplicité
@liketechnik votre suggestion est encore meilleure ... je pense que cela pourrait ĂȘtre une transition sans douleur
@liketechnik la seule chose que je recherche toujours dans wttr.in est la possibilité de vider les informations en JSON ...
Je ne sais pas si cela est possible avec wttr.in: / Ce que j'ai trouvé dans le Readme, c'est la possibilité d'avoir un formatage personnalisé et de renvoyer la météo actuelle en une seule ligne (https://github.com/chubin/wttr. dans # sortie-une-ligne)
----- COMMENCER LE MESSAGE SIGNĂ PGP -----
Hash: SHA1
cela pourrait ĂȘtre une proposition intĂ©ressante pour wttr.in, j'ai examinĂ© leur
liste des problÚmes et j'ai trouvé des demandes demandant le format de sortie JSON ... qui
pourrait ĂȘtre vraiment bien si cette fonctionnalitĂ© est intĂ©grĂ©e Ă toute nouvelle version de
wttr.in et ensuite nous pourrions l'utiliser, mais maintenant faisons quelque chose qui pourrait
ĂȘtre rĂ©utilisable et / ou connectable Ă n'importe quel fournisseur d'API mĂ©tĂ©o.
Le 15 mars 2019 Ă 13:31:03, Florian Warzecha a Ă©crit:
Je ne sais pas si cela est possible avec wttr.in: / Ce que j'ai trouvé dans le Readme, c'est la possibilité d'avoir un formatage personnalisé et de renvoyer la météo actuelle en une seule ligne (https://github.com/chubin/wttr. dans # sortie-une-ligne)
-
Vous recevez cela parce que vous avez été mentionné.
RĂ©pondez directement Ă cet e-mail ou affichez-le sur GitHub:
https://github.com/powerline/powerline/issues/1973#issuecomment -473431217
JĂ©sus Rafael Sanchez
"Inter fractal umbras et illusionibus evanuit somnia ..."
----- COMMENCER LA SIGNATURE PGP -----
Version: GnuPG v1
iQIcBAEBAgAGBQJcjBAvAAoJEBKYkbOSUaVWlPwP / 3tBQWeBbpxPjZ7N8YxCsIyr
/ 2F3Y1 + OHViEosq6UOZu1SlTXZUB4tFb7Iu9 / 7Lf6xordPPAW / 7S0c35 / I9sTYgJ
dBuoi + rnNhTwVaisyu6Grl02mxTdItNlCI + SiZq36utuDEgUhCaUZa2NrRf3zT5h
341myYD3gwNvvj086z3nqorzV2usRF5N + RsajnP3q0EtmgceMcaCkFyaATrNJYVB
7r3UIO7DJgv0f + NZESSrAHHSXw0ni6PVdkh2CdQ9Qxfu8 / 7UFSw9jMBeXEG2vaAV
l4jEOZ6N9diN6kOYsgkcicE6bMFwx9g90HHM4 / HakUCeTuOD2opFkMv / C05gIJ9f
nf5y9 / KFkS2MN65Nl + F7A + HJ9JoW9kZ5b6uO034VDnckCvVpY5gLmPW9JTkEFs7g
0WnwAW8QJ + I9tZdhP / SDcoSgKVpOfpy0bG284PQ6IQpoKIp8ykndZF6V3xGVkV7x
ZlN1f6xzfLuYIIbg7ZHjJfEMGDzosM0mTERp8PHWcM2MKgnmmB + JrqvVSfufCqBe
0ZbJSe5QQvVR / saY0bn3vDf3bmFNr1vlr / YsJF64ODUGj1tel0vVeNLIywDkAr5Z
1SrCs + ii0uAM6XyrFskrIE3Gbct9KRCRSDX1EFvbRM5N0QM + ZTrolBRWfNE0MEN4
TWXs9vL + fMIE53L1vtgq
= u1tZ
----- FIN DE LA SIGNATURE PGP -----
https://github.com/USA-RedDragon/powerline/commit/352bf96335d0ebd63acc996316af94b1394c8595
ImplĂ©mentation d'un support merdique pour Wttr.in. IdĂ©alement, nous utiliserions une API plus professionnelle, configurable et plus verbeuse, mais cela fonctionne comme une fonctionnalitĂ© mĂ©tĂ©o "en un coup d'Ćil".
Vous avez sacrément raison ... wttr.in ne remplit pas les spécifications pour une météo complÚte
API
El dom., 17 mars. de 2019 07:05, Jacob McSwain [email protected]
escribiĂł:
USA-RedDragon @ 352bf96
https://github.com/USA-RedDragon/powerline/commit/352bf96335d0ebd63acc996316af94b1394c8595Implémentation d'un support merdique pour Wttr.in. Idéalement, nous utiliserions un plus
API professionnelle qui est configurable et plus verbeuse, mais cela fonctionne comme
une fonction mĂ©tĂ©o "en un coup d'Ćil".[image: Screen Shot 2019-03-17 Ă 6 05 06 AM]
https://user-images.githubusercontent.com/13051767/54489483-b1efbf00-487a-11e9-8bf1-abd6372cc5df.png-
Vous recevez cela parce que vous avez été mentionné.
RĂ©pondez directement Ă cet e-mail, affichez-le sur GitHub
https://github.com/powerline/powerline/issues/1973#issuecomment-473655191 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AA39c7P7kL6gxIm7t0H1J4SP4ZPSXOnFks5vXiGRgaJpZM4Z1bYx
.
Une mise Ă jour pour ceci?
il semble que @gsusrafael @ USA-RedDragon ait fait des progrÚs avec wttr.in mais aprÚs cela, je pense que les gars ne travaillent plus dans ce numéro ...
Malheureusement, il semble que ce repo ne soit pas activement maintenu, la derniĂšre fusion des relations publiques remonte au 11 novembre 2018.
Je suis peut-ĂȘtre un peu naĂŻf Ă ce sujet, mais est-ce juste en deçà de vos exigences?
set -g status-interval 60
WEATHER='#(curl -s wttr.in/London:Stockholm:Moscow\?format\="%%l:+%%c%%20%%t%%60%%w&period=60")'
set -g status-right "$WEATHER ..."
Corrigez @CollinChaffin. Je l'utilise localement depuis un certain temps mais ce n'est pas une bonne API. J'ai en fait oublié ça, je vais m'en occuper plus aujourd'hui
Il s'avĂšre que le service GeoIP qu'il utilise est Ă©galement arrĂȘtĂ©: https://geoip.nekudo.com/shutdown
Il s'avĂšre que le service GeoIP qu'il utilise est Ă©galement arrĂȘtĂ©: https://geoip.nekudo.com/shutdown
@ USA-RedDragon veuillez vérifier en utilisant ifconfig.co ou api.ipapi.com
Comment est le statut Ă ce sujet? Si quelqu'un crĂ©e un PR, je serais prĂȘt Ă le fusionner (Ă condition qu'il contienne les tests nĂ©cessaires).
De plus, j'envisagerais de supprimer l'ancien segment s'il ne fonctionne plus (et apparemment ne fonctionnera plus jamais, si je comprends bien).
si je ne me trompe pas, nous pourrions utiliser wttr.in et ifconfig.co en remplacement de
API IP et météo
JĂ©sus Rafael Sanchez Medrano
"La vie est un rĂȘve dont tous doivent se rĂ©veiller"
Le jeu.26 septembre 2019 Ă 03:39 Philip Wellnitz [email protected]
a Ă©crit:
Comment est le statut Ă ce sujet? Si quelqu'un crĂ©e un PR, je serais prĂȘt Ă fusionner
il (à condition qu'il contienne les tests nécessaires).De plus, j'envisagerais de supprimer l'ancien segment s'il ne fonctionne plus
(et apparemment ne fonctionnera plus jamais, si je comprends bien).-
Vous recevez cela parce que vous avez été mentionné.
RĂ©pondez directement Ă cet e-mail, affichez-le sur GitHub
https://github.com/powerline/powerline/issues/1973?email_source=notifications&email_token=AAG7246IFIXXLINJLQZ7UUDQLRRKBA5CNFSM4GOVWYY2YY3PNVWWK3TUL52HS4Notifications&email_token=AAG7246IFIXXLINJLQZ7UUDQLRRKBA5CNFSM4GOVWYY2YY3PNVWWK3TUL52HS4DFVODREXJVM43VUBW63#WSNWH5WH5WH5WWW63TUL52HS4DFVODREXGVM43VUBW63
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AAG72465C5JOTWA2YAL4P4LQLRRKBANCNFSM4GOVWYYQ
.
Salut, je viens d'utiliser Powerline avec tmux il y a moins d'une semaine et je l'adore. C'Ă©tait triste pour moi de trouver des arrĂȘts du segment mĂ©tĂ©orologique pour fonctionner et le rĂ©pertoire n'est pas en maintenance active maintenant. J'ai fait une tentative hier soir, pour modifier segments.wthr
pour utiliser wttr.in
comme suggĂ©rĂ© par ce fil. Les modifications sont vraiment simples, mais elles ne fonctionnent pas (toujours aucun segment mĂ©tĂ©o n'apparaĂźt). Je n'ai pas beaucoup d'expĂ©rience avec cette base de code et je ne sais mĂȘme pas comment la dĂ©boguer (je n'ai pas pu trouver le journal). Par consĂ©quent, je colle le code simple ici, en espĂ©rant que quelqu'un puisse aider Ă faire avancer les choses. Juste parce que j'aime vraiment ce projet. Si vous aimez aussi ce projet et que vous avez plus d'expĂ©rience dans le segment de la rĂ©daction, aidez-moi ici :)
class WeatherSegment(KwThreadedSegment):
interval = 600
url_trunk = "wttr.in/"
def __call__ (self, pl, update_first=True,
location_query="Santa Clara,California",
temp_coldest=30,
temp_hottest=100,
icons=None,
**kwargs):
self.location_query=location_query
self.temp_coldest=temp_coldest
self.temp_hottest=temp_hottest
super(KwThreadedSegment, self).__call__(self, pl, update_first,
location_query=location_query,
temp_coldest=temp_coldest,
temp_hottest=temp_hottest,
icons=icons,
**kwargs)
<strong i="8">@staticmethod</strong>
def key(**kwargs):
return "default_query"
def compute_state(self, default_query):
url_loc = '+'.join(self.location_query.split())
url = url_trunk + url_loc + '?' + 'u&format="%c:%t"'
response = urllib_read(url.encode('utf-8'))
if not response:
self.error('Failed to get response')
return None
return response
def render_one(self, query_response, icons=None, unit='C', temp_format=None, temp_coldest=-30, temp_hottest=40, **kwargs):
if not query_response:
return None
icon,temp_string=query_response.split(':')
match = re.match(r'([+-]*\d+)', temp_string)
if match.group(1) is None:
self.error('Fail to get temperature')
return None
temp = int(match.group(1))
if temp <= self.temp_coldest:
gradient_level = 0
elif temp >= self.temp_hottest:
gradient_level = 100
else:
gradient_level = (temp - self.temp_coldest) * 100.0 / (self.temp_hottest - self.temp_coldest)
return [
{
'contents': icon + ' ',
'highlight_groups': ['weather'],
'divider_highlight_group': 'background:divider',
},
{
'contents': temp_string,
'highlight_groups': ['weather_temp_gradient', 'weather_temp', 'weather'],
'divider_highlight_group': 'background:divider',
'gradient_level': gradient_level,
},
]
Je fais quelques efforts pour porter le plugin météo sur OpenWeatherMap.
Malheureusement, une clĂ© API est requise pour cela, mais OpenWeatherMap dĂ©clare qu'il prend en charge FOSS, essaiera si j'obtiens une clĂ© API avec des limites accrues Ă partir de lĂ
Des mises Ă jour Ă ce sujet? C'est dommage que cela ne semble pas ĂȘtre actif. Le segment est toujours cassĂ©. Je suis passĂ© Ă d'autres projets sur la plupart de mes ordinateurs, mais j'ai toujours un Linux utilisant Powerline sur lequel ce serait bien.
Eh bien, mon PR est toujours ouvert
Je n'ai pris aucune mesure concernant ce PR, parce que vous, @StopMotionCuber ,
Personnellement, je ne suis pas contre le fait d'avoir des segments dans lesquels un utilisateur doit fournir des informations de type informations d'identification dans la configuration (en fait, le segment IMAP fonctionne de la mĂȘme maniĂšre); ainsi, je peux imaginer fusionner le PR une fois qu'il est prĂȘt ...
Pourrions-nous simplement le fusionner et ajouter des informations clarifiant dans la documentation qu'une clĂ© API doit ĂȘtre ajoutĂ©e? Je suis prĂ©occupĂ© par le fait que ce soit un peu piratĂ©, mais honnĂȘtement, c'est mieux que le rien que nous avons pour le moment. Je serais heureux de vous aider s'il manque quelque chose, vous avez besoin d'aide avec @StopMotionCuber : smiley:
Oh, la seule chose qui me manque, c'est le temps, mais sinon je peux continuer avec ce PR.
Je vais essayer de faire avancer ce PR dans les prochains jours, peut-ĂȘtre dĂ©jĂ ce soir.
Mise Ă jour sur mon PR:
J'ai fait un peu de travail maintenant, et cela fonctionne sur ma machine (ÂŻ_ (ă) _ / ÂŻ) cependant certains tests Ă©chouent car ils sont basĂ©s sur des rĂ©ponses de requĂȘte urllib stubbed que je n'ai pas encore remplacĂ©es par les API que j'utilise .
J'ai également introduit un changement de rupture (test), que le gradient de température est calculé en fonction de la valeur minimale et maximale de votre unité (avant que ce ne soit l'unité que vous obtiendriez de la demande).
Sinon, je suis assez ennuyĂ© de travailler sur ce problĂšme avec mon nouveau MacBook, car il semble y avoir un bug du processeur Ice Lake qui plante PyCharm et / ou macOS đĄ
Corrigé dans # 2038
Commentaire le plus utile
Il serait simple d'Ă©crire un nouveau segment en utilisant l' API OpenWeatherMap, mais pour autant que je dĂ©pĂŽt semble abandonnĂ©. Je serais prĂȘt Ă travailler sur le segment si un administrateur pouvait rĂ©pondre et confirmer que le dĂ©pĂŽt est actif et qu'il serait prĂȘt Ă le fusionner.