diff --git a/extras/dummy_generator/csv/first_names_germany.README b/extras/dummy_generator/csv/first_names_germany.README deleted file mode 100644 index 5aa8af877..000000000 --- a/extras/dummy_generator/csv/first_names_germany.README +++ /dev/null @@ -1 +0,0 @@ -https://en.wikipedia.org/wiki/German_name#Popular_given_names diff --git a/extras/dummy_generator/csv/first_names_germany.csv b/extras/dummy_generator/csv/first_names_germany.csv deleted file mode 100644 index 31cf04a52..000000000 --- a/extras/dummy_generator/csv/first_names_germany.csv +++ /dev/null @@ -1,89 +0,0 @@ -"Anna","f" -"Martha","f" -"Frieda","f" -"Berta","f" -"Emma","f" -"Marie","f" -"Margarethe","f" -"Erna","f" -"Elsa","f" -"Elisabeth","f" -"Gertrud","f" -"Hertha","f" -"Käthe","f" -"Elisabeth","f" -"Hildegard","f" -"Ilse","f" -"Gertrud","f" -"Irmgard","f" -"Lieselotte","f" -"Elfriede","f" -"Ursula","f" -"Edith","f" -"Gisela","f" -"Ingeborg","f" -"Renate","f" -"Elke","f" -"Gisela","f" -"Sabine","f" -"Petra","f" -"Birgit","f" -"Ute","f" -"Angelika","f" -"Nicole","f" -"Anja","f" -"Claudia","f" -"Katrin","f" -"Susanne","f" -"Kathrin","f" -"Julia","f" -"Sandra","f" -"Nadine","f" -"Mia","f" -"Hannah","f" -"Lena","f" -"Sofia","f" -"Leoni","f" -"Emily","f" -"Lili","f" -"Michelle","f" -"Sophia","f" -"Thomas","m" -"Michael","m" -"Andreas","m" -"Peter","m" -"Frank","m" -"Uwe","m" -"Klaus","m" -"Stefan","m" -"Stephan","m" -"Jürgen","m" -"Jörg","m" -"Andreas","m" -"Markus","m" -"Christian","m" -"Oliver","m" -"Matthias","m" -"Torsten","m" -"Sebastian","m" -"Jan","m" -"Dennis","m" -"Thomas","m" -"Tobias","m" -"Alexander","m" -"Patrick","m" -"Marcel","m" -"Philipp","m" -"Alexander","m" -"Daniel","m" -"Dennis","m" -"Lukas","m" -"Finn","m" -"Leon","m" -"Niklas","m" -"Jannik","m" -"Ben","m" -"Luis","m" -"Maximilian","m" -"Felix","m" -"Leon","m" diff --git a/extras/dummy_generator/csv/first_names_spain.README b/extras/dummy_generator/csv/first_names_spain.README deleted file mode 100644 index 5f2c18bef..000000000 --- a/extras/dummy_generator/csv/first_names_spain.README +++ /dev/null @@ -1 +0,0 @@ -http://www.ine.es/daco/daco42/nombyapel/nombyapel.htm diff --git a/extras/dummy_generator/csv/first_names_spain.csv b/extras/dummy_generator/csv/first_names_spain.csv deleted file mode 100644 index 54152bf7a..000000000 --- a/extras/dummy_generator/csv/first_names_spain.csv +++ /dev/null @@ -1,200 +0,0 @@ -Hugo,m -Daniel,m -Pablo,m -Alejandro,m -Alvaro,m -Adrian,m -David,m -Mario,m -Diego,m -Javier,m -Lucas,m -Nicolas,m -Manuel,m -Marcos,m -Iker,m -Sergio,m -Izan,m -Jorge,m -Carlos,m -Martin,m -Leo,m -Miguel,m -Marc,m -Mateo,m -Alex,m -Gonzalo,m -Antonio,m -Ivan,m -Juan,m -Angel,m -Ruben,m -Victor,m -Hector,m -Samuel,m -Aitor,m -Eric,m -Gabriel,m -Joel,m -Raul,m -Jose,m -Rodrigo,m -Adam,m -Guillermo,m -Dario,m -Jesus,m -Erik,m -Bruno,m -Marco,m -Francisco,m -Aaron,m -Pau,m -Pedro,m -Alberto,m -Jaime,m -Enzo,m -Luis,m -Oliver,m -Asier,m -Rafael,m -Unai,m -Pol,m -Mohamed,m -Oscar,m -Andres,m -Biel,m -Ismael,m -Fernando,m -Arnau,m -Rayan,m -Alonso,m -Marti,m -Gerard,m -Ian,m -Jan,m -Ignacio,m -Miguel Angel,m -Cristian,m -Santiago,m -Gael,m -Nil,m -Joan,m -Thiago,m -Enrique,m -Isaac,m -Saul,m -Jose Antonio,m -Yago,m -Jose Manuel,m -Roberto,m -Eduardo,m -Omar,m -Aleix,m -Luca,m -Oriol,m -Jordi,m -Francisco Javier,m -Ander,m -Jon,m -Yeray,m -Dylan,m -Lucia,f -Maria,f -Paula,f -Daniela,f -Martina,f -Carla,f -Sara,f -Sofia,f -Valeria,f -Julia,f -Alba,f -Claudia,f -Noa,f -Marta,f -Irene,f -Emma,f -Carmen,f -Laura,f -Ana,f -Ainhoa,f -Elena,f -Adriana,f -Valentina,f -Alejandra,f -Ines,f -Aitana,f -Ariadna,f -Leire,f -Ainara,f -Laia,f -Nerea,f -Marina,f -Andrea,f -Carlota,f -Lola,f -Jimena,f -Angela,f -Candela,f -Rocio,f -Blanca,f -Vera,f -Nora,f -Alicia,f -Celia,f -Vega,f -Natalia,f -Clara,f -Leyre,f -Victoria,f -Eva,f -Olivia,f -Isabel,f -Cristina,f -Aina,f -Aroa,f -Nuria,f -Lara,f -Alma,f -Abril,f -Carolina,f -Elsa,f -Mar,f -Mara,f -Gabriela,f -Manuela,f -Zoe,f -Noelia,f -Africa,f -Iria,f -Berta,f -Alexia,f -Erika,f -Helena,f -Miriam,f -Naiara,f -Silvia,f -Aya,f -Salma,f -Naia,f -Nayara,f -Chloe,f -Mireia,f -Paola,f -Ona,f -Sandra,f -Malak,f -Raquel,f -Ane,f -Nahia,f -Jana,f -Diana,f -Patricia,f -Mia,f -Anna,f -Iris,f -Yanira,f -Luna,f -Arlet,f -Nadia,f -Lidia,f diff --git a/extras/dummy_generator/csv/first_names_ukraine.README b/extras/dummy_generator/csv/first_names_ukraine.README deleted file mode 100644 index d383c4a25..000000000 --- a/extras/dummy_generator/csv/first_names_ukraine.README +++ /dev/null @@ -1 +0,0 @@ -https://en.wikipedia.org/wiki/Ukrainian_name diff --git a/extras/dummy_generator/csv/first_names_ukraine.csv b/extras/dummy_generator/csv/first_names_ukraine.csv deleted file mode 100644 index f35b3ebc7..000000000 --- a/extras/dummy_generator/csv/first_names_ukraine.csv +++ /dev/null @@ -1,48 +0,0 @@ -Андрій,m,Andriy -Борис,m,Borys -Василь,m,Vasyl -Віктор,m,Viktor -Володимир,m,Volodymyr -Дмитро,m,Dmytro -Іван,m,Ivan -Ігор,m,Ihor -Кирило,m,Kyrylo -Костянтин,m,Kostyantyn -Леонід,m,Leonid -Максим,m,Maksym -Микола,m,Mykola -Михайло,m,Mykhaylo -Олександр,m,Oleksandr -Олексій,m,Oleksiy -Павло,m,Pavlo -Петро,m,Petro -Рoмaн,m,Roman -Рycлан,m,Ruslan -Сергій,m,Serhiy -Станіслав,m,Stanislav -Юрій,m,Yuri -Анастасія (,f,Anastasiya -Василина,f,Vasylyna -Віра,f,Vira -Ганна,f,Hanna -Катерина,f,Kateryna -Любов,f,Lyubov -Марія,f,Mariya -Михайлина,f,Mikhaylyna -Надія,f,Nadiya -Наталія,f,Nataliya -Оксана,f,Oksana -Олександра,f,Oleksandra -Олена,f,Olena -Ольга,f,Olha -Рoмaна,f,Romana -Рycлана,f,Ruslana -Світлана,f,Svitlana -Софія,f,Sofiya -Тетяна,f,Tetyana -Юлія,f,Yulia -Сніжана,f,Snizhana -Зоряна,f,Zoryana -Мирослава,f,Myroslava -Ярослава,f,Yaroslava -Святослава,f,Svyatoslava diff --git a/extras/dummy_generator/csv/first_names_usa.README b/extras/dummy_generator/csv/first_names_usa.README deleted file mode 100644 index b4aadbbd5..000000000 --- a/extras/dummy_generator/csv/first_names_usa.README +++ /dev/null @@ -1 +0,0 @@ -https://www.ssa.gov/oact/babynames/decades/names2010s.html diff --git a/extras/dummy_generator/csv/first_names_usa.csv b/extras/dummy_generator/csv/first_names_usa.csv deleted file mode 100644 index 1027e2310..000000000 --- a/extras/dummy_generator/csv/first_names_usa.csv +++ /dev/null @@ -1,400 +0,0 @@ -"Jacob","m" -"Noah","m" -"Mason","m" -"William","m" -"Ethan","m" -"Liam","m" -"Michael","m" -"Alexander","m" -"Jayden","m" -"Daniel","m" -"Aiden","m" -"James","m" -"Elijah","m" -"Matthew","m" -"Benjamin","m" -"Logan","m" -"Anthony","m" -"David","m" -"Joseph","m" -"Joshua","m" -"Jackson","m" -"Andrew","m" -"Christopher","m" -"Gabriel","m" -"Samuel","m" -"Lucas","m" -"John","m" -"Ryan","m" -"Dylan","m" -"Nathan","m" -"Isaac","m" -"Caleb","m" -"Carter","m" -"Christian","m" -"Luke","m" -"Jonathan","m" -"Landon","m" -"Owen","m" -"Jack","m" -"Wyatt","m" -"Henry","m" -"Hunter","m" -"Isaiah","m" -"Brayden","m" -"Gavin","m" -"Nicholas","m" -"Sebastian","m" -"Evan","m" -"Julian","m" -"Tyler","m" -"Aaron","m" -"Jordan","m" -"Eli","m" -"Oliver","m" -"Levi","m" -"Connor","m" -"Jeremiah","m" -"Cameron","m" -"Charles","m" -"Angel","m" -"Thomas","m" -"Adrian","m" -"Robert","m" -"Brandon","m" -"Austin","m" -"Jaxon","m" -"Kevin","m" -"Jose","m" -"Colton","m" -"Zachary","m" -"Josiah","m" -"Dominic","m" -"Chase","m" -"Ayden","m" -"Jason","m" -"Justin","m" -"Ian","m" -"Parker","m" -"Grayson","m" -"Adam","m" -"Blake","m" -"Xavier","m" -"Cooper","m" -"Bentley","m" -"Jace","m" -"Carson","m" -"Nolan","m" -"Nathaniel","m" -"Brody","m" -"Hudson","m" -"Tristan","m" -"Luis","m" -"Juan","m" -"Easton","m" -"Kayden","m" -"Carlos","m" -"Jaxson","m" -"Asher","m" -"Cole","m" -"Jesus","m" -"Ryder","m" -"Vincent","m" -"Alex","m" -"Micah","m" -"Max","m" -"Lincoln","m" -"Bryson","m" -"Damian","m" -"Diego","m" -"Eric","m" -"Hayden","m" -"Elias","m" -"Miles","m" -"Maxwell","m" -"Bryce","m" -"Giovanni","m" -"Leo","m" -"Mateo","m" -"Santiago","m" -"Camden","m" -"Bryan","m" -"Timothy","m" -"Antonio","m" -"Aidan","m" -"Jaden","m" -"Steven","m" -"Sawyer","m" -"Colin","m" -"Leonardo","m" -"Ivan","m" -"Ashton","m" -"Kaleb","m" -"Miguel","m" -"Richard","m" -"Braxton","m" -"Jonah","m" -"Kaden","m" -"Roman","m" -"Brian","m" -"Kyle","m" -"Riley","m" -"Alejandro","m" -"Victor","m" -"Preston","m" -"Joel","m" -"Kaiden","m" -"Wesley","m" -"Patrick","m" -"Jesse","m" -"Marcus","m" -"Declan","m" -"Edward","m" -"Axel","m" -"Sean","m" -"Ezra","m" -"Jake","m" -"Silas","m" -"George","m" -"Jeremy","m" -"Brady","m" -"Caden","m" -"Emmanuel","m" -"Jude","m" -"Grant","m" -"Alan","m" -"Greyson","m" -"Theodore","m" -"Harrison","m" -"Maddox","m" -"Weston","m" -"Malachi","m" -"Oscar","m" -"Cayden","m" -"Brantley","m" -"Bradley","m" -"Mark","m" -"Kenneth","m" -"Jayce","m" -"Nicolas","m" -"Emmett","m" -"Gage","m" -"Abraham","m" -"Ezekiel","m" -"Kai","m" -"Kingston","m" -"Abel","m" -"Jase","m" -"Tucker","m" -"Jameson","m" -"Devin","m" -"Paul","m" -"Derek","m" -"Rylan","m" -"Calvin","m" -"Peyton","m" -"Tanner","m" -"Avery","m" -"Everett","m" -"Bennett","m" -"Ryker","m" -"Sophia","f" -"Emma","f" -"Isabella","f" -"Olivia","f" -"Ava","f" -"Emily","f" -"Abigail","f" -"Mia","f" -"Madison","f" -"Elizabeth","f" -"Chloe","f" -"Ella","f" -"Avery","f" -"Charlotte","f" -"Sofia","f" -"Addison","f" -"Natalie","f" -"Amelia","f" -"Grace","f" -"Evelyn","f" -"Lily","f" -"Aubrey","f" -"Victoria","f" -"Harper","f" -"Lillian","f" -"Hannah","f" -"Zoey","f" -"Samantha","f" -"Brooklyn","f" -"Layla","f" -"Zoe","f" -"Leah","f" -"Anna","f" -"Hailey","f" -"Allison","f" -"Gabriella","f" -"Alexis","f" -"Audrey","f" -"Savannah","f" -"Kaylee","f" -"Sarah","f" -"Riley","f" -"Nevaeh","f" -"Aaliyah","f" -"Camila","f" -"Alyssa","f" -"Claire","f" -"Arianna","f" -"Scarlett","f" -"Alexa","f" -"Taylor","f" -"Ashley","f" -"Brianna","f" -"Peyton","f" -"Bella","f" -"Ariana","f" -"Kylie","f" -"Khloe","f" -"Serenity","f" -"Stella","f" -"Lucy","f" -"Maya","f" -"Sophie","f" -"Madelyn","f" -"Genesis","f" -"Julia","f" -"Aria","f" -"Mackenzie","f" -"Autumn","f" -"Katherine","f" -"Caroline","f" -"Ellie","f" -"Kennedy","f" -"Kayla","f" -"Sadie","f" -"Makayla","f" -"Violet","f" -"Lauren","f" -"Faith","f" -"Gianna","f" -"Penelope","f" -"Skylar","f" -"Eva","f" -"Alexandra","f" -"Melanie","f" -"Aubree","f" -"Nora","f" -"Naomi","f" -"Sydney","f" -"Madeline","f" -"Jasmine","f" -"Morgan","f" -"Kimberly","f" -"Annabelle","f" -"Lydia","f" -"Jocelyn","f" -"Piper","f" -"Bailey","f" -"Paisley","f" -"London","f" -"Trinity","f" -"Ruby","f" -"Andrea","f" -"Molly","f" -"Maria","f" -"Mila","f" -"Eleanor","f" -"Brooke","f" -"Reagan","f" -"Isabelle","f" -"Rylee","f" -"Payton","f" -"Natalia","f" -"Mariah","f" -"Mary","f" -"Paige","f" -"Lilly","f" -"Alice","f" -"Nicole","f" -"Destiny","f" -"Mya","f" -"Jade","f" -"Liliana","f" -"Jordyn","f" -"Vivian","f" -"Kaitlyn","f" -"Brielle","f" -"Kendall","f" -"Clara","f" -"Angelina","f" -"Hadley","f" -"Eliana","f" -"Rachel","f" -"Isabel","f" -"Valentina","f" -"Elena","f" -"Gabrielle","f" -"Vanessa","f" -"Cora","f" -"Hazel","f" -"Katelyn","f" -"Lyla","f" -"Aurora","f" -"Valeria","f" -"Jessica","f" -"Quinn","f" -"Sara","f" -"Amy","f" -"Delilah","f" -"Mckenzie","f" -"Brooklynn","f" -"Reese","f" -"Laila","f" -"Aliyah","f" -"Adriana","f" -"Gracie","f" -"Juliana","f" -"Josephine","f" -"Michelle","f" -"Willow","f" -"Rebecca","f" -"Eden","f" -"Makenzie","f" -"Ariel","f" -"Valerie","f" -"Elise","f" -"Kinsley","f" -"Stephanie","f" -"Kylee","f" -"Jennifer","f" -"Izabella","f" -"Jayla","f" -"Catherine","f" -"Ximena","f" -"Melody","f" -"Margaret","f" -"Ivy","f" -"Daisy","f" -"Alaina","f" -"Lila","f" -"Adalyn","f" -"Summer","f" -"Giselle","f" -"Luna","f" -"Julianna","f" -"Alana","f" -"Londyn","f" -"Hayden","f" -"Ryleigh","f" -"Daniela","f" -"Angela","f" -"Isla","f" -"Alivia","f" -"Adalynn","f" -"Emery","f" -"Melissa","f" -"Kate","f" -"Gabriela","f" -"Keira","f" -"Norah","f" diff --git a/extras/dummy_generator/csv/gym_names.csv b/extras/dummy_generator/csv/gym_names.csv deleted file mode 100644 index e1eb70ba3..000000000 --- a/extras/dummy_generator/csv/gym_names.csv +++ /dev/null @@ -1,13 +0,0 @@ -"1st","Academy" -"Body","Barbells" -"Energy","Body" -"Granite","Centre" -"Hardcore","Dumbbells" -"Intense","Factory" -"Iron","Fitness" -"Muscle","Force" -"Peak","Gym" -"Power","Iron" -"Pumping","Pit" -"Results","Team" -"Top","Workout" diff --git a/extras/dummy_generator/csv/last_names_germany.README b/extras/dummy_generator/csv/last_names_germany.README deleted file mode 100644 index e38289631..000000000 --- a/extras/dummy_generator/csv/last_names_germany.README +++ /dev/null @@ -1 +0,0 @@ -https://en.wikipedia.org/wiki/List_of_the_most_common_surnames_in_Germany diff --git a/extras/dummy_generator/csv/last_names_germany.csv b/extras/dummy_generator/csv/last_names_germany.csv deleted file mode 100644 index 9c9e90738..000000000 --- a/extras/dummy_generator/csv/last_names_germany.csv +++ /dev/null @@ -1,100 +0,0 @@ -Müller -Schmidt -Schneider -Fischer -Weber -Meyer -Wagner -Becker -Schulz -Hoffmann -Schäfer -Koch -Bauer -Richter -Klein -Wolf -Schröder -Neumann -Schwarz -Zimmermann -Braun -Krüger -Hofmann -Hartmann -Lange -Schmitt -Werner -Schmitz -Krause -Meier -Lehmann -Schmid -Schulze -Maier -Köhler -Herrmann -König -Walter -Mayer -Huber -Kaiser -Fuchs -Peters -Lang -Scholz -Möller -Weiß -Jung -Hahn -Schubert -Vogel -Friedrich -Keller -Günther -Frank -Berger -Winkler -Roth -Beck -Lorenz -Baumann -Franke -Albrecht -Schuster -Simon -Ludwig -Böhm -Winter -Kraus -Martin -Schumacher -Krämer -Vogt -Stein -Jäger -Otto -Sommer -Groß -Seidel -Heinrich -Brandt -Haas -Schreiber -Graf -Schulte -Dietrich -Ziegler -Kuhn -Kühn -Pohl -Engel -Horn -Busch -Bergmann -Thomas -Voigt -Sauer -Arnold -Wolff -Pfeiffer diff --git a/extras/dummy_generator/csv/last_names_spain.README b/extras/dummy_generator/csv/last_names_spain.README deleted file mode 100644 index ff8c23c0f..000000000 --- a/extras/dummy_generator/csv/last_names_spain.README +++ /dev/null @@ -1 +0,0 @@ -http://www.ine.es/apellidos/formGeneralresult.do?vista=3 diff --git a/extras/dummy_generator/csv/last_names_spain.csv b/extras/dummy_generator/csv/last_names_spain.csv deleted file mode 100644 index 998fec531..000000000 --- a/extras/dummy_generator/csv/last_names_spain.csv +++ /dev/null @@ -1,500 +0,0 @@ -Garcia -Gonzalez -Rodriguez -Fernandez -Lopez -Martinez -Sanchez -Perez -Gomez -Martin -Jimenez -Ruiz -Hernandez -Diaz -Moreno -Alvarez -Muñoz -Romero -Alonso -Gutierrez -Navarro -Torres -Dominguez -Vazquez -Ramos -Gil -Ramirez -Serrano -Blanco -Molina -Suarez -Morales -Ortega -Delgado -Castro -Ortiz -Rubio -Marin -Sanz -Nuñez -Iglesias -Medina -Garrido -Santos -Castillo -Cortes -Lozano -Guerrero -Cano -Prieto -Mendez -Calvo -Cruz -Gallego -Vidal -Leon -Herrera -Marquez -Peña -Cabrera -Flores -Campos -Vega -Fuentes -Diez -Carrasco -Caballero -Nieto -Reyes -Aguilar -Pascual -Herrero -Santana -Lorenzo -Hidalgo -Montero -Gimenez -Ibañez -Ferrer -Duran -Vicente -Santiago -Benitez -Mora -Arias -Vargas -Carmona -Crespo -Roman -Pastor -Soto -Saez -Velasco -Moya -Soler -Esteban -Parra -Bravo -Gallardo -Rojas -Pardo -Merino -Franco -Espinosa -Lara -Izquierdo -Rivas -Rivera -Casado -Silva -Arroyo -Camacho -Redondo -Vera -Rey -Galan -Luque -Otero -Montes -Rios -Sierra -Segura -Carrillo -Marcos -Marti -Soriano -Mendoza -Bernal -Robles -Vila -Valero -Palacios -Exposito -Benito -Macias -Varela -Heredia -Andres -Guerra -Bueno -Pereira -Roldan -Mateo -Villar -Contreras -Miranda -Guillen -Mateos -Escudero -Aguilera -Casas -Menendez -Aparicio -Rivero -Estevez -Beltran -Padilla -Calderon -Rico -Galvez -Gracia -Abad -Conde -Jurado -Salas -Quintana -Plaza -Acosta -Aranda -Blazquez -Bermudez -Roca -Salazar -Santamaria -Guzman -Costa -Miguel -Serra -Villanueva -Manzano -Cuesta -Tomas -Hurtado -Trujillo -Rueda -Avila -Pacheco -Simon -De La Fuente -Pons -Lazaro -Mesa -Sancho -Del Rio -Escobar -Millan -Luna -Alarcon -Blasco -Zamora -Castaño -Salvador -Bermejo -Paredes -Anton -Ballesteros -Valverde -Maldonado -Bautista -Valle -Ponce -Oliva -Rodrigo -Lorente -Cordero -De La Cruz -Juan -Mas -Collado -Montoya -Murillo -Pozo -Cuenca -Cuevas -Martos -Barroso -Marco -Quesada -Barrera -De La Torre -Ros -Ordoñez -Alba -Gimeno -Corral -Cabello -Pulido -Puig -Navas -Rojo -Arenas -Saiz -Soria -Aguado -Domingo -Galindo -Escribano -Vallejo -Mena -Chen -Valencia -Asensio -Ramon -Caro -Lucas -Amador -Polo -Aguirre -Naranjo -Villalba -Mata -Reina -Paz -Linares -Moran -Ojeda -Leal -Burgos -Carretero -Oliver -Bonilla -Sosa -Aragon -Roig -Carrion -Clemente -Villa -Castellano -Cordoba -Rosa -Mohamed -Hernando -Carrera -Andreu -Caceres -Calero -Cardenas -Cobo -Juarez -Velazquez -Correa -Alcaraz -Chacon -Sola -Zapata -Domenech -Saavedra -Riera -Toledo -Llorente -Moral -Vela -Ferreira -Salgado -Carbonell -Villegas -Arribas -Sevilla -Requena -Alfonso -Prado -Ayala -Pelaez -Font -Barrios -Olivares -Carballo -Piñeiro -Luis -Esteve -Solis -Quintero -Pineda -Marques -Salinas -Camara -Pinto -Grau -Bosch -Perea -Cid -Castilla -Cantero -Ballester -Marrero -De La Rosa -Sanchis -Palomo -Arevalo -Da Silva -Rincon -Baena -Casanova -Nicolas -Miralles -Sala -Lago -Porras -Cardona -Belmonte -Herranz -Palma -Recio -Pino -Barba -Arranz -Muñiz -Ventura -Singh -Cobos -Coll -Cabezas -Barreiro -Cuadrado -Angulo -Cervera -Madrid -Velez -Vaquero -Puente -Navarrete -Ochoa -Ocaña -Becerra -Pujol -Tapia -Granados -Bello -Alfaro -Peralta -Vergara -Valls -Gamez -Latorre -Losada -Mejias -Castellanos -Alcantara -Rovira -Corrales -Campo -Sastre -Egea -Barragan -Falcon -Estrada -Fraile -Godoy -Cebrian -Catalan -Cerezo -Huertas -Segovia -Ruano -Borrego -Barbero -Morcillo -Valenzuela -Aznar -Duarte -Guijarro -Sole -Ferreiro -Arjona -Pavon -Del Valle -Fajardo -Toro -Carvajal -Peinado -Ariza -Canovas -Romera -Alcaide -Sainz -Melero -Morillo -Jorge -Gordillo -Agudo -Llamas -Tejero -Valdes -Lobato -Barrio -Royo -Portillo -Galvan -Real -Rosales -Espejo -Gonzalo -Tirado -Davila -Criado -Duque -Dorado -Chamorro -Freire -Grande -Frias -Moyano -Zambrano -Calleja -Pizarro -Solano -Figueroa -Rosado -De Miguel -Huerta -Olmedo -Pla -Mosquera -Lin -Alcazar -Dos Santos -Pena -Tena -Alcalde -Aviles -Ferrero -Alcala -Saenz -Paniagua -Del Pozo -Vives -Amaya -Wang -Pazos -Llorens -Heras -Noguera -Lafuente -Garzon -Rebollo -Bonet -Chaves -Araujo -Serna -Salcedo -Salguero -Bartolome -Paez -Brito -Mateu -Poveda -Arce -Olmo -Valles -Piñero diff --git a/extras/dummy_generator/csv/last_names_ukraine.README b/extras/dummy_generator/csv/last_names_ukraine.README deleted file mode 100644 index 5708a7fa2..000000000 --- a/extras/dummy_generator/csv/last_names_ukraine.README +++ /dev/null @@ -1 +0,0 @@ -https://en.wikipedia.org/wiki/Ukrainian_surnames diff --git a/extras/dummy_generator/csv/last_names_ukraine.csv b/extras/dummy_generator/csv/last_names_ukraine.csv deleted file mode 100644 index 9576b6211..000000000 --- a/extras/dummy_generator/csv/last_names_ukraine.csv +++ /dev/null @@ -1,101 +0,0 @@ -Melnyk -Shevchenko -Boiko -Kovalenko -Bondarenko -Tkachenko -Kovalchuk -Kravchenko -Oliynyk -Shevchuk -Koval -Polishchuk -Bondar -Tkachuk -Moroz -Marchenko -Lysenko -Rudenko -Savchenko -Petrenko -Kravchuk -Klymenko -Pavlenko -Savchuk -Kuzmenko -Shvets -Havryliuk -Ivanova -Kharchenko -Ponomarenko -Melnychuk -Vasylenko -Mazur -Khomenko -Levchenko -Karpenko -Kushnir -Sydorenko -Romaniuk -Martyniuk -Kolomiyets -Pavliuk -Tkach -Lytvynenko -Panchenko -Kostenko -Kulyk -Kravets -Yurchenko -Bilous -Dyachenko -Semeniuk -Kostiuk -Ivanov -Humeniuk -Vovk -Honcharenko -Yakovenko -Romanenko -Prykhodko -Kozak -Kovtun -Nazarenko -Pylypenko -Honchar -Ishchenko -Fedorenko -Honcharuk -Nesterenko -Kolisnyk -Demchenko -Tereshchenko -Tyshchenko -Babenko -Popovych -Tarasenko -Makarenko -Marchuk -Moskalenko -Zinchenko -Yatsenko -Zhuk -Lytvyn -Herasymenko -Kyrychenko -Kolesnyk -Mishchenko -Tymoshenko -Popova -Fop -Palamarchuk -Vlasenko -Shapoval -Bondarchuk -Lutsenko -Kondratiuk -Chorna -Shcherbyna -Antoniuk -Soroka -Suprun diff --git a/extras/dummy_generator/csv/last_names_usa.README b/extras/dummy_generator/csv/last_names_usa.README deleted file mode 100644 index 004e6d615..000000000 --- a/extras/dummy_generator/csv/last_names_usa.README +++ /dev/null @@ -1 +0,0 @@ -https://www.census.gov/topics/population/genealogy/data/2010_surnames.html diff --git a/extras/dummy_generator/csv/last_names_usa.csv b/extras/dummy_generator/csv/last_names_usa.csv deleted file mode 100644 index 1edf4e77b..000000000 --- a/extras/dummy_generator/csv/last_names_usa.csv +++ /dev/null @@ -1,500 +0,0 @@ -Smith -Johnson -Williams -Brown -Jones -Garcia -Miller -Davis -Rodriguez -Martinez -Hernandez -Lopez -Gonzalez -Wilson -Anderson -Thomas -Taylor -Moore -Jackson -Martin -Lee -Perez -Thompson -White -Harris -Sanchez -Clark -Ramirez -Lewis -Robinson -Walker -Young -Allen -King -Wright -Scott -Torres -Nguyen -Hill -Flores -Green -Adams -Nelson -Baker -Hall -Rivera -Campbell -Mitchell -Carter -Roberts -Gomez -Phillips -Evans -Turner -Diaz -Parker -Cruz -Edwards -Collins -Reyes -Stewart -Morris -Morales -Murphy -Cook -Rogers -Gutierrez -Ortiz -Morgan -Cooper -Peterson -Bailey -Reed -Kelly -Howard -Ramos -Kim -Cox -Ward -Richardson -Watson -Brooks -Chavez -Wood -James -Bennett -Gray -Mendoza -Ruiz -Hughes -Price -Alvarez -Castillo -Sanders -Patel -Myers -Long -Ross -Foster -Jimenez -Powell -Jenkins -Perry -Russell -Sullivan -Bell -Coleman -Butler -Henderson -Barnes -Gonzales -Fisher -Vasquez -Simmons -Romero -Jordan -Patterson -Alexander -Hamilton -Graham -Reynolds -Griffin -Wallace -Moreno -West -Cole -Hayes -Bryant -Herrera -Gibson -Ellis -Tran -Medina -Aguilar -Stevens -Murray -Ford -Castro -Marshall -Owens -Harrison -Fernandez -Mcdonald -Woods -Washington -Kennedy -Wells -Vargas -Henry -Chen -Freeman -Webb -Tucker -Guzman -Burns -Crawford -Olson -Simpson -Porter -Hunter -Gordon -Mendez -Silva -Shaw -Snyder -Mason -Dixon -Munoz -Hunt -Hicks -Holmes -Palmer -Wagner -Black -Robertson -Boyd -Rose -Stone -Salazar -Fox -Warren -Mills -Meyer -Rice -Schmidt -Garza -Daniels -Ferguson -Nichols -Stephens -Soto -Weaver -Ryan -Gardner -Payne -Grant -Dunn -Kelley -Spencer -Hawkins -Arnold -Pierce -Vazquez -Hansen -Peters -Santos -Hart -Bradley -Knight -Elliott -Cunningham -Duncan -Armstrong -Hudson -Carroll -Lane -Riley -Andrews -Alvarado -Ray -Delgado -Berry -Perkins -Hoffman -Johnston -Matthews -Pena -Richards -Contreras -Willis -Carpenter -Lawrence -Sandoval -Guerrero -George -Chapman -Rios -Estrada -Ortega -Watkins -Greene -Nunez -Wheeler -Valdez -Harper -Burke -Larson -Santiago -Maldonado -Morrison -Franklin -Carlson -Austin -Dominguez -Carr -Lawson -Jacobs -Obrien -Lynch -Singh -Vega -Bishop -Montgomery -Oliver -Jensen -Harvey -Williamson -Gilbert -Dean -Sims -Espinoza -Howell -Li -Wong -Reid -Hanson -Le -Mccoy -Garrett -Burton -Fuller -Wang -Weber -Welch -Rojas -Lucas -Marquez -Fields -Park -Yang -Little -Banks -Padilla -Day -Walsh -Bowman -Schultz -Luna -Fowler -Mejia -Davidson -Acosta -Brewer -May -Holland -Juarez -Newman -Pearson -Curtis -Cortez -Douglas -Schneider -Joseph -Barrett -Navarro -Figueroa -Keller -Avila -Wade -Molina -Stanley -Hopkins -Campos -Barnett -Bates -Chambers -Caldwell -Beck -Lambert -Miranda -Byrd -Craig -Ayala -Lowe -Frazier -Powers -Neal -Leonard -Gregory -Carrillo -Sutton -Fleming -Rhodes -Shelton -Schwartz -Norris -Jennings -Watts -Duran -Walters -Cohen -Mcdaniel -Moran -Parks -Steele -Vaughn -Becker -Holt -Deleon -Barker -Terry -Hale -Leon -Hail -Benson -Haynes -Horton -Miles -Lyons -Pham -Graves -Bush -Thornton -Wolfe -Warner -Cabrera -Mckinney -Mann -Zimmerman -Dawson -Lara -Fletcher -Page -Mccarthy -Love -Robles -Cervantes -Solis -Erickson -Reeves -Chang -Klein -Salinas -Fuentes -Baldwin -Daniel -Simon -Velasquez -Hardy -Higgins -Aguirre -Lin -Cummings -Chandler -Sharp -Barber -Bowen -Ochoa -Dennis -Robbins -Liu -Ramsey -Francis -Griffith -Paul -Blair -Oconnor -Cardenas -Pacheco -Cross -Calderon -Quinn -Moss -Swanson -Chan -Rivas -Khan -Rodgers -Serrano -Fitzgerald -Rosales -Stevenson -Christensen -Manning -Gill -Curry -Mclaughlin -Harmon -Mcgee -Gross -Doyle -Garner -Newton -Burgess -Reese -Walton -Blake -Trujillo -Adkins -Brady -Goodman -Roman -Webster -Goodwin -Fischer -Huang -Potter -Delacruz -Montoya -Todd -Wu -Hines -Mullins -Castaneda -Malone -Cannon -Tate -Mack -Sherman -Hubbard -Hodges -Zhang -Guerra -Wolf -Valencia -Saunders -Franco -Rowe -Gallagher -Farmer -Hammond -Hampton -Townsend -Ingram -Wise -Gallegos -Clarke -Barton -Schroeder -Maxwell -Waters -Logan -Camacho -Strickland -Norman -Person -Colon -Parsons -Frank -Harrington diff --git a/extras/dummy_generator/generator.py b/extras/dummy_generator/generator.py deleted file mode 100644 index 3d9131b46..000000000 --- a/extras/dummy_generator/generator.py +++ /dev/null @@ -1,247 +0,0 @@ -# This file is part of wger Workout Manager. -# -# wger Workout Manager is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# wger Workout Manager is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License - -# Standard Library -import argparse -import datetime -import os -import random -import sys -import uuid - -# Django -import django -from django.db import IntegrityError -from django.utils.text import slugify - -import csv - -sys.path.insert(0, os.path.join('..', '..')) -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings') -django.setup() - -# Django -# Must happen after calling django.setup() -from django.contrib.auth.models import User - -# wger -from wger.gym.models import ( - Gym, - GymUserConfig, -) -from wger.weight.models import WeightEntry - -parser = argparse.ArgumentParser(description='Data generator. Please consult the documentation') -subparsers = parser.add_subparsers(help='The kind of entries you want to generate') - -# User options -user_parser = subparsers.add_parser('users', help='Create users') -user_parser.add_argument('number_users', action='store', help='Number of users to create', type=int) -user_parser.add_argument( - '--add-to-gym', - action='store', - default='auto', - help='Gym to assign the users to. Allowed values: auto, none, . ' - 'Default: auto' -) -user_parser.add_argument( - '--country', - action='store', - default='germany', - help='What country the generated users should belong to. Default: Germany', - choices=['germany', 'ukraine', 'spain', 'usa'] -) - - -# Gym options -gym_parser = subparsers.add_parser('gyms', help='Create gyms') -gym_parser.add_argument( - 'number_gyms', - action='store', - help='Number of gyms to create', - type=int, -) - - -# Weight options -weight_parser = subparsers.add_parser('weight', help='Create weight entries') -weight_parser.add_argument( - 'number_weight', - action='store', - help='Number of weight entries to create per user', - type=int, -) -weight_parser.add_argument( - '--add-to-user', - action='store', - help='Add to the specified user-ID, not all existing users', -) -weight_parser.add_argument( - '--base-weight', - action='store', - help='Default weight for the entry generation, default = 80', - type=int, - default=80, -) - - -args = parser.parse_args() -# print(args) - -# -# User generator -# -if hasattr(args, 'number_users'): - print("** Generating {0} users".format(args.number_users)) - - try: - gym_list = [int(args.add_to_gym)] - except ValueError: - if args.add_to_gym == 'none': - gym_list = [] - else: - gym_list = [i['id'] for i in Gym.objects.all().values()] - - first_names = [] - last_names = [] - - with open(os.path.join('csv', 'first_names_{0}.csv'.format(args.country))) as name_file: - name_reader = csv.reader(name_file) - for row in name_reader: - first_names.append(row) - - with open(os.path.join('csv', 'last_names_{0}.csv'.format(args.country))) as name_file: - name_reader = csv.reader(name_file) - for row in name_reader: - last_names.append(row[0]) - - for i in range(1, args.number_users): - uid = uuid.uuid4() - name_data = random.choice(first_names) - name = name_data[0] - gender = name_data[1] - surname = random.choice(last_names) - - username = slugify('{0}, {1} {2}'.format(name, surname[0], str(uid).split('-')[1])) - email = '{0}@example.com'.format(username) - password = username - - try: - user = User.objects.create_user(username, email, password) - user.first_name = name - user.last_name = surname - user.save() - - # Even with the uuid part, usernames are not guaranteed to be unique, - # in this case, just ignore and continue - except IntegrityError as e: - continue - - if gym_list: - gym_id = random.choice(gym_list) - user.userprofile.gym_id = gym_id - user.userprofile.gender = '1' if gender == 'm' else 2 - user.userprofile.age = random.randint(18, 45) - user.userprofile.save() - - config = GymUserConfig() - config.gym_id = gym_id - config.user = user - config.save() - - print(' - {0}, {1}'.format(name, surname)) - -# -# Gym generator -# -if hasattr(args, 'number_gyms'): - print("** Generating {0} gyms".format(args.number_gyms)) - - gym_list = [] - - names_part1 = [] - names_part2 = [] - - with open(os.path.join('csv', 'gym_names.csv')) as name_file: - name_reader = csv.reader(name_file) - for row in name_reader: - if row[0]: - names_part1.append(row[0]) - if row[1]: - names_part2.append(row[1]) - - for i in range(1, args.number_gyms): - found = False - while not found: - part1 = random.choice(names_part1) - part2 = random.choice(names_part2) - - # We don't want names like "Iron Iron" - if part1 != part2: - found = True - - name = "{0} {1}".format(part1, part2) - gym = Gym() - gym.name = name - gym_list.append(gym) - - print(' - {0}'.format(gym.name)) - - # Bulk-create all the gyms - Gym.objects.bulk_create(gym_list) - - -# -# Weight entry generator -# -if hasattr(args, 'number_weight'): - print("** Generating {0} weight entries per user".format(args.number_weight)) - - if args.add_to_user: - userlist = [User.objects.get(pk=args.add_to_user)] - else: - userlist = User.objects.all() - - for user in userlist: - new_entries = [] - print(' - generating for {0}'.format(user.username)) - - existing_entries = [i.date for i in WeightEntry.objects.filter(user=user)] - - # Weight entries - for i in range(1, args.number_weight): - - creation_date = datetime.date.today() - datetime.timedelta(days=i) - if creation_date not in existing_entries: - entry = WeightEntry( - user=user, - weight=args.base_weight + 0.5 * i + random.randint(1, 3), - date=creation_date - ) - new_entries.append(entry) - - # Bulk-create the weight entries - WeightEntry.objects.bulk_create(new_entries) - -# -# Nutrition Generator -# -if hasattr(args, 'number_nutrition_plans'): - print("*** Please use 'python manage.py dummy-generator-nutrition' instead") - -# -# Nutrition diary Generator -# -if hasattr(args, 'number_nutrition_logs'): - print("*** Please use 'python manage.py dummy-generator-nutrition' instead") diff --git a/requirements_dev.txt b/requirements_dev.txt index c0fefb994..aa7286fd8 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -11,6 +11,9 @@ wheel==0.41.3 # for ingredient import script from OFF pymongo==4.6.0 +# for running the dummy entry generators +faker==20.1.0 + # Development packages coverage==7.3.2 django-debug-toolbar==4.2.0 diff --git a/wger/core/management/commands/dummy-generator-users.py b/wger/core/management/commands/dummy-generator-users.py new file mode 100644 index 000000000..db0158041 --- /dev/null +++ b/wger/core/management/commands/dummy-generator-users.py @@ -0,0 +1,106 @@ +# This file is part of wger Workout Manager. +# +# wger Workout Manager is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# wger Workout Manager is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License + +# Standard Library +import logging +import random +import uuid + +# Django +from django.contrib.auth.models import User +from django.core.management.base import BaseCommand +from django.db import IntegrityError +from django.utils.text import slugify +from faker import Faker + +# wger +from wger.gym.models import Gym, GymUserConfig + +logger = logging.getLogger(__name__) + + +class Command(BaseCommand): + """ + Dummy generator for users + """ + + help = 'Dummy generator for users' + + def add_arguments(self, parser): + + parser.add_argument( + '--nr-entries', + action='store', + default=20, + dest='number_users', + type=int, + help='The number of users to generate (default: 20)' + ) + + parser.add_argument( + '--add-to-gym', + action='store', + default='auto', + dest='add_to_gym', + type=str, + help='Gym to assign the users to. Allowed values: auto, none, . Default: auto' + ) + + def handle(self, **options): + + faker = Faker() + + self.stdout.write(f"** Generating {options['number_users']} users") + + match options['add_to_gym']: + case 'auto': + gym_list = [gym.pk for gym in Gym.objects.all()] + case 'none': + gym_list = [] + case _: + gym_list = [options['add_to_gym']] + + for i in range(1, options['number_users']): + uid = uuid.uuid4() + first_name = faker.first_name() + last_name = faker.last_name() + + username = slugify(f"{first_name}, {last_name} - {str(uid).split('-')[1]}") + email = '{0}@example.com'.format(username) + password = username + + try: + user = User.objects.create_user(username, email, password) + user.first_name = first_name + user.last_name = last_name + user.save() + + # Even with the uuid part, usernames are not guaranteed to be unique, + # in this case, just ignore and continue + except IntegrityError as e: + continue + + if gym_list: + gym_id = random.choice(gym_list) + user.userprofile.gym_id = gym_id + user.userprofile.gender = random.choice(['1', '2']) + user.userprofile.age = random.randint(18, 45) + user.userprofile.save() + + config = GymUserConfig() + config.gym_id = gym_id + config.user = user + config.save() + + print(f' - {first_name}, {last_name}') diff --git a/wger/core/management/commands/dummy-generator.py b/wger/core/management/commands/dummy-generator.py new file mode 100644 index 000000000..6cf7d8eb3 --- /dev/null +++ b/wger/core/management/commands/dummy-generator.py @@ -0,0 +1,52 @@ +# This file is part of wger Workout Manager. +# +# wger Workout Manager is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# wger Workout Manager is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License + +# Standard Library +import logging +import random +import uuid + +# Django +from django.contrib.auth.models import User +from django.core.management import call_command +from django.core.management.base import BaseCommand +from django.db import IntegrityError +from django.utils.text import slugify +from faker import Faker + +# wger +from wger.gym.models import Gym, GymUserConfig + +logger = logging.getLogger(__name__) + + +class Command(BaseCommand): + """ + Dummy generator + """ + + help = ( + 'Dummy data generator. This script will call all the individual generator scripts with ' + 'some default values. ' + ) + + def handle(self, **options): + call_command('dummy-generator-users') + call_command('dummy-generator-gyms') + call_command('dummy-generator-body-weight', '--nr-entries', 100) + call_command('dummy-generator-nutrition') + call_command('dummy-generator-measurement-categories') + call_command('dummy-generator-measurements') + call_command('dummy-generator-workout-plans') + call_command('dummy-generator-workout-diary') diff --git a/wger/gym/management/commands/dummy-generator-gyms.py b/wger/gym/management/commands/dummy-generator-gyms.py new file mode 100644 index 000000000..a417e0e63 --- /dev/null +++ b/wger/gym/management/commands/dummy-generator-gyms.py @@ -0,0 +1,119 @@ +# This file is part of wger Workout Manager. +# +# wger Workout Manager is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# wger Workout Manager is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License + +# Standard Library +import datetime +import logging +import random + +# Django +from django.contrib.auth.models import User +from django.core.management.base import BaseCommand +from faker import Faker +from faker.providers import DynamicProvider + +from wger.gym.models import Gym +# wger +from wger.weight.models import WeightEntry + +logger = logging.getLogger(__name__) + + +class Command(BaseCommand): + """ + Dummy generator for gyms + """ + + help = 'Dummy generator for gyms' + + names_first = [ + "1st", + "Body", + "Energy", + "Granite", + "Hardcore", + "Intense", + "Iron", + "Muscle", + "Peak", + "Power", + "Pumping", + "Results", + "Top", + + ] + names_second = [ + "Academy", + "Barbells", + "Body", + "Centre", + "Dumbbells", + "Factory", + "Fitness", + "Force", + "Gym", + "Iron", + "Pit", + "Team", + "Workout", + ] + + def add_arguments(self, parser): + + parser.add_argument( + '--nr-entries', + action='store', + default=10, + dest='number_gyms', + type=int, + help='The number of gyms to generate (default: 10)' + ) + + def handle(self, **options): + gym_names_1 = DynamicProvider( + provider_name="gym_names", + elements=self.names_first, + ) + + gym_names_2 = DynamicProvider( + provider_name="gym_names2", + elements=self.names_second + ) + + faker = Faker() + faker.add_provider(gym_names_1) + faker.add_provider(gym_names_2) + + self.stdout.write(f"** Generating {options['number_gyms']} gyms") + + gym_list = [] + for i in range(1, options['number_gyms']): + found = False + while not found: + part1 = faker.gym_names() + part2 = faker.gym_names2() + + # We don't want names like "Iron Iron" + if part1 != part2: + found = True + + name = f"{part1} {part2}" + gym = Gym() + gym.name = name + gym_list.append(gym) + + self.stdout.write(' - {0}'.format(gym.name)) + + # Bulk-create the entries + Gym.objects.bulk_create(gym_list) diff --git a/wger/measurements/management/commands/dummy-generator-measurement-categories.py b/wger/measurements/management/commands/dummy-generator-measurement-categories.py index 73205ca9d..d661c0a27 100644 --- a/wger/measurements/management/commands/dummy-generator-measurement-categories.py +++ b/wger/measurements/management/commands/dummy-generator-measurement-categories.py @@ -24,7 +24,6 @@ from django.core.management.base import BaseCommand # wger from wger.measurements.models import Category - logger = logging.getLogger(__name__) diff --git a/wger/nutrition/management/commands/dummy-generator-nutrition.py b/wger/nutrition/management/commands/dummy-generator-nutrition.py index 2dd4249e6..899f25062 100644 --- a/wger/nutrition/management/commands/dummy-generator-nutrition.py +++ b/wger/nutrition/management/commands/dummy-generator-nutrition.py @@ -36,7 +36,6 @@ from wger.nutrition.models import ( NutritionPlan, ) - logger = logging.getLogger(__name__) @@ -60,10 +59,10 @@ class Command(BaseCommand): parser.add_argument( '--diary-entries', action='store', - default=30, + default=20, dest='nr_diary_entries', type=int, - help='The number of nutrition logs to create per day (default: 30)' + help='The number of nutrition logs to create per day (default: 20)' ) parser.add_argument( '--diary-dates', diff --git a/wger/weight/management/commands/dummy-generator-body-weight.py b/wger/weight/management/commands/dummy-generator-body-weight.py new file mode 100644 index 000000000..0a96ad3bf --- /dev/null +++ b/wger/weight/management/commands/dummy-generator-body-weight.py @@ -0,0 +1,88 @@ +# This file is part of wger Workout Manager. +# +# wger Workout Manager is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# wger Workout Manager is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License + +# Standard Library +import datetime +import logging +import random + +# Django +from django.contrib.auth.models import User +from django.core.management.base import BaseCommand +from faker.providers import DynamicProvider + +# wger +from wger.weight.models import WeightEntry + +from faker import Faker + +logger = logging.getLogger(__name__) + + +class Command(BaseCommand): + """ + Dummy generator for weight entries + """ + + help = 'Dummy generator for weight entries' + + def add_arguments(self, parser): + + parser.add_argument( + '--nr-entries', + action='store', + default=40, + dest='nr_entries', + type=int, + help='The number of measurement entries per category (default: 40)' + ) + parser.add_argument( + '--user-id', + action='store', + dest='user_id', + type=int, + help='Add only to the specified user-ID (default: all users)', + ) + + def handle(self, **options): + self.stdout.write(f"** Generating {options['nr_entries']} weight entries per user") + + base_weight = 80 + + users = [User.objects.get(pk=options['user_id'])] \ + if options['user_id'] \ + else User.objects.all() + + print(f"** Generating {options['nr_entries']} weight entries per user") + + for user in users: + new_entries = [] + self.stdout.write(f' - generating for {user.username}') + + existing_entries = [i.date for i in WeightEntry.objects.filter(user=user)] + + # Weight entries + for i in range(1, options['nr_entries']): + + creation_date = datetime.date.today() - datetime.timedelta(days=i) + if creation_date not in existing_entries: + entry = WeightEntry( + user=user, + weight=base_weight + 0.5 * i + random.randint(1, 3), + date=creation_date + ) + new_entries.append(entry) + + # Bulk-create the weight entries + WeightEntry.objects.bulk_create(new_entries)