diff options
author | rubenwardy <rw@rubenwardy.com> | 2018-03-20 04:11:50 +0000 |
---|---|---|
committer | rubenwardy <rw@rubenwardy.com> | 2018-03-20 04:11:50 +0000 |
commit | 623ca3da074e9c456faa7f3b7a2ba6cbf7e81fe5 (patch) | |
tree | 6449422f6efd797dd03d1e78fff79bd28c37dbc1 /app/models.py | |
parent | 363f9d8016851a07ed6b0009b116f74b9e8bdaa6 (diff) | |
download | cheatdb-623ca3da074e9c456faa7f3b7a2ba6cbf7e81fe5.tar.xz |
Simplify PackageType
Diffstat (limited to 'app/models.py')
-rw-r--r-- | app/models.py | 50 |
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) |