mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-03-21 08:19:42 +01:00
Move result parsing in qtscriptresolver to a method
This commit is contained in:
parent
e7aa846a0f
commit
9b7db84a9e
@ -244,22 +244,36 @@ QtScriptResolver::resolve( const Tomahawk::query_ptr& query )
|
||||
.arg( query->fullTextQuery().replace( "'", "\\'" ) );
|
||||
}
|
||||
|
||||
QList< Tomahawk::result_ptr > results;
|
||||
|
||||
QVariantMap m = m_engine->mainFrame()->evaluateJavaScript( eval ).toMap();
|
||||
qDebug() << "JavaScript Result:" << m;
|
||||
|
||||
const QString qid = query->id();
|
||||
const QVariantList reslist = m.value( "results" ).toList();
|
||||
|
||||
QList< Tomahawk::result_ptr > results = parseResultVariantList( reslist );
|
||||
|
||||
Tomahawk::Pipeline::instance()->reportResults( qid, results );
|
||||
}
|
||||
|
||||
|
||||
QList< Tomahawk::result_ptr >
|
||||
QtScriptResolver::parseResultVariantList( const QVariantList& reslist )
|
||||
{
|
||||
QList< Tomahawk::result_ptr > results;
|
||||
|
||||
foreach( const QVariant& rv, reslist )
|
||||
{
|
||||
QVariantMap m = rv.toMap();
|
||||
|
||||
qDebug() << "artist: " << m.value("artist").toString();
|
||||
qDebug() << "track: " << m.value( "track" ).toString();
|
||||
|
||||
//Q_ASSERT(false);
|
||||
|
||||
Tomahawk::result_ptr rp( new Tomahawk::Result() );
|
||||
Tomahawk::artist_ptr ap = Tomahawk::Artist::get( 0, m.value( "artist" ).toString() );
|
||||
Tomahawk::artist_ptr ap = Tomahawk::Artist::get( m.value( "artist" ).toString(), true );
|
||||
rp->setArtist( ap );
|
||||
rp->setAlbum( Tomahawk::Album::get( 0, m.value( "album" ).toString(), ap ) );
|
||||
rp->setAlbum( Tomahawk::Album::get( ap, m.value( "album" ).toString(), true ) );
|
||||
rp->setTrack( m.value( "track" ).toString() );
|
||||
rp->setBitrate( m.value( "bitrate" ).toUInt() );
|
||||
rp->setUrl( m.value( "url" ).toString() );
|
||||
@ -292,7 +306,7 @@ QtScriptResolver::resolve( const Tomahawk::query_ptr& query )
|
||||
results << rp;
|
||||
}
|
||||
|
||||
Tomahawk::Pipeline::instance()->reportResults( qid, results );
|
||||
return results;
|
||||
}
|
||||
|
||||
|
||||
|
@ -133,6 +133,8 @@ private:
|
||||
QVariantMap resolverUserConfig();
|
||||
QVariantMap resolverInit();
|
||||
|
||||
QList< Tomahawk::result_ptr > parseResultVariantList( const QVariantList& reslist );
|
||||
|
||||
ScriptEngine* m_engine;
|
||||
|
||||
QString m_name;
|
||||
|
Loading…
x
Reference in New Issue
Block a user