This is the current running state of the kiosk sans the secrets.
[kiosk.git] / renderer_catalog.py
1 #!/usr/bin/env python3
2
3 import bellevue_city_calendar_renderer
4 import bellevue_reporter_rss_renderer
5 import kiosk_constants
6 import cnn_rss_renderer
7 import gdata_oauth
8 import gcal_renderer
9 import google_news_rss_renderer
10 import gkeep_renderer
11 import health_renderer
12 import local_photos_mirror_renderer
13 import mynorthwest_rss_renderer
14 import myq_renderer
15 import reddit_renderer
16 import seattletimes_rss_renderer
17 import stevens_renderer
18 import kiosk_secrets as secrets
19 import stock_renderer
20 import twitter_renderer
21 import urbanist_renderer
22 import weather_renderer
23 import wsj_rss_renderer
24
25
26 seconds = 1
27 minutes = 60
28 hours = kiosk_constants.seconds_per_hour
29 always = seconds * 1
30
31
32 oauth = gdata_oauth.OAuth(secrets.google_client_secret)
33
34
35 # Note, the 1s updates don't really update every second; there's a max
36 # frequency in the renderer thread of ~once a minute.  It just means that
37 # everytime it check these will be stale and happen.
38 __registry = [
39 #    stranger_renderer.stranger_events_renderer(
40 #        {"Fetch Events": (hours * 12), "Shuffle Events": (always)}
41 #    ),
42     myq_renderer.garage_door_renderer(
43         {"Poll MyQ": (minutes * 5), "Update Page": (always)}
44     ),
45     bellevue_city_calendar_renderer.bellevue_city_calendar_renderer(
46         {
47             "Fetch News": (hours * 1),
48             "Shuffle News": (always),
49         },
50         'bellevuewa.gov',
51         ['/calendar/events.xml'],
52         'Bellevue City Calendar'
53     ),
54     bellevue_reporter_rss_renderer.bellevue_reporter_rss_renderer(
55         {"Fetch News": (hours * 1), "Shuffle News": (always)},
56         "www.bellevuereporter.com",
57         ["/feed/"],
58         "Bellevue Reporter",
59     ),
60     urbanist_renderer.urbanist_renderer(
61         {'Fetch News': (hours * 2), 'Shuffle News': (always)},
62         'www.theurbanist.org',
63         ['/feed/'],
64         'The Urbanist',
65     ),
66     mynorthwest_rss_renderer.mynorthwest_rss_renderer(
67         {"Fetch News": (hours * 1), "Shuffle News": (always)},
68         "mynorthwest.com",
69         ["/feed/"],
70         "MyNorthwest News",
71     ),
72     cnn_rss_renderer.cnn_rss_renderer(
73         {"Fetch News": (hours * 1), "Shuffle News": (always)},
74         "rss.cnn.com",
75         ["/rss/cnn_tech.rss", "/rss/money_technology.rss"],
76         "CNNTechnology",
77     ),
78     cnn_rss_renderer.cnn_rss_renderer(
79         {"Fetch News": (hours * 1), "Shuffle News": (always)},
80         "rss.cnn.com",
81         ["/rss/cnn_topstories.rss", "/rss/cnn_world.rss", "/rss/cnn_us.rss"],
82         "CNNNews",
83     ),
84     wsj_rss_renderer.wsj_rss_renderer(
85         {"Fetch News": (hours * 1), "Shuffle News": (always)},
86         "feeds.a.dj.com",
87         ["/rss/RSSWorldNews.xml"],
88         "WSJNews",
89     ),
90     wsj_rss_renderer.wsj_rss_renderer(
91         {"Fetch News": (hours * 1), "Shuffle News": (always)},
92         "feeds.a.dj.com",
93         ["/rss/RSSMarketsMain.xml", "/rss/WSJcomUSBusiness.xml"],
94         "WSJBusiness",
95     ),
96     stevens_renderer.stevens_renderer(
97         {'Unused': (minutes * 30)}
98     ),
99     google_news_rss_renderer.google_news_rss_renderer(
100         {"Fetch News": (minutes * 30), "Shuffle News": (always)},
101         "news.google.com",
102         ["/rss?hl=en-US&gl=US&ceid=US:en"],
103         "Google News",
104     ),
105     health_renderer.periodic_health_renderer(
106         {"Update Perioidic Job Health": (seconds * 45)}
107     ),
108     stock_renderer.stock_quote_renderer(
109         {"Update Prices": (minutes * 10)},
110         [
111             "MSFT",
112             "SPY",
113             "BTC-USD",
114             "IEMG",
115             "ABHYX",
116             "SPAB",
117             "SPHD",
118             "SCHD",
119             "BCD",
120             "GC=F",
121             "VYM",
122             "VYMI",
123             "VDC",
124             "VNQ",
125             "VNQI",
126         ],
127         {
128             "BTC-USD": "BTC",
129             "GC=F": "GOLD"
130         },
131     ),
132     seattletimes_rss_renderer.seattletimes_rss_renderer(
133         {"Fetch News": (hours * 4), "Shuffle News": (always)},
134         "www.seattletimes.com",
135         ["/pacific-nw-magazine/feed/", "/life/feed/", "/outdoors/feed/"],
136         "Seattle Times Segments",
137     ),
138     weather_renderer.weather_renderer(
139         {"Fetch Weather (Bellevue)": (hours * 3)}, "home"
140     ),
141     weather_renderer.weather_renderer(
142         {"Fetch Weather (Stevens)": (hours * 3)}, "stevens"
143     ),
144     weather_renderer.weather_renderer(
145         {"Fetch Weather (Telma)": (hours * 3)}, "telma"),
146     local_photos_mirror_renderer.local_photos_mirror_renderer(
147         {"Index Photos": (hours * 24), "Choose Photo": (always)}
148     ),
149     gkeep_renderer.gkeep_renderer({"Update": (minutes * 10)}),
150     gcal_renderer.gcal_renderer(
151         {"Render Upcoming Events": (hours * 2), "Look For Triggered Events": (always)},
152         oauth,
153     ),
154     reddit_renderer.showerthoughts_reddit_renderer(
155         {"Scrape": (hours * 6), "Shuffle": (always)}
156     ),
157     reddit_renderer.til_reddit_renderer({"Scrape": (hours * 6), "Shuffle": (always)}),
158     reddit_renderer.seattle_reddit_renderer(
159         {"Scrape": (hours * 6), "Shuffle": (always)}
160     ),
161     reddit_renderer.quotes_reddit_renderer(
162         {"Scrape": (hours * 6), "Shuffle": (always)}
163     ),
164     reddit_renderer.lifeprotips_reddit_renderer(
165         {"Scrape": (hours * 6), "Shuffle": (always)}
166     ),
167     twitter_renderer.twitter_renderer(
168         {"Fetch Tweets": (minutes * 15), "Shuffle Tweets": (always)}
169     ),
170 ]
171
172
173 def get_renderers():
174     return __registry