Ticket #4990: mythnews_podcast_patch.patch

File mythnews_podcast_patch.patch, 3.7 KB (added by james@…, 13 years ago)

Updated version of the patch, ignore all previous

  • mythnews/mythnews.cpp

     
    946946                if (!dir.exists())
    947947                     dir.mkdir(fileprefix);
    948948
    949                 fileprefix += "/MythNews";
     949                // Grabs the parent Site name and appends it to the fileprefix
    950950
    951                 dir = QDir(fileprefix);
    952                 if (!dir.exists())
    953                     dir.mkdir(fileprefix);
     951                fileprefix += "/MythNews/files/";
     952                fileprefix += article->parent();
     953                fileprefix.replace(" ", "_");
     954               
     955                // Some seriously dodgy code to grab the file name of the media file to be downloaded
     956                QString filename;
    954957
    955                 QString sFilename(fileprefix + "/newstempfile");
     958                if(cmdURL.contains("youtube.com"))
     959                {
     960                        filename = QRegExp::escape(article->title());
     961                } else {
     962                        QStringList qstr = QStringList::split("/", cmdURL);
     963                        for ( QStringList::Iterator it = qstr.begin(); it != qstr.end(); ++it ) {
     964                                filename = QRegExp::escape(*it);
     965                        }
     966                }
    956967
    957                 if (getHttpFile(sFilename, cmdURL))
    958                 {
    959                     qApp->unlock();
    960                     playVideo(sFilename);
    961                     qApp->lock();
    962                 }
     968                filename.replace(" ","_");
     969                filename.replace("/","-"); // As per above, this ensures that there aren't any conflicts with linux file name formats
     970               
     971                QFile file(fileprefix + "/" + filename);
     972                QString sFilename(fileprefix + "/" + filename);
     973
     974                if(!file.exists())
     975                {
     976                        dir = QDir(fileprefix);
     977                        if (!dir.exists())
     978                            dir.mkdir(fileprefix);
     979
     980       
     981                        cout << sFilename << endl;
     982
     983                        if (getHttpFile(sFilename, cmdURL))
     984                        {
     985                            qApp->unlock();
     986                                playVideo(QRegExp::escape(sFilename));
     987                            qApp->lock();
     988                        }
     989                } else {
     990                        qApp->unlock();
     991                                playVideo(QRegExp::escape(sFilename));
     992                        qApp->lock();
     993                }
     994
     995
    963996            } else {
    964997                QString cmdUrl(article->articleURL());
    965998                cmdUrl.replace('\'', "%27");
     
    12071240    }
    12081241    else
    12091242    {
     1243        /* This bit is causing me issues. Video and flash works fine, however audio files cause myth to lose the focus
     1244           and the external player is launched but doesn't have the focus, so key presses aren't being passed on.
     1245        */
    12101246        if (command_string.contains("%s"))
     1247            //command_string = "mplayer "+filename;
    12111248            command_string = command_string.replace(QRegExp("%s"), filename);
    1212 
     1249               
     1250        cout << command_string << endl;
    12131251        myth_system(command_string);
    12141252    }
    12151253
  • mythnews/newsengine.cpp

     
    5555
    5656}
    5757
     58const QString& NewsArticle::parent()
     59{
     60        //Added this function to allow for media downloads
     61
     62        return m_parent->name();
     63}
     64
     65
    5866NewsSite::NewsSite(const QString& name,
    5967                   const QString& url,
    6068                   const QDateTime& updated)
  • mythnews/newsengine.h

     
    5252    const QString& thumbnail() const { return m_thumbnail; }
    5353    const QString& mediaURL() const { return m_mediaURL; }
    5454    const QString& enclosure() const { return m_enclosure; }
     55    const QString& parent();
     56    const QString& type() const {return m_enclosureType; }
    5557
    5658private:
    5759