sync
authorAlan Knowles <alan@roojs.com>
Tue, 30 Oct 2018 10:21:13 +0000 (18:21 +0800)
committerAlan Knowles <alan@roojs.com>
Tue, 30 Oct 2018 10:21:13 +0000 (18:21 +0800)
GitBranch.vala
Makefile.am
NewBranch.bjs
NewBranch.vala
RooTicket.vala
configure.ac

index 1b94f7f..0a0a63c 100644 (file)
@@ -65,7 +65,7 @@ public class GitBranch : Object
                return this.name == "" ? this.remote : this.name;
        }
        
-       public create()
+       public void create()
        {
        
        }
index 0b64fb7..b0e7384 100644 (file)
@@ -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 \
index 50dd24f..973bd46 100644 (file)
@@ -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"
index edc4480..8a5d081 100644 (file)
@@ -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);
index e02ad88..232b918 100644 (file)
@@ -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<RooTicket>();
+               
+               var url = "https://roojs.com/admin.php/Roo/mtrack_ticket";
                
                var table = new GLib.HashTable<string, string>(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
index 14ce2a6..f9666dd 100644 (file)
@@ -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)