示例#1
0
def run_api(request, session):
    '''
    运行api,并返回response
    :param request:
    :param session:
    :return:
    '''
    api_file = os.path.join(os.path.dirname(request.module), 'api',
                            'api.json')  # 接口数据文件
    apis = read_json(api_file)
    HOST = ENV.get(tags.ENV_BASE_URL)

    # 获取上一个fixtrue的name,比如
    api_name = request._parent_request.fixturename
    expr = '$.[?(@.name=="{}]")]'.format(api_name)
    api = jsonpath.jsonpath(apis, expr)
    url = HOST + api['url']
    params = api['params']
    data_json = api['data_json']
    data = api.get('data', None)
    method = api['method']
    r = session.request(method, url, data=data, json=data_json, params=params)
    # r = session.post(url, json=data_json, params=params)
    # assert r.json().get('status') == 3200
    return r
示例#2
0
 def load(self, inpath='./data/news_content.json'):
     data = read_json(inpath)
     all_sents = []
     for news in data:
         for frag in news:
             sents = frag['sents']
             all_sents.append(sents)
     print('finished loading all sentences')
     return all_sents
示例#3
0
def read_hotpot_perturbations(split):
    assert split in ['bridge', 'yesno']
    prefix = f'hotpot_counterfactuals/{split}'
    fnames = os.listdir(prefix)
    fnames.sort()

    annotation_dict = OrderedDict()
    for i, fname in enumerate(fnames):
        meta = read_json(join(prefix, fname))
        meta['quick_id'] = str(i)
        annotation_dict[meta['id']] = meta
    return annotation_dict
示例#4
0
def extract(inpath='./data/news_content.json',outpath='./data/news_views.json'):
    data = read_json(inpath)
    all_sents = []
    for news in data:
        for frag in news:
            para = frag['para']
            sents = frag['sents']
            all_sents.append(sents)
    views_infos = extract_views(all_sents)
    views_infos = process_views(views_infos)
    write_json(outpath,views_infos)
    print(os.path.abspath(os.path.curdir))
    print('successfully extract views from all news...')
def read_yesno_perturbations():
    prefix = 'yesno_perturb'
    fnames = os.listdir(prefix)
    fnames.sort(key=lambda x: int(x.split('-')[0]))

    annotation_dict = OrderedDict()
    for fname in fnames:
        meta = read_json(join(prefix, fname))
        if not (meta['flag_ready'] and meta['flag_including']):
            continue
        quick_id = fname.split('-')[0]
        meta['quick_id'] = quick_id
        annotation_dict[meta['id']] = meta
    return annotation_dict
示例#6
0
def image(file_id):
    thumb = True if '/thumb/' in request.url_rule.rule else False
    file_obj = File().get(file_id)
    info = read_json('%s.json' % file_obj.file_id)
    storage = app.config.get('STORAGE', 'local')
    if storage == 'local':
        return send_file(os.path.join(app.config.get('FILE_PATH'), info['message']['document']['file_id']), 
            mimetype = info['message']['document'].get('mime_type', 'text/plain'), 
            attachment_filename = info['message']['document']['file_name'])
    elif storage == 's3':
        scheme = 'http'
        filename = '/'.join([ app.config.get('MEDIA_FOLDER', 'media'), info['message']['document']['file_id'] ])
        if thumb: filename = '%s_200x200' % filename
        return redirect('%s://%s.%s/%s' % (scheme, app.config.get('S3_BUCKET'), app.config.get('S3_SERVER'), filename))
示例#7
0
 def build_file_dict(self):
     prefix = 'hpqa_bridge_mannual_predictions.json'
     fname = join('interpretations', prefix)
     return read_json(fname)