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