benten register_names
目的
- 登録名の検索を行います。
Warning
事前にログイン認証を行う必要があります。
概要
- 認証時のアカウントでアクセスが許可されたデータのみ情報を取得できます。
- ディレクトリ、またはファイルを指定して検索ができます。
- クエリで検索ができます。
利用例
- Help
$ benten.py register_names -h usage: benten register_names [-h] [--file [FILE]] [--query [QUERY]] [--flag_recursive] [--size [SIZE]] [--begin_from [BEGIN_FROM]] [--flag_own] optional arguments: -h, --help show this help message and exit --file [FILE], -f [FILE] file or directory --query [QUERY], -q [QUERY] query --flag_recursive, -s output register_name_list with recursive search for directory --size [SIZE] search size --begin_from [BEGIN_FROM] id to begin search --flag_own, -o output with own file_list
- ディレクトリ指定での検索
$ benten.py register_names -f "/SPring-8/BL14B2/data2/temp" (benten) C:\Users\matumot>python.exe C:\Users\matumot\Miniconda3\envs\benten\Scripts\\benten.py register_names -f "/SPring-8/BL14B2/data2/temp" ### benten register_names ### [Repository::authorize] access_token = 0b513fb250d9456a8f900533bd91aeda ==> response { "total_count":1, "size":0, "begin_from":0, "register_name_list":[ "/SPring-8/BL14B2/data2/temp/Cu-K_Cu-foil_Si111_50ms_120613" ] }
- クエリ指定での検索 (1)
$ benten.py register_names -q Cu ### benten register_names ### [Repository::authorize] access_token = 0b513fb250d9456a8f900533bd91aeda ==> response { "total_count":1, "size":0, "begin_from":0, "register_name_list":[ "/SPring-8/BL14B2/data2/temp/Cu-K_Cu-foil_Si111_50ms_120613" ] }
- クエリ指定での検索 (2)
$ benten register_names -q "Cu and @subject@proposal_number:2014S0000" ### benten register_names ### [Repository::authorize] access_token = 0b513fb250d9456a8f900533bd91aeda ==> response { "total_count":1, "size":0, "begin_from":0, "register_name_list":[ "/SPring-8/BL14B2/data2/temp/Cu-K_Cu-foil_Si111_50ms_120613" ] }
Pythonモジュールとの対応
- benten_client.rest_data.RegisterNames を利用
- 利用例 (example/benten_register_names.pyから)
#!/usr/bin/env python ''' example: register_names usage: python benten_register_names.py ... ''' import benten_client import argparse from logging import getLogger, StreamHandler, DEBUG logger = getLogger(__name__) handler = StreamHandler() handler.setLevel(DEBUG) logger.setLevel(DEBUG) logger.addHandler(handler) logger.propagate = False # ... parameters parser = argparse.ArgumentParser(description="example: register_names") parser.add_argument("--file", "-f", nargs="?", action="append", help="file or directory") parser.add_argument("--query", "-q", nargs="?", help="query") parser.add_argument("--flag_recursive", "-s", action="store_const", const=1, help="output register_name_list with recursive search for directory") parser.add_argument("--size", nargs="?", help="search size") parser.add_argument("--begin_from", nargs="?", help="id to begin search") parser.add_argument("--flag_own", "-o", action="store_const", const=1, help="output with own file_list") args = parser.parse_args() file_list = args.file query = args.query flag_recursive = args.flag_recursive size = args.size begin_from = args.begin_from flag_own = args.flag_own v = {} if file_list is not None: v["file_list"] = file_list if query is not None: v["query"] = query if flag_recursive is not None: v["flag_recursive"] = flag_recursive if size is not None: v["size"] = size if begin_from is not None: v["begin_from"] = begin_from if flag_own is not None: v["flag_own"] = flag_own repo = benten_client.Repository() logger.debug("# set access token") repo.authorize(benten_client.access_token()) logger.debug("# benten register_names") ret_dict = repo.data.register_names.post(**v) benten_client.log("==> response") benten_client.out_json(ret_dict)