Ticket #10849: 10849-v1.patch

File 10849-v1.patch, 3.4 KB (added by danielk, 12 years ago)

Untested patch

  • mythtv/programs/mythbackend/housekeeper.cpp

    diff --git a/mythtv/programs/mythbackend/housekeeper.cpp b/mythtv/programs/mythbackend/housekeeper.cpp
    index db4012a..e66a0c6 100644
    a b void HouseKeeper::RunHouseKeeping(void) 
    202202        houseKeepingWait.wakeAll();
    203203    }
    204204
    205     int period, maxhr, minhr;
    206205    QString dbTag;
    207206    bool initialRun = true;
    208207
    void HouseKeeper::RunHouseKeeping(void) 
    242241                }
    243242                else
    244243                {
    245                     period = 1;
    246                     minhr = gCoreContext->GetNumSetting("MythFillMinHour", -1);
    247                     if (minhr == -1)
    248                     {
    249                         minhr = 0;
    250                         maxhr = 24;
    251                     }
    252                     else
    253                     {
    254                         maxhr = gCoreContext->GetNumSetting("MythFillMaxHour", 24);
    255                     }
    256 
    257244                    bool grabberSupportsNextTime = false;
    258245                    MSqlQuery result(MSqlQuery::InitCon());
    259246                    if (result.isConnected())
    void HouseKeeper::RunHouseKeeping(void) 
    266253                        if ((result.exec()) &&
    267254                            (result.next()) &&
    268255                            (result.value(0).toInt() > 0))
    269                             grabberSupportsNextTime = true;
     256                        {
     257                            grabberSupportsNextTime =
     258                                gCoreContext->GetNumSetting(
     259                                    "MythFillGrabberSuggestsTime", 1);
     260                        }
    270261                    }
    271262
    272263                    bool runMythFill = false;
    273                     if (grabberSupportsNextTime &&
    274                         gCoreContext->GetNumSetting("MythFillGrabberSuggestsTime", 1))
     264                    if (grabberSupportsNextTime)
    275265                    {
    276266                        QDateTime nextRun = MythDate::fromString(
    277267                            gCoreContext->GetSetting("MythFillSuggestedRunTime",
    void HouseKeeper::RunHouseKeeping(void) 
    283273                            (lastRun.secsTo(now) > (3 * 60 * 60)))
    284274                            runMythFill = true;
    285275                    }
    286                     else if (wantToRun("MythFillDB", period, minhr, maxhr,
    287                                        initialRun))
     276                    else
    288277                    {
    289                         runMythFill = true;
     278                        QDate date = QDate::currentDate();
     279                        int minhr = gCoreContext->GetNumSetting(
     280                            "MythFillMinHour", -1) % 24;
     281                        int maxhr = (minhr != -1) ? 23 :
     282                            gCoreContext->GetNumSetting(
     283                                "MythFillMaxHour", 23) % 24;
     284
     285                        QDateTime umin =
     286                            QDateTime(date, QTime(minhr,0)).toUTC();
     287                        QDateTime umax =
     288                            QDateTime(date, QTime(maxhr,0)).toUTC();
     289
     290                        if (umax == umin)
     291                            umax.addSecs(60*60);
     292
     293                        runMythFill = wantToRun(
     294                            "MythFillDB", 1,
     295                            umin.time().hour(), umax.time().hour(),
     296                            initialRun);
    290297                    }
    291298
    292299                    if (runMythFill)