mirror of
https://github.com/Babibubebon/isdn-python.git
synced 2024-09-22 17:24:20 +09:00
Library for ISDN (International Standard Dojin Numbering)
.github/workflows | ||
isdn | ||
tests | ||
.gitignore | ||
LICENSE | ||
poetry.lock | ||
pyproject.toml | ||
README.md |
ISDN-Python
ISDN (International Standard Dojin Numbering) のPythonライブラリとCLIツール
Install
$ pip install isdn
Example
ISDNを番号の仕様に従って検証
>>> from isdn import ISDN
>>> isdn = ISDN("2784702901978")
>>> isdn.validate()
True
>>> ISDN.calc_check_digit("2784702901978")
'8'
isdn.jp が提供している書誌情報を取得 (Web からの情報取得)
>>> 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