BpymenusをHTMLに

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています

投稿ツリー



前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2007/4/22 11:42
まんだ  長老 居住地: むかしは本州の西端  投稿数: 570
変換元が'Bpymenus'というだけなので、それ以外はblenderと関係ないんですが…

こんなコード書いてみました。.blender/Bpymenusを簡単なHTMLにするスクリプトです。「自分の環境でどんなBPyスクリプトが登録されているか」を俯瞰する目的で作りました。

下記スクリプトを~/.blenderディレクトリに作成し、
bpymenus2html.pyという名前で保存します。
そして、Bpymenusが同ディレクトリにあることを確認して
$ bpymenus2html.py > log.html
とするとhtmlが作成されます。

かなり「力技」です
[EDIT]表ヘッダ(セル)のタグ、tdで閉じてました…(thが正解)お恥ずかしい。

#
#  Convert to html ( Bpymenus )
#
#  1.copy this flie to  ~/.blender/
#  2.check if exists 'Bpymenus'
#  3.type 'bpymenus2html.py > log.html'
#  4.browse log.html
#  5.enjoy :-)
#

menufile = "Bpymenus"

#store to buffer
fi = open(menufile)
mbuf = []
for x in fi:
    mbuf.append(x.rstrip())
fi.close

# parse each lines

lv = 0

header = """\
<html>
<head><title>Bpymenus</title></head>
<body>
<hr>
<center><h1>Bpymenus</h1></center>
<hr>
"""

footer = """\
</body></html>
"""

print header

for x in mbuf:
    x=x.strip()
    if lv == 0:
       elm= x.split()
       if len(elm) ==2:
           if elm[1].find('{') != -1:
                #print elm[0]
                lv = 1
                print "<h2>",elm[0],"<h2>"
                print "<tr>"
                print "<table border=2 padding=2>"
                print "<th>Filename</th>"
                print "<th>Command</th>"
                print "<th>Description</th>"
                print "<th>Version</th>"
                print "</tr>"
    elif lv == 1:
        if x.find('}') != -1 or len(x) == 0:
            lv=0
            print "</table>"
        elif x.find('|') != 0:
            y= x.split('\x27')
            z = y[2].split()
            #print "[command    ]:",y[1].replace('&','&)
            #print "[version    ]:",z[0]
            #print "[filename   ]:",z[1]
            #print "[number     ]:",z[2]
            #print "[description]:",y[3]  <-- if exists
            print "<tr>"
            print "<td>",z[1],"</td>"
            print "<td>",y[1].replace('&','&'),"</td>"
            if len(y) > 3:
               print "<td>",y[3],"</td>"
            else:
               print "<td>*No description*</td>"
            print "<td>",z[0],"</td>"
            print "</tr>"

print footer

投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2007/4/23 0:03
jkani4  一人前   投稿数: 98
まんださん、こんばんわ。

さっそく試してみようとおもったのですが、わたしの環境にはBpymenusがありませんでした。
Bpymenusはダウンロードして追加する類のものですか?

恥ずかしいはなしですが、
Pythonスクリプトを実際に自分が組むようになった最近までは
あまりBlenderのスクリプトについてチェックしていなかったので。。。
そのあたりの知識がほとんどありません

投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2007/4/23 12:26
まんだ  長老 居住地: むかしは本州の西端  投稿数: 570
>わたしの環境にはBpymenusがありませんでした。
Linux版2.43のバイナリ配布には見当たりませんね…
どうやらWindows版のみのようです。

Windows版ZIPファイルをblender.orgからダウンロード、
blender-2.43-windows.zip
解凍して出来たディレクトリの/.blender/に有りますので、
それで確認お願いします :-)

投票数:0 平均点:0.00

通常 Re: BpymenusをHTMLに

msg# 1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2007/4/23 18:25
jkani4  一人前   投稿数: 98
まんださん、こんにちは。

Windows版のBlenderをダウンロードして確認しました。
カテゴリ別に分類されていて、見やすいですね。

Linux版でも使えるように、実際のPythonスクリプトのヘッダに書かれている
コメント部から情報を取ってくるというのも面白いかもしれませんね。
(あと、直接ブラウザを起動して結果を表示してしまうとか)
投票数:0 平均点:0.00

通常 Re: BpymenusをHTMLに

msg# 1.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2007/4/23 23:24
まんだ  長老 居住地: むかしは本州の西端  投稿数: 570
jkani4 さん、こんばんは。

あれぇ、うちの環境(VineLinux,Blender2.43リリースバイナリ)では
~/.blender/Bpymenus
出来ますが…。

ちなみにBpymenusはメニュー表示のインデックスとしてBlenderが起動時に作ってくれるものみたいです。ですから、

> カテゴリ別に分類されていて、見やす

くしてくれるのは、blender自身だったり

投票数:0 平均点:0.00

通常 Re: BpymenusをHTMLに

msg# 1.1.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2007/4/23 23:49
jkani4  一人前   投稿数: 98
まんださん、こんばんわ。

たしかに。。Gentoo Linuxのほうには~/.blender/Bpymenusありました。
でも。。。Arch Linuxのほうにはありませんでした。。。
どうなってるんでしょう。。ううむ。。
一応、Arch Linuxのドライブ、検索してみたんですが、見当たりませんでした。


引用:
> カテゴリ別に分類されていて、見やす
くしてくれるのは、blender自身だったり
しぃ〜。こ、声が高いです。。聞かれてしまいます。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2007/4/24 17:03
yamyam  管理人 居住地: そうや、うちはおおさかやー  投稿数: 4224
こんにちは。整形方法を変えれば他にも利用できそうです。

もしCVSのURLの情報が記載されてたら、その気になれば自動更新とかもできそうですね。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2007/4/25 22:44
まんだ  長老 居住地: むかしは本州の西端  投稿数: 570
yamyam さん、こんばんは。

このスクリプトについては、HTMLの形にまですればあとはワープロソフトで整形して自分用に印刷して机の隅にでも置いておくことが出来そうかな、と考えて作ったもので。
たまたま整形された"Bpymenus"を見つけた、というのも大きいです。


確かBlender上でヘルプ情報を閲覧できるブラウザがあったような記憶があったので確認してみました。

Help->Scripts Help Browser

…やはりありました。これで一応事足りるのではないか、と。それ以上を求めるなら「ソースファイル開いて直接見て」もらうほうが確実でしょう。


> その気になれば自動更新

は Verse でしたっけ?それがらみで何か考えている人がいるんじゃなかろうか、と既に他力本願モードに入っています



投票数:0 平均点:0.00

  条件検索へ


ログイン

ユーザ名:

パスワード:



パスワード紛失

クイックリンク

2021/07/01版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org

●Blender Q&A
- Blender Stack Exchange

●テストビルド
Buildbot(自動生成)


●開発関連
公式開発サイト
Blender開発blog
Blender Wiki