diff options
author | Philip Chimento <philip@endlessm.com> | 2013-11-01 22:50:25 -0700 |
---|---|---|
committer | Rory MacQueen <rorymacqueen@gmail.com> | 2013-11-04 16:48:44 -0800 |
commit | 30f6ff9afe8b4c6adeecd4720f7a815e3549d89f (patch) | |
tree | aa92b29c8cb2cdf1d727039f6504c45b6efb21f2 | |
parent | 9e14d483e9fcdd24c7a7c20b503c1d0a1d1d71a9 (diff) |
Don't pass lang parameter to query anymore
Also, call the query parameter appname instead of app_name
[endlessm/eos-sdk#386]
-rw-r--r-- | wikipedia/ArticleList.js | 9 | ||||
-rw-r--r-- | wikipedia/PrebuiltArticlesPage.js | 8 | ||||
-rw-r--r-- | wikipedia/WikipediaWebView.js | 55 | ||||
-rw-r--r-- | wikipedia/presenters/domain_wiki_presenter.js | 4 | ||||
-rw-r--r-- | wikipedia/views/domain_wiki_view.js | 9 |
5 files changed, 21 insertions, 64 deletions
diff --git a/wikipedia/ArticleList.js b/wikipedia/ArticleList.js index de9eb81..80c309a 100644 --- a/wikipedia/ArticleList.js +++ b/wikipedia/ArticleList.js @@ -14,11 +14,7 @@ const ArticleList = new Lang.Class({ Signals: { 'article-chosen': { - param_types: [ - GObject.TYPE_STRING, - GObject.TYPE_STRING, - GObject.TYPE_STRING - ] + param_types: [GObject.TYPE_STRING, GObject.TYPE_STRING] } }, @@ -56,8 +52,7 @@ const ArticleList = new Lang.Class({ let button = new ListTextButton.ListTextButton(HOVER_ARROW_URI, article.title, { hexpand: true }); button.connect('clicked', Lang.bind(this, function() { - this.emit('article-chosen', - article.title, article.source, article.uri); + this.emit('article-chosen', article.title, article.uri); })); this._grid.add(button); diff --git a/wikipedia/PrebuiltArticlesPage.js b/wikipedia/PrebuiltArticlesPage.js index bb2e8b9..c982e99 100644 --- a/wikipedia/PrebuiltArticlesPage.js +++ b/wikipedia/PrebuiltArticlesPage.js @@ -15,11 +15,6 @@ const PrebuiltArticlesPage = new Lang.Class({ 'Human-readable title for the article to be displayed', GObject.ParamFlags.READWRITE | GObject.ParamFlags.CONSTRUCT, ''), - 'article-source': GObject.ParamSpec.string('article-source', - 'Article source', - 'Source website or database that the article comes from', - GObject.ParamFlags.READWRITE | GObject.ParamFlags.CONSTRUCT, - 'Wikipedia'), 'article-uri': GObject.ParamSpec.string('article-uri', 'Article URI', 'Wikipedia URI for the article to be displayed', @@ -30,7 +25,6 @@ const PrebuiltArticlesPage = new Lang.Class({ _init: function(props) { this._article_title = null; this._article_uri = null; - this._article_source = null; // Empty array is placeholder until we get baby page rank this._wiki_view = new EndlessWikipedia.WikipediaWebView({ @@ -76,7 +70,7 @@ const PrebuiltArticlesPage = new Lang.Class({ if(value !== null && value !== "") { let url_parts = this._article_uri.split("/"); let suffix = decodeURI(url_parts[url_parts.length-1]); - this._wiki_view.loadArticleById(suffix, this.article_source); + this._wiki_view.loadArticleById(suffix); } } });
\ No newline at end of file diff --git a/wikipedia/WikipediaWebView.js b/wikipedia/WikipediaWebView.js index 2fc4119..9f2818a 100644 --- a/wikipedia/WikipediaWebView.js +++ b/wikipedia/WikipediaWebView.js @@ -7,9 +7,9 @@ const Lang = imports.lang; const WebKit = imports.gi.WebKit2; const Utils = imports.wikipedia.utils; -const hostName = "http://127.0.0.1:3000"; -const version = "v1" -const getPageById = "getArticleById?"; +const API_ENDPOINT = "http://127.0.0.1:3000"; +const API_VERSION = "v1"; +const getPageByIdURI = "getArticleById?"; const getPageByTitleURI = "getArticleByTitle?"; const getPageByQueryURI = "getTopArticleByQuery?"; const getTitlesByQueryURI = "getArticleTitlesByQuery?"; @@ -72,9 +72,9 @@ const WikipediaWebView = new Lang.Class({ _getFullURL: function(method, params){ // We always include personality and // app name on all requests. - let base_url = [hostName, version, method].join("/") + let base_url = [API_ENDPOINT, API_VERSION, method].join("/"); params["personality"] = this.system_personality; - params["app_name"] = this.app_name; + params["appname"] = this.app_name; let full_url = base_url; for(let key in params){ full_url += key + "=" + params[key] + "&"; @@ -84,25 +84,12 @@ const WikipediaWebView = new Lang.Class({ return full_url; }, - loadArticleById: function(id, source) { + loadArticleById: function (id) { let params = { id: id, - hideLinks: this.hide_links, - source: source, - lang: _systemPersonalityToDatabaseLang(this.system_personality) - }; - let url = this._getFullURL(getPageById, params); - this.load_uri(url); - }, - - loadArticleByTitle: function(title, source) { - let params = { - title: title, - hideLinks: this.hide_links, - source: source, - lang: _systemPersonalityToDatabaseLang(this.system_personality) + hideLinks: this.hide_links }; - let url = this._getFullURL(getPageByTitleURI, params); + let url = this._getFullURL(getPageByIdURI, params); this.load_uri(url); }, @@ -110,18 +97,14 @@ const WikipediaWebView = new Lang.Class({ let params = { query: query, hideLinks: this.hide_links, - source: source, - lang: _systemPersonalityToDatabaseLang(this.system_personality) + source: source }; let url = this._getFullURL(getPageByQueryURI, params); this.load_uri(url); }, loadTitlesBySearchQuery: function (query) { - let params = { - query: query, - lang: _systemPersonalityToDatabaseLang(this.system_personality) - }; + let params = { query: query }; let url = this._getFullURL(getTitlesByQueryURI, params); this.load_uri(url); }, @@ -149,12 +132,11 @@ const WikipediaWebView = new Lang.Class({ _onNavigation: function(webview, decision, decision_type) { if (decision_type == WebKit.PolicyDecisionType.NAVIGATION_ACTION) { let uri = decision.request.uri; - if (uri.startsWith(hostName + "/wiki/")) { + if (uri.startsWith(API_ENDPOINT + "/wiki/")) { let parts = uri.split("/"); let suffix = parts[parts.length - 1]; let id = decodeURI(suffix); - // FIXME: determine the source db from the link format? - this.loadArticleById(id, 'Wikipedia'); + this.loadArticleById(id); return true; } else if (GLib.uri_parse_scheme(uri).startsWith('browser-')) { // Open everything that starts with 'browser-' in the system @@ -172,16 +154,3 @@ const WikipediaWebView = new Lang.Class({ this.setAllowedLinks(); } }); - -/* Temporary helper function; remove this when the original article URI is -stored inside the Elasticsearch database. FIXME */ -function _systemPersonalityToDatabaseLang(personality) { - switch (personality) { - case 'Guatemala': - case 'Mexico': - return 'es'; - case 'Brazil': - return 'pt'; - } - return 'en'; -} diff --git a/wikipedia/presenters/domain_wiki_presenter.js b/wikipedia/presenters/domain_wiki_presenter.js index ecd58a3..3e59a01 100644 --- a/wikipedia/presenters/domain_wiki_presenter.js +++ b/wikipedia/presenters/domain_wiki_presenter.js @@ -82,8 +82,8 @@ const DomainWikiPresenter = new Lang.Class({ // Respond to the category page's 'article-clicked' signal by loading that // article and switching to the article page - _onArticleClicked: function (articleList, title, source, uri) { - this._view.set_article_info(title, source, uri); + _onArticleClicked: function (articleList, title, uri) { + this._view.set_article_info(title, uri); this._view.show_article_page(); }, diff --git a/wikipedia/views/domain_wiki_view.js b/wikipedia/views/domain_wiki_view.js index 3386c95..a238f6b 100644 --- a/wikipedia/views/domain_wiki_view.js +++ b/wikipedia/views/domain_wiki_view.js @@ -18,7 +18,7 @@ const DomainWikiView = new Lang.Class({ param_types: [GObject.TYPE_STRING] }, 'article-chosen': { - param_types: [GObject.TYPE_STRING, GObject.TYPE_STRING, GObject.TYPE_STRING] + param_types: [GObject.TYPE_STRING, GObject.TYPE_STRING] }, 'category-back-clicked': {}, 'article-back-clicked': {} @@ -182,10 +182,9 @@ const DomainWikiView = new Lang.Class({ * Method: set_article_info * Proxy method to set the article displaying on the article page */ - set_article_info: function (title, source, uri) { + set_article_info: function (title, uri) { // Note: Must set article title first this._article_view.article_title = title; - this._article_view.article_source = source; this._article_view.article_uri = uri; }, @@ -251,8 +250,8 @@ const DomainWikiView = new Lang.Class({ // Proxy signal, respond to category page's 'article-chosen' signal by // emitting our own - _onArticleClicked: function (articleList, title, source, uri) { - this.emit('article-chosen', title, source, uri); + _onArticleClicked: function (articleList, title, uri) { + this.emit('article-chosen', title, uri); }, _onCategoryBackClicked: function(button) { |