Files
GeneratorCSV/Uczniowie/Generator e-mail/Generator e-mail (2018-19)/generator_email.py

140 lines
3.7 KiB
Python
Raw Normal View History

2020-08-06 17:15:26 +02:00
"""
Program generujący plik do importu z danymi potrzebnymi do stworzenia kont email
Mateusz Skoczek
luty 2019
LO im. T. Kościuszki w Sobolewie
"""
# Funkcje konwertujące litery #
def duze_na_male(text):
# Funkcja zmienia duże litery na małe
return text.lower()
def polskie_na_lacinskie(text):
# Funkcja zamienia małe polskie litery na małe łacińskie litery
# oraz duże polskie litery na małe łacińskie litery
text1 = text.replace('ę', 'e')
text2 = text1.replace('ó', 'o')
text3 = text2.replace('ą', 'a')
text4 = text3.replace('ś', 's')
text5 = text4.replace('ł', 'l')
text6 = text5.replace('ż', 'z')
text7 = text6.replace('ź', 'z')
text8 = text7.replace('ć', 'c')
text9 = text8.replace('ń', 'n')
text10 = text9.replace('Ę', 'e')
text11 = text10.replace('Ó', 'o')
text12 = text11.replace('Ą', 'a')
text13 = text12.replace('Ś', 's')
text14 = text13.replace('Ł', 'l')
text15 = text14.replace('Ż', 'z')
text16 = text15.replace('Ź', 'z')
text17 = text16.replace('Ć', 'c')
text = text17.replace('Ń', 'n')
return text
def konwersja_liter(text):
# Funkcja zamienia jednocześnie duże litery na małe oraz polskie na łacińskie
text = duze_na_male(text)
text = polskie_na_lacinskie(text)
return text
################################
# Funkcja do tworzenia inicjałów #
def inicjaly(imie, nazwisko):
nazwisko_tab = nazwisko.split(' ')
nazwisko_inicjaly = ''
for fragment_nazwiska in nazwisko_tab:
nazwisko_inicjaly += fragment_nazwiska[0]
return imie[0] + nazwisko_inicjaly
##################################
# START #
lista = open('lista.txt')
lista_do_importu_write = open('konta.csv', 'w')
try:
zawartosc = lista.read()
finally:
lista.close()
dane_osob = zawartosc.split('\n\n')
for ciag_danych in dane_osob:
dane = ciag_danych.split('\n')
klasa = dane[0]
imie = ((dane[1]).split(', '))[1]
nazwisko = ((dane[1]).split(', '))[0]
login = dane[3]
imie_male = konwersja_liter(imie)
nazwisko_male = konwersja_liter(nazwisko).replace(' ', '.')
if klasa[3:] == 'LO':
numer_klasy = int(klasa[0])
if numer_klasy == 1:
rok_ukoncz = '2021'
elif numer_klasy == 2:
rok_ukoncz = '2020'
elif numer_klasy == 3:
rok_ukoncz = '2019'
znacznik_klasy = rok_ukoncz + klasa[1]
elif klasa[3:] == 'BS':
numer_klasy = int(klasa[0])
if numer_klasy == 1:
rok_ukoncz = '2021'
elif numer_klasy == 2:
rok_ukoncz = '2020'
elif numer_klasy == 3:
rok_ukoncz = '2019'
znacznik_klasy = rok_ukoncz + 'bs'
elif klasa[3:] == 'ZSZ':
znacznik_klasy = '2019zsz'
elif klasa[3:] == 'LOD':
numer_klasy = int(klasa[0])
if numer_klasy == 3:
rok_ukoncz = '2020'
elif numer_klasy == 5:
rok_ukoncz = '2019'
znacznik_klasy = rok_ukoncz + 'lod'
haslo = login + ':' + inicjaly(imie, nazwisko)
dane_do_konta = imie_male + '.' + nazwisko_male + znacznik_klasy + '@losobolew.pl,' + haslo + ',500\n'
# <email>,<hasło (login do librusa)>,500
# email:
# LO: <imie>.<nazwisko>(<rok_ukończenia_szkoły><litera_klasy>)@losobolew.pl
# BS: <imie>.<nazwisko>(<rok_ukończenia_szkoły>bs)@losobolew.pl
# ZSZ: <imie>.<nazwisko>(<rok_ukończenia_szkoły>zsz)@losobolew.pl
# LOD: <imie>.<nazwisko>(<rok_ukończenia_szkoły>lod)@losobolew.pl
lista_do_importu_write.write(dane_do_konta)
lista_do_importu_write.close()