Ticket #6898: b--UNTESTED-SVN.PATCH

File b--UNTESTED-SVN.PATCH, 12.7 KB (added by f-myth-users@…, 15 years ago)
Line 
1Index: libs/libmythtv/datadirect.h
2===================================================================
3--- libs/libmythtv/datadirect.h (revision 21445)
4+++ libs/libmythtv/datadirect.h (working copy)
5@@ -97,6 +97,7 @@
6     QString   stationid; // 12
7     QDateTime time;
8     QTime     duration;
9+    int       sd_runtime;
10     bool      repeat;
11     bool      isnew;
12     bool      stereo;
13@@ -125,6 +126,7 @@
14     QString mpaaRating;  // 5
15     QString starRating;  // 5
16     QTime   duration;
17+    int     sd_runtime;
18     QString year;        // 4
19     QString showtype;    // 30
20     QString colorcode;   // 20
21Index: libs/libmythtv/datadirect.cpp
22===================================================================
23--- libs/libmythtv/datadirect.cpp       (revision 21445)
24+++ libs/libmythtv/datadirect.cpp       (working copy)
25@@ -70,6 +70,7 @@
26 DataDirectSchedule::DataDirectSchedule() :
27     programid(""),              stationid(""),
28     time(QDateTime()),          duration(QTime()),
29+    sd_runtime(0),
30     repeat(false),              isnew(false),
31     stereo(false),              dolby(false),
32     subtitled(false),
33@@ -83,6 +84,7 @@
34     programid(""),  seriesid(""),      title(""),
35     subtitle(""),   description(""),   mpaaRating(""),
36     starRating(""), duration(QTime()), year(""),
37+    sd_runtime(0),
38     showtype(""),   colorcode(""),     originalAirDate(QDate()),
39     syndicatedEpisodeNumber("")
40 {
41@@ -340,13 +342,13 @@
42             "     ( programid,    title,       subtitle,       "
43             "       description,  showtype,    category_type,  "
44             "       mpaarating,   starrating,  stars,          "
45-            "       runtime,      year,        seriesid,       "
46+            "       runtime,      sd_runtime,  year,       seriesid,       "
47             "       colorcode,    syndicatedepisodenumber, originalairdate) "
48             "VALUES "
49             "     (:PROGRAMID,   :TITLE,      :SUBTITLE,       "
50             "      :DESCRIPTION, :SHOWTYPE,   :CATTYPE,        "
51             "      :MPAARATING,  :STARRATING, :STARS,          "
52-            "      :RUNTIME,     :YEAR,       :SERIESID,       "
53+            "      :RUNTIME,     :SD_RUNTIME,  :YEAR,       :SERIESID,       "
54             "      :COLORCODE,   :SYNDNUM,    :ORIGAIRDATE)    ");
55 
56         query.bindValue(":PROGRAMID",   curr_program.programid);
57@@ -359,6 +361,7 @@
58         query.bindValue(":STARRATING",  curr_program.starRating);
59         query.bindValue(":STARS",       staravg);
60         query.bindValue(":RUNTIME",     curr_program.duration);
61+        query.bindValue(":SD_RUNTIME",  curr_program.duration);
62         query.bindValue(":YEAR",        curr_program.year);
63         query.bindValue(":SERIESID",    curr_program.seriesid);
64         query.bindValue(":COLORCODE",   curr_program.colorcode);
65@@ -425,6 +428,7 @@
66 
67 bool DDStructureParser::characters(const QString& pchars)
68 {
69+    int h, m;
70     // cerr << "Characters : " << pchars << "\n";
71     if (pchars.trimmed().isEmpty())
72         return true;
73@@ -512,9 +516,10 @@
74     else if (currtagname == "runTime")
75     {
76         QString runtimestr = pchars;
77-        QTime runtime = QTime(runtimestr.mid(2,2).toInt(),
78-                              runtimestr.mid(5,2).toInt(), 0, 0);
79+        QTime runtime = QTime(h = runtimestr.mid(2,2).toInt(),
80+                              m = runtimestr.mid(5,2).toInt(), 0, 0);
81         curr_program.duration = runtime;
82+        curr_program.sd_runtime = h * 60 + m;
83     }
84     else if (currtagname == "originalAirDate")
85     {
86@@ -648,7 +653,7 @@
87         "       parttotal,               seriesid,        originalairdate, "
88         "       showtype,                category_type,   colorcode,       "
89         "       syndicatedepisodenumber, tvrating,        mpaarating,      "
90-        "       programid )      "
91+        "       programid,               sd_runtime )      "
92         "SELECT chanid,                  scheduletime,    endtime,         "
93         "       title,                   subtitle,        description,     "
94         "       year,                    stars,           isrepeat,        "
95@@ -657,7 +662,7 @@
96         "       parttotal,               seriesid,        originalairdate, "
97         "       showtype,                category_type,   colorcode,       "
98         "       syndicatedepisodenumber, tvrating,        mpaarating,      "
99-        "       dd_program.programid "
100+        "       dd_program.programid,    sd_runtime "
101         "FROM channel, dd_schedule, dd_program "
102         "WHERE ((dd_schedule.programid = dd_program.programid)  AND "
103         "       (channel.xmltvid       = dd_schedule.stationid) AND "
104@@ -847,7 +852,7 @@
105         "    stereo,        subtitled,   subtitletypes,   videoprop,       "
106         "    audioprop,     hdtv,        closecaptioned,  partnumber,      "
107         "    parttotal,     seriesid,    originalairdate, colorcode,       "
108-        "    syndicatedepisodenumber,                                      "
109+        "    syndicatedepisodenumber,    sd_runtime,                       "
110         "                   programid,   listingsource)                    "
111         "  SELECT                                                          "
112         "    dd_v_program.chanid,                                          "
113@@ -861,7 +866,7 @@
114         "    (dolby << 3) | stereo,                                        "
115         "                   hdtv,        closecaptioned,  partnumber,      "
116         "    parttotal,     seriesid,    originalairdate, colorcode,       "
117-        "    syndicatedepisodenumber,                                      "
118+        "    syndicatedepisodenumber,    sd_runtime,                       "
119         "                   dd_v_program.programid,                        "
120         "                               :LSOURCE                           "
121         "FROM (dd_v_program, channel) "
122@@ -1406,6 +1411,7 @@
123         "  title varchar(120),           subtitle varchar(150), "
124         "  description text,             mpaarating char(5),    "
125         "  starrating char(5),           runtime time,          "
126+        "  sd_runtime smallint unsigned, "
127         "  year char(4),                 showtype char(30),     "
128         "  category_type char(64),       colorcode char(20),    "
129         "  originalairdate date,         syndicatedepisodenumber char(20), "
130@@ -1416,7 +1422,8 @@
131         "( chanid int unsigned NOT NULL, starttime datetime NOT NULL, "
132         "  endtime datetime,             title varchar(128),          "
133         "  subtitle varchar(128),        description text,            "
134-        "  category varchar(64),         category_type varchar(64),   "
135+        "  category varchar(64),         sd_runtime smallint unsigned, "
136+        "  category_type varchar(64),   "
137         "  airdate year,                 stars float unsigned,        "
138         "  previouslyshown tinyint,      isrepeat bool,               "
139         "  stereo bool,                  dolby bool,                  "
140Index: libs/libmythtv/programdata.cpp
141===================================================================
142--- libs/libmythtv/programdata.cpp      (revision 21445)
143+++ libs/libmythtv/programdata.cpp      (working copy)
144@@ -168,6 +168,7 @@
145     partnumber      = other.partnumber;
146     parttotal       = other.parttotal;
147     syndicatedepisodenumber = other.syndicatedepisodenumber;
148+    sd_runtime      = other.sd_runtime;
149     subtitleType    = other.subtitleType;
150     audioProps      = other.audioProps;
151     videoProps      = other.videoProps;
152@@ -537,6 +538,8 @@
153         !match.syndicatedepisodenumber.isEmpty())
154         lsyndicatedepisodenumber = match.syndicatedepisodenumber;
155 
156+    QString lsd_runtime = sd_runtime;
157+
158     query.prepare(
159         "UPDATE program "
160         "SET title          = :TITLE,     subtitle      = :SUBTITLE, "
161@@ -549,6 +552,7 @@
162         "    audioprop      = :AUDIOPROP, videoprop     = :VIDEOPROP, "
163         "    partnumber     = :PARTNO,    parttotal     = :PARTTOTAL, "
164         "    syndicatedepisodenumber = :SYNDICATENO, "
165+       "    sd_runtime     = :SD_RUNTIME, "
166         "    airdate        = :AIRDATE,   originalairdate=:ORIGAIRDATE, "
167         "    listingsource  = :LSOURCE, "
168         "    seriesid       = :SERIESID,  programid     = :PROGRAMID, "
169@@ -575,6 +579,7 @@
170     query.bindValue(":PARTNO",      lpartnumber);
171     query.bindValue(":PARTTOTAL",   lparttotal);
172     query.bindValue(":SYNDICATENO", lsyndicatedepisodenumber);
173+    query.bindVAlue(":SD_RUNTIME",  lsd_runtime);
174     query.bindValue(":AIRDATE",     lairdate?QString::number(lairdate):"0000");
175     query.bindValue(":ORIGAIRDATE", loriginalairdate);
176     query.bindValue(":LSOURCE",     llistingsource);
177@@ -705,6 +710,7 @@
178         "  subtitletypes,  audioprop,      videoprop, "
179         "  partnumber,     parttotal, "
180         "  syndicatedepisodenumber, "
181+       "  sd_runtime, "
182         "  airdate,        originalairdate,listingsource, "
183         "  seriesid,       programid,      previouslyshown ) "
184         "VALUES ("
185@@ -715,6 +721,7 @@
186         " :SUBTYPES,      :AUDIOPROP,     :VIDEOPROP, "
187         " :PARTNUMBER,    :PARTTOTAL, "
188         " :SYNDICATENO, "
189+       " :SD_RUNTIME, "
190         " :AIRDATE,       :ORIGAIRDATE,   :LSOURCE, "
191         " :SERIESID,      :PROGRAMID,     :PREVSHOWN) ");
192 
193@@ -738,6 +745,7 @@
194     query.bindValue(":PARTNUMBER",  partnumber);
195     query.bindValue(":PARTTOTAL",   parttotal);
196     query.bindValue(":SYNDICATENO", syndicatedepisodenumber);
197+    query.bindValue(":SD_RUNTIME",  sd_runtime);
198     query.bindValue(":AIRDATE",     airdate ? QString::number(airdate):"0000");
199     query.bindValue(":ORIGAIRDATE", originalairdate);
200     query.bindValue(":LSOURCE",     listingsource);
201@@ -832,6 +840,7 @@
202         "  subtitletypes,  audioprop,      videoprop, "
203         "  partnumber,     parttotal, "
204         "  syndicatedepisodenumber, "
205+       "  sd_runtime, "
206         "  airdate,        originalairdate,listingsource, "
207         "  seriesid,       programid,      previouslyshown, "
208         "  stars,          showtype,       title_pronounce, colorcode ) "
209@@ -844,6 +853,7 @@
210         " :SUBTYPES,      :AUDIOPROP,     :VIDEOPROP, "
211         " :PARTNUMBER,    :PARTTOTAL, "
212         " :SYNDICATENO, "
213+       " :SD_RUNTIME, "
214         " :AIRDATE,       :ORIGAIRDATE,   :LSOURCE, "
215         " :SERIESID,      :PROGRAMID,     :PREVSHOWN, "
216         " :STARS,         :SHOWTYPE,      :TITLEPRON,      :COLORCODE)");
217@@ -872,6 +882,7 @@
218     query.bindValue(":PARTNUMBER",  partnumber);
219     query.bindValue(":PARTTOTAL",   parttotal);
220     query.bindValue(":SYNDICATENO", syndicatedepisodenumber);
221+    query.bindValue(":SD_RUNTIME",  sd_runtime);
222     query.bindValue(":AIRDATE",     airdate ? QString::number(airdate):"0000");
223     query.bindValue(":ORIGAIRDATE", originalairdate);
224     query.bindValue(":LSOURCE",     listingsource);
225@@ -1236,6 +1247,7 @@
226         "      showtype        = :SHOWTYPE   AND "
227         "      colorcode       = :COLORCODE  AND "
228         "      syndicatedepisodenumber = :SYNDICATEDEPISODENUMBER AND "
229+       "      sd_runtime      = :SD_RUNTIME AND "
230         "      programid       = :PROGRAMID");
231 
232     QString cattype = myth_category_type_to_string(pi.categoryType);
233@@ -1262,6 +1274,7 @@
234     query.bindValue(":SHOWTYPE",   pi.showtype);
235     query.bindValue(":COLORCODE",  pi.colorcode);
236     query.bindValue(":SYNDICATEDEPISODENUMBER", pi.syndicatedepisodenumber);
237+    query.bindValue(":SD_RUNTIME,  pi.sd_runtime);
238     query.bindValue(":PROGRAMID",  pi.programId);
239 
240     if (query.exec() && query.next())
241Index: libs/libmythtv/programdata.h
242===================================================================
243--- libs/libmythtv/programdata.h        (revision 21445)
244+++ libs/libmythtv/programdata.h        (working copy)
245@@ -74,6 +74,7 @@
246         partnumber(0),
247         parttotal(0),
248         syndicatedepisodenumber(QString::null),
249+        sd_runtime(0),
250         subtitleType(0),
251         audioProps(0),
252         videoProps(0),
253@@ -100,6 +101,7 @@
254         credits(NULL),
255         partnumber(0),           parttotal(0),
256         syndicatedepisodenumber(QString("")),
257+        sd_runtime(0),
258         subtitleType(_subtitleType),
259         audioProps(_audioProps), videoProps(_videoProps),
260         categoryType(_category_type),
261@@ -149,6 +151,7 @@
262     uint16_t      partnumber;
263     uint16_t      parttotal;
264     QString       syndicatedepisodenumber;
265+    unsigned int  sd_runtime;
266     unsigned char subtitleType;
267     unsigned char audioProps;
268     unsigned char videoProps;
269Index: libs/libmyth/programinfo.cpp
270===================================================================
271--- libs/libmyth/programinfo.cpp        (revision 21445)
272+++ libs/libmyth/programinfo.cpp        (working copy)
273@@ -214,6 +214,7 @@
274 
275     seriesid(other.seriesid),
276     programid(other.programid),
277+    sd_runtime(other.sd_runtime),
278     catType(other.catType),
279 
280     sortTitle(other.sortTitle),