benten_client package

Submodules

benten_client.config module

parameters configuration

Copyright (C) 2020 JASRI All Rights Reserved.

benten_client.local_storage module

local_storage

Copyright (C) 2020 JASRI All Rights Reserved.

class benten_client.local_storage.LocalStorage(access_token=None, current_directory='/home/vagrant/git/benten-client/docs/sphinx', debug=True)[source]

Bases: object

Manage(local_storage_info_file=None, config_value=None, repository_directory=None, access_token=None)[source]
access_token()[source]
authorize(v, debug=None)[source]
clear_proposal_number()[source]

Clear proposal_number

Returns

config_value()[source]
create_meta_system(**v)[source]

Create metadata for system

Parameters

**v

See below.

Keyword Arguments
  • register_basename (str) : 登録ベース名

Returns

A dict of mapping keys.

debug()[source]
delete(**v)[source]

Delete Data

Parameters

**v

See below.

Keyword Arguments
  • register_basename (str) : 登録ベース名

  • flag_delete_local_storage_files (bool [Option]) : local storage ファイル deleteのフラグ

    • デフォルト値は False

Returns

A dict of mapping keys.

init()[source]

Init for configuration settings

Returns

init_index(**v)[source]

Init for local storage settings

Parameters

**v

See below.

Keyword Arguments
  • register_basename (str) : 登録ベース名

  • debug (bool [Option]) : Debugオプション  (デフォルトは False)

  • flag_all (bool [Option]): 全初期化するかどうかのフラグ (デフォルトはFalse)

Returns

list(**v)[source]

List for local storage settings

Parameters

**v

See below.

Keyword Arguments
  • directory (str [Option]) : 相対ディレクトリ

    • デフォルトでは current_directory をベースにリスト検索を行う。

  • file_list (list(str) [Option]) : リスト表示を行うファイルリスト

  • register_basename_list (list(str) [Option]) : リスト表示で指定する登録ベース名リスト

  • mode (str [Option]) : リスト表示モード

    • file, register_name, register_name_only, all から選択する。

    • デフォルトでは all が選択される。

  • status (str [Option]) : リスト表示において指定するステータス

    • normal, updated, deleted, noMetadata, ready, revised から選択する。

  • type (str [Option]) : リスト表示において指定するファイルのタイプ

    * file, directory から選択する。

  • flag_full_path (bool [Option]): 結果でfull path表示を行うかどうかのフラグ

    • デフォルトでは False

  • flag_recursive (bool [Option]): recursive検索するかどううかのフラグ

    • デフォルトではFalse

Returns

A dict of mapping keys.

list_config()[source]

List ConfigFile for local storage settings

Returns

list_proposal_number()[source]

List proposal_number

Returns

metadata(**v)[source]

Get metadata

Parameters

**v

See below.

Keyword Arguments
  • register_basename (str) : 登録ベース名

  • mode (str [Option]) : モード

    • db、またはfile から選択する。

    • デフォルト値は db

Returns

A dict of mapping keys.

metadata_file_from_db(register_basename)[source]
metadata_file_from_file(register_basename)[source]
metadata_files(register_basename)[source]
metadata_from_file(register_basename, flag_dataset=True, flag_count_contact_name=False)[source]
metadata_system(vdict, register_basename, proposal_number=None, data_input={}, count_contact_name=0)[source]
proposal_number()[source]
register(**v)[source]

Register metadata

Parameters

**v

See below.

Keyword Arguments
  • register_basename (str) : 登録ベース名

Returns

A dict of mapping keys.

register_name(register_basename)[source]
remove(**v)[source]

Remove data

Parameters

**v

See below.

Keyword Arguments
  • register_basename (str) : 登録ベース名

Returns

A dict of mapping keys.

reset_config()[source]

Reset ConfigFile for local storage settings

Returns

reset_upload(**v)[source]

reset uploaded data for registration

Parameters

**v

See below.

Keyword Arguments
  • register_basename (str) : 登録ベース名

Returns

A dict of mapping keys.

restore(**v)[source]

Restore data

Parameters

**v

See below.

  • register_basename (str) : 登録ベース名

  • disable_hash (int [Option]) : disable hash check for downloaded file

Returns

A dict of mapping keys.

set_access_token(v)[source]
set_config(**v)[source]

Set ConfigFile for local storage settings

Parameters

**v

See below.

Keyword Arguments
  • key (str) : キー名

  • value (str): 値

Returns

set_current_directory(v)[source]
set_debug(v)[source]
set_proposal_number(**v)[source]

Set proposal_number

Parameters

**v

See below.

Keyword Arguments
  • proposal_number (str) : 課題情報番号

Returns

upload(**v)[source]

Upload files

Parameters

**v

See below.

Keyword Arguments
  • register_basename (str) : 登録ベース名

  • flag_not_upload (bool [Option]) : 指定ファイルをアップロードするかどうかのフラグ

    • デフォルト値は False

  • flag_each (bool [Option]) : 指定ファイルをeach アップロードするかどうかのフラグ

    • デフォルト値は False (複数ファイルがあった場合にはallアップロードを行う。)

Returns

A dict of mapping keys.

upload_with_ftp(**v)[source]

Upload files

Parameters

**v

See below.

Keyword Arguments
  • register_basename (str) : 登録ベース名

  • flag_not_upload (bool [Option]) : 指定ファイルをアップロードするかどうかのフラグ

    • デフォルト値は False

  • flag_each (bool [Option]) : 指定ファイルをeach アップロードするかどうかのフラグ

    • デフォルト値は False (複数ファイルがあった場合にはallアップロードを行う。)

Returns

A dict of mapping keys.

benten_client.local_storage_util module

local_storage utilities

Copyright (C) 2020 JASRI All Rights Reserved.

class benten_client.local_storage_util.ConfigFile(filename, flag_replace=False)[source]

Bases: object

list()[source]
load()[source]
reset()[source]
set(key, value, debug=True)[source]
class benten_client.local_storage_util.LocalStorageInfoFile(filename, debug=True)[source]

Bases: object

load()[source]
output(config_value, repository_directory, repository_info_dict, register_basename=None)[source]
class benten_client.local_storage_util.Manage(local_storage_info_file=None, config_value=None, repository_directory=None, access_token=None, debug=True)[source]

Bases: object

infoDict(file_list=None, register_basename_list=None, mode='file', status_val=None, type_val=None, register_name=None, flag_full_path=False, flag_recursive=False)[source]
restore(register_basename, disable_hash=False)[source]
class benten_client.local_storage_util.ProposalNumberFile(filename, flag_replace=False, debug=True)[source]

Bases: object

clear()[source]
list()[source]
proposal_number()[source]
set_proposal_number(value)[source]
class benten_client.local_storage_util.RepositoryInfoFile(filename, debug=True)[source]

Bases: object

load()[source]
output(access_token, repository_directory, register_basename=None)[source]

benten_client.rest module

REST API for main

Copyright (C) 2020 JASRI All Rights Reserved.

class benten_client.rest.Repository(access_token=None, local_storage_path=None, facility=None, class_name=None, disk_name=None)[source]

Bases: object

access_token()[source]
authorize(v, debug=True)[source]
class_name()[source]
disk_name()[source]
endpoint(path)[source]
facility()[source]
init()[source]
init_uploader()[source]
local_storage_path()[source]
set_access_token(v)[source]
set_class_name(v)[source]
set_disk_name(v)[source]
set_facility(v)[source]
set_local_storage_path(v)[source]

benten_client.rest_auth module

REST API for authorization

Copyright (C) 2020 JASRI All Rights Reserved.

class benten_client.rest_auth.Login(parent)[source]

Bases: object

post(**v)[source]

REST API: ログイン認証

  • Endpoint: [agent-url]/benten/v1/auth/login

  • Method: POST

  • Response: JSON

  • Authorization: 無

Param

**v: See below

Keyword Arguments
  • username (str) : ユーザー名

  • password (str) : パスワード

  • access_ip (str [Option]) : アクセス元の IPアドレス (Web portalで利用)

Returns

A dict of mapping keys.

Keyword
  • accesss_token (str) : アクセストークン

  • refresh_token (str): リフレッシュトークン

  • expires_in (int) : アクセストークンが失効するまでの時間 (秒)

  • error (dict): エラー情報 (エラー発生時のみ付加)

class benten_client.rest_auth.Logout(parent)[source]

Bases: object

post(**v)[source]

REST API: ログアウト

  • Endpoint: [agent-url]/benten/v1/auth/logout

  • Method: POST

  • Response: JSON

  • Authorization: 有

Param

**v: 指定なし

Returns

A dict of mapping keys.

Keyword
  • deleted (bool) : アクセストークンが消去された場合は True 、そうでない場合は False

  • error (dict) : エラー情報 (エラー発生時のみ付加)

Error messages:

  • access_token was not deleted : アクセストークンが消去されなかった

class benten_client.rest_auth.Main(parent)[source]

Bases: object

access_token()[source]
endpoint(path)[source]
class benten_client.rest_auth.RefreshToken(parent)[source]

Bases: object

post(**v)[source]

REST API: リフレッシュトークン

  • Endpoint: [agent-url]/benten/v1/auth/refresh_token

  • Method: POST

  • Response: JSON

  • Authorization: 有

Param

**v: See below

Keyword Arguments
  • refresh_token (str) : リフレッシュトークン

Returns

A dict of mapping keys.

Keyword
  • access_token (str) : アクセストークン

  • refresh_token (str) : リフレッシュトークン

  • expires_in (int) : アクセストークンが失効するまでの時間(秒)

  • expires_time (int) : アクセストークンが失効するunix時間

  • error (dict) : エラー情報 (エラー発生時のみ付加)

Error messages:

  • Bad Request : 間違ったrefresh_tokenを指定した場合

  • access_token is not valid : アクセストークンの正当性が保証されていない

class benten_client.rest_auth.UserInfo(parent)[source]

Bases: object

post(**v)[source]

REST API: ユーザー属性取得

  • Endpoint: [agent-url]/benten/v1/auth/userinfo

  • Method: POST

  • Response: JSON

  • Authorization: 有

Param

**v: 指定なし

Returns

A dict of mapping keys.

Keyword
  • username (str) : ユーザー名

  • profile (string) : プロファイル名 (user, facility, admin)

  • facility (string) : 施設名

  • email (string) : メールアドレス

  • error (dict) : エラー情報 (エラー発生時のみ付加)

Error messages:

  • Unauthorized : 認証されていない

benten_client.rest_data module

REST API for data search

Copyright © 2020 JASRI All Rights Reserved.

class benten_client.rest_data.Directories(parent)[source]

Bases: object

post(**v)[source]

REST API: ディレクトリ検索

  • Endpoint: [agent-url]/benten/v1/data/directories

  • Method: POST

  • Response: JSON

  • Authorization: 要

Parameters

**v

See below.

Keyword Arguments

  • begindate (str [Option]) ; 検索日時の始まり

    • ex.: 2017-04-05 00:00:00

  • enddate (str [Option]) : 検索日時の終わり

    • ex.: 2017-07-25 00:00:00

  • query (str [Option]) : 検索クエリ

  • size (int [Option]) : 検索件数

    • 省略時は全検索

    • sizeが負の場合、返答において total_countのみ返す

  • begin_from (int [Option]) : 検索の始まりのID

  • flag_own (int [Option]) : 自身の所属のデータのみ検索するかどうかのフラグ

    • 0 (default, disable) or 1 (enable)

Returns

A dict of mapping keys.

Keyword
  • total_count (int) : 全検索数 (Elasticsearchの登録テーブル件数)

  • begin_from (int) : 入力時に指定した begn_from値

  • size (int) : 入力時に指定した size値

  • register_name_list (list(str)) : 登録名リスト

  • directory_list (list(str)) : ディレクトリリスト

  • error (dict) : エラー情報 (エラー発生時のみ付加)

class benten_client.rest_data.Files(parent)[source]

Bases: object

post(**v)[source]

REST API: ファイル検索

  • Endpoint: [agent-url]/benten/v1/data/files

  • Method: POST

  • Response: JSON

  • Authorization: 要

Parameters

**v

See below.

Keyword Arguments
  • register_name_list (list(str) [Option]) : 登録名リスト

  • file_list (list(str) [Option]) : ファイルまたはディレクトリリスト

  • query (str [Option]) : 検索クエリ

  • flag_recursive (int [Option]) : ディレクトリ指定時に下位ディレクトリを含めて検索するかどうかを示すフラグ

    • デフォルト値は0, 1の時に有効になる

  • flag_register_name (int [Option]) : 出力に登録名リストも含むかどうかを示すフラグ

    • デフォルト値は0、1の時に有効になる

  • flag_uuid_register_directory (int [Option]) : ファイル出力にuuid_register_directoryも含むかどうかを示すフラグ

    • デフォルト値は0、1の時に有効になる

  • size (int [Option]) : 検索件数

    • 省略時は全検索

  • begin_from (int [Option]) : 検索の始まりのID

  • flag_own (int [Option]) : 自身の所属のデータのみ検索するかどうかのフラグ

    • デフォルト値は0、1の時に有効になる

(注) : register_name_list または file_list の入力が必要 (両方入力の場合はANDで検索)

Returns

A dict of mapping keys.

Keyword
  • total_count (int) : 全検索数 (Elasticsearchの登録テーブル件数)

  • begin_from (int) : 入力時に指定した begn_from値

  • size (int) : 入力時に指定した size値

  • file_list (list(dict)) : ファイル辞書のリスト

  • error (dict) : エラー情報 (エラー発生時のみ付加)

class benten_client.rest_data.Main(parent)[source]

Bases: object

access_token()[source]
endpoint(path)[source]
class benten_client.rest_data.Metadata(parent)[source]

Bases: object

post(**v)[source]

REST API: メタデータ取得

  • Endpoint: [agent-url]/benten/v1/data/metadata

  • Metadata: POST

  • Response: JSON

  • Authorization: 要

Parameters

**v

See below.

Keyword Arguments
  • register_name (str [Option]) : 登録名

  • file (str [Option]) : ファイル名またはディレクトリ名

  • pattern (str [Option]) : メタデータ出力パターン

    • デフォルト値は all; userの値の場合は system関係のメタデータ出力はVetoされる

(注) register_name, file のいずれかの入力要

Returns

A dict of mapping keys.

Keyword
  • metadata_list (list(dict)) : 検索条件に適合するメタデータ(辞書)のリスト

  • error (dict) : エラー情報 (エラー発生時のみ付加)

class benten_client.rest_data.RegisterNames(parent)[source]

Bases: object

post(**v)[source]

REST API: 登録名の検索

  • Endpoint: [benten-url]/benten/v1/data/register_names

  • Method: POST

  • Response: JSON

  • Authorization: 要

Parameters

**v

See below.

Keyword Arguments
  • file_list (list(str)) : ディレクトリまたはファイルのリスト

  • query (str [Option]) : 検索クエリ

  • flag_recursive (int [Option]) : ディレクトリ指定時に下位ディレクトリを含めて検索するかどうかのフラグ

  • size (int [Option]) : 検索件数

    • 省略時は全検索

  • begin_from (int [Option]) : 検索の始まりのID

  • flag_own (int [Option]) : 自身の所属のデータのみ検索するかどうかのフラグ

    • デフォルト値は0、1の時に有効になる

Returns

A dict of mapping keys.

Keyword
  • total_count (int) : 全検索数 (Elasticsearchの登録テーブル件数)

  • begin_from (int) : 入力時に指定した begn_from値

  • size (int) : 入力時に指定した size値

  • register_name_list (list(dict)) : register_nameのリスト

  • error (dict) : エラー情報 (エラー発生時のみ付加)

benten_client.rest_delete module

REST API for delete

Copyright (C) 2020 JASRI All Rights Reserved.

class benten_client.rest_delete.Main(parent)[source]

Bases: object

post(**v)[source]

REST API: ファイル消去

  • Endpoint : [agent-url]/benten/v1/delete

  • Method : POST

  • Response: JSON

  • Authorization : 要

Parameters

**v

See below.

Keyword Arguments
  • register_name_list (list(str) [Option]) : 登録名リスト

  • file_list (list(str) [Option]) : ファイルまたはディレクトリリスト

    • ファイルとディレクトリの区別なし

(注) register_name_list または file_list いずれかの入力要 (両方入力の場合は ANDで指定)

Returns

A dict of mapping keys.

Keyword
  • register_name_list (list(str)) : 削除対象となった登録名リスト

  • file_list (list(dict)) : 削除対象となったファイルリスト

  • error (dict) : エラー情報(エラー発生時のみ付加)

benten_client.rest_download module

REST API for download

Copyright (C) 2020 JASRI All Rights Reserved.

class benten_client.rest_download.File(parent)[source]

Bases: object

get(v, out_directory=None, debug=True, unzip=False)[source]

REST API: ZIPファイルダウンロード実行

  • Endpoint: [agent-url]/benten/v1/download/file/<uuid>

  • Method: GET

  • Response: HTTP (JSON if error occured)

  • Authorization: 必要

Parameters
  • **v – 指定なし

  • debug – True の時に debug print される (Default値はTrue)

  • unzip – Trueの際は、ダウンロード後にzipファイルを解凍する

Returns

なし

(注) Rest APIの返答においてContent-Disposition の header に記載されたzipファイル名で ファイルコンテンツのダウンロードを行う。

post(v, out_directory=None, debug=True, flag_path=False, flag_subdirectory=False, disable_hash=False)[source]

REST API: 単一ファイルダウンロード実行

  • Endpoint: [agent-url]/benten/v1/download/file

  • Method: POST

  • Response: HTTP (JSON when error occured)

  • Authorization: 要

Parameters
  • **v

    See below.

    Keyword Arguments
    • file (str ) : ファイル名

  • debug – True の時に debug print される (Default値はTrue)

  • out_directory – ダウンロードファイルを出力するディレクトリ (flag_pathがTrueの時に有効になる)

  • flag_path – Trueの時に out_directory 以下にダウンロードダウンロードファイルを出力する

  • flag_subdirectory – Trueの時、ファイルは full pathでなく、登録ディレクトリ以下のsub directoryで保存する

:param disable_hash

Trueの時、ダウンロード後のハッシュチェックを省略する

Returns

なし

(注) Rest APIの返答においてContent-Disposition の header に記載されたファイル名で ファイルコンテンツのダウンロードを行う。

class benten_client.rest_download.Main(parent)[source]

Bases: object

access_token()[source]
endpoint(path)[source]
post(**v)[source]

REST API: ZIPダウンロード命令実行 (非同期処理)

  • Endpoint: [agent-url]/benten/v1/download

  • Method: POST

  • Response: JSON

  • Authorization: 要

Parameters

**v

See below.

Keyword Arguments
  • register_name_list (list(str) [Option]) : 登録名リスト

  • file_list (list(file) [Option]) : ディレクトリ及びファイルリスト

    • ディレクトリとファイルの区別なし

  • flag_recursive (int [Option]) : ディレクトリ指定時に下位ディレクトリを含めてダウンロードするかどうかを示すフラグ

    • デフォルト値は0, 1の時に有効になる

  • flag_own (int [Option]) : 自身の所属のデータのみダウンロードするかどうかのフラグ

    • 0 (default, disable) or 1 (enable)

  • mode (str [Option]) : ZIP圧縮のモード (normal, stored, deflated)

    • normal(default)の場合 file capttionが binaryを除いてZIP圧縮を行う。

    • stored の場合、 ZIP無圧縮

    • deflatedの場合、 ZIP圧縮

  • timeout (int) : タイムアウト値 (秒単位)

    • 最大値は 30

    • 負の値の際は30がセットさあれる

(注) register_name_list または file_list のいずれかの入力要

Returns

A dict of mapping keys.

Keyword
  • status (str) : ダウンロード実行状況

    • 未完の場合は PENDING 、処理が開始した場合は STARTED、処理が失敗した場合は FAILURE、処理が終了し成功した場合は SUCCESS

  • uuid (str) : ダウンロードを行うまたは状況確認の際に必要となるid値

  • error (dict) : エラー情報 (エラー発生時のみ付加)

Bases: object

post(**v)[source]
class benten_client.rest_download.Queue(parent)[source]

Bases: object

get(v)[source]

REST API: ZIPダウンロード命令のqueue確認

  • Endpoint: [agent-url]/benten/v1/download/queue/<uuid>

  • Method: GET

  • Response: JSON

  • Authorization: 不要

Parameters

**v – 指定なし

Returns

A dict of mapping keys.

Keyword
  • status (str) : ダウンロード実行状況

    • 未完の場合は PENDING 、処理が開始した場合は STARTED、処理が失敗した場合は FAILURE、処理が終了し成功した場合は SUCCESS

  • uuid (str) : ダウンロードを行うまたは状況確認の際に必要となるid値

  • error (dict) : エラー情報 (エラー発生時のみ付加)

benten_client.rest_metadata module

REST API for metadata

Copyright (C) 2020 JASRI All Rights Reserved.

class benten_client.rest_metadata.Keys(parent)[source]

Bases: object

post(**v)[source]

REST API: メタデータのKey情報取得

  • Endpoint : [agent-url]/benten/v1/metadata/keys

  • Method : POST

  • Response: JSON

  • Authorization : 要

Parameters

**v

See below.

Keyword Arguments

Returns

A dict of mapping keys.

Keyword
  • index_name (str) : index名

  • list (list(str)) : Keyリスト

  • error (dict) : エラー情報 (エラー発生時のみ附加)

class benten_client.rest_metadata.Main(parent)[source]

Bases: object

access_token()[source]
endpoint(path)[source]
class benten_client.rest_metadata.Mappings(parent)[source]

Bases: object

post(**v)[source]

REST API: メタデータのマッピング情報取得

  • Endpoint : [agent-url]/benten/v1/metadata/mappings

  • Method : POST

  • Response: JSON

  • Authorization : 要

Parameters

**v

See below.

Keyword Arguments
  • index_name (str [Option]) : index名

    • ex. : spring8-bl14b2

    • 省略時、アカウントでログイン時はその名前が適用される。

  • facility (str [Option]) : facility名

    • ex. : SPring-8

  • division_name (str [Option]) : division名

    • ex. : BL14B2

(注) 上記指定がない際はログインアカウントに属するindexを用いてマッピング情報を取得する

Returns

A dict of mapping keys.

Keyword
  • properties (dict) : メタデータ マッピング情報

benten_client.rest_proposal module

REST API for proposal DB

Copyright (C) 2020 JASRI All Rights Reserved.

History:

28-Nov-2017 matumot, add Metadata 06-Nov-2017 matumot, created

class benten_client.rest_proposal.Main(parent)[source]

Bases: object

access_token()[source]
endpoint(path)[source]
post(**v)[source]

REST API: 課題番号情報取得

  • Endpoint : [agent-url]/benten/v1/benten/proposal

  • Method : POST

  • Authorization : 要

Parameters

**v

See below.

Keyword Arguments
  • begindate (str [Option]) : 検索日時の始まり

    • ex. 2017-04-05 00:00:00

    • 省略時は全検索

  • enddate (str [Option]) : 検索日時の終わり

    • ex. 2017-07-25 00:00:00

    • 省略時は全検索

  • facility (str [Option]) : 施設名

    • ex. SPring-8

    • 課題番号リストを施設毎に取得できるように、施設名入力のオプションを設けている。しかし、現在は未実装。

Returns

A dict of mapping keys.

Keyword
  • list (list(str)) : 課題番号リスト

  • error (dict) : エラー情報 (エラー発生時のみ附加)

(注) jstreeで扱いやすいデータフォーマットで返答する。上記は暫定のデータフォーマット。

Error messages:

  • invalid account profile(=xxx) : アカウントのprofile 情報が妥当でない

class benten_client.rest_proposal.Metadata(parent)[source]

Bases: object

post(**v)[source]

REST API: 課題DBに属するメタデータ取得

  • Endpoint : [agent-url]/benten/v1/proposal/metadata

  • Method : POST

  • Authorization : 要

Parameters

**v

See below.

Keyword Arguments
  • facility (str [Option]): 施設名

    • 現在は未実装

  • proposal_number (str [Option]) : 課題番号

Returns

A dict of mapping keys.

Keyword
  • found (bool) : 指定Inputが存在するかどうかを示すフラグ (存在している場合は True)

  • metadata (dict) : メタデータ

  • error (dict) : エラー情報 (エラー発生時のみ付加)

benten_client.rest_register module

REST API for registration

Copyright (C) 2020 JASRI All Rights Reserved.

class benten_client.rest_register.Check(parent)[source]

Bases: object

post(**v)[source]

REST API: ファイル Check

  • Endpoint : [agent-url]/benten/v1/register/check

  • Method : POST

  • Response : JSON

  • Authorization : 要

Parameters

**v

See below.

Keyword Arguments
  • register_name (string) : 登録名

  • files_encode (str) : 登録ファイル情報

    • json形式でencode要

Returns

A dict of mapping keys.

Keyword
  • file_list (list(dict)) : 登録指令を受け付けたファイルリスト

  • error (dict) : エラー情報 (エラー発生時のみ付加)

class benten_client.rest_register.Files(parent)[source]

Bases: object

ftp(**v)[source]

ftp: ファイルアップロード

post(**v)[source]

REST API: ファイルアップロード

  • Endpoint : [agent-url]/benten/v1/register/files

  • Method : POST

  • Response : JSON

  • Authorization : 要

Parameters

**v

See below.

Keyword Arguments
  • register_name (string) : 登録名

  • files_encode (str) : 登録ファイル情報

    • json形式でencode要

Returns

A dict of mapping keys.

Keyword
  • file_list (list(dict)) : 登録指令を受け付けたファイルリスト

  • error (dict) : エラー情報 (エラー発生時のみ付加)

class benten_client.rest_register.Files20190215(parent)[source]

Bases: object

post(**v)[source]

REST API : ファイルアップロード

  • Endpoint : [agent-url]/benten/v1/register/files

  • Method : POST

  • Response : JSON

  • Authorization : 要

Parameters

**v

See below.

Keyword Arguments
  • register_name (string) : 登録名

  • files_encode (str) : 登録ファイル情報

    • json形式でencode要

Returns

A dict of mapping keys.

Keyword
  • file_list (list(dict)) : 登録指令を受け付けたファイルリスト

  • error (dict) : エラー情報 (エラー発生時のみ付加)

class benten_client.rest_register.Main(parent)[source]

Bases: object

access_token()[source]
class_name()[source]
disk_name()[source]
endpoint(path)[source]
facility()[source]
local_storage_path()[source]
class benten_client.rest_register.Metadata(parent)[source]

Bases: object

post(**v)[source]

REST API :

  • Endpoint: [agent-url]/benten/v1/register/metadata

  • Method: POST

  • Response: JSON

  • Authorization: 要

Parameters

**v

See below.

Keyword Arguments
  • mode (str [Option]) : 登録モードの指定

    • replace,update,createのいずれか

    • デフォルト値はreplace

  • metadata_encode (str) : メタデータ

    • json形式でencode要

Returns

A dict of mapping keys.

Keyword
  • result_register (str) : 実行結果の状況

    • 成功した場合のみ updated or createdを付加

  • result_file (str) : ファイルアップロード結果の状況

  • mode (str): 登録モード

  • register_name (str): 登録名

  • error (dict) : エラー情報 (エラー発生時のみ付加)

class benten_client.rest_register.Reset(parent)[source]

Bases: object

post(**v)[source]

REST API: アップロードされたファイルのリセット

  • Endpoint : [agent-url]/benten/v1/register/reset

  • Method : POST

  • Response : JSON

  • Authorization : 要

Parameters

**v

See below.

Keyword Arguments
  • register_name (str) : 登録名

Returns

A dict of mapping keys.

Keyword
  • result (str) : 実行結果の状況

    • 成功した場合のみ terminatedを付加

  • error (dict) : エラー情報 (エラー発生時のみ付加)

benten_client.util module

Utilities

Copyright (C) 2020 JASRI All Rights Reserved.

exception benten_client.util.Error(message, domain=None, flag_print=True)[source]

Bases: BaseException

domain()[source]
message()[source]
benten_client.util.access_token()[source]
benten_client.util.add_info_file_dict(file_dict, local_storage_path, facility, class_name, disk_name)[source]
benten_client.util.add_info_file_each_dict(file_each_dict, local_storage_path, facility, class_name, disk_name)[source]
benten_client.util.auth_filename()[source]
benten_client.util.benten_agent_uri()[source]
benten_client.util.benten_config_filename()[source]
benten_client.util.benten_uploader_enable()[source]
benten_client.util.benten_uploader_host()[source]
benten_client.util.benten_uploader_port()[source]
benten_client.util.benten_uploader_secure_data()[source]
benten_client.util.benten_uploader_uri()[source]
benten_client.util.check_access_token(val)[source]
benten_client.util.check_workdir()[source]
benten_client.util.checksum(filename)[source]
benten_client.util.decode_json(val_str)[source]
benten_client.util.encode_json(vdict)[source]
benten_client.util.error_domain(filename, frame, classobj=None)[source]
benten_client.util.headers_authorization(val_access_token)[source]
benten_client.util.json_response(ret)[source]
benten_client.util.load_json(filename)[source]
benten_client.util.load_xml(filename)[source]
benten_client.util.load_yaml(filename)[source]
benten_client.util.local_storage_config()[source]
benten_client.util.local_storage_config_filename()[source]
benten_client.util.log(message, level='DEBUG', flush=False)[source]
benten_client.util.makedirs(dirname)[source]
benten_client.util.mktime(strval)[source]
benten_client.util.mktime_file(filename)[source]
benten_client.util.out_json(out_dict, debug=True, filename=None)[source]
benten_client.util.out_xml(out_dict, debug=True, filename=None)[source]
benten_client.util.out_yaml(out_dict, debug=True, filename=None)[source]
benten_client.util.reference_path(path, repository_directory, flag_full_path=False)[source]
benten_client.util.refresh_token()[source]
benten_client.util.register_name(register_basename, repository_directory)[source]
benten_client.util.register_name_list(register_basename_list, repository_directory)[source]
benten_client.util.repository_directory(config_value, current_directory=None, flag_all=False, flag_print=True)[source]
benten_client.util.save_auth(auth_dict)[source]
benten_client.util.str_datetime_reformed(strtime)[source]
benten_client.util.str_json(out_dict)[source]
benten_client.util.strtime_datetime(t=None, flag_usec=False)[source]
benten_client.util.strtime_file(filename)[source]
benten_client.util.strtime_unixtime(t=None, flag_msec=False)[source]
benten_client.util.work_tmp_dir()[source]
benten_client.util.workdir()[source]

Module contents

Client package for BENTEN

BENTEN : Beamline ExperimeNTal stations oriENted data transfer system

Copyright © 2020 JASRI All Rights Reserved.