Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import json
- import sys
- import traceback
- def main():
- PageMaker.make_welcome_page('hyuki@hyuki.com', 'welcome.html')
- PageMaker.make_welcome_page('mamoru@hyuki.com', 'welcome2.html')
- class PageMaker:
- @classmethod
- def make_welcome_page(cls, mailaddr, filename):
- try:
- maildict = Database.get_json('maildata')
- username = maildict[mailaddr]
- writer = HtmlWriter(open(filename, 'w'))
- writer.title('Welcom to {}s page!'.format(username))
- writer.paragraph(username + 'のページへようこそ。')
- writer.paragraph('メール待っています。')
- writer.mailto(mailaddr, username)
- writer.close()
- print('{} is created for {} ({})'.format(filename, mailaddr, username))
- except Exception as e:
- _, _, tb = sys.exc_info()
- traceback.print_tb(tb)
- class Database:
- def __init__(self):
- pass
- @classmethod
- def get_json(cls, dbname):
- filename = dbname + '.json'
- data = open(filename, 'r')
- try:
- j = json.load(data)
- except Exception:
- print('Warning: ' + filename + ' is not found.')
- return j
- class HtmlWriter:
- def __init__(self, writer):
- self.writer = writer
- def title(self, title):
- self.writer.write('<html>\n')
- self.writer.write('<head>')
- self.writer.write('<title>{}</title>'.format(title))
- self.writer.write('</head>\n')
- self.writer.write('<body>\n')
- self.writer.write('<h1>{}</h1>\n'.format(title))
- def paragraph(self, msg):
- self.writer.write('<p>{}</p>\n'.format(msg))
- def link(self, href, caption):
- self.writer.write('<a href="{}">{}</a>'.format(href, caption))
- def mailto(self, mailaddr, username):
- self.link('mmailto:' + mailaddr, username)
- def close(self):
- self.writer.write('</body>\n')
- self.writer.write('</html>\n')
- self.writer.close()
- if __name__ == '__main__':
- main()
Add Comment
Please, Sign In to add comment