summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrmacqueen <rorymacqueen@gmail.com>2013-07-30 16:54:07 -0700
committerrmacqueen <rorymacqueen@gmail.com>2013-07-30 16:54:07 -0700
commitce3acb0de39663eb1162cc8c9d25f4385ad3f1fb (patch)
treec3f119f08d82f87ff341a1c3bec9d4fa2ea9e505
parent43d107af937b1f36ac63493a633cfff37b8ea825 (diff)
parent6ec4b69e29c6915d3dd95aff1c119306fb72f97f (diff)
Merge pull request #187 from endlessm/issues/143
Issues/143
-rw-r--r--wikipedia/data/brazil_categories.json16
-rw-r--r--wikipedia/src/endless_wikipedia/PrebuiltArticlesPage.js11
-rw-r--r--wikipedia/src/views/domain_wiki_view.js2
-rw-r--r--wikipedia/src/views/wikipedia_view.js28
4 files changed, 40 insertions, 17 deletions
diff --git a/wikipedia/data/brazil_categories.json b/wikipedia/data/brazil_categories.json
index 1141b7d..918867e 100644
--- a/wikipedia/data/brazil_categories.json
+++ b/wikipedia/data/brazil_categories.json
@@ -1,5 +1,5 @@
{
- "app_name":"Hello",
+ "app_name":"Brazil",
"image_uri":"resource:///com/endlessm/brazil/category_images/cuisine.jpg",
"categories":
[
@@ -10,13 +10,13 @@
"articles":
[
{
- "title":"Indonesia",
- "url":"Indonesia"
+ "title":"Cachaça",
+ "url":"Cachaça"
},
{
- "title":"Protestant",
- "url":"Protestant"
+ "title":"Feijoada",
+ "url":"Feijoada"
}
]
@@ -29,13 +29,13 @@
"articles":
[
{
- "title":"World Cup",
+ "title":"Regime militar no Brasil",
"url":"Peplum_movie"
},
{
- "title":"Some title",
- "url":"some_title"
+ "title":"Getúlio Vargas",
+ "url":"Getúlio_Vargas"
}
]
diff --git a/wikipedia/src/endless_wikipedia/PrebuiltArticlesPage.js b/wikipedia/src/endless_wikipedia/PrebuiltArticlesPage.js
index 12d9b45..6bb1e55 100644
--- a/wikipedia/src/endless_wikipedia/PrebuiltArticlesPage.js
+++ b/wikipedia/src/endless_wikipedia/PrebuiltArticlesPage.js
@@ -3,6 +3,7 @@ const Gtk = imports.gi.Gtk;
const Lang = imports.lang;
const EndlessWikipedia = imports.endless_wikipedia.EndlessWikipedia;
+const WikipediaView = imports.views.wikipedia_view;
GObject.ParamFlags.READWRITE = GObject.ParamFlags.READABLE | GObject.ParamFlags.WRITABLE;
@@ -24,6 +25,7 @@ const PrebuiltArticlesPage = new Lang.Class({
_init: function(props) {
this._title = null;
+ //We don't use article_uri now since the database only needs to readable title.
this._article_uri = null;
// Create widgets
@@ -39,9 +41,7 @@ const PrebuiltArticlesPage = new Lang.Class({
orientation: Gtk.Orientation.HORIZONTAL,
vexpand: false
});
- this._wiki_view = new Gtk.Label({
- vexpand: true
- });
+ this._wiki_view = new WikipediaView.WikipediaView();
this.parent(props);
@@ -58,8 +58,6 @@ const PrebuiltArticlesPage = new Lang.Class({
context.add_class(EndlessWikipedia.STYLE_CLASS_PREBUILT);
let context = this._separator.get_style_context();
context.add_class(EndlessWikipedia.STYLE_CLASS_ARTICLES_PAGE);
- let context = this._wiki_view.get_style_context();
- context.add_class(EndlessWikipedia.STYLE_CLASS_ARTICLES_PAGE);
let context = this.get_style_context();
context.add_class(EndlessWikipedia.STYLE_CLASS_ARTICLES_PAGE);
},
@@ -80,8 +78,5 @@ const PrebuiltArticlesPage = new Lang.Class({
set article_uri(value) {
this._article_uri = value;
- if(this._wiki_view)
- this._wiki_view.label = 'This is a "webview" displaying the ' +
- 'article http://en.wikipedia.org/wiki/%s'.format(value);
}
}); \ No newline at end of file
diff --git a/wikipedia/src/views/domain_wiki_view.js b/wikipedia/src/views/domain_wiki_view.js
index 5a07ab4..e1a810a 100644
--- a/wikipedia/src/views/domain_wiki_view.js
+++ b/wikipedia/src/views/domain_wiki_view.js
@@ -125,7 +125,7 @@ const DomainWikiView = new Lang.Class({
set_article_info: function(article){
this._article_view.title = article.title;
this._article_view.article_uri = article.uri;
-
+ this._article_view._wiki_view.loadArticleByTitle(article.title);
},
transition_page: function(transition_type, page_name){
diff --git a/wikipedia/src/views/wikipedia_view.js b/wikipedia/src/views/wikipedia_view.js
new file mode 100644
index 0000000..c04fcdd
--- /dev/null
+++ b/wikipedia/src/views/wikipedia_view.js
@@ -0,0 +1,28 @@
+const Gtk = imports.gi.Gtk;
+const Lang = imports.lang;
+const Soup = imports.gi.Soup;
+const WebKit = imports.gi.WebKit;
+
+const getPageURL = "http://localhost:3000/getArticleByTitle?title=";
+
+const WikipediaView = new Lang.Class({
+ Name: 'EndlessWikipediaView',
+ Extends: WebKit.WebView,
+
+ _init: function(params) {
+ this._httpSession = new Soup.Session();
+ this.parent(params);
+ },
+
+ loadArticleByTitle: function(title) {
+ let request = Soup.Message.new("GET", getPageURL + title);
+ this._httpSession.queue_message(request, Lang.bind(this, function(_httpSession, message) {
+ let articleJSON = request.response_body.data;
+ let article = JSON.parse(articleJSON);
+ let articleHTML = article["text"];
+ this.load_string(articleHTML, "text/html", "UTF-8", "");
+ //the last argument is the base-uri, we might need to change this based
+ //on our local image directory, I'm not sure.
+ }));
+ }
+});