Skip to content

maedaak/serials_hold_validator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

serials_hold_validator (NACSIS-CAT雑誌所蔵の登録前形式チェック)

はじめに

serials_hold_validator.pm は国立情報学研究所のNACSIS-CATに雑誌所蔵を登録する前に、書式が正しいかどうかをチェックするPython3モジュールです。雑誌所蔵の記載形式が正しいかどうかのチェックと、具体的にどの箇所で問題が発生したかの情報を返します。

チェックの例

次の入力データを

3-4,5-6+
33-44-55,6
4.5(4-6),6(1-2-3),8
66-44,77,90-(aa)
14(1,2-
7),8
88(19).44-55a
*
100-200;30-40+
100.3;4-5(4-5);5,6()
5()-6()
44(10-11,13(10-11)
12(14)13-14,15(2-4),16-29
1(14
2)1-2)

次のとおりチェックします。

  • レコード先頭の0はエラーなしを、1はエラーありを示してます。
  • 雑誌所蔵中のエラー箇所はタグでタグ付けしています。
0 3-4,5-6+
1 <Ng>33-44-55</Ng>,6
1 <Ng>4.5(4-6)</Ng>,6(<Ng>1-2-3</Ng>),8
1 66-44,77,<Ng>90-(aa)</Ng>
1 <Ng>14(1,2-</Ng>
1 <Ng>7)</Ng>,8
1 <Ng>88(19).44-55a</Ng>
0 *
0 100-200;30-40+
1 <Ng>100.3</Ng>;<Ng>4-5(4-5)</Ng>;5,6()
0 5()-6()
1 44(10-11,<Ng>13(10-11</Ng>)
1 <Ng>12(14)13-14,15(2-4),16-29</Ng>
1 <Ng>1(14</Ng>
1 <Ng>2)1-2)</Ng>

使い方

サンプルスクリプトsample.py

次のとおりsample.pyのあとに入力ファイルを続けて指定してください。 入力は雑誌所蔵を改行区切りでリスト可したテキストファイルです。 入力の具体例はtestinput.txtをご参照ください。

python sample.py 入力ファイル

関数serials_hold_validator

雑誌所蔵の形式チェック機能を自作のスクリプトに呼び出して使うことができます。 具体例として、sample.py もご参考にしてください。

serials_hold_validator.pyを作るPythonスクリプトと同じディレクトリに(フォルダ)配置します。 ご自身のPythonスクリプトで、import文で関数serials_hold_validatorを使えるようにします。 以下の例ではshv.serials_hold_validator()でserials_hold_validator関数を呼び出せるようにしています。 serials_hold_validator関数の引数には解析対象の1雑誌所蔵データを入れます。

import serials_hold_validator as shv
code, checked = shv.serials_hold_validator('3-10,12()-14(),15-16-17+')
print(code, checked)

関数の戻り値について説明します。

  • codeはエラーの有無を返します。0であればエラーなし、1であればエラーありです。
  • checkedは入力の雑誌所蔵をタグでエラー箇所にタグ付けし返します。

免責

いち大学図書館関係者として作成したもので、国立情報学研究所の事業との関係はありません。 もし、このツールでエラーがでなくとも、NACSIS-CATでエラーにならないことを保証するものではないことはご承知ください。 また、チェックが完全ではない可能性もあります。

Update

  • 2023.3.27 バグフィックス
  • 2023.3.28 数値()-数値() のパターンを正しいものとして処理
  • 2023.3.28 "12(14)13-14,15(2-4),16-29"のようなパターンでの不具合に対処

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages