469,290 Members | 1,887 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,290 developers. It's quick & easy.

Re: Custom Classes?



On Wed, 2008-04-30 at 11:02 -0500, Victor Subervi wrote:
Hi;
I have the following code which produces a file every time I need to
display an image from MySQL. What garbage! Surely, python is capable
of better than this, but the last time I asked for help on it, I got
no responses. Is this only possible with custom classes? Please, give
me some guidance here!
try:

w += 1

getpic = "getpic" + str(w) + ".py"

try:

os.remove(getpic)

except:

pass

code = """

#!/usr/local/bin/python

import cgitb; cgitb.enable()

import MySQLdb

import cgi

import sys,os

sys.path.append(os.getcwd())

from login import login

user, passwd, db, host = login()

form = cgi.FieldStorage()

picid = int(form["id"].value)

x = int(form["x"].value)

pics =
{1:'pic1',2:'pic1_thumb',3:'pic2',4:'pic2_thumb',5 :'pic3',6:'pic3_thumb',7:'pic4',8:'pic4_thumb',\

9:'pic5',10:'pic5_thumb',11:'pic6',12:'pic6_thumb' }

pic = pics[x]

print 'Content-Type: text/html'

db = MySQLdb.connect(host=host, user=user, passwd=passwd, db=db)

cursor= db.cursor()

sql = "select " + pic + " from products where id='" + str(picid) +
"';"

cursor.execute(sql)

content = cursor.fetchall()[0][0].tostring()

cursor.close()

print 'Content-Type: image/jpeg'

print

print content

"""

script = open(getpic, "w")

script.write(code)

print '<td><input type="hidden" name="%s"' % str(x), ' value="%s">'
% pic

print '<img src="%s?id=%d&x=%d"><br /><br /></td>\n' % (getpic, d,
y)
TIA,
Victor
Victor,

Once again, you've posted code that doesn't work. Your outer try block
is never terminated, and w is never initialized (so will raise an
exception inside your try block, which you probably won't see, if you
catch all exceptions. Generally speaking, unless you know what you're
trying to catch, it's better to leave off the try/except block,
*especially* during development. Stack traces are full of good
information.

Second, you never initialize w, which causes the following problem.

$ python
Python 2.3.4 (#1, Nov 20 2007, 15:18:15)
[GCC 3.4.6 20060404 (Red Hat 3.4.6-9)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>w += 1
Traceback (most recent call last):
File "<stdin>", line 1, in ?
NameError: name 'w' is not defined
>>>
Third, double-spacing your code makes it difficult to read. Take out
blank lines, unless they add contextual hints which improve readability.

Post working code, and I'll answer your actual question.

Cheers,
Cliff

>
--
Oook,
J. Cliff Dyer
Carolina Digital Library and Archives
UNC Chapel Hill

Jun 27 '08 #1
0 1146

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

5 posts views Thread by mtv | last post: by
8 posts views Thread by a | last post: by
reply views Thread by a | last post: by
19 posts views Thread by Jamey Shuemaker | last post: by
2 posts views Thread by prabhupr | last post: by
27 posts views Thread by Keith Wilby | last post: by
1 post views Thread by CARIGAR | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.