20 Commits

Author SHA1 Message Date
jabashque
1c548daaf4 Overhaul group and subgroup creation to better match Bitwarden behavior
In Bitwarden, one could make it so their account only has a certain set
of folders, like so:
- testfolder/a
- testfolder/a/b/c
- testfolder/a/b/c/d

The resulting hierarchy would look like this:
testfolder/a
`- b/c
   `- d

As shown above, Bitwarden allows one to name a folder something like
"foo/bar" even if a folder "foo" doesn't exist. Bitwarden handles this
by just putting this folder in the root with the name as-is.

In addition, as shown with "testfolder/a/b/c", a folder name may not
necessarily be just anything that comes after the last `/` delimiter.
Instead, it's dependent on which ever existing folder happens to match
the most of the folder's name's prefix.

As such, the following references were used to replicate this behavior
in bitwarden-to-keepass:
ecdd08624f/common/src/services/folder.service.ts (L108)
ecdd08624f/common/src/misc/serviceUtils.ts (L7)
2021-07-26 09:44:11 -07:00
David Němec
1750d8898b
⬆️ Bump pykeepass 2021-06-26 16:46:55 +02:00
David Němec
9da213b724
Merge pull request #7 from jabashque/nested-folders
Support nested folders properly
2021-06-26 16:26:51 +02:00
jabashque
c59426e4f0 Support nested folders properly
When creating KeePass groups based off Bitwarden folders, make it so
that the KeePass groups follow the same hierarchy as their equivalent
Bitwarden folders.
2021-06-26 01:35:04 -07:00
David Němec
3bb5f3be3b
Catch exceptions for every entry property
Fixes #6
2021-04-21 11:28:29 +02:00
David Němec
12be55fec2
Continue outer loop properly
Relates with previous commit 8e485b184405d34f8de8dacd4f64258c9675e488
2021-03-05 18:23:53 +01:00
David Němec
8e485b1844
Skip item when it cannot be exported for any reason and warn user about it instead of failing export
Fixes #5
2021-03-05 18:04:07 +01:00
David Němec
dc5ffdf00b
Skip exporting identity items 2021-03-05 17:53:24 +01:00
David Němec
17ebc43111
Update logging format 2021-03-05 17:52:29 +01:00
David Němec
ef90e20d42
Use empty string for custom fields name/value when empty (returned as null from api)
Fixes #2
2021-01-09 09:32:12 +01:00
David Němec
9fc8bcf9a8
Make exporting easier with docker-compose 2020-12-25 20:24:54 +01:00
David Němec
99194c40d3
Export fails when there is more than 1 item with the same name
Bitwarden allows this, KeePass does not
2020-12-25 19:45:40 +01:00
David Němec
a18eb06705
Merge pull request #1 from gprst/credentials-error-from-pykeepass
Credentials error from pykeepass
2020-12-25 17:52:44 +01:00
Gabriel Proust
c0c31cee5b Use CredentialsError from pykeepass instead of CredentialsIntegrityError 2020-12-25 16:47:16 +01:00
Gabriel Proust
f9d16fb24f Update README about the new empty database creation 2020-12-25 16:47:16 +01:00
David Němec
9e87a9c313
Create new (empty) KeePass database if specified does not exists 2020-04-15 17:29:56 +02:00
David Němec
36ad48c068
Escape argument values 2020-04-15 17:27:30 +02:00
David Němec
7537044de0
Allow KeePass database with Key File 2019-11-02 10:18:03 +01:00
David Němec
182fef1355
Fix getting password 2019-11-02 10:16:14 +01:00
David Němec
44e8e8dac4
Initial commit 2019-10-06 15:29:38 +02:00