On Apr 12, 2010, at 12:17 PM, Yarko Tymciurak wrote:

> On Apr 12, 2:15 pm, Jonathan Lundell <jlund...@pobox.com> wrote:
>> On Apr 12, 2010, at 11:52 AM, DenesL wrote:
>> 
>>> In 1.76.3, and probably others, model files can not end with a comment
>>> line:
>> 
>>> Traceback (most recent call last):
>>>  File "D:\web2py\hg\gluon\restricted.py", line 171, in restricted
>>>    ccode = compile(code.replace('\r\n', '\n'), layer, 'exec')
>>>  File "D:/web2py/hg/applications/mssqltest/models/db.py", line 111
>>>    #
>>>    ^
>>> SyntaxError: invalid syntax
>> 
>>> Adding an empty line fixes the problem but figuring that out is a
>>> waste of time.
>> 
>> FWIW, compile() requires at least one terminal newline. Perhaps it'd be 
>> reasonable to append one (along the the \r\n conversion).
> 
> hmmm..... I am not able to reproce this;  I even ensured that the
> model file I tested with actually had NO newline after the comment:
> 
> $ od -c mymodel.py
> ...
> 0001640   t   i   o   n       t   o   o   l   "  \n   #
> 0001654
> 
> Mine runs fine.
> 
> I wonder if this is a platform, or python version specific thing...
> 
> Can you provide more details?

I ran into it a week or two ago on OS X, Python 2.6.4.

http://docs.python.org/library/functions.html

> Note When compiling a string with multi-line code, line endings must be 
> represented by a single newline character ('\n'), and the input must be 
> terminated by at least one newline character. If line endings are represented 
> by '\r\n', usestr.replace() to change them into '\n'.



-- 
To unsubscribe, reply using "remove me" as the subject.

Reply via email to