Git Product home page Git Product logo

alfred-fixum's Introduction

Alfred Fixum

Fix Alfred 3/4 Python workflows affected by bugs in Alfred-Workflow, in particular the the Sierra background process bug.

In some cases, it can also fix Alfred 3 workflows that don't work in Alfred 4.

Fixum analyses your installed workflows to see if any use an old version of the Alfred-Workflow library. If they do, it can update them with a newer, working version.

Installation

Download from GitHub releases.

Usage

Before you use this workflow, make a backup of your workflows directory. To get to it, right-click on a workflow in Alfred Preferences, choose Open in Finder, then navigate to the parent workflows directory. Drag a copy to your Desktop or run Compress "workflows" on it from the context menu.

Don't immediately run Fix Workflows, but rather be sure to View Log File and use Dry Run a few times to check this workflow isn't going to overwrite something it shouldn't.

NOTE: Fixum only looks in real directories and ignores symlinks.

If there are any workflows you don't want updating, use Edit Blacklist and add their bundle IDs to that file before you run Fix Workflows.

Opening Alfred's debugger will turn on debugging mode, and the log will contain more information.

If everything looks good, run Fix Workflows.

Alfred commands

  • fixum — Show available actions
    • A newer version of Fixum is available — Shown if an update for Fixum is available.
    • Dry Run — Analyse installed workflows, but don't change anything
    • View Log File — See what the workflow would change/has changed
    • Edit Blacklist — Change the list of bundle IDs that should not be updated (e.g. your own workflows)
    • Fix Workflows — Replace any buggy versions of Alfred-Workflow with a newer, working one

If anything goes wrong

To restore a workflow's original Alfred-Workflow library if the fix actually broke it, open the workflow in Finder (right-click on it in Alfred Preferences and choose Open in Finder). Find the workflow and workflow.old directories, trash workflow and rename workflow.old to workflow. That puts back the original version.

Getting help

Post a GitHub issue, or visit the thread for this workflow or the one for Alfred-Workflow on the Alfred forum.

alfred-fixum's People

Contributors

deanishe avatar frdmn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

alfred-fixum's Issues

Ran Fix, Alfred Still Complaining About Library

Hi,

Tried this today with two workflows based on "Say It With Gifs" http://www.packal.org/workflow/say-it-gifs

The workflows get fixed, but....Alfred is still cranky about it and shows them as disabled. Tried to reimport the fixed version, but no dice.

Full log is below...not sure what to do to get around this....willing to test / check anything that would help...

Thanks,

Jay


14:27:51 workflow.py:2527 INFO     Checking for update ...
14:27:51 update.py:312 INFO     retrieving releases: deanishe/alfred-fixum
14:27:52 update.py:353 INFO     9 releases for deanishe/alfred-fixum
14:27:53 fixum.py:265 INFO     ==================================================
14:27:53 fixum.py:267 INFO     looking for workflows using an outdated (buggy) version of Alfred-Workflow...
14:27:53 fixum.py:278 INFO     workflow directory: /Users/jschmidt/Dropbox/Documents/Alfred/Alfred.alfredpreferences/workflows
14:27:53 fixum.py:328 INFO     
14:27:53 fixum.py:329 INFO     found AW workflow: user.workflow.72B9FD49-64FD-4DAF-9CB8-35B32E42EB2B
14:27:53 fixum.py:330 INFO                  name: Say it with GIFs
14:27:53 fixum.py:331 INFO             bundle ID: net.deanishe.alfred.gifs
14:27:53 fixum.py:332 INFO            AW version: 1.22.0
14:27:53 fixum.py:341 INFO     [!!] workflow "Say it with GIFs" is using outdated version (1.22.0) of Alfred-Workflow
14:27:53 fixum.py:353 INFO     
14:27:53 fixum.py:328 INFO     
14:27:53 fixum.py:329 INFO     found AW workflow: user.workflow.9AB22EEB-802C-4081-9479-22096A380A22
14:27:53 fixum.py:330 INFO                  name: Meme It
14:27:53 fixum.py:331 INFO             bundle ID: net.virington.alfred.memes
14:27:53 fixum.py:332 INFO            AW version: 1.22.0
14:27:53 fixum.py:341 INFO     [!!] workflow "Meme It" is using outdated version (1.22.0) of Alfred-Workflow
14:27:53 fixum.py:353 INFO     
14:27:53 fixum.py:359 INFO     [DONE] would update 2 workflow(s) with a newer version of Alfred-Workflow
14:27:59 fixum.py:265 INFO     ==================================================
14:27:59 fixum.py:267 INFO     looking for workflows using an outdated (buggy) version of Alfred-Workflow...
14:27:59 fixum.py:278 INFO     workflow directory: /Users/jschmidt/Dropbox/Documents/Alfred/Alfred.alfredpreferences/workflows
14:27:59 fixum.py:328 INFO     
14:27:59 fixum.py:329 INFO     found AW workflow: user.workflow.72B9FD49-64FD-4DAF-9CB8-35B32E42EB2B
14:27:59 fixum.py:330 INFO                  name: Say it with GIFs
14:27:59 fixum.py:331 INFO             bundle ID: net.deanishe.alfred.gifs
14:27:59 fixum.py:332 INFO            AW version: 1.22.0
14:27:59 fixum.py:341 INFO     [!!] workflow "Say it with GIFs" is using outdated version (1.22.0) of Alfred-Workflow
14:27:59 fixum.py:193 INFO         updating "Say it with GIFs" ...
14:27:59 fixum.py:199 INFO         installed new version of Alfred-Workflow
14:27:59 fixum.py:353 INFO     
14:27:59 fixum.py:328 INFO     
14:27:59 fixum.py:329 INFO     found AW workflow: user.workflow.9AB22EEB-802C-4081-9479-22096A380A22
14:27:59 fixum.py:330 INFO                  name: Meme It
14:27:59 fixum.py:331 INFO             bundle ID: net.virington.alfred.memes
14:27:59 fixum.py:332 INFO            AW version: 1.22.0
14:27:59 fixum.py:341 INFO     [!!] workflow "Meme It" is using outdated version (1.22.0) of Alfred-Workflow
14:27:59 fixum.py:193 INFO         updating "Meme It" ...
14:27:59 fixum.py:199 INFO         installed new version of Alfred-Workflow
14:27:59 fixum.py:353 INFO     
14:27:59 fixum.py:373 INFO     [DONE] updated 2 workflow(s) with a newer version of Alfred-Workflow
14:29:06 fixum.py:265 INFO     ==================================================
14:29:06 fixum.py:267 INFO     looking for workflows using an outdated (buggy) version of Alfred-Workflow...
14:29:06 fixum.py:278 INFO     workflow directory: /Users/jschmidt/Dropbox/Documents/Alfred/Alfred.alfredpreferences/workflows
14:29:06 fixum.py:328 INFO     
14:29:06 fixum.py:329 INFO     found AW workflow: user.workflow.72B9FD49-64FD-4DAF-9CB8-35B32E42EB2B
14:29:06 fixum.py:330 INFO                  name: Say it with GIFs
14:29:06 fixum.py:331 INFO             bundle ID: net.deanishe.alfred.gifs
14:29:06 fixum.py:332 INFO            AW version: 1.27.0
14:29:06 fixum.py:336 INFO     [OK] workflow "Say it with GIFs" has current version of Alfred-Workflow
14:29:06 fixum.py:337 INFO     
14:29:06 fixum.py:328 INFO     
14:29:06 fixum.py:329 INFO     found AW workflow: user.workflow.9AB22EEB-802C-4081-9479-22096A380A22
14:29:06 fixum.py:330 INFO                  name: Meme It
14:29:06 fixum.py:331 INFO             bundle ID: net.virington.alfred.memes
14:29:06 fixum.py:332 INFO            AW version: 1.27.0
14:29:06 fixum.py:336 INFO     [OK] workflow "Meme It" has current version of Alfred-Workflow
14:29:06 fixum.py:337 INFO     
14:29:06 fixum.py:373 INFO     [DONE] updated 0 workflow(s) with a newer version of Alfred-Workflow
14:35:24 fixum.py:265 INFO     ==================================================
14:35:24 fixum.py:267 INFO     looking for workflows using an outdated (buggy) version of Alfred-Workflow...
14:35:24 fixum.py:278 INFO     workflow directory: /Users/jschmidt/Dropbox/Documents/Alfred/Alfred.alfredpreferences/workflows
14:35:24 fixum.py:328 INFO     
14:35:24 fixum.py:329 INFO     found AW workflow: user.workflow.72B9FD49-64FD-4DAF-9CB8-35B32E42EB2B
14:35:24 fixum.py:330 INFO                  name: Say it with GIFs
14:35:24 fixum.py:331 INFO             bundle ID: net.deanishe.alfred.gifs
14:35:24 fixum.py:332 INFO            AW version: 1.27.0
14:35:24 fixum.py:336 INFO     [OK] workflow "Say it with GIFs" has current version of Alfred-Workflow
14:35:24 fixum.py:337 INFO     
14:35:24 fixum.py:328 INFO     
14:35:24 fixum.py:329 INFO     found AW workflow: user.workflow.9AB22EEB-802C-4081-9479-22096A380A22
14:35:24 fixum.py:330 INFO                  name: Meme It
14:35:24 fixum.py:331 INFO             bundle ID: net.virington.alfred.memes
14:35:24 fixum.py:332 INFO            AW version: 1.27.0
14:35:24 fixum.py:336 INFO     [OK] workflow "Meme It" has current version of Alfred-Workflow
14:35:24 fixum.py:337 INFO     
14:35:24 fixum.py:373 INFO     [DONE] updated 0 workflow(s) with a newer version of Alfred-Workflow

Does No fix my problem

I got a error in workflow for this problem. And install the fixum workflow then execute "Fix Workflows", but notified "Updated 0 workflow(s)". My workflow still can not work.

Fixum Won't Work Afrer Updating to Ventura and Alfred 5

Returns this debug message:

[15:14:15.409] Logging Started...
[15:14:17.209] Fixum[Script Filter] Queuing argument ''
[15:14:17.287] Fixum[Script Filter] Script with argv '' finished
[15:14:17.292] ERROR: Fixum[Script Filter] Code 127: /Users/pgvh/Library/Caches/com.runningwithcrayons.Alfred/Workflow Scripts/563E6013-3E75-4997-AA5C-D05468BBD950: line 1: /usr/bin/python: No such file or directory

Is there a plan to have fixum for Alfred 2 users

I almost always manually dismiss the hanging Python process when I hear my Mac humming, until one day I was on battery and was in a cold room...

The battery was drained silently in 1.5 hours and I have no charger...

Please consider having fixum for Alfred 2. Thank you very much!

Python3

Mac no longer ships with /usr/bin/python . Can you convert the workflow to use /usr/bin/python3 from homebrew? I made the changes in the 2 steps that have "/usr/bin/python" in them but it still doesn't run.

not well-formed (invalid token): line 315, column 12

When I try to do a dry run, I get a notification "not well-formed (invalid token): line 315, column 12".

Here's the workflow's log:

[2017-04-10 00:32:27][input.listfilter] Processing output of 'action.script' with arg 'dryrun'
[2017-04-10 00:32:28][ERROR: action.script] 00:32:27 workflow.py:2225 DEBUG    Workflow version : 0.1.2
00:32:27 fixum.py:186 INFO     ==================================================
00:32:27 fixum.py:187 DEBUG    opts={'--help': False,
 '--nothing': True,
 '--version': False}
00:32:27 fixum.py:188 INFO     looking for workflows using an outdated (buggy) version of Alfred-Workflow...
00:32:27 fixum.py:199 INFO     workflow directory: /Users/mike/Dropbox/App Data/Alfred.alfredpreferences/workflows
00:32:27 fixum.py:221 DEBUG    ignoring non-directory: .DS_Store
00:32:27 fixum.py:225 DEBUG    not an AW workflow: .DS_Store
00:32:27 fixum.py:225 DEBUG    not an AW workflow: user.workflow.00963676-91ED-4CB4-A028-24F5D16B4DAE
00:32:27 fixum.py:225 DEBUG    not an AW workflow: user.workflow.014366BF-3C70-408B-947E-49EE0E1EE2E0
00:32:27 fixum.py:225 DEBUG    not an AW workflow: user.workflow.0144444E-FF4C-4A58-9439-FDF5BDE6E983
00:32:27 fixum.py:225 DEBUG    not an AW workflow: user.workflow.01472C84-7AC5-4D1A-ADD9-9D5BB51B9B0A
00:32:27 fixum.py:225 DEBUG    not an AW workflow: user.workflow.014F7CA3-C8E5-4DD9-9270-9FF3BED07C04
00:32:27 fixum.py:225 DEBUG    not an AW workflow: user.workflow.015A9E2C-1A67-4E1F-A1CB-DD5C4DA1901A
00:32:28 fixum.py:225 DEBUG    not an AW workflow: user.workflow.01AA9B71-CC13-499A-8800-DF43A9419770
00:32:28 fixum.py:225 DEBUG    not an AW workflow: user.workflow.0340C6D2-FAA8-4196-994E-28F28D6F94E3
00:32:28 fixum.py:225 DEBUG    not an AW workflow: user.workflow.047CE1D3-5836-444F-9B45-C548077610AD
00:32:28 fixum.py:225 DEBUG    not an AW workflow: user.workflow.05308695-5C37-45D7-9265-14BD89F1A1A3
00:32:28 fixum.py:225 DEBUG    not an AW workflow: user.workflow.05D3104B-0F82-44DA-8695-4688554BBF22
00:32:28 workflow.py:2243 ERROR    not well-formed (invalid token): line 315, column 12
Traceback (most recent call last):
  File "/Users/mike/Dropbox/App Data/Alfred.alfredpreferences/workflows/user.workflow.31AD40AB-DA68-4E61-A6CE-DF07B7CC710D/workflow/workflow.py", line 2236, in run
    func(self)
  File "fixum.py", line 223, in main
    info = get_workflow_info(p)
  File "fixum.py", line 114, in get_workflow_info
    info = read_plist(ip)
  File "fixum.py", line 75, in read_plist
    return plistlib.readPlistFromString(xml)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plistlib.py", line 103, in readPlistFromString
    return readPlist(StringIO(data))
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plistlib.py", line 78, in readPlist
    rootObject = p.parse(pathOrFile)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plistlib.py", line 406, in parse
    parser.ParseFile(fileobj)
ExpatError: not well-formed (invalid token): line 315, column 12
00:32:28 workflow.py:2246 INFO     For assistance, see: https://github.com/deanishe/alfred-fixum/issues
00:32:28 workflow.py:2267 DEBUG    Workflow finished in 1.017 seconds.
[2017-04-10 00:32:28][action.script] Processing output of 'output.notification' with arg 'not well-formed (invalid token): line 315, column 12'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.