From c9fb10362708d3b48f2cc6bb098bd0634f2f9817 Mon Sep 17 00:00:00 2001 From: Dominik Schmidt Date: Tue, 28 Jun 2011 21:29:44 +0200 Subject: [PATCH] More API cleanup for QtScriptResolver --- data/js/tomahawk.js | 35 ++++++++++++++++++++++++++++-- src/resolvers/qtscriptresolver.cpp | 29 +++++++++++++++++++------ src/resolvers/qtscriptresolver.h | 4 ++++ 3 files changed, 59 insertions(+), 9 deletions(-) diff --git a/data/js/tomahawk.js b/data/js/tomahawk.js index 3b7bc2525..88e0a7bf7 100644 --- a/data/js/tomahawk.js +++ b/data/js/tomahawk.js @@ -4,6 +4,10 @@ if(window.Tomahawk === undefined) { alert("PHANTOMJS ENVIRONMENT"); var Tomahawk = { + fakeEnv: function() + { + return true; + }, resolverData: function() { return { @@ -12,14 +16,34 @@ if(window.Tomahawk === undefined) return "/home/tomahawk/resolver.js"; } }; + }, + log: function( message ) + { + console.log( message ); } }; } + Tomahawk.resolver = { scriptPath: Tomahawk.resolverData().scriptPath }; +Tomahawk.timestamp = function() { + return Math.round( new Date()/1000 ); +} + +Tomahawk.dumpResult = function( result ) { + var results = result.results; + Tomahawk.log("Dumping " + results.length + " results for query " + result.qid + "..."); + for(var i=0; imainFrame()->evaluateJavaScript( jslib.readAll() ); jslib.close(); - // execute resolver + // add resolver m_engine->setScriptPath( scriptPath ); m_engine->mainFrame()->evaluateJavaScript( scriptFile.readAll() ); scriptFile.close(); + // init resolver + resolverInit(); + QVariantMap m = resolverSettings(); m_name = m.value( "name" ).toString(); @@ -167,7 +176,7 @@ QtScriptResolver::resolve( const Tomahawk::query_ptr& query ) if ( !query->isFullTextQuery() ) { - eval = QString( "Tomahawk.resolver.instance.resolve( '%1', '%2', '%3', '%4' );" ) + eval = QString( "Tomahawk.resolver.instance.resolve( '%1', '%4', '%3', '%4' );" ) .arg( query->id().replace( "'", "\\'" ) ) .arg( query->artist().replace( "'", "\\'" ) ) .arg( query->album().replace( "'", "\\'" ) ) @@ -175,11 +184,9 @@ QtScriptResolver::resolve( const Tomahawk::query_ptr& query ) } else { - eval = QString( "Tomahawk.resolver.instance.resolve( '%1', '%2', '%3', '%4' );" ) + eval = QString( "Tomahawk.resolver.instance.search( '%1', '%2' );" ) .arg( query->id().replace( "'", "\\'" ) ) - .arg( query->fullTextQuery().replace( "'", "\\'" ) ) - .arg( QString() ) - .arg( QString() ); + .arg( query->fullTextQuery().replace( "'", "\\'" ) ); } QList< Tomahawk::result_ptr > results; @@ -415,7 +422,7 @@ QtScriptResolver::fillDataInWidgets( const QVariantMap& data ) QVariantMap QtScriptResolver::resolverSettings() { - return m_engine->mainFrame()->evaluateJavaScript( "Tomahawk.resolver.instance.getSettings();" ).toMap(); + return m_engine->mainFrame()->evaluateJavaScript( "Tomahawk.resolver.instance.settings;" ).toMap(); } @@ -424,3 +431,11 @@ QtScriptResolver::resolverUserConfig() { return m_engine->mainFrame()->evaluateJavaScript( "Tomahawk.resolver.instance.getUserConfig();" ).toMap(); } + + +QVariantMap +QtScriptResolver::resolverInit() +{ + return m_engine->mainFrame()->evaluateJavaScript( "Tomahawk.resolver.instance.init();" ).toMap(); +} + diff --git a/src/resolvers/qtscriptresolver.h b/src/resolvers/qtscriptresolver.h index 20ac3fc47..86475df4f 100644 --- a/src/resolvers/qtscriptresolver.h +++ b/src/resolvers/qtscriptresolver.h @@ -49,6 +49,9 @@ public slots: QString compress( const QString& data ); QVariantMap resolverData(); + void log( const QString& message); + bool fakeEnv() { return false; } + private: QString m_scriptPath; QVariantMap m_resolverConfig; @@ -124,6 +127,7 @@ private: // encapsulate javascript calls QVariantMap resolverSettings(); QVariantMap resolverUserConfig(); + QVariantMap resolverInit(); ScriptEngine* m_engine;