oops, that line should read "Python 2.6 doesn't accept", not "except".

My hands are too used to typing "except SomeError:"...


On Fri, Jul 11, 2014 at 11:38 AM, Paul Molodowitch <elron...@gmail.com>
wrote:

> Done:
>
>
> https://bitbucket.org/zzzeek/sqlalchemy/issue/3123/mysql-reflection-on-python-26-causes-error
>
> FYI, for now we're patching sqlalchemy/engine/reflection.py, changing
> Inspector.reflectable after it gets tbl_opts (line 450 in my code):
>
>         # reflect table options, like mysql_engine
>         tbl_opts = self.get_table_options(table_name, schema,
> **table.dialect_kwargs)
>         # Python 2.6 doesn't except using dicts with unicode keys for
> kwargs,
>         # ie, myFunc(**{u'foo':1}) will raise an error
>         if sys.version_info < (2, 7):
>             for key, val in tbl_opts.items():
>                 if isinstance(key, unicode):
>                     del tbl_opts[key]
>                     tbl_opts[str(key)] = val
>
> There's likely a much better / more elegant way to handle this, but it
> seems to do the trick for us...
>
> Let me know anything's not clear, or you're having troubles replicating,
> or there's anything else I can do to help!
>
> - Paul
>
>
> On Thu, Jul 10, 2014 at 6:06 PM, Mike Bayer <mike...@zzzcomputing.com>
> wrote:
>
>>
>> On 7/10/14, 3:49 PM, Paul Molodowitch wrote:
>>
>> Whoops! Just noticed this was the totally wrong traceback!
>>
>>  Here's the correct trace:
>>
>>   Traceback (most recent call last):
>>   File "<stdin>", line 1, in <module>
>>   File "test.py", line 155, in <module>
>>     metadata.reflect(db.engine, only=tables)
>>   File "./sqlalchemy/sql/schema.py", line 3277, in reflect
>>      Table(name, self, **reflect_opts)
>>   File "./sqlalchemy/sql/schema.py", line 352, in __new__
>>     table._init(name, metadata, *args, **kw)
>>   File "./sqlalchemy/sql/schema.py", line 425, in _init
>>     self._autoload(metadata, autoload_with, include_columns)
>>   File "./sqlalchemy/sql/schema.py", line 437, in _autoload
>>     self, include_columns, exclude_columns
>>    File "./sqlalchemy/engine/base.py", line 1198, in run_callable
>>     return callable_(self, *args, **kwargs)
>>    File "./sqlalchemy/engine/default.py", line 355, in reflecttable
>>     return insp.reflecttable(table, include_columns, exclude_columns)
>>   File "./sqlalchemy/engine/reflection.py", line 463, in reflecttable
>>     for col_d in self.get_columns(table_name, schema,
>> **table.dialect_kwargs):
>> TypeError: get_columns() keywords must be strings
>>
>>
>> with metadata.reflect(), OK.  Can you please make a very short and
>> self-contained test case and post a bug report?  thanks.
>>
>>
>>  --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "sqlalchemy" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/sqlalchemy/E3MhX1m8QqQ/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> sqlalchemy+unsubscr...@googlegroups.com.
>> To post to this group, send email to sqlalchemy@googlegroups.com.
>> Visit this group at http://groups.google.com/group/sqlalchemy.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to