@@ -8,19 +8,33 @@ var fs = require("fs");
88var https = require ( 'https' ) ;
99var md5 = require ( 'md5' ) ;
1010var httpreq = require ( 'httpreq' ) ;
11+ var sudo = require ( 'sudo-prompt' ) ;
12+
1113
1214
1315function detect_board ( ) {
1416
1517
1618}
1719
18- function upload_firmware ( path_in , path_out ) {
19- var cmd_dd = "sudo dd if=" + path_in + " of=" + path_out + " bs=512 seek=4 conv=notrunc" ;
20+ function upload_firmware ( path_in ) {
21+ var path_out = "/dev/sdb" ;
22+ var cmd_dd = "dd if=" + path_in + " of=" + path_out + " bs=512 seek=4 conv=notrunc" ;
2023
2124 console . log ( cmd_dd ) ;
2225
2326
27+ var options = {
28+ name : 'MiniBlip Studio' ,
29+ onChildProcess : function ( childProcess ) { } // (optional)
30+ } ;
31+ sudo . exec ( cmd_dd , options , function ( error , stdout , stderr ) {
32+ console . log ( "error " + error ) ;
33+ console . log ( "stdout " + stdout ) ;
34+ console . log ( "stderr " + stderr ) ;
35+ } )
36+
37+ /*
2438 var execFile = require
2539 ('child_process').execFile, child;
2640
@@ -39,6 +53,7 @@ function upload_firmware(path_in, path_out) {
3953 console.log('Child process exited '+
4054 'with exit code '+ code);
4155 });
56+ */
4257}
4358
4459
@@ -82,7 +97,6 @@ function add_item_to_firmware_list(obj, isRemote) {
8297
8398 if ( isRemote ) {
8499 file_url = get_remote_firmware_url ( obj . name ) ;
85- console . log ( file_url ) ;
86100 } else {
87101 file_url = get_local_firmware_path ( obj . name ) ;
88102 }
@@ -102,14 +116,13 @@ console.log(file_url);
102116 $div . find ( ".author" ) . text ( obj . author ) ;
103117 $div . find ( ".source a" ) . attr ( "href" , obj . source ) ;
104118 $ ( this ) . fadeIn ( "500" ) ;
105-
106119 } ) ;
107120
108121 $div . find ( "#upload" ) . click ( function ( ) {
109122
110123 if ( isRemote ) {
111- download_firmware ( obj , function ( ) {
112- upload_firmware ( file_url , "/dev/sdb" ) ;
124+ download_firmware ( obj , function ( isOk , local_path ) {
125+ if ( isOk ) upload_firmware ( local_path ) ;
113126 } ) ;
114127 } else {
115128 upload_firmware ( file_url , "/dev/sdb" ) ;
@@ -159,7 +172,7 @@ function download_firmware(obj, callback) {
159172 //console.log("md5 nop");
160173 md5result = false ;
161174 }
162- callback ( md5result ) ;
175+ callback ( md5result , to ) ;
163176 } ) ; //readfile
164177 } ) ;
165178}
@@ -198,7 +211,7 @@ function bind_drag_and_drop_area() {
198211 e . preventDefault ( ) ;
199212
200213 for ( var i = 0 ; i < e . dataTransfer . files . length ; ++ i ) {
201- console . log ( e . dataTransfer . files [ i ] . path ) ;
214+ upload_firmware ( e . dataTransfer . files [ i ] . path ) ;
202215 }
203216 return false ;
204217 } ;
0 commit comments