Bug 13613 - jython collisions in python syntax checking
: jython collisions in python syntax checking
Status: NEW
: Sisyphus
(All bugs in Sisyphus/rpm-build-python)
: unstable
: all Linux
: P2 enhancement
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2007-12-06 21:12 by
Modified: 2008-12-18 14:59 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2007-12-06 21:12:33
добавить бы рычаг, что если в скрипте встречается
'import java'
то это jython скрипт, и пропускать его provides, requires и syntax chacking.



Actual Results:  
python.req: ERROR:
/usr/src/tmp/eclipse-pydev-buildroot/usr/share/eclipse/plugins/org.python.pydev.jython_1.3.9/Lib/javaos.py:
+invalid syntax (line 221)
Traceback (most recent call last):
  File "/usr/lib/rpm/python.req.py", line 195, in ?
    lis = parser.suite('\n'.join(lines)+'\n').tolist(line_info=1)
  File "<string>", line 221
    p = java.lang.Runtime.getRuntime().exec( shellCmd, env )
                                          ^
SyntaxError: invalid syntax
error: /bin/sh failed
error: Failed to find Requires


RPM build errors:
    /bin/sh failed
    Failed to find Requires
Command exited with non-zero status 1
75.21user 7.30system 2:15.18elapsed 61%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (2410major+1103995minor)pagefaults 0swaps
hsh-rebuild: rebuild of `eclipse-pydev-1.3.9-alt1_1jpp5.0.src.rpm' failed.
------- Comment #1 From 2007-12-06 21:12:48 -------
syntax checking
------- Comment #2 From 2007-12-06 21:13:17 -------
assigned to author
------- Comment #3 From 2008-03-31 00:56:33 -------
Как определить, что в скрипте втречается 'import java'?  Только грепом не
предлагайте.  Нужно ведь сначала распарсить, а потом уже можно анализировать,
что там импортируется.  А здесь действительно синтаксическая ошибка -- похоже,
что exec это keyword и его нельзя использовать в качестве названия метода. 
Впрочем, нужно проверить, так ли это для питона 2.5.
------- Comment #4 From 2008-12-18 14:59:32 -------
(In reply to comment #3)
> Впрочем, нужно проверить, так ли это для питона 2.5.
> 

В питоне 2.5 использовать exec как метод можно, и даже рекомендуется ввиду
грядущего 3.0.

Проверено на python-2.5.2-alt5.