Advertisement
Guest User

Untitled

a guest
Nov 13th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const exec = require('child_process').execFile;
  2. const axios = require('axios')
  3. const fs = require('fs')
  4. const DecompressZip = require('decompress-zip');
  5. const remote = require('electron').remote;
  6. const path = require('path');
  7.  
  8. exports.playgame = () => {
  9.     console.log("Initiating the Game...");
  10.     exec('./bin/TestBuild/Nightfall.exe', function(err, data) {  
  11.         console.log(err)
  12.         console.log(data.toString());                      
  13.     });  
  14.      
  15. }
  16.  
  17. exports.downloadgame = () => {
  18.     var fs = require('fs');
  19.     var dir = './bin/temp';
  20.  
  21.     if (!fs.existsSync(dir)){
  22.         fs.mkdir('./bin/temp', {recursive: true}, err => {})
  23.     }
  24.  
  25.     document.getElementById('extractedFile').innerHTML = 'Status: Downloading files...'
  26.     var xhr = new XMLHttpRequest();
  27.     xhr.open("GET", "http://localhost:3000/download", true);
  28.     xhr.onreadystatechange = function() {
  29.         if (xhr.readyState == 4 && xhr.status == 200) {
  30.             document.getElementById('extractedFile').innerHTML = 'Status: Recieved Compressed Files...'
  31.             // alert("Failed to download:" + xhr.status + "---" + xhr.statusText);
  32.             var blob = new Blob([xhr.response], {type: "octet/stream"});
  33.            
  34.             var fileReader = new FileReader();
  35.             fileReader.onload = function () {
  36.                 document.getElementById('extractedFile').innerHTML = 'Status: Unzipping files...'
  37.                 fs.writeFile('./bin/temp/build.zip', Buffer.from(new Uint8Array(this.result)), function(err) {
  38.                     var unzipper = new DecompressZip('./bin/temp/build.zip')
  39.  
  40.                     unzipper.on('error', function (err) {
  41.                         console.log(err);
  42.                     });
  43.                    
  44.                     unzipper.on('extract', function (log) {
  45.                         document.getElementById('extractedFile').innerHTML = 'Status: Download Complete'
  46.                         // var moveFile = (file, dir2)=>{
  47.                         //     var f = path.basename(file);
  48.                         //     var dest = path.resolve(dir2, f);
  49.                        
  50.                         //     fs.rename(file, dest, (err)=>{
  51.                         //     if(err) throw err;
  52.                         //     else document.getElementById('extractedFile').innerHTML = 'Status: Download Complete!'
  53.                         //     });
  54.                         // };
  55.                        
  56.                         // //move file1.htm from 'test/' to 'test/dir_1/'
  57.                         // moveFile('./bin/temp/TestBuild', './bin/');
  58.                     });
  59.                    
  60.                     unzipper.on('progress', function (fileIndex, fileCount) {
  61.                         document.getElementById('extractedFile').innerHTML = 'Status: Extracted file ' + (fileIndex + 1) + ' of ' + fileCount;
  62.                     });
  63.                    
  64.                     unzipper.extract({
  65.                         path: './bin/',
  66.                         filter: function (file) {
  67.                             return file.type !== "SymbolicLink";
  68.                         },
  69.                         restrict: false
  70.                     });
  71.                 });
  72.             };
  73.             fileReader.readAsArrayBuffer(blob);
  74.            
  75.             // var fileName = "Test.zip";
  76.  
  77.             // var a = document.createElement("a");
  78.             // document.body.appendChild(a);
  79.             // a.style = "display: none";
  80.  
  81.             //         url = window.URL.createObjectURL(blob);
  82.             //     a.href = url;
  83.             //     a.download = fileName;
  84.             //     a.click();
  85.             //     window.URL.revokeObjectURL(url);
  86.            
  87.         }
  88.     }
  89.     xhr.responseType = "arraybuffer";
  90.     xhr.send();
  91.    
  92.     // var buf = Buffer.from(response.data);  
  93.     // fs.writeFile('./Test.zip', buf, () => {
  94.     //     var stats = fs.statSync('./Test.zip')
  95.     //     var fileSizeInBytes = stats["size"]
  96.     //     var fileSizeInMegabytes = fileSizeInBytes / 1000000.0
  97.     //     console.log('Size (mb): ' + fileSizeInMegabytes)
  98.            
  99.     // })
  100.  
  101.  
  102.         // fs.writeFile('./Test.zip',response.data,() => {
  103.            
  104.         //      console.log("Wrote to file!")
  105.         // })
  106.     //})
  107.     //window.open('http://localhost:3000/download');
  108. }
  109.  
  110. exports.closelauncher = () => {
  111.     var window = remote.getCurrentWindow();
  112.     window.close();
  113. }
  114.  
  115. exports.minimizelauncher = () => {
  116.     var window = remote.getCurrentWindow();
  117.     window.minimize();
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement