]> git.lizzy.rs Git - cheatdb.git/blobdiff - setup.py
Disable edit requests
[cheatdb.git] / setup.py
index 149ab0693dd4da4477b81eb06e5791d41294145a..c58136d43cc0dba4866120a075b0aa96cb4e1321 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -20,25 +20,11 @@ import os, sys, datetime
 if not "FLASK_CONFIG" in os.environ:
        os.environ["FLASK_CONFIG"] = "../config.cfg"
 
-delete_db = len(sys.argv) >= 2 and sys.argv[1].strip() == "-d"
-
-if delete_db and os.path.isfile("db.sqlite"):
-       os.remove("db.sqlite")
-
-if not os.path.isfile("db.sqlite"):
-       from app.models import *
-
-       print("Creating database tables...")
-       db.create_all()
-       print("Filling database...")
-
-       ruben = User("rubenwardy")
-       ruben.github_username = "rubenwardy"
-       ruben.forums_username = "rubenwardy"
-       ruben.rank = UserRank.ADMIN
-       db.session.add(ruben)
+test_data = len(sys.argv) >= 2 and sys.argv[1].strip() == "-t"
 
+from app.models import *
 
+def defineDummyData(licenses, tags, ruben):
        ez = User("Shara")
        ez.github_username = "Ezhh"
        ez.forums_username = "Shara"
@@ -50,26 +36,9 @@ if not os.path.isfile("db.sqlite"):
 
        jeija = User("Jeija")
        jeija.github_username = "Jeija"
+       jeija.forums_username = "Jeija"
        db.session.add(jeija)
 
-       tags = {}
-       for tag in ["Inventory", "Mapgen", "Building", \
-                       "Mobs and NPCs", "Tools", "Player effects", \
-                       "Environment", "Transport", "Maintenance", "Plants and farming", \
-                       "PvP", "PvE", "Survival", "Creative", "Puzzle", "Multiplayer", "Singleplayer"]:
-               row = Tag(tag)
-               tags[row.name] = row
-               db.session.add(row)
-
-
-       licenses = {}
-       for license in ["GPLv2.1", "GPLv3", "LGPLv2.1", "LGPLv3", "AGPLv2.1", "AGPLv3",
-                                       "Apache", "BSD 3-Clause", "BSD 2-Clause", "CC0", "CC-BY-SA",
-                                       "CC-BY", "CC-BY-NC-SA", "MIT", "ZLib"]:
-               row = License(license)
-               licenses[row.name] = row
-               db.session.add(row)
-
 
        mod = Package()
        mod.approved = True
@@ -287,7 +256,6 @@ No warranty is provided, express or implied, for any part of the project.
        mod.title = "Sweet Foods"
        mod.license = licenses["CC0"]
        mod.type = PackageType.MOD
-       mod.harddeps.append(food)
        mod.author = ruben
        mod.tags.append(tags["player_effects"])
        mod.repo = "https://github.com/rubenwardy/food_sweet/"
@@ -295,6 +263,7 @@ No warranty is provided, express or implied, for any part of the project.
        mod.forums = 9039
        mod.shortDesc = "Adds sweet food"
        mod.desc = "This is the long desc"
+       food_sweet = mod
        db.session.add(mod)
 
        game1 = Package()
@@ -347,5 +316,55 @@ Uses the CTF PvP Engine.
        db.session.add(rel)
 
        db.session.commit()
-else:
-       print("Database already exists")
+
+       metas = {}
+       for package in Package.query.filter_by(type=PackageType.MOD).all():
+               meta = None
+               try:
+                       meta = metas[package.name]
+               except KeyError:
+                       meta = MetaPackage(package.name)
+                       db.session.add(meta)
+                       metas[package.name] = meta
+               package.provides.append(meta)
+
+       dep = Dependency(food_sweet, meta=metas["food"])
+       db.session.add(dep)
+
+
+
+delete_db = len(sys.argv) >= 2 and sys.argv[1].strip() == "-d"
+if delete_db and os.path.isfile("db.sqlite"):
+       os.remove("db.sqlite")
+
+print("Creating database tables...")
+db.create_all()
+print("Filling database...")
+
+ruben = User("rubenwardy")
+ruben.github_username = "rubenwardy"
+ruben.forums_username = "rubenwardy"
+ruben.rank = UserRank.ADMIN
+db.session.add(ruben)
+
+tags = {}
+for tag in ["Inventory", "Mapgen", "Building", \
+               "Mobs and NPCs", "Tools", "Player effects", \
+               "Environment", "Transport", "Maintenance", "Plants and farming", \
+               "PvP", "PvE", "Survival", "Creative", "Puzzle", "Multiplayer", "Singleplayer"]:
+       row = Tag(tag)
+       tags[row.name] = row
+       db.session.add(row)
+
+licenses = {}
+for license in ["GPLv2.1", "GPLv3", "LGPLv2.1", "LGPLv3", "AGPLv2.1", "AGPLv3",
+                               "Apache", "BSD 3-Clause", "BSD 2-Clause", "CC0", "CC-BY-SA",
+                               "CC-BY", "CC-BY-NC-SA", "MIT", "ZLib"]:
+       row = License(license)
+       licenses[row.name] = row
+       db.session.add(row)
+
+if test_data:
+       defineDummyData(licenses, tags, ruben)
+
+db.session.commit()