Пример #1
0
    def updateListOfUnpaid(self, i, numberOfPermissions):
        i += 1

        for x in range(i,i+numberOfPermissions):
            self.lUnpaid.append(x)

        self.list.clear()
        self.lPaid.sort()
        self.lUnpaid.sort()

        self.labelPaid.config(text=listToCommaSeperatedString(self.lPaid[-10:]))
        self.list.append(self.labelPaid)
        self.labelUnpaid.config(text=listToCommaSeperatedString(self.lUnpaid))
        self.list.append(self.labelUnpaid)
Пример #2
0
def sendEmail(fileName, toAddrs, subject, body):

    msg = email.mime.multipart.MIMEMultipart()

    msg['Subject'] = subject
    msg['From'] = GMAIL['ADRESS']
    if isinstance(toAddrs, list):
        msg['To'] = listToCommaSeperatedString(toAddrs)
    else:
        msg['To'] = toAddrs

    # The main body is just another attachment
    body = email.mime.text.MIMEText(body)
    msg.attach(body)

    # PDF attachment
    fp=open(fileName,'rb')
    att = email.mime.application.MIMEApplication(fp.read(),_subtype="pdf")
    fp.close()
    att.add_header('Content-Disposition','attachment',filename=fileName)
    msg.attach(att)

    # Credentials (if needed)
    username = GMAIL['ADRESS']


    # send via Gmail server
    # NOTE: my ISP, Centurylink, seems to be automatically rewriting
    # port 25 packets to be port 587 and it is trashing port 587 packets.
    # So, I use the default port 25, but I authenticate.
    s = smtplib.SMTP('smtp.gmail.com:587')
    s.starttls()
    s.login(username,GMAIL['PASSWORD'])
    s.sendmail(msg['From'], toAddrs, msg.as_string())
    s.quit()
Пример #3
0
def addToCompilationStory(lStory, styles, d, year, month, tableStyle):

    ptext = '<font size=18>%s</font>' % month
    lStory.append(Paragraph(ptext, styles["Justify"]))

    lStory.append(Spacer(1, 15))

    data = [['Lgh nr', 'Antal', 'Tillstånds ID', 'Att betala']]

    agg_nr_of_paid = 0

    for appartmentNumber in sorted(d.keys()):
        nr_of_paid = len(d[appartmentNumber])
        agg_nr_of_paid += nr_of_paid

        data.append([appartmentNumber, str(nr_of_paid), listToCommaSeperatedString(sorted(d[appartmentNumber])), "%d kr" % (nr_of_paid*INFO['PRICE_PER_PERMISSION'])])

    s = getSampleStyleSheet()
    s = s["BodyText"]
    data2 = [[Paragraph(cell, s) for cell in row] for row in data]
    t=Table(data2)
    t.setStyle(tableStyle)

    lStory.append(t)
    lStory.append(Spacer(1, 15))

    summary = "I %s %s betalades %d parkeringstillstånd á %d kr. " % (month, year, agg_nr_of_paid, (agg_nr_of_paid*INFO['PRICE_PER_PERMISSION']))
    ptext = '<font size=14>%s</font>' % summary
    lStory.append(Paragraph(ptext, styles["Justify"]))

    lStory.append(Spacer(1, 50))

    return lStory
Пример #4
0
    def generateFirstPage(self, apartmentNumber, dPaid, lUnpaid, lEmail):
        self.apartmentNumber = apartmentNumber
        self.lPaid = [int(x) for x in dPaid.keys()]
        self.dPaid_dates = dPaid
        self.lUnpaid = lUnpaid
        self.lEmail = lEmail

        self.lPaid.sort()

        self.label.config(text=apartmentNumber)

        stringPaid = listToCommaSeperatedString(self.lPaid[-10:])
        self.labelPaid = tk.Label(self, text=stringPaid)
        self.labelPaid.grid(row=1, column=1)
        self.list.append(self.labelPaid)

        stringUnpaid = listToCommaSeperatedString(lUnpaid)
        self.labelUnpaid = tk.Label(self, text=stringUnpaid)
        self.labelUnpaid.grid(row=2, column=1)
        self.list.append(self.labelUnpaid)

        self.lEmail = lEmail

        try:
            self.email1 = tk.Label(self, text=lEmail[0])
            self.email1.grid(row=3, column=1)
            self.list.append(self.email1)
        except:
            self.email1 = tk.Label(self, text='')
            self.email1.grid(row=3, column=1)
            self.list.append(self.email1)

        try:
            self.email2 = tk.Label(self, text=lEmail[1])
            self.email2.grid(row=4, column=1)
            self.list.append(self.email2)
        except:
            self.email2 = tk.Label(self, text='')
            self.email2.grid(row=4, column=1)
            self.list.append(self.email2)

        button3 = tk.Button(self, text="Markera betalade", command=self.markAsPaid)
        button3.grid(row=2, column=2)
        self.list.append(button3)
Пример #5
0
    def updateValues(self, dMarkedAsPaid):
        self.lPaid += dMarkedAsPaid.keys()
        self.lUnpaid = [x for x in self.lUnpaid if x not in dMarkedAsPaid.keys()]
        self.list.clear()
        self.lPaid.sort()
        self.lUnpaid.sort()

        for idnbr in dMarkedAsPaid.keys():
            #print(idnbr, dMarkedAsPaid[idnbr])
            self.dPaid_dates[str(idnbr)] = dMarkedAsPaid[idnbr]


        #print(self.dPaid_dates)

        self.labelPaid.config(text=listToCommaSeperatedString(self.lPaid))
        self.labelUnpaid.config(text=listToCommaSeperatedString(self.lUnpaid))
        self.list.append(self.labelPaid)
        self.list.append(self.labelUnpaid)

        updateFile_PaidUnpaid(self.apartmentNumber, self.dPaid_dates, self.lUnpaid)
Пример #6
0
def returnCSVEmail(specificHouse = None):
    with open(FILENAME) as data_file:
        data = json.load(data_file)

    lEmail = []

    for key in data.keys():
        if specificHouse:
            if not key.startswith(specificHouse):
                continue

        lEmail.extend(data[key]['email'])

    return listToCommaSeperatedString(lEmail)