123456789101112131415161718192021222324252627 |
- import feedparser
- class CTFTimeClient(object):
- feed_url = 'https://ctftime.org/event/list/upcoming/rss/'
- def fetch_data():
- """Function to update the CTF db with new announced CTFs"""
- feed = feedparser.parse(CTFTimeClient.feed_url)
- events = []
- for post in feed.entries:
- event = {}
- event["title"] = post.title
- event["link"] = post.id
- event["url"] = post.url
- event["weight"] = post.weight
- event["format_text"] = post.format_text
- event["format"] = int(post.format)
- event["onsite"] = not bool(post.onsite)
- event["restrictions"] = post.restrictions
- event["start_date"] = post.start_date
- event["finish_date"] = post.finish_date
- event["id"] = post.ctftime_url.split('/')[2]
- events.append(event)
- return events
|