Andy Dustman wrote:
On Sun, Nov 21, 2010 at 3:02 PM, John Q. Public <sqlite3.u...@gmail.com> wrote:
Is this how my createdb() method should look like?
How would you write this method so it is both readable and correct?
Thank you for your time and patience.
def createdb(self):
try:
con = sqlite3.connect(db)
cur = con.cursor()
cur.execute('''
CREATE TABLE t1
(
kid INTEGER PRIMARY KEY,
c1 TEXT,
c2 TEXT
)
''')
cur.execute('''
CREATE TABLE t2
(
kid INTEGER PRIMARY KEY,
c1 TEXT,
c2 TEXT
)
''')
cur.execute('''
CREATE TABLE t3
(
kid INTEGER PRIMARY KEY,
c1 TEXT,
c2 TEXT
)
''')
con.commit()
except:
a = "ERROR: createdb did not commit. \n"
b = "tried this sql: \n"
raise IOError, "%s%s%s" % ( a, b, sql )
finally:
cur.close()
con.close()
You never actually set sql anywhere, so you'll always get a NameError
instead of IOError. It would probably be better to not catch the
exception at all in this function.
If you are using Nose you can use this plugin
http://exogen.github.com/nose-achievements/ and gain achievements, the
code above should net you the; "Silence! I keel you!" achievement :-)
All the achievements are visible at
https://docs.google.com/View?id=dfsf8s3r_45388t5rdd
unlocked the "Silence! I keel you!" achievement by checking in code
with only bare except: clauses.
Chris
_______________________________________________
DB-SIG maillist - DB-SIG@python.org
http://mail.python.org/mailman/listinfo/db-sig