Convert file unsubscribe.coffee to js

pull/7145/head
Rodrigo Nascimento 8 years ago
parent d64d1e791a
commit 1ca33b3dc5
  1. 4
      private/node_scripts/unsubscribe_csv/package.json
  2. 33
      private/node_scripts/unsubscribe_csv/unsubscribe.coffee
  3. 44
      private/node_scripts/unsubscribe_csv/unsubscribe.js

@ -3,11 +3,9 @@
"version": "0.0.1",
"private": true,
"scripts": {
"start": "coffee unsubscribe.coffee",
"test": "mocha --compilers coffee:coffee-script --timeout 5s -R spec"
"start": "node unsubscribe.js"
},
"dependencies": {
"coffee-script": "~1.6.3",
"commander": "^2.9.0",
"ddp": "^0.11.0",
"line-by-line": "^0.1.3",

@ -1,33 +0,0 @@
_ = require 'underscore'
fs = require('fs')
lineReader = require('line-reader')
moment = require('moment')
path = require('path')
program = require('commander')
wait = require('wait.for')
MongoClient = require('mongodb').MongoClient
program
.usage '[options]'
.option '-v, --verbose', 'Verbose', ((v, total) -> total + 1), 0
.option '-M, --mongo-db [mongo db]', 'Mongo DB', 'localhost:27017'
.option '-N, --db-name [db name]', 'DB Name', 'meteor'
.on '--help', ->
console.log ' Example:'
console.log ''
console.log ' $ coffee unsubscribe.coffee'
console.log ''
.parse process.argv
wait.launchFiber ->
db = wait.forMethod MongoClient, 'connect', "mongodb://#{program.mongoDb}/#{program.dbName}", { replSet: { socketOptions: { connectTimeoutMS: 300000 } } }
User = db.collection 'users'
lineReader.eachLine './unsubscribe.csv', (line, last) ->
row = line.split ','
console.log row[0] if program.verbose
wait.launchFiber ->
updated = wait.forMethod User, 'update', { "emails.address": row[0] }, { $set: { "mailer.unsubscribed": true } }
if last
process.exit()

@ -0,0 +1,44 @@
import lineReader from 'line-reader';
import program from 'commander';
import wait from 'wait.for';
import {MongoClient} from 'mongodb';
program.usage('[options]').option('-v, --verbose', 'Verbose', (function(v, total) {
return total + 1;
}), 0).option('-M, --mongo-db [mongo db]', 'Mongo DB', 'localhost:27017').option('-N, --db-name [db name]', 'DB Name', 'meteor').on('--help', function() {
console.log(' Example:');
console.log('');
console.log(' $ coffee unsubscribe.coffee');
return console.log('');
}).parse(process.argv);
wait.launchFiber(function() {
const db = wait.forMethod(MongoClient, 'connect', `mongodb://${ program.mongoDb }/${ program.dbName }`, {
replSet: {
socketOptions: {
connectTimeoutMS: 300000
}
}
});
const User = db.collection('users');
return lineReader.eachLine('./unsubscribe.csv', function(line, last) {
const row = line.split(',');
if (program.verbose) {
console.log(row[0]);
}
return wait.launchFiber(function() {
wait.forMethod(User, 'update', {
'emails.address': row[0]
}, {
$set: {
'mailer.unsubscribed': true
}
});
if (last) {
return process.exit();
}
});
});
});
Loading…
Cancel
Save