python 愚蠢的简单脚本通过Alfred运行,从.app或.icns文件中生成512x512图标并将其复制到Munki仓库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 愚蠢的简单脚本通过Alfred运行,从.app或.icns文件中生成512x512图标并将其复制到Munki仓库相关的知识,希望对你有一定的参考价值。

# "{query}" string on line 18 is a tab-delimited string of a list of paths
# given by Alfred via a Finder selection

import os
import shutil
import subprocess
import sys
import tempfile

SIZE = '512x512'
MUNKI_REPO_ICONS_DIR = "/Volumes/munki_repo/icons"

if not os.path.exists('/usr/local/munki'):
    sys.exit(1)
sys.path.insert(0, '/usr/local/munki')
from munkilib import FoundationPlist

inputfiles = "{query}".split("\t")
for f in inputfiles:
    if f.endswith('.app'):
        iconfilename = FoundationPlist.readPlist(os.path.join(f, 'Contents/Info.plist'))['CFBundleIconFile']
        if iconfilename.endswith('.icns'):
            iconfilename = iconfilename.split('.icns')[0]
        icnspath = os.path.join(f, 'Contents/Resources', iconfilename + '.icns')
        if not os.path.exists(icnspath):
            print >> sys.stderr, "Icon path %s not found!" % icnspath
            continue
    elif f.endswith('.icns'):
        icnspath = f
    name_portion = os.path.splitext(os.path.basename(f))[0]

    outdir = tempfile.mkdtemp() + '.iconset'
    subprocess.call(['/usr/bin/iconutil', '--convert', 'iconset', '--output', outdir, icnspath])
    chosen_icon = os.path.join(outdir, 'icon_%s.png' % SIZE)
    shutil.copy(chosen_icon, os.path.join(MUNKI_REPO_ICONS_DIR, name_portion + '.png'))

以上是关于python 愚蠢的简单脚本通过Alfred运行,从.app或.icns文件中生成512x512图标并将其复制到Munki仓库的主要内容,如果未能解决你的问题,请参考以下文章

python 用于安装/符号链接Alfred工作流的脚本。对工作流开发者有用。

从 python 中运行 bash 脚本

Apache服务器中的Python Cgi脚本

Apache服务器中的Python Cgi脚本

[配置Cordova环境] [Alfred使用手册]

在 Python 中测量脚本运行时间 [重复]