Damien Goutte-Gattat
ae3c13208a
Prepare 0.4.2 release.
Update NEWS, documentation, and copyright notices.
1 month ago
Damien Goutte-Gattat
87da93ca32
Add back the interactive shell.
Use the click_shell module to implement back the interactive shell,
to be used when the program is called without any explicit command.
1 month ago
Damien Goutte-Gattat
289b300366
Use correct argument types.
The delete and edit commands expect the credential ID to be an
integer, not a string.
1 month ago
Damien Goutte-Gattat
73eb987872
Fix long lines.
Make sure lines are no longer than 79 characters.
1 month ago
Damien Goutte-Gattat
66ba1904f5
Convert to using f-strings.
Use f-strings instead of str.format wherever possible.
1 month ago
Damien Goutte-Gattat
5df19bca84
Add --version and -h flag.
Re-add the --version flag to print the program's version and copyright
notice. Allow -h as an alias for --help.
1 month ago
Damien Goutte-Gattat
cf72918c4f
Convert to Click.
Use the Click module to build the command-line interface instead of our
own code. This cures a severe case of NIH syndrome.
1 month ago
Damien Goutte-Gattat
33c36d6b79
Remove Python 2 compatibility stuff.
There's no point in supporting Python 2 anymore.
1 month ago
Damien Goutte-Gattat
d3e09ae32f
Convert to the new Application model.
Use the new helper class Application in the incenp.helpers package.
1 month ago
Damien Goutte-Gattat
90d01329f6
Adapt to the new subcommands interface.
The incenp.helpers.subcommands.CommandList object now expects to
receive the object returned by ArgumentParser.add_subparsers().
2 months ago
Damien Goutte-Gattat
0ddfbfa5b7
Remove Python 2.x support.
There is no need to support Python 2 anymore.
2 months ago
Damien Goutte-Gattat
6b9f634afa
Move the Command/CommandList classes to an external module.
Add a dependency to my incenp.helpers module and remove the internal
Command and CommandList classes in favor of the versions in that
module.
2 months ago
Damien Goutte-Gattat
3a06e1ba03
Update for Eclipse/PyDev.
Ignore files generated by the Eclipse IDE and the PyDev plugin;
add missing copyright notice; apply PyDev style.
3 months ago
Damien Goutte-Gattat
6bed43587f
Include the documentation in the source archive.
3 months ago
Damien Goutte-Gattat
6e31780f28
Prepare 0.4.1 release.
Bump version number and update NEWS file.
Also rewrite part of the README to avoid redundancy with the now
available documentation.
2 years ago
Damien Goutte-Gattat
c8daacbd16
Add a doc page on caching.
Add some explanations about how the cache is working.
2 years ago
Damien Goutte-Gattat
a7be16f307
Do not exit the shell upon command error.
When running as a shell, do not exit the shell if a command
raises an application exception. Just display the error message
and return to the prompt, ready to execute the next command.
2 years ago
Damien Goutte-Gattat
ed7e2c6056
Add a doc page on configuration.
Add new documentation on how to configure Pebble.
2 years ago
Damien Goutte-Gattat
9f09160591
Ask for confirmation before deleting a credential.
Add a confirmation prompt to the delete command.
2 years ago
Damien Goutte-Gattat
20c77d6bfb
Error out on invalid credential ID.
If the user specified an invalid ID to the edit or delete
commands, error out instead of crashing.
2 years ago
Damien Goutte-Gattat
911618a2df
Add a link to the manual in the README.
2 years ago
Damien Goutte-Gattat
d83005b643
Start writing a proper documentation.
The README is not enough, Pebble needs a proper manual.
2 years ago
Damien Goutte-Gattat
ee2d4f65ff
Prepare 0.4.0 release.
Bump version number, update NEWS and README files.
2 years ago
Damien Goutte-Gattat
c860fb4286
Remove the refresh subcommand.
Remove the refresh subcommand, replace it by a command only
usable from the internal shell.
2 years ago
Damien Goutte-Gattat
0f3ab567a9
Allow unit suffix in value of 'max_age'.
The value of 'max_age' is expected to be in seconds, but adding a
'm', 'h', or 'd' suffix allows it to be expressed in minutes,
hours, or days respectively.
2 years ago
Damien Goutte-Gattat
c191f3b699
Add the 'max_age' configuration option.
Allow to override the default max lifetime of the cache (86400 s)
by specifying a custom lifetime with the 'max_age' option in the
configuration file.
2 years ago
Damien Goutte-Gattat
659f580b00
Add the 'nocache' configuration option.
If a vault section in the configuration file contains a 'nocache'
option set to any truth value ('yes', 'on', 'true', or '1'), then
Pebble never writes the vault data to its local cache. The data is
only kept in memory and must be downloaded upon each invocation of
the program. Only the vault's UUID is written into the cache.
2 years ago
Damien Goutte-Gattat
074523deb0
Remove the specific ExitCommand class.
Replace the ExitCommand class by a simple callback function feature
in the Command base class.
2 years ago
Damien Goutte-Gattat
584b4a1a88
Refactor handling of commands.
Add the CommandList object to encapsulate managing the available
commands both for the main program and for the shell subcommand.
2 years ago
Damien Goutte-Gattat
3c334a74f1
Handle ^D in shell.
Gracefully exit the shell upon Ctrl-D.
2 years ago
Damien Goutte-Gattat
90e527aa9a
Add basic completion to the shell command.
Use the readline module to provide completion for the available
commands in the shell.
2 years ago
Damien Goutte-Gattat
ecbe1aac0a
Do not exit the shell upon error.
When a wrong command is entered, return to the prompt without
forcefully exiting the program.
2 years ago
Damien Goutte-Gattat
9029372bb9
Add the refresh command.
Add a command to forcefully refresh the cache.
2 years ago
Damien Goutte-Gattat
c3bffb788a
Add draft shell command.
Add a rudimentary implementation of a 'shell' command.
2 years ago
Damien Goutte-Gattat
68f9363409
Do not decrypt entries "in place".
When decrypting an entry, return a copy of the entry with the
decrypted fields, instead of the original entry.
2 years ago
Damien Goutte-Gattat
f13e6bd2cc
Catch KeyboardInterrupt during subcommand execution.
Handle SIGINT by catching KeyboardInterrupt exception, to
avoid printing a stacktrace upon Ctrl-C.
2 years ago
Damien Goutte-Gattat
3b91c8a742
Handle empty username field in simple editor.
An entry may not necessarily contain an username (especially if
the email field is used instead).
2 years ago
Damien Goutte-Gattat
0bac29464a
Add Email field in the simple editor.
The Email field had been forgotten in the simplified editor,
add it now.
2 years ago
Damien Goutte-Gattat
8243649604
Prepare 0.3.0 release.
Rename project to incenp.pebble, bump version number and update
NEWS file.
2 years ago
Damien Goutte-Gattat
b2086a3768
Rename list's option --show_id to --id.
Let's keep option names simple.
2 years ago
Damien Goutte-Gattat
668cf0e998
Show some helper comments in the simple editor.
When editing an entry in "simple" (non-JSON) mode, display some
comments for some fields. Those comments use the traditional '#'
marker, making them easy to ignore when parsing the edited file.
2 years ago
Damien Goutte-Gattat
c090c12545
Catch decryption errors.
Catch decryption errors (which may be caused by an incorrect
passphrase, tampered data, or unexpected SJCL structure) and
print a single error message instead of an exception trace.
2 years ago
Damien Goutte-Gattat
aa48b55029
Avoid needless update operations.
When attempting to create or modify an entry, check if the entry
has indeed been modified and do not upload it to the server if
it has not.
2 years ago
Damien Goutte-Gattat
ec5554f06b
Allow to edit tags in simple editor.
Do not force to use the JSON editor to be able to change tags.
Represent tags in the simple editor as ', '-separated values.
2 years ago
Damien Goutte-Gattat
bbd23e1e72
Edit credential using a simpler form.
By default, show credential in the editor as a simple list of
'Name: value' lines, instead of the original JSON.
The edit and new command accept a --json, -j option to revert
to the original behavior of editing the raw JSON.
2 years ago
Damien Goutte-Gattat
6483e2be5c
Support Unicode field values.
In Python 2, calling .format() on a non-Unicode string may lead
to an encoding error if the parameters of the format() call
contain some Unicode strings.
To avoid that, make sure to call format() only on Unicode strings.
incenp-bug-id: 1
2 years ago
Damien Goutte-Gattat
9aa970e78a
Add long description.
Use the README file as setuptools' long description, for later
upload to the Python Package Index.
Also fix a missing word in said README.
2 years ago
Damien Goutte-Gattat
2bd5fe4eac
Prepare 0.2.0 release.
Bump version number, add NEWS file, update setup.py and update
all copyright notices.
2 years ago
Damien Goutte-Gattat
d6ba2f5d80
Add longer descriptions to subcommands.
Provide a little more help when using the -h option on a
subcommand.
2 years ago
Damien Goutte-Gattat
cea1dfbbbb
Handle absence of subcommand.
Print usage and exit when called without any subcommand.
2 years ago