Пример #1
0
def add_http_status(name, value, phrase, description=''):
    # call our new member factory, it's essentially the `HTTPStatus.__new__` method
    new_status = HTTPStatus.__new_member__(HTTPStatus, value, phrase,
                                           description)
    new_status._name_ = name  # store the enum's member internal name
    new_status.__objclass__ = HTTPStatus.__class__  # store the enum's member parent class
    setattr(HTTPStatus, name,
            new_status)  # add it to the global HTTPStatus namespace
    HTTPStatus._member_map_[
        name] = new_status  #  add it to the name=>member map
    HTTPStatus._member_names_.append(
        name)  # append the names so it appears in __members__
    HTTPStatus._value2member_map_[
        value] = new_status  # add it to the value=>member map