Skip to content
Permalink
Browse files
all changes for io.intevation.de
  • Loading branch information
Mathias Gebbe authored and Mathias Gebbe committed Apr 7, 2014
1 parent f3eb037 commit 99d0e29
Show file tree
Hide file tree
Showing 63 changed files with 2,835 additions and 420 deletions.
@@ -0,0 +1,192 @@
#!/usr/bin/env node

// -*- mode: javascript -*-

// Copyright 2013, Mathias Gebbe
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

var fs = require("fs"),
path = require("path")
urlparse = require("url").parse,
Step = require("step"),
_ = require("underscore"),
Logger = require("bunyan"),
Queue = require("jankyqueue"),
databank = require("databank"),
Databank = databank.Databank,
DatabankObject = databank.DatabankObject,
Distributor = require("../lib/distributor").Distributor,
schema = require("../lib/schema").schema,
Activity = require("../lib/model/activity").Activity,
Stream = require("../lib/model/stream").Stream,
Stamper = require("../lib/stamper").Stamper,
ActivityObject = require("../lib/model/activityobject").ActivityObject,
URLMaker = require("../lib/urlmaker").URLMaker,
User = require("../lib/model/user").User,
argv = require("optimist")
.usage("Usage: $0 -u username -i activityid")
.demand(["i"])
.alias("o", "objectype")
.alias("i", "id url")
.describe("o", "ObjectType for example activity")
.describe("i", "id for example: IjcLdOmtQDKNU0c5SgVUxg (click on date to get this)")
.default("o", "activity")
.argv,
objecttype = argv.o;
id = argv.i;

var QUEUE_MAX = 1;

var main = function() {
var config = getConfig(argv.c),
q = new Queue(QUEUE_MAX),
log = setupLogger(config);

log.info("Initializing pump.io");

URLMaker.hostname = config.hostname;
URLMaker.port = (config.urlPort) ? config.urlPort : config.port;

Step(
function() {
log.info("Connecting to databank");
connectDatabank(config, this);
},
function(err, db) {
if (err) throw err;
// DO SOMETHING SMART
Activity.get('https://io.intevation.de/api/activity/'+id,this);
//ActivityObject.getObject(objecttype,'https://io.intevation.de/api/activity/'+id,this);
},
function(err, toDelete) {
console.log("\n");
console.log(toDelete);
console.log("\n");

if ( toDelete === null ) {
console.log("Object not found. Bye!")
process.exit(1);
}
var keepers = ["actor", "object", "_uuid", "id", "published", "deleted", "updated"],
prop,
obj = toDelete;

for (prop in obj) {
if (obj.hasOwnProperty(prop) && keepers.indexOf(prop) === -1) {
delete obj[prop];
}
}

var now = Stamper.stamp();
obj.deleted = obj.updated = now;
obj.save(this);
},
function(err) {
if (err) {
log.error(err);
process.exit(1);
} else {
log.info("Done.");
process.exit(0);
}
}
);
};

// Gets the configuration vars for this server from config files

var getConfig = function(filename) {
var files,
config = {},
i,
raw,
parsed;

if (filename) {
files = [filename];
} else {
files = ['/etc/pump.io.json',
path.join(process.env.HOME, ".pump.io.json")];
}

// This is all sync
for (i = 0; i < files.length; i++) {
if (fs.existsSync(files[i])) {
raw = fs.readFileSync(files[i]);
try {
parsed = JSON.parse(raw);
_.extend(config, parsed);
} catch (err) {
console.log(err);
process.exit(1);
}
}
}

return config;
};

var connectDatabank = function(config, callback) {

var params,
db;

if (_(config).has("params")) {
params = config.params;
} else {
params = {};
}

if (_(params).has("schema")) {
_.extend(params.schema, schema);
} else {
params.schema = schema;
}

db = Databank.get(config.driver, params);

// Connect...

db.connect({}, function(err) {
if (err) {
callback(err, null);
return;
}

DatabankObject.bank = db;
callback(null, db);
});
};

var setupLogger = function(config) {
var log,
logParams = {
name: "pump.io",
component: "admin-delete-note"
};

if (config.logfile) {
logParams.streams = [{path: config.logfile}];
} else if (config.nologger) {
logParams.streams = [{path: "/dev/null"}];
} else {
logParams.streams = [{stream: process.stderr}];
}

log = new Logger(logParams);

return log;
};

main();
@@ -0,0 +1,191 @@
#!/usr/bin/env node

// -*- mode: javascript -*-

// Copyright 2013, Mathias Gebbe
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

var fs = require("fs"),
path = require("path")
urlparse = require("url").parse,
Step = require("step"),
_ = require("underscore"),
Logger = require("bunyan"),
Queue = require("jankyqueue"),
databank = require("databank"),
Databank = databank.Databank,
DatabankObject = databank.DatabankObject,
Distributor = require("../lib/distributor").Distributor,
schema = require("../lib/schema").schema,
Activity = require("../lib/model/activity").Activity,
Stream = require("../lib/model/stream").Stream,
Stamper = require("../lib/stamper").Stamper,
ActivityObject = require("../lib/model/activityobject").ActivityObject,
URLMaker = require("../lib/urlmaker").URLMaker,
User = require("../lib/model/user").User,
argv = require("optimist")
.usage("Usage: $0 -u username -i nodeid")
.demand(["i"])
.alias("o", "objectype")
.alias("i", "id url")
.describe("o", "ObjectType for example note")
.describe("i", "id for example: IjcLdOmtQDKNU0c5SgVUxg (click on date to get this)")
.default("o", "note")
.argv,
objecttype = argv.o;
id = argv.i;

var QUEUE_MAX = 1;

var main = function() {
var config = getConfig(argv.c),
q = new Queue(QUEUE_MAX),
log = setupLogger(config);

log.info("Initializing pump.io");

URLMaker.hostname = config.hostname;
URLMaker.port = (config.urlPort) ? config.urlPort : config.port;

Step(
function() {
log.info("Connecting to databank");
connectDatabank(config, this);
},
function(err, db) {
if (err) throw err;
// DO SOMETHING SMART
ActivityObject.getObject(objecttype,'https://io.intevation.de/api/note/'+id,this);
},
function(err, toDelete) {
console.log("\n");
console.log(toDelete);
console.log("\n");

if ( toDelete === null ) {
console.log("Object not found. Bye!")
process.exit(1);
}
var keepers = ["actor", "object", "_uuid", "id", "published", "deleted", "updated"],
prop,
obj = toDelete;

for (prop in obj) {
if (obj.hasOwnProperty(prop) && keepers.indexOf(prop) === -1) {
delete obj[prop];
}
}

var now = Stamper.stamp();
obj.deleted = obj.updated = now;
obj.save(this);
},
function(err) {
if (err) {
log.error(err);
process.exit(1);
} else {
log.info("Done.");
process.exit(0);
}
}
);
};

// Gets the configuration vars for this server from config files

var getConfig = function(filename) {
var files,
config = {},
i,
raw,
parsed;

if (filename) {
files = [filename];
} else {
files = ['/etc/pump.io.json',
path.join(process.env.HOME, ".pump.io.json")];
}

// This is all sync
for (i = 0; i < files.length; i++) {
if (fs.existsSync(files[i])) {
raw = fs.readFileSync(files[i]);
try {
parsed = JSON.parse(raw);
_.extend(config, parsed);
} catch (err) {
console.log(err);
process.exit(1);
}
}
}

return config;
};

var connectDatabank = function(config, callback) {

var params,
db;

if (_(config).has("params")) {
params = config.params;
} else {
params = {};
}

if (_(params).has("schema")) {
_.extend(params.schema, schema);
} else {
params.schema = schema;
}

db = Databank.get(config.driver, params);

// Connect...

db.connect({}, function(err) {
if (err) {
callback(err, null);
return;
}

DatabankObject.bank = db;
callback(null, db);
});
};

var setupLogger = function(config) {
var log,
logParams = {
name: "pump.io",
component: "admin-delete-note"
};

if (config.logfile) {
logParams.streams = [{path: config.logfile}];
} else if (config.nologger) {
logParams.streams = [{path: "/dev/null"}];
} else {
logParams.streams = [{stream: process.stderr}];
}

log = new Logger(logParams);

return log;
};

main();

0 comments on commit 99d0e29

Please sign in to comment.