Пример #1
0
 def _writePage(self, template_name, **kwargs):
     """Used to generate a standard html page using the given template.
     This method should be used by subclasses to provide default template
     value."""
     parms = {"is_login": True, "is_admin": self._user_is_admin(), "username": self.getUsername()}
     parms.update(kwargs)
     return rdw_templating.compile_template(template_name, **parms)
Пример #2
0
    def sendEmails(self):
        for user in self.userDB.list():
            userRepos = self.userDB.get_repos(user)
            oldRepos = []
            for repo in userRepos:
                maxDaysOld = self.userDB.get_repo_maxage(user, repo)
                if maxDaysOld != 0:
                    # get the last backup date
                    try:
                        lastBackup = librdiff.getLastBackupHistoryEntry(
                            os.path.join(self.userDB.get_root_dir(user), repo), False)
                    except librdiff.FileError:
                        pass  # Skip repos that have never been successfully backed up
                    else:
                        if lastBackup:
                            oldestGoodBackupTime = rdw_helpers.rdwTime()
                            oldestGoodBackupTime.initFromMidnightUTC(
                                -maxDaysOld)
                            if lastBackup.date < oldestGoodBackupTime:
                                oldRepos.append(
                                    {"repo": repo, "lastBackupDate": lastBackup.date.getDisplayString(), "maxAge": maxDaysOld})

            if oldRepos:
                userEmailAddress = self.userDB.get_email(user)
                emailText = rdw_templating.compile_template(
                    "email_notification.txt", repos=oldRepos, sender=self._getEmailSender(), user=user)

                session = smtplib.SMTP(self._getEmailHost())
                session.login(
                    self._getEmailUsername(), self._getEmailPassword())
                smtpresult = session.sendmail(
                    self._getEmailSender(), userEmailAddress.split(";"), emailText)
                session.quit()