def __unicode__(self): value = self.value if isinstance(value, timedelta): if value.microseconds: return "INTERVAL '%s' HOUR_MICROSECOND" % timedelta2str(value) return "INTERVAL '%s' HOUR_SECOND" % timedelta2str(value) return Value.__unicode__(self)
def __unicode__(self): value = self.value if value is None: return 'null' if isinstance(value, bool): return value and '1' or '0' if isinstance(value, basestring): return self.quote_str(value) if isinstance(value, datetime): return 'TIMESTAMP ' + self.quote_str(datetime2timestamp(value)) if isinstance(value, date): return 'DATE ' + self.quote_str(str(value)) if isinstance(value, timedelta): return "INTERVAL '%s' HOUR TO SECOND" % timedelta2str(value) if PY2: if isinstance(value, (int, long, float, Decimal)): return str(value) if isinstance(value, buffer): return "X'%s'" % hexlify(value) else: if isinstance(value, (int, float, Decimal)): return str(value) if isinstance(value, bytes): return "X'%s'" % hexlify(value).decode('ascii') assert False, repr(value) # pragma: no cover
def get_pool(provider, *args, **kwargs): if 'conv' not in kwargs: conv = mysql_converters.conversions.copy() if mysql_module_name == 'MySQLdb': conv[FIELD_TYPE.BLOB] = [(FLAG.BINARY, buffer)] conv[timedelta] = lambda td, c: string_literal(timedelta2str(td), c) conv[FIELD_TYPE.TIMESTAMP] = str2datetime conv[FIELD_TYPE.DATETIME] = str2datetime conv[FIELD_TYPE.TIME] = str2timedelta kwargs['conv'] = conv if 'charset' not in kwargs: kwargs['charset'] = 'utf8' kwargs['client_flag'] = kwargs.get('client_flag', 0) | CLIENT.FOUND_ROWS return Pool(mysql_module, *args, **kwargs)
def DATETIME_SUB(builder, expr, delta): if isinstance(delta, timedelta): return '(', builder(expr), " - INTERVAL '", timedelta2str( delta), "' DAY TO SECOND)" return '(', builder(expr), ' - ', builder(delta), ')'
def DATE_ADD(builder, expr, delta): if isinstance(delta, timedelta): return '(', builder(expr), " + INTERVAL '", timedelta2str( delta), "' DAY TO SECOND)" return '(', builder(expr), ' + ', builder(delta), ')'
def encode_timedelta(val, encoders=None): return string_literal(timedelta2str(val), encoders)
def DATETIME_SUB(builder, expr, delta): if isinstance(delta, timedelta): return 'DATE_SUB(', builder(expr), ", INTERVAL '", timedelta2str( delta), "' HOUR_SECOND)" return 'SUBTIME(', builder(expr), ', ', builder(delta), ')'
try: import MySQLdb as mysql_module except ImportError: try: import pymysql as mysql_module except ImportError: raise ImportError('No module named MySQLdb or pymysql found') else: import pymysql.converters as mysql_converters from pymysql.constants import FIELD_TYPE, FLAG, CLIENT if PY2: mysql_converters.encoders[ buffer] = lambda val: mysql_converters.escape_str(str(val)) mysql_converters.encoders[ timedelta] = lambda val: mysql_converters.escape_str( timedelta2str(val)) mysql_module_name = 'pymysql' else: import MySQLdb.converters as mysql_converters from MySQLdb.constants import FIELD_TYPE, FLAG, CLIENT mysql_module_name = 'MySQLdb' from MySQLdb import string_literal from pony.orm import core, dbschema, dbapiprovider from pony.orm.core import log_orm, OperationalError from pony.orm.dbapiprovider import DBAPIProvider, Pool, get_version_tuple, wrap_dbapi_exceptions from pony.orm.sqltranslation import SQLTranslator from pony.orm.sqlbuilding import SQLBuilder, join from pony.utils import throw from pony.converting import str2timedelta, timedelta2str
def DATETIME_SUB(builder, expr, delta): if isinstance(delta, timedelta): return '(', builder(expr), " - INTERVAL '", timedelta2str(delta), "' HOUR TO SECOND)" return '(', builder(expr), ' - ', builder(delta), ')'
def DATE_ADD(builder, expr, delta): if isinstance(delta, timedelta): return '(', builder(expr), " + INTERVAL '", timedelta2str(delta), "' HOUR TO SECOND)" return '(', builder(expr), ' + ', builder(delta), ')'
from MySQLdb import string_literal import MySQLdb.converters as mysql_converters from MySQLdb.constants import FIELD_TYPE, FLAG, CLIENT mysql_module_name = 'MySQLdb' except ImportError: try: import pymysql as mysql_module except ImportError: raise ImportError('No module named MySQLdb or pymysql found') import pymysql.converters as mysql_converters from pymysql.constants import FIELD_TYPE, FLAG, CLIENT if PY2: mysql_converters.encoders[ buffer] = lambda val: mysql_converters.escape_str(str(val)) mysql_converters.encoders[ timedelta] = lambda val: mysql_converters.escape_str(timedelta2str(val) ) mysql_module_name = 'pymysql' from pony.orm import core, dbschema, dbapiprovider from pony.orm.core import log_orm, OperationalError from pony.orm.dbapiprovider import DBAPIProvider, Pool, get_version_tuple, wrap_dbapi_exceptions from pony.orm.sqltranslation import SQLTranslator from pony.orm.sqlbuilding import SQLBuilder, join from pony.utils import throw from pony.converting import str2timedelta, timedelta2str class MySQLColumn(dbschema.Column): auto_template = '%(type)s PRIMARY KEY AUTO_INCREMENT'
def DATETIME_SUB(builder, expr, delta): if isinstance(delta, timedelta): return 'DATE_SUB(', builder(expr), ", INTERVAL '", timedelta2str(delta), "' HOUR_SECOND)" return 'SUBTIME(', builder(expr), ', ', builder(delta), ')'
from datetime import datetime, date, time, timedelta from uuid import UUID import warnings warnings.filterwarnings('ignore', '^Table.+already exists$', Warning, '^pony\\.orm\\.dbapiprovider$') try: import MySQLdb as mysql_module except ImportError: try: import pymysql as mysql_module except ImportError: raise ImportError('No module named MySQLdb or pymysql found') else: import pymysql.converters as mysql_converters from pymysql.constants import FIELD_TYPE, FLAG, CLIENT if PY2: mysql_converters.encoders[buffer] = lambda val: mysql_converters.escape_str(str(val)) mysql_converters.encoders[timedelta] = lambda val: mysql_converters.escape_str(timedelta2str(val)) mysql_module_name = 'pymysql' else: import MySQLdb.converters as mysql_converters from MySQLdb.constants import FIELD_TYPE, FLAG, CLIENT mysql_module_name = 'MySQLdb' from MySQLdb import string_literal from pony.orm import core, dbschema, dbapiprovider from pony.orm.core import log_orm, OperationalError from pony.orm.dbapiprovider import DBAPIProvider, Pool, get_version_tuple, wrap_dbapi_exceptions from pony.orm.sqltranslation import SQLTranslator from pony.orm.sqlbuilding import SQLBuilder, join from pony.utils import throw from pony.converting import str2timedelta, timedelta2str