0
コンテキスト:私は、ストレージ製品用の単純な(読み取り専用の)Python APIクライアントを動的に構築しようとしています。Python:__getattr__からkwargsを動的に取得する方法
状況:
- /モニター/ホスト[GET]をのnodeId = XXXを[&領域= XXX]
- [GET] /モニター/ノードリスト: APIサーバは、このようなエンドポイントを持って? 【領域= XXX]
- [GET] /システム/バージョン
- /使用
マイIDを[GET]各エンドポイント(モニター、システム、使用法など)のクラスを作成し、次に「子エンドポイント」(太字:/ monitor/ホストまたは/ monitor/ノードリストなど)を動的に取得することでした。 、私はまだ、すべてのURLを取得する必要がありますパラメータ(常にオプションであり、唯一のことができます。のnodeIdおよび/または地域、など)...私はこのような何かを持っている用法:
client = WhateverStorageApi()
client.monitor.host(hostId='node01', region='eu-west-1')
# the above would generate a str: /monitor/host?nodeId=node01®ion=eu-west-1
私の問題は次のとおりです:__ getattr__はどんな** kwargsも認識しておらず、__ call__はクラスを呼び出すたびにしか機能しません。これは私に質問につながります。これをeving?または、私の使用法のアイデアは完全に非意味ですか?私は解決策を見つけた