-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.json
More file actions
65 lines (54 loc) · 3.52 KB
/
Copy pathconfig.json
File metadata and controls
65 lines (54 loc) · 3.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
{
"_comment": "Selection strategy: 'fixed', 'weekday', 'rotate', or 'time_of_day'",
"selection": "time_of_day",
"_time_of_day_comment": "Papers rotate through the day (HKT). Each entry is a window starting at 'from', checked in order, last match wins. SCMP in the morning, Guardian early afternoon (BBC roundup of the day's UK print front pages), FT mid-afternoon, NYT in the evening (US print edition lands), LAT late.",
"time_of_day_schedule": [
{"from": "06:00", "paper": "south-china-morning-post"},
{"from": "13:00", "paper": "the-guardian"},
{"from": "15:00", "paper": "financial-times"},
{"from": "17:00", "paper": "the-new-york-times"},
{"from": "21:00", "paper": "los-angeles-times"}
],
"_weekday_map_comment": "0=Monday .. 6=Sunday. Used when selection='weekday'",
"weekday_map": {
"0": "south-china-morning-post",
"1": "the-new-york-times",
"2": "south-china-morning-post",
"3": "the-washington-post",
"4": "financial-times",
"5": "the-new-york-times",
"6": "financial-times"
},
"_rotate_list_comment": "Cycles through these one per day. Used when selection='rotate'",
"rotate_list": [
"south-china-morning-post",
"financial-times",
"the-new-york-times",
"the-washington-post",
"the-globe-and-mail"
],
"_fixed_comment": "Always show this paper. Used when selection='fixed'",
"fixed": "financial-times",
"_orientation_comment": "landscape (2880x2160) or portrait (2160x2880). Newspapers fit better in portrait.",
"orientation": "portrait",
"_fit_mode_comment": "contain (letterbox, preserve full page), cover (center-crop to fill), cover_top (fill edge-to-edge, anchor top, crop bottom, best for newspapers because it preserves the masthead). Override per paper via paper_overrides.",
"fit_mode": "cover_top",
"_paper_overrides_comment": "Per-paper override for any top-level setting (fit_mode, orientation, margin, rotation). Guardian uses contain because the BBC source photo is wider than the target inner aspect, so cover_top would clip the masthead and side teasers.",
"paper_overrides": {
"the-guardian": {"fit_mode": "contain"}
},
"_rotation_comment": "Final clockwise rotation in degrees (0/90/180/270). Use when the physical display is mounted in a different orientation than the content is composed at. Current setup: portrait content on a physically landscape-mounted 42in display = 90.",
"rotation": 90,
"_margin_comment": "White border in pixels on all sides. Physical DPI is ~86 (42 inch panel at 2880x2160), so 86px = 1 inch, 108px = 1.25 inches, 129px = 1.5 inches.",
"margin": 108,
"_watchdog_comment": "Periodic pipeline health check. Reads the heartbeat file (images/last-poll.txt, touched by server.py on every display poll) and alerts if it's been stale for longer than threshold_seconds. Default 900s = 3 missed 5-minute polls.",
"watchdog": {
"threshold_seconds": 900
},
"_alerts_comment": "Email alerting policy for the watchdog. Fires once after alert_after_failures consecutive failures (not on the first miss, which is usually noise), once on recovery, and then at most once every remind_after_hours while a fault persists. This file is tracked in git, so it holds policy only: the SMTP credentials AND the recipient list live in alert_config.json, which is gitignored.",
"alerts": {
"enabled": true,
"alert_after_failures": 3,
"remind_after_hours": 24
}
}