Python sqlalchemy.types.Unicode() Examples
The following are 30
code examples of sqlalchemy.types.Unicode().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
sqlalchemy.types
, or try the search function
.
Example #1
Source File: test_converter.py From graphene-sqlalchemy with MIT License | 6 votes |
def test_should_composite_convert(): registry = Registry() class CompositeClass: def __init__(self, col1, col2): self.col1 = col1 self.col2 = col2 @convert_sqlalchemy_composite.register(CompositeClass, registry) def convert_composite_class(composite, registry): return graphene.String(description=composite.doc) field = convert_sqlalchemy_composite( composite(CompositeClass, (Column(types.Unicode(50)), Column(types.Unicode(50))), doc="Custom Help Text"), registry, mock_resolver, ) assert isinstance(field, graphene.String)
Example #2
Source File: test_types.py From sqlalchemy with MIT License | 6 votes |
def test_reflect_unicode_no_nvarchar(self): metadata = self.metadata Table("tnv", metadata, Column("data", sqltypes.Unicode(255))) metadata.create_all() m2 = MetaData(testing.db) t2 = Table("tnv", m2, autoload=True) assert isinstance(t2.c.data.type, sqltypes.VARCHAR) if testing.against("oracle+cx_oracle"): assert isinstance( t2.c.data.type.dialect_impl(testing.db.dialect), cx_oracle._OracleString, ) data = u("m’a réveillé.") t2.insert().execute(data=data) res = t2.select().execute().first()["data"] eq_(res, data) assert isinstance(res, util.text_type)
Example #3
Source File: test_sqlite.py From sqlalchemy with MIT License | 6 votes |
def test_no_convert_unicode(self): """test no utf-8 encoding occurs""" dialect = sqlite.dialect() for t in ( String(), sqltypes.CHAR(), sqltypes.Unicode(), sqltypes.UnicodeText(), String(), sqltypes.CHAR(), sqltypes.Unicode(), sqltypes.UnicodeText(), ): bindproc = t.dialect_impl(dialect).bind_processor(dialect) assert not bindproc or isinstance( bindproc(util.u("some string")), util.text_type )
Example #4
Source File: test_jsonify.py From pecan with BSD 3-Clause "New" or "Revised" License | 5 votes |
def create_sa_proxies(self): # create the table and mapper metadata = schema.MetaData() user_table = schema.Table( 'user', metadata, schema.Column('id', types.Integer, primary_key=True), schema.Column('first_name', types.Unicode(25)), schema.Column('last_name', types.Unicode(25)) ) class User(object): pass orm.mapper(User, user_table) # create the session engine = create_engine('sqlite:///:memory:') metadata.bind = engine metadata.create_all() session = orm.sessionmaker(bind=engine)() # add some dummy data user_table.insert().execute([ {'first_name': 'Jonathan', 'last_name': 'LaCour'}, {'first_name': 'Yoann', 'last_name': 'Roman'} ]) # get the SA objects self.sa_object = session.query(User).first() select = user_table.select() self.result_proxy = select.execute() self.row_proxy = select.execute().fetchone()
Example #5
Source File: base.py From android_universal with MIT License | 5 votes |
def _get_default_schema_name(self, connection): return connection.scalar( text("SELECT user_name() as user_name", typemap={'user_name': Unicode}) )
Example #6
Source File: base.py From moviegrabber with GNU General Public License v3.0 | 5 votes |
def _get_default_schema_name(self, connection): return connection.scalar( text("SELECT user_name() as user_name", typemap={'user_name': Unicode}) )
Example #7
Source File: cx_oracle.py From moviegrabber with GNU General Public License v3.0 | 5 votes |
def on_connect(self): if self.cx_oracle_ver < (5,): # no output type handlers before version 5 return cx_Oracle = self.dbapi def output_type_handler(cursor, name, defaultType, size, precision, scale): # convert all NUMBER with precision + positive scale to Decimal # this almost allows "native decimal" mode. if self.supports_native_decimal and \ defaultType == cx_Oracle.NUMBER and \ precision and scale > 0: return cursor.var( cx_Oracle.STRING, 255, outconverter=self._to_decimal, arraysize=cursor.arraysize) # if NUMBER with zero precision and 0 or neg scale, this appears # to indicate "ambiguous". Use a slower converter that will # make a decision based on each value received - the type # may change from row to row (!). This kills # off "native decimal" mode, handlers still needed. elif self.supports_native_decimal and \ defaultType == cx_Oracle.NUMBER \ and not precision and scale <= 0: return cursor.var( cx_Oracle.STRING, 255, outconverter=self._detect_decimal, arraysize=cursor.arraysize) # allow all strings to come back natively as Unicode elif self.coerce_to_unicode and \ defaultType in (cx_Oracle.STRING, cx_Oracle.FIXED_CHAR): return cursor.var(util.text_type, size, cursor.arraysize) def on_connect(conn): conn.outputtypehandler = output_type_handler return on_connect
Example #8
Source File: base.py From jarvis with GNU General Public License v2.0 | 5 votes |
def _get_default_schema_name(self, connection): return connection.scalar( text("SELECT user_name() as user_name", typemap={'user_name': Unicode}) )
Example #9
Source File: test_types.py From sqlalchemy with MIT License | 5 votes |
def test_callable_as_kwarg(self): ucode = util.partial(Unicode) thang_table = Table( "thang", meta, Column("name", type_=ucode(20), primary_key=True) ) assert isinstance(thang_table.c.name.type, Unicode) thang_table.create()
Example #10
Source File: test_types.py From sqlalchemy with MIT License | 5 votes |
def test_callable_as_arg(self): ucode = util.partial(Unicode) thing_table = Table("thing", meta, Column("name", ucode(20))) assert isinstance(thing_table.c.name.type, Unicode) thing_table.create()
Example #11
Source File: test_types.py From sqlalchemy with MIT License | 5 votes |
def test_unicode_warnings_totally_wrong_type(self): u = Unicode() dialect = default.DefaultDialect() dialect.supports_unicode_binds = False uni = u.dialect_impl(dialect).bind_processor(dialect) with expect_warnings( "Unicode type received non-unicode bind param value 5." ): eq_(uni(5), 5)
Example #12
Source File: test_types.py From sqlalchemy with MIT License | 5 votes |
def test_unicode_warnings_typelevel_sqla_unicode(self): unicodedata = self.data u = Unicode() dialect = default.DefaultDialect() dialect.supports_unicode_binds = False uni = u.dialect_impl(dialect).bind_processor(dialect) assert_raises(exc.SAWarning, uni, util.b("x")) assert isinstance(uni(unicodedata), util.binary_type) eq_(uni(unicodedata), unicodedata.encode("utf-8"))
Example #13
Source File: test_types.py From sqlalchemy with MIT License | 5 votes |
def test_unicode_warnings_typelevel_native_unicode(self): unicodedata = self.data u = Unicode() dialect = default.DefaultDialect() dialect.supports_unicode_binds = True uni = u.dialect_impl(dialect).bind_processor(dialect) if util.py3k: assert_raises(exc.SAWarning, uni, b"x") assert isinstance(uni(unicodedata), str) else: assert_raises(exc.SAWarning, uni, "x") assert isinstance(uni(unicodedata), unicode) # noqa
Example #14
Source File: test_types.py From sqlalchemy with MIT License | 5 votes |
def test_python_type(self): eq_(types.Integer().python_type, int) eq_(types.Numeric().python_type, decimal.Decimal) eq_(types.Numeric(asdecimal=False).python_type, float) eq_(types.LargeBinary().python_type, util.binary_type) eq_(types.Float().python_type, float) eq_(types.Interval().python_type, datetime.timedelta) eq_(types.Date().python_type, datetime.date) eq_(types.DateTime().python_type, datetime.datetime) eq_(types.String().python_type, str) eq_(types.Unicode().python_type, util.text_type) eq_(types.Enum("one", "two", "three").python_type, str) assert_raises( NotImplementedError, lambda: types.TypeEngine().python_type )
Example #15
Source File: base.py From sqlalchemy with MIT License | 5 votes |
def _get_default_schema_name(self, connection): return connection.scalar( text("SELECT user_name() as user_name").columns(username=Unicode) )
Example #16
Source File: cx_oracle.py From jbox with MIT License | 5 votes |
def on_connect(self): if self.cx_oracle_ver < (5,): # no output type handlers before version 5 return cx_Oracle = self.dbapi def output_type_handler(cursor, name, defaultType, size, precision, scale): # convert all NUMBER with precision + positive scale to Decimal # this almost allows "native decimal" mode. if self.supports_native_decimal and \ defaultType == cx_Oracle.NUMBER and \ precision and scale > 0: return cursor.var( cx_Oracle.STRING, 255, outconverter=self._to_decimal, arraysize=cursor.arraysize) # if NUMBER with zero precision and 0 or neg scale, this appears # to indicate "ambiguous". Use a slower converter that will # make a decision based on each value received - the type # may change from row to row (!). This kills # off "native decimal" mode, handlers still needed. elif self.supports_native_decimal and \ defaultType == cx_Oracle.NUMBER \ and not precision and scale <= 0: return cursor.var( cx_Oracle.STRING, 255, outconverter=self._detect_decimal, arraysize=cursor.arraysize) # allow all strings to come back natively as Unicode elif self.coerce_to_unicode and \ defaultType in (cx_Oracle.STRING, cx_Oracle.FIXED_CHAR): return cursor.var(util.text_type, size, cursor.arraysize) def on_connect(conn): conn.outputtypehandler = output_type_handler return on_connect
Example #17
Source File: test_converter.py From graphene-sqlalchemy with MIT License | 5 votes |
def test_should_unknown_sqlalchemy_composite_raise_exception(): class CompositeClass: def __init__(self, col1, col2): self.col1 = col1 self.col2 = col2 re_err = "Don't know how to convert the composite field" with pytest.raises(Exception, match=re_err): convert_sqlalchemy_composite( composite(CompositeFullName, (Column(types.Unicode(50)), Column(types.Unicode(50)))), Registry(), mock_resolver, )
Example #18
Source File: base.py From jbox with MIT License | 5 votes |
def _get_default_schema_name(self, connection): return connection.scalar( text("SELECT user_name() as user_name", typemap={'user_name': Unicode}) )
Example #19
Source File: cx_oracle.py From Fluid-Designer with GNU General Public License v3.0 | 5 votes |
def on_connect(self): if self.cx_oracle_ver < (5,): # no output type handlers before version 5 return cx_Oracle = self.dbapi def output_type_handler(cursor, name, defaultType, size, precision, scale): # convert all NUMBER with precision + positive scale to Decimal # this almost allows "native decimal" mode. if self.supports_native_decimal and \ defaultType == cx_Oracle.NUMBER and \ precision and scale > 0: return cursor.var( cx_Oracle.STRING, 255, outconverter=self._to_decimal, arraysize=cursor.arraysize) # if NUMBER with zero precision and 0 or neg scale, this appears # to indicate "ambiguous". Use a slower converter that will # make a decision based on each value received - the type # may change from row to row (!). This kills # off "native decimal" mode, handlers still needed. elif self.supports_native_decimal and \ defaultType == cx_Oracle.NUMBER \ and not precision and scale <= 0: return cursor.var( cx_Oracle.STRING, 255, outconverter=self._detect_decimal, arraysize=cursor.arraysize) # allow all strings to come back natively as Unicode elif self.coerce_to_unicode and \ defaultType in (cx_Oracle.STRING, cx_Oracle.FIXED_CHAR): return cursor.var(util.text_type, size, cursor.arraysize) def on_connect(conn): conn.outputtypehandler = output_type_handler return on_connect
Example #20
Source File: base.py From Fluid-Designer with GNU General Public License v3.0 | 5 votes |
def _get_default_schema_name(self, connection): return connection.scalar( text("SELECT user_name() as user_name", typemap={'user_name': Unicode}) )
Example #21
Source File: fact_table.py From spendb with GNU Affero General Public License v3.0 | 5 votes |
def table(self): """ Generate an appropriate table representation to mirror the fields known for this table. """ if self._table is None: self._table = Table(self.table_name, self.meta) id_col = Column('_id', Unicode(42), primary_key=True) self._table.append_column(id_col) json_col = Column('_json', Unicode()) self._table.append_column(json_col) self._fields_columns(self._table) return self._table
Example #22
Source File: fact_table.py From spendb with GNU Affero General Public License v3.0 | 5 votes |
def _fields_columns(self, table): """ Transform the (auto-detected) fields into a set of column specifications. """ for field in self.dataset.fields: data_type = TYPES.get(field.get('type'), Unicode) col = Column(field.get('name'), data_type, nullable=True) table.append_column(col)
Example #23
Source File: test_converter.py From graphene-sqlalchemy with MIT License | 5 votes |
def test_should_unicode_convert_string(): assert get_field(types.Unicode()).type == graphene.String
Example #24
Source File: base.py From stdm with GNU General Public License v2.0 | 5 votes |
def _get_default_schema_name(self, connection): return connection.scalar( text("SELECT user_name() as user_name", typemap={'user_name': Unicode}) )
Example #25
Source File: base.py From planespotter with MIT License | 5 votes |
def _get_default_schema_name(self, connection): return connection.scalar( text("SELECT user_name() as user_name", typemap={'user_name': Unicode}) )
Example #26
Source File: cx_oracle.py From pyRevit with GNU General Public License v3.0 | 5 votes |
def on_connect(self): if self.cx_oracle_ver < (5,): # no output type handlers before version 5 return cx_Oracle = self.dbapi def output_type_handler(cursor, name, defaultType, size, precision, scale): # convert all NUMBER with precision + positive scale to Decimal # this almost allows "native decimal" mode. if self.supports_native_decimal and \ defaultType == cx_Oracle.NUMBER and \ precision and scale > 0: return cursor.var( cx_Oracle.STRING, 255, outconverter=self._to_decimal, arraysize=cursor.arraysize) # if NUMBER with zero precision and 0 or neg scale, this appears # to indicate "ambiguous". Use a slower converter that will # make a decision based on each value received - the type # may change from row to row (!). This kills # off "native decimal" mode, handlers still needed. elif self.supports_native_decimal and \ defaultType == cx_Oracle.NUMBER \ and not precision and scale <= 0: return cursor.var( cx_Oracle.STRING, 255, outconverter=self._detect_decimal, arraysize=cursor.arraysize) # allow all strings to come back natively as Unicode elif self.coerce_to_unicode and \ defaultType in (cx_Oracle.STRING, cx_Oracle.FIXED_CHAR): return cursor.var(util.text_type, size, cursor.arraysize) def on_connect(conn): conn.outputtypehandler = output_type_handler return on_connect
Example #27
Source File: base.py From pyRevit with GNU General Public License v3.0 | 5 votes |
def _get_default_schema_name(self, connection): return connection.scalar( text("SELECT user_name() as user_name", typemap={'user_name': Unicode}) )
Example #28
Source File: types.py From muesli with GNU General Public License v3.0 | 5 votes |
def ColumnWrapper(type): class Wrapped(types.TypeDecorator): impl = types.Unicode def process_bind_param(self, value, dialect): if isinstance(value, type): return value.value return value def process_result_value(self, value, dialect): return type(value) return Wrapped
Example #29
Source File: cx_oracle.py From stdm with GNU General Public License v2.0 | 5 votes |
def on_connect(self): if self.cx_oracle_ver < (5,): # no output type handlers before version 5 return cx_Oracle = self.dbapi def output_type_handler(cursor, name, defaultType, size, precision, scale): # convert all NUMBER with precision + positive scale to Decimal # this almost allows "native decimal" mode. if self.supports_native_decimal and \ defaultType == cx_Oracle.NUMBER and \ precision and scale > 0: return cursor.var( cx_Oracle.STRING, 255, outconverter=self._to_decimal, arraysize=cursor.arraysize) # if NUMBER with zero precision and 0 or neg scale, this appears # to indicate "ambiguous". Use a slower converter that will # make a decision based on each value received - the type # may change from row to row (!). This kills # off "native decimal" mode, handlers still needed. elif self.supports_native_decimal and \ defaultType == cx_Oracle.NUMBER \ and not precision and scale <= 0: return cursor.var( cx_Oracle.STRING, 255, outconverter=self._detect_decimal, arraysize=cursor.arraysize) # allow all strings to come back natively as Unicode elif self.coerce_to_unicode and \ defaultType in (cx_Oracle.STRING, cx_Oracle.FIXED_CHAR): return cursor.var(util.text_type, size, cursor.arraysize) def on_connect(conn): conn.outputtypehandler = output_type_handler return on_connect
Example #30
Source File: cx_oracle.py From planespotter with MIT License | 4 votes |
def _generate_connection_outputtype_handler(self): """establish the default outputtypehandler established at the connection level. """ dialect = self cx_Oracle = dialect.dbapi number_handler = _OracleNUMBER(asdecimal=True).\ _cx_oracle_outputtypehandler(dialect) float_handler = _OracleNUMBER(asdecimal=False).\ _cx_oracle_outputtypehandler(dialect) def output_type_handler(cursor, name, default_type, size, precision, scale): if default_type == cx_Oracle.NUMBER: if not dialect.coerce_to_decimal: return None elif precision == 0 and scale in (0, -127): # ambiguous type, this occurs when selecting # numbers from deep subqueries return cursor.var( cx_Oracle.STRING, 255, outconverter=dialect._detect_decimal, arraysize=cursor.arraysize) elif precision and scale > 0: return number_handler( cursor, name, default_type, size, precision, scale ) else: return float_handler( cursor, name, default_type, size, precision, scale ) # allow all strings to come back natively as Unicode elif dialect.coerce_to_unicode and \ default_type in (cx_Oracle.STRING, cx_Oracle.FIXED_CHAR): return cursor.var( util.text_type, size, cursor.arraysize ) elif dialect.auto_convert_lobs and default_type in ( cx_Oracle.CLOB, cx_Oracle.NCLOB, cx_Oracle.BLOB ): return cursor.var( default_type, size, cursor.arraysize, outconverter=lambda value: value.read() ) return output_type_handler