# Generated by Django 4.2.19 on 2025-02-18 05:11

from django.db import migrations, models
import django_extensions.db.fields
import taggit.managers
import uuid


class Migration(migrations.Migration):

    dependencies = [
        ("scrobbles", "0067_scrobble_food_alter_scrobble_media_type"),
        ("books", "0024_book_publisher"),
    ]

    operations = [
        migrations.RemoveField(
            model_name="author",
            name="amazon_id",
        ),
        migrations.RemoveField(
            model_name="author",
            name="librarything_id",
        ),
        migrations.RemoveField(
            model_name="author",
            name="locg_slug",
        ),
        migrations.AddField(
            model_name="author",
            name="semantic_id",
            field=models.CharField(blank=True, max_length=50, null=True),
        ),
        migrations.CreateModel(
            name="Paper",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "created",
                    django_extensions.db.fields.CreationDateTimeField(
                        auto_now_add=True, verbose_name="created"
                    ),
                ),
                (
                    "modified",
                    django_extensions.db.fields.ModificationDateTimeField(
                        auto_now=True, verbose_name="modified"
                    ),
                ),
                (
                    "uuid",
                    models.UUIDField(
                        blank=True,
                        default=uuid.uuid4,
                        editable=False,
                        null=True,
                    ),
                ),
                ("run_time_seconds", models.IntegerField(default=900)),
                (
                    "run_time_ticks",
                    models.PositiveBigIntegerField(blank=True, null=True),
                ),
                ("title", models.CharField(max_length=255)),
                ("semantic_title", models.CharField(max_length=255)),
                (
                    "koreader_data_by_hash",
                    models.JSONField(blank=True, null=True),
                ),
                (
                    "semantic_id",
                    models.CharField(blank=True, max_length=50, null=True),
                ),
                (
                    "arxiv_id",
                    models.CharField(blank=True, max_length=50, null=True),
                ),
                (
                    "corpus_id",
                    models.CharField(blank=True, max_length=50, null=True),
                ),
                (
                    "doi_id",
                    models.CharField(blank=True, max_length=50, null=True),
                ),
                ("pages", models.IntegerField(blank=True, null=True)),
                (
                    "language",
                    models.CharField(blank=True, max_length=4, null=True),
                ),
                (
                    "first_publish_year",
                    models.IntegerField(blank=True, null=True),
                ),
                ("publish_date", models.DateField(blank=True, null=True)),
                (
                    "journal",
                    models.CharField(blank=True, max_length=255, null=True),
                ),
                (
                    "journal_volume",
                    models.CharField(blank=True, max_length=50, null=True),
                ),
                ("abstract", models.TextField(blank=True, null=True)),
                ("num_citations", models.IntegerField(blank=True, null=True)),
                (
                    "openaccess_pdf_url",
                    models.CharField(blank=True, max_length=255, null=True),
                ),
                (
                    "authors",
                    models.ManyToManyField(blank=True, to="books.author"),
                ),
                (
                    "genre",
                    taggit.managers.TaggableManager(
                        help_text="A comma-separated list of tags.",
                        through="scrobbles.ObjectWithGenres",
                        to="scrobbles.Genre",
                        verbose_name="Tags",
                    ),
                ),
            ],
            options={
                "abstract": False,
            },
        ),
    ]
