Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #7769 > unrolled thread

Re: Trapping MySQLdb warnings

Started byTim Johnson <tim@johnsons-web.com>
First post2011-06-16 13:56 -0800
Last post2011-06-16 13:56 -0800
Articles 1 — 1 participant

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: Trapping MySQLdb warnings Tim Johnson <tim@johnsons-web.com> - 2011-06-16 13:56 -0800

#7769 — Re: Trapping MySQLdb warnings

FromTim Johnson <tim@johnsons-web.com>
Date2011-06-16 13:56 -0800
SubjectRe: Trapping MySQLdb warnings
Message-ID<mailman.43.1308261380.1164.python-list@python.org>
* srinivas hn <hnsri49@gmail.com> [110616 11:06]:
> Hi Tim,
> 
>    import warnings
> 
> with warnings.catch_warnings():
>     warnings.simplefilter('error', MySQLdb.Warning)
>     try:
>       cursor.execute(insert_query)
>       conn.commit()
>       return 'Success'
>     except MySQLdb.Error, error:
>       logging.error("Error in insertion %s query is ", error)
>       return 'Failure'
>     finally:
>       conn.close()
> 
> try:
>    xyz = do_query(insert_query)
> except MySQLdb.Warning, warning:
>    logging.warning(warning)
  Hi Again srinavas:
  For an overview, I need to interate thru a file, executing each
  line as an insert statement. Based on your valuable input, I have
  the following:
## ------------------------------------------------
def __process_line(self):
  """For each line in the file .."""
  try :
    self.db.simple(self.read())
  except MySQLdb.Warning,e:
	## catching warnings here, log, count, abort
    ## or some other action based on implementation
    print(e) ## and count, log .... etc	
## ------------------------------------------------
def simple(self,insert_query):
  """Executing one line.""" 
  cursor = self.__rdb 
  with warnings.catch_warnings():
    warnings.simplefilter('error', MySQLdb.Warning)
    cursor.execute(insert_query)

## This works well, but I'd like to do something further: Control is
transfered back to the calling function's `except' block when the
first warning is found. There can be and are multiple warning
conditions on each line. Is there a way to trap all of them?
I am unclear from the docs that I am reading at
http://docs.python.org/library/warnings.html
whether that can be done.
Thanks again
-- 
Tim 
tim at johnsons-web dot com or akwebsoft dot com
http://www.akwebsoft.com

[toc] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web