diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cd96f2e --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +/auto-py-to-exe +/config.txt +/configfile.ini +/get-pip.py +/hembrev - kopia.py +/hembrev v46.docx +/hembrev v47.docx +/hembrev v48.docx +/hembrev.spec \ No newline at end of file diff --git a/config.ini b/config.ini new file mode 100644 index 0000000..631ff11 --- /dev/null +++ b/config.ini @@ -0,0 +1,7 @@ +[Emails] +email1 = w3g +email2 = rg +email3 = ewg +email4 = wg4 +email5 = egw + diff --git a/hembrev.exe b/hembrev.exe new file mode 100644 index 0000000..6f986f2 Binary files /dev/null and b/hembrev.exe differ diff --git a/hembrev.py b/hembrev.py new file mode 100644 index 0000000..c253e28 --- /dev/null +++ b/hembrev.py @@ -0,0 +1,213 @@ +import datetime +from docx import Document +from docx.shared import Inches +import os +import win32com.client as win32 +import configparser +dt = datetime.date.today() +wk = dt.isocalendar()[1] +document = Document() +olApp = win32.Dispatch('Outlook.Application') +number_of_tables = [1, 2, 3] + + +config = configparser.ConfigParser() +config.read('config.ini') +mail1 = config.get('Emails', 'email1') +mail2 = config.get('Emails', 'email2') +mail3 = config.get('Emails', 'Email3') +mail4 = config.get('Emails', 'Email4') +mail5 = config.get('Emails', 'Email5') + +document.add_heading('Hembrev', 0) + +p = document.add_paragraph('Skolarbete') + +armatte = input("vad gör du i matten? ") +lermatte = input("Vad har du lärt dig i matten? ") +notematte = input("Har du någon note för matten? ") + +arsv = input("Vad gör du i Svenskan? ") +lersv = input("Vad har du lärt dig i svenskan? ") +notesv = input("har du någon note för svenskan? ") + +areng = input("Vad gör du i Engelskan? ") +lereng = input("Vad har du lärt dig i engelskan? ") +noteeng = input("har du någon note för engelskan? ") + +arno = input("Vad gör du i NO? ") +lerno = input("Vad har du lärt dig i NO? ") +noteno = input("har du någon note för NO? ") + +arso = input("Vad gör du i SO? ") +lerso = input("Vad har du lärt dig i SO? ") +noteso = input("har du någon note för SO? ") + +aridh = input("Vad gör du i idrott? ") +leridh = input("Vad har du lärt dig i Idrotten? ") +noteidh = input("har du någon note för idrotten? ") + +armu = input("Vad gör du i musiken? ") +lermu = input("Vad har du lärt dig i musiken? ") +notemu = input("har du någon note för Musik? ") + +arbi = input("Vad gör du i Bilden? ") +lerbi = input("Vad har du lärt dig i Bilden? ") +notebi = input("har du någon note för Bild? ") + +arhkk = input("Vad gör du i hemkunskapen? ") +lerhkk = input("Vad har du lärt dig i hemkunskapen? ") +notehkk = input("har du någon note för hemkunskap? ") + +arsp = input("Vad gör du i spanskan? ") +lersp = input("Vad har du lärt dig i spanskan? ") +notesp = input("har du någon note för Spanskan? ") + +arsl = input("Vad gör du i slöjden? ") +lersl = input("Vad har du lärt dig i slöjden? ") +notesl = input("har du någon note för slöjden? ") + +rester = input("har du några rester (ja eller nej)") +if rester == "ja": + vad1 = input("vad för rester har du? ") + när1 = input("när ska du göra dem? ") + hur1 = input("hur ska du göra dem? ") + vad2 = input("vad för rester har du? ") + när2 = input("när ska du göra dem? ") + hur2 = input("hur ska du göra dem? ") + vad3 = input("vad för rester har du? ") + när3 = input("när ska du göra dem? ") + hur3 = input("hur ska du göra dem? ") +else: + vad1 = " " + hur1 = " " + när1 = " " + vad2 = " " + hur2 = " " + när2 = " " + vad3 = " " + hur3 = " " + när3 = " " + + + +hend = input("Har ni något som kommer hända (ja eller nej)? ") +if hend == "ja": + henvad1 = input("Vad ska ni göra? ") + hendnär1 = input("När ska ni göra det? ") + hendvad2 = input("vad för rester har du? ") + hendnär2 = input("När ska ni göra det? ") + hendvad3 = input("Vad ska ni göra? ") + hendnär3 = input("När ska ni göra det? ") +else: + hendvad1 = " " + hendnär1 = " " + hendvad2 = " " + hendnär2 = " " + hendvad3 = " " + hendnär3 = " " +if notematte == "nej" or notematte == "no": + notematte = "-" +if notesv == "nej" or notesv == "no": + notesv = "-" +if noteeng == "nej" or noteeng == "no": + noteeng = "-" +if noteno == "nej" or noteno == "no": + noteno = "-" +if noteso == "nej" or noteso == "no": + noteso = "-" +if noteidh == "nej" or noteidh == "no": + noteidh = "-" +if notemu == "nej" or notemu == "no": + notemu = "-" +if noteidh == "nej" or noteidh == "no": + noteidh = "-" +if notebi == "nej" or notebi == "no": + notebi = "-" +if notehkk == "nej" or notehkk == "no": + notehkk = "-" +if notesl == "nej" or notesl == "no": + notesl = "-" +if notesp == "nej" or notesp == "no": + notesp = "-" + + + +records = ( + ("Matte", armatte, lermatte, notematte), + ("svenska", arsv, lersv, notesv), + ("Engelska", areng, lereng, noteeng), + ("NO", arno, lerno, noteno), + ("SO", arso, lerso, noteso), + ("Idrott", aridh, leridh, noteidh), + ("Musik", armu, lermu, notemu), + ("Bild", arbi, lerbi, notebi), + ("Hemkundskap", arhkk, lerhkk, notehkk), + ("Slöjd", arsl, lersl, notesl), + ("Spanska", arsp, lersp, notesp), + +) +rester = ( + ( vad1, när1, hur1), + ( vad2, när2, hur2), + ( vad3, när3, hur3) + ) +hend = ( + ( hendvad1, hendnär1), + ( hendvad2, hendnär2), + ( hendvad3, hendnär3) +) + +table1 = document.add_table(rows=1, cols=4) +hdr_cells = table1.rows[0].cells +hdr_cells[0].text = 'Ämne:' +hdr_cells[1].text = 'Arbetsområde:' +hdr_cells[2].text = 'Detta har jag lärt mig:' +hdr_cells[3].text = 'Notes:' +for qty, id, desc, des in records: + row_cells = table1.add_row().cells + row_cells[0].text = qty + row_cells[1].text = id + row_cells[2].text = desc + row_cells[3].text = des +document.add_heading('Rester', 0) +table2 = document.add_table(rows=1, cols=3) +hdr_cells = table2.rows[0].cells +hdr_cells[0].text = 'Rester' +hdr_cells[1].text = 'När' +hdr_cells[2].text = 'Hur' +for vad1, vad2, vad3 in rester: + row_cells = table2.add_row().cells + row_cells[0].text = vad1 + row_cells[1].text = vad2 + row_cells[2].text = vad3 +document.add_heading('Händelser', 0) +table3 = document.add_table(rows=1, cols=2) +hdr_cells = table3.rows[0].cells +hdr_cells[0].text = 'vad' +hdr_cells[1].text = 'När' +for vad1, vad2, vad3 in rester: + row_cells = table3.add_row().cells + row_cells[0].text = hendvad1 + row_cells[1].text = hendvad2 +document.add_page_break() + +document.save('hembrev v' + str(wk) + ".docx") +docname = 'hembrev v' + str(wk) + ".docx" +olApp = win32.Dispatch('Outlook.Application') +olNS = olApp.GetNameSpace('MAPI') + +# construct the email item object +mailItem = olApp.CreateItem(0) +mailItem.Subject = 'Hembrev' +mailItem.BodyFormat = 1 +mailItem.Body = "hembrev" +mailItem.To = "liam@suorsa.se" + + +mailItem.Attachments.Add(os.path.join(os.getcwd(), docname)) + +mailItem.Display() + +mailItem.Save() +mailItem.Send() diff --git a/install.py b/install.py new file mode 100644 index 0000000..4c9b646 --- /dev/null +++ b/install.py @@ -0,0 +1,11 @@ +from distutils.core import setup + +setup(name='Distutils', + version='1.0', + description='Python Distribution Utilities', + author='Greg Ward', + author_email='gward@python.net', + url='https://www.python.org/sigs/distutils-sig/', + packages=['distutils', 'distutils.command'], + ) +py_modules = ['datetime', 'docx', 'docx.shared', 'os', 'win32com.client', 'Inches', 'document'] \ No newline at end of file diff --git a/setuptest.py b/setuptest.py new file mode 100644 index 0000000..64bdaac --- /dev/null +++ b/setuptest.py @@ -0,0 +1,31 @@ +import os +from configparser import ConfigParser + + +isExist = os.path.exists('config.txt') + + +Aemail = input("skriv ett av mailadresserna som ska få hembrevet: ") +Bemail = input("skriv ett av mailadresserna som ska få hembrevet: ") +Cemail = input("skriv ett av mailadresserna som ska få hembrevet: ") +Demail = input("skriv ett av mailadresserna som ska få hembrevet: ") +Eemail = input("skriv ett av mailadresserna som ska få hembrevet: ") + + + +config_object = ConfigParser() + +#Assume we need 2 sections in the config file, let's call them USERINFO and SERVERCONFIG +config_object["Emails"] = { + "email1": Aemail, + "email2": Bemail, + "email3": Cemail, + "email4": Demail, + "email5": Eemail +} + + + +#Write the above sections to config.ini file +with open('config.ini', 'w') as conf: + config_object.write(conf) \ No newline at end of file diff --git a/test.py b/test.py new file mode 100644 index 0000000..242d043 --- /dev/null +++ b/test.py @@ -0,0 +1,24 @@ +import os +import configparser +config = configparser.ConfigParser() + +isExist = os.path.exists('config.txt') + +if isExist == False: + Aemail = input("skriv ett av mailadresserna som ska få hembrevet: ") + Bemail = input("skriv ett av mailadresserna som ska få hembrevet: ") + Cemail = input("skriv ett av mailadresserna som ska få hembrevet: ") + Demail = input("skriv ett av mailadresserna som ska få hembrevet: ") + Eemail = input("skriv ett av mailadresserna som ska få hembrevet: ") + config.add_section('Emails') + config.set('Emails', 'Email1', Aemail) + config.set('Emails', 'Email2', Bemail) + config.set('Emails', 'Email3', Cemail) + config.set('Emails', 'Email4', Demail) + config.set('Emails', 'Email5', Eemail) +# Write the new structure to the new file + with open(r"config.txt", 'w') as config: + config.write(config) +isExist = os.path.exists('config.txt') +if isExist == False: + print("an error acurred") \ No newline at end of file