Ejemplo n.º 1
0
  def __call__(self,*args,**kwargs):
    """
    Handles calling event of the classes.Executes given query using database driver.
    Returns instances of Entity classes which will be mapped to sub query classes.
    """
    self.args = args or kwargs or None
    if not self.code:
      raise Exception, "'code' property has to be an sql query"

    if self.args:
      code = self.code%self.args
    else:
      code = self.code

    logging.info('db.query: Running new query; %s'%(code.replace('\n',' ')))
    """
    Executing given query
    """
    from __init__ import connection
    connection.cursor.execute(code)

    try:
      data = connection.cursor.fetchall()
    except:
      data = tuple()
      logging.error( ExceptionInfo().format_stack() )

    """
    Mapping fetched data into python objects
    """
    self.data = QueryResult(data)
    self.data.query = self
    self.data = ( None if len(self.data)==0 else self.data[0] ) if self.is_singular else self.data

    return self.data
Ejemplo n.º 2
0
 def get(self,excstack):
   ErrorPage.get(self)
   logging.error("INTERNAL ERROR")
   logging.error('  %s'%excstack.type)
   logging.error('  %s'%excstack.value)
   logging.error('  %s'%excstack.format_stack())
   self.template.args.append( ('excstack',excstack) )
   if not self.template.args[3][1]:
     self.template.args[3] = ('description',excstack.value)
Ejemplo n.º 3
0
 def log(self):
   logging.error('EXCEPTION INFO: type: %s, file:%s, function:%s, line: %i, message: %s'%(
     str(self.type),self.stack[-1][0],self.stack[-1][2],self.stack[-1][1],self.value.message
     )
   )