Sub-package of edman for cli applications and scripts.
Project description
EDMAN(KEK IMSS SBRC/PF Experimental Data Management System)用のコマンドラインスクリプト。
コマンドとしてインストールされます。
Requirement
pymongo
python-dateutil
jmespath
edman
Scripts Usage
コマンドとしてインストールされます
◯スクリプトで使用するクエリについて
検索用クエリ
検索の際はMongoDB(pymongo)のフィルタ形式で指定します
クエリ形式は “{フィルタ条件}”
階層指定クエリ
emb(Embedded)形式でデータが入っている場合は下記のようなクエリで指定します
構造上、embの時はクエリを使用しなければデータに到達できません
例:
{ "collectionA":[ { "collectionB":{"data1":"value1"} }, { "collectionC:{ "data2":"value2", "CollectionD":{ "data3":"value3", "data4":"value4" } } } ] }
・data4を消したい場合
“[‘collectionA’, ‘1’, ‘collectionC’, ‘collectionD’]”
リストで消したい項目の直近の親までを指定する
データが複数あり、リストで囲まれていた場合は添字を数字で指定
◯型変換について
・DB内のすべてのコレクションが変換されます
・DBにあってJSONファイルにないキーは無視されます
・型一覧にない型を指定した時はstrに変換します
・型一覧:
[int,float,bool,str,datetime]
・値がリストの時
・双方どちらかがリストでない時は無視
・JSON側が単一、DB側が複数の時は単一の型で全て変換する
JSON:[‘str’]
DB:[‘1’,’2’,’3’]
・JSON側よりDB側が少ない時はJSON側は切り捨て
JSON:[‘str’、’int’, ‘int’]
DB:[‘1’,2]
・JSON側よりDB側が多い時は、リストの最後の型で繰り返す
JSON:[‘str’、’int’]
DB:[‘1’,2,3,4,5]
・型変換用のJSON例:
{ "コレクション名":{ "キー": "変更する型", "キー2": "変更する型", }, "コレクション名2":{ "キー": ["変更する型","変更する型"], } }
以下のedmanのドキュメントも参照してください
◯各コマンド
ed_entry: jsonファイルからMongoDBに投入
ed_find: データを検索し、jsonに保存 検索用クエリを使用します
ed_item_delete: データ内の項目を消す embの時、階層指定クエリを使用します
ed_update: データの更新(更新用jsonファイルを用意)
ed_delete: ドキュメントの削除(embは全削除、refは指定したobjectid以下を削除)
ed_file_add: 該当データにファイルを添付する embの時、階層指定クエリを使用します
ed_file_dl: 添付ファイルをダウンロード embの時、階層指定クエリを使用します
ed_file_delete: 添付ファイルを削除 embの時、階層指定クエリを使用します
ed_db_create: データベース及びユーザ作成操作支援用(MongoDBの管理者アカウントが必要)
ed_db_destroy: データベース削除操作支援用(ユーザ削除はソース書き換えが必要)
ed_structure_convert: DB内のembをrefへ変換、またはその逆を行います
ed_pullout: コレクション内のembのキーを指定し、そのキーを含む階層を全てrefに変換します
ed_assign_bson_type: DB内のRefドキュメントに型を適応します
オプションなど詳しくは:
command_name -h
CONFIG FILE
各スクリプトからDBに接続するためには、DBの接続情報が書かれたファイルが必要です
[DB] # MongoDB default port 27017 port = 27017 # MongoDB server host host = 127.0.0.1 user = user_name password = user_password database = database_name options = ["authSource=authenticate_database_name"] # LDAP USER SETTINGS # options = ["authMechanism=PLAIN"]
上記の内容のファイル、db.iniを作成し、任意の場所に保存してください
DB内にユーザの情報がある場合はauthSourceのauthenticate_database_nameに DBの認証ユーザ名を、 LDAPにユーザ情報がある場合は”authMechanism=PLAIN”を利用してください (上記例はLDAPの場合)
各スクリプトのヘルプを参考にして、引数にこのファイルのパスを指定してください
Install
pip install:
pip install edman_cli
Licence
MIT
PyPI Project
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
edman_cli-2024.11.5.tar.gz
(17.9 kB
view details)
Built Distribution
File details
Details for the file edman_cli-2024.11.5.tar.gz
.
File metadata
- Download URL: edman_cli-2024.11.5.tar.gz
- Upload date:
- Size: 17.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18722faf26b4f1a73a2eeb79fbcfbaf76b87bb79f08f1888f3f5942ac219dcef |
|
MD5 | 4a267ebab8f16148dd8cd100f4cd3e76 |
|
BLAKE2b-256 | 41617bc50f5847bbc176142aa70452f662d8dca1f94541ed5cb725c8c88b7e27 |
File details
Details for the file edman_cli-2024.11.5-py3-none-any.whl
.
File metadata
- Download URL: edman_cli-2024.11.5-py3-none-any.whl
- Upload date:
- Size: 28.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f61a4d7dc16ed68b1a77a1ede3985425ce7ddbad8a71d48c68f99302fca9413c |
|
MD5 | b65dbf4771826dc96ede5c589234d79e |
|
BLAKE2b-256 | 39001fee78c495887e6355ada0af6fe5699dd8dedbf78cb6745e4e032493f6ef |