Show More
@@ -365,7 +365,14 b' class ArgParseConfigLoader(CommandLineConfigLoader):' | |||||
365 |
|
365 | |||
366 | def _parse_args(self, args): |
|
366 | def _parse_args(self, args): | |
367 | """self.parser->self.parsed_data""" |
|
367 | """self.parser->self.parsed_data""" | |
368 | self.parsed_data, self.extra_args = self.parser.parse_known_args(args) |
|
368 | # decode sys.argv to support unicode command-line options | |
|
369 | uargs = [] | |||
|
370 | for a in args: | |||
|
371 | if isinstance(a, str): | |||
|
372 | # don't decode if we already got unicode | |||
|
373 | a = a.decode(sys.stdin.encoding) | |||
|
374 | uargs.append(a) | |||
|
375 | self.parsed_data, self.extra_args = self.parser.parse_known_args(uargs) | |||
369 |
|
376 | |||
370 | def _convert_to_config(self): |
|
377 | def _convert_to_config(self): | |
371 | """self.parsed_data->self.config""" |
|
378 | """self.parsed_data->self.config""" |
@@ -158,7 +158,7 b' class InteractiveShell(Configurable, Magic):' | |||||
158 | exit_now = CBool(False) |
|
158 | exit_now = CBool(False) | |
159 | # Monotonically increasing execution counter |
|
159 | # Monotonically increasing execution counter | |
160 | execution_count = Int(1) |
|
160 | execution_count = Int(1) | |
161 |
filename = |
|
161 | filename = Unicode("<ipython console>") | |
162 | ipython_dir= Unicode('', config=True) # Set to get_ipython_dir() in __init__ |
|
162 | ipython_dir= Unicode('', config=True) # Set to get_ipython_dir() in __init__ | |
163 |
|
163 | |||
164 | # Input splitter, to split entire cells of input into either individual |
|
164 | # Input splitter, to split entire cells of input into either individual | |
@@ -166,13 +166,13 b' class InteractiveShell(Configurable, Magic):' | |||||
166 | input_splitter = Instance('IPython.core.inputsplitter.IPythonInputSplitter', |
|
166 | input_splitter = Instance('IPython.core.inputsplitter.IPythonInputSplitter', | |
167 | (), {}) |
|
167 | (), {}) | |
168 | logstart = CBool(False, config=True) |
|
168 | logstart = CBool(False, config=True) | |
169 |
logfile = |
|
169 | logfile = Unicode('', config=True) | |
170 |
logappend = |
|
170 | logappend = Unicode('', config=True) | |
171 | object_info_string_level = Enum((0,1,2), default_value=0, |
|
171 | object_info_string_level = Enum((0,1,2), default_value=0, | |
172 | config=True) |
|
172 | config=True) | |
173 | pdb = CBool(False, config=True) |
|
173 | pdb = CBool(False, config=True) | |
174 |
|
174 | |||
175 |
profile = |
|
175 | profile = Unicode('', config=True) | |
176 | prompt_in1 = Str('In [\\#]: ', config=True) |
|
176 | prompt_in1 = Str('In [\\#]: ', config=True) | |
177 | prompt_in2 = Str(' .\\D.: ', config=True) |
|
177 | prompt_in2 = Str(' .\\D.: ', config=True) | |
178 | prompt_out = Str('Out[\\#]: ', config=True) |
|
178 | prompt_out = Str('Out[\\#]: ', config=True) | |
@@ -1987,7 +1987,6 b' class InteractiveShell(Configurable, Magic):' | |||||
1987 | kw.setdefault('exit_ignore', False) |
|
1987 | kw.setdefault('exit_ignore', False) | |
1988 |
|
1988 | |||
1989 | fname = os.path.abspath(os.path.expanduser(fname)) |
|
1989 | fname = os.path.abspath(os.path.expanduser(fname)) | |
1990 |
|
||||
1991 | # Make sure we have a .py file |
|
1990 | # Make sure we have a .py file | |
1992 | if not fname.endswith('.py'): |
|
1991 | if not fname.endswith('.py'): | |
1993 | warn('File must end with .py to be run using execfile: <%s>' % fname) |
|
1992 | warn('File must end with .py to be run using execfile: <%s>' % fname) | |
@@ -2004,6 +2003,11 b' class InteractiveShell(Configurable, Magic):' | |||||
2004 | # behavior of running a script from the system command line, where |
|
2003 | # behavior of running a script from the system command line, where | |
2005 | # Python inserts the script's directory into sys.path |
|
2004 | # Python inserts the script's directory into sys.path | |
2006 | dname = os.path.dirname(fname) |
|
2005 | dname = os.path.dirname(fname) | |
|
2006 | ||||
|
2007 | if isinstance(fname, unicode): | |||
|
2008 | # execfile uses default encoding instead of filesystem encoding | |||
|
2009 | # so unicode filenames will fail | |||
|
2010 | fname = fname.encode(sys.getfilesystemencoding() or sys.getdefaultencoding()) | |||
2007 |
|
2011 | |||
2008 | with prepended_to_syspath(dname): |
|
2012 | with prepended_to_syspath(dname): | |
2009 | try: |
|
2013 | try: |
@@ -19,7 +19,7 b' from IPython.external.qt import QtCore, QtGui' | |||||
19 | from IPython.core.inputsplitter import IPythonInputSplitter, \ |
|
19 | from IPython.core.inputsplitter import IPythonInputSplitter, \ | |
20 | transform_ipy_prompt |
|
20 | transform_ipy_prompt | |
21 | from IPython.core.usage import default_gui_banner |
|
21 | from IPython.core.usage import default_gui_banner | |
22 | from IPython.utils.traitlets import Bool, Str |
|
22 | from IPython.utils.traitlets import Bool, Str, Unicode | |
23 | from frontend_widget import FrontendWidget |
|
23 | from frontend_widget import FrontendWidget | |
24 | from styles import (default_light_style_sheet, default_light_syntax_style, |
|
24 | from styles import (default_light_style_sheet, default_light_syntax_style, | |
25 | default_dark_style_sheet, default_dark_syntax_style, |
|
25 | default_dark_style_sheet, default_dark_syntax_style, | |
@@ -57,19 +57,19 b' class IPythonWidget(FrontendWidget):' | |||||
57 | # A command for invoking a system text editor. If the string contains a |
|
57 | # A command for invoking a system text editor. If the string contains a | |
58 | # {filename} format specifier, it will be used. Otherwise, the filename will |
|
58 | # {filename} format specifier, it will be used. Otherwise, the filename will | |
59 | # be appended to the end the command. |
|
59 | # be appended to the end the command. | |
60 |
editor = |
|
60 | editor = Unicode('default', config=True) | |
61 |
|
61 | |||
62 | # The editor command to use when a specific line number is requested. The |
|
62 | # The editor command to use when a specific line number is requested. The | |
63 | # string should contain two format specifiers: {line} and {filename}. If |
|
63 | # string should contain two format specifiers: {line} and {filename}. If | |
64 | # this parameter is not specified, the line number option to the %edit magic |
|
64 | # this parameter is not specified, the line number option to the %edit magic | |
65 | # will be ignored. |
|
65 | # will be ignored. | |
66 |
editor_line = |
|
66 | editor_line = Unicode(config=True) | |
67 |
|
67 | |||
68 | # A CSS stylesheet. The stylesheet can contain classes for: |
|
68 | # A CSS stylesheet. The stylesheet can contain classes for: | |
69 | # 1. Qt: QPlainTextEdit, QFrame, QWidget, etc |
|
69 | # 1. Qt: QPlainTextEdit, QFrame, QWidget, etc | |
70 | # 2. Pygments: .c, .k, .o, etc (see PygmentsHighlighter) |
|
70 | # 2. Pygments: .c, .k, .o, etc (see PygmentsHighlighter) | |
71 | # 3. IPython: .error, .in-prompt, .out-prompt, etc |
|
71 | # 3. IPython: .error, .in-prompt, .out-prompt, etc | |
72 |
style_sheet = |
|
72 | style_sheet = Unicode(config=True) | |
73 |
|
73 | |||
74 | # If not empty, use this Pygments style for syntax highlighting. Otherwise, |
|
74 | # If not empty, use this Pygments style for syntax highlighting. Otherwise, | |
75 | # the style sheet is queried for Pygments style information. |
|
75 | # the style sheet is queried for Pygments style information. |
@@ -33,7 +33,7 b' from IPython.core import ultratb' | |||||
33 | from IPython.frontend.terminal.interactiveshell import TerminalInteractiveShell |
|
33 | from IPython.frontend.terminal.interactiveshell import TerminalInteractiveShell | |
34 | from IPython.frontend.terminal.ipapp import load_default_config |
|
34 | from IPython.frontend.terminal.ipapp import load_default_config | |
35 |
|
35 | |||
36 | from IPython.utils.traitlets import Bool, Str, CBool |
|
36 | from IPython.utils.traitlets import Bool, Str, CBool, Unicode | |
37 | from IPython.utils.io import ask_yes_no |
|
37 | from IPython.utils.io import ask_yes_no | |
38 |
|
38 | |||
39 |
|
39 | |||
@@ -62,7 +62,7 b" def kill_embedded(self,parameter_s=''):" | |||||
62 | class InteractiveShellEmbed(TerminalInteractiveShell): |
|
62 | class InteractiveShellEmbed(TerminalInteractiveShell): | |
63 |
|
63 | |||
64 | dummy_mode = Bool(False) |
|
64 | dummy_mode = Bool(False) | |
65 |
exit_msg = |
|
65 | exit_msg = Unicode('') | |
66 | embedded = CBool(True) |
|
66 | embedded = CBool(True) | |
67 | embedded_active = CBool(True) |
|
67 | embedded_active = CBool(True) | |
68 | # Like the base class display_banner is not configurable, but here it |
|
68 | # Like the base class display_banner is not configurable, but here it |
@@ -31,7 +31,7 b' from IPython.utils.terminal import toggle_set_term_title, set_term_title' | |||||
31 | from IPython.utils.process import abbrev_cwd |
|
31 | from IPython.utils.process import abbrev_cwd | |
32 | from IPython.utils.warn import warn |
|
32 | from IPython.utils.warn import warn | |
33 | from IPython.utils.text import num_ini_spaces |
|
33 | from IPython.utils.text import num_ini_spaces | |
34 | from IPython.utils.traitlets import Int, Str, CBool |
|
34 | from IPython.utils.traitlets import Int, Str, CBool, Unicode | |
35 |
|
35 | |||
36 | #----------------------------------------------------------------------------- |
|
36 | #----------------------------------------------------------------------------- | |
37 | # Utilities |
|
37 | # Utilities | |
@@ -59,9 +59,9 b' raw_input_original = raw_input' | |||||
59 | class TerminalInteractiveShell(InteractiveShell): |
|
59 | class TerminalInteractiveShell(InteractiveShell): | |
60 |
|
60 | |||
61 | autoedit_syntax = CBool(False, config=True) |
|
61 | autoedit_syntax = CBool(False, config=True) | |
62 |
banner = |
|
62 | banner = Unicode('') | |
63 |
banner1 = |
|
63 | banner1 = Unicode(default_banner, config=True) | |
64 |
banner2 = |
|
64 | banner2 = Unicode('', config=True) | |
65 | confirm_exit = CBool(True, config=True) |
|
65 | confirm_exit = CBool(True, config=True) | |
66 | # This display_banner only controls whether or not self.show_banner() |
|
66 | # This display_banner only controls whether or not self.show_banner() | |
67 | # is called when mainloop/interact are called. The default is False |
|
67 | # is called when mainloop/interact are called. The default is False | |
@@ -71,8 +71,8 b' class TerminalInteractiveShell(InteractiveShell):' | |||||
71 | display_banner = CBool(False) # This isn't configurable! |
|
71 | display_banner = CBool(False) # This isn't configurable! | |
72 | embedded = CBool(False) |
|
72 | embedded = CBool(False) | |
73 | embedded_active = CBool(False) |
|
73 | embedded_active = CBool(False) | |
74 |
editor = |
|
74 | editor = Unicode(get_default_editor(), config=True) | |
75 |
pager = |
|
75 | pager = Unicode('less', config=True) | |
76 |
|
76 | |||
77 | screen_length = Int(0, config=True) |
|
77 | screen_length = Int(0, config=True) | |
78 | term_title = CBool(False, config=True) |
|
78 | term_title = CBool(False, config=True) |
General Comments 0
You need to be logged in to leave comments.
Login now