mirror of
https://github.com/Babibubebon/isdn-python.git
synced 2024-09-22 17:24:20 +09:00
118 lines
3.2 KiB
Markdown
118 lines
3.2 KiB
Markdown
# ISDN-Python
|
|
|
|
[![PyPI version](https://badge.fury.io/py/isdn.svg)](https://badge.fury.io/py/isdn)
|
|
[![Test](https://github.com/Babibubebon/isdn-python/actions/workflows/test.yml/badge.svg)](https://github.com/Babibubebon/isdn-python/actions/workflows/test.yml)
|
|
|
|
[ISDN (International Standard Dojin Numbering)](https://isdn.jp/) のPythonライブラリとCLIツール
|
|
|
|
## Install
|
|
|
|
```
|
|
$ pip install isdn
|
|
```
|
|
|
|
## Example
|
|
|
|
ISDNを[番号の仕様](https://isdn.jp/about.html)に従って検証
|
|
|
|
```python
|
|
>>> from isdn import ISDN
|
|
>>> isdn = ISDN("2784702901978")
|
|
>>> isdn.validate()
|
|
True
|
|
>>> ISDN.calc_check_digit("2784702901978")
|
|
'8'
|
|
```
|
|
|
|
isdn.jp が提供している書誌情報を取得 ([Web からの情報取得](https://isdn.jp/about.html))
|
|
|
|
```python
|
|
>>> from isdn import ISDNClient
|
|
>>> client = ISDNClient()
|
|
>>> record = client.get("2784702901978")
|
|
>>> record.isdn
|
|
ISDN(code='2784702901978', prefix='278', group='4', registrant='702901', publication='97', check_digit='8')
|
|
>>> record.product_name
|
|
'みほん同人誌'
|
|
>>> record
|
|
ISDNRecord(
|
|
isdn=ISDN(
|
|
code='2784702901978',
|
|
prefix='278',
|
|
group='4',
|
|
registrant='702901',
|
|
publication='97',
|
|
check_digit='8'
|
|
),
|
|
region='日本',
|
|
class_='オリジナル',
|
|
type='同人誌',
|
|
rating_gender='区別なし',
|
|
rating_age='一般',
|
|
product_name='みほん同人誌',
|
|
product_yomi='みほんどうじんし',
|
|
publisher_code='14142139',
|
|
publisher_name='見本サークル',
|
|
publisher_yomi='みほんさーくる',
|
|
issue_date=datetime.date(2008, 3, 12),
|
|
genre_code='106',
|
|
genre_name='評論・情報',
|
|
genre_user=None,
|
|
c_code='C3055',
|
|
author='専門',
|
|
shape='単行本',
|
|
contents='電子通信',
|
|
price=Decimal('100'),
|
|
price_unit='JPY',
|
|
barcode2='2923055001007',
|
|
product_comment=None,
|
|
product_style=None,
|
|
product_size=None,
|
|
product_capacity=None,
|
|
product_capacity_unit=None,
|
|
sample_image_uri=HttpUrl('https://isdn.jp/images/thumbs/2784702901978.png', ),
|
|
useroptions=[
|
|
UserOption(property='執筆者', value='みほん執筆者1'),
|
|
UserOption(property='執筆者', value='みほん執筆者2'),
|
|
UserOption(property='執筆者', value='みほん執筆者3'),
|
|
UserOption(property='執筆者', value='みほん執筆者4'),
|
|
UserOption(property='執筆者', value='みほん執筆者5'),
|
|
UserOption(property='執筆者', value='みほん執筆者6')
|
|
],
|
|
external_links=[
|
|
ExternalLink(title='国際標準同人誌番号', uri=HttpUrl('http://isdn.jp/', )),
|
|
ExternalLink(
|
|
title='mixiコミュニティ',
|
|
uri=HttpUrl('http://mixi.jp/view_community.pl?id=3188828', )
|
|
)
|
|
]
|
|
)
|
|
```
|
|
|
|
## CLI
|
|
|
|
指定したISDNの形式を検証
|
|
|
|
```
|
|
$ isdn validate 2784702901978
|
|
```
|
|
|
|
指定したISDNの書誌情報を isdn.jp から取得
|
|
|
|
```
|
|
$ isdn get 2784702901978
|
|
$ isdn get 2784702901978 --format json
|
|
```
|
|
|
|
ISDNの一覧を isdn.jp から取得
|
|
|
|
```
|
|
$ isdn list
|
|
```
|
|
|
|
すべての書誌情報を isdn.jp から取得してファイルに保存
|
|
|
|
```
|
|
$ isdn bulk-download /path/to/download
|
|
$ isdn bulk-download /path/to/download --write-image
|
|
```
|