Git Product home page Git Product logo

alfred-repos's Introduction

Git Repos Workflow for Alfred

Browse, search and open Git repositories from within Alfred.

Download

Get the workflow from GitHub releases.

Versions 2.2+ are not compatible with Alfred 3 and earlier.

For Alfred 3, download version 2.1.2, and for Alfred 2, please download version 1.7.

Usage

This workflow requires some configuration before use. See Configuration for details.

  • repos [<query>] — Show a list of your Git repos filtered by <query>
    • — Open selected repo in app_default (see configuration)
    • ⌘+↩ — Open selected repo in app_cmd (see configuration)
    • ⌥+↩ — Open selected repo in app_alt (requires configuration)
    • ^+↩ — Open selected repo in app_ctrl (requires configuration)
    • ⇧+↩ — Open selected repo in app_shift (requires configuration)
    • fn+↩ — Open selected repo in app_fn (requires configuration)
    • ⌘⌥+↩ — Open selected repo in app_cmd_alt (requires configuration)
    • ⌘⌥⇧+↩ — Open selected repo in app_cmd_alt_shift (requires configuration)
    • etc.
    • etc.
  • reposettings — Open settings.json in default JSON editor
  • reposupdate — Force workflow to update its cached list of repositories. (By default, the list will only be updated—in the background—every 3 hours.)
  • reposhelp — Open this file in your browser

Configuration

Before you can use this workflow, you have to configure one or more folders in which the workflow should search for Git repos. The workflow uses find to search for .git directories, so you shouldn't add huge directory trees to it, and use the depth option to restrict the search depth. Typically, a depth of 2 will be what you want (i.e. search within subdirectories of specified directory, but no lower). Add directories to search to the search_dir array in settings.json (see below).

The default settings.json file looks like this:

{
  "app_default": "Finder",               // ↩ to open in this/these app(s)
  "app_cmd": "Terminal",                 // ⌘+↩ to open in this/these app(s)
  "app_alt": null,                       // ⌥+↩ to open in this/these app(s)
  "app_ctrl": null,                      // ^+↩ to open in this/these app(s)
  "app_shift": null,                     // ⇧+↩ to open in this/these app(s)
  "app_fn": null,                        // fn+↩ to open in this/these app(s)
  "global_exclude_patterns": [],         // Exclude from all searches
  "search_dirs": [
    {
      "path": "~/delete/this/example",   // Path to search. ~/ is expanded
      "depth": 2,                        // Search subdirs of `path`
      "name_for_parent": 1,              // Name Alfred entry after parent of `.git`. 2 = grandparent of `.git` etc.
      "excludes": [                      // Excludes specific to this path
        "tmp",                           // Directories named `tmp`
        "bad/smell/*"                    // Subdirs of `bad/smell` directory
      ]
    }
  ]
}

This is my settings.json:

{
  "app_alt": "iTerm",
  "app_cmd": "Finder",
  "app_cmd_alt": [
    "VSCodium", 
    "Finder", 
    "SourceTree", 
    "iTerm"
  ],
  "app_ctrl": "SourceTree", 
  "app_default": "VSCodium", 
  "app_shift": "Browser", 
  "global_exclude_patterns": [], 
  "search_dirs": [
    {
      "depth": 3, 
      "path": "~/Code"
    }, 
    {
      "path": "~/Sites"
    },
    {
      "path": "~/src/git.deanishe.net/deanishe"
    }, 
    {
      "path": "~/src/github.com/deanishe"
    }
  ]
}

Note: If you specify Browser, Safari, Google Chrome, Webkit or Firefox as an application, it will be passed the remote repo URL, not the local filepath. Browser will open the URL in your default browser.

You can also change the default update interval (3h) in the workflow's configuration sheet in Alfred Preferences. Change the UPDATE_EVERY_MINS workflow variable to suit your needs.

Search Directories

Each entry in the search_dirs list must be a mapping.

Only path is required. depth will default to 2 if not specified. excludes are globbing patterns, like in .gitignore.

name_for_parent defaults to 1, which means the entry in Alfred's results should be named after the directory containing the .git directory. If you want Alfred to show the name of the grandparent, set name_for_parent to 2 etc.

This is useful if your projects are structured, for example, like this and src is the actual repo:

Code
  Project_1
    src
    other_stuff
  Project_2
    src
    other_stuff
  …
  …

Set name_for_parent to 2, and Project_1, Project_2 etc. will be shown in Alfred, not src, src, src

Open in Applications

The applications specified by the app_XYZ options are all called using open -a AppName path/to/directory. You can configure any application that can open a directory in this manner. Some recommendations are Sublime Text, SourceTree, GitHub or iTerm.

The meta app Browser will open the repo's remote/origin URL in your default browser. Other recognised browsers are Safari, Google Chrome, Firefox and WebKit.

Note: As you can see from my settings.json, you can also set an app_XYZ value to an array of applications to open the selected repo in more than one app at once:

…
  "app_cmd": ["Finder", "Sublime Text", "SourceTree", "iTerm"],
…

In versions 3+ (i.e. in Alfred 4), you can also arbitrarily combine modifiers to give yourself many more options:

"app_cmd_alt": "Finder",
"app_shift_alt_cmd": "VSCodium",
"app_cmd_fn_alt": "Oni",
etc.
etc.

Modifiers may be specified in any order. The only requirements are that the key must start with app_ and the modifiers must be separated by _.

You can also use on a result to access Alfred's default File Actions menu.

License, Thanks

This workflow is released under the MIT Licence.

It uses the Alfred-Workflow and docopt libraries (both MIT Licence).

The icon is by Jason Long, from git-scm.com, released under the Creative Commons Attribution 3.0 Unported Licence.

alfred-repos's People

Contributors

blefevre avatar deanishe avatar duqcyxwd avatar retronym 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-repos's Issues

Error with v3.1

Get this error trying to run git command and search for repos

[02:58:26.599] Git Repos[External] Processing complete
[02:58:26.607] Git Repos[External] Passing output '' to Script Filter
[02:58:26.659] Git Repos[Script Filter] Queuing argument ''
[02:58:26.821] Git Repos[Script Filter] Script with argv '' finished
[02:58:26.825] ERROR: Git Repos[Script Filter] Code 1: .
02:58:26 workflow.py:2061 DEBUG    ---------- Git Repos (3.1.0) ----------
02:58:26 workflow.py:1468 DEBUG    reading settings from /Users/nikivi/Library/Application Support/Alfred/Workflow Data/net.deanishe.alfred-git-repos/settings.json
02:58:26 workflow.py:2343 DEBUG    update check not due
02:58:26 workflow.py:2225 DEBUG    last run version: 3.1.0
02:58:26 workflow.py:2225 DEBUG    last run version: 3.1.0
02:58:26 repos.py:356 DEBUG    args={'<appkey>': None,
 '<path>': None,
 '<query>': u'',
 'open': False,
 'search': True,
 'settings': False,
 'update': False}
02:58:26 repos.py:372 DEBUG    opts={'do_update': False, 'appkey': 'default', 'do_settings': False, 'do_open': False, 'do_search': True, 'query': u'', 'path': None, 'update_interval': 10800}
02:58:26 workflow.py:1695 DEBUG    loading cached data: /Users/nikivi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/__workflow_latest_version.cpickle
02:58:26 repos.py:140 DEBUG    cache_age=66.22, settings_age=120.48
02:58:26 workflow.py:1695 DEBUG    loading cached data: /Users/nikivi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/repos.cpickle
02:58:26 workflow.py:2080 ERROR    object of type 'NoneType' has no len()
Traceback (most recent call last):
  File "/Users/nikivi/Dropbox/Alfred/Alfred.alfredpreferences/workflows/user.workflow.53A60B7D-F1C9-4770-AE30-22638A0FA4F7/workflow/workflow.py", line 2073, in run
    func(self)
  File "repos.py", line 443, in main
    return do_search(repos, opts)
  File "repos.py", line 303, in do_search
    subtitles[key] = 'Open in {}'.format(join_english(app))
  File "repos.py", line 149, in join_english
    if len(items) == 1:
TypeError: object of type 'NoneType' has no len()
02:58:26 workflow.py:2082 INFO     for assistance, see: https://github.com/deanishe/alfred-repos/issues
02:58:26 workflow.py:2103 DEBUG    ---------- finished in 0.006s ----------
[02:58:26.827] Git Repos[Script Filter] {
  "items": [
    {
      "valid": false,
      "subtitle": "object of type 'NoneType' has no len()",
      "icon": {
        "path": "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/AlertStopIcon.icns"
      },
      "title": "Error in workflow 'Git Repos'"
    }
  ]
}

Not too sure why it happens.

My config:

{
  "__workflow_last_version": "3.1.0", 
  "app_alt": "Safari", 
  "app_cmd": "iTerm", 
  "app_ctrl": "GitHub release", 
  "app_default": "Visual Studio Code - Insiders", 
  "app_fn": "Sublime Text", 
  "app_shift": null, 
  "global_exclude_patterns": [], 
  "search_dirs": [
    {
      "depth": 4, 
      "excludes": [
        "*/src/clones/*", 
        "*/src/curated/*"
      ], 
      "path": "~/src"
    }, 
    {
      "depth": 3, 
      "path": "~/go/src/github.com/nikitavoloboev"
    }, 
    {
      "path": "~/.dotfiles/"
    }
  ]
}

I did run reposupdate beforehand.

Stopped working on Alfred 4

Getting this in the log whenever I try to bring up the workflow (it worked yesterday and I made no major changes)

11:29:45 workflow.py:2061 DEBUG    ---------- Git Repos (2.1.2) ----------
11:29:45 workflow.py:1468 DEBUG    reading settings from /Users/myuser/Library/Application Support/Alfred/Workflow Data/net.deanishe.alfred-git-repos/settings.json
11:29:45 workflow.py:2343 DEBUG    update check not due
11:29:45 workflow.py:2225 DEBUG    last run version: 2.1.2
11:29:45 repos.py:341 DEBUG    args={'<appkey>': None,
 '<path>': None,
 '<query>': u'',
 'open': False,
 'search': True,
 'settings': False,
 'update': False}
11:29:45 repos.py:357 DEBUG    opts={'do_update': False, 'appkey': 'default', 'do_settings': False, 'do_open': False, 'do_search': True, 'query': u'', 'path': None, 'update_interval': 10800}
11:29:45 workflow.py:1695 DEBUG    loading cached data: /Users/myuser/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/__workflow_latest_version.cpickle
11:29:45 workflow.py:1695 DEBUG    loading cached data: /Users/myuser/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/__workflow_update_status.cpickle
11:29:45 workflow.py:2080 ERROR    'version'
Traceback (most recent call last):
  File "/Users/myuser/Library/Application Support/Alfred/Alfred.alfredpreferences/workflows/user.workflow.1D3DF97C-1C49-437B-ADD2-79FA2222B328/workflow/workflow.py", line 2073, in run
    func(self)
  File "repos.py", line 383, in main
    v = wf.cached_data('__workflow_update_status', max_age=0)['version']
KeyError: 'version'

More browser support

Hi, can you please add browser support for "Brave Browser" please?

Thanks a lot, really enjoying this workflow!

Doesn't work in Alfred 4

Hi, thanks for this useful workflow. The search doesn't work in Alfred 4, results don't show up, only "Updating list of repos...".

[15:38:31.669] Git Repos[Script Filter] Queuing argument ''
[15:38:31.963] Git Repos[Script Filter] Script with argument '' finished
[15:38:31.966] STDERR: Git Repos[Script Filter] 15:38:31 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:31 workflow.py:1657 DEBUG reading settings from /Users/muyexi/Library/Application Support/Alfred/Workflow Data/net.deanishe.alfred-git-repos/settings.json
15:38:31 workflow.py:2531 DEBUG update check not due
15:38:31 workflow.py:2411 DEBUG last run version: 2.1.2
15:38:31 repos.py:341 DEBUG args={'': None,
'': None,
'': u'',
'open': False,
'search': True,
'settings': False,
'update': False}
15:38:31 repos.py:357 DEBUG opts={'do_update': False, 'appkey': 'default', 'do_settings': False, 'do_open': False, 'do_search': True, 'query': u'', 'path': None, 'update_interval': 10800}
15:38:31 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/__workflow_update_status.cpickle
15:38:31 workflow.py:2461 DEBUG update_data: {u'available': False}
15:38:31 repos.py:131 DEBUG cache_age=23.71, settings_age=2761.13
15:38:31 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/repos.cpickle
15:38:31 background.py:233 DEBUG [update] command cached: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/update.argcache
15:38:31 background.py:237 DEBUG [update] passing job to background runner: [u'/usr/bin/python', '/Users/muyexi/Dropbox/Alfred/Alfred.alfredpreferences/workflows/user.workflow.2AD1A6B4-64A4-4AD0-84E2-CFD468D831F7/workflow/background.pyc', 'update']
15:38:31 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:31 background.py:243 DEBUG [update] background job started
15:38:31 workflow.py:2440 DEBUG set last run version: 2.1.2
15:38:31 workflow.py:2289 DEBUG ---------- finished in 0.112s ----------
[15:38:31.969] Git Repos[Script Filter] {"items": [{"valid": false, "subtitle": "Should be done in a few seconds", "icon": {"path": "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarInfo.icns"}, "title": "Updating list of repos\u2026"}], "rerun": 0.5}
[15:38:32.468] Git Repos[Script Filter] Queuing argument ''
[15:38:32.745] Git Repos[Script Filter] Script with argument '' finished
[15:38:32.748] STDERR: Git Repos[Script Filter] 15:38:32 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:32 workflow.py:1657 DEBUG reading settings from /Users/muyexi/Library/Application Support/Alfred/Workflow Data/net.deanishe.alfred-git-repos/settings.json
15:38:32 workflow.py:2531 DEBUG update check not due
15:38:32 workflow.py:2411 DEBUG last run version: 2.1.2
15:38:32 repos.py:341 DEBUG args={'': None,
'': None,
'': u'',
'open': False,
'search': True,
'settings': False,
'update': False}
15:38:32 repos.py:357 DEBUG opts={'do_update': False, 'appkey': 'default', 'do_settings': False, 'do_open': False, 'do_search': True, 'query': u'', 'path': None, 'update_interval': 10800}
15:38:32 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/__workflow_update_status.cpickle
15:38:32 workflow.py:2461 DEBUG update_data: {u'available': False}
15:38:32 repos.py:131 DEBUG cache_age=0.47, settings_age=2761.92
15:38:32 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/repos.cpickle
15:38:32 background.py:233 DEBUG [update] command cached: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/update.argcache
15:38:32 background.py:237 DEBUG [update] passing job to background runner: [u'/usr/bin/python', '/Users/muyexi/Dropbox/Alfred/Alfred.alfredpreferences/workflows/user.workflow.2AD1A6B4-64A4-4AD0-84E2-CFD468D831F7/workflow/background.pyc', 'update']
15:38:32 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:32 background.py:243 DEBUG [update] background job started
15:38:32 workflow.py:2440 DEBUG set last run version: 2.1.2
15:38:32 workflow.py:2289 DEBUG ---------- finished in 0.107s ----------
[15:38:32.750] Git Repos[Script Filter] {"items": [{"valid": false, "subtitle": "Should be done in a few seconds", "icon": {"path": "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarInfo.icns"}, "title": "Updating list of repos\u2026"}], "rerun": 0.5}
[15:38:33.246] Git Repos[Script Filter] Queuing argument ''
[15:38:33.521] Git Repos[Script Filter] Script with argument '' finished
[15:38:33.535] STDERR: Git Repos[Script Filter] 15:38:33 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:33 workflow.py:1657 DEBUG reading settings from /Users/muyexi/Library/Application Support/Alfred/Workflow Data/net.deanishe.alfred-git-repos/settings.json
15:38:33 workflow.py:2531 DEBUG update check not due
15:38:33 workflow.py:2411 DEBUG last run version: 2.1.2
15:38:33 repos.py:341 DEBUG args={'': None,
'': None,
'': u'',
'open': False,
'search': True,
'settings': False,
'update': False}
15:38:33 repos.py:357 DEBUG opts={'do_update': False, 'appkey': 'default', 'do_settings': False, 'do_open': False, 'do_search': True, 'query': u'', 'path': None, 'update_interval': 10800}
15:38:33 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/__workflow_update_status.cpickle
15:38:33 workflow.py:2461 DEBUG update_data: {u'available': False}
15:38:33 repos.py:131 DEBUG cache_age=0.46, settings_age=2762.70
15:38:33 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/repos.cpickle
15:38:33 background.py:233 DEBUG [update] command cached: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/update.argcache
15:38:33 background.py:237 DEBUG [update] passing job to background runner: [u'/usr/bin/python', '/Users/muyexi/Dropbox/Alfred/Alfred.alfredpreferences/workflows/user.workflow.2AD1A6B4-64A4-4AD0-84E2-CFD468D831F7/workflow/background.pyc', 'update']
15:38:33 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:33 background.py:243 DEBUG [update] background job started
15:38:33 workflow.py:2440 DEBUG set last run version: 2.1.2
15:38:33 workflow.py:2289 DEBUG ---------- finished in 0.104s ----------
[15:38:33.537] Git Repos[Script Filter] {"items": [{"valid": false, "subtitle": "Should be done in a few seconds", "icon": {"path": "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarInfo.icns"}, "title": "Updating list of repos\u2026"}], "rerun": 0.5}
[15:38:34.025] Git Repos[Script Filter] Queuing argument ''
[15:38:34.304] Git Repos[Script Filter] Script with argument '' finished
[15:38:34.322] STDERR: Git Repos[Script Filter] 15:38:34 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:34 workflow.py:1657 DEBUG reading settings from /Users/muyexi/Library/Application Support/Alfred/Workflow Data/net.deanishe.alfred-git-repos/settings.json
15:38:34 workflow.py:2531 DEBUG update check not due
15:38:34 workflow.py:2411 DEBUG last run version: 2.1.2
15:38:34 repos.py:341 DEBUG args={'': None,
'': None,
'': u'',
'open': False,
'search': True,
'settings': False,
'update': False}
15:38:34 repos.py:357 DEBUG opts={'do_update': False, 'appkey': 'default', 'do_settings': False, 'do_open': False, 'do_search': True, 'query': u'', 'path': None, 'update_interval': 10800}
15:38:34 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/__workflow_update_status.cpickle
15:38:34 workflow.py:2461 DEBUG update_data: {u'available': False}
15:38:34 repos.py:131 DEBUG cache_age=0.47, settings_age=2763.48
15:38:34 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/repos.cpickle
15:38:34 background.py:233 DEBUG [update] command cached: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/update.argcache
15:38:34 background.py:237 DEBUG [update] passing job to background runner: [u'/usr/bin/python', '/Users/muyexi/Dropbox/Alfred/Alfred.alfredpreferences/workflows/user.workflow.2AD1A6B4-64A4-4AD0-84E2-CFD468D831F7/workflow/background.pyc', 'update']
15:38:34 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:34 background.py:243 DEBUG [update] background job started
15:38:34 workflow.py:2440 DEBUG set last run version: 2.1.2
15:38:34 workflow.py:2289 DEBUG ---------- finished in 0.105s ----------
[15:38:34.325] Git Repos[Script Filter] {"items": [{"valid": false, "subtitle": "Should be done in a few seconds", "icon": {"path": "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarInfo.icns"}, "title": "Updating list of repos\u2026"}], "rerun": 0.5}
[15:38:34.808] Git Repos[Script Filter] Queuing argument ''
[15:38:35.110] Git Repos[Script Filter] Script with argument '' finished
[15:38:35.129] STDERR: Git Repos[Script Filter] 15:38:34 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:34 workflow.py:1657 DEBUG reading settings from /Users/muyexi/Library/Application Support/Alfred/Workflow Data/net.deanishe.alfred-git-repos/settings.json
15:38:34 workflow.py:2531 DEBUG update check not due
15:38:34 workflow.py:2411 DEBUG last run version: 2.1.2
15:38:34 repos.py:341 DEBUG args={'': None,
'': None,
'': u'',
'open': False,
'search': True,
'settings': False,
'update': False}
15:38:34 repos.py:357 DEBUG opts={'do_update': False, 'appkey': 'default', 'do_settings': False, 'do_open': False, 'do_search': True, 'query': u'', 'path': None, 'update_interval': 10800}
15:38:34 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/__workflow_update_status.cpickle
15:38:34 workflow.py:2461 DEBUG update_data: {u'available': False}
15:38:34 repos.py:131 DEBUG cache_age=0.49, settings_age=2764.28
15:38:34 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/repos.cpickle
15:38:34 background.py:233 DEBUG [update] command cached: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/update.argcache
15:38:34 background.py:237 DEBUG [update] passing job to background runner: [u'/usr/bin/python', '/Users/muyexi/Dropbox/Alfred/Alfred.alfredpreferences/workflows/user.workflow.2AD1A6B4-64A4-4AD0-84E2-CFD468D831F7/workflow/background.pyc', 'update']
15:38:35 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:35 background.py:243 DEBUG [update] background job started
15:38:35 workflow.py:2440 DEBUG set last run version: 2.1.2
15:38:35 workflow.py:2289 DEBUG ---------- finished in 0.110s ----------
[15:38:35.131] Git Repos[Script Filter] {"items": [{"valid": false, "subtitle": "Should be done in a few seconds", "icon": {"path": "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarInfo.icns"}, "title": "Updating list of repos\u2026"}], "rerun": 0.5}
[15:38:35.615] Git Repos[Script Filter] Queuing argument ''
[15:38:35.905] Git Repos[Script Filter] Script with argument '' finished
[15:38:35.917] STDERR: Git Repos[Script Filter] 15:38:35 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:35 workflow.py:1657 DEBUG reading settings from /Users/muyexi/Library/Application Support/Alfred/Workflow Data/net.deanishe.alfred-git-repos/settings.json
15:38:35 workflow.py:2531 DEBUG update check not due
15:38:35 workflow.py:2411 DEBUG last run version: 2.1.2
15:38:35 repos.py:341 DEBUG args={'': None,
'': None,
'': u'',
'open': False,
'search': True,
'settings': False,
'update': False}
15:38:35 repos.py:357 DEBUG opts={'do_update': False, 'appkey': 'default', 'do_settings': False, 'do_open': False, 'do_search': True, 'query': u'', 'path': None, 'update_interval': 10800}
15:38:35 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/__workflow_update_status.cpickle
15:38:35 workflow.py:2461 DEBUG update_data: {u'available': False}
15:38:35 repos.py:131 DEBUG cache_age=0.47, settings_age=2765.08
15:38:35 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/repos.cpickle
15:38:35 background.py:233 DEBUG [update] command cached: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/update.argcache
15:38:35 background.py:237 DEBUG [update] passing job to background runner: [u'/usr/bin/python', '/Users/muyexi/Dropbox/Alfred/Alfred.alfredpreferences/workflows/user.workflow.2AD1A6B4-64A4-4AD0-84E2-CFD468D831F7/workflow/background.pyc', 'update']
15:38:35 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:35 background.py:243 DEBUG [update] background job started
15:38:35 workflow.py:2440 DEBUG set last run version: 2.1.2
15:38:35 workflow.py:2289 DEBUG ---------- finished in 0.109s ----------
[15:38:35.919] Git Repos[Script Filter] {"items": [{"valid": false, "subtitle": "Should be done in a few seconds", "icon": {"path": "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarInfo.icns"}, "title": "Updating list of repos\u2026"}], "rerun": 0.5}
[15:38:36.408] Git Repos[Script Filter] Queuing argument ''
[15:38:36.689] Git Repos[Script Filter] Script with argument '' finished
[15:38:36.709] STDERR: Git Repos[Script Filter] 15:38:36 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:36 workflow.py:1657 DEBUG reading settings from /Users/muyexi/Library/Application Support/Alfred/Workflow Data/net.deanishe.alfred-git-repos/settings.json
15:38:36 workflow.py:2531 DEBUG update check not due
15:38:36 workflow.py:2411 DEBUG last run version: 2.1.2
15:38:36 repos.py:341 DEBUG args={'': None,
'': None,
'': u'',
'open': False,
'search': True,
'settings': False,
'update': False}
15:38:36 repos.py:357 DEBUG opts={'do_update': False, 'appkey': 'default', 'do_settings': False, 'do_open': False, 'do_search': True, 'query': u'', 'path': None, 'update_interval': 10800}
15:38:36 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/__workflow_update_status.cpickle
15:38:36 workflow.py:2461 DEBUG update_data: {u'available': False}
15:38:36 repos.py:131 DEBUG cache_age=0.40, settings_age=2765.87
15:38:36 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/repos.cpickle
15:38:36 background.py:233 DEBUG [update] command cached: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/update.argcache
15:38:36 background.py:237 DEBUG [update] passing job to background runner: [u'/usr/bin/python', '/Users/muyexi/Dropbox/Alfred/Alfred.alfredpreferences/workflows/user.workflow.2AD1A6B4-64A4-4AD0-84E2-CFD468D831F7/workflow/background.pyc', 'update']
15:38:36 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:36 background.py:243 DEBUG [update] background job started
15:38:36 workflow.py:2440 DEBUG set last run version: 2.1.2
15:38:36 workflow.py:2289 DEBUG ---------- finished in 0.106s ----------
[15:38:36.711] Git Repos[Script Filter] {"items": [{"valid": false, "subtitle": "Should be done in a few seconds", "icon": {"path": "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarInfo.icns"}, "title": "Updating list of repos\u2026"}], "rerun": 0.5}
[15:38:37.189] Git Repos[Script Filter] Queuing argument ''
[15:38:37.480] Git Repos[Script Filter] Script with argument '' finished
[15:38:37.496] STDERR: Git Repos[Script Filter] 15:38:37 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:37 workflow.py:1657 DEBUG reading settings from /Users/muyexi/Library/Application Support/Alfred/Workflow Data/net.deanishe.alfred-git-repos/settings.json
15:38:37 workflow.py:2531 DEBUG update check not due
15:38:37 workflow.py:2411 DEBUG last run version: 2.1.2
15:38:37 repos.py:341 DEBUG args={'': None,
'': None,
'': u'',
'open': False,
'search': True,
'settings': False,
'update': False}
15:38:37 repos.py:357 DEBUG opts={'do_update': False, 'appkey': 'default', 'do_settings': False, 'do_open': False, 'do_search': True, 'query': u'', 'path': None, 'update_interval': 10800}
15:38:37 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/__workflow_update_status.cpickle
15:38:37 workflow.py:2461 DEBUG update_data: {u'available': False}
15:38:37 repos.py:131 DEBUG cache_age=0.47, settings_age=2766.65
15:38:37 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/repos.cpickle
15:38:37 background.py:233 DEBUG [update] command cached: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/update.argcache
15:38:37 background.py:237 DEBUG [update] passing job to background runner: [u'/usr/bin/python', '/Users/muyexi/Dropbox/Alfred/Alfred.alfredpreferences/workflows/user.workflow.2AD1A6B4-64A4-4AD0-84E2-CFD468D831F7/workflow/background.pyc', 'update']
15:38:37 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:37 background.py:243 DEBUG [update] background job started
15:38:37 workflow.py:2440 DEBUG set last run version: 2.1.2
15:38:37 workflow.py:2289 DEBUG ---------- finished in 0.111s ----------
[15:38:37.498] Git Repos[Script Filter] {"items": [{"valid": false, "subtitle": "Should be done in a few seconds", "icon": {"path": "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarInfo.icns"}, "title": "Updating list of repos\u2026"}], "rerun": 0.5}
[15:38:37.985] Git Repos[Script Filter] Queuing argument ''
[15:38:38.298] Git Repos[Script Filter] Script with argument '' finished
[15:38:38.311] STDERR: Git Repos[Script Filter] 15:38:38 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:38 workflow.py:1657 DEBUG reading settings from /Users/muyexi/Library/Application Support/Alfred/Workflow Data/net.deanishe.alfred-git-repos/settings.json
15:38:38 workflow.py:2531 DEBUG update check not due
15:38:38 workflow.py:2411 DEBUG last run version: 2.1.2
15:38:38 repos.py:341 DEBUG args={'': None,
'': None,
'': u'',
'open': False,
'search': True,
'settings': False,
'update': False}
15:38:38 repos.py:357 DEBUG opts={'do_update': False, 'appkey': 'default', 'do_settings': False, 'do_open': False, 'do_search': True, 'query': u'', 'path': None, 'update_interval': 10800}
15:38:38 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/__workflow_update_status.cpickle
15:38:38 workflow.py:2461 DEBUG update_data: {u'available': False}
15:38:38 repos.py:131 DEBUG cache_age=0.49, settings_age=2767.46
15:38:38 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/repos.cpickle
15:38:38 background.py:233 DEBUG [update] command cached: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/update.argcache
15:38:38 background.py:237 DEBUG [update] passing job to background runner: [u'/usr/bin/python', '/Users/muyexi/Dropbox/Alfred/Alfred.alfredpreferences/workflows/user.workflow.2AD1A6B4-64A4-4AD0-84E2-CFD468D831F7/workflow/background.pyc', 'update']
15:38:38 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:38 background.py:243 DEBUG [update] background job started
15:38:38 workflow.py:2440 DEBUG set last run version: 2.1.2
15:38:38 workflow.py:2289 DEBUG ---------- finished in 0.119s ----------
[15:38:38.313] Git Repos[Script Filter] {"items": [{"valid": false, "subtitle": "Should be done in a few seconds", "icon": {"path": "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarInfo.icns"}, "title": "Updating list of repos\u2026"}], "rerun": 0.5}
[15:38:38.801] Git Repos[Script Filter] Queuing argument ''
[15:38:39.092] Git Repos[Script Filter] Script with argument '' finished
[15:38:39.111] STDERR: Git Repos[Script Filter] 15:38:38 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:38 workflow.py:1657 DEBUG reading settings from /Users/muyexi/Library/Application Support/Alfred/Workflow Data/net.deanishe.alfred-git-repos/settings.json
15:38:38 workflow.py:2531 DEBUG update check not due
15:38:38 workflow.py:2411 DEBUG last run version: 2.1.2
15:38:38 repos.py:341 DEBUG args={'': None,
'': None,
'': u'',
'open': False,
'search': True,
'settings': False,
'update': False}
15:38:38 repos.py:357 DEBUG opts={'do_update': False, 'appkey': 'default', 'do_settings': False, 'do_open': False, 'do_search': True, 'query': u'', 'path': None, 'update_interval': 10800}
15:38:38 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/__workflow_update_status.cpickle
15:38:38 workflow.py:2461 DEBUG update_data: {u'available': False}
15:38:38 repos.py:131 DEBUG cache_age=0.47, settings_age=2768.27
15:38:38 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/repos.cpickle
15:38:38 background.py:233 DEBUG [update] command cached: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/update.argcache
15:38:38 background.py:237 DEBUG [update] passing job to background runner: [u'/usr/bin/python', '/Users/muyexi/Dropbox/Alfred/Alfred.alfredpreferences/workflows/user.workflow.2AD1A6B4-64A4-4AD0-84E2-CFD468D831F7/workflow/background.pyc', 'update']
15:38:39 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:39 background.py:243 DEBUG [update] background job started
15:38:39 workflow.py:2440 DEBUG set last run version: 2.1.2
15:38:39 workflow.py:2289 DEBUG ---------- finished in 0.109s ----------
[15:38:39.113] Git Repos[Script Filter] {"items": [{"valid": false, "subtitle": "Should be done in a few seconds", "icon": {"path": "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarInfo.icns"}, "title": "Updating list of repos\u2026"}], "rerun": 0.5}
[15:38:39.597] Git Repos[Script Filter] Queuing argument ''
[15:38:39.887] Git Repos[Script Filter] Script with argument '' finished
[15:38:39.901] STDERR: Git Repos[Script Filter] 15:38:39 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:39 workflow.py:1657 DEBUG reading settings from /Users/muyexi/Library/Application Support/Alfred/Workflow Data/net.deanishe.alfred-git-repos/settings.json
15:38:39 workflow.py:2531 DEBUG update check not due
15:38:39 workflow.py:2411 DEBUG last run version: 2.1.2
15:38:39 repos.py:341 DEBUG args={'': None,
'': None,
'': u'',
'open': False,
'search': True,
'settings': False,
'update': False}
15:38:39 repos.py:357 DEBUG opts={'do_update': False, 'appkey': 'default', 'do_settings': False, 'do_open': False, 'do_search': True, 'query': u'', 'path': None, 'update_interval': 10800}
15:38:39 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/__workflow_update_status.cpickle
15:38:39 workflow.py:2461 DEBUG update_data: {u'available': False}
15:38:39 repos.py:131 DEBUG cache_age=0.48, settings_age=2769.06
15:38:39 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/repos.cpickle
15:38:39 background.py:233 DEBUG [update] command cached: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/update.argcache
15:38:39 background.py:237 DEBUG [update] passing job to background runner: [u'/usr/bin/python', '/Users/muyexi/Dropbox/Alfred/Alfred.alfredpreferences/workflows/user.workflow.2AD1A6B4-64A4-4AD0-84E2-CFD468D831F7/workflow/background.pyc', 'update']
15:38:39 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:39 background.py:243 DEBUG [update] background job started
15:38:39 workflow.py:2440 DEBUG set last run version: 2.1.2
15:38:39 workflow.py:2289 DEBUG ---------- finished in 0.108s ----------
[15:38:39.904] Git Repos[Script Filter] {"items": [{"valid": false, "subtitle": "Should be done in a few seconds", "icon": {"path": "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarInfo.icns"}, "title": "Updating list of repos\u2026"}], "rerun": 0.5}
[15:38:40.391] Git Repos[Script Filter] Queuing argument ''
[15:38:40.684] Git Repos[Script Filter] Script with argument '' finished
[15:38:40.696] STDERR: Git Repos[Script Filter] 15:38:40 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:40 workflow.py:1657 DEBUG reading settings from /Users/muyexi/Library/Application Support/Alfred/Workflow Data/net.deanishe.alfred-git-repos/settings.json
15:38:40 workflow.py:2531 DEBUG update check not due
15:38:40 workflow.py:2411 DEBUG last run version: 2.1.2
15:38:40 repos.py:341 DEBUG args={'': None,
'': None,
'': u'',
'open': False,
'search': True,
'settings': False,
'update': False}
15:38:40 repos.py:357 DEBUG opts={'do_update': False, 'appkey': 'default', 'do_settings': False, 'do_open': False, 'do_search': True, 'query': u'', 'path': None, 'update_interval': 10800}
15:38:40 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/__workflow_update_status.cpickle
15:38:40 workflow.py:2461 DEBUG update_data: {u'available': False}
15:38:40 repos.py:131 DEBUG cache_age=0.48, settings_age=2769.86
15:38:40 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/repos.cpickle
15:38:40 background.py:233 DEBUG [update] command cached: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/update.argcache
15:38:40 background.py:237 DEBUG [update] passing job to background runner: [u'/usr/bin/python', '/Users/muyexi/Dropbox/Alfred/Alfred.alfredpreferences/workflows/user.workflow.2AD1A6B4-64A4-4AD0-84E2-CFD468D831F7/workflow/background.pyc', 'update']
15:38:40 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:40 background.py:243 DEBUG [update] background job started
15:38:40 workflow.py:2440 DEBUG set last run version: 2.1.2
15:38:40 workflow.py:2289 DEBUG ---------- finished in 0.108s ----------
[15:38:40.698] Git Repos[Script Filter] {"items": [{"valid": false, "subtitle": "Should be done in a few seconds", "icon": {"path": "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarInfo.icns"}, "title": "Updating list of repos\u2026"}], "rerun": 0.5}
[15:38:41.189] Git Repos[Script Filter] Queuing argument ''
[15:38:41.473] Git Repos[Script Filter] Script with argument '' finished
[15:38:41.490] STDERR: Git Repos[Script Filter] 15:38:41 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:41 workflow.py:1657 DEBUG reading settings from /Users/muyexi/Library/Application Support/Alfred/Workflow Data/net.deanishe.alfred-git-repos/settings.json
15:38:41 workflow.py:2531 DEBUG update check not due
15:38:41 workflow.py:2411 DEBUG last run version: 2.1.2
15:38:41 repos.py:341 DEBUG args={'': None,
'': None,
'': u'',
'open': False,
'search': True,
'settings': False,
'update': False}
15:38:41 repos.py:357 DEBUG opts={'do_update': False, 'appkey': 'default', 'do_settings': False, 'do_open': False, 'do_search': True, 'query': u'', 'path': None, 'update_interval': 10800}
15:38:41 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/__workflow_update_status.cpickle
15:38:41 workflow.py:2461 DEBUG update_data: {u'available': False}
15:38:41 repos.py:131 DEBUG cache_age=0.48, settings_age=2770.65
15:38:41 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/repos.cpickle
15:38:41 background.py:233 DEBUG [update] command cached: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/update.argcache
15:38:41 background.py:237 DEBUG [update] passing job to background runner: [u'/usr/bin/python', '/Users/muyexi/Dropbox/Alfred/Alfred.alfredpreferences/workflows/user.workflow.2AD1A6B4-64A4-4AD0-84E2-CFD468D831F7/workflow/background.pyc', 'update']
15:38:41 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:41 background.py:243 DEBUG [update] background job started
15:38:41 workflow.py:2440 DEBUG set last run version: 2.1.2
15:38:41 workflow.py:2289 DEBUG ---------- finished in 0.104s ----------
[15:38:41.492] Git Repos[Script Filter] {"items": [{"valid": false, "subtitle": "Should be done in a few seconds", "icon": {"path": "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarInfo.icns"}, "title": "Updating list of repos\u2026"}], "rerun": 0.5}
[15:38:41.977] Git Repos[Script Filter] Queuing argument ''
[15:38:42.255] Git Repos[Script Filter] Script with argument '' finished
[15:38:42.271] STDERR: Git Repos[Script Filter] 15:38:42 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:42 workflow.py:1657 DEBUG reading settings from /Users/muyexi/Library/Application Support/Alfred/Workflow Data/net.deanishe.alfred-git-repos/settings.json
15:38:42 workflow.py:2531 DEBUG update check not due
15:38:42 workflow.py:2411 DEBUG last run version: 2.1.2
15:38:42 repos.py:341 DEBUG args={'': None,
'': None,
'': u'',
'open': False,
'search': True,
'settings': False,
'update': False}
15:38:42 repos.py:357 DEBUG opts={'do_update': False, 'appkey': 'default', 'do_settings': False, 'do_open': False, 'do_search': True, 'query': u'', 'path': None, 'update_interval': 10800}
15:38:42 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/__workflow_update_status.cpickle
15:38:42 workflow.py:2461 DEBUG update_data: {u'available': False}
15:38:42 repos.py:131 DEBUG cache_age=0.47, settings_age=2771.43
15:38:42 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/repos.cpickle
15:38:42 background.py:233 DEBUG [update] command cached: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/update.argcache
15:38:42 background.py:237 DEBUG [update] passing job to background runner: [u'/usr/bin/python', '/Users/muyexi/Dropbox/Alfred/Alfred.alfredpreferences/workflows/user.workflow.2AD1A6B4-64A4-4AD0-84E2-CFD468D831F7/workflow/background.pyc', 'update']
15:38:42 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:42 background.py:243 DEBUG [update] background job started
15:38:42 workflow.py:2440 DEBUG set last run version: 2.1.2
15:38:42 workflow.py:2289 DEBUG ---------- finished in 0.104s ----------
[15:38:42.273] Git Repos[Script Filter] {"items": [{"valid": false, "subtitle": "Should be done in a few seconds", "icon": {"path": "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarInfo.icns"}, "title": "Updating list of repos\u2026"}], "rerun": 0.5}
[15:38:42.760] Git Repos[Script Filter] Queuing argument ''
[15:38:43.042] Git Repos[Script Filter] Script with argument '' finished
[15:38:43.052] STDERR: Git Repos[Script Filter] 15:38:42 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:42 workflow.py:1657 DEBUG reading settings from /Users/muyexi/Library/Application Support/Alfred/Workflow Data/net.deanishe.alfred-git-repos/settings.json
15:38:42 workflow.py:2531 DEBUG update check not due
15:38:42 workflow.py:2411 DEBUG last run version: 2.1.2
15:38:42 repos.py:341 DEBUG args={'': None,
'': None,
'': u'',
'open': False,
'search': True,
'settings': False,
'update': False}
15:38:42 repos.py:357 DEBUG opts={'do_update': False, 'appkey': 'default', 'do_settings': False, 'do_open': False, 'do_search': True, 'query': u'', 'path': None, 'update_interval': 10800}
15:38:42 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/__workflow_update_status.cpickle
15:38:42 workflow.py:2461 DEBUG update_data: {u'available': False}
15:38:42 repos.py:131 DEBUG cache_age=0.47, settings_age=2772.22
15:38:42 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/repos.cpickle
15:38:42 background.py:233 DEBUG [update] command cached: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/update.argcache
15:38:42 background.py:237 DEBUG [update] passing job to background runner: [u'/usr/bin/python', '/Users/muyexi/Dropbox/Alfred/Alfred.alfredpreferences/workflows/user.workflow.2AD1A6B4-64A4-4AD0-84E2-CFD468D831F7/workflow/background.pyc', 'update']
15:38:42 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:42 background.py:243 DEBUG [update] background job started
15:38:42 workflow.py:2440 DEBUG set last run version: 2.1.2
15:38:42 workflow.py:2289 DEBUG ---------- finished in 0.106s ----------
[15:38:43.054] Git Repos[Script Filter] {"items": [{"valid": false, "subtitle": "Should be done in a few seconds", "icon": {"path": "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarInfo.icns"}, "title": "Updating list of repos\u2026"}], "rerun": 0.5}
[15:38:43.548] Git Repos[Script Filter] Queuing argument ''
[15:38:43.824] Git Repos[Script Filter] Script with argument '' finished
[15:38:43.840] STDERR: Git Repos[Script Filter] 15:38:43 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:43 workflow.py:1657 DEBUG reading settings from /Users/muyexi/Library/Application Support/Alfred/Workflow Data/net.deanishe.alfred-git-repos/settings.json
15:38:43 workflow.py:2531 DEBUG update check not due
15:38:43 workflow.py:2411 DEBUG last run version: 2.1.2
15:38:43 repos.py:341 DEBUG args={'': None,
'': None,
'': u'',
'open': False,
'search': True,
'settings': False,
'update': False}
15:38:43 repos.py:357 DEBUG opts={'do_update': False, 'appkey': 'default', 'do_settings': False, 'do_open': False, 'do_search': True, 'query': u'', 'path': None, 'update_interval': 10800}
15:38:43 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/__workflow_update_status.cpickle
15:38:43 workflow.py:2461 DEBUG update_data: {u'available': False}
15:38:43 repos.py:131 DEBUG cache_age=0.48, settings_age=2773.00
15:38:43 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/repos.cpickle
15:38:43 background.py:233 DEBUG [update] command cached: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/update.argcache
15:38:43 background.py:237 DEBUG [update] passing job to background runner: [u'/usr/bin/python', '/Users/muyexi/Dropbox/Alfred/Alfred.alfredpreferences/workflows/user.workflow.2AD1A6B4-64A4-4AD0-84E2-CFD468D831F7/workflow/background.pyc', 'update']
15:38:43 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:43 background.py:243 DEBUG [update] background job started
15:38:43 workflow.py:2440 DEBUG set last run version: 2.1.2
15:38:43 workflow.py:2289 DEBUG ---------- finished in 0.103s ----------
[15:38:43.842] Git Repos[Script Filter] {"items": [{"valid": false, "subtitle": "Should be done in a few seconds", "icon": {"path": "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarInfo.icns"}, "title": "Updating list of repos\u2026"}], "rerun": 0.5}
[15:38:44.325] Git Repos[Script Filter] Queuing argument ''
[15:38:44.609] Git Repos[Script Filter] Script with argument '' finished
[15:38:44.621] STDERR: Git Repos[Script Filter] 15:38:44 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:44 workflow.py:1657 DEBUG reading settings from /Users/muyexi/Library/Application Support/Alfred/Workflow Data/net.deanishe.alfred-git-repos/settings.json
15:38:44 workflow.py:2531 DEBUG update check not due
15:38:44 workflow.py:2411 DEBUG last run version: 2.1.2
15:38:44 repos.py:341 DEBUG args={'': None,
'': None,
'': u'',
'open': False,
'search': True,
'settings': False,
'update': False}
15:38:44 repos.py:357 DEBUG opts={'do_update': False, 'appkey': 'default', 'do_settings': False, 'do_open': False, 'do_search': True, 'query': u'', 'path': None, 'update_interval': 10800}
15:38:44 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/__workflow_update_status.cpickle
15:38:44 workflow.py:2461 DEBUG update_data: {u'available': False}
15:38:44 repos.py:131 DEBUG cache_age=0.48, settings_age=2773.79
15:38:44 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/repos.cpickle
15:38:44 background.py:233 DEBUG [update] command cached: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/update.argcache
15:38:44 background.py:237 DEBUG [update] passing job to background runner: [u'/usr/bin/python', '/Users/muyexi/Dropbox/Alfred/Alfred.alfredpreferences/workflows/user.workflow.2AD1A6B4-64A4-4AD0-84E2-CFD468D831F7/workflow/background.pyc', 'update']
15:38:44 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:44 background.py:243 DEBUG [update] background job started
15:38:44 workflow.py:2440 DEBUG set last run version: 2.1.2
15:38:44 workflow.py:2289 DEBUG ---------- finished in 0.105s ----------
[15:38:44.623] Git Repos[Script Filter] {"items": [{"valid": false, "subtitle": "Should be done in a few seconds", "icon": {"path": "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarInfo.icns"}, "title": "Updating list of repos\u2026"}], "rerun": 0.5}
[15:38:45.112] Git Repos[Script Filter] Queuing argument ''
[15:38:45.403] Git Repos[Script Filter] Script with argument '' finished
[15:38:45.423] STDERR: Git Repos[Script Filter] 15:38:45 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:45 workflow.py:1657 DEBUG reading settings from /Users/muyexi/Library/Application Support/Alfred/Workflow Data/net.deanishe.alfred-git-repos/settings.json
15:38:45 workflow.py:2531 DEBUG update check not due
15:38:45 workflow.py:2411 DEBUG last run version: 2.1.2
15:38:45 repos.py:341 DEBUG args={'': None,
'': None,
'': u'',
'open': False,
'search': True,
'settings': False,
'update': False}
15:38:45 repos.py:357 DEBUG opts={'do_update': False, 'appkey': 'default', 'do_settings': False, 'do_open': False, 'do_search': True, 'query': u'', 'path': None, 'update_interval': 10800}
15:38:45 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/__workflow_update_status.cpickle
15:38:45 workflow.py:2461 DEBUG update_data: {u'available': False}
15:38:45 repos.py:131 DEBUG cache_age=0.48, settings_age=2774.57
15:38:45 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/repos.cpickle
15:38:45 background.py:233 DEBUG [update] command cached: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/update.argcache
15:38:45 background.py:237 DEBUG [update] passing job to background runner: [u'/usr/bin/python', '/Users/muyexi/Dropbox/Alfred/Alfred.alfredpreferences/workflows/user.workflow.2AD1A6B4-64A4-4AD0-84E2-CFD468D831F7/workflow/background.pyc', 'update']
15:38:45 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:45 background.py:243 DEBUG [update] background job started
15:38:45 workflow.py:2440 DEBUG set last run version: 2.1.2
15:38:45 workflow.py:2289 DEBUG ---------- finished in 0.114s ----------
[15:38:45.426] Git Repos[Script Filter] {"items": [{"valid": false, "subtitle": "Should be done in a few seconds", "icon": {"path": "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarInfo.icns"}, "title": "Updating list of repos\u2026"}], "rerun": 0.5}
[15:38:45.907] Git Repos[Script Filter] Queuing argument ''
[15:38:46.212] Git Repos[Script Filter] Script with argument '' finished
[15:38:46.228] STDERR: Git Repos[Script Filter] 15:38:46 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:46 workflow.py:1657 DEBUG reading settings from /Users/muyexi/Library/Application Support/Alfred/Workflow Data/net.deanishe.alfred-git-repos/settings.json
15:38:46 workflow.py:2531 DEBUG update check not due
15:38:46 workflow.py:2411 DEBUG last run version: 2.1.2
15:38:46 repos.py:341 DEBUG args={'': None,
'': None,
'': u'',
'open': False,
'search': True,
'settings': False,
'update': False}
15:38:46 repos.py:357 DEBUG opts={'do_update': False, 'appkey': 'default', 'do_settings': False, 'do_open': False, 'do_search': True, 'query': u'', 'path': None, 'update_interval': 10800}
15:38:46 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/__workflow_update_status.cpickle
15:38:46 workflow.py:2461 DEBUG update_data: {u'available': False}
15:38:46 repos.py:131 DEBUG cache_age=0.48, settings_age=2775.38
15:38:46 workflow.py:1884 DEBUG loading cached data: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/repos.cpickle
15:38:46 background.py:233 DEBUG [update] command cached: /Users/muyexi/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/net.deanishe.alfred-git-repos/update.argcache
15:38:46 background.py:237 DEBUG [update] passing job to background runner: [u'/usr/bin/python', '/Users/muyexi/Dropbox/Alfred/Alfred.alfredpreferences/workflows/user.workflow.2AD1A6B4-64A4-4AD0-84E2-CFD468D831F7/workflow/background.pyc', 'update']
15:38:46 workflow.py:2247 DEBUG ---------- Git Repos (2.1.2) ----------
15:38:46 background.py:243 DEBUG [update] background job started
15:38:46 workflow.py:2440 DEBUG set last run version: 2.1.2
15:38:46 workflow.py:2289 DEBUG ---------- finished in 0.119s ----------
[15:38:46.231] Git Repos[Script Filter] {"items": [{"valid": false, "subtitle": "Should be done in a few seconds", "icon": {"path": "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarInfo.icns"}, "title": "Updating list of repos\u2026"}], "rerun": 0.5}

Support for shell scripts in opening apps

Currently if I want to open a repo with IntelliJ Idea the official recommendation is to leverage the auto-generated shell script /usr/local/bin/idea. Unfortunately that's not working when I set it up in one of the app_* options:

  "app_cmd": "/usr/local/bin/idea", 

If I inline it I get it working but then I end up with something like this:

  "app_cmd": "/Users/miguel.perez/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/202.7660.26/IntelliJ IDEA.app/Contents/MacOS/idea", 

Which has two problems:

  • It's likely to change in future releases of IntelliJ (different versions with different build numbers and that's why they provide a wrapper script)
  • It's look ugly when you hold the mod key in the results listing: ~/projects/../... // Open in /Users/miguel.perez/Library/Applic

not opening in sublime text

{
  "__workflow_last_version": "1.7.0", 
  "app_1": "Sublime Text", 
  "app_2": "iTerm-2", 
  "app_3": "Finder", 
  "app_4": "SourceTree", 
  "app_5": [
    "Finder", 
    "Sublime Text", 
    "SourceTree", 
    "iTerm-2"
  ], 
  "app_6": "", 
  "global_exclude_patterns": [], 
  "search_dirs": [
    {
      "depth": 3, 
      "excludes": [
        "tmp", 
        "logs", 
        "node_modules", 
        "vendor"
      ], 
      "name_for_parent": 1, 
      "path": "~/Documents/LocalProjects"
    }
  ]
}

Dependabot couldn't find a requirements.txt for this project

Dependabot couldn't find a requirements.txt for this project.

Dependabot requires a requirements.txt to evaluate your project's current Python dependencies. It had expected to find one at the path: /requirements.txt.

If this isn't a Python project, or if it is a library, you may wish to disable updates for it from within Dependabot.

You can mention @dependabot in the comments below to contact the Dependabot team.

Allow min_score of the filter to be configured

The min_score set on the filter currently is 30. https://github.com/deanishe/alfred-repos/blob/master/src/repos.py#L296

I find this to not work with the way I fuzzily type out repos. I believe it is set as it is for speed if there are a lot of repos to search through, so I'm wondering if this could be moved to the json config. Maybe the option would be: optimize_for and the default would be speed which would translate to the min_score of 30 but the other option would be search or something of that nature and remove the min_score.

If speed is not what that is there for, I'd love to know why.

Initialising loop

Hi

A few weeks ago I got a new mac at work. I installed Alfred, installed this workflow and edited the config. But every time I want to run the workflow it says it's initialising. It has been like that from the beginning. I have tried uninstalling and reinstalling the workflow, deleting all the alfred db files and I tried with a fresh config file and added my directories. Nothing worked, it's still stuck on initialising.

It used to work on my old mac.

What could be the problem? And how can I make it work?

Thanks

“depth” option description is misleading

Configuring the workflow for the first time, I hit a snag where my repos seemingly randomly disappeared from search results. As it turned out, this was due to my understanding of the depth config option. The README states:

use the depth option to restrict the search depth [...] (i.e. search within subdirectories of specified directory, but no lower)

which suggests it limits the search to a maximum subdirectory depth. However, the actual find command in update.py uses the -depth n option, which defines an exact subdirectory depth to be searched. This means either that

  • the behavior is intentional; in that case, the documentation should be reworded. Or that
  • the find command should actually use the -maxdepth n option for the depth setting.

Personally, I would find the second option far more intuitive, but that is up to you.


Ref: Apple man page for OS X’ find

Feature request: Show current branch in search results.

For people working on multiple things at the same time within the same project it would be a big benefit to see which instance of the cloned repo is pointed at which branch.

Ideal experience would also have the information about whether it's dirty or not.

Personally I tend to have 3+ clones of the same repository I rotate for different work (e.g. I have one longer going thing and then bunch of smaller bug fixes and or features and then a clone for helping people I can safely nuke any and all changes on anytime).

Thank you.

Error in workflow - No JSON object could be decoded

Hey,

Repos looks awesome but unfortunately I seem to be getting an error.

superlumic-config

I'm not a JSON expert but I don't think there are errors in my configuration, here's what I have:

{
  "app_1": "Finder",
  "app_2": "Atom",
  "app_3": "Sublime Text",
  "app_4": "Tower",
  "app_5": "HyperTerm",
  "app_6": ["Finder", "Atom", "Tower", "HyperTerm"],
  "global_exclude_patterns": [],
  "search_dirs": [
    {
      "path": "~/Source",
      "depth": 2
    },
  ]
}

Am I missing something?

Note that I am running the Sierra beta so it may be incompatible but I doubt it in this context.

macOS Sierra 10.12 Beta (16A304a)
Alfred 3.1 [716]

Doesn't exclude a folder

Here is my settings.json config:

{
  "__workflow_last_version": "2.1.2",
  "app_alt": "iTerm",
  "app_cmd": "Finder",
  "app_shift": "Tower",
  "app_fn": "Safari",
  "app_default": "Visual Studio Code",
  "app_ctrl": "Sublime Text",
  "global_exclude_patterns": [],
  "search_dirs": [
    {
      "path": "~/src",
      "depth": 6,
      "excludes": [
          "play/*"
      ]
    },
    {
      "path": "~/go/src/github.com/nikitavoloboev",
      "depth": 3
    },
    {
      "path": "~/.dotfiles/"
    }
  ]
}

The issue is that the excludes block doesn't seem to work like I thought it would.

Here is contents of my ~/src dir:

~/src
❯ ls
Xcode		github		learning	play		scripts		uni
forks		ideas		ml		safari		testing

The play dir is in there. I made sure to force update with reposupdate and waited a bit too in case it cached those directories or something. But even then it shows me directories inside play. Not sure what I did wrong.

2018-02-07 at 19 36

Thank you for any help.

Dirname in results list suboptimal

First: Thank you for this Workflow!
Second: here's my Problem... :-)

My projects are in an tree like this:

project1/
    htdocs/
    private/
    deploy/
project2/
    htdocs/
    private/
    deploy/
[...]

while htdocs contains the git-repositories.
Because of this, i see only a list of a lot "htdocs" in Alfred...

Alternative solution would be to take the remote origin directory name.
Exampe in bash:

git remote show origin -n | grep "Fetch URL" |  rev | cut -d/ -f1 | rev

This gives us a repo name that is independent from local directory structure.

Unknown error

I keep getting errors with the following output:

[22:48:35.460] Git Repos[Keyword] Processing complete
[22:48:35.479] Git Repos[Keyword] Passing output '' to Run Script
[22:48:35.742] ERROR: Git Repos[Run Script] .
22:48:35 workflow.py:2061 DEBUG    ---------- Git Repos (3.0.0) ----------
22:48:35 workflow.py:1468 DEBUG    reading settings from /Users/theranbrigowatz/Library/Application Support/Alfred/Workflow Data/net.deanishe.alfred-git-repos/settings.json
22:48:35 workflow.py:2343 DEBUG    update check not due
22:48:35 workflow.py:2225 DEBUG    last run version: None
22:48:35 workflow.py:2080 ERROR    not a Version instance: None
Traceback (most recent call last):
  File "/Users/theranbrigowatz/Library/Application Support/Alfred/Alfred.alfredpreferences/workflows/user.workflow.096FD77C-8226-4021-9611-C5B4BB4445E4/workflow/workflow.py", line 2073, in run
    func(self)
  File "repos.py", line 369, in main
    if wf.last_version_run < Version('2'):
  File "/Users/theranbrigowatz/Library/Application Support/Alfred/Alfred.alfredpreferences/workflows/user.workflow.096FD77C-8226-4021-9611-C5B4BB4445E4/workflow/update.py", line 322, in __gt__
    raise ValueError('not a Version instance: {0!r}'.format(other))
ValueError: not a Version instance: None
22:48:35 workflow.py:2082 INFO     for assistance, see: https://github.com/deanishe/alfred-repos/issues
22:48:35 workflow.py:2103 DEBUG    ---------- finished in 0.006s ----------

My settings file is very basic:

{
  "app_cmd": "Terminal", 
  "app_default": "Finder", 
  "global_exclude_patterns": [], 
  "search_dirs": [
    {
      "depth": 2, 
      "excludes": [
        "tmp", 
        "bad/smell/*"
      ], 
      "name_for_parent": 1, 
      "path": "~/WebDev/projects"
    }
  ]
}

Is it possible to specify to run Applescript on modifier key press?

I would like to run this Applescript when fn modifier key is held down and result is picked.

tell application "iTerm"
	if exists window 1 then
		tell current window
			tell current session to write text "cd {query}"
		end tell
	else
		create window with default profile
		tell current window
			tell current session to write text "cd {query}"
		end tell
	end if
end tell
tell application "System Events"
	if frontmost of process "iTerm2" is false then key code 13 using {option down, control down, shift down, command down}
end tell

This will cd to the path of the git project from my current iTerm tab.

It would be amazing if it would be possible to add this as it will save me so much time. Thank you.

Broken in macOS 12.3 (Apple removed python 2.7)

Apple removed python 2.7 from the OS.

[07:21:20.727] ERROR: Git Repos[Script Filter] Code 127: /Users/USER/Library/Caches/com.runningwithcrayons.Alfred/Workflow Scripts/2AFCB159-8D2A-4CAF-952B-E85AEFF61D0A: line 1: /usr/bin/python: No such file or directory

If I update the path to /usr/bin/python3 I get the following errors.

[07:33:46.057] ERROR: Git Repos[Script Filter] Code 1: Traceback (most recent call last):
  File "repos.py", line 34, in <module>
    from workflow import Workflow3, ICON_WARNING, ICON_INFO
  File "/Users/USER/Documents/sharedsystem/Alfred/showtime/Alfred.alfredpreferences/workflows/user.workflow.7065A959-FB75-4F7A-8F72-DFFD2FF19068/workflow/__init__.py", line 16, in <module>
    from .workflow import Workflow, manager
  File "/Users/USER/Documents/sharedsystem/Alfred/showtime/Alfred.alfredpreferences/workflows/user.workflow.7065A959-FB75-4F7A-8F72-DFFD2FF19068/workflow/workflow.py", line 25, in <module>
    import cPickle
ModuleNotFoundError: No module named 'cPickle'

The version installed by Xcode is:

/usr/bin/python3 --version
Python 3.8.9

Watch for changes via FSEvents

Awesome workflow btw! I was using s custom bash script with find and it was sometimes really slow. I switched to this workflow and it's awesome 👍. Love the caching!

I was thinking about writing something like this, but I'm not as familiar with Python as I am with Go. One of the things I was looking at is FSEvents, which lets you watch a directory for changes recursively.

There is a library called MacFSEvents for Python that wraps FSEvents. You could use this to update the index immediately rather than having to poll every 3 hours.

Malformed repos settings json means you can't open the settings file with the workflow anymore

First of all, thank you for all the great work you've done with your Alfred workflows. Your python library was a huge help to me in the workflows that I've made.


Like #11 I had accidentally saved the repos settings file with malformed JSON. When I tried to use the reposettings command it no longer worked. Debugging the flow I get this error:

22:58:17 workflow.py:2061 DEBUG    ---------- Git Repos (3.1.2) ----------
22:58:17 workflow.py:1468 DEBUG    reading settings from /Users/matthew/Library/Application Support/Alfred/Workflow Data/net.deanishe.alfred-git-repos/settings.json
22:58:17 workflow.py:2080 ERROR    Expecting , delimiter: line 17 column 5 (char 337)
Traceback (most recent call last):
  File "/Users/matthew/Library/Application Support/Alfred/Alfred.alfredpreferences/workflows/user.workflow.3B7A56B2-4D42-407F-98AA-B2AB1A245577/workflow/workflow.py", line 2070, in run
    self.check_update()
  File "/Users/matthew/Library/Application Support/Alfred/Alfred.alfredpreferences/workflows/user.workflow.3B7A56B2-4D42-407F-98AA-B2AB1A245577/workflow/workflow.py", line 2316, in check_update
    if not force and not self.settings.get('__workflow_autoupdate', True):
  File "/Users/matthew/Library/Application Support/Alfred/Alfred.alfredpreferences/workflows/user.workflow.3B7A56B2-4D42-407F-98AA-B2AB1A245577/workflow/workflow.py", line 1470, in settings
    self._default_settings)
  File "/Users/matthew/Library/Application Support/Alfred/Alfred.alfredpreferences/workflows/user.workflow.3B7A56B2-4D42-407F-98AA-B2AB1A245577/workflow/workflow.py", line 827, in __init__
    self._load()
  File "/Users/matthew/Library/Application Support/Alfred/Alfred.alfredpreferences/workflows/user.workflow.3B7A56B2-4D42-407F-98AA-B2AB1A245577/workflow/workflow.py", line 838, in _load
    data.update(json.load(fp))
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 291, in load
    **kw)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 339, in loads
    return _default_decoder.decode(s)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 364, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 380, in raw_decode
    obj, end = self.scan_once(s, idx)
ValueError: Expecting , delimiter: line 17 column 5 (char 337)
22:58:17 workflow.py:2082 INFO     for assistance, see: https://github.com/deanishe/alfred-repos/issues
22:58:17 workflow.py:2103 DEBUG    ---------- finished in 0.002s ----------

Does the settings file actually need to be parsed to open it, or could it be separated from it?

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.