# dojinvoice_db
[![Release Package](https://github.com/eggplants/dojinvoice_db/workflows/Release%20Package/badge.svg)](https://github.com/eggplants/dojinvoice_db/actions/runs/355419760) [![pre-commit.ci status](https://results.pre-commit.ci/badge/github/eggplants/dojinvoice_db/main.svg)](https://results.pre-commit.ci/latest/github/eggplants/dojinvoice_db/main) [![Update DB](https://github.com/eggplants/dojinvoice_db/actions/workflows/update.yml/badge.svg)](https://github.com/eggplants/dojinvoice_db/actions/workflows/update.yml)
[![PyPI version](https://badge.fury.io/py/dojinvoice-db.svg)](https://badge.fury.io/py/dojinvoice_db) [![Maintainability](https://api.codeclimate.com/v1/badges/f9942612576bc3a99dbd/maintainability)](https://codeclimate.com/github/eggplants/dojinvoice_db/maintainability) [![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat)](LICENSE)
- Dojinvoice (同人音声) DB
- DLsite
- <https://www.dlsite.com/maniax/works/voice>
## How to run
[`git-lfs`](https://github.com/git-lfs/git-lfs?tab=readme-ov-file#installing) required to download existing data from the storage.
```bash
pip install dojinvoice-db
git lfs pull
```
```shellsession
$ dvdb
Download pages? >> (`y` or Enter)
<int> work(s) have already been committed to existing db!
Now: ./dlsite/00001.html
Now: ./dlsite/00002.html
Now: ./dlsite/00003.html
...
```
## DB Schema
```python
create_table(
'''work (
work_id text primary key,
detail_link text not null,
title text not null,
circle text not null,
circle_link text not null,
category text not null,
sale_date integer not null,
age_zone text not null,
file_format text not null,
file_size text not null,
description str not null,
monopoly integer not null,
price integer not null
) '''
)
create_table(
'''option (
work_id text primary key,
thumbnail text,
cien_link text,
series text,
chobit_link text,
sales integer,
favorites integer,
trial_link text,
trial_size integer,
rating real
) '''
)
create_table(
'''writer (
work_id text,
writer text,
primary key (work_id, writer)
) '''
)
create_table(
'''scenario (
work_id text,
scenario text,
primary key (work_id, scenario)
) '''
)
create_table(
'''illustrator (
work_id text,
illustrator text,
primary key (work_id, illustrator)
) '''
)
create_table(
'''voice (
work_id text,
voice text,
primary key (work_id, voice)
) '''
)
create_table(
'''musician (
work_id text,
musician text,
primary key (work_id, musician)
) '''
)
create_table(
'''genre (
work_id text,
genre text,
primary key (work_id, genre)
) '''
)
```
Raw data
{
"_id": null,
"home_page": "https://github.com/eggplants/dojinvoice_db",
"name": "dojinvoice_db",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.13,>3.9.7",
"maintainer_email": null,
"keywords": "selenium, dlsite",
"author": "eggplants",
"author_email": "w10776e8w@yahoo.co.jp",
"download_url": "https://files.pythonhosted.org/packages/38/86/e07b2c48388f75996edc64ed624950ac6a9179facd00118aefa277444087/dojinvoice_db-1.1.0.tar.gz",
"platform": null,
"description": "# dojinvoice_db\n\n[![Release Package](https://github.com/eggplants/dojinvoice_db/workflows/Release%20Package/badge.svg)](https://github.com/eggplants/dojinvoice_db/actions/runs/355419760) [![pre-commit.ci status](https://results.pre-commit.ci/badge/github/eggplants/dojinvoice_db/main.svg)](https://results.pre-commit.ci/latest/github/eggplants/dojinvoice_db/main) [![Update DB](https://github.com/eggplants/dojinvoice_db/actions/workflows/update.yml/badge.svg)](https://github.com/eggplants/dojinvoice_db/actions/workflows/update.yml)\n\n[![PyPI version](https://badge.fury.io/py/dojinvoice-db.svg)](https://badge.fury.io/py/dojinvoice_db) [![Maintainability](https://api.codeclimate.com/v1/badges/f9942612576bc3a99dbd/maintainability)](https://codeclimate.com/github/eggplants/dojinvoice_db/maintainability) [![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat)](LICENSE)\n\n- Dojinvoice (\u540c\u4eba\u97f3\u58f0) DB\n - DLsite\n - <https://www.dlsite.com/maniax/works/voice>\n\n## How to run\n\n[`git-lfs`](https://github.com/git-lfs/git-lfs?tab=readme-ov-file#installing) required to download existing data from the storage.\n\n```bash\npip install dojinvoice-db\ngit lfs pull\n```\n\n```shellsession\n$ dvdb\nDownload pages? >> (`y` or Enter)\n<int> work(s) have already been committed to existing db!\nNow: ./dlsite/00001.html\nNow: ./dlsite/00002.html\nNow: ./dlsite/00003.html\n...\n```\n\n## DB Schema\n\n```python\ncreate_table(\n '''work (\n work_id text primary key,\n detail_link text not null,\n title text not null,\n circle text not null,\n circle_link text not null,\n category text not null,\n sale_date integer not null,\n age_zone text not null,\n file_format text not null,\n file_size text not null,\n description str not null,\n monopoly integer not null,\n price integer not null\n ) '''\n)\ncreate_table(\n '''option (\n work_id text primary key,\n thumbnail text,\n cien_link text,\n series text,\n chobit_link text,\n sales integer,\n favorites integer,\n trial_link text,\n trial_size integer,\n rating real\n ) '''\n)\ncreate_table(\n '''writer (\n work_id text,\n writer text,\n primary key (work_id, writer)\n ) '''\n)\ncreate_table(\n '''scenario (\n work_id text,\n scenario text,\n primary key (work_id, scenario)\n ) '''\n)\ncreate_table(\n '''illustrator (\n work_id text,\n illustrator text,\n primary key (work_id, illustrator)\n ) '''\n)\ncreate_table(\n '''voice (\n work_id text,\n voice text,\n primary key (work_id, voice)\n ) '''\n)\ncreate_table(\n '''musician (\n work_id text,\n musician text,\n primary key (work_id, musician)\n ) '''\n)\ncreate_table(\n '''genre (\n work_id text,\n genre text,\n primary key (work_id, genre)\n ) '''\n)\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Make DB of Dojinvoice",
"version": "1.1.0",
"project_urls": {
"Homepage": "https://github.com/eggplants/dojinvoice_db",
"Repository": "https://github.com/eggplants/dojinvoice_db"
},
"split_keywords": [
"selenium",
" dlsite"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1cea52be35059d02d2bd50872f68a005370e59c32680e00c4eb69dde05f35b2d",
"md5": "1a3e3ffbdaceede6b1ffa0f40dc4eb3b",
"sha256": "07e5e8334364981382121eb8f6350eb661f63737ded68b8cb5217c1dbc8a821a"
},
"downloads": -1,
"filename": "dojinvoice_db-1.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1a3e3ffbdaceede6b1ffa0f40dc4eb3b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.13,>3.9.7",
"size": 10927,
"upload_time": "2024-03-24T16:46:36",
"upload_time_iso_8601": "2024-03-24T16:46:36.320447Z",
"url": "https://files.pythonhosted.org/packages/1c/ea/52be35059d02d2bd50872f68a005370e59c32680e00c4eb69dde05f35b2d/dojinvoice_db-1.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3886e07b2c48388f75996edc64ed624950ac6a9179facd00118aefa277444087",
"md5": "43bdb78b6ee4d3637e181dfe2c3e652b",
"sha256": "f415798c375783b456dd1dadc7a076bd137d388122fae7f29c9adb2517a63969"
},
"downloads": -1,
"filename": "dojinvoice_db-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "43bdb78b6ee4d3637e181dfe2c3e652b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.13,>3.9.7",
"size": 9841,
"upload_time": "2024-03-24T16:46:38",
"upload_time_iso_8601": "2024-03-24T16:46:38.027461Z",
"url": "https://files.pythonhosted.org/packages/38/86/e07b2c48388f75996edc64ed624950ac6a9179facd00118aefa277444087/dojinvoice_db-1.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-24 16:46:38",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "eggplants",
"github_project": "dojinvoice_db",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "dojinvoice_db"
}