extragear/multimedia/amarok/src
Ian Monroe
ian at monroe.nu
Sat Jun 3 08:11:01 UTC 2006
Couldn't we use the "print view" of wikipedia instead? It shouldn't
require much parsing. I don't think it existed when we first
implemented the Wikipedia tab.
The only issue is where to get the language info from...
On 6/2/06, Alexandre Pereira de Oliveira <aoliveira at kdemail.net> wrote:
> SVN commit 547567 by aoliveira:
>
> wikipedia tab wouldn't work
>
> M +30 -30 contextbrowser.cpp
>
>
> --- trunk/extragear/multimedia/amarok/src/contextbrowser.cpp #547566:547567
> @@ -1112,7 +1112,7 @@
> << i18n( "1 Track", "%n Tracks", songCount.toInt() )
> << i18n( "1 Artist", "%n Artists", artistCount.toInt() )
> << i18n( "1 Album", "%n Albums", albumCount.toInt() )
> - << i18n( "1 Genre", "%n Genres", genreCount.toInt() )
> + << i18n( "1 Genre", "%n Genres", genreCount.toInt() )
> << i18n( "%1 Play-time" ).arg ( playTime ) ) );
>
> b->m_shownAlbums = showHomeByAlbums();
> @@ -1265,7 +1265,7 @@
> if( discNumber != newDiscNumber && newDiscNumber.toInt() > 0)
> {
> discNumber = newDiscNumber;
> - htmlCode.append( QStringx (
> + htmlCode.append( QStringx (
> "<div class='disc-separator'>\n"
> "<a href=\"albumdisc: %1 @@@ %2 @@@ %3\">\n"
> "%4"
> @@ -2210,7 +2210,7 @@
> if ( !albumValues.isEmpty() )
> {
> albumYear = albumValues[ 3 ];
> - for ( uint j = 0; j < albumValues.count(); j += qb.countReturnValues() )
> + for ( uint j = 0; j < albumValues.count(); j += qb.countReturnValues() )
> if ( albumValues[j + 3] != albumYear || albumYear == "0" )
> {
> albumYear = QString::null;
> @@ -2219,7 +2219,7 @@
> }
>
> uint i_albumLength = 0;
> - for ( uint j = 0; j < albumValues.count(); j += qb.countReturnValues() )
> + for ( uint j = 0; j < albumValues.count(); j += qb.countReturnValues() )
> i_albumLength += QString(albumValues[j + 4]).toInt();
>
> QString albumLength = ( i_albumLength==0 ? i18n( "Unknown" ) : MetaBundle::prettyTime( i_albumLength, true ) );
> @@ -2271,13 +2271,13 @@
> if( discNumber != newDiscNumber && newDiscNumber.toInt() > 0)
> {
> discNumber = newDiscNumber;
> - m_HTMLSource.append( QStringx (
> + m_HTMLSource.append( QStringx (
> "<div class='disc-separator'>\n"
> "<a href=\"albumdisc: %1 @@@ %2 @@@ %3\">\n"
> "%4"
> "</a>\n"
> "</div>\n" )
> - .args( QStringList()
> + .args( QStringList()
> << QString::number( artist_id )
> << values[ i + 1 ] //album.id
> << escapeHTMLAttr( discNumber )
> @@ -2429,7 +2429,7 @@
> if( discNumber != newDiscNumber && newDiscNumber.toInt() > 0)
> {
> discNumber = newDiscNumber;
> - m_HTMLSource.append( QStringx (
> + m_HTMLSource.append( QStringx (
> "<div class='disc-separator'>\n"
> "<a href=\"compilationdisc: __discard__ @@@ %1 @@@ %2\">\n"
> "%3"
> @@ -2864,10 +2864,10 @@
>
> if ( el.tagName() == "suggestions" )
> {
> -
>
> +
> const QDomNodeList l = doc.elementsByTagName( "suggestion" );
> -
> +
> if( l.length() ==0 )
> {
> lyrics = i18n( "Lyrics for track not found" );
> @@ -3353,41 +3353,41 @@
>
> m_wikiLanguages = QString::null;
> // Get the avivable language list
> - if ( m_wiki.find("<div id=\"p-lang\" class=\"portlet\">\n") != -1 )
> + if ( m_wiki.find("<div id=\"p-lang\" class=\"portlet\">") != -1 )
> {
> - m_wikiLanguages = m_wiki.mid( m_wiki.find("<div id=\"p-lang\" class=\"portlet\">\n") );
> - m_wikiLanguages = m_wikiLanguages.mid( m_wikiLanguages.find("<ul>\n") );
> - m_wikiLanguages = m_wikiLanguages.mid( 0, m_wikiLanguages.find( "</div>\n" ) );
> + m_wikiLanguages = m_wiki.mid( m_wiki.find("<div id=\"p-lang\" class=\"portlet\">") );
> + m_wikiLanguages = m_wikiLanguages.mid( m_wikiLanguages.find("<ul>") );
> + m_wikiLanguages = m_wikiLanguages.mid( 0, m_wikiLanguages.find( "</div>" ) );
> }
>
> QString copyright;
> - QString copyrightMark = "<li id=\"f-copyright\">\n";
> + QString copyrightMark = "<li id=\"f-copyright\">";
> if ( m_wiki.find( copyrightMark ) != -1 )
> {
> copyright = m_wiki.mid( m_wiki.find(copyrightMark) + copyrightMark.length() );
> - copyright = copyright.mid( 0, copyright.find( "</li>\n" ) );
> - copyright.replace( "<br />\n", QString::null );
> + copyright = copyright.mid( 0, copyright.find( "</li>" ) );
> + copyright.replace( "<br />", QString::null );
> //only one br at the beginning
> - copyright.prepend( "<br />\n" );
> + copyright.prepend( "<br />" );
> }
>
> // Ok lets remove the top and bottom parts of the page
> - m_wiki = m_wiki.mid( m_wiki.find( "<h1 class=\"firstHeading\">\n" ) );
> - m_wiki = m_wiki.mid( 0, m_wiki.find( "<div class=\"printfooter\">\n" ) );
> + m_wiki = m_wiki.mid( m_wiki.find( "<h1 class=\"firstHeading\">" ) );
> + m_wiki = m_wiki.mid( 0, m_wiki.find( "<div class=\"printfooter\">" ) );
> // Adding back license information
> m_wiki += copyright;
> - m_wiki.append( "</div>\n" );
> - m_wiki.replace( QRegExp("<h3 id=\"siteSub\">[^<]*</h3>\n"), QString::null );
> + m_wiki.append( "</div>" );
> + m_wiki.replace( QRegExp("<h3 id=\"siteSub\">[^<]*</h3>"), QString::null );
>
> - m_wiki.replace( QRegExp( "<div class=\"editsection\"[^>]*>[^<]*<[^>]*>[^<]*<[^>]*>[^<]*</div>\n" ), QString::null );
> + m_wiki.replace( QRegExp( "<div class=\"editsection\"[^>]*>[^<]*<[^>]*>[^<]*<[^>]*>[^<]*</div>" ), QString::null );
>
> - m_wiki.replace( QRegExp( "<a href=\"[^\"]*\" class=\"new\"[^>]*>([^<]*)</a>\n" ), "\\1" );
> + m_wiki.replace( QRegExp( "<a href=\"[^\"]*\" class=\"new\"[^>]*>([^<]*)</a>" ), "\\1" );
>
> // Remove anything inside of a class called urlexpansion, as it's pointless for us
> - m_wiki.replace( QRegExp( "<span class= *'urlexpansion'>[^(]*[(][^)]*[)]</span>\n" ), QString::null );
> + m_wiki.replace( QRegExp( "<span class= *'urlexpansion'>[^(]*[(][^)]*[)]</span>" ), QString::null );
>
> // Remove hidden table rows as well
> - QRegExp hidden( "<tr *class= *[\"\']hiddenStructure[\"\']>.*</tr>\n", false );
> + QRegExp hidden( "<tr *class= *[\"\']hiddenStructure[\"\']>.*</tr>", false );
> hidden.setMinimal( true ); //greedy behaviour wouldn't be any good!
> m_wiki.replace( hidden, QString::null );
>
> @@ -3395,13 +3395,13 @@
> m_wiki.replace( QRegExp( "style= *\"[^\"]*\"" ), QString::null );
> m_wiki.replace( QRegExp( "class= *\"[^\"]*\"" ), QString::null );
> // let's remove the form elements, we don't want them.
> - m_wiki.replace( QRegExp( "<input[^>]*>\n" ), QString::null );
> - m_wiki.replace( QRegExp( "<select[^>]*>\n" ), QString::null );
> + m_wiki.replace( QRegExp( "<input[^>]*>" ), QString::null );
> + m_wiki.replace( QRegExp( "<select[^>]*>" ), QString::null );
> m_wiki.replace( "</select>\n" , QString::null );
> - m_wiki.replace( QRegExp( "<option[^>]*>\n" ), QString::null );
> + m_wiki.replace( QRegExp( "<option[^>]*>" ), QString::null );
> m_wiki.replace( "</option>\n" , QString::null );
> - m_wiki.replace( QRegExp( "<textarea[^>]*>\n" ), QString::null );
> - m_wiki.replace( "</textarea>\n" , QString::null );
> + m_wiki.replace( QRegExp( "<textarea[^>]*>" ), QString::null );
> + m_wiki.replace( "</textarea>" , QString::null );
>
> //first we convert all the links with protocol to external, as they should all be External Links.
> m_wiki.replace( QRegExp( "href= *\"http:" ), "href=\"externalurl:" );
>
More information about the Amarok
mailing list