Merge pull request #29 from Weidows/master
fix encoding and add session param
This commit is contained in:
commit
00860658a6
|
@ -28,3 +28,4 @@ Fetches SSH keys stored in Bitwarden vault and adds them to `ssh-agent`.
|
|||
* `--foldername`/`-f` - Folder name to use to search for SSH keys _(default: ssh-agent)_
|
||||
* `--customfield`/`-c` - Custom field name where private key filename is stored _(default: private)_
|
||||
* `--passphrasefield`/`-p` - Custom field name where passphrase for the key is stored _(default: passphrase)_
|
||||
* `--session`/`-s` - session key of bitwarden
|
||||
|
|
|
@ -56,12 +56,13 @@ def cli_supports(feature: str) -> bool:
|
|||
return False
|
||||
|
||||
|
||||
def get_session() -> str:
|
||||
def get_session(session: str) -> str:
|
||||
"""
|
||||
Function to return a valid Bitwarden session
|
||||
"""
|
||||
# Check for an existing, user-supplied Bitwarden session
|
||||
session = os.environ.get('BW_SESSION', '')
|
||||
if not session:
|
||||
session = os.environ.get('BW_SESSION', '')
|
||||
if session:
|
||||
logging.debug('Existing Bitwarden session found')
|
||||
return session
|
||||
|
@ -101,6 +102,7 @@ def get_folders(session: str, foldername: str) -> str:
|
|||
stdout=subprocess.PIPE,
|
||||
universal_newlines=True,
|
||||
check=True,
|
||||
encoding = "utf-8",
|
||||
)
|
||||
|
||||
folders = json.loads(proc_folders.stdout)
|
||||
|
@ -128,6 +130,7 @@ def folder_items(session: str, folder_id: str) -> List[Dict[str, Any]]:
|
|||
stdout=subprocess.PIPE,
|
||||
universal_newlines=True,
|
||||
check=True,
|
||||
encoding = "utf-8",
|
||||
)
|
||||
|
||||
data: List[Dict[str, Any]] = json.loads(proc_items.stdout)
|
||||
|
@ -270,6 +273,12 @@ if __name__ == '__main__':
|
|||
default='passphrase',
|
||||
help='custom field name where key passphrase is stored',
|
||||
)
|
||||
parser.add_argument(
|
||||
'-s',
|
||||
'--session',
|
||||
default='',
|
||||
help='session key of bitwarden',
|
||||
)
|
||||
|
||||
return parser.parse_args()
|
||||
|
||||
|
@ -289,7 +298,7 @@ if __name__ == '__main__':
|
|||
|
||||
try:
|
||||
logging.info('Getting Bitwarden session')
|
||||
session = get_session()
|
||||
session = get_session(args.session)
|
||||
logging.debug('Session = %s', session)
|
||||
|
||||
logging.info('Getting folder list')
|
||||
|
|
Loading…
Reference in a new issue