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)
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()