BrowserView.js
[app.wkmirror] / BrowserView.js
index ff4e55e..04ed939 100644 (file)
@@ -1,4 +1,5 @@
 Gtk = imports.gi.Gtk;
+GLib = imports.gi.GLib;
 WebKit = imports.gi.WebKit;
 
 TabbedBrowser = imports.TabbedBrowser;
@@ -21,7 +22,7 @@ BrowserView = new GType({
         var maxQueue = 0;
         var injected = {};
         
-        var storedir = '/tmp/wkqueue';
+        var storedir = '/home/alan/wkqueue';
         if (!File.exists(storedir)) {
             File.mkdir(storedir);
         }
@@ -114,14 +115,14 @@ BrowserView = new GType({
             //}
             //injected[this.uri]++;
             var fn = __script_path__ + "/nsinject.js";
-            if (File.exists(fn)) {
+            //if (File.exists(fn)) {
                 print("Adding inject");
                 var newjs = File.read(__script_path__ + "/nsinject.js");
                 TabbedBrowser.browser.current_tab().get_web_view().execute_script(
                     newjs
                     
                 );
-            }
+            //}
             
         }
         
@@ -132,14 +133,50 @@ BrowserView = new GType({
         var load_finished = function ()
         {
             print("load finished");
-            tab.get_toolbar().set_progress(0);
-            
-            
-            var pd = JSON.parse(File.read('/home/alan/.nspasswd'));
             
+            GLib.timeout_add(GLib.PRIORITY_LOW, 1000, function() { 
+                 
+//                _t.open("http://sg.lifestyleasia.com/videos/video-british-polo-day-singapore-2012/");
+                var mf = _t.get_main_frame();
+                
+                var ar = Gtk.PaperSize.get_paper_sizes();
+                var psetup = new Gtk.PageSetup();
+                for(var i = 0; i < ar.length; i++) {
+//                    print(ar[i].get_name());
+                    if (ar[i].get_name() =='iso_a2') {
+                        psetup.set_paper_size(ar[i]);
+                    }
+                }
+                
+
+                
+                var p = new Gtk.PrintOperation({ export_filename : '/home/chris/test_pdf/test2.pdf' });
+                
+                //s.set_paper_size('iso_a4');
+                
+                p.set_default_page_setup(psetup);
+                
+                var s = p.get_print_settings();
+                print(s);
+                //p.set_print_settings(s);
+                mf.print_full(p, Gtk.PrintOperationAction.EXPORT)
+                //Seed.quit();
+            });
+            
+            return;
+            tab.get_toolbar().set_progress(0);
             
             _t.add_inject(true);
           
+            _t.add_nsinject(true);
+              print(typeof(Seed.argv[2]));
+            if (Seed.argv[2] == null) {
+                print("NEED ID!");
+                Seed.quit();
+            
+            }
+            _t.nsdownloadNext(Seed.argv[2]  * 1)
+          
             
             if (browsePage) {
                 print("onload: calling gather links");
@@ -266,7 +303,7 @@ BrowserView = new GType({
         var nsqueue = false;
         this.nsdownloadNext = function()
         {
-            if (nsqueue === false) {
+            /*if (nsqueue === false) {
                 nsqueue = [
                            //282,273,285,395,271,272,278,394,402,279,432,280,284,281,433,437,404,444,151,152,1,283,287,288,418,407,398,449,147,150,131,149,443,148,411,405,415,417,416,406,408,399,410,409,412,400,155,133,124,157,118,183,450,434,301,435,130,286,162,292,431,161,290,146,145,158,159,120,137,128,139,163,293,160,289,291,141,140,138,142,144,110,401,156,154,153,170,167,295,166,294,277,425,164,165,168,296,169,297,113,171,119,180,300,176,175,172,302,299,
                            //298,421,187,307,428,275,269,304,181,182,174,173,184,303,112,179,114,305,177,178,186,306,403,420,111,109,309,188,308,446,445,310,311,53,189,52,312,419,270,190,191,192,193,54,194,108,268,121,195,206,396,205,207,324,220,340,212,331,219,339,222,342,436,209,327,424,208,326,210,328,330,325,211,329,218,337,338,224,223,217,336,214,333,213,332,216,335,221,341,215,334,197,314,
@@ -282,11 +319,25 @@ BrowserView = new GType({
             }
             var pg = nsqueue.shift() ;
             
+            
+            */
+            
+            //print(typeof(Seed.argv[2]));
+            if (!Seed.argv[2]) {
+                print("NEED ID!");
+                Seed.quit();
+            
+            }
+            var pg = Seed.argv[2]  * 1;
             if ( File.exists( storedir+'/output/' + pg + '.csv')) {
-                this.nsdownloadNext();
+                print("DONE : " + storedir+'/output/' + pg + '.csv');
+                Seed.quit();
                 return;
             }
-
+            
+            var pd = JSON.parse(File.read('/home/alan/.nspasswd'));
+            
+            print("downloadnext : " + pg);
             this.execute_script(
                 'NS.login(' +  JSON.stringify(pd.username) + ',' + JSON.stringify(pd.password) + ',' + pg + ' );'
                 
@@ -298,12 +349,12 @@ BrowserView = new GType({
 
         // Implementation
         //this.set_scroll_adjustments(null, null);
-
+        
         this.signal.title_changed.connect(update_title);
         this.signal.load_committed.connect(load_committed);
         this.signal.load_finished.connect(load_finished);
         this.signal.load_progress_changed.connect(update_progress);
-
+       
         // For some reason, this segfaults seed in the instance init closure handler
         // Once that's fixed, uncommenting the next line will give middle-click-open-in-new tab
         //this.signal.navigation_policy_decision_requested.connect(clicked_link);
@@ -312,6 +363,7 @@ BrowserView = new GType({
 
         this.signal.create_web_view.connect(create_new_tab);
         
+        
          
         print("ADDing console message sig handler");
         
@@ -333,6 +385,11 @@ BrowserView = new GType({
             }
             print("got method : " + ret.method);
             
+            if (ret.method == 'exit') {
+                Seed.quit();
+            }
+            
+            
             if (ret.method == 'nsdownloadpage'){
                 try { 
                     var mt = ret.contentType.split(';').shift();
@@ -344,7 +401,9 @@ BrowserView = new GType({
                 switch(mt) {
                    
                     case '':
-                         _t.nsdownloadNext();
+                        print("CONSOLE GOT BLANK - call download next?");
+                          Seed.quit();
+                         //_t.nsdownloadNext();
                        // _t.moveToDone(ret.requesturl);
                         break;
                     
@@ -367,7 +426,9 @@ BrowserView = new GType({
                         File.writeBinaryArray(target,ret.data);
                         print("Wrote to file: " + target);
                         // get next..
-                        _t.nsdownloadNext();
+                        return true;
+                        //Seed.quit();
+                        //_t.nsdownloadNext();