| 1 | --- programs/mythfilldatabase/filldata.cpp.nostatic 2006-09-25 23:08:37.000000000 -0400
|
|---|
| 2 | +++ programs/mythfilldatabase/filldata.cpp 2006-09-29 23:08:18.000000000 -0400
|
|---|
| 3 | @@ -78,7 +78,6 @@
|
|---|
| 4 | int listing_wrap_offset = 0;
|
|---|
| 5 |
|
|---|
| 6 | QString lastdduserid;
|
|---|
| 7 | -DataDirectProcessor ddprocessor;
|
|---|
| 8 | QString graboptions = "";
|
|---|
| 9 | QString cardtype = QString::null;
|
|---|
| 10 |
|
|---|
| 11 | @@ -879,17 +878,19 @@
|
|---|
| 12 | }
|
|---|
| 13 |
|
|---|
| 14 | // DataDirect stuff
|
|---|
| 15 | -void DataDirectStationUpdate(Source source, bool update_icons = true)
|
|---|
| 16 | +void DataDirectStationUpdate(Source source,
|
|---|
| 17 | + DataDirectProcessor &ddprocessor,
|
|---|
| 18 | + bool update_icons = true)
|
|---|
| 19 | {
|
|---|
| 20 | - DataDirectProcessor::UpdateStationViewTable(source.lineupid);
|
|---|
| 21 | + ddprocessor.UpdateStationViewTable(source.lineupid);
|
|---|
| 22 |
|
|---|
| 23 | bool insert_channels = insert_chan(source.id);
|
|---|
| 24 | - int new_channels = DataDirectProcessor::UpdateChannelsSafe(
|
|---|
| 25 | + int new_channels = ddprocessor.UpdateChannelsSafe(
|
|---|
| 26 | source.id, insert_channels);
|
|---|
| 27 |
|
|---|
| 28 | // User must pass "--do-channel-updates" for these updates
|
|---|
| 29 | if (channel_updates)
|
|---|
| 30 | - DataDirectProcessor::UpdateChannelsUnsafe(source.id);
|
|---|
| 31 | + ddprocessor.UpdateChannelsUnsafe(source.id);
|
|---|
| 32 | // TODO delete any channels which no longer exist in listings source
|
|---|
| 33 |
|
|---|
| 34 | if (update_icons)
|
|---|
| 35 | @@ -919,7 +920,7 @@
|
|---|
| 36 | }
|
|---|
| 37 | }
|
|---|
| 38 |
|
|---|
| 39 | -bool DataDirectUpdateChannels(Source source)
|
|---|
| 40 | +bool DataDirectUpdateChannels(DataDirectProcessor &ddprocessor, Source source)
|
|---|
| 41 | {
|
|---|
| 42 | ddprocessor.SetListingsProvider(DD_ZAP2IT);
|
|---|
| 43 | ddprocessor.SetUserID(source.userid);
|
|---|
| 44 | @@ -931,7 +932,7 @@
|
|---|
| 45 | raw_lineup = source.id;
|
|---|
| 46 |
|
|---|
| 47 | if (ok)
|
|---|
| 48 | - DataDirectStationUpdate(source, false);
|
|---|
| 49 | + DataDirectStationUpdate(source, ddprocessor, false);
|
|---|
| 50 |
|
|---|
| 51 | return ok;
|
|---|
| 52 | }
|
|---|
| 53 | @@ -1030,7 +1031,8 @@
|
|---|
| 54 | //cerr << "Done...\n";
|
|---|
| 55 | }
|
|---|
| 56 |
|
|---|
| 57 | -bool grabDDData(Source source, int poffset, QDate pdate, int ddSource)
|
|---|
| 58 | +bool grabDDData(Source source, int poffset, QDate pdate, int ddSource,
|
|---|
| 59 | + DataDirectProcessor &ddprocessor)
|
|---|
| 60 | {
|
|---|
| 61 | ddprocessor.SetListingsProvider(ddSource);
|
|---|
| 62 | ddprocessor.SetUserID(source.userid);
|
|---|
| 63 | @@ -1111,13 +1113,13 @@
|
|---|
| 64 | if (!channel_update_run)
|
|---|
| 65 | {
|
|---|
| 66 | VERBOSE(VB_GENERAL, "Updating myth channels.");
|
|---|
| 67 | - DataDirectStationUpdate(source);
|
|---|
| 68 | + DataDirectStationUpdate(source, ddprocessor);
|
|---|
| 69 | VERBOSE(VB_GENERAL, "Channels updated.");
|
|---|
| 70 | channel_update_run = true;
|
|---|
| 71 | }
|
|---|
| 72 |
|
|---|
| 73 | //cerr << "Creating program view table...\n";
|
|---|
| 74 | - DataDirectProcessor::UpdateProgramViewTable(source.id);
|
|---|
| 75 | + ddprocessor.UpdateProgramViewTable(source.id);
|
|---|
| 76 | //cerr << "Finished creating program view table...\n";
|
|---|
| 77 |
|
|---|
| 78 | myMonitor->hibernate();
|
|---|
| 79 | @@ -2618,12 +2620,14 @@
|
|---|
| 80 | return secsSince1Jan1970UTC;
|
|---|
| 81 | }
|
|---|
| 82 |
|
|---|
| 83 | -bool grabData(Source source, int offset, QDate *qCurrentDate = 0)
|
|---|
| 84 | +bool grabData(DataDirectProcessor &ddprocessor,
|
|---|
| 85 | + Source source, int offset, QDate *qCurrentDate = 0)
|
|---|
| 86 | {
|
|---|
| 87 | QString xmltv_grabber = source.xmltvgrabber;
|
|---|
| 88 |
|
|---|
| 89 | if (xmltv_grabber == "datadirect")
|
|---|
| 90 | - return grabDDData(source, offset, *qCurrentDate, DD_ZAP2IT);
|
|---|
| 91 | + return grabDDData(source, offset, *qCurrentDate, DD_ZAP2IT,
|
|---|
| 92 | + ddprocessor);
|
|---|
| 93 | else if (xmltv_grabber == "technovera")
|
|---|
| 94 | {
|
|---|
| 95 | VERBOSE(VB_ALL, "This grabber is no longer supported");
|
|---|
| 96 | @@ -2816,7 +2820,9 @@
|
|---|
| 97 | }
|
|---|
| 98 |
|
|---|
| 99 | void grabDataFromDDFile(int id, int offset, const QString &filename,
|
|---|
| 100 | - const QString &lineupid, QDate *qCurrentDate = 0)
|
|---|
| 101 | + const QString &lineupid,
|
|---|
| 102 | + DataDirectProcessor &ddprocessor,
|
|---|
| 103 | + QDate *qCurrentDate = 0)
|
|---|
| 104 | {
|
|---|
| 105 | QDate *currentd = qCurrentDate;
|
|---|
| 106 | QDate qcd = QDate::currentDate();
|
|---|
| 107 | @@ -2832,7 +2838,7 @@
|
|---|
| 108 | s.password = "fromfile";
|
|---|
| 109 | s.lineupid = lineupid;
|
|---|
| 110 |
|
|---|
| 111 | - grabData(s, offset, currentd);
|
|---|
| 112 | + grabData(ddprocessor, s, offset, currentd);
|
|---|
| 113 | }
|
|---|
| 114 |
|
|---|
| 115 | void clearOldDBEntries(void)
|
|---|
| 116 | @@ -2962,7 +2968,8 @@
|
|---|
| 117 | * program info grabbed with the associated grabber.
|
|---|
| 118 | * \return true if there was no failures
|
|---|
| 119 | */
|
|---|
| 120 | -bool fillData(QValueList<Source> &sourcelist)
|
|---|
| 121 | +bool fillData(QValueList<Source> &sourcelist,
|
|---|
| 122 | + DataDirectProcessor &ddprocessor)
|
|---|
| 123 | {
|
|---|
| 124 | QValueList<Source>::Iterator it;
|
|---|
| 125 |
|
|---|
| 126 | @@ -3009,17 +3016,17 @@
|
|---|
| 127 | {
|
|---|
| 128 | // These don't support the --offset option, so just grab the max.
|
|---|
| 129 | // TODO: tv_grab_fi/dk/is seems to support --offset, maybe more. Needs verification.
|
|---|
| 130 | - if (!grabData(*it, 0))
|
|---|
| 131 | + if (!grabData(ddprocessor, *it, 0))
|
|---|
| 132 | ++failures;
|
|---|
| 133 | }
|
|---|
| 134 | else if ((xmltv_grabber == "datadirect") && dd_grab_all)
|
|---|
| 135 | {
|
|---|
| 136 | if (only_update_channels)
|
|---|
| 137 | - DataDirectUpdateChannels(*it);
|
|---|
| 138 | + DataDirectUpdateChannels(ddprocessor, *it);
|
|---|
| 139 | else
|
|---|
| 140 | {
|
|---|
| 141 | QDate qCurrentDate = QDate::currentDate();
|
|---|
| 142 | - grabData(*it, 0, &qCurrentDate);
|
|---|
| 143 | + grabData(ddprocessor, *it, 0, &qCurrentDate);
|
|---|
| 144 | }
|
|---|
| 145 | }
|
|---|
| 146 | else if (xmltv_grabber == "datadirect" ||
|
|---|
| 147 | @@ -3064,7 +3071,7 @@
|
|---|
| 148 |
|
|---|
| 149 | if ((xmltv_grabber == "datadirect") && only_update_channels)
|
|---|
| 150 | {
|
|---|
| 151 | - DataDirectUpdateChannels(*it);
|
|---|
| 152 | + DataDirectUpdateChannels(ddprocessor, *it);
|
|---|
| 153 | grabdays = 0;
|
|---|
| 154 | }
|
|---|
| 155 |
|
|---|
| 156 | @@ -3238,7 +3245,7 @@
|
|---|
| 157 | {
|
|---|
| 158 | VERBOSE(VB_IMPORTANT,
|
|---|
| 159 | QString("Refreshing data for ") + currDate);
|
|---|
| 160 | - if (!grabData(*it, i, &qCurrentDate))
|
|---|
| 161 | + if (!grabData(ddprocessor, *it, i, &qCurrentDate))
|
|---|
| 162 | {
|
|---|
| 163 | ++failures;
|
|---|
| 164 | if (interrupted)
|
|---|
| 165 | @@ -3949,7 +3956,9 @@
|
|---|
| 166 |
|
|---|
| 167 | gContext->LogEntry("mythfilldatabase", LP_INFO,
|
|---|
| 168 | "Listings Download Started", "");
|
|---|
| 169 | -
|
|---|
| 170 | +
|
|---|
| 171 | + DataDirectProcessor ddprocessor;
|
|---|
| 172 | +
|
|---|
| 173 | JobMonitor jobMonitor(-1);
|
|---|
| 174 |
|
|---|
| 175 | myMonitor= &jobMonitor;
|
|---|
| 176 | @@ -4033,7 +4042,7 @@
|
|---|
| 177 | else if (from_dd_file)
|
|---|
| 178 | {
|
|---|
| 179 | grabDataFromDDFile(fromfile_id, fromfile_offset, fromfile_name,
|
|---|
| 180 | - fromddfile_lineupid);
|
|---|
| 181 | + fromddfile_lineupid, ddprocessor);
|
|---|
| 182 | clearOldDBEntries();
|
|---|
| 183 | }
|
|---|
| 184 | else
|
|---|
| 185 | @@ -4098,7 +4107,7 @@
|
|---|
| 186 | return FILLDB_EXIT_DB_ERROR;
|
|---|
| 187 | }
|
|---|
| 188 |
|
|---|
| 189 | - if (!fillData(sourcelist))
|
|---|
| 190 | + if (!fillData(sourcelist, ddprocessor))
|
|---|
| 191 | {
|
|---|
| 192 | VERBOSE(VB_IMPORTANT, "Failed to fetch some program info");
|
|---|
| 193 | gContext->LogEntry("mythfilldatabase", LP_WARNING,
|
|---|