From f27889a043f13fa82cb176bcab8bcb4f783df5c4 Mon Sep 17 00:00:00 2001 From: Paul Rodwell Date: Fri, 24 Jun 2016 11:27:30 +0100 Subject: [PATCH] add script to create `owner.json` from existing persona identity --- migrate-from-persona.js | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 migrate-from-persona.js diff --git a/migrate-from-persona.js b/migrate-from-persona.js new file mode 100644 index 0000000..43563b7 --- /dev/null +++ b/migrate-from-persona.js @@ -0,0 +1,31 @@ +// persona identity to owner.json file converter +// +// run this in the wiki home directory - typically ~/.wiki +// the persona.identity files are retained, but will no longer be used. + +const _ = require('lodash') +const glob = require('glob') +const fs = require('fs') +const path = require('path') + +const wikiDir = path.resolve('/Users/Paul/.wiki') +console.log('wikiDir: ', wikiDir) + +glob('**/persona.identity', {cwd: wikiDir}, (err, files) => { + _.forEach(files, function(file) { + console.log('found... ', file) + var ownerFile = path.join(wikiDir, path.dirname(file),'owner.json') + var owner = {} + fs.readFile(path.join(wikiDir, file), 'utf8', (err, ownerEmail) => { + ownerEmail = ownerEmail.replace(/\r?\n|\r/, '') + var ownerName = ownerEmail.substr(0, ownerEmail.indexOf('@')) + ownerName = ownerName.split('.').join(' ').toLowerCase().replace(/(^| )(\w)/g, function(x) {return x.toUpperCase()}) + owner.name = ownerName + owner.persona = { email: ownerEmail } + console.log('saving ', owner, ' to ', ownerFile) + fs.writeFile(ownerFile, JSON.stringify(owner), (err) => { + if (err) throw err + }) + }) + }) +})