aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Leon Sandøy <[email protected]>2018-04-15 18:47:58 +0200
committerGravatar Gareth Coles <[email protected]>2018-04-15 17:47:58 +0100
commitf5e7c358761ee49da45933e73b943fb1eb66c030 (patch)
treecde9eed9f010caba22842d39af33385aae411a45
parentAdded an About category with Partners view (#1pv7h) (#50) (diff)
Initial data for tables and refactoring the dev-mode database handling to be similar to prod-mode. (#53)
* Changed the dev-mode logic to be the same as prod for creating new tables if they don't exist. Also added a new feature where a table can be initialized with data if you create a JSON file in the pysite/database/table_init/ folder and fill it with a list of dicts where each dict represents a row in your table. Included a hiphoppers json so that I can actually test if it works in production. It will only init the table if the table is empty. * Not sure if this will solve it, but I think so. * Renamed the tables and primary keys, and alphabetized the dict. Now complies with the gdudes holy wishes.
-rw-r--r--gunicorn_config.py12
-rw-r--r--pysite/__init__.py2
-rw-r--r--pysite/database.py70
-rw-r--r--pysite/database/table_init/hiphoppers.json1298
-rw-r--r--pysite/mixins.py4
-rw-r--r--pysite/views/api/bot/tags.py1
-rw-r--r--pysite/views/api/bot/user.py1
-rw-r--r--pysite/views/wiki/edit.py2
-rw-r--r--pysite/views/wiki/page.py2
-rw-r--r--pysite/views/wiki/source.py2
10 files changed, 1373 insertions, 21 deletions
diff --git a/gunicorn_config.py b/gunicorn_config.py
index f863edd4..5b9f9055 100644
--- a/gunicorn_config.py
+++ b/gunicorn_config.py
@@ -12,6 +12,16 @@ def when_ready(server=None):
from pysite.database import RethinkDB
db = RethinkDB(loop_type=None)
+ db.conn = db.get_connection()
+
+ # Create any table that doesn't exist
created = db.create_tables()
+ if created:
+ tables = ", ".join([f"{table}" for table in created])
+ output(f"Created the following tables: {tables}")
- output(f"Created {created} tables.")
+ # Init the tables that require initialization
+ initialized = db.init_tables()
+ if initialized:
+ tables = ", ".join([f"{table} ({count} items)" for table, count in initialized.items()])
+ output(f"Initialized the following tables: {tables}")
diff --git a/pysite/__init__.py b/pysite/__init__.py
index 3e11a776..82abf499 100644
--- a/pysite/__init__.py
+++ b/pysite/__init__.py
@@ -13,7 +13,7 @@ from pysite.logs import NonPicklingSocketHandler
# region Logging
# Get the log level from environment
-log_level = os.environ.get("LOG_LEVEL", "info").upper()
+log_level = os.environ.get("LOG_LEVEL", "debug").upper()
if hasattr(logging, log_level):
log_level = getattr(logging, log_level)
diff --git a/pysite/database.py b/pysite/database.py
index 82e1e84e..3ecdf53b 100644
--- a/pysite/database.py
+++ b/pysite/database.py
@@ -1,4 +1,5 @@
# coding=utf-8
+import json
import logging
import os
from typing import Any, Callable, Dict, Iterator, List, Optional, Union
@@ -8,13 +9,16 @@ from flask import abort
from rethinkdb.ast import RqlMethodQuery, Table, UserError
from rethinkdb.net import DefaultConnection
+from pysite.constants import DEBUG_MODE
+
ALL_TABLES = {
# table: primary_key
-
+ "hiphopify": "user_id",
+ "hiphopify_namelist": "name",
"oauth_data": "id",
"tags": "tag_name",
"users": "user_id",
- "wiki": "slug",
+ "wiki": "slug"
}
@@ -30,22 +34,74 @@ class RethinkDB:
if loop_type:
rethinkdb.set_loop_type(loop_type)
- with self.get_connection(connect_database=False) as conn:
+ with self.get_connection() as self.conn:
try:
- rethinkdb.db_create(self.database).run(conn)
+ rethinkdb.db_create(self.database).run(self.conn)
self.log.debug(f"Database created: '{self.database}'")
except rethinkdb.RqlRuntimeError:
self.log.debug(f"Database found: '{self.database}'")
- def create_tables(self) -> int:
- created = 0
+ if DEBUG_MODE:
+ # Create any table that doesn't exist
+ created = self.create_tables()
+ if created:
+ tables = ", ".join([f"{table}" for table in created])
+ self.log.debug(f"Created the following tables: {tables}")
+
+ # Init the tables that require initialization
+ initialized = self.init_tables()
+ if initialized:
+ tables = ", ".join([f"{table} ({count} items)" for table, count in initialized.items()])
+ self.log.debug(f"Initialized the following tables: {tables}")
+
+ def create_tables(self) -> List[str]:
+ """
+ Creates whichever tables exist in the ALL_TABLES
+ constant if they don't already exist in the database.
+
+ :return: a list of the tables that were created.
+ """
+ created = []
for table, primary_key in ALL_TABLES.items():
if self.create_table(table, primary_key):
- created += 1
+ created.append(table)
return created
+ def init_tables(self) -> Dict[str, int]:
+ """
+ If the table is empty, and there is a corresponding JSON file with data,
+ then we fill the table with the data in the JSON file.
+
+ The JSON files are contained inside of pysite/database/table_init/
+ :return:
+ """
+
+ initialized = {}
+
+ for table, primary_key in ALL_TABLES.items():
+
+ # If the table is empty
+ if not self.pluck(table, primary_key):
+
+ # And a corresponding JSON file exists
+ if os.path.isfile(f"pysite/database/table_init/{table}.json"):
+
+ # Load in all the data in that file.
+ with open(f"pysite/database/table_init/{table}.json") as json_file:
+ table_data = json.load(json_file)
+
+ for row in table_data:
+ self.insert(
+ table,
+ row
+ )
+
+ initialized[table] = len(table_data)
+
+ return initialized
+
def get_connection(self, connect_database: bool = True) -> DefaultConnection:
"""
Grab a connection to the RethinkDB server, optionally without selecting a database
diff --git a/pysite/database/table_init/hiphoppers.json b/pysite/database/table_init/hiphoppers.json
new file mode 100644
index 00000000..d408f5b3
--- /dev/null
+++ b/pysite/database/table_init/hiphoppers.json
@@ -0,0 +1,1298 @@
+[
+ {"hiphop_name": "100 Kila"},
+ {"hiphop_name": "100s"},
+ {"hiphop_name": "12 Gauge"},
+ {"hiphop_name": "2 Chainz"},
+ {"hiphop_name": "2 Pistols"},
+ {"hiphop_name": "2$ Fabo"},
+ {"hiphop_name": "21 Savage"},
+ {"hiphop_name": "2Mex"},
+ {"hiphop_name": "360"},
+ {"hiphop_name": "40 Glocc"},
+ {"hiphop_name": "50 Cent"},
+ {"hiphop_name": "6lack"},
+ {"hiphop_name": "6ix9ine"},
+ {"hiphop_name": "The 6th Letter"},
+ {"hiphop_name": "9th Wonder"},
+ {"hiphop_name": "Andre 3000"},
+ {"hiphop_name": "Big Boi"},
+ {"hiphop_name": "A.CHAL"},
+ {"hiphop_name": "A+"},
+ {"hiphop_name": "A-Q"},
+ {"hiphop_name": "Arabian Prince"},
+ {"hiphop_name": "Ab-Soul"},
+ {"hiphop_name": "A Boogie wit da Hoodie"},
+ {"hiphop_name": "Abstract Rude"},
+ {"hiphop_name": "Ace Hood"},
+ {"hiphop_name": "Aceyalone"},
+ {"hiphop_name": "Action Bronson"},
+ {"hiphop_name": "Adam Saleh"},
+ {"hiphop_name": "Aesop Rock"},
+ {"hiphop_name": "Afrika Bambaataa"},
+ {"hiphop_name": "Afroman"},
+ {"hiphop_name": "Afu-Ra"},
+ {"hiphop_name": "Agallah"},
+ {"hiphop_name": "Ahmad"},
+ {"hiphop_name": "Ajs Nigrutin"},
+ {"hiphop_name": "Akala"},
+ {"hiphop_name": "Akinyele"},
+ {"hiphop_name": "Akir"},
+ {"hiphop_name": "Akon"},
+ {"hiphop_name": "The Alchemist"},
+ {"hiphop_name": "Ali Vegas"},
+ {"hiphop_name": "Alpha"},
+ {"hiphop_name": "AMG"},
+ {"hiphop_name": "Amil"},
+ {"hiphop_name": "Aminé"},
+ {"hiphop_name": "Amir Obè"},
+ {"hiphop_name": "Ampichino"},
+ {"hiphop_name": "Anderson .Paak"},
+ {"hiphop_name": "André 3000"},
+ {"hiphop_name": "Andre Nickatina"},
+ {"hiphop_name": "Andy Mineo"},
+ {"hiphop_name": "Angel Haze"},
+ {"hiphop_name": "Angie Martinez"},
+ {"hiphop_name": "Ant"},
+ {"hiphop_name": "Ant Banks"},
+ {"hiphop_name": "Antoinette"},
+ {"hiphop_name": "Anybody Killa"},
+ {"hiphop_name": "Apache"},
+ {"hiphop_name": "Apathy"},
+ {"hiphop_name": "Arin Hanson"},
+ {"hiphop_name": "A$AP Ferg"},
+ {"hiphop_name": "A$AP Nast"},
+ {"hiphop_name": "A$AP Rocky"},
+ {"hiphop_name": "A$AP Yams"},
+ {"hiphop_name": "A$ton Matthews"},
+ {"hiphop_name": "Asher Roth"},
+ {"hiphop_name": "Astronautalis"},
+ {"hiphop_name": "Awol One"},
+ {"hiphop_name": "Awkwafina"},
+ {"hiphop_name": "AZ"},
+ {"hiphop_name": "Azealia Banks"},
+ {"hiphop_name": "Big Daddy Kane"},
+ {"hiphop_name": "Busta Rhymes"},
+ {"hiphop_name": "B-Legit"},
+ {"hiphop_name": "B-Real"},
+ {"hiphop_name": "B.G."},
+ {"hiphop_name": "B.G. Knocc Out"},
+ {"hiphop_name": "B.o.B"},
+ {"hiphop_name": "Baby Bash"},
+ {"hiphop_name": "Baby Boy da Prince"},
+ {"hiphop_name": "Baby D"},
+ {"hiphop_name": "Bad Azz"},
+ {"hiphop_name": "Badshah"},
+ {"hiphop_name": "Baeza"},
+ {"hiphop_name": "Bahamadia"},
+ {"hiphop_name": "Baka Not Nice"},
+ {"hiphop_name": "Bang Yong-guk"},
+ {"hiphop_name": "Bangladesh"},
+ {"hiphop_name": "Bas"},
+ {"hiphop_name": "Battlecat"},
+ {"hiphop_name": "Beanie Sigel"},
+ {"hiphop_name": "Becky G"},
+ {"hiphop_name": "Benny Blanco"},
+ {"hiphop_name": "Beenzino"},
+ {"hiphop_name": "Benzino"},
+ {"hiphop_name": "Big Boi"},
+ {"hiphop_name": "Big Daddy Kane"},
+ {"hiphop_name": "Big Ed"},
+ {"hiphop_name": "Big Gipp"},
+ {"hiphop_name": "Big Hawk"},
+ {"hiphop_name": "Big K.R.I.T."},
+ {"hiphop_name": "Big Kuntry King"},
+ {"hiphop_name": "Big L"},
+ {"hiphop_name": "Big Lurch"},
+ {"hiphop_name": "Big Mello"},
+ {"hiphop_name": "Big Mike"},
+ {"hiphop_name": "Big Moe"},
+ {"hiphop_name": "Big Noyd"},
+ {"hiphop_name": "Big Pokey"},
+ {"hiphop_name": "Big Pooh"},
+ {"hiphop_name": "Big Pun"},
+ {"hiphop_name": "Big Reese"},
+ {"hiphop_name": "Big Scoob"},
+ {"hiphop_name": "Big Smo"},
+ {"hiphop_name": "Big Sean"},
+ {"hiphop_name": "Big Shaq"},
+ {"hiphop_name": "Big Shug"},
+ {"hiphop_name": "Big Syke"},
+ {"hiphop_name": "Bigg D"},
+ {"hiphop_name": "Billy Woods"},
+ {"hiphop_name": "Birdman"},
+ {"hiphop_name": "Bishop Nehru"},
+ {"hiphop_name": "Biz Markie"},
+ {"hiphop_name": "Bizarre"},
+ {"hiphop_name": "Bugz"},
+ {"hiphop_name": "Bizzy"},
+ {"hiphop_name": "Bizzy Bone"},
+ {"hiphop_name": "BJ the Chicago Kid"},
+ {"hiphop_name": "Black Milk"},
+ {"hiphop_name": "Black Rob"},
+ {"hiphop_name": "Black Thought"},
+ {"hiphop_name": "Blade Icewood"},
+ {"hiphop_name": "Blaq Poet"},
+ {"hiphop_name": "Blaze Ya Dead Homie"},
+ {"hiphop_name": "BlocBoy JB"},
+ {"hiphop_name": "Blood Raw"},
+ {"hiphop_name": "Blu"},
+ {"hiphop_name": "Bob Doe"},
+ {"hiphop_name": "Bobby Brackins"},
+ {"hiphop_name": "Bobby Creekwater"},
+ {"hiphop_name": "Bobby Shmurda"},
+ {"hiphop_name": "Bohemia"},
+ {"hiphop_name": "Boi-1da"},
+ {"hiphop_name": "Boldy James"},
+ {"hiphop_name": "Bone Crusher"},
+ {"hiphop_name": "Bones"},
+ {"hiphop_name": "Booba"},
+ {"hiphop_name": "Boondox"},
+ {"hiphop_name": "Boosie Badazz"},
+ {"hiphop_name": "Boss"},
+ {"hiphop_name": "Bow Wow"},
+ {"hiphop_name": "Braille"},
+ {"hiphop_name": "Brandun DeShay"},
+ {"hiphop_name": "Brianna Perry"},
+ {"hiphop_name": "Brisco"},
+ {"hiphop_name": "Brotha Lynch Hung"},
+ {"hiphop_name": "Bruno Mars"},
+ {"hiphop_name": "Brother Ali"},
+ {"hiphop_name": "Bryson Tiller"},
+ {"hiphop_name": "Bubba Sparxxx"},
+ {"hiphop_name": "Buckshot"},
+ {"hiphop_name": "Buckwild"},
+ {"hiphop_name": "Bumpy Knuckles"},
+ {"hiphop_name": "Bun B"},
+ {"hiphop_name": "Busdriver"},
+ {"hiphop_name": "Bushwick Bill"},
+ {"hiphop_name": "Busta Rhymes"},
+ {"hiphop_name": "Busy Bee Starski"},
+ {"hiphop_name": "Butch Cassidy"},
+ {"hiphop_name": "Common"},
+ {"hiphop_name": "C-Bo"},
+ {"hiphop_name": "C-Murder"},
+ {"hiphop_name": "C-Note"},
+ {"hiphop_name": "C-Rayz Walz"},
+ {"hiphop_name": "Cage"},
+ {"hiphop_name": "Cam'ron"},
+ {"hiphop_name": "Canibus"},
+ {"hiphop_name": "Capital Steez"},
+ {"hiphop_name": "Capone"},
+ {"hiphop_name": "Cappadonna"},
+ {"hiphop_name": "Cardi B"},
+ {"hiphop_name": "Casey Veggies"},
+ {"hiphop_name": "Cash Out"},
+ {"hiphop_name": "Cashis"},
+ {"hiphop_name": "Caskey"},
+ {"hiphop_name": "Casper Nyovest"},
+ {"hiphop_name": "Cassidy"},
+ {"hiphop_name": "Cazwell"},
+ {"hiphop_name": "CeeLo Green"},
+ {"hiphop_name": "Cellski"},
+ {"hiphop_name": "Celly Cel"},
+ {"hiphop_name": "Celph Titled"},
+ {"hiphop_name": "Cesar Comanche"},
+ {"hiphop_name": "Ceza"},
+ {"hiphop_name": "Chamillionaire"},
+ {"hiphop_name": "Chance the Rapper"},
+ {"hiphop_name": "Chanel West Coast"},
+ {"hiphop_name": "Channel 7"},
+ {"hiphop_name": "Charizma"},
+ {"hiphop_name": "Charles Hamilton"},
+ {"hiphop_name": "Charli Baltimore"},
+ {"hiphop_name": "Chevy Woods"},
+ {"hiphop_name": "Chi Ali"},
+ {"hiphop_name": "Chali 2na"},
+ {"hiphop_name": "Chiddy Bang"},
+ {"hiphop_name": "Chief Keef"},
+ {"hiphop_name": "Childish Gambino"},
+ {"hiphop_name": "Chill Rob G"},
+ {"hiphop_name": "Chingy"},
+ {"hiphop_name": "Chingo Bling"},
+ {"hiphop_name": "Chino XL"},
+ {"hiphop_name": "Chinx"},
+ {"hiphop_name": "Chip"},
+ {"hiphop_name": "Choice"},
+ {"hiphop_name": "Choppa"},
+ {"hiphop_name": "Chris Brown"},
+ {"hiphop_name": "Chris Webby"},
+ {"hiphop_name": "Christopher Martin"},
+ {"hiphop_name": "Christopher Reid"},
+ {"hiphop_name": "Chubb Rock"},
+ {"hiphop_name": "CJ Fly"},
+ {"hiphop_name": "CL"},
+ {"hiphop_name": "CL Smooth"},
+ {"hiphop_name": "Classified"},
+ {"hiphop_name": "Clinton Sparks"},
+ {"hiphop_name": "Clyde Carson"},
+ {"hiphop_name": "Cold 187um"},
+ {"hiphop_name": "Common"},
+ {"hiphop_name": "Consequence"},
+ {"hiphop_name": "Cool Breeze"},
+ {"hiphop_name": "Cool C"},
+ {"hiphop_name": "Coolio"},
+ {"hiphop_name": "Copywrite"},
+ {"hiphop_name": "Cormega"},
+ {"hiphop_name": "Cory Gunz"},
+ {"hiphop_name": "Cordaro Stewart"},
+ {"hiphop_name": "Count Bass D"},
+ {"hiphop_name": "The Coup"},
+ {"hiphop_name": "Craig Mack"},
+ {"hiphop_name": "Crime Boss"},
+ {"hiphop_name": "Criminal Manne"},
+ {"hiphop_name": "Crooked I"},
+ {"hiphop_name": "Crucial Star"},
+ {"hiphop_name": "Cupcakke"},
+ {"hiphop_name": "Currensy"},
+ {"hiphop_name": "Curtiss King"},
+ {"hiphop_name": "Cyhi the Prynce"},
+ {"hiphop_name": "Del Tha Funkee Homosapien"},
+ {"hiphop_name": "Dr. Dre"},
+ {"hiphop_name": "D'Angelo"},
+ {"hiphop_name": "D'banj"},
+ {"hiphop_name": "D-Loc"},
+ {"hiphop_name": "D-Nice"},
+ {"hiphop_name": "D-Pryde"},
+ {"hiphop_name": "The D.O.C."},
+ {"hiphop_name": "Da Brat"},
+ {"hiphop_name": "Da$h"},
+ {"hiphop_name": "Da'unda'dogg"},
+ {"hiphop_name": "Daddy-O"},
+ {"hiphop_name": "Dae Dae"},
+ {"hiphop_name": "Damu the Fudgemunk"},
+ {"hiphop_name": "Dan Bull"},
+ {"hiphop_name": "Dana Dane"},
+ {"hiphop_name": "Danny Boy"},
+ {"hiphop_name": "Danny Brown"},
+ {"hiphop_name": "Dappy"},
+ {"hiphop_name": "Dave East"},
+ {"hiphop_name": "Daveed Diggs"},
+ {"hiphop_name": "David Banner"},
+ {"hiphop_name": "David Dallas"},
+ {"hiphop_name": "David Rush"},
+ {"hiphop_name": "David Stones"},
+ {"hiphop_name": "Daz Dillinger"},
+ {"hiphop_name": "Dazzie Dee"},
+ {"hiphop_name": "Dee Barnes"},
+ {"hiphop_name": "Dee Dee King"},
+ {"hiphop_name": "Dej Loaf"},
+ {"hiphop_name": "Delyric Oracle"},
+ {"hiphop_name": "Del the Funky Homosapien"},
+ {"hiphop_name": "Demrick"},
+ {"hiphop_name": "Deniro Farrar"},
+ {"hiphop_name": "Denzel Curry"},
+ {"hiphop_name": "Derek Minor"},
+ {"hiphop_name": "Desiigner"},
+ {"hiphop_name": "Detail"},
+ {"hiphop_name": "Deuce"},
+ {"hiphop_name": "Dev"},
+ {"hiphop_name": "Devin the Dude"},
+ {"hiphop_name": "Devlin"},
+ {"hiphop_name": "Diabolic"},
+ {"hiphop_name": "Diamond"},
+ {"hiphop_name": "Diamond D"},
+ {"hiphop_name": "Diggy Simmons"},
+ {"hiphop_name": "Dillon Cooper"},
+ {"hiphop_name": "Disco D"},
+ {"hiphop_name": "Disco King Mario"},
+ {"hiphop_name": "Dizzee Rascal"},
+ {"hiphop_name": "Dizzy Wright"},
+ {"hiphop_name": "DJ Cash Money"},
+ {"hiphop_name": "DJ Casper"},
+ {"hiphop_name": "DJ Clay"},
+ {"hiphop_name": "DJ Clue?"},
+ {"hiphop_name": "DJ Drama"},
+ {"hiphop_name": "DJ Felli Fel"},
+ {"hiphop_name": "DJ Fuze"},
+ {"hiphop_name": "DJ Green Lantern"},
+ {"hiphop_name": "DJ Head"},
+ {"hiphop_name": "DJ Hurricane"},
+ {"hiphop_name": "DJ Kay Slay"},
+ {"hiphop_name": "DJ Khaled"},
+ {"hiphop_name": "DJ Krush"},
+ {"hiphop_name": "DJ Mustard"},
+ {"hiphop_name": "DJ Paul"},
+ {"hiphop_name": "DJ Pooh"},
+ {"hiphop_name": "DJ Premier"},
+ {"hiphop_name": "DJ Quik"},
+ {"hiphop_name": "DJ Run"},
+ {"hiphop_name": "DJ Screw"},
+ {"hiphop_name": "DJ Shadow"},
+ {"hiphop_name": "DJ Yella"},
+ {"hiphop_name": "DMC"},
+ {"hiphop_name": "DMX"},
+ {"hiphop_name": "Doap Nixon"},
+ {"hiphop_name": "Doe B"},
+ {"hiphop_name": "Dok2"},
+ {"hiphop_name": "Dolla"},
+ {"hiphop_name": "Dom Kennedy"},
+ {"hiphop_name": "Dominique Young Unique"},
+ {"hiphop_name": "Domino"},
+ {"hiphop_name": "Domo Genesis"},
+ {"hiphop_name": "Don Cannon"},
+ {"hiphop_name": "Donnis"},
+ {"hiphop_name": "Dorrough"},
+ {"hiphop_name": "Doseone"},
+ {"hiphop_name": "Doug E. Fresh"},
+ {"hiphop_name": "Doughbeezy"},
+ {"hiphop_name": "Dr. Dre"},
+ {"hiphop_name": "Drag-On"},
+ {"hiphop_name": "Drake"},
+ {"hiphop_name": "Dres"},
+ {"hiphop_name": "Dresta"},
+ {"hiphop_name": "Drew Deezy"},
+ {"hiphop_name": "Driicky Graham"},
+ {"hiphop_name": "Droop-E"},
+ {"hiphop_name": "Dru Down"},
+ {"hiphop_name": "Drumma Boy"},
+ {"hiphop_name": "Dumbfoundead"},
+ {"hiphop_name": "Duncan Mighty"},
+ {"hiphop_name": "Eve"},
+ {"hiphop_name": "E-40"},
+ {"hiphop_name": "E.D.I. Mean"},
+ {"hiphop_name": "E-Sens"},
+ {"hiphop_name": "E.S.G."},
+ {"hiphop_name": "Earl Sweatshirt"},
+ {"hiphop_name": "Easy Mo Bee"},
+ {"hiphop_name": "Eazy-E"},
+ {"hiphop_name": "Ed O.G."},
+ {"hiphop_name": "Edo Maajka"},
+ {"hiphop_name": "El Da Sensei"},
+ {"hiphop_name": "El-P"},
+ {"hiphop_name": "Elephant Man"},
+ {"hiphop_name": "Elzhi"},
+ {"hiphop_name": "Emcee N.I.C.E."},
+ {"hiphop_name": "Eminem"},
+ {"hiphop_name": "Eric Biddines"},
+ {"hiphop_name": "Erick Arc Elliott"},
+ {"hiphop_name": "Erick Sermon"},
+ {"hiphop_name": "Eric Stanley"},
+ {"hiphop_name": "Esham"},
+ {"hiphop_name": "Esoteric"},
+ {"hiphop_name": "Eve"},
+ {"hiphop_name": "Everlast"},
+ {"hiphop_name": "Evidence"},
+ {"hiphop_name": "Eyedea"},
+ {"hiphop_name": "Ghostface Killah"},
+ {"hiphop_name": "Fabolous"},
+ {"hiphop_name": "Fabri Fibra"},
+ {"hiphop_name": "Fam-Lay"},
+ {"hiphop_name": "Famous Dex"},
+ {"hiphop_name": "Fashawn"},
+ {"hiphop_name": "Fat Joe"},
+ {"hiphop_name": "Fat Pat"},
+ {"hiphop_name": "Fat Trel"},
+ {"hiphop_name": "Fatboi"},
+ {"hiphop_name": "Father MC"},
+ {"hiphop_name": "Fatman Scoop"},
+ {"hiphop_name": "Fergie"},
+ {"hiphop_name": "Fetty Wap"},
+ {"hiphop_name": "Fiend"},
+ {"hiphop_name": "FLAME"},
+ {"hiphop_name": "Flavor Flav"},
+ {"hiphop_name": "Flavour N'abania"},
+ {"hiphop_name": "Flo Rida"},
+ {"hiphop_name": "Flying Lotus"},
+ {"hiphop_name": "Focus..."},
+ {"hiphop_name": "Fonzworth Bentley"},
+ {"hiphop_name": "Fort Minor"},
+ {"hiphop_name": "Foxx"},
+ {"hiphop_name": "Foxy Brown"},
+ {"hiphop_name": "Frank Ocean"},
+ {"hiphop_name": "Frankie J"},
+ {"hiphop_name": "Frayser Boy"},
+ {"hiphop_name": "Freak Nasty"},
+ {"hiphop_name": "Freaky Tah"},
+ {"hiphop_name": "Fred Durst"},
+ {"hiphop_name": "Freddie Foxxx"},
+ {"hiphop_name": "Freddie Gibbs"},
+ {"hiphop_name": "Fredo Santana"},
+ {"hiphop_name": "Fredro Starr"},
+ {"hiphop_name": "Fredwreck"},
+ {"hiphop_name": "Free"},
+ {"hiphop_name": "Freekey Zekey"},
+ {"hiphop_name": "Freeway"},
+ {"hiphop_name": "French Montana"},
+ {"hiphop_name": "Frenkie"},
+ {"hiphop_name": "Fresh Kid Ice"},
+ {"hiphop_name": "Froggy Fresh"},
+ {"hiphop_name": "Frost"},
+ {"hiphop_name": "Full Blooded"},
+ {"hiphop_name": "Funkmaster Flex"},
+ {"hiphop_name": "Future"},
+ {"hiphop_name": "Grandmaster Caz"},
+ {"hiphop_name": "Grandmaster Flash"},
+ {"hiphop_name": "G-Dragon"},
+ {"hiphop_name": "G-Eazy"},
+ {"hiphop_name": "G. Dep"},
+ {"hiphop_name": "G Herbo"},
+ {"hiphop_name": "Gaeko"},
+ {"hiphop_name": "The Game"},
+ {"hiphop_name": "Gang Starr"},
+ {"hiphop_name": "Gangsta Blac"},
+ {"hiphop_name": "Gangsta Boo"},
+ {"hiphop_name": "Ganksta N-I-P"},
+ {"hiphop_name": "Gary"},
+ {"hiphop_name": "Gee Money"},
+ {"hiphop_name": "General Woo"},
+ {"hiphop_name": "Ghostface Killah"},
+ {"hiphop_name": "Giggs"},
+ {"hiphop_name": "Gilbere Forte"},
+ {"hiphop_name": "Glasses Malone"},
+ {"hiphop_name": "GLC"},
+ {"hiphop_name": "Goldie Loc"},
+ {"hiphop_name": "GoldLink"},
+ {"hiphop_name": "Gorilla Zoe"},
+ {"hiphop_name": "Grafh"},
+ {"hiphop_name": "Grand Puba"},
+ {"hiphop_name": "Grandmaster Caz"},
+ {"hiphop_name": "Grandmaster Flash"},
+ {"hiphop_name": "Greydon Square"},
+ {"hiphop_name": "Grieves"},
+ {"hiphop_name": "Gucci Mane"},
+ {"hiphop_name": "Gudda Gudda"},
+ {"hiphop_name": "Guerilla Black"},
+ {"hiphop_name": "Guilty Simpson"},
+ {"hiphop_name": "Gunplay"},
+ {"hiphop_name": "Guru"},
+ {"hiphop_name": "GZA"},
+ {"hiphop_name": "Half a Mill"},
+ {"hiphop_name": "Hard Kaur"},
+ {"hiphop_name": "Hasan Salaam"},
+ {"hiphop_name": "Havoc"},
+ {"hiphop_name": "Heavy D"},
+ {"hiphop_name": "Hefe Heetroc"},
+ {"hiphop_name": "Heize"},
+ {"hiphop_name": "Hemlock Ernst"},
+ {"hiphop_name": "Hi-C"},
+ {"hiphop_name": "Hi-Tek"},
+ {"hiphop_name": "Hit-Boy"},
+ {"hiphop_name": "Hittman"},
+ {"hiphop_name": "Hodgy Beats"},
+ {"hiphop_name": "Honey Cocaine"},
+ {"hiphop_name": "Hoodie Allen"},
+ {"hiphop_name": "Hopsin"},
+ {"hiphop_name": "Hot Dollar"},
+ {"hiphop_name": "Huey"},
+ {"hiphop_name": "Hurricane Chris"},
+ {"hiphop_name": "Hurricane G"},
+ {"hiphop_name": "Hush"},
+ {"hiphop_name": "Hussein Fatal"},
+ {"hiphop_name": "Ice Cube"},
+ {"hiphop_name": "I-20"},
+ {"hiphop_name": "Iamsu!"},
+ {"hiphop_name": "Ice Cube"},
+ {"hiphop_name": "Ice-T"},
+ {"hiphop_name": "IDK"},
+ {"hiphop_name": "Iggy Azalea"},
+ {"hiphop_name": "IHeartMemphis"},
+ {"hiphop_name": "Ill Bill"},
+ {"hiphop_name": "Illmind"},
+ {"hiphop_name": "ILoveMakonnen"},
+ {"hiphop_name": "Immortal Technique"},
+ {"hiphop_name": "Imran Khan"},
+ {"hiphop_name": "Indo G"},
+ {"hiphop_name": "Inspectah Deck"},
+ {"hiphop_name": "Isaiah Rashad"},
+ {"hiphop_name": "Iyanya"},
+ {"hiphop_name": "Iyaz"},
+ {"hiphop_name": "Jay-Z"},
+ {"hiphop_name": "Kanye West"},
+ {"hiphop_name": "Kendrick Lamar"},
+ {"hiphop_name": "KRS-One"},
+ {"hiphop_name": "J Dilla"},
+ {"hiphop_name": "J-Diggs"},
+ {"hiphop_name": "J-Kwon"},
+ {"hiphop_name": "J-Son"},
+ {"hiphop_name": "J. Cole"},
+ {"hiphop_name": "J. Stalin"},
+ {"hiphop_name": "J. Valentine"},
+ {"hiphop_name": "J.I.D"},
+ {"hiphop_name": "J.R. Rotem"},
+ {"hiphop_name": "J.R. Writer"},
+ {"hiphop_name": "Ja Rule"},
+ {"hiphop_name": "Jack Parow"},
+ {"hiphop_name": "The Jacka"},
+ {"hiphop_name": "Jackie Hill-Perry"},
+ {"hiphop_name": "Jadakiss"},
+ {"hiphop_name": "Jaden Smith"},
+ {"hiphop_name": "Jae Millz"},
+ {"hiphop_name": "Jahlil Beats"},
+ {"hiphop_name": "Jamie Madrox"},
+ {"hiphop_name": "Jahred"},
+ {"hiphop_name": "Jake Miller"},
+ {"hiphop_name": "Jake One"},
+ {"hiphop_name": "Jam Master Jay"},
+ {"hiphop_name": "Jamal"},
+ {"hiphop_name": "Jamal Woolard"},
+ {"hiphop_name": "Jamie Foxx"},
+ {"hiphop_name": "Jarren Benton"},
+ {"hiphop_name": "Jay Burna"},
+ {"hiphop_name": "Jay Critch"},
+ {"hiphop_name": "Jay Electronica"},
+ {"hiphop_name": "Jay Park"},
+ {"hiphop_name": "Jay Rock"},
+ {"hiphop_name": "Jay Z"},
+ {"hiphop_name": "Jayo Felony"},
+ {"hiphop_name": "Jaz-O"},
+ {"hiphop_name": "Jazz Cartier"},
+ {"hiphop_name": "Jazze Pha"},
+ {"hiphop_name": "Jean Grae"},
+ {"hiphop_name": "Jeremiah Jae"},
+ {"hiphop_name": "Jeremih"},
+ {"hiphop_name": "Jermaine Dupri"},
+ {"hiphop_name": "Jeru the Damaja"},
+ {"hiphop_name": "Jewell"},
+ {"hiphop_name": "Jibbs"},
+ {"hiphop_name": "Jim Jones"},
+ {"hiphop_name": "Jim Jonsin"},
+ {"hiphop_name": "Jipsta"},
+ {"hiphop_name": "Jme"},
+ {"hiphop_name": "Joe Budden"},
+ {"hiphop_name": "Joell Ortiz"},
+ {"hiphop_name": "Joey Badass"},
+ {"hiphop_name": "John Cena"},
+ {"hiphop_name": "Johnny J"},
+ {"hiphop_name": "Johntá Austin"},
+ {"hiphop_name": "Joji Miller"},
+ {"hiphop_name": "Jon Connor"},
+ {"hiphop_name": "Joyner Lucas"},
+ {"hiphop_name": "JT Money"},
+ {"hiphop_name": "JT the Bigga Figga"},
+ {"hiphop_name": "Juelz Santana"},
+ {"hiphop_name": "Juice (Đus)"},
+ {"hiphop_name": "Juicy J"},
+ {"hiphop_name": "Junhyung"},
+ {"hiphop_name": "Jus Allah"},
+ {"hiphop_name": "Just Ice"},
+ {"hiphop_name": "Juvenile"},
+ {"hiphop_name": "Kurtis Blow"},
+ {"hiphop_name": "Lauryn Hill"},
+ {"hiphop_name": "K Camp"},
+ {"hiphop_name": "K'naan"},
+ {"hiphop_name": "K-Dee"},
+ {"hiphop_name": "K-OS"},
+ {"hiphop_name": "K-Solo"},
+ {"hiphop_name": "K.E. on the Track"},
+ {"hiphop_name": "K7"},
+ {"hiphop_name": "Kafani"},
+ {"hiphop_name": "Kam"},
+ {"hiphop_name": "Kangol Kid"},
+ {"hiphop_name": "Kanye West"},
+ {"hiphop_name": "Kap G"},
+ {"hiphop_name": "Kardinal Offishall"},
+ {"hiphop_name": "Kastro"},
+ {"hiphop_name": "Kat Dahlia"},
+ {"hiphop_name": "Katie Got Bandz"},
+ {"hiphop_name": "KB"},
+ {"hiphop_name": "Keak da Sneak"},
+ {"hiphop_name": "Keith Ape"},
+ {"hiphop_name": "Keith Murray"},
+ {"hiphop_name": "Malcolm David Kelley"},
+ {"hiphop_name": "Kendrick Lamar"},
+ {"hiphop_name": "Kent Jones"},
+ {"hiphop_name": "Kerser"},
+ {"hiphop_name": "Kevin Abstract"},
+ {"hiphop_name": "Kevin Gates"},
+ {"hiphop_name": "Kevin McCall"},
+ {"hiphop_name": "Khia"},
+ {"hiphop_name": "Khleo"},
+ {"hiphop_name": "Kia Shine"},
+ {"hiphop_name": "Kid Capri"},
+ {"hiphop_name": "Kid Cudi"},
+ {"hiphop_name": "Kid Frost"},
+ {"hiphop_name": "Kid Ink"},
+ {"hiphop_name": "Kid Rock"},
+ {"hiphop_name": "Kid Sister"},
+ {"hiphop_name": "Kidd Kidd"},
+ {"hiphop_name": "Killah Priest"},
+ {"hiphop_name": "Killer Mike"},
+ {"hiphop_name": "Kilo Ali"},
+ {"hiphop_name": "King Chip"},
+ {"hiphop_name": "King Gordy"},
+ {"hiphop_name": "King L"},
+ {"hiphop_name": "King Tee"},
+ {"hiphop_name": "Kirk Knight"},
+ {"hiphop_name": "Kirko Bangz"},
+ {"hiphop_name": "Kitty"},
+ {"hiphop_name": "KJ-52"},
+ {"hiphop_name": "Knero"},
+ {"hiphop_name": "Knoc-turn'al"},
+ {"hiphop_name": "KO"},
+ {"hiphop_name": "KOHH"},
+ {"hiphop_name": "Kodak Black"},
+ {"hiphop_name": "Kokane"},
+ {"hiphop_name": "Kool A.D"},
+ {"hiphop_name": "Kool G Rap"},
+ {"hiphop_name": "Kool Keith"},
+ {"hiphop_name": "Kool Moe Dee"},
+ {"hiphop_name": "Koolade"},
+ {"hiphop_name": "Krayzie Bone"},
+ {"hiphop_name": "Kreayshawn"},
+ {"hiphop_name": "Krizz Kaliko"},
+ {"hiphop_name": "KRS-One"},
+ {"hiphop_name": "Kung Fu Vampire"},
+ {"hiphop_name": "Kurious"},
+ {"hiphop_name": "Kurtis Blow"},
+ {"hiphop_name": "Kurupt"},
+ {"hiphop_name": "Kutt Calhoun"},
+ {"hiphop_name": "Kwamé"},
+ {"hiphop_name": "Kyle"},
+ {"hiphop_name": "Lil' Kim"},
+ {"hiphop_name": "Lil Wayne"},
+ {"hiphop_name": "L.T. Hutton"},
+ {"hiphop_name": "La Chat"},
+ {"hiphop_name": "La the Darkman"},
+ {"hiphop_name": "Lady Luck"},
+ {"hiphop_name": "The Lady of Rage"},
+ {"hiphop_name": "Lakey The Kid"},
+ {"hiphop_name": "Lakim Shabazz"},
+ {"hiphop_name": "Lakutis"},
+ {"hiphop_name": "Large Professor"},
+ {"hiphop_name": "Lauryn Hill"},
+ {"hiphop_name": "Lazarus"},
+ {"hiphop_name": "LE"},
+ {"hiphop_name": "Lecrae"},
+ {"hiphop_name": "Left Brain"},
+ {"hiphop_name": "Lex Luger"},
+ {"hiphop_name": "Lil' B"},
+ {"hiphop_name": "Lil' Bibby"},
+ {"hiphop_name": "Lil' Debbie"},
+ {"hiphop_name": "Lil' Dicky"},
+ {"hiphop_name": "Lil' Durk"},
+ {"hiphop_name": "Lil' Eazy-E"},
+ {"hiphop_name": "Lil' Flip"},
+ {"hiphop_name": "Lil' Herb"},
+ {"hiphop_name": "Lil' Jon"},
+ {"hiphop_name": "Lil' Mama"},
+ {"hiphop_name": "Lil' Peep"},
+ {"hiphop_name": "Lil' Phat"},
+ {"hiphop_name": "Lil' Pump"},
+ {"hiphop_name": "Lil' Reese"},
+ {"hiphop_name": "Lil' Ric"},
+ {"hiphop_name": "Lil' Ru"},
+ {"hiphop_name": "Lil' Scrappy"},
+ {"hiphop_name": "Lil' Skies"},
+ {"hiphop_name": "Lil' Twist"},
+ {"hiphop_name": "Lil' Uzi Vert"},
+ {"hiphop_name": "Lil' Wayne"},
+ {"hiphop_name": "Lil' Wyte"},
+ {"hiphop_name": "Lil' Xan"},
+ {"hiphop_name": "Lil' Yachty"},
+ {"hiphop_name": "Lil' Zane"},
+ {"hiphop_name": "Lil' Cease"},
+ {"hiphop_name": "Lil' Fizz"},
+ {"hiphop_name": "Lil' Flip"},
+ {"hiphop_name": "Lil' Keke"},
+ {"hiphop_name": "Lil' Kim"},
+ {"hiphop_name": "Lil' O"},
+ {"hiphop_name": "Lil' Ronnie"},
+ {"hiphop_name": "Lil' Troy"},
+ {"hiphop_name": "Lil' Wil"},
+ {"hiphop_name": "Lin Que"},
+ {"hiphop_name": "Lisa Lopes"},
+ {"hiphop_name": "LL Cool J"},
+ {"hiphop_name": "Lloyd Banks"},
+ {"hiphop_name": "Locksmith"},
+ {"hiphop_name": "Logic"},
+ {"hiphop_name": "LoLa Monroe"},
+ {"hiphop_name": "London On Da Track"},
+ {"hiphop_name": "Loon"},
+ {"hiphop_name": "Lord Finesse"},
+ {"hiphop_name": "Lord Have Mercy"},
+ {"hiphop_name": "Lord Infamous"},
+ {"hiphop_name": "Lord Jamar"},
+ {"hiphop_name": "Los"},
+ {"hiphop_name": "Louis Logic"},
+ {"hiphop_name": "Lovebug Starski"},
+ {"hiphop_name": "LoveRance"},
+ {"hiphop_name": "Lowkey"},
+ {"hiphop_name": "LRoc"},
+ {"hiphop_name": "Ludacris"},
+ {"hiphop_name": "Luis Resto"},
+ {"hiphop_name": "Luni Coleone"},
+ {"hiphop_name": "Lupe Fiasco"},
+ {"hiphop_name": "Luther Campbell"},
+ {"hiphop_name": "MC Lyte"},
+ {"hiphop_name": "Melle Mel"},
+ {"hiphop_name": "MF Doom"},
+ {"hiphop_name": "M Trill"},
+ {"hiphop_name": "M-1"},
+ {"hiphop_name": "M.I.A."},
+ {"hiphop_name": "Mac"},
+ {"hiphop_name": "Mac Dre"},
+ {"hiphop_name": "Mac Lethal"},
+ {"hiphop_name": "Mac Mall"},
+ {"hiphop_name": "Mac Miller"},
+ {"hiphop_name": "Mac Minister"},
+ {"hiphop_name": "Machine Gun Kelly"},
+ {"hiphop_name": "Mack 10"},
+ {"hiphop_name": "Mack Maine"},
+ {"hiphop_name": "Macklemore"},
+ {"hiphop_name": "Mad Lion"},
+ {"hiphop_name": "Madchild"},
+ {"hiphop_name": "Madlib"},
+ {"hiphop_name": "Maejor Ali"},
+ {"hiphop_name": "Magic"},
+ {"hiphop_name": "Magneto Dayo"},
+ {"hiphop_name": "Magnolia Shorty"},
+ {"hiphop_name": "Maino"},
+ {"hiphop_name": "Manafest"},
+ {"hiphop_name": "Mann"},
+ {"hiphop_name": "Mannie Fresh"},
+ {"hiphop_name": "Marčelo"},
+ {"hiphop_name": "Mariah Carey"},
+ {"hiphop_name": "Mark Battles"},
+ {"hiphop_name": "Marky Mark"},
+ {"hiphop_name": "Marley Marl"},
+ {"hiphop_name": "Marvaless"},
+ {"hiphop_name": "Marz"},
+ {"hiphop_name": "Mase"},
+ {"hiphop_name": "Masspike Miles"},
+ {"hiphop_name": "Masta Ace"},
+ {"hiphop_name": "Masta Killa"},
+ {"hiphop_name": "Master P"},
+ {"hiphop_name": "Master Shortie"},
+ {"hiphop_name": "Matt Toka"},
+ {"hiphop_name": "Max B"},
+ {"hiphop_name": "Maxo Kream"},
+ {"hiphop_name": "MC Breed"},
+ {"hiphop_name": "MC Davo"},
+ {"hiphop_name": "MC Eiht"},
+ {"hiphop_name": "MC Frontalot"},
+ {"hiphop_name": "MC Hammer"},
+ {"hiphop_name": "MC Jin"},
+ {"hiphop_name": "MC Lyte"},
+ {"hiphop_name": "MC Mong"},
+ {"hiphop_name": "MC Pressure"},
+ {"hiphop_name": "MC Ren"},
+ {"hiphop_name": "MC Ride"},
+ {"hiphop_name": "MC Serch"},
+ {"hiphop_name": "MC Shan"},
+ {"hiphop_name": "MC Solaar"},
+ {"hiphop_name": "MC Trouble"},
+ {"hiphop_name": "MC Tunes"},
+ {"hiphop_name": "Meechy Darko"},
+ {"hiphop_name": "Meek Mill"},
+ {"hiphop_name": "Melle Mel"},
+ {"hiphop_name": "Mellow Man Ace"},
+ {"hiphop_name": "Memphis Bleek"},
+ {"hiphop_name": "Messy Marv"},
+ {"hiphop_name": "Method Man"},
+ {"hiphop_name": "Metro Boomin"},
+ {"hiphop_name": "MF Doom"},
+ {"hiphop_name": "MF Grimm"},
+ {"hiphop_name": "Mia X"},
+ {"hiphop_name": "Mic Geronimo"},
+ {"hiphop_name": "Mick Jenkins"},
+ {"hiphop_name": "Mickey Factz"},
+ {"hiphop_name": "Mike Dean"},
+ {"hiphop_name": "Mike G"},
+ {"hiphop_name": "Mike Jones"},
+ {"hiphop_name": "Mike Posner"},
+ {"hiphop_name": "Mike Shinoda"},
+ {"hiphop_name": "Mike Stud"},
+ {"hiphop_name": "Mike Will Made It"},
+ {"hiphop_name": "Mike Zombie"},
+ {"hiphop_name": "Milo"},
+ {"hiphop_name": "Mims"},
+ {"hiphop_name": "Mino"},
+ {"hiphop_name": "Miryo"},
+ {"hiphop_name": "Missy Elliott"},
+ {"hiphop_name": "Mista Grimm"},
+ {"hiphop_name": "Mistah F.A.B."},
+ {"hiphop_name": "Mister Cee"},
+ {"hiphop_name": "Mitchy Slick"},
+ {"hiphop_name": "Mo B. Dick"},
+ {"hiphop_name": "Mod Sun"},
+ {"hiphop_name": "Money-B"},
+ {"hiphop_name": "Monie Love"},
+ {"hiphop_name": "Monoxide Child"},
+ {"hiphop_name": "Mopreme Shakur"},
+ {"hiphop_name": "Mos Def"},
+ {"hiphop_name": "Mr. Capone-E"},
+ {"hiphop_name": "Mr. Cheeks"},
+ {"hiphop_name": "Mr. Collipark"},
+ {"hiphop_name": "Mr. Criminal"},
+ {"hiphop_name": "Mr. Lif"},
+ {"hiphop_name": "Mr. Porter"},
+ {"hiphop_name": "Mr. Serv-On"},
+ {"hiphop_name": "Mr. Short Khop"},
+ {"hiphop_name": "Ms. Jade"},
+ {"hiphop_name": "Murphy Lee"},
+ {"hiphop_name": "Murs"},
+ {"hiphop_name": "Mystikal"},
+ {"hiphop_name": "Myzery"},
+ {"hiphop_name": "Montana of 300"},
+ {"hiphop_name": "Nas"},
+ {"hiphop_name": "Nicki Minaj"},
+ {"hiphop_name": "NBA YoungBoy"},
+ {"hiphop_name": "N.O. Joe"},
+ {"hiphop_name": "N.O.R.E."},
+ {"hiphop_name": "Napoleon"},
+ {"hiphop_name": "Nas"},
+ {"hiphop_name": "Nate Dogg"},
+ {"hiphop_name": "Nature"},
+ {"hiphop_name": "Nav"},
+ {"hiphop_name": "Nebu Kiniza"},
+ {"hiphop_name": "Necro"},
+ {"hiphop_name": "Needlz"},
+ {"hiphop_name": "Nelly"},
+ {"hiphop_name": "NF"},
+ {"hiphop_name": "Nick Cannon"},
+ {"hiphop_name": "Nicki Minaj"},
+ {"hiphop_name": "Nicky da B"},
+ {"hiphop_name": "Nicole Wray"},
+ {"hiphop_name": "Nikki D"},
+ {"hiphop_name": "Ninja"},
+ {"hiphop_name": "Nipsey Hussle"},
+ {"hiphop_name": "Nitty"},
+ {"hiphop_name": "Nitty Scott MC"},
+ {"hiphop_name": "NoClue"},
+ {"hiphop_name": "No Malice"},
+ {"hiphop_name": "Noah 40 Shebib"},
+ {"hiphop_name": "Noname"},
+ {"hiphop_name": "Nonchalant"},
+ {"hiphop_name": "The Notorious B.I.G."},
+ {"hiphop_name": "Nottz"},
+ {"hiphop_name": "Nujabes"},
+ {"hiphop_name": "Nump"},
+ {"hiphop_name": "Numskull"},
+ {"hiphop_name": "Nyck Caution"},
+ {"hiphop_name": "Nyzzy Nyce"},
+ {"hiphop_name": "O.T. Genasis"},
+ {"hiphop_name": "Obie Trice"},
+ {"hiphop_name": "Oddisee"},
+ {"hiphop_name": "Offset"},
+ {"hiphop_name": "OG Maco"},
+ {"hiphop_name": "Oh No"},
+ {"hiphop_name": "OJ da Juiceman"},
+ {"hiphop_name": "Ol' Dirty Bastard"},
+ {"hiphop_name": "Olamide"},
+ {"hiphop_name": "Olivia"},
+ {"hiphop_name": "Omarion"},
+ {"hiphop_name": "Omega Red"},
+ {"hiphop_name": "Omillio Sparks"},
+ {"hiphop_name": "One Be Lo"},
+ {"hiphop_name": "Oneya"},
+ {"hiphop_name": "Open Mike Eagle"},
+ {"hiphop_name": "Psy"},
+ {"hiphop_name": "Q-Tip"},
+ {"hiphop_name": "P. Reign"},
+ {"hiphop_name": "P.C.T"},
+ {"hiphop_name": "Papa Reu"},
+ {"hiphop_name": "Papoose"},
+ {"hiphop_name": "Paris"},
+ {"hiphop_name": "PARTYNEXTDOOR"},
+ {"hiphop_name": "Pastor Troy"},
+ {"hiphop_name": "Paul Wall"},
+ {"hiphop_name": "Peedi Peedi"},
+ {"hiphop_name": "Peewee Longway"},
+ {"hiphop_name": "Pacewon"},
+ {"hiphop_name": "Percee P"},
+ {"hiphop_name": "Petey Pablo"},
+ {"hiphop_name": "Pharoahe Monch"},
+ {"hiphop_name": "Pharrell Williams"},
+ {"hiphop_name": "Phat Kat"},
+ {"hiphop_name": "Phife Dawg"},
+ {"hiphop_name": "Philthy Rich"},
+ {"hiphop_name": "Phyno"},
+ {"hiphop_name": "Pill"},
+ {"hiphop_name": "Pimp C"},
+ {"hiphop_name": "Pitbull"},
+ {"hiphop_name": "Planet Asia"},
+ {"hiphop_name": "Planetary"},
+ {"hiphop_name": "Plies"},
+ {"hiphop_name": "Playboi Carti"},
+ {"hiphop_name": "PnB Rock"},
+ {"hiphop_name": "PNC"},
+ {"hiphop_name": "Porta"},
+ {"hiphop_name": "Positive K"},
+ {"hiphop_name": "Post Malone"},
+ {"hiphop_name": "Pras"},
+ {"hiphop_name": "Prince Ital Joe"},
+ {"hiphop_name": "Prince Paul"},
+ {"hiphop_name": "Prince Po"},
+ {"hiphop_name": "Problem"},
+ {"hiphop_name": "Prodigy"},
+ {"hiphop_name": "Professor Green"},
+ {"hiphop_name": "Project Pat"},
+ {"hiphop_name": "Proof"},
+ {"hiphop_name": "Prozak"},
+ {"hiphop_name": "Psy"},
+ {"hiphop_name": "Pusha T"},
+ {"hiphop_name": "Queen Latifah"},
+ {"hiphop_name": "Q-Tip"},
+ {"hiphop_name": "Quan"},
+ {"hiphop_name": "Quavo"},
+ {"hiphop_name": "Quazedelic"},
+ {"hiphop_name": "Queen Latifah"},
+ {"hiphop_name": "Queen Pen"},
+ {"hiphop_name": "The Quiett"},
+ {"hiphop_name": "Quincy Jones III"},
+ {"hiphop_name": "Qwazaar"},
+ {"hiphop_name": "Qwel"},
+ {"hiphop_name": "Rakim"},
+ {"hiphop_name": "RZA"},
+ {"hiphop_name": "R. Kelly"},
+ {"hiphop_name": "R.A. the Rugged Man"},
+ {"hiphop_name": "Raekwon"},
+ {"hiphop_name": "Rah Digga"},
+ {"hiphop_name": "Rahzel"},
+ {"hiphop_name": "Rakim"},
+ {"hiphop_name": "Rampage"},
+ {"hiphop_name": "Rap Monster"},
+ {"hiphop_name": "Rappin' 4-Tay"},
+ {"hiphop_name": "Rapsody"},
+ {"hiphop_name": "Ramey Dawoud"},
+ {"hiphop_name": "Ras Kass"},
+ {"hiphop_name": "Rasheeda"},
+ {"hiphop_name": "Ravi"},
+ {"hiphop_name": "Ray Cash"},
+ {"hiphop_name": "Ray J"},
+ {"hiphop_name": "Ray Luv"},
+ {"hiphop_name": "Raz Fresco"},
+ {"hiphop_name": "RBX"},
+ {"hiphop_name": "The Real Roxanne"},
+ {"hiphop_name": "Really Doe"},
+ {"hiphop_name": "Red Café"},
+ {"hiphop_name": "Red Spyda"},
+ {"hiphop_name": "Redfoo"},
+ {"hiphop_name": "Redman"},
+ {"hiphop_name": "Reef the Lost Cauze"},
+ {"hiphop_name": "Reema Major"},
+ {"hiphop_name": "Reks"},
+ {"hiphop_name": "Remy Ma"},
+ {"hiphop_name": "Rhymefest"},
+ {"hiphop_name": "Rich Boy"},
+ {"hiphop_name": "Rich Brian"},
+ {"hiphop_name": "Rich Homie Quan"},
+ {"hiphop_name": "Rich The Kid"},
+ {"hiphop_name": "Richie Rich"},
+ {"hiphop_name": "Rick Rock"},
+ {"hiphop_name": "Rick Ross"},
+ {"hiphop_name": "Rico Love"},
+ {"hiphop_name": "Riff Raff"},
+ {"hiphop_name": "Rittz"},
+ {"hiphop_name": "RJ"},
+ {"hiphop_name": "Rob Sonic"},
+ {"hiphop_name": "Rob Stone"},
+ {"hiphop_name": "Roc Marciano"},
+ {"hiphop_name": "Rockie Fresh"},
+ {"hiphop_name": "Rocko"},
+ {"hiphop_name": "Roger Troutman"},
+ {"hiphop_name": "Romeo Miller"},
+ {"hiphop_name": "Ronnie Radke"},
+ {"hiphop_name": "Roots Manuva"},
+ {"hiphop_name": "Roscoe"},
+ {"hiphop_name": "Roscoe Dash"},
+ {"hiphop_name": "Rowdy Rebel"},
+ {"hiphop_name": "Roxanne Shanté"},
+ {"hiphop_name": "Royce da 5'9"},
+ {"hiphop_name": "Russ"},
+ {"hiphop_name": "Rucka Rucka Ali"},
+ {"hiphop_name": "Rydah J. Klyde"},
+ {"hiphop_name": "Rye Rye"},
+ {"hiphop_name": "RZA"},
+ {"hiphop_name": "Roy Woods"},
+ {"hiphop_name": "Slick Rick"},
+ {"hiphop_name": "Snoop Dogg"},
+ {"hiphop_name": "Skabo"},
+ {"hiphop_name": "Saafir"},
+ {"hiphop_name": "Sabac Red"},
+ {"hiphop_name": "Sacario"},
+ {"hiphop_name": "Sadat X"},
+ {"hiphop_name": "Sadistik"},
+ {"hiphop_name": "Sage Francis"},
+ {"hiphop_name": "Sage the Gemini"},
+ {"hiphop_name": "Saigon"},
+ {"hiphop_name": "Sam Sneed"},
+ {"hiphop_name": "Sammy Adams"},
+ {"hiphop_name": "San E"},
+ {"hiphop_name": "San Quinn"},
+ {"hiphop_name": "Sarkodie"},
+ {"hiphop_name": "Sauce Money"},
+ {"hiphop_name": "Savage"},
+ {"hiphop_name": "Scarface"},
+ {"hiphop_name": "Schoolboy Q"},
+ {"hiphop_name": "Schoolly D"},
+ {"hiphop_name": "Scott Storch"},
+ {"hiphop_name": "Scotty"},
+ {"hiphop_name": "Scram Jones"},
+ {"hiphop_name": "Scribe"},
+ {"hiphop_name": "Scrilla"},
+ {"hiphop_name": "Scrufizzer"},
+ {"hiphop_name": "Sean Combs"},
+ {"hiphop_name": "Sean Paul"},
+ {"hiphop_name": "Sean Price"},
+ {"hiphop_name": "Sean T"},
+ {"hiphop_name": "Serengeti"},
+ {"hiphop_name": "Serius Jones"},
+ {"hiphop_name": "Sev Statik"},
+ {"hiphop_name": "Sha Money XL"},
+ {"hiphop_name": "Shabazz the Disciple"},
+ {"hiphop_name": "Shad"},
+ {"hiphop_name": "Shade Sheist"},
+ {"hiphop_name": "Shady Nate"},
+ {"hiphop_name": "Shaggy"},
+ {"hiphop_name": "Shaggy 2 Dope"},
+ {"hiphop_name": "Shaquille O'Neal"},
+ {"hiphop_name": "Shawnna"},
+ {"hiphop_name": "Shawty Lo"},
+ {"hiphop_name": "Sheek Louch"},
+ {"hiphop_name": "Shing02"},
+ {"hiphop_name": "Sho Baraka"},
+ {"hiphop_name": "Shock G"},
+ {"hiphop_name": "Shorty"},
+ {"hiphop_name": "Shorty Mack"},
+ {"hiphop_name": "Shwayze"},
+ {"hiphop_name": "Shy Glizzy"},
+ {"hiphop_name": "Shyheim"},
+ {"hiphop_name": "Shyne"},
+ {"hiphop_name": "Silentó"},
+ {"hiphop_name": "Silkk the Shocker"},
+ {"hiphop_name": "Silla"},
+ {"hiphop_name": "Simon D"},
+ {"hiphop_name": "Sir Jinx"},
+ {"hiphop_name": "Sir Mix-a-Lot"},
+ {"hiphop_name": "Sirah"},
+ {"hiphop_name": "Skee-Lo"},
+ {"hiphop_name": "Skeme"},
+ {"hiphop_name": "Skepta"},
+ {"hiphop_name": "Skinnyman"},
+ {"hiphop_name": "Skooly"},
+ {"hiphop_name": "Skyzoo"},
+ {"hiphop_name": "SL Jones"},
+ {"hiphop_name": "Sleepy Brown"},
+ {"hiphop_name": "Slick Rick"},
+ {"hiphop_name": "Slim Jxmmi"},
+ {"hiphop_name": "Slim Thug"},
+ {"hiphop_name": "Slug"},
+ {"hiphop_name": "Smitty"},
+ {"hiphop_name": "Smoke DZA"},
+ {"hiphop_name": "Smooth"},
+ {"hiphop_name": "Smoothe da Hustler"},
+ {"hiphop_name": "Sniper J"},
+ {"hiphop_name": "Snoop Dogg"},
+ {"hiphop_name": "Snootie Wild"},
+ {"hiphop_name": "Snow Tha Product"},
+ {"hiphop_name": "Soce the elemental wizard"},
+ {"hiphop_name": "Sole"},
+ {"hiphop_name": "Solzilla"},
+ {"hiphop_name": "Sonny Digital"},
+ {"hiphop_name": "SonReal"},
+ {"hiphop_name": "Sonsee"},
+ {"hiphop_name": "Soopafly"},
+ {"hiphop_name": "Soulja Boy"},
+ {"hiphop_name": "Soulja Slim"},
+ {"hiphop_name": "South Park Mexican"},
+ {"hiphop_name": "Southside"},
+ {"hiphop_name": "SpaceGhostPurrp"},
+ {"hiphop_name": "Special Ed"},
+ {"hiphop_name": "Spice 1"},
+ {"hiphop_name": "Spider Loc"},
+ {"hiphop_name": "Spoonie Gee"},
+ {"hiphop_name": "Spose"},
+ {"hiphop_name": "Spot"},
+ {"hiphop_name": "Stalley"},
+ {"hiphop_name": "Starlito"},
+ {"hiphop_name": "Stat Quo"},
+ {"hiphop_name": "Static Major"},
+ {"hiphop_name": "Statik Selektah"},
+ {"hiphop_name": "Steady B"},
+ {"hiphop_name": "Stevie Joe"},
+ {"hiphop_name": "Stevie Stone"},
+ {"hiphop_name": "Stezo"},
+ {"hiphop_name": "Stitches"},
+ {"hiphop_name": "Sticky Fingaz"},
+ {"hiphop_name": "Stoka"},
+ {"hiphop_name": "Stoupe the Enemy of Mankind"},
+ {"hiphop_name": "Stormzy"},
+ {"hiphop_name": "Stretch"},
+ {"hiphop_name": "Styles P"},
+ {"hiphop_name": "Substantial"},
+ {"hiphop_name": "Suga Free"},
+ {"hiphop_name": "Suffa"},
+ {"hiphop_name": "Swagg Man"},
+ {"hiphop_name": "Sweet Tee"},
+ {"hiphop_name": "Swings"},
+ {"hiphop_name": "Swizz Beatz"},
+ {"hiphop_name": "SwizZz"},
+ {"hiphop_name": "Syd Tha Kyd"},
+ {"hiphop_name": "SZA"},
+ {"hiphop_name": "T.I."},
+ {"hiphop_name": "Tyler the Creator"},
+ {"hiphop_name": "T La Rock"},
+ {"hiphop_name": "T-Bone"},
+ {"hiphop_name": "T-Nutty"},
+ {"hiphop_name": "T-Pain"},
+ {"hiphop_name": "T-Wayne"},
+ {"hiphop_name": "T. Mills"},
+ {"hiphop_name": "T.I."},
+ {"hiphop_name": "T.O.P"},
+ {"hiphop_name": "Tabi Bonney"},
+ {"hiphop_name": "Tablo"},
+ {"hiphop_name": "Taio Cruz"},
+ {"hiphop_name": "Talib Kweli"},
+ {"hiphop_name": "Target"},
+ {"hiphop_name": "Tay Dizm"},
+ {"hiphop_name": "Tay-K"},
+ {"hiphop_name": "TD Cruze"},
+ {"hiphop_name": "Teairra Marí"},
+ {"hiphop_name": "Tech N9ne"},
+ {"hiphop_name": "Tedashii"},
+ {"hiphop_name": "TeeFlii"},
+ {"hiphop_name": "Tee Grizzley"},
+ {"hiphop_name": "Tekitha"},
+ {"hiphop_name": "Tela"},
+ {"hiphop_name": "Termanology"},
+ {"hiphop_name": "Terrace Martin"},
+ {"hiphop_name": "Teyana Taylor"},
+ {"hiphop_name": "Tha Chill"},
+ {"hiphop_name": "Tha City Paper"},
+ {"hiphop_name": "Tha Trademarc"},
+ {"hiphop_name": "The-Dream"},
+ {"hiphop_name": "Theophilus London"},
+ {"hiphop_name": "Tiffany Foxx"},
+ {"hiphop_name": "Tim Dog"},
+ {"hiphop_name": "Timaya"},
+ {"hiphop_name": "Timbaland"},
+ {"hiphop_name": "Timbe"},
+ {"hiphop_name": "Tinie Tempah"},
+ {"hiphop_name": "Tink (musician)"},
+ {"hiphop_name": "TobyMac"},
+ {"hiphop_name": "Tone Lōc"},
+ {"hiphop_name": "Tone Trump"},
+ {"hiphop_name": "Tonedeff"},
+ {"hiphop_name": "Toni Blackman"},
+ {"hiphop_name": "Tony Yayo"},
+ {"hiphop_name": "Too Short"},
+ {"hiphop_name": "Torch (American)"},
+ {"hiphop_name": "Torch (German)"},
+ {"hiphop_name": "Tory Lanez"},
+ {"hiphop_name": "Tracey Lee"},
+ {"hiphop_name": "Trae tha Truth"},
+ {"hiphop_name": "Tragedy Khadafi"},
+ {"hiphop_name": "Travis Scott"},
+ {"hiphop_name": "Traxamillion"},
+ {"hiphop_name": "Tray Deee"},
+ {"hiphop_name": "Treach"},
+ {"hiphop_name": "Trey Songz"},
+ {"hiphop_name": "Trick Daddy"},
+ {"hiphop_name": "Trick-Trick"},
+ {"hiphop_name": "Trina"},
+ {"hiphop_name": "Trinidad James"},
+ {"hiphop_name": "Trip Lee"},
+ {"hiphop_name": "Trippie Redd"},
+ {"hiphop_name": "Tristan Wilds"},
+ {"hiphop_name": "Troy Ave"},
+ {"hiphop_name": "Tupac Shakur"},
+ {"hiphop_name": "Turf Talk"},
+ {"hiphop_name": "Turk"},
+ {"hiphop_name": "Tweedy Bird Loc"},
+ {"hiphop_name": "Twista"},
+ {"hiphop_name": "Twisted Insane"},
+ {"hiphop_name": "Ty Dolla Sign"},
+ {"hiphop_name": "Tyga"},
+ {"hiphop_name": "Tyler Joseph"},
+ {"hiphop_name": "Tyler The Creator"},
+ {"hiphop_name": "Tyra Bolling"},
+ {"hiphop_name": "Verbal Jint"},
+ {"hiphop_name": "U-God"},
+ {"hiphop_name": "Ugly God"},
+ {"hiphop_name": "Uncle Murda"},
+ {"hiphop_name": "Unk"},
+ {"hiphop_name": "U$O"},
+ {"hiphop_name": "Wyclef Jean"},
+ {"hiphop_name": "V-Nasty"},
+ {"hiphop_name": "V.I.C."},
+ {"hiphop_name": "Vado"},
+ {"hiphop_name": "Vakill"},
+ {"hiphop_name": "Val Young"},
+ {"hiphop_name": "Valete"},
+ {"hiphop_name": "Vanilla Ice"},
+ {"hiphop_name": "Vast Aire"},
+ {"hiphop_name": "Verbal Jint"},
+ {"hiphop_name": "Verse Simmonds"},
+ {"hiphop_name": "Vic Mensa"},
+ {"hiphop_name": "Vince Staples"},
+ {"hiphop_name": "Vinnie Paz"},
+ {"hiphop_name": "Violent J"},
+ {"hiphop_name": "Viper"},
+ {"hiphop_name": "VL Mike"},
+ {"hiphop_name": "Xzibit"},
+ {"hiphop_name": "Waka Flocka Flame"},
+ {"hiphop_name": "Wale"},
+ {"hiphop_name": "Warren G"},
+ {"hiphop_name": "Warryn Campbell"},
+ {"hiphop_name": "Watsky"},
+ {"hiphop_name": "Wax (rapper)"},
+ {"hiphop_name": "WC"},
+ {"hiphop_name": "Webbie"},
+ {"hiphop_name": "The Weeknd"},
+ {"hiphop_name": "Westside Gunn"},
+ {"hiphop_name": "Wikluh Sky"},
+ {"hiphop_name": "Will Smith"},
+ {"hiphop_name": "will.i.am"},
+ {"hiphop_name": "Willie D"},
+ {"hiphop_name": "Willie the Kid"},
+ {"hiphop_name": "Willow Smith"},
+ {"hiphop_name": "Willy Northpole"},
+ {"hiphop_name": "Wish Bone"},
+ {"hiphop_name": "Witchdoctor"},
+ {"hiphop_name": "Wiz Khalifa"},
+ {"hiphop_name": "Wizkid"},
+ {"hiphop_name": "Wrekonize"},
+ {"hiphop_name": "Wyclef Jean"},
+ {"hiphop_name": "X-Raided"},
+ {"hiphop_name": "XV"},
+ {"hiphop_name": "Xzibit"},
+ {"hiphop_name": "XXXTentacion"},
+ {"hiphop_name": "X Clan"},
+ {"hiphop_name": "Young Jeezy"},
+ {"hiphop_name": "Ya Boy"},
+ {"hiphop_name": "Yaki Kadafi"},
+ {"hiphop_name": "Yazz The Greatest"},
+ {"hiphop_name": "YBN Nahmir"},
+ {"hiphop_name": "YC"},
+ {"hiphop_name": "YDG"},
+ {"hiphop_name": "Yelawolf"},
+ {"hiphop_name": "YFN Lucci"},
+ {"hiphop_name": "YG"},
+ {"hiphop_name": "Yo Gotti"},
+ {"hiphop_name": "Yo Yo Honey Singh"},
+ {"hiphop_name": "Yoon Mi-rae"},
+ {"hiphop_name": "Young Bleed"},
+ {"hiphop_name": "Young Buck"},
+ {"hiphop_name": "Young Chop"},
+ {"hiphop_name": "Young Chris"},
+ {"hiphop_name": "Young Dolph"},
+ {"hiphop_name": "Young Dre the Truth"},
+ {"hiphop_name": "Young Dro"},
+ {"hiphop_name": "Young Greatness"},
+ {"hiphop_name": "Young Jeezy"},
+ {"hiphop_name": "Young M.A"},
+ {"hiphop_name": "Young Maylay"},
+ {"hiphop_name": "Young MC"},
+ {"hiphop_name": "Young Noble"},
+ {"hiphop_name": "Young Scooter"},
+ {"hiphop_name": "Young Thug"},
+ {"hiphop_name": "YoungBoy Never Broke Again"},
+ {"hiphop_name": "Your Old Droog"},
+ {"hiphop_name": "Yubin"},
+ {"hiphop_name": "Yukmouth"},
+ {"hiphop_name": "Yung Berg"},
+ {"hiphop_name": "Yung Joc"},
+ {"hiphop_name": "Yung L.A."},
+ {"hiphop_name": "Yung Lean"},
+ {"hiphop_name": "Yung Ro"},
+ {"hiphop_name": "Yung Wun"},
+ {"hiphop_name": "Yung6ix"},
+ {"hiphop_name": "YZ"},
+ {"hiphop_name": "Z-Ro"},
+ {"hiphop_name": "Zack de la Rocha"},
+ {"hiphop_name": "Zaytoven"},
+ {"hiphop_name": "Zebra Katz"},
+ {"hiphop_name": "Zelooperz"},
+ {"hiphop_name": "Zico"}
+] \ No newline at end of file
diff --git a/pysite/mixins.py b/pysite/mixins.py
index efbc2d0c..0a9402a9 100644
--- a/pysite/mixins.py
+++ b/pysite/mixins.py
@@ -4,7 +4,6 @@ from weakref import ref
from flask import Blueprint
from rethinkdb.ast import Table
-from pysite.constants import DEBUG_MODE
from pysite.database import RethinkDB
@@ -53,9 +52,6 @@ class DBMixin:
cls._db = ref(manager.db)
- if DEBUG_MODE:
- manager.db.create_table(cls.table_name, primary_key=cls.table_primary_key)
-
@property
def table(self) -> Table:
return self.db.query(self.table_name)
diff --git a/pysite/views/api/bot/tags.py b/pysite/views/api/bot/tags.py
index 21b64c2c..ee1a1bee 100644
--- a/pysite/views/api/bot/tags.py
+++ b/pysite/views/api/bot/tags.py
@@ -32,7 +32,6 @@ class TagsView(APIView, DBMixin):
path = "/tags"
name = "api.bot.tags"
table_name = "tags"
- table_primary_key = "tag_name"
@api_key
@api_params(schema=GET_SCHEMA, validation_type=ValidationTypes.params)
diff --git a/pysite/views/api/bot/user.py b/pysite/views/api/bot/user.py
index da5fe0aa..3d8d7271 100644
--- a/pysite/views/api/bot/user.py
+++ b/pysite/views/api/bot/user.py
@@ -23,7 +23,6 @@ class UserView(APIView, DBMixin):
path = "/user"
name = "api.bot.user"
table_name = "users"
- table_primary_key = "user_id"
@api_key
@api_params(schema=SCHEMA, validation_type=ValidationTypes.json)
diff --git a/pysite/views/wiki/edit.py b/pysite/views/wiki/edit.py
index 0d70fed5..9eb50c9e 100644
--- a/pysite/views/wiki/edit.py
+++ b/pysite/views/wiki/edit.py
@@ -13,9 +13,7 @@ from pysite.rst import render
class EditView(RouteView, DBMixin):
path = "/edit/<path:page>" # "path" means that it accepts slashes
name = "edit"
-
table_name = "wiki"
- table_primary_key = "slug"
@require_roles(*EDITOR_ROLES)
def get(self, page):
diff --git a/pysite/views/wiki/page.py b/pysite/views/wiki/page.py
index 36fdcd39..500d5c04 100644
--- a/pysite/views/wiki/page.py
+++ b/pysite/views/wiki/page.py
@@ -10,9 +10,7 @@ from pysite.mixins import DBMixin
class PageView(RouteView, DBMixin):
path = "/wiki/<path:page>" # "path" means that it accepts slashes
name = "page"
-
table_name = "wiki"
- table_primary_key = "slug"
def get(self, page):
obj = self.db.get(self.table_name, page)
diff --git a/pysite/views/wiki/source.py b/pysite/views/wiki/source.py
index 7038dad9..80f362df 100644
--- a/pysite/views/wiki/source.py
+++ b/pysite/views/wiki/source.py
@@ -13,9 +13,7 @@ from pysite.mixins import DBMixin
class PageView(RouteView, DBMixin):
path = "/source/<path:page>" # "path" means that it accepts slashes
name = "source"
-
table_name = "wiki"
- table_primary_key = "slug"
def get(self, page):
obj = self.db.get(self.table_name, page)