From 0bb0a89f1781e6e66059893dbc9f0549b50e42a4 Mon Sep 17 00:00:00 2001 From: bill bittner Date: Wed, 31 May 2017 16:44:45 -0700 Subject: [PATCH 1/8] request is back to serving assets --- Temp/name | Bin 0 -> 28026 bytes Temp/name22 | Bin 0 -> 28026 bytes Temp/namef | Bin 0 -> 28026 bytes Temp/names | Bin 0 -> 13874 bytes helpers/lbryApi.js | 102 ++++++----- public/{claim.html => claimPlus.html} | 0 public/index.html | 161 +++++++++++++----- .../{publishingClaim.html => invalidUri.html} | 6 +- routes/html-routes.js | 141 ++++++++++----- routes/sockets-routes.js | 117 +++++++++---- 10 files changed, 359 insertions(+), 168 deletions(-) create mode 100644 Temp/name create mode 100644 Temp/name22 create mode 100644 Temp/namef create mode 100644 Temp/names rename public/{claim.html => claimPlus.html} (100%) rename public/{publishingClaim.html => invalidUri.html} (51%) diff --git a/Temp/name b/Temp/name new file mode 100644 index 0000000000000000000000000000000000000000..50b74eec6d3668da62d3893d131e335b6da3e30b GIT binary patch literal 28026 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 literal 0 HcmV?d00001 diff --git a/helpers/lbryApi.js b/helpers/lbryApi.js index 8a09f13e..199c2ec7 100644 --- a/helpers/lbryApi.js +++ b/helpers/lbryApi.js @@ -38,7 +38,7 @@ function orderTopClaims(claimsListArray){ } function getClaimWithUri(uri, resolve, reject){ - console.log(">> making get request to lbry daemon") + console.log(">> making get request to lbry daemon"); axios.post('http://localhost:5279/lbryapi', { method: "get", params: { uri: uri } @@ -64,6 +64,10 @@ function getClaimWithUri(uri, resolve, reject){ }); } +function findAllClaims(name, resolve, reject){ + // abstract claim_list function to here +} + module.exports = { publishClaim: function(publishObject){ @@ -76,12 +80,14 @@ module.exports = { console.log(" [x] Done"); // return the claim we got //res.status(200).send(JSON.stringify({msg: "you succsessfully published!", txData: response.data})); + return; }).catch(function(error){ // receive response from LBRY // if not successfull, (1) delete file and (2) send response to the client console.log(">> 'publish' error.response.data:", error.response.data); console.log(" [x] Done"); //res.status(500).send(JSON.stringify({msg: "your file was not published", err: error.response.data.error.message})); + return; }) }, @@ -95,14 +101,14 @@ module.exports = { params: { name: claimName } }) .then(function (response) { - console.log(">> Claim_list success"); + console.log(">> 'claim_list' success"); var claimsList = response.data.result.claims; console.log(">> Number of claims:", claimsList.length) // return early if no claims were found if (claimsList.length === 0){ - reject("no claims were found"); + reject("NO_CLAIMS"); console.log("exiting due to lack of claims"); return; } @@ -112,7 +118,7 @@ module.exports = { // return early if no free, public claims were found if (!freePublicClaims || (freePublicClaims.length === 0)){ - reject("no free, public claims were found"); + reject("NO_FREE_PUBLIC_CLAIMS"); console.log("exiting due to lack of free or public claims"); return; } @@ -121,18 +127,22 @@ module.exports = { var orderedPublcClaims = orderTopClaims(freePublicClaims); // create the uri for the first (selected) claim - console.log(">> ordered free public claims", orderedPublcClaims); + console.log(">> ordered free public claims"); var freePublicClaimUri = "lbry://" + orderedPublcClaims[0].name + "#" + orderedPublcClaims[0].claim_id; - console.log(">> your free public claim uri:", freePublicClaimUri); + console.log(">> your free public claim URI:", freePublicClaimUri); // fetch the image to display getClaimWithUri(freePublicClaimUri, resolve, reject); }) .catch(function(error){ - console.log(">> error:", error); + console.log(">> 'claim_list' error:", error); // reject the promise with an approriate message - reject(error.response.data.error); + if (error.code === "ECONNREFUSED"){ + reject("Connection refused. The daemon may not be running.") + } else { + reject(error.response.data.error); + }; return; }); }); @@ -146,7 +156,7 @@ module.exports = { to do: need to pass the URI through a test (use 'resolve') to see if it is free and public. Right now it is jumping straight to 'get'ing and serving the asset. */ var deferred = new Promise(function (resolve, reject){ - console.log(">> your uri:", uri); + console.log(">> get claim based on URI:", uri); // fetch the image to display getClaimWithUri(uri, resolve, reject); }); @@ -154,39 +164,45 @@ module.exports = { }, - serveAllClaims: function(claimName, res){ // note: work in progress - // make a call to the daemon to get the claims list - axios.post('http://localhost:5279/lbryapi', { - method: "claim_list", - params: { name: claimName } - } - ).then(function (response) { - console.log(">> Claim_list success"); - console.log(">> Number of claims:", response.data.result.claims.length) - // return early if no claims were found - if (response.data.result.claims.length === 0){ - res.status(200).sendFile(path.join(__dirname, '../public', 'noClaims.html')); - return; - } - // filter the claims to return free, public claims - var freePublicClaims = filterForFreePublicClaims(response.data.result.claims); - // return early if no free, public claims were found - if (!freePublicClaims || (freePublicClaims.length === 0)){ - res.status(200).sendFile(path.join(__dirname, '../public', 'noClaims.html')); - return; - } - console.log(">> Number of free public claims:", freePublicClaims.length); - // order the claims - var orderedPublicClaims = orderTopClaims(freePublicClaims); - // serve the response - /* - to do: rather than returning json, serve a page of all these claims - */ - res.status(200).send(orderedPublicClaims); - }).catch(function(error){ - console.log(">> /c/ error:", error.response.data); - // serve the response - res.status(500).send(JSON.stringify({msg: "An error occurred while finding the claim list.", err: error.response.data.error.message})); - }) + getAllClaims: function(claimName, res){ // note: work in progress + var deferred = new Promise(function(resolve, reject){ + console.log(">> get all claims data for", claimName) + // make a call to the daemon to get the claims list + axios.post('http://localhost:5279/lbryapi', { + method: "claim_list", + params: { name: claimName } + } + ).then(function (response) { + console.log(">> 'claim_list' success"); + console.log(">> Number of claims:", response.data.result.claims.length) + // return early if no claims were found + if (response.data.result.claims.length === 0){ + res.status(307).sendFile(path.join(__dirname, '../public', 'noClaims.html')); + return; + } + // filter the claims to return free, public claims + var freePublicClaims = filterForFreePublicClaims(response.data.result.claims); + // return early if no free, public claims were found + if (!freePublicClaims || (freePublicClaims.length === 0)){ + res.status(307).sendFile(path.join(__dirname, '../public', 'noClaims.html')); + return; + } + console.log(">> Number of free public claims:", freePublicClaims.length); + // order the claims + var orderedPublicClaims = orderTopClaims(freePublicClaims); + // serve the response + /* + to do: rather than returning json, serve a page of all these claims + */ + res.status(200).send(orderedPublicClaims); + }).catch(function(error){ + console.log(">> 'claim_list' error:", error.response.data); + // serve the response + res.status(500).send(JSON.stringify({msg: "An error occurred while finding the claim list.", err: error.response.data.error.message})); + }) + + }); + return deffered; + } } diff --git a/public/claim.html b/public/claimPlus.html similarity index 100% rename from public/claim.html rename to public/claimPlus.html diff --git a/public/index.html b/public/index.html index d5af3d08..42000b2f 100644 --- a/public/index.html +++ b/public/index.html @@ -18,33 +18,35 @@
  • spee.ch/doitlive/ca3023187e901df9e9aabd95d6ae09b6cc69b3f0
  • Publish Your Own

    -
    - -
    - Image preview... -
    - Name: -
    - Title: -
    - Description: -
    - Author: -
    - Language: -
    - License: -
    - NSFW: -
    - -
    +
    +
    + +
    + Image preview... +
    + Name: +
    + Title: +
    + Description: +
    + Author: +
    + Language: +
    + License: +
    + NSFW: +
    + +
    +

    Help

    Site Navigation

    @@ -84,28 +86,95 @@ - \ No newline at end of file diff --git a/public/publishingClaim.html b/public/invalidUri.html similarity index 51% rename from public/publishingClaim.html rename to public/invalidUri.html index f599e292..a4b0673e 100644 --- a/public/publishingClaim.html +++ b/public/invalidUri.html @@ -4,11 +4,11 @@ - Publishing Asset + No Claims

    spee.ch

    -

    Publishing Asset

    -

    Your asset is being published by a handy background worker. You can return to spee.ch and your asset should be published to your claim shortly.

    +

    Invalid URI

    +

    There is no claim at that URI.

    \ No newline at end of file diff --git a/routes/html-routes.js b/routes/html-routes.js index 59df73cd..4e79eb8e 100644 --- a/routes/html-routes.js +++ b/routes/html-routes.js @@ -6,26 +6,26 @@ var multipartMiddleware = multipart(); var lbryApi = require('../helpers/lbryApi.js'); var queueApi = require('../helpers/queueApi.js'); -// helper functions -function createPublishObject(req){ - var publishObject = { - "method":"publish", - "params": { - "name": req.body.name, - "file_path": req.files.file.path, - "bid": 0.1, - "metadata": { - "description": req.body.description, - "title": req.body.title, - "author": req.body.author, - "language": req.body.language, - "license": req.body.license, - "nsfw": (req.body.nsfw.toLowerCase() === "true") - } - } - }; - return publishObject; -} +// // helper functions +// function createPublishObject(req){ +// var publishObject = { +// "method":"publish", +// "params": { +// "name": req.body.name, +// "file_path": req.files.file.path, +// "bid": 0.1, +// "metadata": { +// "description": req.body.description, +// "title": req.body.title, +// "author": req.body.author, +// "language": req.body.language, +// "license": req.body.license, +// "nsfw": (req.body.nsfw.toLowerCase() === "true") +// } +// } +// }; +// return publishObject; +// } // routes to export module.exports = function(app){ @@ -34,45 +34,102 @@ module.exports = function(app){ console.log(" >> GET request on favicon.ico"); res.sendFile(path.join(__dirname, '../public', 'favicon.ico')); }); - // route to publish a new claim - app.post("/publish", multipartMiddleware, function(req, res){ - console.log(" >> POST request on /publish"); - // build the data needed to publish the file - var publishObject = createPublishObject(req); - console.log("publish", publishObject); - // post the task to the que - queueApi.addNewTaskToQueue(JSON.stringify({ - type: 'publish', - data: publishObject - })); - // respond to the client that the task has been queued - res.status(200).sendFile(path.join(__dirname, '../public', 'publishingClaim.html')); - }); + // // route to publish a new claim + // app.post("/publish", multipartMiddleware, function(req, res){ + // console.log(" >> POST request on /publish"); + // // build the data needed to publish the file + // var publishObject = createPublishObject(req); + // console.log("publish", publishObject); + // // post the task to the que + // queueApi.addNewTaskToQueue(JSON.stringify({ + // type: 'publish', + // data: publishObject + // })); + // // respond to the client that the task has been queued + // res.status(200).sendFile(path.join(__dirname, '../public', 'publishingClaim.html')); + // }); // route to fetch one free public claim app.get("/:name/all", function(req, res){ var name = req.params.name; console.log(">> GET request on /" + name + " (all)"); lbryApi.serveAllClaims(name, res); + + var promise = lbryApi.getAllClaims(name); + // handle the promise resolve + promise.then(function(orderedFreePublicClaims){ + res.status(200).send(orderedFreePublicClaims); + return; + }) + // handle the promise rejection + .catch(function(error){ + console.log("/name promise error:", error); + // handle the error + if ((error === "NO_CLAIMS") || (error === "NO_FREE_PUBLIC_CLAIMS")){ + res.status(307).sendFile(path.join(__dirname, '../public', 'noClaims.html')); + return; + } else { + res.status(400).send(error); + return; + }; + }) + + }); // route to fetch one free public claim app.get("/:name/:claim_id", function(req, res){ - console.log(">> GET request on /" + req.params.name + "#" + req.params.claim_id); - res.status(200).sendFile(path.join(__dirname, '../public', 'claim.html')); + var uri = req.params.name + "#" + req.params.claim_id; + console.log(">> GET request on /" + uri); + var promise = lbryApi.getClaimBasedOnUri(uri); + // handle the promise resolve + promise.then(function(filePath){ + console.log("/name/claim_id promise success - filepath:", filePath) + res.status(200).sendFile(filePath); + return; + }) + // handle the promise rejection + .catch(function(error){ + console.log("/name/claim_id/ promise error:", error) + // handle the error + if (error === "Invalid URI") { + res.status(400).sendFile(path.join(__dirname, '../public', 'invalidURI.html')); + return; + } else { + res.status(400).send(error); + return; + }; + }); }); // route to fetch one free public claim app.get("/:name", function(req, res){ - var name = req.params.name; - console.log(">> GET request on /" + name) - // send page (includes a socket to get the file) - res.status(200).sendFile(path.join(__dirname, '../public', 'claim.html')); + var name = req.params.name; + console.log(">> GET request on /" + name); + var promise = lbryApi.getClaimBasedOnNameOnly(name); + // handle the promise resolve + promise.then(function(filePath){ + console.log("/name promise success - filepath:", filePath) + res.status(200).sendFile(filePath); + return; + }) + // handle the promise rejection + .catch(function(error){ + console.log("/name/ promise error:", error); + // handle the error + if ((error === "NO_CLAIMS") || (error === "NO_FREE_PUBLIC_CLAIMS")){ + res.status(307).sendFile(path.join(__dirname, '../public', 'noClaims.html')); + return; + } else { + res.status(400).send(error); + return; + }; + }); }); // route for the home page app.get("/", function(req, res){ - res.sendFile(path.join(__dirname, '../public', 'index.html')); + res.status(200).sendFile(path.join(__dirname, '../public', 'index.html')); }); // a catch-all route if someone visits a page that does not exist app.use("*", function(req, res){ - res.sendFile(path.join(__dirname, '../public', 'fourOhfour.html')); + res.status(404).sendFile(path.join(__dirname, '../public', 'fourOhfour.html')); }); } diff --git a/routes/sockets-routes.js b/routes/sockets-routes.js index 51bbbb0a..2b82417f 100644 --- a/routes/sockets-routes.js +++ b/routes/sockets-routes.js @@ -4,48 +4,97 @@ module.exports = function(app) { var fs = require('fs'); var path = require('path'); var lbryApi = require('../helpers/lbryApi.js'); + var files = {}; // for the socket uploader - function sendTheImage(socket, filePath){ - fs.readFile(filePath, function(err, buff){ - if (err) { - console.log("socket: fs err:", err); - return; - }; - //console.log("buff", buff); - socket.emit('claim-send', { image: true, buffer: buff.toString('base64') }); - console.log('socket: the image file has been sent via sockets'); - }); + // functions to create a publishing object + function createPublishObject(fileInfo, filePath){ + var publishObject = { + "method":"publish", + "params": { + "name": fileInfo.name, + "file_path": filePath, + "bid": 0.1, + "metadata": { + "description": fileInfo.description, + "title": fileInfo.title, + "author": fileInfo.author, + "language": fileInfo.language, + "license": fileInfo.license, + "nsfw": (fileInfo.nsfw.toLowerCase() === "true") + } + } + }; + return publishObject; } + // publish an image to lbry + function publish(data, filePath){ + // 1. receive the file + + // 2. create the publish object + var publishObject = createPublishObject(data, filePath); + // 3. post the task to the que + queueApi.addNewTaskToQueue(JSON.stringify({ + type: 'publish', + data: publishObject + })); + + + }; io.on('connection', function(socket){ console.log('a user connected'); - - // serve an image file from the server - socket.on('claim-request', function(query){ - // 1. retrieve the image from lbry via daemon - console.log("socket: received claim request for:", query) - if (query.indexOf("/") === -1){ - var promise = lbryApi.getClaimBasedOnNameOnly(query) - } else { - var uri = query.replace("/", "#"); - var promise = lbryApi.getClaimBasedOnUri(uri) + console.log("files", files) + // socket listener for starting an upload + socket.on('upload-start', function(data){ // data contains the variables that we passed from the client + console.log("upload-start"); + console.log("files", files) + var name = data['name']; + files[name] = { // create a new entry in the files object + fileSize: data['size'], + data: '', + downloaded: 0 } - promise.then(function(data){ - console.log("socket: claim-request - success:", data) - // 3. serve the image back once it is retrieved - sendTheImage(socket, data); - return; - }) - .catch(function(error){ - console.log("socket: claim-request - error:", error) - // handle the error - socket.emit("claim-update", error); - return; + var place = 0; + try { // if its a file we already tried + var stat = fs.statSync('Temp/' + name); + if (stat.isFile()) { + files[name]['downloaded'] = stat.size; + place = stat.size / 524288; + }; + } catch(er) {}; // if it's a new file + fs.open("Temp/" + name, "a", 0755, function(err, fd){ + if (err) { + console.log("err:", err); + } else { + files[name]['handler'] = fd; // store the handler so we can write to it later + socket.emit('moreData', {'place': place, percent: 0 }); + }; }); - - // 2. emit updates as the image is being retrieved - socket.emit("claim-update", "We are getting your claim for " + query); }) + + socket.on('upload', function(data){ + console.log("upload"); + console.log("files", files) + var name = data['name']; + files[name]['downloaded'] += data['data'].length; + files[name]['data'] += data['data']; + if (files[name]['downloaded'] == files[name]['fileSize']) { + fs.write(files[name]['handler'], files[name]['data'], null, 'binary', function(err, writen){ + // get thumnail here + }); + } else if (files[name]['data'].length > 10485760) { // if data buffer reaches 10mb + fs.write(files[name]['handler'], files[name]['data'], null, 'Binary', function(err, writen){ + files[name]['data'] = "" // reset the buffer + var place = files[name]['donwladed'] / 524288; + var percent = (files[name]['downloaded'] / files[Name]['fileSize']) * 100; + socket.emit('moreData', {'place': place, 'percent': percent}); + }) + } else { + var place = file[name]['downloaded'] / 524288; + var percent = (files[name]['downloaded'] / files[name]['fileSize']) * 100; + socket.emit('moreData', {'place': place, 'percent': percent}); + } + }); // handle disconnect socket.on('disconnect', function(){ -- 2.45.2 From 6098537c12ecf0433de91f936e703330bc23cf13 Mon Sep 17 00:00:00 2001 From: bill bittner Date: Wed, 31 May 2017 17:00:13 -0700 Subject: [PATCH 2/8] updated teh name/all/ route --- helpers/lbryApi.js | 47 ++++++++++++++++++++++--------------------- public/index.html | 16 --------------- routes/html-routes.js | 47 +++++++------------------------------------ 3 files changed, 31 insertions(+), 79 deletions(-) diff --git a/helpers/lbryApi.js b/helpers/lbryApi.js index 199c2ec7..0e732bfb 100644 --- a/helpers/lbryApi.js +++ b/helpers/lbryApi.js @@ -102,46 +102,40 @@ module.exports = { }) .then(function (response) { console.log(">> 'claim_list' success"); - var claimsList = response.data.result.claims; console.log(">> Number of claims:", claimsList.length) - // return early if no claims were found if (claimsList.length === 0){ reject("NO_CLAIMS"); console.log("exiting due to lack of claims"); return; } - // filter the claims to return only free, public claims var freePublicClaims = filterForFreePublicClaims(claimsList); - // return early if no free, public claims were found if (!freePublicClaims || (freePublicClaims.length === 0)){ reject("NO_FREE_PUBLIC_CLAIMS"); console.log("exiting due to lack of free or public claims"); return; } - // order the claims var orderedPublcClaims = orderTopClaims(freePublicClaims); - // create the uri for the first (selected) claim console.log(">> ordered free public claims"); var freePublicClaimUri = "lbry://" + orderedPublcClaims[0].name + "#" + orderedPublcClaims[0].claim_id; console.log(">> your free public claim URI:", freePublicClaimUri); - // fetch the image to display getClaimWithUri(freePublicClaimUri, resolve, reject); - }) .catch(function(error){ console.log(">> 'claim_list' error:", error); // reject the promise with an approriate message if (error.code === "ECONNREFUSED"){ reject("Connection refused. The daemon may not be running.") - } else { + } else if (error.response.data.error) { reject(error.response.data.error); + } else { + reject(error); }; return; }); @@ -175,34 +169,41 @@ module.exports = { ).then(function (response) { console.log(">> 'claim_list' success"); console.log(">> Number of claims:", response.data.result.claims.length) + console.log(">> 'claim_list' success"); + var claimsList = response.data.result.claims; + console.log(">> Number of claims:", claimsList.length) // return early if no claims were found - if (response.data.result.claims.length === 0){ - res.status(307).sendFile(path.join(__dirname, '../public', 'noClaims.html')); + if (claimsList.length === 0){ + reject("NO_CLAIMS"); + console.log("exiting due to lack of claims"); return; } - // filter the claims to return free, public claims - var freePublicClaims = filterForFreePublicClaims(response.data.result.claims); + // filter the claims to return only free, public claims + var freePublicClaims = filterForFreePublicClaims(claimsList); // return early if no free, public claims were found if (!freePublicClaims || (freePublicClaims.length === 0)){ - res.status(307).sendFile(path.join(__dirname, '../public', 'noClaims.html')); + reject("NO_FREE_PUBLIC_CLAIMS"); + console.log("exiting due to lack of free or public claims"); return; } - console.log(">> Number of free public claims:", freePublicClaims.length); // order the claims - var orderedPublicClaims = orderTopClaims(freePublicClaims); + var orderedPublcClaims = orderTopClaims(freePublicClaims); // serve the response /* to do: rather than returning json, serve a page of all these claims */ - res.status(200).send(orderedPublicClaims); + resolve(orderedPublicClaims); }).catch(function(error){ - console.log(">> 'claim_list' error:", error.response.data); - // serve the response - res.status(500).send(JSON.stringify({msg: "An error occurred while finding the claim list.", err: error.response.data.error.message})); + console.log(">> 'claim_list' error:", error); + if (error.code === "ECONNREFUSED"){ + reject("Connection refused. The daemon may not be running.") + } else if (error.response.data.error) { + reject(error.response.data.error); + } else { + reject(error); + }; }) - }); - return deffered; - + return deferred; } } diff --git a/public/index.html b/public/index.html index 42000b2f..1035030b 100644 --- a/public/index.html +++ b/public/index.html @@ -26,14 +26,6 @@
    Name:
    - Title: -
    - Description: -
    - Author: -
    - Language: -
    License: +
    Image preview...
    @@ -36,8 +36,9 @@
    - + +

    Help

    @@ -79,17 +80,19 @@ + diff --git a/routes/sockets-routes.js b/routes/sockets-routes.js index 2b82417f..cc7b6b97 100644 --- a/routes/sockets-routes.js +++ b/routes/sockets-routes.js @@ -4,96 +4,71 @@ module.exports = function(app) { var fs = require('fs'); var path = require('path'); var lbryApi = require('../helpers/lbryApi.js'); - var files = {}; // for the socket uploader + var queueApi = require('../helpers/queueApi.js'); + var siofu = require("socketio-file-upload"); + var rootDirectory = "C:\\Users\\Bones\\development\\Lbry\\spee.ch\\"; // functions to create a publishing object - function createPublishObject(fileInfo, filePath){ - var publishObject = { - "method":"publish", - "params": { - "name": fileInfo.name, - "file_path": filePath, - "bid": 0.1, - "metadata": { - "description": fileInfo.description, - "title": fileInfo.title, - "author": fileInfo.author, - "language": fileInfo.language, - "license": fileInfo.license, - "nsfw": (fileInfo.nsfw.toLowerCase() === "true") - } + function createPublishParams(name, filepath, license, nsfw){ + var publishParams = { + "name": name, + "file_path": rootDirectory + filepath, + "bid": 0.1, + "metadata": { + "description": name + "published via spee.ch", + "title": name, + "author": "spee.ch", + "language": "en", + "license": license, + "nsfw": (nsfw.toLowerCase() === "true") } }; - return publishObject; + return publishParams; } // publish an image to lbry - function publish(data, filePath){ - // 1. receive the file - - // 2. create the publish object - var publishObject = createPublishObject(data, filePath); - // 3. post the task to the que - queueApi.addNewTaskToQueue(JSON.stringify({ - type: 'publish', - data: publishObject - })); - - + function publish(name, filepath, license, nsfw, socket){ + // update the client + socket.emit("publish-status", "starting publishing..."); + // create the publish object + var publishParams = createPublishParams(name, filepath, license, nsfw); + // get a promise to publish + var promise = lbryApi.publishClaim(publishParams); + // handle promise + promise.then(function(data){ + console.log("publish promise success. Tx info:", data) + socket.emit("publish-complete", data); + /* + note: remember to delete the local file + */ + }) + .catch(function(error){ + console.log("error:", error); + socket.emit("publish-status", "publish failed"); + /* + note: remember to delete the local file + */ + }); }; io.on('connection', function(socket){ console.log('a user connected'); - console.log("files", files) - // socket listener for starting an upload - socket.on('upload-start', function(data){ // data contains the variables that we passed from the client - console.log("upload-start"); - console.log("files", files) - var name = data['name']; - files[name] = { // create a new entry in the files object - fileSize: data['size'], - data: '', - downloaded: 0 - } - var place = 0; - try { // if its a file we already tried - var stat = fs.statSync('Temp/' + name); - if (stat.isFile()) { - files[name]['downloaded'] = stat.size; - place = stat.size / 524288; - }; - } catch(er) {}; // if it's a new file - fs.open("Temp/" + name, "a", 0755, function(err, fd){ - if (err) { - console.log("err:", err); - } else { - files[name]['handler'] = fd; // store the handler so we can write to it later - socket.emit('moreData', {'place': place, percent: 0 }); - }; - }); + // listener for uploader + var uploader = new siofu(); + uploader.dir = "./temp"; + uploader.listen(socket); + // attach upload listeners + uploader.on("error", function(event){ + console.log("an error occured while uploading", event.error); + socket.emit("publish-status", event.error) }) - - socket.on('upload', function(data){ - console.log("upload"); - console.log("files", files) - var name = data['name']; - files[name]['downloaded'] += data['data'].length; - files[name]['data'] += data['data']; - if (files[name]['downloaded'] == files[name]['fileSize']) { - fs.write(files[name]['handler'], files[name]['data'], null, 'binary', function(err, writen){ - // get thumnail here - }); - } else if (files[name]['data'].length > 10485760) { // if data buffer reaches 10mb - fs.write(files[name]['handler'], files[name]['data'], null, 'Binary', function(err, writen){ - files[name]['data'] = "" // reset the buffer - var place = files[name]['donwladed'] / 524288; - var percent = (files[name]['downloaded'] / files[Name]['fileSize']) * 100; - socket.emit('moreData', {'place': place, 'percent': percent}); - }) + uploader.on("saved", function(event){ + console.log("saved " + event.file.name); + if (event.file.success){ + socket.emit("publish-status", "file upload successfully completed"); + publish(event.file.meta.name, event.file.pathName, event.file.meta.license,event.file.meta.nsfw, socket) } else { - var place = file[name]['downloaded'] / 524288; - var percent = (files[name]['downloaded'] / files[name]['fileSize']) * 100; - socket.emit('moreData', {'place': place, 'percent': percent}); - } + socket.emit("publish-status", "file saved, but with errors") + }; }); // handle disconnect diff --git a/server.js b/server.js index 5872b342..abf98fba 100644 --- a/server.js +++ b/server.js @@ -2,6 +2,7 @@ var express = require('express'); var bodyParser = require('body-parser'); var path = require('path'); +var siofu = require("socketio-file-upload"); // set port var PORT = 3000; @@ -15,6 +16,7 @@ app.use(express.static(__dirname + '/public')); // configure express app app.use(bodyParser.json()); // for parsing application/json app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded +app.use(siofu.router); // require express routes require("./routes/api-routes.js")(app); -- 2.45.2 From 2e2533da6267d72b8a7f61060c46b07d34989278 Mon Sep 17 00:00:00 2001 From: bill bittner Date: Wed, 31 May 2017 20:11:00 -0700 Subject: [PATCH 4/8] publish status displays full size --- public/index.html | 10 +++++++--- routes/sockets-routes.js | 7 +++---- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/public/index.html b/public/index.html index 30ce073a..39200f6f 100644 --- a/public/index.html +++ b/public/index.html @@ -105,7 +105,7 @@ } // helper function to update status function updatePublishStatus(msg){ - document.getElementById("upload-status").innerHTML = msg; + document.getElementById("publish").innerHTML = msg; } // call the previewFile function previewFile(); @@ -125,7 +125,7 @@ uploader.addEventListener("progress", function(event){ var percent = event.bytesLoaded / event.file.size * 100; console.log(); - updatePublishStatus("File is " + percent.toFixed(2) + "% loaded"); + updatePublishStatus("File is " + percent.toFixed(2) + "% loaded to the server"); }) // add listener for publish status updates socket.on("publish-status", function(msg){ @@ -133,7 +133,11 @@ }) socket.on("publish-complete", function(msg){ console.log("publish complete", msg); - var publishResults = `

    You're publish is complete!

    The Claim Id is ${msg.result.claim_id}

    The TX Id is ${msg.result.txid}

    Note: the transaction still needs to be published by the network. Click the tx id link to view the tx on the blockchain explorer

    `; + var publishResults = `

    You're publish is complete!

    `; + publishResults += `

    The Claim ID is: ${msg.result.claim_id}

    `; + publishResults += `

    The TX ID is: ${msg.result.txid}

    `; + publishResults += `

    Note: the transaction still needs to be published by the network. Click the tx id link to view the tx on the blockchain explorer

    ` + publishResults += `

    Reload the page to publish another (fancy button coming soon)

    `; document.getElementById("publish").innerHTML = publishResults; }) diff --git a/routes/sockets-routes.js b/routes/sockets-routes.js index cc7b6b97..8c679e06 100644 --- a/routes/sockets-routes.js +++ b/routes/sockets-routes.js @@ -6,13 +6,12 @@ module.exports = function(app) { var lbryApi = require('../helpers/lbryApi.js'); var queueApi = require('../helpers/queueApi.js'); var siofu = require("socketio-file-upload"); - var rootDirectory = "C:\\Users\\Bones\\development\\Lbry\\spee.ch\\"; // functions to create a publishing object function createPublishParams(name, filepath, license, nsfw){ var publishParams = { "name": name, - "file_path": rootDirectory + filepath, + "file_path": filepath, "bid": 0.1, "metadata": { "description": name + "published via spee.ch", @@ -28,7 +27,7 @@ module.exports = function(app) { // publish an image to lbry function publish(name, filepath, license, nsfw, socket){ // update the client - socket.emit("publish-status", "starting publishing..."); + socket.emit("publish-status", "Your image is being published (this might take a second)..."); // create the publish object var publishParams = createPublishParams(name, filepath, license, nsfw); // get a promise to publish @@ -54,7 +53,7 @@ module.exports = function(app) { console.log('a user connected'); // listener for uploader var uploader = new siofu(); - uploader.dir = "./temp"; + uploader.dir = path.join(__dirname, '../temp'); uploader.listen(socket); // attach upload listeners uploader.on("error", function(event){ -- 2.45.2 From ca90f571ebf1ffc1b7c76ea955a11ef92a66d1f5 Mon Sep 17 00:00:00 2001 From: bill bittner Date: Wed, 31 May 2017 20:29:16 -0700 Subject: [PATCH 5/8] switched upload folder to ../Uploads --- README.md | 13 +++++-------- Temp/name | Bin 28026 -> 0 bytes Temp/name22 | Bin 28026 -> 0 bytes Temp/namef | Bin 28026 -> 0 bytes Temp/names | Bin 13874 -> 0 bytes public/index.html | 13 +++++++------ routes/sockets-routes.js | 4 ++-- 7 files changed, 14 insertions(+), 16 deletions(-) delete mode 100644 Temp/name delete mode 100644 Temp/name22 delete mode 100644 Temp/namef delete mode 100644 Temp/names diff --git a/README.md b/README.md index d1a8221b..5d124667 100644 --- a/README.md +++ b/README.md @@ -5,26 +5,23 @@ spee.ch is a single-serving site that reads and publishes images to and from the * start lbry * install the [`lbry`](https://github.com/lbryio/lbry) daemon * start the `lbry` daemon -* start RabbitMQ (this will handle the queue for background processing) - * install & run [RabbitMQ](https://www.rabbitmq.com/#getstarted) * clone this repo +* create a folder called `Uploads` in the same root directory where you cloned the repo * run `npm install` * from your terminal, run `npm start` * to run hot, run `nodemon server.js` -* start a worker by running `node worker.js` in a separate session in your terminal * visit [localhost:3000](http://localhost:3000) ## site navigation - -* spee.ch. +* spee.ch * To publish a file, navigate to the homepage. -* spee.ch/ +* spee.ch/< the name of the claim > * To view the file with the largest bid at a claim. * E.g. spee.ch/doitlive. * spee.ch/< the name of the claim >/< the claim_id > * To view a specific file at a claim * E.g. spee.ch/doitlive/c496c8c55ed79816fec39e36a78645aa4458edb5 -* spee.ch//all +* spee.ch/< the name of the claim >/all * To view a batch of files at a claim * E.g. spee.ch/doitlive/all @@ -39,6 +36,6 @@ spee.ch is a single-serving site that reads and publishes images to and from the Note: these are being used for testing durring spee.ch development and may not be maintained -* A GET request to spee.ch/claim_list/ +* A GET request to spee.ch/claim_list/< the name of the claim > * Will return the claim_list for the claim in json format. * E.g. spee.ch/claim_list/doitlive diff --git a/Temp/name b/Temp/name deleted file mode 100644 index 50b74eec6d3668da62d3893d131e335b6da3e30b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28026 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 diff --git a/public/index.html b/public/index.html index 39200f6f..6a2099da 100644 --- a/public/index.html +++ b/public/index.html @@ -27,8 +27,8 @@ Name:
    License:
    NSFW: