[SOLVED] The solution was easy... instead of using pymysql I used
db.executesql() On Wed, Apr 27, 2011 at 11:58 AM, Ialejandro <[email protected]> wrote: > Hi! Developing my school project app, I have this: > > I have a dir called _configdir with some .ini files, these files have > this structure: > > [ROOMNAME] > owner=somename > data1=somedata > data2=somedata > data3=sometada > > Those inis are sent to my sever from many other pcs trough ftp. I made > this script for parsing and saving the values into a db: > > import os > import ConfigParser > import traceback > import pymysql > import time > > _configDir = "_configuploads" > > > def save(val): > > > connection = pymysql.connect(host='127.0.0.1', port=3306, > user='script', passwd="123", db='hotel') > cursor = connection.cursor() > > doop = val['roomname'] > > cursor.execute("SELECT * FROM rooms WHERE roomname = '%s'"%doop) > row = cursor.fetchone() > > if row == None: > print doop,'Not in db... Inserting' > > keys = val.keys() > > values = [] > > for each in keys: > values.append(val[each]) > > s1 = ','.join(keys) > > count = len(val) > > per = ("%s,"*count)[:-1] > > command = "insert into rooms (%s)"%s1+" values (%s)"%per > args = tuple(values) > cursor.execute(command,args) > > > else: > print doop,'Already in DB... Updating' > keys = val.keys() > > values = [] > > for each in keys: > values.append(val[each]) > > listy = [] > for key,value in val.items(): > listy.append("%s='%s'"%(key,value)) > > sready = ", ".join(listy) > > > command = "update rooms set %s"%sready+"where roomname = > '%s'"%doop > > cursor.execute(command) > > > > cursor.close() > connection.close() > > def parse(filename): > try: > config = ConfigParser.ConfigParser() > > config.read(filename) > rooms = config.sections() > > dictio = {} > for room in rooms: > dictio[room] = {} > options = config.options(room) > > for option in options: > dictio[room][option] = config.get(room,option) > > rrom = dictio.keys()[0] > > valdict = dictio.values()[0] > valdict['room'] = '%s'%rrom > > > save(valdict) > > return 0 > except: > print "Something failed!!!!!" > print traceback.format_exc() > return 1 > > > > def main(): > objects = os.listdir(_configDir) > for item in objects: > fitem = os.path.join(os.getcwd(),_configDir,item) > parse(fitem) > > > while True: > time.sleep(5) > main() > > > > And it works fantastic!! > > But I need to have the same functionality of that script into my > web2py app... > > How could I do it???

