oldnotes.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. const stripAnsi = require('strip-ansi')
  2. const iPhoneBackup = require('../util/iphone_backup.js').iPhoneBackup
  3. const normalizeCols = require('../util/normalize.js')
  4. module.exports.name = 'oldnotes'
  5. module.exports.description = 'List all iOS notes (from older unused database)'
  6. module.exports.func = function (program, base) {
  7. if (!program.backup) {
  8. console.log('use -b or --backup <id> to specify backup.')
  9. process.exit(1)
  10. }
  11. // Grab the backup
  12. var backup = iPhoneBackup.fromID(program.backup, base)
  13. backup.getOldNotes(program.dump)
  14. .then((items) => {
  15. // Dump if needed
  16. if (program.dump) {
  17. console.log(JSON.stringify(items, null, 4))
  18. return
  19. }
  20. // Otherwise, format table
  21. items = items.map(el => [el.XFORMATTEDDATESTRING + '', (el.Z_PK + ''), (el.ZTITLE + '').substring(0, 128)])
  22. items = [
  23. ['Modified', 'ID', 'Title'],
  24. ['-', '-', '-'], ...items
  25. ]
  26. items = normalizeCols(items).map(el => el.join(' | ')).join('\n')
  27. if (!program.color) {
  28. items = stripAnsi(items)
  29. }
  30. console.log(items)
  31. })
  32. .catch((e) => {
  33. console.log('[!] Encountered an Error:', e)
  34. })
  35. }