From: Alan Knowles Date: Tue, 30 Oct 2018 10:21:13 +0000 (+0800) Subject: sync X-Git-Url: http://git.roojs.org/?p=gitlive;a=commitdiff_plain;h=629cbba854e1d1c4e5518e4c179308f9ed8a0918 sync --- diff --git a/GitBranch.vala b/GitBranch.vala index 1b94f7fa..0a0a63c7 100644 --- a/GitBranch.vala +++ b/GitBranch.vala @@ -65,7 +65,7 @@ public class GitBranch : Object return this.name == "" ? this.remote : this.name; } - public create() + public void create() { } diff --git a/Makefile.am b/Makefile.am index 0b64fb72..b0e73842 100644 --- a/Makefile.am +++ b/Makefile.am @@ -13,7 +13,9 @@ Gitlive_PKGS = \ --pkg libnotify \ --pkg libwnck-3.0 \ --pkg gee-0.8 \ - --pkg libcanberra + --pkg libcanberra \ + --pkg libsoup-2.4 \ + --pkg json-glib-1.0 Gitlive_SOURCES = \ Gitlive.vala \ @@ -23,6 +25,7 @@ Gitlive_SOURCES = \ StatusIcon.vala \ GitRepo.vala \ GitBranch.vala \ + RooTicket.vala \ c/xorg_idletime.c \ WindowLog.vala \ Clones.vala \ diff --git a/NewBranch.bjs b/NewBranch.bjs index 50dd24fc..973bd468 100644 --- a/NewBranch.bjs +++ b/NewBranch.bjs @@ -62,7 +62,7 @@ "id" : "dbmodel", "xtype" : "ListStore", "* pack" : "set_model", - "| void loadTickets" : " () {\n\n RooTicket.singleton().loadTickets();\n \n \n\n this.el.clear(); \n Gtk.TreeIter iter;\n var el = this.el;\n \n el.append(out iter);\n\n \n el.set_value(iter, 0, \"\");\n el.set_value(iter, 1, \"-- select a ticket --\");\n \n _this.build_module.el.set_active_iter(iter);\n var tickets = RooTicket.singleton().tickets;\n foreach(var ticket in tickets) {\n \n\n el.append(out iter);\n \n el.set_value(iter, 0, ticket.id);\n el.set_value(iter, 1, \"#%s %s %s\".printf( ticket.id, ticket.project_id_name , ticket.summary));\n \n //if (data.get(i) == cur) {\n // _this.build_module.el.set_active_iter(iter);\n // }\n \n }\n //this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING); \n \n}\n", + "| void loadTickets" : " () {\n\n RooTicket.singleton().loadTickets();\n \n \n\n this.el.clear(); \n Gtk.TreeIter iter;\n var el = this.el;\n \n el.append(out iter);\n\n \n el.set_value(iter, 0, \"\");\n el.set_value(iter, 1, \"-- select a ticket --\");\n \n _this.build_module.el.set_active_iter(iter);\n var tickets = RooTicket.singleton().tickets;\n foreach(var ticket in tickets) {\n \n\n el.append(out iter);\n \n el.set_value(iter, 0, ticket.id);\n el.set_value(iter, 1, \"#%s [%s] %s\".printf( ticket.id, ticket.project_id_name , ticket.summary));\n \n //if (data.get(i) == cur) {\n // _this.build_module.el.set_active_iter(iter);\n // }\n \n }\n //this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING); \n \n}\n", "$ columns" : "typeof(string),typeof(string)", "n_columns" : 2, "$ xns" : "Gtk" diff --git a/NewBranch.vala b/NewBranch.vala index edc4480e..8a5d0813 100644 --- a/NewBranch.vala +++ b/NewBranch.vala @@ -258,7 +258,7 @@ public class NewBranch : Object el.append(out iter); el.set_value(iter, 0, ticket.id); - el.set_value(iter, 1, "#%s %s %s".printf( ticket.id, ticket.project_id_name , ticket.summary)); + el.set_value(iter, 1, "#%s [%s] %s".printf( ticket.id, ticket.project_id_name , ticket.summary)); //if (data.get(i) == cur) { // _this.build_module.el.set_active_iter(iter); diff --git a/RooTicket.vala b/RooTicket.vala index e02ad889..232b918a 100644 --- a/RooTicket.vala +++ b/RooTicket.vala @@ -2,7 +2,6 @@ code to fetch ticket info... - */ static RooTicket _RooTicket; @@ -28,23 +27,23 @@ class RooTicket : Object public string project_id_name; - - public void addTicket(JSON.Object t) + public void addTicket(Json.Object t) { - var add = new Roo.Ticket(); + var add = new RooTicket(); add.id = t.get_string_member("id"); add.summary = t.get_string_member("summary"); add.description = t.get_string_member("description"); add.project_id_name = t.get_string_member("project_id_name"); this.tickets.add(add); - + GLib.debug("ADD ticket %s : %s : %s", add.id, add.summary, add.project_id_name); } + - - - static public void loadTickets() + public void loadTickets() { - var url = "https://roojs.com/admin.php/Roo/mtrack_ticket"); + RooTicket.singleton().tickets = new Gee.ArrayList(); + + var url = "https://roojs.com/admin.php/Roo/mtrack_ticket"; var table = new GLib.HashTable(str_hash, str_equal); @@ -54,7 +53,6 @@ class RooTicket : Object table.insert("sort","summary"); table.insert("dir","ASC"); - var params = Soup.Form.encode_hash(table); url = "%s?%s" . printf(url, params); @@ -83,14 +81,14 @@ class RooTicket : Object GLib.error(response.get_string_member("errorMsg")); return; } - var data = response.get_array_member ("data"); + var rd = response.get_array_member ("data"); // got a valid result... - _this = RooTicket.singleton(); - for(var i = 0; i < data.get_length(); i++) { - _this.addTicket(data.get_object_element(i); + var _this = RooTicket.singleton(); + for(var i = 0; i < rd.get_length(); i++) { + _this.addTicket(rd.get_object_element(i)); } - + } catch (Error e) { GLib.error(e.message); @@ -99,25 +97,29 @@ class RooTicket : Object } - static public void setAuth(message) { + public static void setAuth(Soup.Message message) { string str; var username = ""; var password = ""; - GLib.FileUtils.get_contents(GLib.Environment.get_home_dir() + "/.netrc"), out str); + GLib.FileUtils.get_contents(GLib.Environment.get_home_dir() + "/.netrc", out str); var lines = str.split("\n"); for(var i=0; i< lines.length; i++) { // assumes one line per entry.. if not we are buggered... - var bits = Regex.split_simple ("[ \t]+", line[i].strip()); - if (bits.length < 7 || bits[0] != "machine" || bits[1] != "git.roojs.com") { + GLib.debug("got %s" , lines[i]); + + var bits = Regex.split_simple ("[ \t]+", lines[i].strip()); + if (bits.length < 6 || bits[0] != "machine" || bits[1] != "git.roojs.com") { continue; } + GLib.debug("found password?"); // we are gussing.... username = bits[3]; password = bits[5]; } - var authCode = Base64.encode ("%s:%s".printf(username), password)).data); + + var authCode = Base64.encode ("%s:%s".printf(username, password).data); message.request_headers.append("Authorization", "Basic %s".printf(authCode)); @@ -125,4 +127,4 @@ class RooTicket : Object - \ No newline at end of file + } \ No newline at end of file diff --git a/configure.ac b/configure.ac index 14ce2a67..f9666ddc 100644 --- a/configure.ac +++ b/configure.ac @@ -29,6 +29,8 @@ PKG_CHECK_MODULES(GITLIVE, [ libnotify libwnck-3.0 libcanberra + libsoup-2.4 >= 2.56.0 + json-glib-1.0 ]) PKG_CHECK_MODULES([XSCRNSAVER], xscrnsaver)