def __init__(self):
     '''
     コンストラクタ
     input : none
     output: none
     raise : none
     '''
     SabaniController.__init__(self)
    def __call__(self, environ, start_response):
        ''' WSGI アプリケーション '''
        SabaniController.__call__(self, environ, start_response)
        # リクエストメソッドを取得
        method = self.get_method(environ)

        if method == 'GET':
            # GET の場合
            # パラメーター取得
            params = self.get_parameter(environ)
            # パラメーターの必須チェック
            chk_dict = self.chk_param(params)
            # 何かしらのパラメーターエラーがあった場合
            if chk_dict.has_key(self.API_MSG_KEY):
                start_response(self.HTTP_STS_200, self.HTTP_RESPONSE_HEADER_TEXT)
                self.create_http_responce_dict(
                                               self.API_STS_NG_PARAM,
                                               chk_dict[self.API_MSG_KEY],
                                               params,
                                               None,
                                               )
                return self.json_dumps_utf8(self.ret_dict)
            # 写真を検索
            page = 1
            if params.has_key(self.HTTP_REQUEST_GET_PAGE):
                page = int(params[self.HTTP_REQUEST_GET_PAGE])
            per_page = 10
            if params.has_key(self.HTTP_REQUEST_GET_PER_PAGE):
                per_page = int(params[self.HTTP_REQUEST_GET_PER_PAGE])
            min_time,max_time = self._query_unixtime()
            photos = self.flickr.photos_search(
                                               lat=params[self.HTTP_REQUEST_GET_LAT], 
                                               lon=params[self.HTTP_REQUEST_GET_LON],
                                               page=page,
                                               per_page=per_page,
                                               min_upload_date=min_time,
                                               max_upload_date=max_time
                                               )
            # 検索結果を編集
            ret_list = self.flickr.url_list(photos)
            start_response(self.HTTP_STS_200, self.HTTP_RESPONSE_HEADER_TEXT)
            self.create_http_responce_dict(
                                            self.API_STS_OK,
                                            None,
                                            ret_list,
                                            None,
                                            )
            return self.json_dumps_utf8(self.ret_dict)
        else:
            # GET以外は501エラー扱い
            start_response(self.HTTP_STS_501, self.HTTP_RESPONSE_HEADER_TEXT)
            self.create_http_responce_dict(
                                           self.API_STS_NG_OTHER,
                                           self.API_MSG_BODY_NOT_IMPLEMENTED,
                                           {'method':method},
                                           None,
                                           )
            return self.json_dumps_utf8(self.ret_dict)
    def __call__(self, environ, start_response):
        ''' WSGI アプリケーション '''
        SabaniController.__call__(self, environ, start_response)
        # リクエストメソッドを取得
        method = self.get_method(environ)

        if method == 'GET':
            # GET の場合
            # パラメーター取得
            params = self.get_parameter(environ)
            # パラメーターの必須チェック
            chk_dict = self.chk_param(params)
            # 何かしらのパラメーターエラーがあった場合
            if chk_dict.has_key(self.API_MSG_KEY):
                start_response(self.HTTP_STS_200, self.HTTP_RESPONSE_HEADER_TEXT)
                self.create_http_responce_dict(
                                               self.API_STS_NG_PARAM,
                                               chk_dict[self.API_MSG_KEY],
                                               params,
                                               None,
                                               )
                return self.json_dumps_utf8(self.ret_dict)
            # コンテンツを検索
            ret_list,count = self.venue.venue_search({},
                                                     ll=(params[self.HTTP_REQUEST_GET_LAT],
                                                         params[self.HTTP_REQUEST_GET_LON]))
            if count == 0:
                ret_list,count = self.venue.venue_search({},
                                                         ll=(params[self.HTTP_REQUEST_GET_LAT],
                                                             params[self.HTTP_REQUEST_GET_LON]),
                                                         radius=100000)
            start_response(self.HTTP_STS_200, self.HTTP_RESPONSE_HEADER_TEXT)
            self.create_http_responce_dict(
                                            self.API_STS_OK,
                                            None,
                                            ret_list,
                                            count,
                                            )
            return self.json_dumps_utf8(self.ret_dict)
        else:
            # GET以外は501エラー扱い
            start_response(self.HTTP_STS_501, self.HTTP_RESPONSE_HEADER_TEXT)
            self.create_http_responce_dict(
                                           self.API_STS_NG_OTHER,
                                           self.API_MSG_BODY_NOT_IMPLEMENTED,
                                           {'method':method},
                                           None,
                                           )
            return self.json_dumps_utf8(self.ret_dict)
 def __call__(self, environ, start_response):
     ''' WSGI アプリケーション '''
     SabaniController.__call__(self, environ, start_response)