次のエントリ: CSファーストステージ1戦目 / 西武ライオンズ戦@西武ドーム [diary]
 CraftLaunch + だいなファイラでスラッシュ(/)区切りのパス取得 
2012-09-24-1 / カテゴリ: [アプリ][win] / [permlink]
だいなファイラーの基本機能に「対象のフルパス名をクリップボードにコピー」があってかなり便利なんだけど、ディレクトリセパレータが逆スラッシュ(\)なんだよね。
んで、今月入れ替えたCraftLaunch 3.xのAPIリファレンスに、normPath(path)というディレクトリセパレタの\と/を入れ替えるAPIがあったのでなんとか組み合わせて/区切りのフルパスが取得できないかと設定組み立ててみた。
だいなファイラの設定は、外部コマンドに
みたいに設定。
で、この外部コマンドにショートカットキー割り当てればオーケー
スクリプトは、コマンド "_setslash" の呼び出し時にパスを引数で渡すように(だいなの--execute="_setslash;$F"の部分)して、自作関数の set_slash_path(arg) で normPath() を呼んでから、setClipboardText()で結果をクリップボードにセットする。
はじめは arg[0] を直接 normPath() に入れてたけど、日本語を含むパスで
んで、今月入れ替えたCraftLaunch 3.xのAPIリファレンスに、normPath(path)というディレクトリセパレタの\と/を入れ替えるAPIがあったのでなんとか組み合わせて/区切りのフルパスが取得できないかと設定組み立ててみた。
--- config.py.bak	2012-09-05 20:23:16.801325800 +0900
+++ config.py	2012-09-24 21:05:18.610191100 +0900
@@ -152,2 +152,10 @@
 
+    # ディレクトリセパレタ"/"でのフルパスの取得
+    #   dynaで以下のコマンド登録する
+    #   実行ファイル: c:\local\appli\clnch\clnch.exe
+    #   パラメタ: --execute="_setslash;$F"
+    def set_slash_path(arg):
+        setClipboardText(normPath(arg[0].decode("utf8")))
+    window.launcher.command_list += [ ( u"_setslash", set_slash_path ) ]
+
 # リストウインドウの設定処理
だいなファイラの設定は、外部コマンドに
| 名前 | setclippath(任意) | 
| 実行ファイル | CraftLaunchのパス | 
| パラメタ | --execute="_setslash;$F" | 
で、この外部コマンドにショートカットキー割り当てればオーケー
スクリプトは、コマンド "_setslash" の呼び出し時にパスを引数で渡すように(だいなの--execute="_setslash;$F"の部分)して、自作関数の set_slash_path(arg) で normPath() を呼んでから、setClipboardText()で結果をクリップボードにセットする。
はじめは arg[0] を直接 normPath() に入れてたけど、日本語を含むパスで
'ascii' codec can't decode byte 0xe3 in position 28: ordinal not in range(128)見たいなエラーがコンソールに出力されてパスのコピーが実行されなかったので、明示的にエンコードを utf8 と指定した。(だいなファイラがutf8版の場合だから?SJIS版は未確認)
[
コメント  ]
次のエントリ: CSファーストステージ1戦目 / 西武ライオンズ戦@西武ドーム [diary]
2013 : 01 02 03 04 05 06 07 08 09 10 11 12 
2012 : 01 02 03 04 05 06 07 08 09 10 11 12 
2011 : 01 02 03 04 05 06 07 08 09 10 11 12 
2010 : 01 02 03 04 05 06 07 08 09 10 11 12 
2009 : 01 02 03 04 05 06 07 08 09 10 11 12 
2008 : 01 02 03 04 05 06 07 08 09 10 11 12 
2007 : 01 02 03 04 05 06 07 08 09 10 11 12 
2006 : 01 02 03 04 05 06 07 08 09 10 11 12 
2005 : 01 02 03 04 05 06 07 08 09 10 11 12 
2004 : 01 02 03 04 05 06 07 08 09 10 11 12 
最終更新時間: 2013-05-02 16:12
