Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- try:
- import re
- import sys
- import feedparser
- from datetime import datetime as dt
- except ImportError as err:
- print(str(err) + '. Install it.')
- sys.exit(1)
- list_news = []
- list_dates = []
- def getRss(url):
- feed = feedparser.parse(url)
- date_pattern = re.compile(r'\d{2}\s\w{3}\s\d{4}')
- for info in feed['entries'][0:5]:
- list_dates.append(re.findall(date_pattern, info['published'])[0])
- list_news.append(info['title'])
- def deltaCalc(news_date):
- now_doy = dt.now()
- # How many days after publishing news will be highlighted:
- user_delta = 5
- day, month, year = news_date.split(' ')
- news_doy = dt(int(year), int(dt.strptime(month, '%b').month), int(day))
- news_delta = (now_doy - news_doy).days
- if news_delta <= 7:
- return True
- return False
- def main():
- url = 'https://www.archlinux.org/feeds/news'
- RED = '\033[7;107;31m'
- BLUE = '\033[94m'
- END = '\033[0m'
- getRss(url)
- print()
- for i in range(len(list_news)):
- if deltaCalc(list_dates[i]):
- print(RED + list_dates[i] + END, "-", list_news[i])
- else:
- print(BLUE + list_dates[i] + END, "-", list_news[i])
- print()
- if __name__ == '__main__':
- main()
Add Comment
Please, Sign In to add comment