##// END OF EJS Templates
support for unicode identifiers...
support for unicode identifiers This rewrites some of the regular expressions that are used to match Python identifiers, so that they are unicode compatible. In Python 3, identifiers can contain unicode characters as long as the first character is not numeric. Examples for the changes: • inputtransformer: ``` In [1]: π = 3.14 In [2]: π.is_integer? Object `is_integer` not found. ``` ---------- • namespace: ``` π.is_integ*? ``` or ``` In [1]: %psearch π.is_integ Python identifiers can only contain ascii characters. ``` ---------- • prefilter: ``` %autocall 1 φ = float get_ipython().prefilter("φ 3") # should be 'φ(3)', but returns 'φ 3' ``` ---------- • completerlib: If there is a file e.g. named `π.py` in the current directory, then ``` import IPython IPython.core.completerlib.module_list('.') # should contain module 'π' ```

File last commit:

r17799:40708d45
r25595:d9c0e690
Show More
error.py
60 lines | 1.7 KiB | text/x-python | PythonLexer
Brian Granger
Continuing a massive refactor of everything.
r2205 # encoding: utf-8
"""
Global exception classes for IPython.core.
Authors:
* Brian Granger
* Fernando Perez
MinRK
use ROUTER/DEALER sockets for stdin...
r4952 * Min Ragan-Kelley
Brian Granger
Continuing a massive refactor of everything.
r2205
Notes
-----
"""
#-----------------------------------------------------------------------------
MinRK
cleanup stale, unused exceptions in parallel.error...
r11152 # Copyright (C) 2008 The IPython Development Team
Brian Granger
Continuing a massive refactor of everything.
r2205 #
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Exception classes
#-----------------------------------------------------------------------------
class IPythonCoreError(Exception):
pass
class TryNext(IPythonCoreError):
"""Try next hook exception.
Bernardo B. Marques
remove all trailling spaces
r4872
Brian Granger
Continuing a massive refactor of everything.
r2205 Raise this in your hook function to indicate that the next hook handler
Bradley M. Froehle
Remove args/kwargs handling in TryNext....
r7334 should be used to handle the operation.
Brian Granger
Continuing a massive refactor of everything.
r2205 """
class UsageError(IPythonCoreError):
"""Error in magic function arguments, etc.
Bernardo B. Marques
remove all trailling spaces
r4872
Brian Granger
Continuing a massive refactor of everything.
r2205 Something that probably won't warrant a full traceback, but should
Bernardo B. Marques
remove all trailling spaces
r4872 nevertheless interrupt a macro / batch file.
Thomas Spura
Fix rpmlint: non-executable-script...
r4574 """
MinRK
use ROUTER/DEALER sockets for stdin...
r4952
class StdinNotImplementedError(IPythonCoreError, NotImplementedError):
"""raw_input was requested in a context where it is not supported
For use in IPython kernels, where only some frontends may support
stdin requests.
"""
Scott Sanderson
MAINT: Move `InputRejected` to `IPython.core.error`.
r17799
class InputRejected(Exception):
"""Input rejected by ast transformer.
Raise this in your NodeTransformer to indicate that InteractiveShell should
not execute the supplied input.
"""