Skip to content

Commit

Permalink
refactor app store model
Browse files Browse the repository at this point in the history
  • Loading branch information
Archmonger committed Dec 29, 2023
1 parent 653d0cd commit 3b38093
Show file tree
Hide file tree
Showing 7 changed files with 471 additions and 97 deletions.
12 changes: 2 additions & 10 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,8 @@
{
"editor.detectIndentation": false,
"editor.formatOnSave": true,
"python.linting.enabled": true,
"python.linting.flake8Enabled": true,
"python.linting.pylintEnabled": true,
"python.linting.mypyEnabled": true,
"python.analysis.typeCheckingMode": "off",
"python.languageServer": "Pylance",
"python.formatting.provider": "black",
"isort.args": [
"--src=${workspaceFolder}"
],
"python.analysis.extraPaths": [
"data/packages/__installed__",
"data/packages/develop"
Expand Down Expand Up @@ -44,9 +36,9 @@
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[python]": {
"editor.defaultFormatter": "ms-python.python",
"editor.defaultFormatter": "charliermarsh.ruff",
"editor.codeActionsOnSave": {
"source.organizeImports": true
"source.organizeImports": "explicit"
}
},
"files.insertFinalNewline": true
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,265 @@
# Generated by Django 4.2.1 on 2023-12-29 00:32

import conreq._core.fields
from django.db import migrations, models
import django.db.models.deletion
import versionfield.fields


class Migration(migrations.Migration):
dependencies = [
("app_store", "0042_alter_spotlightcategory_apps"),
]

operations = [
migrations.CreateModel(
name="PyPiData",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("author", models.CharField(blank=True, max_length=50)),
("author_email", models.EmailField(blank=True, max_length=254)),
(
"development_status",
models.CharField(
blank=True,
choices=[
("1 - Planning", "Planning"),
("2 - Pre-Alpha", "Pre-Alpha"),
("3 - Alpha", "Alpha"),
("4 - Beta", "Beta"),
("5 - Production/Stable", "Stable"),
("6 - Mature", "Mature"),
("7 - Inactive", "Inactive"),
],
default="1 - Planning",
max_length=21,
),
),
("description", models.TextField(blank=True)),
(
"description_content_type",
models.CharField(
blank=True,
choices=[
("text/plain", "Plain Text (.txt)"),
("text/x-rst", "reStructuredText (.rst)"),
("text/markdown", "Markdown (.md)"),
],
default="text/plain",
max_length=20,
),
),
("keywords", models.TextField(blank=True)),
("license", models.CharField(blank=True, max_length=100)),
("maintainer", models.CharField(blank=True, max_length=50)),
("maintainer_email", models.EmailField(blank=True, max_length=254)),
("package_url", models.URLField(blank=True)),
("requires_python", models.CharField(blank=True, max_length=50)),
("summary", models.CharField(blank=True, max_length=255)),
("version", versionfield.fields.VersionField(blank=True)),
("releases", models.JSONField(blank=True)),
("loaded", models.BooleanField(default=False)),
("modified_at", models.DateTimeField(auto_now=True)),
],
),
migrations.RemoveField(
model_name="apppackage",
name="asynchronous",
),
migrations.RemoveField(
model_name="apppackage",
name="author",
),
migrations.RemoveField(
model_name="apppackage",
name="author_url",
),
migrations.RemoveField(
model_name="apppackage",
name="contact_email",
),
migrations.RemoveField(
model_name="apppackage",
name="contact_link",
),
migrations.RemoveField(
model_name="apppackage",
name="development_stage",
),
migrations.RemoveField(
model_name="apppackage",
name="homepage_url",
),
migrations.RemoveField(
model_name="apppackage",
name="license_type",
),
migrations.RemoveField(
model_name="apppackage",
name="long_description_type",
),
migrations.RemoveField(
model_name="apppackage",
name="pypi_url",
),
migrations.RemoveField(
model_name="apppackage",
name="repository_url",
),
migrations.RemoveField(
model_name="apppackage",
name="short_description",
),
migrations.RemoveField(
model_name="apppackage",
name="support_url",
),
migrations.RemoveField(
model_name="apppackage",
name="sync_with_pypi",
),
migrations.RemoveField(
model_name="apppackage",
name="versions",
),
migrations.AddField(
model_name="apppackage",
name="app_config_script",
field=conreq._core.fields.PythonTextField(
blank=True,
help_text="Python code that will be run after boot up. This code is run directly within the context of an arbitrary `AppConfig.ready()` method. If you need revision control for this script, create a dedicated `AppConfig` in your package release instead.",
),
),
migrations.AddField(
model_name="apppackage",
name="custom_pip_install",
field=models.TextField(
blank=True,
help_text="Custom pip install command. If left blank, the default `pip install <pypi_name>` will be used.",
),
),
migrations.AddField(
model_name="apppackage",
name="developed",
field=models.BooleanField(
default=False,
help_text="Whether or not this app has been developed. If not, it is a placeholder app.",
),
),
migrations.AddField(
model_name="apppackage",
name="listed_on_pypi",
field=models.BooleanField(
default=False,
help_text="Whether or not this app is listed on PyPI. If not, it is a placeholder app.",
),
),
migrations.AddField(
model_name="apppackage",
name="pypi_name",
field=models.CharField(
blank=True,
help_text="Name used for PyPI package installation. Defaults to `pkg_name` if left blank.",
max_length=100,
),
),
migrations.AddField(
model_name="apppackage",
name="settings_script",
field=conreq._core.fields.PythonTextField(
blank=True,
help_text="Python code that will be run before boot up. This code is run directly within the context of Conreq's `settings.py`. If you need revision control for this script, create a dedicated `conreq_settings.py` file in your package release instead.",
),
),
migrations.AlterField(
model_name="apppackage",
name="conreq_max_version",
field=versionfield.fields.VersionField(
blank=True,
help_text="Maximum version Conreq can be to support this package.",
null=True,
),
),
migrations.AlterField(
model_name="apppackage",
name="conreq_min_version",
field=versionfield.fields.VersionField(
default="0.0.0",
help_text="Minimum version Conreq needs to be to support this package.",
),
),
migrations.AlterField(
model_name="apppackage",
name="incompatible_apps",
field=models.ManyToManyField(
blank=True,
help_text="Conreq apps that cannot be installed for this package to function.",
to="app_store.apppackage",
),
),
migrations.AlterField(
model_name="apppackage",
name="long_description",
field=models.TextField(
blank=True,
help_text="This description is hidden from the app info modal, but is viewable within the database admin GUI.",
),
),
migrations.AlterField(
model_name="apppackage",
name="min_version",
field=versionfield.fields.VersionField(
default="0.0.0",
help_text="Minimum version of this package that is compatible with Conreq.",
),
),
migrations.AlterField(
model_name="apppackage",
name="pkg_name",
field=models.CharField(
help_text="Must be snake_case. Importable name within Python.",
max_length=100,
unique=True,
),
),
migrations.AlterField(
model_name="apppackage",
name="related_apps",
field=models.ManyToManyField(
blank=True,
help_text="Conreq apps that are related to this project.",
to="app_store.apppackage",
),
),
migrations.AlterField(
model_name="apppackage",
name="required_apps",
field=models.ManyToManyField(
blank=True,
help_text="Conreq apps that must be installed for this package to function.",
to="app_store.apppackage",
),
),
migrations.DeleteModel(
name="PackageVersion",
),
migrations.AddField(
model_name="apppackage",
name="pypi_data",
field=conreq._core.fields.AutoOneToOneField(
blank=True,
editable=False,
null=True,
on_delete=django.db.models.deletion.CASCADE,
to="app_store.pypidata",
),
),
]
Loading

0 comments on commit 3b38093

Please sign in to comment.