Есть код, он работает нормально но явно не правильно. В силу отсутствия опыта и знаний прошу помочь с правильным написанием кода. Сам код парсит RSS новости и создает уведомление в виде окна.
#!/usr/bin/env python3
import csv
import urllib.request
from bs4 import BeautifulSoup
from easygui import *
import datetime
import time
now_time = datetime.datetime.now()
cur_minutes = now_time.minute
while True:
def get_html(url):
response = urllib.request.urlopen(url)
return response.read()
def parse(html):
soup = BeautifulSoup(html)
telo = soup.find('channel')
projects =[]
for item in telo.find_all('item'):
for wer in item.find_all('wf:expiry'):
time_end = wer.text[-8:-5]
projects.append({
'Событие' : item.title.text ,
'Время окончания' : time_end + ' минут'
})
return projects
def main():
msgbox ( parse(get_html('http://content.warframe.com/dynamic/rss.php')), title ='Сигнал')
if __name__ == '__main__':
main()
stop = cur_minutes + 5
while cur_minutes < stop:
now_time = datetime.datetime.now()
cur_minutes = now_time.minute
Вот вопрос как обойтись без бесконечного цикла (мне кажется это не совсем правильный способ). И второй как или чем сделать вывод в виде всплывающего уведомления а не целого окна (желательно чтобы основу можно было разместить в трей).