I just stumbled upon a bug that prevents edithtml from working in
1.0b5. (It refuses to accept any password. )
Here's a patch:
*** /usr/src/mailman-1.0b5/Mailman/HTMLFormatter.py Mon Jul 27 17:48:31 1998 --- HTMLFormatter.py Wed Aug 19 09:16:34 1998
*** 29,39 ****
class HTMLFormatter: def InitVars(self): if self._internal_name: ! self._template_dir = os.path.join(mm_cfg.LIST_DATA_DIR, ! self._internal_name) else: ! self._template_dir = mm_cfg.TEMPLATE_DIR
def GetMailmanFooter(self):
owners_html = Container()
--- 29,47 ----
class HTMLFormatter: def InitVars(self):
pass# if self._internal_name:
# self._template_dir = os.path.join(mm_cfg.LIST_DATA_DIR,
# self._internal_name)
# else:
# self._template_dir = mm_cfg.TEMPLATE_DIR
def GetTemplateDir(self): if self._internal_name:! return os.path.join(mm_cfg.LIST_DATA_DIR, self._internal_name) else: ! return mm_cfg.TEMPLATE_DIR !
def GetMailmanFooter(self):owners_html = Container()
*** 58,65 ****
def SnarfHTMLTemplate(self, file):
# XXX: hack, blech, yuk
! HTMLFormatter.InitVars(self) ! filename = os.path.join(self._template_dir, file) f = open(filename,'r') str = f.read() f.close() --- 66,74 ----
def SnarfHTMLTemplate(self, file):
# XXX: hack, blech, yuk
! # HTMLFormatter.InitVars(self) ! # Yoiks! that was ugly! -ddm ! filename = os.path.join(self.GetTemplateDir(), file) f = open(filename,'r') str = f.read() f.close()
*** 332,342 **** return item[-5:] == '.html'
files = filter(ExtensionFilter, os.listdir(mm_cfg.TEMPLATE_DIR))
! Utils.MakeDirTree(self._template_dir) for filename in files: file1 = open(os.path.join(mm_cfg.TEMPLATE_DIR, filename), 'r') text = file1.read() file1.close() ! file2 = open(os.path.join(self._template_dir, filename), 'w+') file2.write(text) file2.close() --- 341,351 ---- return item[-5:] == '.html'
files = filter(ExtensionFilter, os.listdir(mm_cfg.TEMPLATE_DIR))
! Utils.MakeDirTree(self.GetTemplateDir()) for filename in files: file1 = open(os.path.join(mm_cfg.TEMPLATE_DIR, filename), 'r') text = file1.read() file1.close() ! file2 = open(os.path.join(self.GetTemplateDir(), filename), 'w+') file2.write(text) file2.close() *** /usr/src/mailman-1.0b5/Mailman/Cgi/edithtml.py Mon Jul 27 17:48:31 1998 --- Cgi/edithtml.py Wed Aug 19 09:26:59 1998
*** 20,26 ****
import sys import os, cgi, string, types ! from Mailman import Utils, MailList from Mailman import htmlformat
--- 20,26 ----
import sys import os, cgi, string, types ! from Mailman import Utils, MailList, Errors from Mailman import htmlformat
*** 38,44 **** ('subscribe.html', 'Subscribe results page'), ('options.html', 'User specific options page'), ('handle_opts.html', 'Changing user options results page'), ! ('archives.html', 'Archives index page') )
--- 38,44 ---- ('subscribe.html', 'Subscribe results page'), ('options.html', 'User specific options page'), ('handle_opts.html', 'Changing user options results page'), ! ('roster.html', 'List roster page') )
*** 56,62 ****
try:
list = MailList.MailList(list_name, lock=0)
! except: doc.AddItem(htmlformat.Header(2, "%s : No such list" % list_name)) print doc.Format() sys.exit(0) --- 56,62 ----
try:
list = MailList.MailList(list_name, lock=0)
! except Errors.MMUnknownListError: doc.AddItem(htmlformat.Header(2, "%s : No such list" % list_name)) print doc.Format() sys.exit(0)
*** 110,116 **** try: list.ConfirmAdminPassword(cgi_data['adminpw'].value) ChangeHTML(list, cgi_data, template_name, doc) ! except: m = 'Error: Incorrect admin password.' doc.AddItem(htmlformat.Header(3, htmlformat.Italic( --- 110,116 ---- try: list.ConfirmAdminPassword(cgi_data['adminpw'].value) ChangeHTML(list, cgi_data, template_name, doc) ! except Errors.MMBadPasswordError: m = 'Error: Incorrect admin password.' doc.AddItem(htmlformat.Header(3, htmlformat.Italic(
*** 130,136 **** pass
- def InitDocument(): return htmlformat.HeadlessDocument()
--- 130,135 ----
*** 176,182 **** doc.AddItem('<hr>') return code = cgi_info['html_code'].value ! f = open(os.path.join(list._template_dir, template_name), 'w') f.write(code) f.close() doc.AddItem(htmlformat.Header(3, 'HTML successfully updated.')) --- 175,181 ---- doc.AddItem('<hr>') return code = cgi_info['html_code'].value ! f = open(os.path.join(list.GetTemplateDir(), template_name), 'w') f.write(code) f.close() doc.AddItem(htmlformat.Header(3, 'HTML successfully updated.'))
-The Dragon De Monsyne
Geez...a patch and everything!
Yes, I have yet to try editing the HTML under b5, but I experienced this same problem under b4, actually. It would not accept any password...I don't know if perhaps it was something related to the Linux whackness that Ken unraveled the other week or not...but I'll be sure to try this one out when I get a chance.
Corbett J. Klempay Quote of the Week: http://www2.acm.jhu.edu/~cklempay "There are two things a real man likes - danger and play. And he likes women because she is the most dangerous of playthings."
PGP Fingerprint: 7DA2 DB6E 7F5E 8973 A8E7 347B 2429 7728 76C2 BEA1
On Wed, 19 Aug 1998, The Dragon De Monsyne wrote:
I just stumbled upon a bug that prevents edithtml from working in 1.0b5. (It refuses to accept any password. )
Here's a patch:
*** /usr/src/mailman-1.0b5/Mailman/HTMLFormatter.py Mon Jul 27 17:48:31 1998 --- HTMLFormatter.py Wed Aug 19 09:16:34 1998
*** 29,39 ****
class HTMLFormatter: def InitVars(self): if self._internal_name: ! self._template_dir = os.path.join(mm_cfg.LIST_DATA_DIR, ! self._internal_name) else: ! self._template_dir = mm_cfg.TEMPLATE_DIR
def GetMailmanFooter(self):owners_html = Container() --- 29,47 ----
class HTMLFormatter: def InitVars(self):
pass# if self._internal_name:
# self._template_dir = os.path.join(mm_cfg.LIST_DATA_DIR,
# self._internal_name)
# else:
# self._template_dir = mm_cfg.TEMPLATE_DIR
def GetTemplateDir(self): if self._internal_name:! return os.path.join(mm_cfg.LIST_DATA_DIR, self._internal_name) else: ! return mm_cfg.TEMPLATE_DIR !
def GetMailmanFooter(self):owners_html = Container()
*** 58,65 ****
def SnarfHTMLTemplate(self, file): # XXX: hack, blech, yuk! HTMLFormatter.InitVars(self) ! filename = os.path.join(self._template_dir, file) f = open(filename,'r') str = f.read() f.close() --- 66,74 ----
def SnarfHTMLTemplate(self, file): # XXX: hack, blech, yuk! # HTMLFormatter.InitVars(self) ! # Yoiks! that was ugly! -ddm ! filename = os.path.join(self.GetTemplateDir(), file) f = open(filename,'r') str = f.read() f.close()
*** 332,342 **** return item[-5:] == '.html'
files = filter(ExtensionFilter, os.listdir(mm_cfg.TEMPLATE_DIR)) ! Utils.MakeDirTree(self._template_dir) for filename in files: file1 = open(os.path.join(mm_cfg.TEMPLATE_DIR, filename), 'r') text = file1.read() file1.close() ! file2 = open(os.path.join(self._template_dir, filename), 'w+') file2.write(text) file2.close() --- 341,351 ---- return item[-5:] == '.html'
files = filter(ExtensionFilter, os.listdir(mm_cfg.TEMPLATE_DIR)) ! Utils.MakeDirTree(self.GetTemplateDir()) for filename in files: file1 = open(os.path.join(mm_cfg.TEMPLATE_DIR, filename), 'r') text = file1.read() file1.close() ! file2 = open(os.path.join(self.GetTemplateDir(), filename), 'w+') file2.write(text) file2.close() *** /usr/src/mailman-1.0b5/Mailman/Cgi/edithtml.py Mon Jul 27 17:48:31 1998 --- Cgi/edithtml.py Wed Aug 19 09:26:59 1998
*** 20,26 ****
import sys import os, cgi, string, types ! from Mailman import Utils, MailList from Mailman import htmlformat
--- 20,26 ----
import sys import os, cgi, string, types ! from Mailman import Utils, MailList, Errors from Mailman import htmlformat
*** 38,44 **** ('subscribe.html', 'Subscribe results page'), ('options.html', 'User specific options page'), ('handle_opts.html', 'Changing user options results page'), ! ('archives.html', 'Archives index page') )
--- 38,44 ---- ('subscribe.html', 'Subscribe results page'), ('options.html', 'User specific options page'), ('handle_opts.html', 'Changing user options results page'), ! ('roster.html', 'List roster page') )
*** 56,62 ****
try: list = MailList.MailList(list_name, lock=0)! except: doc.AddItem(htmlformat.Header(2, "%s : No such list" % list_name)) print doc.Format() sys.exit(0) --- 56,62 ----
try: list = MailList.MailList(list_name, lock=0)! except Errors.MMUnknownListError: doc.AddItem(htmlformat.Header(2, "%s : No such list" % list_name)) print doc.Format() sys.exit(0)
*** 110,116 **** try: list.ConfirmAdminPassword(cgi_data['adminpw'].value) ChangeHTML(list, cgi_data, template_name, doc) ! except: m = 'Error: Incorrect admin password.' doc.AddItem(htmlformat.Header(3, htmlformat.Italic( --- 110,116 ---- try: list.ConfirmAdminPassword(cgi_data['adminpw'].value) ChangeHTML(list, cgi_data, template_name, doc) ! except Errors.MMBadPasswordError: m = 'Error: Incorrect admin password.' doc.AddItem(htmlformat.Header(3, htmlformat.Italic(
*** 130,136 **** pass
- def InitDocument(): return htmlformat.HeadlessDocument()
--- 130,135 ----
*** 176,182 **** doc.AddItem('<hr>') return code = cgi_info['html_code'].value ! f = open(os.path.join(list._template_dir, template_name), 'w') f.write(code) f.close() doc.AddItem(htmlformat.Header(3, 'HTML successfully updated.')) --- 175,181 ---- doc.AddItem('<hr>') return code = cgi_info['html_code'].value ! f = open(os.path.join(list.GetTemplateDir(), template_name), 'w') f.write(code) f.close() doc.AddItem(htmlformat.Header(3, 'HTML successfully updated.'))
-The Dragon De Monsyne
Mailman-Developers maillist - Mailman-Developers@python.org http://www.python.org/mailman/listinfo/mailman-developers
On Wed, 19 Aug 1998, Corbett J. Klempay wrote:
Geez...a patch and everything!
Service with a smile :>
Yes, I have yet to try editing the HTML under b5, but I experienced this same problem under b4, actually. It would not accept any password...I don't know if perhaps it was something related to the Linux whackness that Ken unraveled the other week or not...but I'll be sure to try this one out when I get a chance.
Hmm... Actually, it was weirdness in HTMLFormatter that lead to a
bug in edithtml that was covered up by a wildcard except: clause (gotta get rid of those... )
-The Dragon De Monsyne
participants (2)
-
Corbett J. Klempay -
The Dragon De Monsyne