0

文字列を含む「データ」フィールドと、ユーザーが設定した複数のオプションを含む ajax リクエストを送信しています。各オプションは「有効」または「無効」のいずれかであり、クラスの機能を有効または無効にします。私が疑問に思っているのは、すべての関数を呼び出して有効か無効かを確認する必要のない、このコードを整理するより良い方法があるかどうかということです。

class Parse(webapp2.RequestHandler):
    def post(self):
        data = self.request.get("data")
        func1_option = self.request.get("func1_option") 
        func2_option = self.request.get("func2_option") 
        func3_option = self.request.get("func3_option") 

        newData = func1(func2(func3(data)))
        self.response.write(newData)

        def func1(foo):
            if funct1_option = "disabled":
                return foo
            else:
                return some.function(foo)

        def func2(foo):
            if funct2_option = "disabled":
                return foo
            else:
                return some.function(foo)

        def func3(foo):
            if funct3_option = "disabled":
                return foo
            else:
                return some.function(foo)
4

1 に答える 1

1
class Parse(webapp2.RequestHandler):
    def post(self):
        data = self.request.get("data")

        # Note - order reversed
        funcs = [
            ("func3_option", some.other_other_function),
            ("func2_option", some.other_function),
            ("func1_option", some.function)
        ]
        for opt_name, func in funcs:
            if self.request.get(opt_name) != "disabled":
                data = func(data)

        self.response.write(data)
于 2013-05-05T00:11:12.060 に答える