TechNote/app/utils.jsx
Joey Payne cc759a2995 Adjust APP_NAME to be inside utils
APP_NAME should be visible from any component and module, so putting it
in utils makes the most sense.
2016-03-04 08:57:45 -07:00

53 lines
1.3 KiB
JavaScript

import path from 'path-extra'
import uuid from 'node-uuid'
import * as utils from 'utils'
import glob from 'glob'
import fs from 'fs'
import mkdirp from 'mkdirp'
import jsfile from 'jsonfile'
import rmdir from 'rimraf'
var APP_NAME = 'TechNote'
export function getAppDataPath(){
return path.datadir(APP_NAME)
}
export function getNotePath(notebook, note){
var notePath = getAppDataPath()
var notebookPath = getNotebookPath(notebook)
return path.join(notebookPath, note.uuid+'.qvnote')
}
export function getNotebookPath(notebook){
var noteBookPath = getAppDataPath()
return path.join(noteBookPath, notebook.uuid+'.qvnotebook')
}
export function loadNotebookByName(nameOrUUID){
var dataPath = getAppDataPath()
var notebookPath = path.join(dataPath, nameOrUUID+'.qvnotebook')
var obj = jsfile.readFileSync(path.join(notebookPath, 'meta.json'))
var notes = glob.sync(path.join(notebookPath, '*.qvnote'))
var nb = {
'title': obj.name,
'uuid': obj.uuid,
'notes': notes.length,
'path': notebookPath
}
if(nb.title == ''){
nb.state = 'editing'
}
else{
nb.state = 'displaying'
}
return nb
}
export function getNotebookPathFromUUID(uuid){
return getNotebookPath({uuid: uuid})
}