2016年7月23日土曜日

Photoshop JavaScript:レイヤーを別のファイルへ複製する。

業務でPhotoshopのJavaScriptによる自動化を行いました。
その際、「特定レイヤーセットを、別のファイルへ複製する」方法を調べたのですが、なかなかヒットしなかったので、こちらに投稿しておきます。

psObj = open(new File('<コピー先のファイルパス>')); 
refObj = open(new File('<コピー元のファイルパス>')); 
var layObj = refObj.layerSets.getByName("<指定するレイヤーセットの名前>")
layObj.duplicate(psObj)

割と簡単でした。
ちなみに、上記の例では、一番上の階層のレイヤーセットのみを検索します。
その下階層の場合は、指定のlayerSetの中のlayerSetを取得してやる必要があります。

また、この例では、layerSetsのduplicateを行っていますが、通常layerやartLayerからも実行することも可能かも。
(未確認)


2016年7月10日日曜日

pythonでredmineを使う。

オープンソースのプロジェクト管理ソフトウェア、「redmine」ですが、
僕の環境でもredmineを使ったプロジェクト管理を模索しています。

他の会社などの話を様々なセミナーで聞くと、(redmineに限った話ではないですが)様々な環境に合わせたカスタマイズが行われているようです。
Mayaとredmineなどの管理ソフトの連動なども行われていたり。

僕の方でも、redmineをより使いやすくするため、pythonからアクセスする方法を模索してみました。
redmineにはrestAPIでアクセスが可能ですが、pythonでアクセスできれば、
デスクトップToolだけでなく、Mayaとの連動でタスク管理することが可能になってきます。

・python-redmineモジュールを使う。

→これで解決しました(簡単)。 まさにそれ、というモジュールがあったのですね。。
Mayaから実行する場合、MayaのpythonPathが通っているところにモジュールをおいて、importすればOK。
githubにモジュールあるので、ダウンロードして使用できます。

・ssl認証エラーする場合は?

割と壁だったのが、SSL認証。 オレオレ認証かなんかを使っていると、「このサイト信用できまへんで」などと言われてブラウザに怒られます。
python-redmineからアクセスする際も、同じようにエラーが返ってきて、情報が取得できませんでした。
このSSL認証をスキップするには、…

redmine = Redmine('https://redmine.url', requests={'verify': False})

この記述で解決しました。
python-redmineに同梱されている、requestModuleのバージョンによって、
エラー表示が出まくることがありますが、とりあえず実行・情報取得はできました。
エラーを非表示にしたい場合、requestモジュールのバージョンを下げれば解決するそうです。

でもまぁ、値さえ取得できればOKなので、僕は無視してます。

参考URL

http://qiita.com/mima_ita/items/1a939db423d8ee295c85
https://github.com/maxtepkeev/python-redmine/issues/1
https://pypi.python.org/pypi/python-redmine
http://python-redmine.readthedocs.io/resources/issue_category.html#manager