bin/rofi/bwmenu: fix session persistence & TOTP field
This commit is contained in:
parent
51d63a1829
commit
aaba064089
|
@ -131,6 +131,7 @@ module BW
|
||||||
@@session = PersistentData.load :session, ttl: vault_ttl
|
@@session = PersistentData.load :session, ttl: vault_ttl
|
||||||
if @@session.data
|
if @@session.data
|
||||||
sid, data = @@session.data
|
sid, data = @@session.data
|
||||||
|
@@session_id = sid
|
||||||
else
|
else
|
||||||
pass = rofi nil, %w{-p Master\ Password -password -lines 0}
|
pass = rofi nil, %w{-p Master\ Password -password -lines 0}
|
||||||
error "No password given. Aborting..." if pass.empty?
|
error "No password given. Aborting..." if pass.empty?
|
||||||
|
@ -140,6 +141,7 @@ module BW
|
||||||
data = JSON.parse(bw(:list, :items))
|
data = JSON.parse(bw(:list, :items))
|
||||||
@@session.save [sid, data]
|
@@session.save [sid, data]
|
||||||
end
|
end
|
||||||
|
raise "No session ID" unless @@session_id
|
||||||
|
|
||||||
last = PersistentData.load :last_id
|
last = PersistentData.load :last_id
|
||||||
last_id, last_field = last.data if last
|
last_id, last_field = last.data if last
|
||||||
|
@ -220,7 +222,7 @@ module BW
|
||||||
preamble[" Launch #{url}"] = lambda { sh ENV['BROWSER'], url }
|
preamble[" Launch #{url}"] = lambda { sh ENV['BROWSER'], url }
|
||||||
data['Username'] = item['login']['username']
|
data['Username'] = item['login']['username']
|
||||||
data['Password'] = item['login']['password']
|
data['Password'] = item['login']['password']
|
||||||
data['TOTP'] = bw :get, :totp, item['id'] if item['totp']
|
data['TOTP'] = bw :get, :totp, url if item['login']['totp']
|
||||||
return (data[field.capitalize] || item[field]) if field
|
return (data[field.capitalize] || item[field]) if field
|
||||||
when 2 # secure notes
|
when 2 # secure notes
|
||||||
data['Notes'] = item['notes']
|
data['Notes'] = item['notes']
|
||||||
|
|
Loading…
Reference in a new issue