Commit 68b1afef authored by Ahmad Nemati's avatar Ahmad Nemati

init

parent 5310c892
node --max-old-space-size=9999999999 validator.js
\ No newline at end of file
const fs = require('fs')
let moment = require('moment-timezone')
init()
async function init() {
try {
await fs.mkdirSync('validator')
} catch (e) {
}
let files = await fs.readdirSync('validator')
let prom = []
for (let i = 0; i < files.length; i++) {
if (files[i].includes('.csv')) {
prom.push(format(files[i]))
}
}
await Promise.all(prom)
}
async function format(name) {
let res = await fs.readFileSync('./validator/' + name, 'utf8');
res = res.split('\n')
let newArrr=[]
for (let i=0;i<res.length;i++)
{
try {
if (res[i] !=='')
newArrr.push(res[i])
}
catch (e)
{
}
}
res=newArrr
// console.log(res)
let start = parseFloat(res[1].split(',')[0])
let timeFrame = parseFloat(res[2].split(',')[0]) - start
let lastTimestamp = parseFloat(res[res.length - 1].split(',')[0])
let header = 'time,open,high,low,close'
let arr = []
for (let i = start; i < lastTimestamp; i = i + timeFrame) {
console.log(i + '/' + lastTimestamp)
let d = founder(res, i)
// console.log(d)
if (d === null)
d = i + ',0,0,0,0'
arr.push(d)
// console.log(temp[6])
}
let t = header + '\n'
for (let i = 0; i < arr.length; i++) {
t = t + arr[i]
if (i <arr.length-1)
t=t+'\n'
}
//let t = ''
// for (let i = 0; i < res.length; i++)
// t = t + res[i]
await createFile(name, t)
console.log('done')
}
function founder(res, timestamp) {
for (let i = 0; i < res.length; i++) {
let time = parseFloat(res[i].split(',')[0])
if (timestamp === time)
return res[i]
}
return null
}
function createFile(name, body) {
return new Promise(function (resolve, reject) {
fs.writeFile('validator/' + name, body, 'utf8', function (err) {
if (err) reject(err);
else resolve(true);
});
});
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment