Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by bachya

  1. Version 4.2 released: Fixed a bug where the full path to /usr/bin/python was not specified. Fixed a settings selection bug. Streamlined some verbiage within notifications.
  2. Version 4.1 released: Implemented auto-updating. Fixed a few small path bugs. For those who are having issues with the Script Filters sometimes not working: I've implemented all the advice from this thread, but no visible change to me thus far. Check this version and see if your situation improves at all.
  3. 10-4, Dean – thank you for your suggestions and bug finds. I'll debug further with the users. Amen to that. This has been a real pain.
  4. Hi again, Dean, I'm running into a reported issue within my workflow that seems very sporadic; I can't reproduce it all that well, but more than one other person has, so I want to give it a look. Since it uses your library, would you be willing to take a look? Here's the thread: http://www.alfredforum.com/topic/5356-script-filters-via-python-seem-to-sporadically-not-work/ Thanks so much!
  5. Workflow: LastPass Vault Manager Packal Page: http://www.packal.org/workflow/lastpass-vault-manager Alfred Forum Thread: http://www.alfredforum.com/topic/5293-lp-vault-manager-a-workflow-for-lastpass/ The Issue: A few (not all) users have been reporting that some of the Script Filters within my workflow don't seem to work. In particular, page 2 of the forum page and this GitHub issue report that although the Python scripts return the correct results, those results don't seem to translate into actually using the workflow. I'd love to get a few more people hammering on it and, if possible, see where the breaks are occurring (within Alfred, within the workflow, within individual user environments, etc.). Build Notes: The workflow makes use of the Alfred-Workflow Python library. The error reports state that a lot of debug information that is normally output by the library isn't showing up in their Alfred debug console. At the same time, running the Python scripts directly in the Terminal work as expected.
  6. That's the most concerning part: if it works via Terminal, it should work via Alfred. I simply cannot reproduce it. Because of that, I'm going to see if the Alfred community can help us out: http://www.alfredforum.com/topic/5356-script-filters-via-python-seem-to-sporadically-not-work/ Incidentally, what version of Alfred are you running?
  7. What is the exact value of Alfred when it comes up after you select "Login To LastPass" (it should be something like >/usr/local/bin/lpass login username@site.com)? Does the prefix character match what you have selected in "Terminal/Shell" in Alfred Preferences. Try highlighting the "Run Script" action connected to the "lpdd" keyword and running `lppd`. Assuming the download happens correctly, you most certainly should see something like this: Starting debug for 'LastPass Vault Manager' [ERROR: alfred.workflow.action.script] Code 0: 13:14:45 workflow.py:1386 DEBUG Reading settings from `/Users/abach/Library/Application Support/Alfred 2/Workflow Data/com.bachya.lpvm/settings.json` ... 13:14:45 lpdd_exec.py:22 DEBUG Exec arguments: [u'download-data'] 13:14:45 lpdd_exec.py:34 DEBUG Parsed command: download-data 13:14:45 lpdd_exec.py:35 DEBUG Parsed argument: None 13:14:45 lpdd_exec.py:36 DEBUG Parsed delimiter: > 13:14:45 lpdd_exec.py:43 DEBUG Executing command: download-data 13:14:50 utilities.py:66 DEBUG Downloaded data: [{'url': 'http://lifehacker.com/people/bachya/', 'hostname': 'Personal/Lifehacker'}, {'url': 'https://www.elevationscu.com/', 'hostname': 'Personal/Elevations Credit Union'}, {'url': 'https://www.facebook.com/', 'hostname': 'Personal/Facebook'}, {'url': 'http://www.geico.com/', 'hostname': 'Personal/Geico'}, {'url': 'https://www.linkedin.com/secure/login?trk=hb_signin', 'hostname': 'Personal/LinkedIn'}, {'url': 'http://espn.go.com/', 'hostname': 'Personal/ESPN'}, {'url': 'https://www.last.fm/login', 'hostname': 'Personal/Last.FM'}, {'url': 'https://secure.newegg.com/NewMyAccount/AccountLogin.aspx', 'hostname': 'Personal/Newegg'}, {'url': 'https://addons.mozilla.org/en-US/firefox/users/login?to=en-US%2Ffirefox%2F', 'hostname': 'Personal/Mozilla'}, {'url': 'https://www.amazon.com/gp/sign-in.html?ie=UTF8&email=&disableCorpSignUp=&path=%2Fgp%2Fyourstore&redirectProtocol=&mode=&useRedirectOnSuccess=1&query=signIn%3D1%26ref%5F%3Dpd%5Firl%5Fgw&pageAction=%2Fgp%2Fyourstore', 'hostname': 'Personal/Amazon'}, {'url': 'https://manage.slicehost.com/login', 'hostname': 'Personal/Slicehost'}, {'url': 'http://www.starwars.com/webapps/registration/sign-in.action?message=You+have+successfully+signed+off.%0A', 'hostname': 'Personal/starwars.com'}, {'url': 'http://wordpress.com', 'hostname': 'Personal/Wordpress'}, {'url': 'http://getsatisfaction.com/session/new', 'hostname': 'Personal/Get Satisfaction'}, {'url': 'https://www.shutterfly.com/signin/signin.sfly', 'hostname': 'Personal/Shutterfly'}, {'url': 'http://www.dyndns.com/', 'hostname': 'Personal/DynDNS'}, {'url': 'https://cart2.barnesandnoble.com/account/op.asp?x=01151712', 'hostname': 'Personal/Barnes & Noble'}, {'url': 'https://www.yelp.com/login?return_url=%2Fdenver', 'hostname': 'Personal/Yelp'}, {'url': 'http://www.macheist.com/loot', 'hostname': 'Personal/MacHeist'}, {'url': 'http://skitch.com/login/', 'hostname': 'Personal/Skitch'}, {'url': 'https://twitter.com/', 'hostname': 'Personal/Twitter'}, {'url': 'http://www.proactiv.com/#sign-in', 'hostname': 'Personal/Proactiv'}, {'url': 'http://musicbrainz.org', 'hostname': 'Personal/MusicBrainz'}, {'url': 'http://www.deviantart.com/users/lost-password/update', 'hostname': 'Personal/deviantART'}, {'url': 'https://reg.sun.com', 'hostname': 'Personal/Sun Microsystems'}, {'url': 'https://www.tiffany.com/Customer/Account/SignIn.aspx', 'hostname': 'Personal/Tiffany'}, {'url': 'https://github.com/login', 'hostname': 'Personal/Github'}, {'url': 'https://my.screenname.aol.com/_cqr/login/login.psp?sitedomain=startpage.aol.com&siteState=OrigUrl%3dhttp%3a%2f%2fwww.aol.com%2f&authLev=0〈=en&locale=us', 'hostname': 'Personal/AOL'}, {'url': 'https://www.redbox.com/Account/Login.aspx', 'hostname': 'Personal/Redbox'}, {'url': 'https://www.google.com/accounts/ServiceLogin?service=mail&passive=true&rm=false&continue=http%3A%2F%2Fmail.google.com%2Fmail%2F%3Fui%3Dhtml%26zy%3Dl&bsv=1k96igf4806cy&scc=1&ltmpl=default&ltmplcache=2', 'hostname': 'Personal/Google (bachya1208)'}, {'url': 'http://bit.ly/', 'hostname': 'Personal/bitly'}, {'url': 'http://consumerist.com', 'hostname': 'Personal/Consumerist'}, {'url': 'http://freeimages.com', 'hostname': 'Personal/Free Images'}, {'url': 'https://secure.www.denverpost.com/registration/?rPage=login&url=http%3A%2F%2Fwww.denverpost.com%2Fpremium%2Fbroncos%2Fci_13483974&eRightsSessionExpired=true&forced=true', 'hostname': 'Personal/Denver Post'}, {'url': 'https://www.discover.com/', 'hostname': 'Personal/Discover'}, {'url': 'http://du.edu', 'hostname': 'Personal/University of Denver'}, ... [INFO: alfred.workflow.action.script] Processing output 'alfred.workflow.output.notification' with arg 'LastPass metadata successfully downloaded.' Barring that, what happens if, in Terminal, you run: ls ~/Library/Caches/com.runningwithcrayons.Alfred-2/Workflow\ Data/com.bachya.lpvm/vault_items.cpickle ?
  8. Try the 4.0 pre-release and let me know if it helps? https://github.com/bachya/lp-vault-manager/releases/tag/pre-v4.0
  9. Tommy, I recommend you go to the lastpass-cli Issues Page and report this; something's not right. See what they can do to help?
  10. Got everything in place. For what it's worth, one additional thing I had to do was explicitly convert any "passed-along" text (meaning text that is passed as part of {query} to the next stage of the workflow) to UTF-8. Thanks for your help, again, Dean – much appreciated.
  11. Thank you for the detailed explanation, Dean. I will implement your suggestions and let you know if I run into any further trouble.
  12. A user of mine reported this today; fairly certain I have the latest version of the library installed (at least, whatever version pip gives me): Starting debug for 'LastPass Vault Manager' [ERROR: alfred.workflow.input.scriptfilter] Code 1: 23:35:18 workflow.py:1598 DEBUG Loading cached data from : /Users/fmr/Library/Caches/com.runningwithcrayons.Alfred-2/Workflow Data/com.bachya.lpvm/vault_items.cpickle 23:35:18 workflow.py:1951 ERROR 'ascii' codec can't decode byte 0xc3 in position 10: ordinal not in range(128) Traceback (most recent call last): File "/Users/fmr/Dropbox/settings/alfred_2/Alfred.alfredpreferences/workflows/user.workflow.127EFC78-D2F5-47D5-BD4A-B4C80FBCFB73/workflow/workflow.py", line 1946, in run func(self) File "lpvm.py", line 246, in main search_vault(wf, vault, args.query) File "lpvm.py", line 141, in search_vault results = _search_vault(wf, vault, query) File "lpvm.py", line 40, in _search_vault match_on=MATCH_ALL ^ MATCH_ALLCHARS File "/Users/fmr/Dropbox/settings/alfred_2/Alfred.alfredpreferences/workflows/user.workflow.127EFC78-D2F5-47D5-BD4A-B4C80FBCFB73/workflow/workflow.py", line 1780, in filter value = key(item).strip() File "lpvm.py", line 88, in search_item_fields return ' '.join(elements) UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 10: ordinal not in range(128) 23:35:18 workflow.py:1969 DEBUG Workflow finished in 0.790 seconds. Similar error as has been posted before, but I don't see any non-ASCII characters in the user's path. Any thoughts, or other information I can provide? I'm checking to see if the cached data that he's retrieving doesn't contain non-ASCII characters. Thanks!
  13. For what it's worth, I've created a fairly robust LastPass Alfred workflow; much more to come! http://www.alfredforum.com/topic/5293-lp-vault-manager-a-workflow-for-lastpass/
  14. That's so bizarre. According to their issues page, they added that command about a month ago (https://github.com/lastpass/lastpass-cli/issues/4). When you run `lpass` by itself, what gets output? FYI, I have the same version as you: abach@xxxxx ~ $ lpass --version LastPass CLI v0.3.0
  15. Because, when you're snowed in, there's no better time to code away. 3.1 published and it has some cool features: Entirely new settings/configuration management via `lpsettings`. Added ability to login to LastPass. Added ability to logout from LastPass. Added ability to configure filepath to `lpass`. Added new (and slimmer) icons. Environment-proofed Python path in all scripts and Script Filters. DIRECT DOWNLOAD GITHUB REPO PACKAL PAGE
  16. I definitely hear your concern! It's good to be paranoid with this stuff. As it stands right now, if you don't set LPASS_AGENT_TIMEOUT to 0, you'll see this every so often: ...which is helpful, maybe? What you're suggesting ("special" vault items that would force a master password re-entry) would definitely require a bit more than what the lpass command offers. If you fork the project and add your suggested fixes, I'd be happy to take a look at utilizing it.
  17. FYI all, the current beta (plus a few bug fixes) has been published as v3.0! DIRECT DOWNLOAD GITHUB REPO PACKAL PAGE FYI, I'm going to be deleting all previous beta files (and will do so whenever I publish a release).
  18. Very interesting! Would you mind PM'ing me and sharing with me the full hostname that is causing this issue? Another great idea! As you note, logging out is easy, while logging in isn't, but I'll add both to my roadmap.
  19. I'm a bit confused by this one. The workflow should use as input the hostname that comes out of your vault; not sure how the workflow is getting xxx/yyyyyyy unless it already existed in your vault... In my case, passing a folder/name combination to lpass show works as expected. If you run lpass export | grep -i 'xxx/yyyyyyy' from the command line, does an entry show up? Additionally, can you guarantee that you are logged in (i.e., have run lpass login <USERNAME> from the command line)? The output you are receiving can appear when you haven't logged in (I'm working on a more proactive notification). I'm right there with you: this would be nice, but it doesn't appear that lpass supports a mechanism to do this. I'll keep digging, though! Is it the fact that I don't force you to run lpass login <USERNAME> every so often (or every time)? If I could figure out a way to address this (or point the user toward it) in the workflow, would that help?
  20. Hi folks – thanks so much for your patience. I have another beta build for you to test: https://dl.dropboxusercontent.com/u/111722/LP%20Vault%20Manager%20beta2.2.alfredworkflow. I haven't posted this to GitHub yet; I would love you to hammer on it a bit before I make the source fully public. Here's what I offer for your consideration! First, several configuration options (sorry for the nutty keywords; open to suggestions). lpsetcache: sets the amount of time (in seconds) that data from LastPass should be cached (default is 300 seconds, or 5 minutes). lpsetbrowser: sets the desired browser (defaults to "Google Chrome"); primarily used for the `lpbrowser` command below. lpsetpwnum: sets the number of passwords that should be generated by the `lppg` command. lpsetpwlen: sets the length of the passwords generated by the `lppg` command. Next, the commands: lpvs: searches your vault for URLs or Hostnames (e.g., "Personal/GitHub") for the provided query. Note that only URLs and Hostnames are cached; all additional lookups happen on the fly with no caching, which is much more secure.Select an entry to launch it in your default browser. Cmd-Select an entry to copy the password to your clipboard. Shift-Select an entry to copy the username to your clipboard. lpbrowser: grabs the URL from the active tab in your desired browser and searches your vault for it.Select an entry to launch it in your default browser. Cmd-Select an entry to copy the password to your clipboard. Shift-Select an entry to copy the username to your clipboard. lpdd: blows away cached data and re-downloads your vault's URL/Hostname data. lppg: generates several random passwords. This is a big update. Everything works on my machine, but that's never a good test, so I'm anticipating some breakage. Let me know about it here and I'll get it addressed ASAP. Planning to update the GitHub repo with the new source in the next day or so.
  21. What would this do? Check a browser for the current tab and search for that URL in the vault?
  22. As you should be! To make it easier to get to the script, I've added all the workflow contents to the root of the GitHub repo. lkngtn's comments really got me thinking last night: the speed gained by caching the entire output of `lpass export` isn't worth the insecurity of having unencrypted usernames/passwords sitting on the filesystem. So, I'm making a change: going forward, I'll only cache URLs and hostnames (and query the other data [and then throw it away] as needed). This is part of some bigger work I'm doing, so I appreciate your patience. I will post back here when a build is ready.
  23. Interesting on the "." – I'll dig deeper. RE: storing the data locally, I know – I hate it, too. Here's why I did it. Fortunately, Alfred 2.6 will make some changes that will allow me to not have to cache everything. RE: caching "searchable metadata" – what would that include? URLs? Usernames? Everything except the passwords themselves? Thanks for your thoughts!
  24. Would you mind trying this beta and letting me know if it works? https://www.dropbox.com/s/2xxq4qd5tpaidcf/LP%20Vault%20Manager%20beta2.1.alfredworkflow?dl=0 Make sure you run `lpdd` first. Let me know!
  25. Yay, thank you Andrew. You have probably mentioned this elsewhere, but what's your rough timeline for the 2.6 release?
  • Create New...