Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Opening a note directly from shell #88

Open
volt4ire opened this issue Jul 17, 2019 · 13 comments
Open

Opening a note directly from shell #88

volt4ire opened this issue Jul 17, 2019 · 13 comments

Comments

@volt4ire
Copy link
Contributor

volt4ire commented Jul 17, 2019

Is there a way to open a note based on its title directly from the shell (ie: without opening first opening sncli and then selecting the note from the list)? Based on the docs it seems like you can open/edit a note directly by specifying its key with the -k option, but I don't know how to find or associate a key with a note. For example, I want to edit a simplenote note called "today" via sncli directly from bash, but running
$sncli -k today
returns a long python error message (see below). Thanks!

$ sncli -k today
Traceback (most recent call last):
File "/home/rwbarat/.local/bin/sncli", line 10, in
sys.exit(main())
File "/home/rwbarat/.local/lib/python3.7/site-packages/simplenote_cli/sncli.py", line 1353, in main
sncli(sync, verbose, config).gui(key)
File "/home/rwbarat/.local/lib/python3.7/site-packages/simplenote_cli/sncli.py", line 967, in gui
'log' : self.log
File "/home/rwbarat/.local/lib/python3.7/site-packages/simplenote_cli/view_note.py", line 21, in init
self.note = self.ndb.get_note(self.key) if self.key else None
File "/home/rwbarat/.local/lib/python3.7/site-packages/simplenote_cli/notes_db.py", line 351, in get_note
return self.notes[key]
KeyError: 'today'

@volt4ire volt4ire changed the title Editing note directly from shell Opening a note directly from shell Jul 17, 2019
@N0ury
Copy link

N0ury commented Jul 17, 2019

It's possible, but you must know the key.
The key is the name of the json file without the extension.
All notes are stored as individual file named xxxxx.json. xxxxx is the key.
These files are stored in the "cfg_db_path" directory.

@N0ury
Copy link

N0ury commented Jul 17, 2019

To find the key, you can run sncli, then select the note you want, and type 'O' to show the note raw json. The key is displayed there.

@samuelallan72
Copy link

Thanks @nbenm. To add to this, there is a PR open (#49) to enable acting on a note based on its title, but it needs some work before it can be merged.

@drewauff
Copy link

To find the key, you can run sncli, then select the note you want, and type 'O' to show the note raw json. The key is displayed there.

Awesome, didn't know that one, thanks.. any way I can view in my default editor?

@samuelallan72
Copy link

@drewauff

Awesome, didn't know that one, thanks.. any way I can view in my default editor?

Yep, you can set the cfg_pager option. It defaults to $PAGER if set, or less.

@drewauff
Copy link

@drewauff

Awesome, didn't know that one, thanks.. any way I can view in my default editor?

Yep, you can set the cfg_pager option. It defaults to $PAGER if set, or less.

Yep, that did it, Thank You 👍🏽

@andmarti1424
Copy link

Hello. Is there a way to open a note in editor??
this command
sncli -k a67e0325eb5b4e7790719fc0b22b99d1
opens it but in viewer mode. not inside editor..
anyone knows? thanks!

@N0ury
Copy link

N0ury commented May 29, 2022 via email

@andmarti1424
Copy link

andmarti1424 commented May 29, 2022

en type "e" to edit the note.

Yes. I am aware of that. But I was asking if there is a way to enter directly to edition without the need of pressing 'e'.
thanks again.

@samuelallan72
Copy link

samuelallan72 commented May 30, 2022

@andmarti1424

if there is a way to enter directly to edition without the need of pressing 'e'.

There is an edit subcommand, so this should do what you want:

sncli -k a67e0325eb5b4e7790719fc0b22b99d1 edit

EDIT: order of arguments is significant - currently it needs the -k <key arg before edit.

@andmarti1424
Copy link

@andmarti1424

if there is a way to enter directly to edition without the need of pressing 'e'.

There is an edit subcommand, so this should do what you want:

sncli -k a67e0325eb5b4e7790719fc0b22b99d1 edit

EDIT: order of arguments is significant - currently it needs the -k <key arg before edit.

Actually I tried that. And it just showed:

 sncli [OPTIONS] [COMMAND] [COMMAND_ARGS]

 OPTIONS:
  -h, --help                  - usage help
  -v, --verbose               - verbose output
  -n, --nosync                - don't perform a server sync
  -r, --regex                 - search string is a regular expression
  -k <key>, --key=<key>       - note key
  -t <title>, --title=<title> - title of note for create (cli mode)
  -c <file>, --config=<file>  - config file to read from (defaults to ~/.snclirc)

 COMMANDS:
  <none>                      - console gui mode when no command specified
  sync                        - perform a full sync with the server
  list [search_string]        - list notes (refined with search string)
  export [search_string]      - export notes in JSON (refined with search string)
  dump [search_string]        - dump notes (refined with search string)
  create [-]                  - create a note ('-' content from stdin)
  import [-]                  - import a note in JSON format ('-' JSON from stdin)
  export                      - export a note in JSON format (specified by <key>)
  dump                        - dump a note (specified by <key>)
  edit                        - edit a note (specified by <key>)
  < trash | untrash >         - trash/untrash a note (specified by <key>)
  < pin | unpin >             - pin/unpin a note (specified by <key>)
  < markdown | unmarkdown >   - markdown/unmarkdown a note (specified by <key>)
  tag get                     - retrieve the tags from a note (specified by <key>)
  tag set <tags>              - set the tags for a note (specified by <key>)
  tag add <tags>              - add tags to a note (specified by <key>)
  tag rm <tags>               - remove tags from a note (specified by <key>)

@samuelallan72
Copy link

Actually I tried that. And it just showed:

@andmarti1424 can you paste the entire output, including what you wrote on the command line?

@andmarti1424
Copy link

EDIT: order of arguments is significant - currently it needs the -k <key arg before edit.

This was the problem. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants