Ticket #8777: dish_descriptors4.diff

File dish_descriptors4.diff, 7.0 KB (added by Mark.Buechler@…, 14 years ago)

Move ratings from ProgEvent? to DBEvent and add stars to DBEvent.

  • libs/libmythtv/programdata.cpp

    @@ -410,8 +482,17 @@
                 subtitle_type,
                 audio_props,
                 video_props,
    +            stars,
                 seriesId,  programId);
     
    +        if (!rating.isEmpty() && !rating_system.isEmpty())
    +        {
    +            EventRating event_rating;
    +            event_rating.system = rating_system;
    +            event_rating.rating = rating;
    +            event->ratings.append(event_rating); 
    +        }
    +
             db_events.enqueue(event);
         }
     }
    @@ -516,6 +597,7 @@
                     subtitle_type,
                     audio_props,
                     video_props,
    +                0.0,
                     "",  "");
     
                 db_events.enqueue(event);
     
    177177    seriesId        = other.seriesId;
    178178    programId       = other.programId;
    179179    previouslyshown = other.previouslyshown;
     180    ratings         = other.ratings;
    180181
    181182    Squeeze();
    182183
     
    272273        "       partnumber,     parttotal, "
    273274        "       syndicatedepisodenumber, "
    274275        "       airdate,        originalairdate, "
    275         "       previouslyshown,listingsource "
     276        "       previouslyshown,listingsource, "
     277        "       stars+0 "
    276278        "FROM program "
    277279        "WHERE chanid   = :CHANID AND "
    278280        "      manualid = 0       AND "
     
    305307            query.value(7).toUInt(),
    306308            query.value(8).toUInt(),
    307309            query.value(9).toUInt(),
     310            query.value(19).toDouble(),
    308311            query.value(10).toString(),
    309312            query.value(11).toString(),
    310313            query.value(18).toUInt());
     
    705708        "  starttime,      endtime, "
    706709        "  closecaptioned, stereo,         hdtv,            subtitled, "
    707710        "  subtitletypes,  audioprop,      videoprop, "
    708         "  partnumber,     parttotal, "
     711        "  stars,          partnumber,     parttotal, "
    709712        "  syndicatedepisodenumber, "
    710713        "  airdate,        originalairdate,listingsource, "
    711714        "  seriesid,       programid,      previouslyshown ) "
     
    715718        " :STARTTIME,     :ENDTIME, "
    716719        " :CC,            :STEREO,        :HDTV,           :HASSUBTITLES, "
    717720        " :SUBTYPES,      :AUDIOPROP,     :VIDEOPROP, "
    718         " :PARTNUMBER,    :PARTTOTAL, "
     721        " :STARS,         :PARTNUMBER,    :PARTTOTAL, "
    719722        " :SYNDICATENO, "
    720723        " :AIRDATE,       :ORIGAIRDATE,   :LSOURCE, "
    721724        " :SERIESID,      :PROGRAMID,     :PREVSHOWN) ");
     
    737740    query.bindValue(":SUBTYPES",    subtitleType);
    738741    query.bindValue(":AUDIOPROP",   audioProps);
    739742    query.bindValue(":VIDEOPROP",   videoProps);
     743    query.bindValue(":STARS",       stars);
    740744    query.bindValue(":PARTNUMBER",  partnumber);
    741745    query.bindValue(":PARTTOTAL",   parttotal);
    742746    query.bindValue(":SYNDICATENO", syndicatedepisodenumber);
     
    784788    colorcode       = other.colorcode;
    785789    clumpidx        = other.clumpidx;
    786790    clumpmax        = other.clumpmax;
    787     ratings         = other.ratings;
    788791
    789792    squeeze_str(channel);
    790793    squeeze_str(startts);
     
    888891        return 0;
    889892    }
    890893
    891     QList<ProgRating>::const_iterator j = ratings.begin();
     894    QList<EventRating>::const_iterator j = ratings.begin();
    892895    for (; j != ratings.end(); ++j)
    893896    {
    894897        query.prepare(
  • libs/libmythtv/programdata.h

     
    6060};
    6161typedef vector<DBPerson> DBCredits;
    6262
     63class MPUBLIC EventRating
     64{
     65  public:
     66    QString system;
     67    QString rating;
     68};
     69
    6370class MPUBLIC DBEvent
    6471{
    6572  public:
     
    7784        subtitleType(0),
    7885        audioProps(0),
    7986        videoProps(0),
     87        stars(0.0),
    8088        categoryType(0/*kCategoryNone*/),
    8189        seriesId(QString::null),
    8290        programId(QString::null),
     
    9098            unsigned char    _subtitleType,
    9199            unsigned char    _audioProps,
    92100            unsigned char    _videoProps,
     101            float            _stars,
    93102            const QString   &_seriesId,  const QString   &_programId,
    94103            uint32_t         _listingsource) :
    95104        title(_title),           subtitle(_subtitle),
     
    102111        syndicatedepisodenumber(QString("")),
    103112        subtitleType(_subtitleType),
    104113        audioProps(_audioProps), videoProps(_videoProps),
     114        stars(_stars),
    105115        categoryType(_category_type),
    106116        seriesId(_seriesId),
    107117        programId(_programId),
     
    152162    unsigned char subtitleType;
    153163    unsigned char audioProps;
    154164    unsigned char videoProps;
     165    float         stars;
    155166    unsigned char categoryType;
    156167    QString       seriesId;
    157168    QString       programId;
    158169    bool          previouslyshown;
    159170    uint32_t      listingsource;
     171    QList<EventRating> ratings;
    160172};
    161173
    162174class MPUBLIC DBEventEIT : public DBEvent
     
    171183               unsigned char    _subtitleType,
    172184               unsigned char    _audioProps,
    173185               unsigned char    _videoProps,
     186               float            _stars,
    174187               const QString   &_seriesId,  const QString   &_programId) :
    175188        DBEvent(_title, _subtitle, _desc, _category, _category_type,
    176189                _start, _end, _subtitleType, _audioProps, _videoProps,
    177                 _seriesId, _programId, kListingSourceEIT),
     190                _stars, _seriesId, _programId, kListingSourceEIT),
    178191        chanid(_chanid), fixup(_fixup)
    179192    {
    180193    }
     
    188201               unsigned char    _videoProps) :
    189202        DBEvent(_title, QString(""), _desc, QString(""), 0/*kCategoryNone*/,
    190203                _start, _end, _subtitleType, _audioProps, _videoProps,
    191                 QString(""), QString(""), kListingSourceEIT),
     204                0.0, QString(""), QString(""), kListingSourceEIT),
    192205        chanid(_chanid), fixup(_fixup)
    193206    {
    194207    }
     
    203216    uint32_t      fixup;
    204217};
    205218
    206 class MPUBLIC ProgRating
    207 {
    208   public:
    209     QString system;
    210     QString rating;
    211 };
    212 
    213219class MPUBLIC ProgInfo : public DBEvent
    214220{
    215221  public:
     
    245251    QString       colorcode;
    246252    QString       clumpidx;
    247253    QString       clumpmax;
    248     QList<ProgRating> ratings;
    249254};
    250255
    251256class MPUBLIC ProgramData
  • programs/mythfilldatabase/xmltvparser.cpp

     
    403403                QDomElement item = values.item(0).toElement();
    404404                if (item.isNull())
    405405                    continue;
    406                 ProgRating rating;
     406                EventRating rating;
    407407                rating.system = info.attribute("system", "");
    408408                rating.rating = getFirstText(item);
    409409                pginfo->ratings.append(rating);