From ad019c078d7d0ca4712d74a8bd87f165b5985f5d Mon Sep 17 00:00:00 2001 From: ismailsosic Date: Sat, 16 Jul 2022 09:45:58 +0200 Subject: [PATCH] add saver, new server, etc --- kivi_cars/cars/migrations/0001_initial.py | 44 ++-- kivi_cars/cars/models.py | 43 ++-- kivi_cars/cars/saver.py | 207 +++++++++--------- kivi_cars/cars/urls.py | 7 - kivi_cars/kivi_cars/settings.py | 1 + kivi_cars/kivi_cars/urls.py | 2 +- .../searches}/__init__.py | 0 .../Generator => kivi_cars/searches}/admin.py | 0 .../Generator => kivi_cars/searches}/apps.py | 4 +- kivi_cars/searches/models.py | 91 ++++++++ kivi_cars/searches/serializers.py | 119 ++++++++++ .../Generator => kivi_cars/searches}/tests.py | 0 kivi_cars/searches/views.py | 3 + .../Generator/migrations/__init__.py | 0 kivi_listener/Generator/models.py | 3 - kivi_listener/Generator/urls.py | 6 - kivi_listener/Generator/views.py | 12 - kivi_listener/kivi_listener/settings.py | 1 - kivi_listener/kivi_listener/urls.py | 2 +- .../searches/migrations/0001_initial.py | 105 +++++++++ kivi_listener/searches/models.py | 169 +++++++------- kivi_listener/searches/serializers.py | 119 ++++++++++ kivi_listener/searches/urls.py | 7 + kivi_listener/searches/views.py | 43 +++- 24 files changed, 721 insertions(+), 267 deletions(-) rename {kivi_listener/Generator => kivi_cars/searches}/__init__.py (100%) rename {kivi_listener/Generator => kivi_cars/searches}/admin.py (100%) rename {kivi_listener/Generator => kivi_cars/searches}/apps.py (62%) create mode 100644 kivi_cars/searches/models.py create mode 100644 kivi_cars/searches/serializers.py rename {kivi_listener/Generator => kivi_cars/searches}/tests.py (100%) create mode 100644 kivi_cars/searches/views.py delete mode 100644 kivi_listener/Generator/migrations/__init__.py delete mode 100644 kivi_listener/Generator/models.py delete mode 100644 kivi_listener/Generator/urls.py delete mode 100644 kivi_listener/Generator/views.py create mode 100644 kivi_listener/searches/migrations/0001_initial.py diff --git a/kivi_cars/cars/migrations/0001_initial.py b/kivi_cars/cars/migrations/0001_initial.py index 2fd4929..295a3e9 100644 --- a/kivi_cars/cars/migrations/0001_initial.py +++ b/kivi_cars/cars/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 4.0.4 on 2022-05-28 05:43 +# Generated by Django 4.0.4 on 2022-07-15 05:10 from django.db import migrations, models @@ -21,55 +21,55 @@ class Migration(migrations.Migration): ('Stanje', models.CharField(max_length=30, null=True)), ('Lokacija_kanton', models.CharField(max_length=50, null=True)), ('Lokacija_grad', models.CharField(max_length=50, null=True)), - ('Proizvođač', models.CharField(max_length=30, null=True)), + ('Brend', models.CharField(max_length=30, null=True)), ('Model', models.CharField(max_length=30, null=True)), - ('Godište', models.CharField(max_length=30, null=True)), - ('Kilometraža', models.CharField(max_length=30, null=True)), + ('Godiste', models.CharField(max_length=30, null=True)), + ('Kilometraza', models.CharField(max_length=30, null=True)), ('Kilovata_KW', models.CharField(max_length=30, null=True)), - ('Kubikaža', models.CharField(max_length=30, null=True)), + ('Kubikaza', models.CharField(max_length=30, null=True)), ('Gorivo', models.CharField(max_length=30, null=True)), ('Broj_vrata', models.CharField(max_length=30, null=True)), ('Konjskih_snaga', models.CharField(max_length=30, null=True)), ('Metalik', models.CharField(max_length=30, null=True)), - ('Masa_Težina_kg', models.CharField(max_length=30, null=True)), + ('Masa_Tezina_kg', models.CharField(max_length=30, null=True)), ('Tip', models.CharField(max_length=30, null=True)), ('Pogon', models.CharField(max_length=30, null=True)), ('Emisioni_standard', models.CharField(max_length=30, null=True)), - ('Veličina_felgi', models.CharField(max_length=30, null=True)), + ('Velicina_felgi', models.CharField(max_length=30, null=True)), ('Transmisija', models.CharField(max_length=30, null=True)), ('Broj_stepeni_prijenosa', models.CharField(max_length=30, null=True)), ('Boja', models.CharField(max_length=30, null=True)), - ('Muzika_ozvučenje', models.CharField(max_length=30, null=True)), + ('Muzika_ozvucenje', models.CharField(max_length=30, null=True)), ('Parking_senzori', models.CharField(max_length=30, null=True)), ('Parking_kamera', models.CharField(max_length=30, null=True)), ('Registrovan_do', models.CharField(max_length=30, null=True)), ('Godina_prve_registracije', models.CharField(max_length=30, null=True)), ('Broj_prethodnih_vlasnika', models.CharField(max_length=30, null=True)), ('Posjeduje_gume', models.CharField(max_length=30, null=True)), - ('Višezonska_klima', models.CharField(max_length=30, null=True)), + ('Visezonska_klima', models.CharField(max_length=30, null=True)), ('Rolo_zavjese', models.CharField(max_length=30, null=True)), ('Svjetla', models.CharField(max_length=30, null=True)), - ('Zaštita_Blokada', models.CharField(max_length=30, null=True)), - ('Sjedećih_mjesta', models.CharField(max_length=30, null=True)), + ('Zastita_Blokada', models.CharField(max_length=30, null=True)), + ('Sjedecih_mjesta', models.CharField(max_length=30, null=True)), ('Turbo', models.CharField(max_length=30, null=True)), ('DPF_FAP_filter', models.CharField(max_length=30, null=True)), ('Strane_tablice', models.CharField(max_length=30, null=True)), ('Ocarinjen', models.CharField(max_length=30, null=True)), - ('Prilagođen_invalidima', models.CharField(max_length=30, null=True)), + ('Prilagodjen_invalidima', models.CharField(max_length=30, null=True)), ('Servo_volan', models.CharField(max_length=30, null=True)), ('Tempomat', models.CharField(max_length=30, null=True)), ('ESP', models.CharField(max_length=30, null=True)), - ('El_podizači_stakala', models.CharField(max_length=30, null=True)), + ('El_podizaci_stakala', models.CharField(max_length=30, null=True)), ('Senzor_mrtvog_ugla', models.CharField(max_length=30, null=True)), ('Digitalna_klima', models.CharField(max_length=30, null=True)), ('Touch_screen_ekran', models.CharField(max_length=30, null=True)), ('Panorama_krov', models.CharField(max_length=30, null=True)), - ('Koža', models.CharField(max_length=30, null=True)), - ('Masaža_sjedišta', models.CharField(max_length=30, null=True)), - ('El_pomjeranje_sjedišta', models.CharField(max_length=30, null=True)), + ('Koza', models.CharField(max_length=30, null=True)), + ('Masaza_sjedista', models.CharField(max_length=30, null=True)), + ('El_pomjeranje_sjedista', models.CharField(max_length=30, null=True)), ('Senzor_auto_svjetla', models.CharField(max_length=30, null=True)), ('Alarm', models.CharField(max_length=30, null=True)), - ('Daljinsko_otključavanje', models.CharField(max_length=30, null=True)), + ('Daljinsko_otkljucavanje', models.CharField(max_length=30, null=True)), ('Auto_kuka', models.CharField(max_length=30, null=True)), ('Udaren', models.CharField(max_length=30, null=True)), ('Start_Stop_sistem', models.CharField(max_length=30, null=True)), @@ -80,14 +80,14 @@ class Migration(migrations.Migration): ('Komande_na_volanu', models.CharField(max_length=30, null=True)), ('ABS', models.CharField(max_length=30, null=True)), ('Airbag', models.CharField(max_length=30, null=True)), - ('Električni_retrovizori', models.CharField(max_length=30, null=True)), + ('Elektricni_retrovizori', models.CharField(max_length=30, null=True)), ('Klima', models.CharField(max_length=30, null=True)), ('Navigacija', models.CharField(max_length=30, null=True)), - ('Šiber', models.CharField(max_length=30, null=True)), + ('Siber', models.CharField(max_length=30, null=True)), ('Naslon_za_ruku', models.CharField(max_length=30, null=True)), - ('Hlađenje_sjedišta', models.CharField(max_length=30, null=True)), - ('Grijanje_sjedišta', models.CharField(max_length=30, null=True)), - ('Memorija_sjedišta', models.CharField(max_length=30, null=True)), + ('Hladjenje_sjedista', models.CharField(max_length=30, null=True)), + ('Grijanje_sjedista', models.CharField(max_length=30, null=True)), + ('Memorija_sjedista', models.CharField(max_length=30, null=True)), ('Alu_felge', models.CharField(max_length=30, null=True)), ('Centralna_brava', models.CharField(max_length=30, null=True)), ('Oldtimer', models.CharField(max_length=30, null=True)), diff --git a/kivi_cars/cars/models.py b/kivi_cars/cars/models.py index 5df52ed..d0c3442 100644 --- a/kivi_cars/cars/models.py +++ b/kivi_cars/cars/models.py @@ -9,55 +9,55 @@ class Car(models.Model): Stanje = models.CharField(max_length=30, null=True) Lokacija_kanton = models.CharField(max_length=50, null=True) Lokacija_grad = models.CharField(max_length=50, null=True) - Proizvođač = models.CharField(max_length=30, null=True) + Brend = models.CharField(max_length=30, null=True) Model = models.CharField(max_length=30, null=True) - Godište = models.CharField(max_length=30, null=True) - Kilometraža = models.CharField(max_length=30, null=True) + Godiste = models.CharField(max_length=30, null=True) + Kilometraza = models.CharField(max_length=30, null=True) Kilovata_KW = models.CharField(max_length=30, null=True) - Kubikaža = models.CharField(max_length=30, null=True) + Kubikaza = models.CharField(max_length=30, null=True) Gorivo = models.CharField(max_length=30, null=True) Broj_vrata = models.CharField(max_length=30, null=True) Konjskih_snaga = models.CharField(max_length=30, null=True) Metalik = models.CharField(max_length=30, null=True) - Masa_Težina_kg = models.CharField(max_length=30, null=True) + Masa_Tezina_kg = models.CharField(max_length=30, null=True) Tip = models.CharField(max_length=30, null=True) Pogon = models.CharField(max_length=30, null=True) Emisioni_standard = models.CharField(max_length=30, null=True) - Veličina_felgi = models.CharField(max_length=30, null=True) + Velicina_felgi = models.CharField(max_length=30, null=True) Transmisija = models.CharField(max_length=30, null=True) Broj_stepeni_prijenosa = models.CharField(max_length=30, null=True) Boja = models.CharField(max_length=30, null=True) - Muzika_ozvučenje = models.CharField(max_length=30, null=True) + Muzika_ozvucenje = models.CharField(max_length=30, null=True) Parking_senzori= models.CharField(max_length=30, null=True) Parking_kamera = models.CharField(max_length=30, null=True) Registrovan_do = models.CharField(max_length=30, null=True) Godina_prve_registracije = models.CharField(max_length=30, null=True) Broj_prethodnih_vlasnika = models.CharField(max_length=30, null=True) Posjeduje_gume = models.CharField(max_length=30, null=True) - Višezonska_klima = models.CharField(max_length=30, null=True) + Visezonska_klima = models.CharField(max_length=30, null=True) Rolo_zavjese = models.CharField(max_length=30, null=True) Svjetla = models.CharField(max_length=30, null=True) - Zaštita_Blokada = models.CharField(max_length=30, null=True) - Sjedećih_mjesta = models.CharField(max_length=30, null=True) + Zastita_Blokada = models.CharField(max_length=30, null=True) + Sjedecih_mjesta = models.CharField(max_length=30, null=True) Turbo = models.CharField(max_length=30, null=True) DPF_FAP_filter = models.CharField(max_length=30, null=True) Strane_tablice = models.CharField(max_length=30, null=True) Ocarinjen = models.CharField(max_length=30, null=True) - Prilagođen_invalidima = models.CharField(max_length=30, null=True) + Prilagodjen_invalidima = models.CharField(max_length=30, null=True) Servo_volan = models.CharField(max_length=30, null=True) Tempomat = models.CharField(max_length=30, null=True) ESP = models.CharField(max_length=30, null=True) - El_podizači_stakala = models.CharField(max_length=30, null=True) + El_podizaci_stakala = models.CharField(max_length=30, null=True) Senzor_mrtvog_ugla = models.CharField(max_length=30, null=True) Digitalna_klima = models.CharField(max_length=30, null=True) Touch_screen_ekran = models.CharField(max_length=30, null=True) Panorama_krov = models.CharField(max_length=30, null=True) - Koža = models.CharField(max_length=30, null=True) - Masaža_sjedišta = models.CharField(max_length=30, null=True) - El_pomjeranje_sjedišta= models.CharField(max_length=30, null=True) + Koza = models.CharField(max_length=30, null=True) + Masaza_sjedista = models.CharField(max_length=30, null=True) + El_pomjeranje_sjedista= models.CharField(max_length=30, null=True) Senzor_auto_svjetla = models.CharField(max_length=30, null=True) Alarm = models.CharField(max_length=30, null=True) - Daljinsko_otključavanje = models.CharField(max_length=30, null=True) + Daljinsko_otkljucavanje = models.CharField(max_length=30, null=True) Auto_kuka = models.CharField(max_length=30, null=True) Udaren = models.CharField(max_length=30, null=True) Start_Stop_sistem = models.CharField(max_length=30, null=True) @@ -68,20 +68,19 @@ class Car(models.Model): Komande_na_volanu = models.CharField(max_length=30, null=True) ABS = models.CharField(max_length=30, null=True) Airbag = models.CharField(max_length=30, null=True) - Električni_retrovizori = models.CharField(max_length=30, null=True) + Elektricni_retrovizori = models.CharField(max_length=30, null=True) Klima = models.CharField(max_length=30, null=True) Navigacija = models.CharField(max_length=30, null=True) - Šiber= models.CharField(max_length=30, null=True) + Siber= models.CharField(max_length=30, null=True) Naslon_za_ruku= models.CharField(max_length=30, null=True) - Hlađenje_sjedišta = models.CharField(max_length=30, null=True) - Grijanje_sjedišta = models.CharField(max_length=30, null=True) - Memorija_sjedišta = models.CharField(max_length=30, null=True) + Hladjenje_sjedista = models.CharField(max_length=30, null=True) + Grijanje_sjedista = models.CharField(max_length=30, null=True) + Memorija_sjedista = models.CharField(max_length=30, null=True) Alu_felge = models.CharField(max_length=30, null=True) Centralna_brava = models.CharField(max_length=30, null=True) Oldtimer = models.CharField(max_length=30, null=True) ISOFIX = models.CharField(max_length=30, null=True) Datum = models.CharField(max_length=15, null=True) - # Vrijeme = models.CharField(max_length=20, blank=True) def __str__(self): return (self.Olx_id) \ No newline at end of file diff --git a/kivi_cars/cars/saver.py b/kivi_cars/cars/saver.py index 27249c3..b10dde5 100644 --- a/kivi_cars/cars/saver.py +++ b/kivi_cars/cars/saver.py @@ -8,9 +8,8 @@ from cars.models import Car num_of_crawl = 0 - -while True: - def Saver(): +def Saver(): + while True: print("_________________________________") global num_of_crawl if num_of_crawl == 0: @@ -28,83 +27,83 @@ while True: try: auto = Car.objects.get(Olx_id = car["Olx_id"]) - auto.Kategorija = car["Kategorija"] - auto.Cijena = car["Cijena"] - auto.Stanje = car["Stanje"] - auto.Lokacija_kanton = car["Lokacija_kanton"] - auto.Lokacija_grad = car["Lokacija_grad"] - auto.Proizvođač = car["Proizvođač"] - auto.Model = car["Model"] - auto.Godište = car["Godište"] - auto.Kilometraža = car["Kilometraža"] - auto.Kilovata_KW = car["Kilovata (KW)"] - auto.Kubikaža = car["Kubikaža"] - auto.Gorivo = car["Gorivo"] - auto.Broj_vrata = car["Broj vrata"] - auto.Konjskih_snaga = car["Konjskih snaga"] - auto.Metalik = car["Metalik"] - auto.Masa_Težina_kg = car["Masa/Težina (kg)"] - auto.Tip = car["Tip"] - auto.Pogon = car["Pogon"] - auto.Emisioni_standard = car["Emisioni standard"] - auto.Veličina_felgi = car["Veličina felgi"] - auto.Transmisija = car["Transmisija"] - auto.Broj_stepeni_prijenosa = car["Broj stepeni prijenosa"] - auto.Boja = car["Boja"] - auto.Muzika_ozvučenje = car["Muzika / ozvučenje"] - auto.Parking_senzori = car["Parking senzori"] - auto.Parking_kamera = car["Parking kamera"] - auto.Registrovan_do = car["Registrovan do"] - auto.Godina_prve_registracije = car["Godina prve registracije"] - auto.Broj_prethodnih_vlasnika = car["Broj prethodnih vlasnika"] - auto.Posjeduje_gume = car["Posjeduje gume"] - auto.Višezonska_klima = car["Višezonska klima"] - auto.Rolo_zavjese = car["Rolo zavjese"] - auto.Svjetla = car["Svjetla"] - auto.Zaštita_Blokada = car["Zaštita/Blokada"] - auto.Sjedećih_mjesta = car["Sjedećih mjesta"] - auto.Turbo = car["Turbo"] - auto.DPF_FAP_filter = car["DPF/FAP filter"] - auto.Strane_tablice = car["Strane tablice"] - auto.Ocarinjen = car["Ocarinjen"] - auto.Prilagođen_invalidima = car["Prilagođen invalidima"] - auto.Servo_volan = car["Servo volan"] - auto.Tempomat = car["Tempomat"] - auto.ESP = car["ESP"] - auto.El_podizači_stakala = car["El. podizači stakala"] - auto.Senzor_mrtvog_ugla = car["Senzor mrtvog ugla"] - auto.Digitalna_klima = car["Digitalna klima"] - auto.Touch_screen_ekran = car["Touch screen (ekran)"] - auto.Panorama_krov = car["Panorama krov"] - auto.Koža = car["Koža"] - auto.Masaža_sjedišta = car["Masaža sjedišta"] - auto.El_pomjeranje_sjedišta= car["El. pomjeranje sjedišta"] - auto.Senzor_auto_svjetla = car["Senzor auto. svjetla"] - auto.Alarm = car["Alarm"] - auto.Daljinsko_otključavanje = car["Daljinsko otključavanje"] - auto.Auto_kuka = car["Auto kuka"] - auto.Udaren = car["Udaren"] - auto.Start_Stop_sistem = car["Start-Stop sistem"] - auto.Park_assist = car["Park assist"] - auto.Registrovan = car["Registrovan"] - auto.Na_lizingu = car["Na lizingu"] - auto.Servisna_knjiga = car["Servisna knjiga"] - auto.Komande_na_volanu = car["Komande na volanu"] - auto.ABS = car["ABS"] - auto.Airbag = car["Airbag"] - auto.Električni_retrovizori = car["Električni retrovizori"] - auto.Klima = car["Klima"] - auto.Navigacija = car["Navigacija"] - auto.Šiber = car["Šiber"] - auto.Naslon_za_ruku= car["Naslon za ruku"] - auto.Hlađenje_sjedišta = car["Hlađenje sjedišta"] - auto.Grijanje_sjedišta = car["Grijanje sjedišta"] - auto.Memorija_sjedišta = car["Memorija sjedišta"] - auto.Alu_felge = car["Alu felge"] - auto.Centralna_brava = car["Centralna brava"] - auto.Oldtimer = car["Oldtimer"] - auto.ISOFIX = car["ISOFIX"] - auto.Datum = car["Datum"] + auto["Kategorija"] = car["Kategorija"] + auto["Cijena"] = car["Cijena"] + auto["Stanje"] = car["Stanje"] + auto["Lokacija_kanton"] = car["Lokacija_kanton"] + auto["Lokacija_grad"] = car["Lokacija_grad"] + auto["Brend"] = car["Proizvođač"] + auto["Model"] = car["Model"] + auto["Godiste"] = car["Godište"] + auto["Kilometraza"] = car["Kilometraža"] + auto["Kilovata_KW"] = car["Kilovata (KW)"] + auto["Kubikaza"] = car["Kubikaža"] + auto["Gorivo"] = car["Gorivo"] + auto["Broj_vrata"] = car["Broj vrata"] + auto["Konjskih_snaga"] = car["Konjskih snaga"] + auto["Metalik"] = car["Metalik"] + auto["Masa_Tezina_kg"] = car["Masa/Težina (kg)"] + auto["Tip"] = car["Tip"] + auto["Pogon"] = car["Pogon"] + auto["Emisioni_standard"] = car["Emisioni standard"] + auto["Velicina_felgi"] = car["Veličina felgi"] + auto["Transmisija"] = car["Transmisija"] + auto["Broj_stepeni_prijenosa"] = car["Broj stepeni prijenosa"] + auto["Boja"] = car["Boja"] + auto["Muzika_ozvucenje"] = car["Muzika / ozvučenje"] + auto["Parking_senzori"] = car["Parking senzori"] + auto["Parking_kamera"] = car["Parking kamera"] + auto["Registrovan_do"] = car["Registrovan do"] + auto["Godina_prve_registracije"] = car["Godina prve registracije"] + auto["Broj_prethodnih_vlasnika"] = car["Broj prethodnih vlasnika"] + auto["Posjeduje_gume"] = car["Posjeduje gume"] + auto["Visezonska_klima"] = car["Višezonska klima"] + auto["Rolo_zavjese"] = car["Rolo zavjese"] + auto["Svjetla"] = car["Svjetla"] + auto["Zastita_Blokada"] = car["Zaštita/Blokada"] + auto["Sjedecih_mjesta"] = car["Sjedećih mjesta"] + auto["Turbo"] = car["Turbo"] + auto["DPF_FAP_filter"] = car["DPF/FAP filter"] + auto["Strane_tablice"] = car["Strane tablice"] + auto["Ocarinjen"] = car["Ocarinjen"] + auto["Prilagodjen_invalidima"] = car["Prilagođen invalidima"] + auto["Servo_volan"] = car["Servo volan"] + auto["Tempomat"] = car["Tempomat"] + auto["ESP"] = car["ESP"] + auto["El_podizaci_stakala"] = car["El podizači stakala"] + auto["Senzor_mrtvog_ugla"] = car["Senzor mrtvog ugla"] + auto["Digitalna_klima"] = car["Digitalna klima"] + auto["Touch_screen_ekran"] = car["Touch screen (ekran)"] + auto["Panorama_krov"] = car["Panorama krov"] + auto["Koza"] = car["Koža"] + auto["Masaza_sjedista"] = car["Masaža sjedišta"] + auto["El_pomjeranje_sjedista"]= car["El pomjeranje sjedišta"] + auto["Senzor_auto_svjetla"] = car["Senzor auto svjetla"] + auto["Alarm"] = car["Alarm"] + auto["Daljinsko_otkljucavanje"] = car["Daljinsko otključavanje"] + auto["Auto_kuka"] = car["Auto kuka"] + auto["Udaren"] = car["Udaren"] + auto["Start_Stop_sistem"] = car["Start-Stop sistem"] + auto["Park_assist"] = car["Park assist"] + auto["Registrovan"] = car["Registrovan"] + auto["Na_lizingu"] = car["Na lizingu"] + auto["Servisna_knjiga"] = car["Servisna knjiga"] + auto["Komande_na_volanu"] = car["Komande na volanu"] + auto["ABS"] = car["ABS"] + auto["Airbag"] = car["Airbag"] + auto["Elektricni_retrovizori"] = car["Električni retrovizori"] + auto["Klima"] = car["Klima"] + auto["Navigacija"] = car["Navigacija"] + auto["Siber"] = car["Šiber"] + auto["Naslon_za_ruku"]= car["Naslon za ruku"] + auto["Hladjenje_sjedista"] = car["Hlađenje sjedišta"] + auto["Grijanje_sjedista"] = car["Grijanje sjedišta"] + auto["Memorija_sjedista"] = car["Memorija sjedišta"] + auto["Alu_felge"] = car["Alu felge"] + auto["Centralna_brava"] = car["Centralna brava"] + auto["Oldtimer"] = car["Oldtimer"] + auto["ISOFIX"] = car["ISOFIX"] + auto["Datum"] = car["Datum"] auto.save() print("Artikal obnovljen") @@ -116,55 +115,55 @@ while True: Stanje = car["Stanje"], Lokacija_kanton = car["Lokacija_kanton"], Lokacija_grad = car["Lokacija_grad"], - Proizvođač = car["Proizvođač"], + Brend = car["Proizvođač"], Model = car["Model"], - Godište = car["Godište"], - Kilometraža = car["Kilometraža"], + Godiste = car["Godište"], + Kilometraza = car["Kilometraža"], Kilovata_KW = car["Kilovata (KW)"], - Kubikaža = car["Kubikaža"], + Kubikaza = car["Kubikaža"], Gorivo = car["Gorivo"], Broj_vrata = car["Broj vrata"], Konjskih_snaga = car["Konjskih snaga"], Metalik = car["Metalik"], - Masa_Težina_kg = car["Masa/Težina (kg)"], + Masa_Tezina_kg = car["Masa/Težina (kg)"], Tip = car["Tip"], Pogon = car["Pogon"], Emisioni_standard = car["Emisioni standard"], - Veličina_felgi = car["Veličina felgi"], + Velicina_felgi = car["Veličina felgi"], Transmisija = car["Transmisija"], Broj_stepeni_prijenosa = car["Broj stepeni prijenosa"], Boja = car["Boja"], - Muzika_ozvučenje = car["Muzika / ozvučenje"], + Muzika_ozvucenje = car["Muzika / ozvučenje"], Parking_senzori = car["Parking senzori"], Parking_kamera = car["Parking kamera"], Registrovan_do = car["Registrovan do"], Godina_prve_registracije = car["Godina prve registracije"], Broj_prethodnih_vlasnika = car["Broj prethodnih vlasnika"], Posjeduje_gume = car["Posjeduje gume"], - Višezonska_klima = car["Višezonska klima"], + Visezonska_klima = car["Višezonska klima"], Rolo_zavjese = car["Rolo zavjese"], Svjetla = car["Svjetla"], - Zaštita_Blokada = car["Zaštita/Blokada"], - Sjedećih_mjesta = car["Sjedećih mjesta"], + Zastita_Blokada = car["Zaštita/Blokada"], + Sjedecih_mjesta = car["Sjedećih mjesta"], Turbo = car["Turbo"], DPF_FAP_filter = car["DPF/FAP filter"], Strane_tablice = car["Strane tablice"], Ocarinjen = car["Ocarinjen"], - Prilagođen_invalidima = car["Prilagođen invalidima"], + Prilagodjen_invalidima = car["Prilagođen invalidima"], Servo_volan = car["Servo volan"], Tempomat = car["Tempomat"], ESP = car["ESP"], - El_podizači_stakala = car["El. podizači stakala"], + El_podizaci_stakala = car["El. podizači stakala"], Senzor_mrtvog_ugla = car["Senzor mrtvog ugla"], Digitalna_klima = car["Digitalna klima"], Touch_screen_ekran = car["Touch screen (ekran)"], Panorama_krov = car["Panorama krov"], - Koža = car["Koža"], - Masaža_sjedišta = car["Masaža sjedišta"], - El_pomjeranje_sjedišta= car["El. pomjeranje sjedišta"], + Koza = car["Koža"], + Masaza_sjedista = car["Masaža sjedišta"], + El_pomjeranje_sjedista= car["El. pomjeranje sjedišta"], Senzor_auto_svjetla = car["Senzor auto. svjetla"], Alarm = car["Alarm"], - Daljinsko_otključavanje = car["Daljinsko otključavanje"], + Daljinsko_otkljucavanje = car["Daljinsko otključavanje"], Auto_kuka = car["Auto kuka"], Udaren = car["Udaren"], Start_Stop_sistem = car["Start-Stop sistem"], @@ -175,23 +174,21 @@ while True: Komande_na_volanu = car["Komande na volanu"], ABS = car["ABS"], Airbag = car["Airbag"], - Električni_retrovizori = car["Električni retrovizori"], + Elektricni_retrovizori = car["Električni retrovizori"], Klima = car["Klima"], Navigacija = car["Navigacija"], - Šiber = car["Šiber"], + Siber = car["Šiber"], Naslon_za_ruku= car["Naslon za ruku"], - Hlađenje_sjedišta = car["Hlađenje sjedišta"], - Grijanje_sjedišta = car["Grijanje sjedišta"], - Memorija_sjedišta = car["Memorija sjedišta"], + Hladjenje_sjedista = car["Hlađenje sjedišta"], + Grijanje_sjedista = car["Grijanje sjedišta"], + Memorija_sjedista = car["Memorija sjedišta"], Alu_felge = car["Alu felge"], Centralna_brava = car["Centralna brava"], Oldtimer = car["Oldtimer"], ISOFIX = car["ISOFIX"], - Datum = car["Datum"], - # Vrijeme = car["Vrijeme"] + Datum = car["Datum"] ) auto.save() print("Novi artikal je spasen") print("___________________________") - Saver() - time.sleep(180) \ No newline at end of file + time.sleep(180) \ No newline at end of file diff --git a/kivi_cars/cars/urls.py b/kivi_cars/cars/urls.py index 675a207..e69de29 100644 --- a/kivi_cars/cars/urls.py +++ b/kivi_cars/cars/urls.py @@ -1,7 +0,0 @@ -from django.urls import path -from Generator import views -from cars.saver import Saver - -urlpatterns = [ - path('', views.Saver) -] \ No newline at end of file diff --git a/kivi_cars/kivi_cars/settings.py b/kivi_cars/kivi_cars/settings.py index 0162ac9..11ca982 100644 --- a/kivi_cars/kivi_cars/settings.py +++ b/kivi_cars/kivi_cars/settings.py @@ -44,6 +44,7 @@ INSTALLED_APPS = [ 'rest_framework', 'cars', + 'searches', ] MIDDLEWARE = [ diff --git a/kivi_cars/kivi_cars/urls.py b/kivi_cars/kivi_cars/urls.py index 9a25c19..03bbd6d 100644 --- a/kivi_cars/kivi_cars/urls.py +++ b/kivi_cars/kivi_cars/urls.py @@ -17,8 +17,8 @@ from django.urls.conf import include from django.contrib import admin from django.urls import path + urlpatterns = [ - path('', include("cars.urls")), path('admin/', admin.site.urls), ] diff --git a/kivi_listener/Generator/__init__.py b/kivi_cars/searches/__init__.py similarity index 100% rename from kivi_listener/Generator/__init__.py rename to kivi_cars/searches/__init__.py diff --git a/kivi_listener/Generator/admin.py b/kivi_cars/searches/admin.py similarity index 100% rename from kivi_listener/Generator/admin.py rename to kivi_cars/searches/admin.py diff --git a/kivi_listener/Generator/apps.py b/kivi_cars/searches/apps.py similarity index 62% rename from kivi_listener/Generator/apps.py rename to kivi_cars/searches/apps.py index c0daa23..7fe5b36 100644 --- a/kivi_listener/Generator/apps.py +++ b/kivi_cars/searches/apps.py @@ -1,6 +1,6 @@ from django.apps import AppConfig -class GeneratorConfig(AppConfig): +class SearchesConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' - name = 'Generator' + name = 'searches' diff --git a/kivi_cars/searches/models.py b/kivi_cars/searches/models.py new file mode 100644 index 0000000..8dfcdde --- /dev/null +++ b/kivi_cars/searches/models.py @@ -0,0 +1,91 @@ +from django.db import models + +# Create your models here. + +class Search(models.Model): + HEXA_CODE = models.CharField(max_length=16, null=True) + Kategorija = models.CharField(max_length=30, null=True, blank=True) + Cijena_od = models.CharField(max_length=30, null=True, blank=True) + Cijena_do = models.CharField(max_length=30, null=True, blank=True) + Stanje = models.CharField(max_length=30, null=True, blank=True) + Lokacija_kanton = models.CharField(max_length=250, null=True, blank=True) + Lokacija_grad = models.CharField(max_length=1000, null=True, blank=True) + Brend = models.CharField(max_length=30, null=True, blank=True) + Model = models.CharField(max_length=30, null=True, blank=True) + Godiste_od = models.CharField(max_length=30, null=True, blank=True) + Godiste_do = models.CharField(max_length=30, null=True, blank=True) + Kilometraza_od = models.CharField(max_length=30, null=True, blank=True) + Kilometraza_do = models.CharField(max_length=30, null=True, blank=True) + Kilovata_od = models.CharField(max_length=30, null=True, blank=True) + Kilovata_do = models.CharField(max_length=30, null=True, blank=True) + Kubikaza_od = models.CharField(max_length=30, null=True, blank=True) + Kubikaza_do = models.CharField(max_length=30, null=True, blank=True) + Gorivo = models.CharField(max_length=30, null=True, blank=True) + Broj_vrata = models.CharField(max_length=30, null=True, blank=True) + Konjskih_snaga_od = models.CharField(max_length=30, null=True, blank=True) + Konjskih_snaga_do = models.CharField(max_length=30, null=True, blank=True) + Metalik = models.CharField(max_length=30, null=True, blank=True) + Masa_Tezina_kg = models.CharField(max_length=30, null=True, blank=True) + Tip = models.CharField(max_length=30, null=True, blank=True) + Pogon = models.CharField(max_length=30, null=True, blank=True) + Emisioni_standard = models.CharField(max_length=30, null=True, blank=True) + Velicina_felgi = models.CharField(max_length=30, null=True, blank=True) + Transmisija = models.CharField(max_length=30, null=True, blank=True) + Broj_stepeni_prijenosa = models.CharField(max_length=30, null=True, blank=True) + Boja = models.CharField(max_length=30, null=True, blank=True) + Muzika_ozvucenje = models.CharField(max_length=30, null=True, blank=True) + Parking_senzori= models.CharField(max_length=30, null=True, blank=True) + Parking_kamera = models.CharField(max_length=30, null=True, blank=True) + Registrovan_do = models.CharField(max_length=30, null=True, blank=True) + Godina_prve_registracije = models.CharField(max_length=30, null=True, blank=True) + Broj_prethodnih_vlasnika = models.CharField(max_length=30, null=True, blank=True) + Posjeduje_gume = models.CharField(max_length=30, null=True, blank=True) + Visezonska_klima = models.CharField(max_length=30, null=True, blank=True) + Rolo_zavjese = models.CharField(max_length=30, null=True, blank=True) + Svjetla = models.CharField(max_length=30, null=True, blank=True) + Zastita_Blokada = models.CharField(max_length=30, null=True, blank=True) + Sjedecih_mjesta = models.CharField(max_length=30, null=True, blank=True) + Turbo = models.CharField(max_length=30, null=True, blank=True) + DPF_FAP_filter = models.CharField(max_length=30, null=True, blank=True) + Strane_tablice = models.CharField(max_length=30, null=True, blank=True) + Ocarinjen = models.CharField(max_length=30, null=True, blank=True) + Prilagodjen_invalidima = models.CharField(max_length=30, null=True, blank=True) + Servo_volan = models.CharField(max_length=30, null=True, blank=True) + Tempomat = models.CharField(max_length=30, null=True, blank=True) + ESP = models.CharField(max_length=30, null=True, blank=True) + El_podizaci_stakala = models.CharField(max_length=30, null=True, blank=True) + Senzor_mrtvog_ugla = models.CharField(max_length=30, null=True, blank=True) + Digitalna_klima = models.CharField(max_length=30, null=True, blank=True) + Touch_screen_ekran = models.CharField(max_length=30, null=True, blank=True) + Panorama_krov = models.CharField(max_length=30, null=True, blank=True) + Koza = models.CharField(max_length=30, null=True, blank=True) + Masaza_sjedista = models.CharField(max_length=30, null=True, blank=True) + El_pomjeranje_sjedista= models.CharField(max_length=30, null=True, blank=True) + Senzor_auto_svjetla = models.CharField(max_length=30, null=True, blank=True) + Alarm = models.CharField(max_length=30, null=True, blank=True) + Daljinsko_otkljucavanje = models.CharField(max_length=30, null=True, blank=True) + Auto_kuka = models.CharField(max_length=30, null=True, blank=True) + Udaren = models.CharField(max_length=30, null=True, blank=True) + Start_Stop_sistem = models.CharField(max_length=30, null=True, blank=True) + Park_assist = models.CharField(max_length=30, null=True, blank=True) + Registrovan = models.CharField(max_length=30, null=True, blank=True) + Na_lizingu = models.CharField(max_length=30, null=True, blank=True) + Servisna_knjiga = models.CharField(max_length=30, null=True, blank=True) + Komande_na_volanu = models.CharField(max_length=30, null=True, blank=True) + ABS = models.CharField(max_length=30, null=True, blank=True) + Airbag = models.CharField(max_length=30, null=True, blank=True) + Elektricni_retrovizori = models.CharField(max_length=30, null=True, blank=True) + Klima = models.CharField(max_length=30, null=True, blank=True) + Navigacija = models.CharField(max_length=30, null=True, blank=True) + Siber= models.CharField(max_length=30, null=True, blank=True) + Naslon_za_ruku= models.CharField(max_length=30, null=True, blank=True) + Hladjenje_sjedista = models.CharField(max_length=30, null=True, blank=True) + Grijanje_sjedista = models.CharField(max_length=30, null=True, blank=True) + Memorija_sjedista = models.CharField(max_length=30, null=True, blank=True) + Alu_felge = models.CharField(max_length=30, null=True, blank=True) + Centralna_brava = models.CharField(max_length=30, null=True, blank=True) + Oldtimer = models.CharField(max_length=30, null=True, blank=True) + ISOFIX = models.CharField(max_length=30, null=True, blank=True) + Email = models.CharField(max_length=254, null=True) + Send_Time = models.CharField(max_length=15, null=True) + # Olx_ids = ArrayField(models.CharField(max_length=15, null=True), null=True,default=list, blank=True, size=50) diff --git a/kivi_cars/searches/serializers.py b/kivi_cars/searches/serializers.py new file mode 100644 index 0000000..5aacbca --- /dev/null +++ b/kivi_cars/searches/serializers.py @@ -0,0 +1,119 @@ +from traceback import print_tb +from rest_framework import serializers + +from searches.models import Search + +class SearchSerializer(serializers.ModelSerializer): + class Meta: + model = Search + fields = ('__all__') + #['HEXA_CODE', 'Email', 'Kategorija', 'Send_Time', 'Lokacija_kanton', 'Lokacija_grad' ] + exlude = ['Olx_ids'] + # ['HEXA_CODE', 'Kategorija', 'Cijena_od', 'Cijena_do', 'Stanje', + # 'Lokacija_kanton', 'Lokacija_grad', 'Brend', 'Model', 'Godiste_od', 'Godiste_do', 'Kilometraža_od', 'Kilometraža_do', + # 'Kilovata_od', 'Kilovata_do', 'Kubikaza_od', 'Kubikaza_do', 'Gorivo', 'Broj_vrata', 'Konjskih_snaga_od', 'Konjskih_snaga_do', + # 'Metalik', 'Masa_Tezina_kg', 'Tip', 'Pogon', 'Emisioni_standard', 'Velicina_felgi', 'Transmisija', 'Broj_stepeni_prijenosa', + # 'Boja', 'Muzika_ozvucenje', 'Parking_senzori', 'Parking_kamera', 'Registrovan_do', 'Godina_prve_registracije', + # 'Broj_prethodnih_vlasnika', 'Posjeduje_gume', 'Visezonska_klima', 'Rolo_zavjese', 'Svjetla', 'Zastita_Blokada', + # 'Sjedecih_mjesta', 'Turbo', 'DPF_FAP_filter', 'Strane_tablice', 'Ocarinjen', 'Prilagodjen_invalidima', 'Servo_volan', + # 'Tempomat', 'ESP', 'El_podizaci_stakala', 'Senzor_mrtvog_ugla', 'Digitalna_klima', 'Touch_screen_ekran', 'Panorama_krov', + # 'Koza', 'Masaza_sjedista', 'El_pomjeranje_sjedista', 'Senzor_auto_svjetla', 'Alarm', 'Daljinsko_otkljucavanje', + # 'Auto_kuka', 'Udaren', 'Start_Stop_sistem', 'Park_assist', 'Registrovan', 'Na_lizingu', 'Servisna_knjiga', 'Komande_na_volanu', + # 'ABS', 'Airbag', 'Elektricni_retrovizori', 'Klima', 'Navigacija', 'Siber', 'Naslon_za_ruku', 'Hladjenje_sjedista', + # 'Grijanje_sjedista', 'Memorija_sjedista', 'Alu_felge', 'Centralna_brava', 'Oldtimer', 'ISOFIX', 'Email', 'Send_Time'] + def create(self, validated_data): + ''' + Create and return new Search instance, given the validated data... + ''' + filteri = self.context.get("filteri") + lokacija = self.context.get("lokacija") + data = self.context.get("data") + print(filteri) + print(lokacija) + print(data, "data") + return Search.objects.create( + HEXA_CODE = data["HEXA_CODE"], + Email = data["Email"], + Kategorija = data["Kategorija"], + Send_Time = data["Slanje"], + Lokacija_kanton = lokacija["kanton"], + Lokacija_grad = lokacija["gradovi"], + Cijena_od = filteri["Cijena"]["Od"], + Cijena_do = filteri["Cijena"]["Do"], + Stanje = filteri["Stanje"], + Brend = filteri["Brend"], + Model = filteri["Model"], + Godiste_od = filteri["Godiste"]["Od"], + Godiste_do = filteri["Godiste"]["Do"], + Kilometraza_od = filteri["Kilometraza"]["Od"], + Kilometraza_do = filteri["Kilometraza"]["Do"], + Kilovata_od = filteri["Kilovata"]["Od"], + Kilovata_do = filteri["Kilovata"]["Do"], + Kubikaza_od = filteri["Kubikaza"]["Od"], + Kubikaza_do = filteri["Kubikaza"]["Do"], + Gorivo = filteri["Gorivo"], + Broj_vrata = filteri["BrojVrata"], + Konjskih_snaga_od = filteri["KonjskihSnaga"]["Od"], + Konjskih_snaga_do = filteri["KonjskihSnaga"]["Do"], + Metalik = filteri["Metalik"], + Tip = filteri["TipVozila"], + Pogon = filteri["Pogon"], + Emisioni_standard = filteri["EmisioniStandard"], + Velicina_felgi = filteri["VelicinaFelgi"], + Transmisija = filteri["Transmisija"], + Broj_stepeni_prijenosa = filteri["BrojStepenihPrijenosa"], + Boja = filteri["Boja"], + # Muzika_ozvucenje = filteri[""], + Parking_senzori= filteri["ParkingSenzori"], + # Parking_kamera = filteri[""], + # Registrovan_do = filteri[""], + # Godina_prve_registracije = filteri[""], + # Broj_prethodnih_vlasnika = filteri[""], + # Posjeduje_gume = filteri[""], + # Visezonska_klima = filteri[""], + Rolo_zavjese = filteri["RoloZavjese"], + # Svjetla = filteri[""], + # Zastita_Blokada = filteri[""], + # Sjedecih_mjesta = filteri[""], + Turbo = filteri["Turbo"], + DPF_FAP_filter = filteri["DPFFAP"], + # Strane_tablice = filteri[""], + # Ocarinjen = filteri[""], + # Prilagodjen_invalidima = filteri[""], + Servo_volan = filteri["ServoVolan"], + Tempomat = filteri["Tempomat"], + ESP = filteri["ESP"], + El_podizaci_stakala = filteri["ElektricniPodizaciStakala"], + Senzor_mrtvog_ugla = filteri["SenzorMrtvogUgla"], + # Digitalna_klima = filteri[""], + # Touch_screen_ekran = filteri[""], + Panorama_krov = filteri["Panorama"], + Koza = filteri["Koza"], + Masaza_sjedista = filteri["MasaznaSjedista"], + # El_pomjeranje_sjedista= filteri[""], + # Senzor_auto_svjetla = filteri[""], + Alarm = filteri["Alarm"], + Daljinsko_otkljucavanje = filteri["DaljinskoZakljucavanje"], + Auto_kuka = filteri["AutoKuka"], + # Udaren = filteri[""], + Start_Stop_sistem = filteri["StartStop"], + Park_assist = filteri["ParkingAssistent"], + Registrovan = filteri["Registrovan"], + # Na_lizingu = filteri[""], + Servisna_knjiga = filteri["ServisnaKnjiga"], + Komande_na_volanu = filteri["KomandeNaVolanu"], + ABS = filteri["ABS"], + Airbag = filteri["Airbag"], + Elektricni_retrovizori = filteri["ElektricniRetrovizori"], + Klima = filteri["PosjedujeKlimu"], + Navigacija = filteri["Navigacija"], + Siber= filteri["Siber"], + Naslon_za_ruku= filteri["NaslonZaRuku"], + Hladjenje_sjedista = filteri["HladjenjeSjedista"], + Grijanje_sjedista = filteri["GrijanjeSjedista"], + Memorija_sjedista = filteri["MemorijaSjedista"], + # Alu_felge = filteri[""], + Centralna_brava = filteri["CentralnaBrava"], + # Oldtimer = filteri[""], + ISOFIX = filteri["ISOFIX"] + ) \ No newline at end of file diff --git a/kivi_listener/Generator/tests.py b/kivi_cars/searches/tests.py similarity index 100% rename from kivi_listener/Generator/tests.py rename to kivi_cars/searches/tests.py diff --git a/kivi_cars/searches/views.py b/kivi_cars/searches/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/kivi_cars/searches/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. diff --git a/kivi_listener/Generator/migrations/__init__.py b/kivi_listener/Generator/migrations/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/kivi_listener/Generator/models.py b/kivi_listener/Generator/models.py deleted file mode 100644 index 71a8362..0000000 --- a/kivi_listener/Generator/models.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.db import models - -# Create your models here. diff --git a/kivi_listener/Generator/urls.py b/kivi_listener/Generator/urls.py deleted file mode 100644 index b4119d0..0000000 --- a/kivi_listener/Generator/urls.py +++ /dev/null @@ -1,6 +0,0 @@ -from django.urls import path -from Generator import views - -urlpatterns = [ - path('', views.HexaGenerator) -] \ No newline at end of file diff --git a/kivi_listener/Generator/views.py b/kivi_listener/Generator/views.py deleted file mode 100644 index 6525119..0000000 --- a/kivi_listener/Generator/views.py +++ /dev/null @@ -1,12 +0,0 @@ -from rest_framework.decorators import api_view -from rest_framework.response import Response -import secrets - -# Create your views here. - -@api_view(['GET']) -def HexaGenerator(request): - if request.method == 'GET': - hexa_id = secrets.token_hex(16) - return Response({"message": "Search id:", "data": hexa_id}) - diff --git a/kivi_listener/kivi_listener/settings.py b/kivi_listener/kivi_listener/settings.py index fa5ebe5..a690f11 100644 --- a/kivi_listener/kivi_listener/settings.py +++ b/kivi_listener/kivi_listener/settings.py @@ -41,7 +41,6 @@ INSTALLED_APPS = [ 'corsheaders', 'rest_framework', - 'Generator', 'searches', ] diff --git a/kivi_listener/kivi_listener/urls.py b/kivi_listener/kivi_listener/urls.py index bf462ed..c76989f 100644 --- a/kivi_listener/kivi_listener/urls.py +++ b/kivi_listener/kivi_listener/urls.py @@ -20,5 +20,5 @@ from django.urls import path urlpatterns = [ path('admin/', admin.site.urls), - path('generator/', include("Generator.urls")), + path('search/', include('searches.urls')), ] diff --git a/kivi_listener/searches/migrations/0001_initial.py b/kivi_listener/searches/migrations/0001_initial.py new file mode 100644 index 0000000..0cd69c4 --- /dev/null +++ b/kivi_listener/searches/migrations/0001_initial.py @@ -0,0 +1,105 @@ +# Generated by Django 4.0.4 on 2022-07-15 04:27 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Search', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('HEXA_CODE', models.CharField(max_length=16, null=True)), + ('Kategorija', models.CharField(blank=True, max_length=30, null=True)), + ('Cijena_od', models.CharField(blank=True, max_length=30, null=True)), + ('Cijena_do', models.CharField(blank=True, max_length=30, null=True)), + ('Stanje', models.CharField(blank=True, max_length=30, null=True)), + ('Lokacija_kanton', models.CharField(blank=True, max_length=250, null=True)), + ('Lokacija_grad', models.CharField(blank=True, max_length=1000, null=True)), + ('Brend', models.CharField(blank=True, max_length=30, null=True)), + ('Model', models.CharField(blank=True, max_length=30, null=True)), + ('Godiste_od', models.CharField(blank=True, max_length=30, null=True)), + ('Godiste_do', models.CharField(blank=True, max_length=30, null=True)), + ('Kilometraza_od', models.CharField(blank=True, max_length=30, null=True)), + ('Kilometraza_do', models.CharField(blank=True, max_length=30, null=True)), + ('Kilovata_od', models.CharField(blank=True, max_length=30, null=True)), + ('Kilovata_do', models.CharField(blank=True, max_length=30, null=True)), + ('Kubikaza_od', models.CharField(blank=True, max_length=30, null=True)), + ('Kubikaza_do', models.CharField(blank=True, max_length=30, null=True)), + ('Gorivo', models.CharField(blank=True, max_length=30, null=True)), + ('Broj_vrata', models.CharField(blank=True, max_length=30, null=True)), + ('Konjskih_snaga_od', models.CharField(blank=True, max_length=30, null=True)), + ('Konjskih_snaga_do', models.CharField(blank=True, max_length=30, null=True)), + ('Metalik', models.CharField(blank=True, max_length=30, null=True)), + ('Masa_Tezina_kg', models.CharField(blank=True, max_length=30, null=True)), + ('Tip', models.CharField(blank=True, max_length=30, null=True)), + ('Pogon', models.CharField(blank=True, max_length=30, null=True)), + ('Emisioni_standard', models.CharField(blank=True, max_length=30, null=True)), + ('Velicina_felgi', models.CharField(blank=True, max_length=30, null=True)), + ('Transmisija', models.CharField(blank=True, max_length=30, null=True)), + ('Broj_stepeni_prijenosa', models.CharField(blank=True, max_length=30, null=True)), + ('Boja', models.CharField(blank=True, max_length=30, null=True)), + ('Muzika_ozvucenje', models.CharField(blank=True, max_length=30, null=True)), + ('Parking_senzori', models.CharField(blank=True, max_length=30, null=True)), + ('Parking_kamera', models.CharField(blank=True, max_length=30, null=True)), + ('Registrovan_do', models.CharField(blank=True, max_length=30, null=True)), + ('Godina_prve_registracije', models.CharField(blank=True, max_length=30, null=True)), + ('Broj_prethodnih_vlasnika', models.CharField(blank=True, max_length=30, null=True)), + ('Posjeduje_gume', models.CharField(blank=True, max_length=30, null=True)), + ('Visezonska_klima', models.CharField(blank=True, max_length=30, null=True)), + ('Rolo_zavjese', models.CharField(blank=True, max_length=30, null=True)), + ('Svjetla', models.CharField(blank=True, max_length=30, null=True)), + ('Zastita_Blokada', models.CharField(blank=True, max_length=30, null=True)), + ('Sjedecih_mjesta', models.CharField(blank=True, max_length=30, null=True)), + ('Turbo', models.CharField(blank=True, max_length=30, null=True)), + ('DPF_FAP_filter', models.CharField(blank=True, max_length=30, null=True)), + ('Strane_tablice', models.CharField(blank=True, max_length=30, null=True)), + ('Ocarinjen', models.CharField(blank=True, max_length=30, null=True)), + ('Prilagodjen_invalidima', models.CharField(blank=True, max_length=30, null=True)), + ('Servo_volan', models.CharField(blank=True, max_length=30, null=True)), + ('Tempomat', models.CharField(blank=True, max_length=30, null=True)), + ('ESP', models.CharField(blank=True, max_length=30, null=True)), + ('El_podizaci_stakala', models.CharField(blank=True, max_length=30, null=True)), + ('Senzor_mrtvog_ugla', models.CharField(blank=True, max_length=30, null=True)), + ('Digitalna_klima', models.CharField(blank=True, max_length=30, null=True)), + ('Touch_screen_ekran', models.CharField(blank=True, max_length=30, null=True)), + ('Panorama_krov', models.CharField(blank=True, max_length=30, null=True)), + ('Koza', models.CharField(blank=True, max_length=30, null=True)), + ('Masaza_sjedista', models.CharField(blank=True, max_length=30, null=True)), + ('El_pomjeranje_sjedista', models.CharField(blank=True, max_length=30, null=True)), + ('Senzor_auto_svjetla', models.CharField(blank=True, max_length=30, null=True)), + ('Alarm', models.CharField(blank=True, max_length=30, null=True)), + ('Daljinsko_otkljucavanje', models.CharField(blank=True, max_length=30, null=True)), + ('Auto_kuka', models.CharField(blank=True, max_length=30, null=True)), + ('Udaren', models.CharField(blank=True, max_length=30, null=True)), + ('Start_Stop_sistem', models.CharField(blank=True, max_length=30, null=True)), + ('Park_assist', models.CharField(blank=True, max_length=30, null=True)), + ('Registrovan', models.CharField(blank=True, max_length=30, null=True)), + ('Na_lizingu', models.CharField(blank=True, max_length=30, null=True)), + ('Servisna_knjiga', models.CharField(blank=True, max_length=30, null=True)), + ('Komande_na_volanu', models.CharField(blank=True, max_length=30, null=True)), + ('ABS', models.CharField(blank=True, max_length=30, null=True)), + ('Airbag', models.CharField(blank=True, max_length=30, null=True)), + ('Elektricni_retrovizori', models.CharField(blank=True, max_length=30, null=True)), + ('Klima', models.CharField(blank=True, max_length=30, null=True)), + ('Navigacija', models.CharField(blank=True, max_length=30, null=True)), + ('Siber', models.CharField(blank=True, max_length=30, null=True)), + ('Naslon_za_ruku', models.CharField(blank=True, max_length=30, null=True)), + ('Hladjenje_sjedista', models.CharField(blank=True, max_length=30, null=True)), + ('Grijanje_sjedista', models.CharField(blank=True, max_length=30, null=True)), + ('Memorija_sjedista', models.CharField(blank=True, max_length=30, null=True)), + ('Alu_felge', models.CharField(blank=True, max_length=30, null=True)), + ('Centralna_brava', models.CharField(blank=True, max_length=30, null=True)), + ('Oldtimer', models.CharField(blank=True, max_length=30, null=True)), + ('ISOFIX', models.CharField(blank=True, max_length=30, null=True)), + ('Email', models.CharField(max_length=254, null=True)), + ('Send_Time', models.CharField(max_length=15, null=True)), + ], + ), + ] diff --git a/kivi_listener/searches/models.py b/kivi_listener/searches/models.py index d2fe086..bbf367f 100644 --- a/kivi_listener/searches/models.py +++ b/kivi_listener/searches/models.py @@ -1,92 +1,93 @@ from django.db import models from django.contrib.postgres.fields import ArrayField +from numpy import character # Create your models here. class Search(models.Model): HEXA_CODE = models.CharField(max_length=16, null=True) - Kategorija = models.CharField(max_length=30, null=True) - Cijena_od = models.CharField(max_length=30, null=True) - Cijena_do = models.CharField(max_length=30, null=True) - Stanje = models.CharField(max_length=30, null=True) - Lokacija_kanton = models.CharField(max_length=50, null=True) - Lokacija_grad = models.CharField(max_length=50, null=True) - Brend = models.CharField(max_length=30, null=True) - Model = models.CharField(max_length=30, null=True) - Godiste_od = models.CharField(max_length=30, null=True) - Godiste_do = models.CharField(max_length=30, null=True) - Kilometraža_od = models.CharField(max_length=30, null=True) - Kilometraža_do = models.CharField(max_length=30, null=True) - Kilovata_od = models.CharField(max_length=30, null=True) - Kilovata_do = models.CharField(max_length=30, null=True) - Kubikaza_od = models.CharField(max_length=30, null=True) - Kubikaza_do = models.CharField(max_length=30, null=True) - Gorivo = models.CharField(max_length=30, null=True) - Broj_vrata = models.CharField(max_length=30, null=True) - Konjskih_snaga_od = models.CharField(max_length=30, null=True) - Konjskih_snaga_do = models.CharField(max_length=30, null=True) - Metalik = models.CharField(max_length=30, null=True) - Masa_Tezina_kg = models.CharField(max_length=30, null=True) - Tip = models.CharField(max_length=30, null=True) - Pogon = models.CharField(max_length=30, null=True) - Emisioni_standard = models.CharField(max_length=30, null=True) - Velicina_felgi = models.CharField(max_length=30, null=True) - Transmisija = models.CharField(max_length=30, null=True) - Broj_stepeni_prijenosa = models.CharField(max_length=30, null=True) - Boja = models.CharField(max_length=30, null=True) - Muzika_ozvucenje = models.CharField(max_length=30, null=True) - Parking_senzori= models.CharField(max_length=30, null=True) - Parking_kamera = models.CharField(max_length=30, null=True) - Registrovan_do = models.CharField(max_length=30, null=True) - Godina_prve_registracije = models.CharField(max_length=30, null=True) - Broj_prethodnih_vlasnika = models.CharField(max_length=30, null=True) - Posjeduje_gume = models.CharField(max_length=30, null=True) - Visezonska_klima = models.CharField(max_length=30, null=True) - Rolo_zavjese = models.CharField(max_length=30, null=True) - Svjetla = models.CharField(max_length=30, null=True) - Zastita_Blokada = models.CharField(max_length=30, null=True) - Sjedecih_mjesta = models.CharField(max_length=30, null=True) - Turbo = models.CharField(max_length=30, null=True) - DPF_FAP_filter = models.CharField(max_length=30, null=True) - Strane_tablice = models.CharField(max_length=30, null=True) - Ocarinjen = models.CharField(max_length=30, null=True) - Prilagodjen_invalidima = models.CharField(max_length=30, null=True) - Servo_volan = models.CharField(max_length=30, null=True) - Tempomat = models.CharField(max_length=30, null=True) - ESP = models.CharField(max_length=30, null=True) - El_podizaci_stakala = models.CharField(max_length=30, null=True) - Senzor_mrtvog_ugla = models.CharField(max_length=30, null=True) - Digitalna_klima = models.CharField(max_length=30, null=True) - Touch_screen_ekran = models.CharField(max_length=30, null=True) - Panorama_krov = models.CharField(max_length=30, null=True) - Koza = models.CharField(max_length=30, null=True) - Masaza_sjedista = models.CharField(max_length=30, null=True) - El_pomjeranje_sjedista= models.CharField(max_length=30, null=True) - Senzor_auto_svjetla = models.CharField(max_length=30, null=True) - Alarm = models.CharField(max_length=30, null=True) - Daljinsko_otkljucavanje = models.CharField(max_length=30, null=True) - Auto_kuka = models.CharField(max_length=30, null=True) - Udaren = models.CharField(max_length=30, null=True) - Start_Stop_sistem = models.CharField(max_length=30, null=True) - Park_assist = models.CharField(max_length=30, null=True) - Registrovan = models.CharField(max_length=30, null=True) - Na_lizingu = models.CharField(max_length=30, null=True) - Servisna_knjiga = models.CharField(max_length=30, null=True) - Komande_na_volanu = models.CharField(max_length=30, null=True) - ABS = models.CharField(max_length=30, null=True) - Airbag = models.CharField(max_length=30, null=True) - Elektricni_retrovizori = models.CharField(max_length=30, null=True) - Klima = models.CharField(max_length=30, null=True) - Navigacija = models.CharField(max_length=30, null=True) - Siber= models.CharField(max_length=30, null=True) - Naslon_za_ruku= models.CharField(max_length=30, null=True) - Hladjenje_sjedista = models.CharField(max_length=30, null=True) - Grijanje_sjedista = models.CharField(max_length=30, null=True) - Memorija_sjedista = models.CharField(max_length=30, null=True) - Alu_felge = models.CharField(max_length=30, null=True) - Centralna_brava = models.CharField(max_length=30, null=True) - Oldtimer = models.CharField(max_length=30, null=True) - ISOFIX = models.CharField(max_length=30, null=True) - Email = models.EmailField(max_length=254, null=True) + Kategorija = models.CharField(max_length=30, null=True, blank=True) + Cijena_od = models.CharField(max_length=30, null=True, blank=True) + Cijena_do = models.CharField(max_length=30, null=True, blank=True) + Stanje = models.CharField(max_length=30, null=True, blank=True) + Lokacija_kanton = models.CharField(max_length=250, null=True, blank=True) + Lokacija_grad = models.CharField(max_length=1000, null=True, blank=True) + Brend = models.CharField(max_length=30, null=True, blank=True) + Model = models.CharField(max_length=30, null=True, blank=True) + Godiste_od = models.CharField(max_length=30, null=True, blank=True) + Godiste_do = models.CharField(max_length=30, null=True, blank=True) + Kilometraza_od = models.CharField(max_length=30, null=True, blank=True) + Kilometraza_do = models.CharField(max_length=30, null=True, blank=True) + Kilovata_od = models.CharField(max_length=30, null=True, blank=True) + Kilovata_do = models.CharField(max_length=30, null=True, blank=True) + Kubikaza_od = models.CharField(max_length=30, null=True, blank=True) + Kubikaza_do = models.CharField(max_length=30, null=True, blank=True) + Gorivo = models.CharField(max_length=30, null=True, blank=True) + Broj_vrata = models.CharField(max_length=30, null=True, blank=True) + Konjskih_snaga_od = models.CharField(max_length=30, null=True, blank=True) + Konjskih_snaga_do = models.CharField(max_length=30, null=True, blank=True) + Metalik = models.CharField(max_length=30, null=True, blank=True) + Masa_Tezina_kg = models.CharField(max_length=30, null=True, blank=True) + Tip = models.CharField(max_length=30, null=True, blank=True) + Pogon = models.CharField(max_length=30, null=True, blank=True) + Emisioni_standard = models.CharField(max_length=30, null=True, blank=True) + Velicina_felgi = models.CharField(max_length=30, null=True, blank=True) + Transmisija = models.CharField(max_length=30, null=True, blank=True) + Broj_stepeni_prijenosa = models.CharField(max_length=30, null=True, blank=True) + Boja = models.CharField(max_length=30, null=True, blank=True) + Muzika_ozvucenje = models.CharField(max_length=30, null=True, blank=True) + Parking_senzori= models.CharField(max_length=30, null=True, blank=True) + Parking_kamera = models.CharField(max_length=30, null=True, blank=True) + Registrovan_do = models.CharField(max_length=30, null=True, blank=True) + Godina_prve_registracije = models.CharField(max_length=30, null=True, blank=True) + Broj_prethodnih_vlasnika = models.CharField(max_length=30, null=True, blank=True) + Posjeduje_gume = models.CharField(max_length=30, null=True, blank=True) + Visezonska_klima = models.CharField(max_length=30, null=True, blank=True) + Rolo_zavjese = models.CharField(max_length=30, null=True, blank=True) + Svjetla = models.CharField(max_length=30, null=True, blank=True) + Zastita_Blokada = models.CharField(max_length=30, null=True, blank=True) + Sjedecih_mjesta = models.CharField(max_length=30, null=True, blank=True) + Turbo = models.CharField(max_length=30, null=True, blank=True) + DPF_FAP_filter = models.CharField(max_length=30, null=True, blank=True) + Strane_tablice = models.CharField(max_length=30, null=True, blank=True) + Ocarinjen = models.CharField(max_length=30, null=True, blank=True) + Prilagodjen_invalidima = models.CharField(max_length=30, null=True, blank=True) + Servo_volan = models.CharField(max_length=30, null=True, blank=True) + Tempomat = models.CharField(max_length=30, null=True, blank=True) + ESP = models.CharField(max_length=30, null=True, blank=True) + El_podizaci_stakala = models.CharField(max_length=30, null=True, blank=True) + Senzor_mrtvog_ugla = models.CharField(max_length=30, null=True, blank=True) + Digitalna_klima = models.CharField(max_length=30, null=True, blank=True) + Touch_screen_ekran = models.CharField(max_length=30, null=True, blank=True) + Panorama_krov = models.CharField(max_length=30, null=True, blank=True) + Koza = models.CharField(max_length=30, null=True, blank=True) + Masaza_sjedista = models.CharField(max_length=30, null=True, blank=True) + El_pomjeranje_sjedista= models.CharField(max_length=30, null=True, blank=True) + Senzor_auto_svjetla = models.CharField(max_length=30, null=True, blank=True) + Alarm = models.CharField(max_length=30, null=True, blank=True) + Daljinsko_otkljucavanje = models.CharField(max_length=30, null=True, blank=True) + Auto_kuka = models.CharField(max_length=30, null=True, blank=True) + Udaren = models.CharField(max_length=30, null=True, blank=True) + Start_Stop_sistem = models.CharField(max_length=30, null=True, blank=True) + Park_assist = models.CharField(max_length=30, null=True, blank=True) + Registrovan = models.CharField(max_length=30, null=True, blank=True) + Na_lizingu = models.CharField(max_length=30, null=True, blank=True) + Servisna_knjiga = models.CharField(max_length=30, null=True, blank=True) + Komande_na_volanu = models.CharField(max_length=30, null=True, blank=True) + ABS = models.CharField(max_length=30, null=True, blank=True) + Airbag = models.CharField(max_length=30, null=True, blank=True) + Elektricni_retrovizori = models.CharField(max_length=30, null=True, blank=True) + Klima = models.CharField(max_length=30, null=True, blank=True) + Navigacija = models.CharField(max_length=30, null=True, blank=True) + Siber= models.CharField(max_length=30, null=True, blank=True) + Naslon_za_ruku= models.CharField(max_length=30, null=True, blank=True) + Hladjenje_sjedista = models.CharField(max_length=30, null=True, blank=True) + Grijanje_sjedista = models.CharField(max_length=30, null=True, blank=True) + Memorija_sjedista = models.CharField(max_length=30, null=True, blank=True) + Alu_felge = models.CharField(max_length=30, null=True, blank=True) + Centralna_brava = models.CharField(max_length=30, null=True, blank=True) + Oldtimer = models.CharField(max_length=30, null=True, blank=True) + ISOFIX = models.CharField(max_length=30, null=True, blank=True) + Email = models.CharField(max_length=254, null=True) Send_Time = models.CharField(max_length=15, null=True) - Olx_ids = ArrayField(models.CharField(max_length=10, null=True)) + # Olx_ids = ArrayField(models.CharField(max_length=15, null=True), null=True,default=list, blank=True, size=50) diff --git a/kivi_listener/searches/serializers.py b/kivi_listener/searches/serializers.py index e69de29..5aacbca 100644 --- a/kivi_listener/searches/serializers.py +++ b/kivi_listener/searches/serializers.py @@ -0,0 +1,119 @@ +from traceback import print_tb +from rest_framework import serializers + +from searches.models import Search + +class SearchSerializer(serializers.ModelSerializer): + class Meta: + model = Search + fields = ('__all__') + #['HEXA_CODE', 'Email', 'Kategorija', 'Send_Time', 'Lokacija_kanton', 'Lokacija_grad' ] + exlude = ['Olx_ids'] + # ['HEXA_CODE', 'Kategorija', 'Cijena_od', 'Cijena_do', 'Stanje', + # 'Lokacija_kanton', 'Lokacija_grad', 'Brend', 'Model', 'Godiste_od', 'Godiste_do', 'Kilometraža_od', 'Kilometraža_do', + # 'Kilovata_od', 'Kilovata_do', 'Kubikaza_od', 'Kubikaza_do', 'Gorivo', 'Broj_vrata', 'Konjskih_snaga_od', 'Konjskih_snaga_do', + # 'Metalik', 'Masa_Tezina_kg', 'Tip', 'Pogon', 'Emisioni_standard', 'Velicina_felgi', 'Transmisija', 'Broj_stepeni_prijenosa', + # 'Boja', 'Muzika_ozvucenje', 'Parking_senzori', 'Parking_kamera', 'Registrovan_do', 'Godina_prve_registracije', + # 'Broj_prethodnih_vlasnika', 'Posjeduje_gume', 'Visezonska_klima', 'Rolo_zavjese', 'Svjetla', 'Zastita_Blokada', + # 'Sjedecih_mjesta', 'Turbo', 'DPF_FAP_filter', 'Strane_tablice', 'Ocarinjen', 'Prilagodjen_invalidima', 'Servo_volan', + # 'Tempomat', 'ESP', 'El_podizaci_stakala', 'Senzor_mrtvog_ugla', 'Digitalna_klima', 'Touch_screen_ekran', 'Panorama_krov', + # 'Koza', 'Masaza_sjedista', 'El_pomjeranje_sjedista', 'Senzor_auto_svjetla', 'Alarm', 'Daljinsko_otkljucavanje', + # 'Auto_kuka', 'Udaren', 'Start_Stop_sistem', 'Park_assist', 'Registrovan', 'Na_lizingu', 'Servisna_knjiga', 'Komande_na_volanu', + # 'ABS', 'Airbag', 'Elektricni_retrovizori', 'Klima', 'Navigacija', 'Siber', 'Naslon_za_ruku', 'Hladjenje_sjedista', + # 'Grijanje_sjedista', 'Memorija_sjedista', 'Alu_felge', 'Centralna_brava', 'Oldtimer', 'ISOFIX', 'Email', 'Send_Time'] + def create(self, validated_data): + ''' + Create and return new Search instance, given the validated data... + ''' + filteri = self.context.get("filteri") + lokacija = self.context.get("lokacija") + data = self.context.get("data") + print(filteri) + print(lokacija) + print(data, "data") + return Search.objects.create( + HEXA_CODE = data["HEXA_CODE"], + Email = data["Email"], + Kategorija = data["Kategorija"], + Send_Time = data["Slanje"], + Lokacija_kanton = lokacija["kanton"], + Lokacija_grad = lokacija["gradovi"], + Cijena_od = filteri["Cijena"]["Od"], + Cijena_do = filteri["Cijena"]["Do"], + Stanje = filteri["Stanje"], + Brend = filteri["Brend"], + Model = filteri["Model"], + Godiste_od = filteri["Godiste"]["Od"], + Godiste_do = filteri["Godiste"]["Do"], + Kilometraza_od = filteri["Kilometraza"]["Od"], + Kilometraza_do = filteri["Kilometraza"]["Do"], + Kilovata_od = filteri["Kilovata"]["Od"], + Kilovata_do = filteri["Kilovata"]["Do"], + Kubikaza_od = filteri["Kubikaza"]["Od"], + Kubikaza_do = filteri["Kubikaza"]["Do"], + Gorivo = filteri["Gorivo"], + Broj_vrata = filteri["BrojVrata"], + Konjskih_snaga_od = filteri["KonjskihSnaga"]["Od"], + Konjskih_snaga_do = filteri["KonjskihSnaga"]["Do"], + Metalik = filteri["Metalik"], + Tip = filteri["TipVozila"], + Pogon = filteri["Pogon"], + Emisioni_standard = filteri["EmisioniStandard"], + Velicina_felgi = filteri["VelicinaFelgi"], + Transmisija = filteri["Transmisija"], + Broj_stepeni_prijenosa = filteri["BrojStepenihPrijenosa"], + Boja = filteri["Boja"], + # Muzika_ozvucenje = filteri[""], + Parking_senzori= filteri["ParkingSenzori"], + # Parking_kamera = filteri[""], + # Registrovan_do = filteri[""], + # Godina_prve_registracije = filteri[""], + # Broj_prethodnih_vlasnika = filteri[""], + # Posjeduje_gume = filteri[""], + # Visezonska_klima = filteri[""], + Rolo_zavjese = filteri["RoloZavjese"], + # Svjetla = filteri[""], + # Zastita_Blokada = filteri[""], + # Sjedecih_mjesta = filteri[""], + Turbo = filteri["Turbo"], + DPF_FAP_filter = filteri["DPFFAP"], + # Strane_tablice = filteri[""], + # Ocarinjen = filteri[""], + # Prilagodjen_invalidima = filteri[""], + Servo_volan = filteri["ServoVolan"], + Tempomat = filteri["Tempomat"], + ESP = filteri["ESP"], + El_podizaci_stakala = filteri["ElektricniPodizaciStakala"], + Senzor_mrtvog_ugla = filteri["SenzorMrtvogUgla"], + # Digitalna_klima = filteri[""], + # Touch_screen_ekran = filteri[""], + Panorama_krov = filteri["Panorama"], + Koza = filteri["Koza"], + Masaza_sjedista = filteri["MasaznaSjedista"], + # El_pomjeranje_sjedista= filteri[""], + # Senzor_auto_svjetla = filteri[""], + Alarm = filteri["Alarm"], + Daljinsko_otkljucavanje = filteri["DaljinskoZakljucavanje"], + Auto_kuka = filteri["AutoKuka"], + # Udaren = filteri[""], + Start_Stop_sistem = filteri["StartStop"], + Park_assist = filteri["ParkingAssistent"], + Registrovan = filteri["Registrovan"], + # Na_lizingu = filteri[""], + Servisna_knjiga = filteri["ServisnaKnjiga"], + Komande_na_volanu = filteri["KomandeNaVolanu"], + ABS = filteri["ABS"], + Airbag = filteri["Airbag"], + Elektricni_retrovizori = filteri["ElektricniRetrovizori"], + Klima = filteri["PosjedujeKlimu"], + Navigacija = filteri["Navigacija"], + Siber= filteri["Siber"], + Naslon_za_ruku= filteri["NaslonZaRuku"], + Hladjenje_sjedista = filteri["HladjenjeSjedista"], + Grijanje_sjedista = filteri["GrijanjeSjedista"], + Memorija_sjedista = filteri["MemorijaSjedista"], + # Alu_felge = filteri[""], + Centralna_brava = filteri["CentralnaBrava"], + # Oldtimer = filteri[""], + ISOFIX = filteri["ISOFIX"] + ) \ No newline at end of file diff --git a/kivi_listener/searches/urls.py b/kivi_listener/searches/urls.py index e69de29..eba1a28 100644 --- a/kivi_listener/searches/urls.py +++ b/kivi_listener/searches/urls.py @@ -0,0 +1,7 @@ +from django.urls.conf import include +from django.urls import path +from searches.views import Search_List + +urlpatterns = [ + path('', Search_List.as_view()) +] \ No newline at end of file diff --git a/kivi_listener/searches/views.py b/kivi_listener/searches/views.py index 91ea44a..3f23b57 100644 --- a/kivi_listener/searches/views.py +++ b/kivi_listener/searches/views.py @@ -1,3 +1,44 @@ -from django.shortcuts import render +from functools import partial +from pickle import TRUE +from matplotlib.colors import hexColorPattern +from .models import Search +from .serializers import SearchSerializer +from rest_framework.views import APIView +from rest_framework.response import Response +from rest_framework import status +import secrets # Create your views here. + +class Search_List(APIView): + + ''' + List all searches or create new one. + ''' + def get(self, request, format=None): + searches = Search.objects.all().filter(Kategorija = "Auto") + serializer = SearchSerializer(searches, many=True) + print(serializer.data[0]) + return Response(serializer.data) + + def post(self, request, format=None): + HEXA_CODE = secrets.token_hex(8) + searchData = request.data + data = {"Email": searchData["Email"], "Slanje": searchData["Slanje"], "Kategorija": searchData["Kategorija"], "HEXA_CODE": HEXA_CODE} + filters = searchData["Filteri"] + lokacija = searchData["Lokacija"] + for filter in filters: + print(filter, filters[filter]) + if filters[filter] == True: + filters[filter] = "True" + elif filters[filter] == False: + filters[filter] = "False" + serializer = SearchSerializer(data = {}, context={"filteri": filters, "lokacija": lokacija, "data": data}) + + if serializer.is_valid(raise_exception=True): + if Search.objects.filter(HEXA_CODE = HEXA_CODE).exists(): + return Response(serializer.errors, status=status.HTTP_409_CONFLICT) + else: + serializer.save() + return Response(serializer.data, status=status.HTTP_201_CREATED) + else: Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) \ No newline at end of file