Houdini 20.0 Pythonスクリプト hou hou.webServer

hou.webServer.Request class

HoudiniのWebサーバーに送信されるリクエスト。

On this page

Note

このクラスは、hou.WebServerRequesthou.webServer.Requestのどちらを使用してもアクセス可能ですが、 hou.webServer.Requestを使用する方が望ましいです。

このオブジェクトは、クライアントリクエストからの情報用のコンテナとして登録済みのURLハンドラー関数に渡されます。

アップロードのサンプル

import tempfile
import hou


@hou.webServer.urlHandler("/blur_image")
def blur_image(request):
    if request.method() == "GET":
        return hou.webServer.Response('''
            <p>Upload an image</p>
            <form method="POST" enctype="multipart/form-data">
                <input type="file" name="image_file">
                <input type="submit">
            </form>
        ''')

    if request.method() != "POST":
        return hou.webServer.notFoundResponse(request)

    image_file = request.files().get("image_file")
    if image_file is None:
        return hou.webServer.errorResponse(request, "No image was posted", 422)
    image_file.saveToDisk()

    # COPネットワークを使用して、画像を読み込んで、その画像にブラーをかけて、それを一時出力ファイルに書き出します。
    cop2net = hou.node("/img").createNode("img")
    file_cop = cop2net.createNode("file")
    file_cop.parm("filename1").set(image_file.temporaryFilePath())

    blur_cop = cop2net.createNode("blur")
    blur_cop.setFirstInput(file_cop)
    blur_cop.parm("blursize").set(10)

    rop = cop2net.createNode("rop_comp")
    rop.setFirstInput(blur_cop)
    rop.parmTuple("f").set((1, 1, 1))
    temp_output_file = tempfile.mkstemp(".jpg")[1]
    rop.parm("copoutput").set(temp_output_file)
    rop.render()

    cop2net.destroy()

    return hou.webServer.fileResponse(temp_output_file, delete_file=True)


hou.webServer.run(8008, True)

メソッド

hou.webServer

クラス

開始と停止

Webリクエストの処理とレスポンス

APIコール

  • hou.webServer.apiFunction()

    HoudiniのWebサーバー上のAPIエンドポイントを介してコール可能な関数のデコレータで、JSONレスポンスまたはバイナリレスポンスを返します。

  • hou.webServer.APIError

    apiFunctionハンドラーでこの例外を引き起こしてエラーを示します。