[Tutor] Weird error message

Conrad Koziol arkamir at softhome.net
Thu Nov 6 18:33:19 EST 2003

Hey Danny thanks for the tips but it still doesn't work. :(
I've deduced from the error messages it has too do something with the
date time object of x[1].
I was hoping you guys could supply me with an answer.

This is the code in question:
import MySQLdb
import re
import compare
import numberofpages
import display
import time 
db = MySQLdb.connect(host='localhost', user='conrad',
passwd='mysqlinsecret', db='cgi')

cursor = db.cursor()
#import retrieveposts
#retrieveposts.retrieve_posts('general', 'Hello, World', 20)

def retrieve_posts(forum, thread, end_post):
	giventemplate = 'posttemplate'
	inputtemplate = open(giventemplate, 'r')
	posttemplate = inputtemplate.read()
	start_post = end_post - 20
	cursor.execute('''select names, dates, subjects, posts, positions from
%s where threads = \'%s\' and positions > \'%s\' and positions <
\'%s\'''' % (forum, thread, start_post, end_post))
	postsinfo = cursor.fetchall()
	postsinfo = list(postsinfo)
	posts = posttemplate
	subsitutes = ['NAME', 'DATE', 'SUBJECT', 'POST']
	list_of_posts = []
	# 1111111 expression = '<!--INSERT %s HERE-->' 
	content1 = re.escape('<!--INSERT NAME HERE-->')
	content2 = re.escape('<!--INSERT DATE HERE-->')
	content3 = re.escape('<!--INSERT SUBJECT HERE-->')
	content4 = re.escape('<!--INSERT POST HERE-->')
	for post in postsinfo:
		#change it from a datetime object
		for value in range(4):
			# 1111111 posts = re.sub((expression, post[value], posts) %
			posts = re.sub(content1, post[0], posts)
			#this is where the error occurs
			posts = re.sub(content2, post[1], posts)
			posts = re.sub(content3, post[2], posts)
			posts = re.sub(content4, post[3], posts)
			print posts
			posts = posttemplate
This is posttemplate:
<div class="postholder">
	<div class="name">
					<!--INSERT NAME HERE-->
					<p>Posted on: <!--INSERT DATE HERE-->  </p>
	<div class="subject">
	<div class="post"> 

This is the error message:

>>> import retrieveposts
>>> retrieveposts.retrieve_posts('general', 'Hello, World', 20)
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "retrieveposts.py", line 45, in retrieve_posts
    posts = re.sub(content2, post[1], posts)
  File "/usr/lib/python2.2/sre.py", line 143, in sub
    return _compile(pattern, 0).sub(repl, string, count)
  File "/usr/lib/python2.2/sre.py", line 257, in _subx
    template = _compile_repl(template, pattern)
  File "/usr/lib/python2.2/sre.py", line 242, in _compile_repl
    p = sre_parse.parse_template(repl, pattern)
  File "/usr/lib/python2.2/sre_parse.py", line 644, in parse_template
    s = Tokenizer(source)
  File "/usr/lib/python2.2/sre_parse.py", line 186, in __init__
  File "/usr/lib/python2.2/sre_parse.py", line 188, in __next
    if self.index >= len(self.string):
TypeError: len() of unsized object

Thanks for the help

More information about the Tutor mailing list