Skip to content

Instantly share code, notes, and snippets.

View batok's full-sized avatar

Domingo Aguilera batok

  • Consultant
  • Guadalajara, Mexico
  • X @batok
View GitHub Profile
#An example of using sqlalchemy ( svn ) from python 3.1 using pg8000
from sqlalchemy import create_engine, Table, Column, Integer, String, DateTime,MetaData
from sqlalchemy.sql.expression import text
import logging
logging.basicConfig(filename = "sqlalchemypy3.log")
logging.getLogger('sqlalchemy.engine').setLevel(logging.INFO)
engine = create_engine("postgresql+pg8000://postgres@localhost:15432/pg8000")
c = engine.connect()
from sqlalchemy import create_engine, Table, Column, Integer, String, DateTime,MetaData
from sqlalchemy.sql.expression import text
from sqlalchemy.orm import mapper, sessionmaker
import logging
logging.basicConfig(filename = "sqlalchemypy3.log")
logging.getLogger('sqlalchemy.engine').setLevel(logging.INFO)
class Test(object):
pass
if int(row2[1]) == 1:
if int(row2[2]) > 0:
dias = int(row2[2])
if self.parent.IdEmpresa == 3 and dia_fecha_final == 31 and dias == 15:
dias += 1
if self.parent.IdEmpresa == 3 and mes_fecha_final == 2 and dias == 15 and dia_fecha_final in (28,29):
dias = final_menos_inicial
else:
dias = int(row2[3])
if mes_fecha_final not in mesesbimestre[bimestre]:
class DlgNivelesTabuladoresConceptos(g_sc.SizedDialog):
def __init__(self, datos = None ):
g_sc.SizedDialog.__init__(self, None, -1, "Niveles de Tabuladores", size = ( 800, 600 ), style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER)
self.SetExtraStyle( wx.WS_EX_VALIDATE_RECURSIVELY)
self.datos = datos
pane = self.GetContentsPane()
pane.SetSizerType("form")
self.id_mensual = wx.NewId()
self.id_formula_exento = wx.NewId()
self.id_exento = wx.NewId()
engine = create_engine( url )
#extrayendo conexion desde el engine y haciendo las cosas como siempre
#ojo que yendose por aqui se pierde el logging que se pretende al principio
#El cursor que se usa en DBAPI no se utiliza para nada en sqlalchemy
conn = engine.connect()
cu = conn.connection.cursor()
cu.execute( "select count(*) from usuarios")
row = cu.fetchone()
print int(row[0])
from sqlalchemy import create_engine, Table, Column, Integer, String, DateTime,MetaData
from sqlalchemy.sql.expression import text
from sqlalchemy.orm import mapper, sessionmaker, validates
from sqlalchemy.orm.util import class_mapper
from sqlalchemy.ext.declarative import declarative_base
class Usuarios(object):
pass
engine = create_engine("mssql://elusuario:[email protected]:1433/pruebas")
@batok
batok / gist:282514
Created January 21, 2010 02:04
This idea can be used in turbogears
#This can be useful in controller methods of turbogears when you don't have a Table object defined
#if you know a query returns one tuple ( row ) this is useful
#assuming you have a globlal sqlalchemy or connection called conn2 and that you have python 2.6
from collections import namedtuple
@expose("bla.bla.template")
def mycontrollermethod(self)
fields = "username, real_name, email"
sql = "select %s from users where username = 'Whatever'" % fields
nt = namedtuple("anything here",fields)
from sqlalchemy.ext.declarative import declarative_base
from history_meta import VersionedMeta, VersionedListener
from sqlalchemy import create_engine, Column, Integer, String, ForeignKey
from sqlalchemy.orm import clear_mappers, compile_mappers, sessionmaker, deferred
if True:
engine = create_engine("postgresql+pg8000://postgres@localhost:25432/pruebas")
Base = declarative_base(metaclass=VersionedMeta, bind=engine)
Session = sessionmaker(extension=VersionedListener())
class SomeTable(Base):
from sqlalchemy.ext.declarative import declarative_base
from history_meta import VersionedMeta, VersionedListener
from sqlalchemy import create_engine, Column, Integer, String, ForeignKey, DateTime
from sqlalchemy.orm import clear_mappers, compile_mappers, sessionmaker, deferred, MapperExtension
from sqlalchemy.sql.expression import text
from datetime import datetime
import time
engine = create_engine("postgresql+pg8000://postgres@localhost:25432/pruebas")
Base = declarative_base(metaclass=VersionedMeta, bind=engine)
@batok
batok / gist:290608
Created January 30, 2010 16:13
Sqlalchemy orm how to force an update t set a = a + 1
import sqlalchemy as sa
from sqlalchemy.orm import Mapper, sessionmaker
class Example(object):
def __init__(self, field_value):
self.field_value = field_value
def __repr__(self):
return "< Example( field_value = %s ) >" % self.field_value
engine = sa.create_engine( "sqlite://", echo = True)
meta = sa.MetaData()