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)