comparison src/core/anime_season.cc @ 393:963047512d34

*: clang-format
author Paper <paper@tflc.us>
date Fri, 07 Nov 2025 07:16:15 -0500
parents 47c9f8502269
children
comparison
equal deleted inserted replaced
392:a72d6d7b3568 393:963047512d34
4 namespace Anime { 4 namespace Anime {
5 5
6 static bool WinterStartsInDecember() 6 static bool WinterStartsInDecember()
7 { 7 {
8 switch (session.config.service) { 8 switch (session.config.service) {
9 case Service::MyAnimeList: return false; 9 case Service::MyAnimeList:
10 default: return true; 10 return false;
11 default:
12 return true;
11 } 13 }
12 } 14 }
13 15
14 static Season::Name GetSeasonForMonth(Date::Month month) 16 static Season::Name GetSeasonForMonth(Date::Month month)
15 { 17 {
16 if (WinterStartsInDecember()) { 18 if (WinterStartsInDecember()) {
17 switch (month) { 19 switch (month) {
18 case Date::Month::Dec: 20 case Date::Month::Dec:
19 case Date::Month::Jan: 21 case Date::Month::Jan:
20 case Date::Month::Feb: return Season::Name::Winter; 22 case Date::Month::Feb:
21 case Date::Month::Mar: 23 return Season::Name::Winter;
22 case Date::Month::Apr: 24 case Date::Month::Mar:
23 case Date::Month::May: return Season::Name::Spring; 25 case Date::Month::Apr:
24 case Date::Month::Jun: 26 case Date::Month::May:
25 case Date::Month::Jul: 27 return Season::Name::Spring;
26 case Date::Month::Aug: return Season::Name::Summer; 28 case Date::Month::Jun:
27 case Date::Month::Sep: 29 case Date::Month::Jul:
28 case Date::Month::Oct: 30 case Date::Month::Aug:
29 case Date::Month::Nov: return Season::Name::Autumn; 31 return Season::Name::Summer;
30 default: return Season::Name::Unknown; 32 case Date::Month::Sep:
33 case Date::Month::Oct:
34 case Date::Month::Nov:
35 return Season::Name::Autumn;
36 default:
37 return Season::Name::Unknown;
31 } 38 }
32 } else { 39 } else {
33 switch (month) { 40 switch (month) {
34 case Date::Month::Jan: 41 case Date::Month::Jan:
35 case Date::Month::Feb: 42 case Date::Month::Feb:
36 case Date::Month::Mar: return Season::Name::Winter; 43 case Date::Month::Mar:
37 case Date::Month::Apr: 44 return Season::Name::Winter;
38 case Date::Month::May: 45 case Date::Month::Apr:
39 case Date::Month::Jun: return Season::Name::Spring; 46 case Date::Month::May:
40 case Date::Month::Jul: 47 case Date::Month::Jun:
41 case Date::Month::Aug: 48 return Season::Name::Spring;
42 case Date::Month::Sep: return Season::Name::Summer; 49 case Date::Month::Jul:
43 case Date::Month::Oct: 50 case Date::Month::Aug:
44 case Date::Month::Nov: 51 case Date::Month::Sep:
45 case Date::Month::Dec: return Season::Name::Autumn; 52 return Season::Name::Summer;
46 default: return Season::Name::Unknown; 53 case Date::Month::Oct:
54 case Date::Month::Nov:
55 case Date::Month::Dec:
56 return Season::Name::Autumn;
57 default:
58 return Season::Name::Unknown;
47 } 59 }
48 } 60 }
49 } 61 }
50 62
51 Season::Season(Season::Name s, Date::Year y) 63 Season::Season(Season::Name s, Date::Year y)
96 } 108 }
97 109
98 Season &Season::operator++() 110 Season &Season::operator++()
99 { 111 {
100 switch (season) { 112 switch (season) {
101 case Season::Name::Winter: season = Season::Name::Spring; break; 113 case Season::Name::Winter:
102 case Season::Name::Spring: season = Season::Name::Summer; break; 114 season = Season::Name::Spring;
103 case Season::Name::Summer: season = Season::Name::Autumn; break; 115 break;
104 case Season::Name::Autumn: 116 case Season::Name::Spring:
105 season = Season::Name::Winter; 117 season = Season::Name::Summer;
106 year++; 118 break;
107 break; 119 case Season::Name::Summer:
108 default: season = Season::Name::Unknown; break; 120 season = Season::Name::Autumn;
121 break;
122 case Season::Name::Autumn:
123 season = Season::Name::Winter;
124 year++;
125 break;
126 default:
127 season = Season::Name::Unknown;
128 break;
109 } 129 }
110 130
111 return *this; 131 return *this;
112 } 132 }
113 133
114 Season &Season::operator--() 134 Season &Season::operator--()
115 { 135 {
116 switch (season) { 136 switch (season) {
117 case Season::Name::Winter: 137 case Season::Name::Winter:
118 season = Season::Name::Autumn; 138 season = Season::Name::Autumn;
119 year--; 139 year--;
120 break; 140 break;
121 case Season::Name::Spring: season = Season::Name::Winter; break; 141 case Season::Name::Spring:
122 case Season::Name::Summer: season = Season::Name::Spring; break; 142 season = Season::Name::Winter;
123 case Season::Name::Autumn: season = Season::Name::Summer; break; 143 break;
124 default: season = Season::Name::Unknown; break; 144 case Season::Name::Summer:
145 season = Season::Name::Spring;
146 break;
147 case Season::Name::Autumn:
148 season = Season::Name::Summer;
149 break;
150 default:
151 season = Season::Name::Unknown;
152 break;
125 } 153 }
126 154
127 return *this; 155 return *this;
128 } 156 }
129 157