diary/Kojima/2013-01-10
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[diary/Kojima]]
・Nexus 7とMTP(その2)
MTP自体はLinux上でもlibmtpで対応しているようだけど,
Plamo-5.0でこのライブラリをリンクしているのはvlcとamarok...
これらを使ってファイルの転送ができるとは思えないので,
もう少しMTP回りを調べてみたところ,GNOMEならNautilusがlib...
KDEならばkio-slave-mtpというのが次のバージョンでマージさ...
どっちも今の問題の解決には使えないなぁ,,
と調査を続けたところ,
[[gMTP:http://gmtp.sourceforge.net/]] というのを見つけた.
説明を読んでみると,GTKベースのMTPメディアプレイヤークラ...
ということで,元々はSolaris用に開発されたソフトウェアらし...
ざっくりとビルド,インストールして起動してみると,
とりあえずNexus 7と接続して,
相手のディレクトリ構成とかは拾ってこれる.
#ref("gmtp01.png")
「ほほう,,」と思って,適当なディレクトリに移動して,
「Add(+)」コマンドを使ってファイルを転送してみたところ,
英語のファイル名は問題なく送れるものの,
日本語のファイル名はprogress barのレベルから文字化けして...
処理が進まない.
多分,文字コードがらみの問題だろうなぁ,,と,
日本語のファイル名をUTF8に変換してハードリンクを張ってや...
#ref("gmtp02.png")
とりあえず,昔々にNetatalkとsambaでファイル共有してた時み...
転送したい日本語ファイル名をUTF8に変換して,
同じディレクトリにUTF8/ なディレクトリを作って,
UTF8なファイル名のリンクを作る,
みたいなPythonのスクリプトを書いてごまかすことにした.
#! /usr/bin/python
# -*- coding: euc-jp -*-;
import getopt, sys, os
def make_file_link(name):
inner = name.decode('euc-jp')
utf8 = inner.encode('utf8')
# print utf8
#print("utf8 name:{0}".format(utf8))
if os.path.isdir("UTF8") == True:
if os.path.exists("UTF8/" + utf8) == True:
print("UTF8 name {0} is already exists".form...
else:
os.link(name, "UTF8/" + utf8)
else:
os.mkdir("UTF8")
os.link(name, "UTF8/" + utf8)
def make_directory_link(name):
files = os.listdir(name)
if os.path.isdir(name + "/UTF8") == True:
for i in files:
inner = i.decode('euc-jp')
utf8 = inner.encode('utf8')
if os.path.exists("UTF8/" + utf8) == True:
print("UTF8 name {0} is already exists"....
else:
print i
os.link(i, "UTF8/" + utf8)
else:
os.mkdir("UTF8")
for i in files:
inner = i.decode('euc-jp')
utf8 = inner.encode('utf8')
os.link(i, "UTF8/" + utf8)
def main():
for item in sys.argv[1:]:
if os.path.exists(item) == True:
if os.path.isfile(item) == True:
print("{0} is file".format(item))
make_file_link(item)
elif os.path.isdir(item) == True:
print("{0} is directory".format(item))
make_directory_link(item)
else:
print("{0} is not file/directory".format...
else:
print("{0} is not real file/directory".forma...
if __name__ == "__main__":
dry_run = False
main()
このコードは,引数に日本語のファイル名を指定すると,
同じディレクトリに UTF8/ というディレクトリを作って,
そこにそのファイル名をUTF8で収める,というだけのもの.
とりあえずこれで日本語のファイル名もNexus 7に送れるように...
いちいちUTF8に変換しないといけないのは面倒なので何とかし...
- ここでは文字コードの問題に限定して書いているけど、実の...
終了行:
[[diary/Kojima]]
・Nexus 7とMTP(その2)
MTP自体はLinux上でもlibmtpで対応しているようだけど,
Plamo-5.0でこのライブラリをリンクしているのはvlcとamarok...
これらを使ってファイルの転送ができるとは思えないので,
もう少しMTP回りを調べてみたところ,GNOMEならNautilusがlib...
KDEならばkio-slave-mtpというのが次のバージョンでマージさ...
どっちも今の問題の解決には使えないなぁ,,
と調査を続けたところ,
[[gMTP:http://gmtp.sourceforge.net/]] というのを見つけた.
説明を読んでみると,GTKベースのMTPメディアプレイヤークラ...
ということで,元々はSolaris用に開発されたソフトウェアらし...
ざっくりとビルド,インストールして起動してみると,
とりあえずNexus 7と接続して,
相手のディレクトリ構成とかは拾ってこれる.
#ref("gmtp01.png")
「ほほう,,」と思って,適当なディレクトリに移動して,
「Add(+)」コマンドを使ってファイルを転送してみたところ,
英語のファイル名は問題なく送れるものの,
日本語のファイル名はprogress barのレベルから文字化けして...
処理が進まない.
多分,文字コードがらみの問題だろうなぁ,,と,
日本語のファイル名をUTF8に変換してハードリンクを張ってや...
#ref("gmtp02.png")
とりあえず,昔々にNetatalkとsambaでファイル共有してた時み...
転送したい日本語ファイル名をUTF8に変換して,
同じディレクトリにUTF8/ なディレクトリを作って,
UTF8なファイル名のリンクを作る,
みたいなPythonのスクリプトを書いてごまかすことにした.
#! /usr/bin/python
# -*- coding: euc-jp -*-;
import getopt, sys, os
def make_file_link(name):
inner = name.decode('euc-jp')
utf8 = inner.encode('utf8')
# print utf8
#print("utf8 name:{0}".format(utf8))
if os.path.isdir("UTF8") == True:
if os.path.exists("UTF8/" + utf8) == True:
print("UTF8 name {0} is already exists".form...
else:
os.link(name, "UTF8/" + utf8)
else:
os.mkdir("UTF8")
os.link(name, "UTF8/" + utf8)
def make_directory_link(name):
files = os.listdir(name)
if os.path.isdir(name + "/UTF8") == True:
for i in files:
inner = i.decode('euc-jp')
utf8 = inner.encode('utf8')
if os.path.exists("UTF8/" + utf8) == True:
print("UTF8 name {0} is already exists"....
else:
print i
os.link(i, "UTF8/" + utf8)
else:
os.mkdir("UTF8")
for i in files:
inner = i.decode('euc-jp')
utf8 = inner.encode('utf8')
os.link(i, "UTF8/" + utf8)
def main():
for item in sys.argv[1:]:
if os.path.exists(item) == True:
if os.path.isfile(item) == True:
print("{0} is file".format(item))
make_file_link(item)
elif os.path.isdir(item) == True:
print("{0} is directory".format(item))
make_directory_link(item)
else:
print("{0} is not file/directory".format...
else:
print("{0} is not real file/directory".forma...
if __name__ == "__main__":
dry_run = False
main()
このコードは,引数に日本語のファイル名を指定すると,
同じディレクトリに UTF8/ というディレクトリを作って,
そこにそのファイル名をUTF8で収める,というだけのもの.
とりあえずこれで日本語のファイル名もNexus 7に送れるように...
いちいちUTF8に変換しないといけないのは面倒なので何とかし...
- ここでは文字コードの問題に限定して書いているけど、実の...
ページ名: