def DodajKvad(kvad): ''' Metoda koja prima objekat klase kvad, dodaje ga u kolekciju i perzistira je. :param kvad: objekat klase Kvad ''' Projekat().kvadovi.append(kvad) Pickle('kvadovi.bin', Projekat().kvadovi)
def DodajAutomobil(automobil): ''' Metoda koja prima objekat klase automobil, smesta ga u kolekciju i perzistira. :param automobil: objekat klase automobil ''' Projekat().automobili.append(automobil) Pickle('automobili.bin', Projekat().automobili)
def DodajDzip(dzip): ''' Metoda koja prima objekat klase dzip, smesta ga u kolekciju i perzistira. :param dzip: objekat klase Dzip ''' Projekat().dzipovi.append(dzip) Pickle('dzipovi.bin', Projekat().dzipovi)
def ObrisiDzip(oznaka): ''' Metoda koja prima string vrednost oznake i na osnovu nje vraca pronalazi objekat dzipa u kolekciji i uklanja ga. :param oznaka: string vrednost oznake ''' dzip_za_brisanje = None for i in Projekat().dzipovi: if i.oznaka == oznaka: dzip_za_brisanje = i Projekat().dzipovi.remove(dzip_za_brisanje) Pickle('dzipovi.bin', Projekat().dzipovi)
def ObrisiAutomobil(oznaka): ''' Metoda koja prima string vrednost atributa oznake i na osnovu nje u kolekciji pronalazi konkretan objekat klase automobil uklanja ga i ponovo perzistira kolekciju. :param oznaka: string vrednost atributa oznake ''' automobil_za_brisanje = None for i in Projekat().automobili: if i.oznaka == oznaka: automobil_za_brisanje = i Projekat().automobili.remove(automobil_za_brisanje) Pickle('automobili.bin', Projekat().automobili)
def ObrisiKvad(oznaka): ''' Metoda koja prima string vrednost oznake i na osnovu nje pronalazi konkretan objekat kvada i uklanja ga iz kolekcije. :param oznaka: string vrednost oznake ''' kvad_za_brisanje = None for i in Projekat().kvadovi: if i.oznaka == oznaka: kvad_za_brisanje = i Projekat().kvadovi.remove(kvad_za_brisanje) Pickle('kvadovi.bin', Projekat().kvadovi)
def sortirajKvadove(kriterijum): ''' Metoda koja prima string vrednost kriterijuma za sortiranje i na osnovu njega vraca sortirane kolekcije objkata kvadova prema vrednostima atributa koji su vezani za kriterijum. :param kriterijum: string vrednost kriterijuma sortiranja ''' if kriterijum == 'maksimalna_brzina': sortiranaKolekcija = sorted(Projekat().kvadovi, key=lambda x: x.maksimalna_brzina) return sortiranaKolekcija elif kriterijum == 'godina_proizvodnje': sortiranaKolekcija = sorted(Projekat().kvadovi, key=lambda x: x.godina_proizvodnje) return sortiranaKolekcija else: raise ValueError('Ne postoji takav kriterijum')
def sortirajDzipove(kriterijum): ''' Metoda koja prima string vrednost kriterijuma za sortiranje i na osnovu nje vraca sortiranu kolekciju objkeata dzipova prema vrednostima atributa za koji su vezani kriterijumi. :param kriterijum: string vrednost kriterijuma za sortiranje ''' if kriterijum == 'maksimalna_brzina': sortiranaKolekcija = sorted(Projekat().dzipovi, key=lambda x: x.maksimalna_brzina) return sortiranaKolekcija elif kriterijum == 'konjskih_snaga': sortiranaKolekcija = sorted(Projekat().dzipovi, key=lambda x: x.konjskih_snaga) return sortiranaKolekcija else: raise ValueError('Ne postoji takav kriterijum')
def sortirajAutomobile(kriterijum): ''' Metoda koja na osnovu proslednjenog kriterijuma sortira kompletnu kolekciju automobila po rastucem poretku u odnosu na vrednost atributa koji je u vezi za kriterijumom. :param kriterijum: string vrednost kriterijuma po kojem ce se vrsiti pretraga ''' if kriterijum == 'maksimalna_brzina': sortiranaKolekcija = sorted(Projekat().automobili, key=lambda x: x.maksimalna_brzina) return sortiranaKolekcija elif kriterijum == 'broj_sedista': sortiranaKolekcija = sorted(Projekat().automobili, key=lambda x: x.broj_sedista) return sortiranaKolekcija else: raise ValueError('Nepostojeci ili nedefinisani kriterijum')
def dzipIzOznake(oznaka): ''' Metoda koja prima string vrednost oznake i na osnovu nje vraca konkretan objekat klase Dzip. :param oznaka: string vrednost oznake ''' for i in Projekat().dzipovi: if i.oznaka == oznaka: return i
def IzmeniKvad(kvad): ''' Metoda koja prima objekat klase kvad i na osnovu njenih vrednosti menja postojeci objekat u kolekciji i ponovo perzistira kolekciju. :param kvad: objekat klase Kvad ''' for i in Projekat().kvadovi: if i.oznaka == kvad.oznaka: i.opis = kvad.opis i.duzina = kvad.duzina i.sirina = kvad.sirina i.visina = kvad.visina i.maksimalna_brzina = kvad.maksimalna_brzina i.godina_proizvodnje = kvad.godina_proizvodnje i.izlozbeni_prostor = kvad.izlozbeni_prostor i.pogon_na_sva_cetiri_tocka = kvad.pogon_na_sva_cetiri_tocka i.prostor_za_stvari = kvad.prostor_za_stvari Pickle('kvadovi.bin', Projekat().kvadovi)
def generisiOznaku(): ''' Metoda koja generise vrednost za atribut oznake objekata klase Kvad. ''' brojac = 1 for i in Projekat().kvadovi: brojac += 1 oznaka = 'kv' + str(brojac) return oznaka
def generisiOznaku(): ''' Metoda koja generise vrednost za atribut oznake objekta. ''' brojac = 1 for i in Projekat().dzipovi: brojac += 1 oznaka = 'dz' + str(brojac) return oznaka
def generisiOznaku(): ''' Metoda koja generise string koji ce se koristit kao atribut oznake objekta klase automobil. ''' brojac = 1 for i in Projekat().automobili: brojac += 1 oznaka = 'a' + str(brojac) return oznaka
def OsveziKvadove(self): ''' Metoda koja osvezava graficku komponentu za prikaz entiteta kvadova tako sto je prvo ocisti i ponovo ucita iz kolekcije. ''' #prvo ocisti for i in self.treeKvadovi.get_children(): self.treeKvadovi.delete(i) #ponovo ucitaj iz kolekcije for index, i in enumerate(Projekat().kvadovi): self.treeKvadovi.insert("", 'end' ,text = index + 1, values = (i.oznaka, i.opis, i.izlozbeni_prostor.oznaka))
def automobilIzOznake(oznaka): ''' Metoda koja prima string vrednost atributa oznake i na osnovu nje u kolekciji pronalazi konkretan objekat klase automobil i vraca ga. :param oznaka: string vrednost atributa oznake ''' for i in Projekat().automobili: if i.oznaka == oznaka: return i
def IzmeniAutomobil(automobil): ''' Metoda koja prima objekat klase automobil i koristi njegove vrednosti da izmeni vec postojeci objekat u kolekciji. :param automobil: objekat klase automobil ''' for i in Projekat().automobili: if i.oznaka == automobil.oznaka: i.opis = automobil.opis i.duzina = automobil.duzina i.sirina = automobil.sirina i.visina = automobil.visina i.maksimalna_brzina = automobil.maksimalna_brzina i.godina_proizvodnje = automobil.godina_proizvodnje i.izlozbeni_prostor = automobil.izlozbeni_prostor i.broj_vrata = automobil.broj_vrata i.broj_sedista = automobil.broj_sedista i.tip_menjaca = automobil.tip_menjaca Pickle('automobili.bin', Projekat().automobili)
def IzmeniDzip(dzip): ''' Metoda koja prima objekat klase dzip i koristi njegove vrednosti da izmeni postojeci objekat u kolekciji. :param dzip: objekat klase Dzip ''' for i in Projekat().dzipovi: if i.oznaka == dzip.oznaka: i.opis = dzip.opis i.duzina = dzip.duzina i.sirina = dzip.sirina i.visina = dzip.visina i.maksimalna_brzina = dzip.maksimalna_brzina i.godina_proizvodnje = dzip.godina_proizvodnje i.izlozbeni_prostor = dzip.izlozbeni_prostor i.broj_vrata = dzip.broj_vrata i.pogon_na_sva_cetiri_tocka = dzip.pogon_na_sva_cetiri_tocka i.konjskih_snaga = dzip.konjskih_snaga i.spustajuca_zadnja_klupa = dzip.spustajuca_zadnja_klupa Pickle('dzipovi.bin', Projekat().dzipovi)
def nadjiKvadove(kriterijum, pogon, prostor): ''' Metoda koja prima string vrednost kriterijuma pretrege, vrednost postojanja pogona na sva 4 tocka i prostra za stvari i na osnovu njih vraca kolekciju konkretnih objekata klase Kvad koji predstavljaju rezultat pretrage. :param kriterijum: stirng vrednost kriterijuma pretrage :param pogon: bool vrednost postojanja pogona na sva 4 tocka :param prostor: bool vrednost postojanja prostora za stvari ''' trazeniKvadovi = [] q = str(kriterijum.lower()) for i in Projekat().kvadovi: if((q in i.oznaka.lower() or q in str(i.opis.lower()) or q in str(i.duzina) or q in str(i.sirina) or q in str(i.visina) or q in str(i.maksimalna_brzina) or q in str(i.godina_proizvodnje)) and (pogon == i.pogon_na_sva_cetiri_tocka and prostor == i.prostor_za_stvari)): trazeniKvadovi.append(i) return trazeniKvadovi
def nadjiAutomobile(kriterijum): ''' Metoda koja na osnovu proslednjenog kriterijuma pronalazi objekte iz kolekcije automobila i vraca ih da budu korisceni kao rezultat pretrage. :param kriterijum: string vrednost kriterijuma po kojem ce se vrsiti pretraga ''' if (kriterijum is None): raise ValueError("Kriterijum ne sme biti nedefinisan") trazeniAutomobili = [] q = str(kriterijum).lower() if (kriterijum != ''): for i in Projekat().automobili: if (q in i.oznaka.lower() or q in str(i.opis.lower()) or q in str(i.duzina) or q in str(i.sirina) or q in str(i.visina) or q in str(i.maksimalna_brzina) or q in str(i.godina_proizvodnje) or q in str(i.broj_vrata) or q in str(i.broj_sedista) or q in str(i.tip_menjaca.name)): trazeniAutomobili.append(i) return trazeniAutomobili
def nadjiDzipove(kriterijum, pogon, zadnja_klupa): ''' Metoda koja prima string vrednost oznake, pogona na sva 4 tocka i spustajuce zadnje klupe i na osnovu njih vraca kolekciju konkretnih objekata koje se koriste kao rezultat pretrage. :param kriterijum: string vrednost kriterijuma pretrage :param pogon: bool vrednost postojanja pogona na sva 4 tocka :param zadnja_klupa: bool vrednost postojanja spustajuce zadnje klupe ''' if (kriterijum is None or pogon is None or zadnja_klupa is None): raise ValueError('Parametrni ne smeju biti nedefinisani') trazeniDzipovi = [] q = str(kriterijum).lower() #pogon i zadnja klpua? for i in Projekat().dzipovi: if ((q in i.oznaka.lower() or q in str(i.opis.lower()) or q in str(i.duzina) or q in str(i.sirina) or q in str(i.visina) or q in str(i.maksimalna_brzina) or q in str(i.godina_proizvodnje) or q in str(i.konjskih_snaga)) and (pogon == i.pogon_na_sva_cetiri_tocka and zadnja_klupa == i.spustajuca_zadnja_klupa)): trazeniDzipovi.append(i) return trazeniDzipovi
def __init__(self, kvad, operacija, glavni): ''' Constructor :param kvad: objekat kvada koji se obradjuje (create - prazan, postojeci - update) :param operacija: enumeracija koja odredjuje da li se forma koristi za insert ili update :param glavni: referenca na root view koji ga poziva ''' tk.Tk.__init__(self) tk.Tk.wm_title(self, "Kvad UD") tk.Tk.geometry(self, '220x300') self.resizable(False, False) Centriraj(self) self.kvad = kvad self.operacija = operacija #self.izabraniMenjac = self.automobil.tip_menjaca self.izabraniProstor = self.kvad.izlozbeni_prostor #referenca na glavni da se moze iskoristiti Osvezi self.glavni = glavni rows = 0 while rows < 15: self.rowconfigure(rows, weight=1) self.columnconfigure(rows, weight=1) rows += 1 Input = Frame(self) #oznaka ce se kreirati sama i inkrementirati na odredjen nacin self.opisLabel = Label(Input, text="Opis: ") self.duzinaLabel = Label(Input, text="Duzina: ") self.sirinaLabel = Label(Input, text="Sirina: ") self.visinaLabel = Label(Input, text="Visina: ") self.brzinaLabel = Label(Input, text="Max. brzina: ") self.godinaLabel = Label(Input, text="God. proizv: ") self.prostorLabel = Label(Input, text="Izloz. prostor: ") self.pogonLabel = Label(Input, text="Pogon 4x4: ") self.stvariLabel = Label(Input, text="Prostor za stvari: ") self.opisEntry = Entry(Input) self.duzinaEntry = Entry(Input) self.sirinaEntry = Entry(Input) self.visinaEntry = Entry(Input) self.brzinaEntry = Entry(Input) self.godinaEntry = Entry(Input) ponudjenoProstora = [] for i in Projekat().prostori: ponudjenoProstora.append(i.oznaka) izborProstora = StringVar() if (self.kvad.izlozbeni_prostor != None): izborProstora.set([ s for s in ponudjenoProstora if self.kvad.izlozbeni_prostor.oznaka in s ][0]) self.prostorIzbor(izborProstora.get()) else: izborProstora.set(ponudjenoProstora[0]) self.prostorIzbor(izborProstora.get()) self.prostorMenu = OptionMenu( Input, izborProstora, *ponudjenoProstora, command=lambda x: self.prostorIzbor(izborProstora.get())) self.izborPogona = IntVar() self.izborPogona.set(1 if self.kvad.pogon_na_sva_cetiri_tocka == True else 0) self.pogonBox = Checkbutton(Input, variable=self.izborPogona, onvalue=1, offvalue=0) self.izborStvari = IntVar() self.izborStvari.set(1 if self.kvad.prostor_za_stvari == True else 0) self.stvariBox = Checkbutton(Input, variable=self.izborStvari, onvalue=1, offvalue=0) #napuni ostale vrednostima, ako se prosledi prazan student bice prazno self.opisEntry.insert(0, kvad.opis) self.duzinaEntry.insert(0, kvad.duzina) self.sirinaEntry.insert(0, kvad.sirina) self.visinaEntry.insert(0, kvad.visina) self.brzinaEntry.insert(0, kvad.maksimalna_brzina) self.godinaEntry.insert(0, kvad.godina_proizvodnje) self.potvrdiBTN = Button(Input, text="Potvrdi", command=self.KvadCU) #Pozicije self.opisLabel.grid(row=1, sticky=E) # self.duzinaLabel.grid(row=2, sticky=E) self.sirinaLabel.grid(row=3, sticky=E) self.visinaLabel.grid(row=4, sticky=E) self.brzinaLabel.grid(row=5, sticky=E) self.godinaLabel.grid(row=6, sticky=E) self.prostorLabel.grid(row=7, sticky=E) self.pogonLabel.grid(row=8, sticky=E) self.stvariLabel.grid(row=9, sticky=E) self.opisEntry.grid(row=1, column=1) self.duzinaEntry.grid(row=2, column=1) self.sirinaEntry.grid(row=3, column=1) self.visinaEntry.grid(row=4, column=1) self.brzinaEntry.grid(row=5, column=1) self.godinaEntry.grid(row=6, column=1) self.prostorMenu.grid(row=7, column=1) self.pogonBox.grid(row=8, column=1) self.stvariBox.grid(row=9, column=1) self.potvrdiBTN.grid(columnspan=2) Input.grid(row=2, column=0, columnspan=15, rowspan=15, sticky='NESW')
def __init__(self, dzip, operacija, glavni): ''' Constructor :param dzip: objekat dzipa koji se obradjuje (create - prazan, postojeci - update) :param operacija: enumeracija koja odredjuje da li se forma koristi za insert ili update :param glavni: referenca na root view koji ga poziva ''' tk.Tk.__init__(self) tk.Tk.wm_title(self, "Dzip UD") tk.Tk.geometry(self, '220x300') self.resizable(False, False) Centriraj(self) self.dzip = dzip self.operacija = operacija #self.izabraniMenjac = self.automobil.tip_menjaca self.izabraniProstor = self.dzip.izlozbeni_prostor #referenca na glavni da se moze iskoristiti Osvezi self.glavni = glavni rows = 0 while rows < 15: self.rowconfigure(rows, weight=1) self.columnconfigure(rows, weight=1) rows += 1 Input = Frame(self) #oznaka ce se kreirati sama i inkrementirati na odredjen nacin self.opisLabel = Label(Input, text="Opis: ") self.duzinaLabel = Label(Input, text="Duzina: ") self.sirinaLabel = Label(Input, text="Sirina: ") self.visinaLabel = Label(Input, text="Visina: ") self.brzinaLabel = Label(Input, text="Max. brzina: ") self.godinaLabel = Label(Input, text="God. proizv: ") self.prostorLabel = Label(Input, text="Izloz. prostor: ") self.vrataLabel = Label(Input, text="Broj vrata: ") self.pogonLabel = Label(Input, text="Pogon 4x4: ") self.konjskihLabel = Label(Input, text="Konjskih snaga: ") self.spustajucaKlupaLabel = Label(Input, text="Spustajuca klupa: ") self.opisEntry = Entry(Input) self.duzinaEntry = Entry(Input) self.sirinaEntry = Entry(Input) self.visinaEntry = Entry(Input) self.brzinaEntry = Entry(Input) self.godinaEntry = Entry(Input) ponudjenoProstora = [] for i in Projekat().prostori: ponudjenoProstora.append(i.oznaka) izborProstora = StringVar() if (self.dzip.izlozbeni_prostor != None): izborProstora.set([ s for s in ponudjenoProstora if self.dzip.izlozbeni_prostor.oznaka in s ][0]) self.prostorIzbor(izborProstora.get()) else: izborProstora.set(ponudjenoProstora[0]) self.prostorIzbor(izborProstora.get()) self.prostorMenu = OptionMenu( Input, izborProstora, *ponudjenoProstora, command=lambda x: self.prostorIzbor(izborProstora.get())) self.vrataEntry = Entry(Input) self.izborPogonaDzip = IntVar() #da checkbox oslikava vrednost propertija pri izmeni: vrednost = 1 if self.dzip.pogon_na_sva_cetiri_tocka == True else 0 self.izborPogonaDzip.set(vrednost) self.pogonBox = Checkbutton(Input, variable=self.izborPogonaDzip, onvalue=1, offvalue=0) #self.izborPogona.trace('w', self.test) self.konjskihEntry = Entry(Input) self.izborKlupe = IntVar() vrednost1 = 1 if self.dzip.spustajuca_zadnja_klupa == True else 0 self.izborKlupe.set(vrednost1) self.klupaBox = Checkbutton(Input, variable=self.izborKlupe, onvalue=1, offvalue=0) #napuni ostale vrednostima, ako se prosledi prazan student bice prazno self.opisEntry.insert(0, dzip.opis) self.duzinaEntry.insert(0, dzip.duzina) self.sirinaEntry.insert(0, dzip.sirina) self.visinaEntry.insert(0, dzip.visina) self.brzinaEntry.insert(0, dzip.maksimalna_brzina) self.godinaEntry.insert(0, dzip.godina_proizvodnje) self.vrataEntry.insert(0, dzip.broj_vrata) self.konjskihEntry.insert(0, dzip.konjskih_snaga) self.potvrdiBTN = Button(Input, text="Potvrdi", command=self.DzipCU) #Pozicije self.opisLabel.grid(row=1, sticky=E) # self.duzinaLabel.grid(row=2, sticky=E) self.sirinaLabel.grid(row=3, sticky=E) self.visinaLabel.grid(row=4, sticky=E) self.brzinaLabel.grid(row=5, sticky=E) self.godinaLabel.grid(row=6, sticky=E) self.prostorLabel.grid(row=7, sticky=E) self.vrataLabel.grid(row=8, sticky=E) self.pogonLabel.grid(row=9, sticky=E) self.konjskihLabel.grid(row=10, sticky=E) self.spustajucaKlupaLabel.grid(row=11, sticky=E) self.opisEntry.grid(row=1, column=1) self.duzinaEntry.grid(row=2, column=1) self.sirinaEntry.grid(row=3, column=1) self.visinaEntry.grid(row=4, column=1) self.brzinaEntry.grid(row=5, column=1) self.godinaEntry.grid(row=6, column=1) self.prostorMenu.grid(row=7, column=1) self.vrataEntry.grid(row=8, column=1) self.pogonBox.grid(row=9, column=1) self.konjskihEntry.grid(row=10, column=1) self.klupaBox.grid(row=11, column=1) self.potvrdiBTN.grid(columnspan=2) Input.grid(row=2, column=0, columnspan=15, rowspan=15, sticky='NESW')
def test_sortiraj_automobile(): sorted = sortirajAutomobile('maksimalna_brzina') assert sorted != None assert len(sorted) == len(Projekat().automobili)
def __init__(self, automobil, operacija, glavni): ''' Constructor :param automobil: objekat automobila koji se obradjuje (create - prazan, postojeci - update) :param operacija: enumeracija koja odredjuje da li se forma koristi za insert ili update :param glavni: referenca na root view koji ga poziva ''' tk.Tk.__init__(self) ''' self.izabraniMenjac self.izabraniProstor ''' tk.Tk.wm_title(self, "Automobil UD") tk.Tk.geometry(self, '220x300') self.resizable(False, False) Centriraj(self) self.automobil = automobil self.operacija = operacija self.izabraniMenjac = self.automobil.tip_menjaca self.izabraniProstor = self.automobil.izlozbeni_prostor #referenca na glavni da se moze iskoristiti Osvezi self.glavni = glavni rows = 0 while rows < 15: self.rowconfigure(rows, weight=1) self.columnconfigure(rows, weight=1) rows += 1 Input = Frame(self) #oznaka ce se kreirati sama i inkrementirati na odredjen nacin self.opisLabel = Label(Input, text="Opis: ") self.duzinaLabel = Label(Input, text="Duzina: ") self.sirinaLabel = Label(Input, text="Sirina: ") self.visinaLabel = Label(Input, text="Visina: ") self.brzinaLabel = Label(Input, text="Max. brzina: ") self.godinaLabel = Label(Input, text="God. proizv: ") self.prostorLabel = Label(Input, text="Izloz. prostor: ") self.vrataLabel = Label(Input, text="Broj vrata: ") self.sedistaLabel = Label(Input, text="Broj sedista: ") self.menjacLabel = Label(Input, text="Tip menjaca: ") self.opisEntry = Entry(Input) self.duzinaEntry = Entry(Input) self.sirinaEntry = Entry(Input) self.visinaEntry = Entry(Input) self.brzinaEntry = Entry(Input) self.godinaEntry = Entry(Input) ponudjenoProstora = [] for i in Projekat().prostori: ponudjenoProstora.append(i.oznaka) izborProstora = StringVar() if (self.automobil.izlozbeni_prostor != None): izborProstora.set([ s for s in ponudjenoProstora if self.automobil.izlozbeni_prostor.oznaka in s ][0]) self.prostorIzbor(izborProstora.get()) else: izborProstora.set(ponudjenoProstora[0]) self.prostorIzbor(izborProstora.get()) self.prostorMenu = OptionMenu( Input, izborProstora, *ponudjenoProstora, command=lambda x: self.prostorIzbor(izborProstora.get())) self.vrataEntry = Entry(Input) self.sedistaEntry = Entry(Input) ponudjenoMenjaca = [] for i in TipMenjaca: ponudjenoMenjaca.append(i.name) izborMenjaca = StringVar() if (self.automobil.tip_menjaca != None): izborMenjaca.set([ s for s in ponudjenoMenjaca if self.automobil.tip_menjaca.name in s ][0]) self.menjacIzbor(izborMenjaca.get()) else: izborMenjaca.set(ponudjenoMenjaca[0]) self.menjacIzbor(izborMenjaca.get()) self.menjacMenu = OptionMenu( Input, izborMenjaca, *ponudjenoMenjaca, command=lambda x: self.menjacIzbor(izborMenjaca.get())) #napuni ostale vrednostima, ako se prosledi prazan student bice prazno self.opisEntry.insert(0, automobil.opis) self.duzinaEntry.insert(0, automobil.duzina) self.sirinaEntry.insert(0, automobil.sirina) self.visinaEntry.insert(0, automobil.visina) self.brzinaEntry.insert(0, automobil.maksimalna_brzina) self.godinaEntry.insert(0, automobil.godina_proizvodnje) self.vrataEntry.insert(0, automobil.broj_vrata) self.sedistaEntry.insert(0, automobil.broj_sedista) self.potvrdiBTN = Button(Input, text="Potvrdi", command=self.AutomobilCU) #Pozicije self.opisLabel.grid(row=1, sticky=E) # self.duzinaLabel.grid(row=2, sticky=E) self.sirinaLabel.grid(row=3, sticky=E) self.visinaLabel.grid(row=4, sticky=E) self.brzinaLabel.grid(row=5, sticky=E) self.godinaLabel.grid(row=6, sticky=E) self.prostorLabel.grid(row=7, sticky=E) self.vrataLabel.grid(row=8, sticky=E) self.sedistaLabel.grid(row=9, sticky=E) self.menjacLabel.grid(row=10, sticky=E) self.opisEntry.grid(row=1, column=1) self.duzinaEntry.grid(row=2, column=1) self.sirinaEntry.grid(row=3, column=1) self.visinaEntry.grid(row=4, column=1) self.brzinaEntry.grid(row=5, column=1) self.godinaEntry.grid(row=6, column=1) self.prostorMenu.grid(row=7, column=1) self.vrataEntry.grid(row=8, column=1) self.sedistaEntry.grid(row=9, column=1) self.menjacMenu.grid(row=10, column=1) self.potvrdiBTN.grid(columnspan=2) Input.grid(row=2, column=0, columnspan=15, rowspan=15, sticky='NESW')
def test_sortiraj_dzipove(): sorted = sortirajDzipove('konjskih_snaga') assert sorted != None assert len(sorted) == len(Projekat().dzipovi)