aboutsummaryrefslogtreecommitdiffstats
path: root/pydis_site/apps/home/models
diff options
context:
space:
mode:
Diffstat (limited to 'pydis_site/apps/home/models')
-rw-r--r--pydis_site/apps/home/models/__init__.py3
-rw-r--r--pydis_site/apps/home/models/repo_data.py33
2 files changed, 36 insertions, 0 deletions
diff --git a/pydis_site/apps/home/models/__init__.py b/pydis_site/apps/home/models/__init__.py
new file mode 100644
index 00000000..f327795a
--- /dev/null
+++ b/pydis_site/apps/home/models/__init__.py
@@ -0,0 +1,3 @@
+from .repo_data import RepositoryMetadata
+
+__all__ = ["RepositoryMetadata"]
diff --git a/pydis_site/apps/home/models/repo_data.py b/pydis_site/apps/home/models/repo_data.py
new file mode 100644
index 00000000..c975c904
--- /dev/null
+++ b/pydis_site/apps/home/models/repo_data.py
@@ -0,0 +1,33 @@
+from django.db import models
+from django.utils import timezone
+
+
+class RepositoryMetadata(models.Model):
+ """Information about one of our repos fetched from the GitHub API."""
+
+ last_updated = models.DateTimeField(
+ default=timezone.now,
+ help_text="The date and time this data was last fetched."
+ )
+ repo_name = models.CharField(
+ primary_key=True,
+ max_length=40,
+ help_text="The full name of the repo, e.g. python-discord/site"
+ )
+ description = models.CharField(
+ max_length=400,
+ help_text="The description of the repo."
+ )
+ forks = models.IntegerField(
+ help_text="The number of forks of this repo"
+ )
+ stargazers = models.IntegerField(
+ help_text="The number of stargazers for this repo"
+ )
+ language = models.CharField(
+ max_length=20,
+ help_text="The primary programming language used for this repo."
+ )
+
+ def __str__(self):
+ return self.repo_name