aboutsummaryrefslogtreecommitdiff
path: root/app/models.py
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2018-03-20 04:11:50 +0000
committerrubenwardy <rw@rubenwardy.com>2018-03-20 04:11:50 +0000
commit623ca3da074e9c456faa7f3b7a2ba6cbf7e81fe5 (patch)
tree6449422f6efd797dd03d1e78fff79bd28c37dbc1 /app/models.py
parent363f9d8016851a07ed6b0009b116f74b9e8bdaa6 (diff)
downloadcheatdb-623ca3da074e9c456faa7f3b7a2ba6cbf7e81fe5.tar.xz
Simplify PackageType
Diffstat (limited to 'app/models.py')
-rw-r--r--app/models.py50
1 files changed, 15 insertions, 35 deletions
diff --git a/app/models.py b/app/models.py
index 26f7aee..67adcbf 100644
--- a/app/models.py
+++ b/app/models.py
@@ -9,11 +9,6 @@ import enum
# Initialise database
db = SQLAlchemy(app)
-def title_to_url(title):
- return title.lower().replace(" ", "_")
-
-def url_to_title(url):
- return url.replace("_", " ")
class UserRank(enum.Enum):
NOT_JOINED = 0
@@ -29,6 +24,16 @@ class UserRank(enum.Enum):
def getTitle(self):
return self.name.replace("_", " ").title()
+
+class Permission(enum.Enum):
+ EDIT_PACKAGE = "EDIT_PACKAGE"
+ APPROVE_CHANGES = "APPROVE_CHANGES"
+ DELETE_PACKAGE = "DELETE_PACKAGE"
+ CHANGE_AUTHOR = "CHANGE_AUTHOR"
+ APPROVE_RELEASE = "APPROVE_RELEASE"
+ APPROVE_NEW = "APPROVE_NEW"
+
+
class User(db.Model, UserMixin):
id = db.Column(db.Integer, primary_key=True)
@@ -65,32 +70,16 @@ class User(db.Model, UserMixin):
def isClaimed(self):
return self.password is not None and self.password != ""
-class Permission(enum.Enum):
- EDIT_PACKAGE = "EDIT_PACKAGE"
- APPROVE_CHANGES = "APPROVE_CHANGES"
- DELETE_PACKAGE = "DELETE_PACKAGE"
- CHANGE_AUTHOR = "CHANGE_AUTHOR"
- APPROVE_RELEASE = "APPROVE_RELEASE"
- APPROVE_NEW = "APPROVE_NEW"
-
class PackageType(enum.Enum):
MOD = "Mod"
GAME = "Game"
TXP = "Texture Pack"
def toName(self):
- return self.value.lower().replace(" ", "")
-
- @staticmethod
- def fromName(name):
- if name == "mod":
- return PackageType.MOD
- elif name == "game":
- return PackageType.GAME
- elif name == "texturepack":
- return PackageType.TXP
- else:
- return None
+ return self.name.lower()
+
+ def __str__(self):
+ return self.name
@classmethod
def choices(cls):
@@ -98,16 +87,7 @@ class PackageType(enum.Enum):
@classmethod
def coerce(cls, item):
- """item will be both type(enum) AND type(unicode).
- """
- if item == 'PackageType.MOD' or item == PackageType.MOD:
- return PackageType.MOD
- elif item == 'PackageType.GAME' or item == PackageType.GAME:
- return PackageType.GAME
- elif item == 'PackageType.TXP' or item == PackageType.TXP:
- return PackageType.TXP
- else:
- print("Can't coerce", item, type(item))
+ return item if type(item) == PackageType else PackageType[item]
class Package(db.Model):
id = db.Column(db.Integer, primary_key=True)