Open bradleyhurley opened 8 years ago
In the event that someone else has this issue it is caused by upgrading lastpass-cli to version 0.9.0.
You can modify /usr/local/Library/Formula/lastpass-cli.rb
to brew install version 0.8.1.
Updare the version URL and the sha256 values.
class LastpassCli < Formula desc "LastPass command-line interface tool" homepage "https://github.com/lastpass/lastpass-cli" url "https://github.com/lastpass/lastpass-cli/archive/v0.8.1.tar.gz" sha256 "b57ee688d9e9877f25a0ef566cff9a8c364f28e26c54b3c11eb338468cddfeb2" head "https://github.com/lastpass/lastpass-cli.git"
bottle do cellar :any sha256 "b57ee688d9e9877f25a0ef566cff9a8c364f28e26c54b3c11eb338468cddfeb2" => :el_capitan sha256 "e8ca9db904d637852830910ff8905c4be206a7b15ebbf04c0e1ead5073ea9642" => :yosemite sha256 "bf2a47f74b67df21875b3a01e87acad4d5e3d69ccff79987d73ca56e8020134a" => :mavericks end
I am still having this issue after downgrading to cli 0.8.1. Not sure if it is environment related or python issues or what.
I was having the issue above running on cli 0.8.1 and was getting the stacktrace.
[ERROR: alfred.workflow.input.scriptfilter] Code 1: 22:49:35 workflow.py:1386 DEBUG Reading settings from
/Users/carterdanko/Library/Application Support/Alfred 2/Workflow Data/com.bachya.lpvm/settings.json... 22:49:36 workflow.py:1960 DEBUG Workflow version : 4.2.0 22:49:36 lpvs_query.py:30 DEBUG Query arguments: [u'search-vault-for-query', u'g'] 22:49:36 lpvs_query.py:38 DEBUG Parsed command: search-vault-for-query 22:49:36 lpvs_query.py:39 DEBUG Parsed argument: g 22:49:36 lpvs_query.py:40 DEBUG Parsed delimiter: > 22:49:36 lpvs_query.py:41 DEBUG Parsed query: search-vault-for-query g 22:49:36 lpvs_query.py:53 DEBUG Executing command: search-vault-for-query 22:49:36 workflow.py:1609 DEBUG Loading cached data from : /Users/carterdanko/Library/Caches/com.runningwithcrayons.Alfred-2/Workflow Data/com.bachya.lpvm/vault_items.cpickle 22:49:36 workflow.py:1978 ERROR u'hostname' Traceback (most recent call last): File "/Users/carterdanko/Library/Application Support/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.DFD57440-F2AF-4CF3-99E1-2F478E7C5493/workflow/workflow.py", line 1971, in run func(self) File "lpvs_query.py", line 55, in main output_query_vault_results(ap) File "lpvs_query.py", line 151, in output_query_vault_results results = util.search_vault_for_query(ap.arg) File "/Users/carterdanko/Library/Application Support/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.DFD57440-F2AF-4CF3-99E1-2F478E7C5493/utilities.py", line 218, in search_vault_for_query match_on=MATCH_ALL ^ MATCH_ALLCHARS File "/Users/carterdanko/Library/Application Support/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.DFD57440-F2AF-4CF3-99E1-2F478E7C5493/workflow/workflow.py", line 1791, in filter value = key(item).strip() File "/Users/carterdanko/Library/Application Support/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.DFD57440-F2AF-4CF3-99E1-2F478E7C5493/utilities.py", line 196, in search_item_fields elements.append(item['hostname']) KeyError: u'hostname' 22:49:36 workflow.py:1996 DEBUG Workflow finished in 0.046 seconds.
I ended up tinkering with the code a little and eventually got a 'Cannot set attribute' error with both the args that are being passed in so 'search-vault-for-query
I deleted the workflow from alfred, and reimported it. When I did, i ran
python update.py
lpvs was working once again since the downgrade to 0.8.1.
I should also mention that I am running on el capitan 10.11.4 with python 2.7.11.
I have no idea what was going on or what had changed, but at least it works now.
Would be great if the developer would add support for the new lastpass-cli binary.
It's not as feature rich, but @carterdanko created an alternative. https://github.com/carterdanko/lastpass-vault-search
Trying to follow Bradley's solution above, but I'm on Sierra. Any clues on what the hash to add for sierra should be?
bottle do cellar :any sha256 "???" => :sierra ... end
Thanks!
@crikeymiles2 When you do a brew info lastpass-cli
you can see where it is pulling the rb file with the hashes so you should be able to pull the hash from there which is:
https://github.com/Homebrew/homebrew-core/blob/master/Formula/lastpass-cli.rb
I'm not sure on other support though for this workflow. The one Brad and I wrote works with sierra I know and is less feature rich than this one, but works with current lasspass-cli/alfredv3/sierra.
This solved my issue:
~/Library/Application Support/Alfred 3/Alfred.alfredpreferences/workflows/user.workflow.XXXXXXXXXXXX
)hostname
in .py
files (make sure it's hostname as in map key name)name
python -m compileall .
(you must have python installed)It seems lastpass cli changed their export content and it does not contain host
column anymore.
Thanks @SharkyLV! That fixed if for me. Replacing all instances of 'hostname'
didn't work though, it gave me the error lpvs KeyError: u'name'
. I had to replace all instances of hostname
(without the quotes) for name
and that did it.
@SharkyLV Thanks! It works for me!
@SharkyLV That worked for me as well, thank you soo much!!
Bummer. I tried @SharkyLV's suggestion with no luck. Now I am getting the error lpvs KeyError: u'name'
instead of lpvs KeyError: u'hostname'
.
Thanks for the suggestion though!
On the latest version of lp-vault-manager
(I installed it 10 minutes ago) and the latest version of lp-cli
from homebrew (I also installed it 10 minutes ago).
@levibostian replace all instances of hostname
with name
(no quotes), that should fix it.
...I feel stupid. I read your comment earlier and didn't make the connection. Sorry about that. Thank you! I will give that a shot.
No problem :). I probably could have written that a bit more clearly to be honest...
I went through the code and replaced all instances of hostname
with name
but only the instances of the word not in quotes (which was mostly a collection of variable names so I am not sure how that solution is supposed to work?).
Now I am back at KeyError: u'hostname'
.
Does anyone have a fork of the repo with this fix implemented that others can use and benefit from and we can get a fix merged in?
I appreciate everyone's help here. Wish I could be of more help if I could get it figured out on my own machine š¤.
Ah well, in that case I can't help you, I haven't used this in months š
Here is a re-write of the last pass vault search that I have been using daily without issues:
This solved my issue:
- Find your lastpass workflow directory (eg.
~/Library/Application Support/Alfred 3/Alfred.alfredpreferences/workflows/user.workflow.XXXXXXXXXXXX
)- Find all references of
hostname
in.py
files (make sure it's hostname as in map key name)- Replace with
name
- Run
python -m compileall .
(you must have python installed)- Done.
It seems lastpass cli changed their export content and it does not contain
host
column anymore.
Good! it is also work for alfred3.
[ERROR: alfred.workflow.input.scriptfilter] Code 1: 22:26:56 workflow.py:1386 DEBUG Reading settings from
/Users/brad.hurley/Library/Application Support/Alfred 2/Workflow Data/com.bachya.lpvm/settings.json... 22:26:56 workflow.py:1960 DEBUG Workflow version : 4.2.0 22:26:56 lpvs_query.py:30 DEBUG Query arguments: [u'search-vault-for-query', u't'] 22:26:56 lpvs_query.py:38 DEBUG Parsed command: search-vault-for-query 22:26:56 lpvs_query.py:39 DEBUG Parsed argument: t 22:26:56 lpvs_query.py:40 DEBUG Parsed delimiter: > 22:26:56 lpvs_query.py:41 DEBUG Parsed query: search-vault-for-query t 22:26:56 lpvs_query.py:53 DEBUG Executing command: search-vault-for-query 22:26:56 workflow.py:1609 DEBUG Loading cached data from : /Users/brad.hurley/Library/Caches/com.runningwithcrayons.Alfred-2/Workflow Data/com.bachya.lpvm/vault_items.cpickle 22:26:56 workflow.py:1978 ERROR u'hostname' Traceback (most recent call last): File "/Users/brad.hurley/Library/Application Support/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.6446AD3B-324D-403F-B0D8-7BE4434ECE5C/workflow/workflow.py", line 1971, in run func(self) File "lpvs_query.py", line 55, in main output_query_vault_results(ap) File "lpvs_query.py", line 151, in output_query_vault_results results = util.search_vault_for_query(ap.arg) File "/Users/brad.hurley/Library/Application Support/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.6446AD3B-324D-403F-B0D8-7BE4434ECE5C/utilities.py", line 221, in search_vault_for_query match_on=MATCH_ALL ^ MATCH_ALLCHARS File "/Users/brad.hurley/Library/Application Support/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.6446AD3B-324D-403F-B0D8-7BE4434ECE5C/workflow/workflow.py", line 1791, in filter value = key(item).strip() File "/Users/brad.hurley/Library/Application Support/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.6446AD3B-324D-403F-B0D8-7BE4434ECE5C/utilities.py", line 199, in search_item_fields elements.append(item['hostname']) KeyError: u'hostname' 22:26:56 workflow.py:1996 DEBUG Workflow finished in 0.019 seconds.
When I run
lpass ls
the results look as I would expect.I added a debug statement to
utilities.search_item_fields
and all of the urls are populated, but the item list does not contain any hostnames.