def zapisyAdministracyjne(request, pierwszyTRZPlanem, pierwszyAZLinkiem): print("dzialam") czyKursZapisany = None czyProwadzacyZapisany = None k = models.Kurs() # obiekt bazy tabeli Kurs g = models.Grupa() # obiekt bazy tabeli Grupa p = models.Prowadzacy() # obiekt bazy tabeli Prowadzacy pl = models.Plan() # obiekt bazy tabeli Plan - GrupyStudentow uz = views.uzSesja(request) # KURS kodGrupy = pierwszyAZLinkiem.findNextSibling('td') kodGrupyTxt = kodGrupy.string.strip() # pobranie kodu grupy kodKursu = kodGrupy.findNextSibling('td') kodKursuTxt = kodKursu.string.strip() # pobranie kodu kursu nazwa = kodKursu.findNextSibling('td') nazwaKursuTxt = nazwa.string.strip() # pobranie nazwy kursu kodBlokuKursow = pierwszyTRZPlanem.findNextSibling('tr') prowadzacyIPkt = kodBlokuKursow.findNextSibling('tr') dzieciprowadzacyIPkt = prowadzacyIPkt.findChildren( 'td', False) # znalezienie wszystkich dzieci "td" od wiersza tr rodzajKursu = dzieciprowadzacyIPkt[1] rodzajKursuTxt = rodzajKursu.string.strip().encode( 'utf-8') # pobranie rodzaju kursu rodzajKursuTxtKrotki = { # Switch 'Wykład': 'W', # Jesli jest Wyklad to do rdzKursuTxtKrotki przypisane jest W 'Zajęcia laboratoryjne': 'L', 'Praktyka': 'P', 'Seminarium': 'S', 'Projekt': 'P', 'Ćwiczenia': 'Ć' }[rodzajKursuTxt] # Co sprawdzamy w Case if (dzieciprowadzacyIPkt[len(dzieciprowadzacyIPkt) - 1].string.strip() != ''): #Czasmi nie ma punktów ECTS punktyECTS = dzieciprowadzacyIPkt[len(dzieciprowadzacyIPkt) - 1].string.strip() if punktyECTS.find(',') != -1: punktyECTS = punktyECTS[:punktyECTS.index( ',' )] # Czasami te punkty sa zapisane jako np. 3,00 więc pozbywamy się tej reszty :D else: punktyECTS = '0' # W przypadku kiedy nie ma podane ECTS czyJestKurs = None try: czyJestKurs = models.Kurs.objects.get(kodKursu=kodKursuTxt) except ObjectDoesNotExist: print("Kurs doesn't exist.") if (czyJestKurs == None): k.nazwa = nazwaKursuTxt k.rodzaj = rodzajKursuTxtKrotki k.ects = punktyECTS k.kodKursu = kodKursuTxt czyKursZapisany = k.save() else: if (czyJestKurs.nazwa != nazwaKursuTxt): czyJestKurs.nazwa = nazwaKursuTxt czyJestKurs.save() if (czyJestKurs.rodzaj != rodzajKursuTxtKrotki): czyJestKurs.rodzaj = rodzajKursuTxtKrotki czyJestKurs.save() if (czyJestKurs.ects != punktyECTS): czyJestKurs.ects = punktyECTS czyJestKurs.save() # PROWADZACY prow = dzieciprowadzacyIPkt[0] imieNazwProw = prow.string.strip().split( ) # oddzielenie imienia od nazwiska tytulProw = '' # Tytul prowadzacego dlLisProw = len( imieNazwProw) # rozmiar listy z tytulemProw imieniem i nazwiskiem for i in range(0, dlLisProw - 3): # Odczytanie tytulu tytulProw += imieNazwProw[i] + " " tytulProw += imieNazwProw[dlLisProw - 3] imieProw = imieNazwProw[dlLisProw - 2] #Odczytanie imienia nazwiskoProw = imieNazwProw[dlLisProw - 1] #Odczytanie nazwiska coProw = prow.findNextSibling('td') #zapis do bazy Prowadzacego #czyJestProw = models.Prowadzacy.objects.filter(imie = imieProw, nazwisko = nazwiskoProw, tytul = tytulProw) czyJestProw = None try: czyJestProw = models.Prowadzacy.objects.get(imie=imieProw, nazwisko=nazwiskoProw, tytul=tytulProw) except ObjectDoesNotExist: print("Prowadzacy doesn't exist.") if (czyJestProw == None): p.imie = imieProw p.nazwisko = nazwiskoProw p.tytul = tytulProw p.ktoWprowadzil = uz p.dataOstZmianyDanych = datetime.date.today() p.ktoZmienilDane = uz czyProwadzacyZapisany = p.save() # GODZINY I MIEJSCE prowadzacyGrupy = models.Prowadzacy.objects.get(imie=imieProw, nazwisko=nazwiskoProw, tytul=tytulProw) kursGrupy = models.Kurs.objects.get(kodKursu=kodKursuTxt) godziny = prowadzacyIPkt.findNextSibling('tr') dataMiejsce = godziny.next.findNextSibling('td').findChildren('td') for dm in dataMiejsce: g = models.Grupa() # obiekt bazy tabeli Grupa pl = models.Plan() # obiekt bazy tabeli Plan - GrupyStudentow miejsce = "" dzien = "" parz = "" godzR = None godzZ = None czyData = None czyKursZaoczny = False listaDM = dm.string.split(',', 1) # oddzielenie daty od miejsca if listaDM[0].strip() != "bez terminu": miejsce = listaDM[1][1:] # pobranie miejsca listaDG = listaDM[0].split() # odzielenie dnia od godziny dzienIParz = listaDG[0].split('/', 1) # oddzielenie dnia od parzystosci if (len(dzienIParz) == 1): dzien = dzienIParz[0] else: dzien = dzienIParz[0] parz = dzienIParz[1] #print(dzien) czyData = re.search('^(\d{2,4})-(\d{2})-(\d{2})$', dzien) # Od daty zaczyna się dla zaocznych if (czyData == None): godz = listaDG[1].split('-', 1) # oddzielenie godz rozp od zak godzR = godz[0] godzZ = godz[1] #zapis do bazy Grupy #czyJestGrupa = models.Grupa.objects.filter(kodGrupy = kodGrupyTxt, prowadzacy = prowadzacyGrupy, dzienTygodnia = dzien, parzystosc = parz, # godzinaOd = godzR, godzinaDo = godzZ, miejsce=miejsce, kurs = kursGrupy) czyJestGrupa = None try: czyJestGrupa = models.Grupa.objects.get( kodGrupy=kodGrupyTxt, dzienTygodnia=dzien) except ObjectDoesNotExist: print("Grupa doesn't exist.") if (czyJestGrupa == None): g.kodGrupy = kodGrupyTxt g.prowadzacy = prowadzacyGrupy g.dzienTygodnia = dzien g.parzystosc = parz g.godzinaOd = godzR g.godzinaDo = godzZ g.miejsce = miejsce g.kurs = kursGrupy g.save(force_insert=True) else: #Aktualizacja grupy if (czyJestGrupa.prowadzacy != prowadzacyGrupy): czyJestGrupa.prowadzacy = prowadzacyGrupy czyJestGrupa.save() if (czyJestGrupa.dzienTygodnia != dzien): czyJestGrupa.dzienTygodnia = dzien czyJestGrupa.save() if (czyJestGrupa.parzystosc != parz): czyJestGrupa.parzystosc = parz czyJestGrupa.save() if (czyJestGrupa.godzinaOd != godzR): czyJestGrupa.godzinaOd = godzR czyJestGrupa.save() if (czyJestGrupa.godzinaDo != godzZ): czyJestGrupa.godzinaDo = godzZ czyJestGrupa.save() if (czyJestGrupa.miejsce != miejsce): czyJestGrupa.miejsce = miejsce czyJestGrupa.save() if (czyJestGrupa.kurs != kursGrupy): czyJestGrupa.kurs = kursGrupy czyJestGrupa.save() else: czyKursZaoczny = True else: czyJestGrupa = None try: czyJestGrupa = models.Grupa.objects.get(kodGrupy=kodGrupyTxt, dzienTygodnia=dzien) except ObjectDoesNotExist: print("Grupa doesn't exist.") if (czyJestGrupa == None): g.kodGrupy = kodGrupyTxt g.prowadzacy = prowadzacyGrupy g.dzienTygodnia = dzien g.parzystosc = parz g.miejsce = miejsce g.kurs = kursGrupy g.save(force_insert=True) else: if (czyJestGrupa.prowadzacy != prowadzacyGrupy): czyJestGrupa.prowadzacy = prowadzacyGrupy czyJestGrupa.save() if (czyJestGrupa.dzienTygodnia != dzien): czyJestGrupa.dzienTygodnia = dzien czyJestGrupa.save() if (czyJestGrupa.parzystosc != parz): czyJestGrupa.parzystosc = parz czyJestGrupa.save() if (czyJestGrupa.miejsce != miejsce): czyJestGrupa.miejsce = miejsce czyJestGrupa.save() if (czyJestGrupa.kurs != kursGrupy): czyJestGrupa.kurs = kursGrupy czyJestGrupa.save() if not (czyKursZaoczny): print("ZAAAAPISZ") # ZAPISANIE TYCH GRUP DO STUDENTA #student = models.Student.objects.get(uzytkownik = uz) g = models.Grupa.objects.get(kodGrupy=kodGrupyTxt, dzienTygodnia=dzien) if not (models.Plan.objects.filter(uzytkownik=uz, grupa=g).exists()): pl.uzytkownik = uz pl.grupa = g pl.save() else: if (czyKursZapisany): czyKursZapisany.delete() if (czyProwadzacyZapisany): czyProwadzacyZapisany.delete()
def zapisyAdministracyjne(request, pierwszyTRZPlanem, pierwszyAZLinkiem): print("dzialam") czyKursZapisany = None czyProwadzacyZapisany = None k = models.Kurs() # obiekt bazy tabeli Kurs g = models.Grupa() # obiekt bazy tabeli Grupa p = models.Prowadzacy() # obiekt bazy tabeli Prowadzacy pl = models.Plan() # obiekt bazy tabeli Plan - GrupyStudentow uz = views.uzSesja(request) # KURS kodGrupy = pierwszyAZLinkiem.findNextSibling('td') kodGrupyTxt = kodGrupy.string.strip() # pobranie kodu grupy kodKursu = kodGrupy.findNextSibling('td') kodKursuTxt = kodKursu.string.strip() # pobranie kodu kursu nazwa = kodKursu.findNextSibling('td') nazwaKursuTxt = nazwa.string.strip() # pobranie nazwy kursu kodBlokuKursow = pierwszyTRZPlanem.findNextSibling('tr') prowadzacyIPkt = kodBlokuKursow.findNextSibling('tr') dzieciprowadzacyIPkt = prowadzacyIPkt.findChildren('td', False) # znalezienie wszystkich dzieci "td" od wiersza tr rodzajKursu = dzieciprowadzacyIPkt[1] rodzajKursuTxt = rodzajKursu.string.strip().encode('utf-8') # pobranie rodzaju kursu rodzajKursuTxtKrotki = { # Switch 'Wykład': 'W', # Jesli jest Wyklad to do rdzKursuTxtKrotki przypisane jest W 'Zajęcia laboratoryjne': 'L', 'Praktyka': 'P', 'Seminarium': 'S', 'Projekt': 'P', 'Ćwiczenia': 'Ć' }[rodzajKursuTxt] # Co sprawdzamy w Case if(dzieciprowadzacyIPkt[len(dzieciprowadzacyIPkt)-1].string.strip() != ''): #Czasmi nie ma punktów ECTS punktyECTS = dzieciprowadzacyIPkt[len(dzieciprowadzacyIPkt)-1].string.strip() if punktyECTS.find(',') != -1: punktyECTS = punktyECTS[:punktyECTS.index(',')] # Czasami te punkty sa zapisane jako np. 3,00 więc pozbywamy się tej reszty :D else: punktyECTS = '0' # W przypadku kiedy nie ma podane ECTS czyJestKurs = None try: czyJestKurs = models.Kurs.objects.get(kodKursu = kodKursuTxt) except ObjectDoesNotExist: print("Kurs doesn't exist.") if (czyJestKurs == None): k.nazwa = nazwaKursuTxt k.rodzaj = rodzajKursuTxtKrotki k.ects = punktyECTS k.kodKursu = kodKursuTxt czyKursZapisany = k.save() else: if (czyJestKurs.nazwa != nazwaKursuTxt): czyJestKurs.nazwa = nazwaKursuTxt czyJestKurs.save() if (czyJestKurs.rodzaj != rodzajKursuTxtKrotki): czyJestKurs.rodzaj = rodzajKursuTxtKrotki czyJestKurs.save() if (czyJestKurs.ects != punktyECTS): czyJestKurs.ects = punktyECTS czyJestKurs.save() # PROWADZACY prow = dzieciprowadzacyIPkt[0] imieNazwProw = prow.string.strip().split() # oddzielenie imienia od nazwiska tytulProw = '' # Tytul prowadzacego dlLisProw = len(imieNazwProw) # rozmiar listy z tytulemProw imieniem i nazwiskiem for i in range(0, dlLisProw-3): # Odczytanie tytulu tytulProw += imieNazwProw[i] + " " tytulProw += imieNazwProw[dlLisProw-3] imieProw = imieNazwProw[dlLisProw-2] #Odczytanie imienia nazwiskoProw = imieNazwProw[dlLisProw-1] #Odczytanie nazwiska coProw = prow.findNextSibling('td') #zapis do bazy Prowadzacego #czyJestProw = models.Prowadzacy.objects.filter(imie = imieProw, nazwisko = nazwiskoProw, tytul = tytulProw) czyJestProw = None try: czyJestProw = models.Prowadzacy.objects.get(imie = imieProw, nazwisko = nazwiskoProw, tytul = tytulProw) except ObjectDoesNotExist: print("Prowadzacy doesn't exist.") if (czyJestProw == None): p.imie = imieProw p.nazwisko = nazwiskoProw p.tytul = tytulProw p.ktoWprowadzil = uz p.dataOstZmianyDanych = datetime.date.today() p.ktoZmienilDane = uz czyProwadzacyZapisany = p.save() # GODZINY I MIEJSCE prowadzacyGrupy = models.Prowadzacy.objects.get(imie = imieProw, nazwisko = nazwiskoProw, tytul = tytulProw) kursGrupy = models.Kurs.objects.get(kodKursu = kodKursuTxt) godziny = prowadzacyIPkt.findNextSibling('tr') dataMiejsce = godziny.next.findNextSibling('td').findChildren('td') for dm in dataMiejsce: g = models.Grupa() # obiekt bazy tabeli Grupa pl = models.Plan() # obiekt bazy tabeli Plan - GrupyStudentow miejsce = "" dzien = "" parz = "" godzR = None godzZ = None czyData = None czyKursZaoczny = False listaDM = dm.string.split(',', 1) # oddzielenie daty od miejsca if listaDM[0].strip() != "bez terminu": miejsce = listaDM[1][1:] # pobranie miejsca listaDG = listaDM[0].split() # odzielenie dnia od godziny dzienIParz = listaDG[0].split('/', 1) # oddzielenie dnia od parzystosci if (len(dzienIParz) == 1): dzien = dzienIParz[0] else: dzien = dzienIParz[0] parz = dzienIParz[1] #print(dzien) czyData = re.search('^(\d{2,4})-(\d{2})-(\d{2})$', dzien) # Od daty zaczyna się dla zaocznych if (czyData == None): godz = listaDG[1].split('-', 1) # oddzielenie godz rozp od zak godzR = godz[0] godzZ = godz[1] #zapis do bazy Grupy #czyJestGrupa = models.Grupa.objects.filter(kodGrupy = kodGrupyTxt, prowadzacy = prowadzacyGrupy, dzienTygodnia = dzien, parzystosc = parz, # godzinaOd = godzR, godzinaDo = godzZ, miejsce=miejsce, kurs = kursGrupy) czyJestGrupa = None try: czyJestGrupa = models.Grupa.objects.get(kodGrupy = kodGrupyTxt, dzienTygodnia = dzien) except ObjectDoesNotExist: print("Grupa doesn't exist.") if( czyJestGrupa == None ): g.kodGrupy = kodGrupyTxt g.prowadzacy = prowadzacyGrupy g.dzienTygodnia = dzien g.parzystosc = parz g.godzinaOd = godzR g.godzinaDo = godzZ g.miejsce = miejsce g.kurs = kursGrupy g.save(force_insert=True) else: #Aktualizacja grupy if (czyJestGrupa.prowadzacy != prowadzacyGrupy): czyJestGrupa.prowadzacy = prowadzacyGrupy czyJestGrupa.save() if (czyJestGrupa.dzienTygodnia != dzien): czyJestGrupa.dzienTygodnia = dzien czyJestGrupa.save() if (czyJestGrupa.parzystosc != parz): czyJestGrupa.parzystosc = parz czyJestGrupa.save() if (czyJestGrupa.godzinaOd != godzR): czyJestGrupa.godzinaOd = godzR czyJestGrupa.save() if (czyJestGrupa.godzinaDo != godzZ): czyJestGrupa.godzinaDo = godzZ czyJestGrupa.save() if (czyJestGrupa.miejsce != miejsce): czyJestGrupa.miejsce = miejsce czyJestGrupa.save() if (czyJestGrupa.kurs != kursGrupy): czyJestGrupa.kurs = kursGrupy czyJestGrupa.save() else: czyKursZaoczny = True else: czyJestGrupa = None try: czyJestGrupa = models.Grupa.objects.get(kodGrupy = kodGrupyTxt, dzienTygodnia = dzien) except ObjectDoesNotExist: print("Grupa doesn't exist.") if( czyJestGrupa == None ): g.kodGrupy = kodGrupyTxt g.prowadzacy = prowadzacyGrupy g.dzienTygodnia = dzien g.parzystosc = parz g.miejsce = miejsce g.kurs = kursGrupy g.save(force_insert=True) else: if (czyJestGrupa.prowadzacy != prowadzacyGrupy): czyJestGrupa.prowadzacy = prowadzacyGrupy czyJestGrupa.save() if (czyJestGrupa.dzienTygodnia != dzien): czyJestGrupa.dzienTygodnia = dzien czyJestGrupa.save() if (czyJestGrupa.parzystosc != parz): czyJestGrupa.parzystosc = parz czyJestGrupa.save() if (czyJestGrupa.miejsce != miejsce): czyJestGrupa.miejsce = miejsce czyJestGrupa.save() if (czyJestGrupa.kurs != kursGrupy): czyJestGrupa.kurs = kursGrupy czyJestGrupa.save() if not(czyKursZaoczny): print("ZAAAAPISZ") # ZAPISANIE TYCH GRUP DO STUDENTA #student = models.Student.objects.get(uzytkownik = uz) g = models.Grupa.objects.get(kodGrupy = kodGrupyTxt, dzienTygodnia = dzien) if not(models.Plan.objects.filter(uzytkownik = uz, grupa = g).exists()): pl.uzytkownik = uz pl.grupa = g pl.save() else: if (czyKursZapisany): czyKursZapisany.delete() if (czyProwadzacyZapisany): czyProwadzacyZapisany.delete()
def usunZajecia(request): uz = views.uzSesja(request) try: models.Plan.objects.filter(uzytkownik=uz).delete() except: print("Nie ma zadnych zajec. Czyste konto.")
def usunZajecia(request): uz = views.uzSesja(request) try: models.Plan.objects.filter(uzytkownik = uz).delete() except: print("Nie ma zadnych zajec. Czyste konto.")