Merge lp:~alecu/unity-scope-click/revert-package-updates into lp:unity-scope-click

Proposed by Alejandro J. Cura
Status: Merged
Approved by: Alejandro J. Cura
Approved revision: 46
Merged at revision: 47
Proposed branch: lp:~alecu/unity-scope-click/revert-package-updates
Merge into: lp:unity-scope-click
Diff against target: 219 lines (+8/-109)
3 files modified
src/click-interface.vala (+1/-17)
src/click-scope.vala (+4/-19)
src/click-webservice.vala (+3/-73)
To merge this branch: bzr merge lp:~alecu/unity-scope-click/revert-package-updates
Reviewer Review Type Date Requested Status
PS Jenkins bot continuous-integration Approve
Roberto Alsina (community) Approve
Review via email: mp+187059@code.launchpad.net

Commit message

Revert package updates from the scope.

Description of the change

Revert package updates from the scope.

To post a comment you must log in.
Revision history for this message
Roberto Alsina (ralsina) :
review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/click-interface.vala'
2--- src/click-interface.vala 2013-09-03 21:08:38 +0000
3+++ src/click-interface.vala 2013-09-23 15:57:22 +0000
4@@ -36,8 +36,6 @@
5 var result = new Gee.ArrayList<App>();
6 var mgr = Unity.AppInfoManager.get_default();
7
8- var versions = yield get_versions();
9-
10 foreach (var appinfo in GLib.AppInfo.get_all()) {
11 var id = appinfo.get_id();
12 var path = mgr.get_path(id);
13@@ -47,14 +45,12 @@
14 dotdesktop.load_from_file (path, KeyFileFlags.NONE);
15 if (dotdesktop.has_key("Desktop Entry", "X-Ubuntu-Application-ID") ) {
16 var full_app_id = dotdesktop.get_string ("Desktop Entry", "X-Ubuntu-Application-ID");
17+ debug ("installed apps: %s (%s) - %s", appinfo.get_name(), full_app_id, path);
18 var app = new App();
19 app.uri = "application://" + id;
20 app.title = appinfo.get_name();
21- app.price = "";
22 app.app_id = get_click_id(full_app_id);
23 app.icon_url = dotdesktop.get_string ("Desktop Entry", "Icon");
24- app.installed_version = versions[app.app_id];
25- debug ("installed apps: %s (%s) - %s %s", appinfo.get_name(), full_app_id, path, versions[app.app_id]);
26 result.add (app);
27 }
28 } catch (GLib.Error e) {
29@@ -65,18 +61,6 @@
30 return result;
31 }
32
33- async Gee.Map<string, string> get_versions () throws ClickError {
34- var versions = new Gee.HashMap<string, string>();
35- var manifests = yield get_manifests ();
36- foreach (var element in manifests) {
37- var manifest = element.get_object();
38- var package_name = manifest.get_string_member("name");
39- var package_version = manifest.get_string_member("version");
40- versions[package_name] = package_version;
41- }
42- return versions;
43- }
44-
45 async List<unowned Json.Node> get_manifests () throws ClickError {
46 int stdout_fd;
47 string?[] args = {"click", "list", "--manifest", null};
48
49=== modified file 'src/click-scope.vala'
50--- src/click-scope.vala 2013-09-12 18:47:10 +0000
51+++ src/click-scope.vala 2013-09-23 15:57:22 +0000
52@@ -27,7 +27,6 @@
53
54 private const int CATEGORY_INSTALLED = 0;
55 private const int CATEGORY_SUGGESTIONS = 1;
56-private const int CATEGORY_UPDATES = 2;
57
58 errordomain ClickScopeError {
59 INSTALL_ERROR
60@@ -250,9 +249,8 @@
61 {
62 var categories = new Unity.CategorySet ();
63 var icon = new FileIcon(File.new_for_path("/usr/share/icons/unity-icon-theme/places/svg/group-treat-yourself.svg"));
64- categories.add (new Unity.Category("installed", "Installed", icon, Unity.CategoryRenderer.GRID)); // CATEGORY_INSTALLED
65- categories.add (new Unity.Category("more", "More suggestions", icon, Unity.CategoryRenderer.GRID)); // CATEGORY_SUGGESTIONS
66- categories.add (new Unity.Category("updates", "Needing update", icon, Unity.CategoryRenderer.GRID)); // CATEGORY_UPDATES
67+ categories.add (new Unity.Category("installed", "Installed", icon, Unity.CategoryRenderer.GRID)); // 0
68+ categories.add (new Unity.Category("more", "More suggestions", icon, Unity.CategoryRenderer.GRID)); // 1
69 return categories;
70 }
71
72@@ -340,24 +338,11 @@
73 }
74 }
75
76- async void find_available_updates (string search_query) {
77- var webservice = new ClickWebservice();
78- try {
79- debug ("installed: %p (%d)", installed, installed.size);
80- var apps = yield webservice.find_updates (installed);
81- foreach (var app in apps) {
82- add_app (app, CATEGORY_UPDATES);
83- }
84- } catch (WebserviceError e) {
85- debug ("Error calling webservice: %s", e.message);
86- // TODO: warn about this some other way, like notifications
87- }
88- }
89-
90 async void find_apps (string search_query) {
91 yield find_installed_apps (search_query);
92 yield find_available_apps (search_query);
93- yield find_available_updates (search_query);
94+ // TODO: updates coming real soon
95+ //yield find_available_updates (search_query);
96 }
97
98 public override void run ()
99
100=== modified file 'src/click-webservice.vala'
101--- src/click-webservice.vala 2013-09-03 22:24:15 +0000
102+++ src/click-webservice.vala 2013-09-23 15:57:22 +0000
103@@ -31,7 +31,6 @@
104 const string JSON_FIELD_SCREENSHOT_URLS = "screenshot_urls";
105 const string JSON_FIELD_DESCRIPTION = "description";
106 const string JSON_FIELD_KEYWORDS = "keywords";
107-const string JSON_FIELD_VERSION = "version";
108
109 errordomain WebserviceError {
110 HTTP_ERROR,
111@@ -47,20 +46,12 @@
112 public string price { get; set; }
113 public string icon_url { get; set; }
114 public string uri { get; set; }
115- public string installed_version { get; set; }
116- public string available_version { get; set; }
117 public static const string CLICK_INSTALL_SCHEMA = "click-install://";
118- public static const string CLICK_UPDATE_SCHEMA = "click-update://";
119 public static const string WHITESPACE = " \t\n\r";
120
121 //string? cmdline; // NULL if not installed
122 //bool was_lauched; // to show the NEW emblem
123
124- public bool needs_update () {
125- // TODO: needs a nicer debian version check
126- return installed_version != available_version;
127- }
128-
129 /*
130 void install() {
131 }
132@@ -220,8 +211,6 @@
133 private const string SEARCH_BASE_URL = "https://search.apps.ubuntu.com/";
134 private const string SEARCH_PATH = "api/v1/search?q=%s";
135 private const string DETAILS_PATH = "api/v1/package/%s";
136- private const string UPDATES_BASE_URL = "https://myapps.developer.ubuntu.com/";
137- private const string UPDATES_PATH = "dev/api/click-metadata/";
138
139 internal Soup.SessionAsync http_session;
140
141@@ -234,75 +223,16 @@
142 return env_value != null ? env_value : default_value;
143 }
144
145- string get_search_base_url () {
146+ string get_base_url () {
147 return from_environ ("U1_SEARCH_BASE_URL", SEARCH_BASE_URL);
148 }
149
150 string get_search_url() {
151- return get_search_base_url() + SEARCH_PATH;
152+ return get_base_url() + SEARCH_PATH;
153 }
154
155 string get_details_url() {
156- return get_search_base_url() + DETAILS_PATH;
157- }
158-
159- string get_updates_url() {
160- var updates_base_url = from_environ ("U1_UPDATES_BASE_URL", UPDATES_BASE_URL);
161- return updates_base_url + UPDATES_PATH;
162- }
163-
164- public async Gee.ArrayList<App> find_updates(Gee.Map<string, App> installed) throws WebserviceError {
165- var needing_update = new Gee.ArrayList<App>();
166- WebserviceError failure = null;
167- var package_ids = installed.keys.to_array();
168- if (package_ids == null) {
169- debug ("package_ids is null, no app installed");
170- return needing_update;
171- }
172-
173- var query = "?name=" + string.joinv("&name=", package_ids);
174- string url = get_updates_url() + query;
175- string response = "[]";
176- debug ("find updates url: %s", url);
177-
178- var message = new Soup.Message ("GET", url);
179- http_session.queue_message (message, (http_session, message) => {
180- if (message.status_code != Soup.KnownStatusCode.OK) {
181- var msg = "Web request failed: HTTP %u %s".printf(
182- message.status_code, message.reason_phrase);
183- failure = new WebserviceError.HTTP_ERROR(msg);
184- } else {
185- message.response_body.flatten ();
186- response = (string) message.response_body.data;
187- debug ("response is %s", response);
188- }
189- find_updates.callback ();
190- });
191- yield;
192- if (failure != null) {
193- throw failure;
194- }
195- try {
196- var parser = new Json.Parser();
197- parser.load_from_data(response, -1);
198- var docs = parser.get_root().get_array();
199- foreach (var document in docs.get_elements()) {
200- var object = document.get_object();
201- var package_name = object.get_string_member(JSON_FIELD_NAME);
202- var package_version = object.get_string_member(JSON_FIELD_VERSION);
203- var app = installed.get(package_name);
204- app.uri = App.CLICK_UPDATE_SCHEMA + app.app_id;
205- app.available_version = package_version;
206- if (app.needs_update()) {
207- needing_update.add (app);
208- }
209- }
210-
211- return needing_update;
212- } catch (GLib.Error e) {
213- var msg = "Error parsing json: %s".printf(e.message);
214- throw new WebserviceError.HTTP_ERROR(msg);
215- }
216+ return get_base_url() + DETAILS_PATH;
217 }
218
219 public async AvailableApps search(string query) throws WebserviceError {

Subscribers

People subscribed via source and target branches