Show More
@@ -0,0 +1,12 b'' | |||
|
1 | try: | |
|
2 | import argparse | |
|
3 | # Workaround an argparse bug, FIXED in argparse 1.1.0 | |
|
4 | if 'RawTextHelpFormatterArgumentDefaultsHelpFormatter' in argparse.__all__: | |
|
5 | import itertools | |
|
6 | argparse.__all__ = list(itertools.chain( [i for i in argparse.__all__ | |
|
7 | if i != 'RawTextHelpFormatterArgumentDefaultsHelpFormatter'], | |
|
8 | ['RawTextHelpFormatter', 'ArgumentDefaultsHelpFormatter'])) | |
|
9 | argparse.__all__.append('SUPPRESS') | |
|
10 | from argparse import * | |
|
11 | except ImportError: | |
|
12 | from _argparse import * |
@@ -0,0 +1,8 b'' | |||
|
1 | try: | |
|
2 | from decorator import * | |
|
3 | from decorator import getinfo, new_wrapper | |
|
4 | # the following funcion is deprecated so using the python own one | |
|
5 | from functools import update_wrapper | |
|
6 | except ImportError: | |
|
7 | from _decorator import * | |
|
8 | from _decorator import getinfo, update_wrapper, new_wrapper |
@@ -0,0 +1,4 b'' | |||
|
1 | try: | |
|
2 | from numpy.testing.decorators import * | |
|
3 | except ImportError: | |
|
4 | from _decorators import * |
@@ -0,0 +1,5 b'' | |||
|
1 | try: | |
|
2 | import pexpect | |
|
3 | from pexpect import * | |
|
4 | except ImportError: | |
|
5 | from _pexpect import * |
@@ -0,0 +1,4 b'' | |||
|
1 | try: | |
|
2 | from simplegeneric import * | |
|
3 | except ImportError: | |
|
4 | from _simplegeneric import * |
@@ -0,0 +1,8 b'' | |||
|
1 | try: | |
|
2 | import validate | |
|
3 | if '__docformat__' in validate.__all__ and validate.__version__.split('.') >= ['1', '0', '1']: | |
|
4 | # __docformat__ was removed in 1.0.1 but | |
|
5 | validate.__all__ = [i for i in validate.__all__ if i != '__docformat__'] | |
|
6 | from validate import * | |
|
7 | except ImportError: | |
|
8 | from _validate import * |
@@ -27,7 +27,7 b' from StringIO import StringIO' | |||
|
27 | 27 | |
|
28 | 28 | # Our own imports |
|
29 | 29 | from IPython.config.configurable import Configurable |
|
30 |
from IPython. |
|
|
30 | from IPython.lib import pretty | |
|
31 | 31 | from IPython.utils.traitlets import Bool, Dict, Int, Str, CStr |
|
32 | 32 | |
|
33 | 33 |
|
1 | NO CONTENT: file renamed from IPython/external/Itpl.py to IPython/external/Itpl/_Itpl.py |
@@ -1,18 +1,4 b'' | |||
|
1 | # -*- coding: utf-8 -*- | |
|
2 | ||
|
3 | # Copyright © 2006-2009 Steven J. Bethard <steven.bethard@gmail.com>. | |
|
4 | # | |
|
5 | # Licensed under the Apache License, Version 2.0 (the "License"); you may not | |
|
6 | # use this file except in compliance with the License. You may obtain a copy | |
|
7 | # of the License at | |
|
8 | # | |
|
9 | # http://www.apache.org/licenses/LICENSE-2.0 | |
|
10 | # | |
|
11 | # Unless required by applicable law or agreed to in writing, software | |
|
12 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | |
|
13 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | |
|
14 | # License for the specific language governing permissions and limitations | |
|
15 | # under the License. | |
|
1 | # Author: Steven J. Bethard <steven.bethard@gmail.com>. | |
|
16 | 2 | |
|
17 | 3 | """Command-line parsing library |
|
18 | 4 | |
@@ -75,7 +61,7 b' considered public as object names -- the API of the formatter objects is' | |||
|
75 | 61 | still considered an implementation detail.) |
|
76 | 62 | """ |
|
77 | 63 | |
|
78 |
__version__ = '1.1 |
|
|
64 | __version__ = '1.1' | |
|
79 | 65 | __all__ = [ |
|
80 | 66 | 'ArgumentParser', |
|
81 | 67 | 'ArgumentError', |
@@ -97,40 +83,10 b' import textwrap as _textwrap' | |||
|
97 | 83 | |
|
98 | 84 | from gettext import gettext as _ |
|
99 | 85 | |
|
100 | try: | |
|
101 | _set = set | |
|
102 | except NameError: | |
|
103 | from sets import Set as _set | |
|
104 | ||
|
105 | try: | |
|
106 | _basestring = basestring | |
|
107 | except NameError: | |
|
108 | _basestring = str | |
|
109 | ||
|
110 | try: | |
|
111 | _sorted = sorted | |
|
112 | except NameError: | |
|
113 | ||
|
114 | def _sorted(iterable, reverse=False): | |
|
115 | result = list(iterable) | |
|
116 | result.sort() | |
|
117 | if reverse: | |
|
118 | result.reverse() | |
|
119 | return result | |
|
120 | ||
|
121 | 86 | |
|
122 | 87 | def _callable(obj): |
|
123 | 88 | return hasattr(obj, '__call__') or hasattr(obj, '__bases__') |
|
124 | 89 | |
|
125 | # silence Python 2.6 buggy warnings about Exception.message | |
|
126 | if _sys.version_info[:2] == (2, 6): | |
|
127 | import warnings | |
|
128 | warnings.filterwarnings( | |
|
129 | action='ignore', | |
|
130 | message='BaseException.message has been deprecated as of Python 2.6', | |
|
131 | category=DeprecationWarning, | |
|
132 | module='argparse') | |
|
133 | ||
|
134 | 90 | |
|
135 | 91 | SUPPRESS = '==SUPPRESS==' |
|
136 | 92 | |
@@ -163,7 +119,7 b' class _AttributeHolder(object):' | |||
|
163 | 119 | return '%s(%s)' % (type_name, ', '.join(arg_strings)) |
|
164 | 120 | |
|
165 | 121 | def _get_kwargs(self): |
|
166 |
return |
|
|
122 | return sorted(self.__dict__.items()) | |
|
167 | 123 | |
|
168 | 124 | def _get_args(self): |
|
169 | 125 | return [] |
@@ -416,7 +372,7 b' class HelpFormatter(object):' | |||
|
416 | 372 | |
|
417 | 373 | def _format_actions_usage(self, actions, groups): |
|
418 | 374 | # find group indices and identify actions in groups |
|
419 |
group_actions = |
|
|
375 | group_actions = set() | |
|
420 | 376 | inserts = {} |
|
421 | 377 | for group in groups: |
|
422 | 378 | try: |
@@ -486,7 +442,7 b' class HelpFormatter(object):' | |||
|
486 | 442 | parts.append(part) |
|
487 | 443 | |
|
488 | 444 | # insert things at the necessary indices |
|
489 |
for i in |
|
|
445 | for i in sorted(inserts, reverse=True): | |
|
490 | 446 | parts[i:i] = [inserts[i]] |
|
491 | 447 | |
|
492 | 448 | # join all the action items with spaces |
@@ -621,6 +577,9 b' class HelpFormatter(object):' | |||
|
621 | 577 | for name in list(params): |
|
622 | 578 | if params[name] is SUPPRESS: |
|
623 | 579 | del params[name] |
|
580 | for name in list(params): | |
|
581 | if hasattr(params[name], '__name__'): | |
|
582 | params[name] = params[name].__name__ | |
|
624 | 583 | if params.get('choices') is not None: |
|
625 | 584 | choices_str = ', '.join([str(c) for c in params['choices']]) |
|
626 | 585 | params['choices'] = choices_str |
@@ -1028,7 +987,7 b' class _VersionAction(Action):' | |||
|
1028 | 987 | version=None, |
|
1029 | 988 | dest=SUPPRESS, |
|
1030 | 989 | default=SUPPRESS, |
|
1031 | help=None): | |
|
990 | help="show program's version number and exit"): | |
|
1032 | 991 | super(_VersionAction, self).__init__( |
|
1033 | 992 | option_strings=option_strings, |
|
1034 | 993 | dest=dest, |
@@ -1169,7 +1128,10 b' class Namespace(_AttributeHolder):' | |||
|
1169 | 1128 | """ |
|
1170 | 1129 | |
|
1171 | 1130 | def __init__(self, **kwargs): |
|
1172 | self.__dict__.update(**kwargs) | |
|
1131 | for name in kwargs: | |
|
1132 | setattr(self, name, kwargs[name]) | |
|
1133 | ||
|
1134 | __hash__ = None | |
|
1173 | 1135 | |
|
1174 | 1136 | def __eq__(self, other): |
|
1175 | 1137 | return vars(self) == vars(other) |
@@ -1296,6 +1258,12 b' class _ActionsContainer(object):' | |||
|
1296 | 1258 | if not _callable(action_class): |
|
1297 | 1259 | raise ValueError('unknown action "%s"' % action_class) |
|
1298 | 1260 | action = action_class(**kwargs) |
|
1261 | ||
|
1262 | # raise an error if the action type is not callable | |
|
1263 | type_func = self._registry_get('type', action.type, action.type) | |
|
1264 | if not _callable(type_func): | |
|
1265 | raise ValueError('%r is not callable' % type_func) | |
|
1266 | ||
|
1299 | 1267 | return self._add_action(action) |
|
1300 | 1268 | |
|
1301 | 1269 | def add_argument_group(self, *args, **kwargs): |
@@ -1393,12 +1361,6 b' class _ActionsContainer(object):' | |||
|
1393 | 1361 | option_strings = [] |
|
1394 | 1362 | long_option_strings = [] |
|
1395 | 1363 | for option_string in args: |
|
1396 | # error on one-or-fewer-character option strings | |
|
1397 | if len(option_string) < 2: | |
|
1398 | msg = _('invalid option string %r: ' | |
|
1399 | 'must be at least two characters long') | |
|
1400 | raise ValueError(msg % option_string) | |
|
1401 | ||
|
1402 | 1364 | # error on strings that don't start with an appropriate prefix |
|
1403 | 1365 | if not option_string[0] in self.prefix_chars: |
|
1404 | 1366 | msg = _('invalid option string %r: ' |
@@ -1406,18 +1368,12 b' class _ActionsContainer(object):' | |||
|
1406 | 1368 | tup = option_string, self.prefix_chars |
|
1407 | 1369 | raise ValueError(msg % tup) |
|
1408 | 1370 | |
|
1409 | # error on strings that are all prefix characters | |
|
1410 | if not (_set(option_string) - _set(self.prefix_chars)): | |
|
1411 | msg = _('invalid option string %r: ' | |
|
1412 | 'must contain characters other than %r') | |
|
1413 | tup = option_string, self.prefix_chars | |
|
1414 | raise ValueError(msg % tup) | |
|
1415 | ||
|
1416 | 1371 | # strings starting with two prefix characters are long options |
|
1417 | 1372 | option_strings.append(option_string) |
|
1418 | 1373 | if option_string[0] in self.prefix_chars: |
|
1419 |
if option_string |
|
|
1420 | long_option_strings.append(option_string) | |
|
1374 | if len(option_string) > 1: | |
|
1375 | if option_string[1] in self.prefix_chars: | |
|
1376 | long_option_strings.append(option_string) | |
|
1421 | 1377 | |
|
1422 | 1378 | # infer destination, '--foo-bar' -> 'foo_bar' and '-x' -> 'x' |
|
1423 | 1379 | dest = kwargs.pop('dest', None) |
@@ -1427,6 +1383,9 b' class _ActionsContainer(object):' | |||
|
1427 | 1383 | else: |
|
1428 | 1384 | dest_option_string = option_strings[0] |
|
1429 | 1385 | dest = dest_option_string.lstrip(self.prefix_chars) |
|
1386 | if not dest: | |
|
1387 | msg = _('dest= is required for options like %r') | |
|
1388 | raise ValueError(msg % option_string) | |
|
1430 | 1389 | dest = dest.replace('-', '_') |
|
1431 | 1390 | |
|
1432 | 1391 | # return the updated keyword arguments |
@@ -1542,7 +1501,6 b' class ArgumentParser(_AttributeHolder, _ActionsContainer):' | |||
|
1542 | 1501 | - usage -- A usage message (default: auto-generated from arguments) |
|
1543 | 1502 | - description -- A description of what the program does |
|
1544 | 1503 | - epilog -- Text following the argument descriptions |
|
1545 | - version -- Add a -v/--version option with the given version string | |
|
1546 | 1504 | - parents -- Parsers whose arguments should be copied into this one |
|
1547 | 1505 | - formatter_class -- HelpFormatter class for printing help messages |
|
1548 | 1506 | - prefix_chars -- Characters that prefix optional arguments |
@@ -1567,6 +1525,14 b' class ArgumentParser(_AttributeHolder, _ActionsContainer):' | |||
|
1567 | 1525 | conflict_handler='error', |
|
1568 | 1526 | add_help=True): |
|
1569 | 1527 | |
|
1528 | if version is not None: | |
|
1529 | import warnings | |
|
1530 | warnings.warn( | |
|
1531 | """The "version" argument to ArgumentParser is deprecated. """ | |
|
1532 | """Please use """ | |
|
1533 | """"add_argument(..., action='version', version="N", ...)" """ | |
|
1534 | """instead""", DeprecationWarning) | |
|
1535 | ||
|
1570 | 1536 | superinit = super(ArgumentParser, self).__init__ |
|
1571 | 1537 | superinit(description=description, |
|
1572 | 1538 | prefix_chars=prefix_chars, |
@@ -1708,7 +1674,7 b' class ArgumentParser(_AttributeHolder, _ActionsContainer):' | |||
|
1708 | 1674 | if not hasattr(namespace, action.dest): |
|
1709 | 1675 | if action.default is not SUPPRESS: |
|
1710 | 1676 | default = action.default |
|
1711 |
if isinstance(action.default, |
|
|
1677 | if isinstance(action.default, basestring): | |
|
1712 | 1678 | default = self._get_value(action, default) |
|
1713 | 1679 | setattr(namespace, action.dest, default) |
|
1714 | 1680 | |
@@ -1768,8 +1734,8 b' class ArgumentParser(_AttributeHolder, _ActionsContainer):' | |||
|
1768 | 1734 | arg_strings_pattern = ''.join(arg_string_pattern_parts) |
|
1769 | 1735 | |
|
1770 | 1736 | # converts arg strings to the appropriate and then takes the action |
|
1771 |
seen_actions = |
|
|
1772 |
seen_non_default_actions = |
|
|
1737 | seen_actions = set() | |
|
1738 | seen_non_default_actions = set() | |
|
1773 | 1739 | |
|
1774 | 1740 | def take_action(action, argument_strings, option_string=None): |
|
1775 | 1741 | seen_actions.add(action) |
@@ -1973,7 +1939,10 b' class ArgumentParser(_AttributeHolder, _ActionsContainer):' | |||
|
1973 | 1939 | try: |
|
1974 | 1940 | args_file = open(arg_string[1:]) |
|
1975 | 1941 | try: |
|
1976 |
arg_strings = |
|
|
1942 | arg_strings = [] | |
|
1943 | for arg_line in args_file.read().splitlines(): | |
|
1944 | for arg in self.convert_arg_line_to_args(arg_line): | |
|
1945 | arg_strings.append(arg) | |
|
1977 | 1946 | arg_strings = self._read_args_from_files(arg_strings) |
|
1978 | 1947 | new_arg_strings.extend(arg_strings) |
|
1979 | 1948 | finally: |
@@ -1985,6 +1954,9 b' class ArgumentParser(_AttributeHolder, _ActionsContainer):' | |||
|
1985 | 1954 | # return the modified argument list |
|
1986 | 1955 | return new_arg_strings |
|
1987 | 1956 | |
|
1957 | def convert_arg_line_to_args(self, arg_line): | |
|
1958 | return [arg_line] | |
|
1959 | ||
|
1988 | 1960 | def _match_argument(self, action, arg_strings_pattern): |
|
1989 | 1961 | # match the pattern for this action to the arg strings |
|
1990 | 1962 | nargs_pattern = self._get_nargs_pattern(action) |
@@ -2029,15 +2001,15 b' class ArgumentParser(_AttributeHolder, _ActionsContainer):' | |||
|
2029 | 2001 | if not arg_string[0] in self.prefix_chars: |
|
2030 | 2002 | return None |
|
2031 | 2003 | |
|
2032 | # if it's just dashes, it was meant to be positional | |
|
2033 | if not arg_string.strip('-'): | |
|
2034 | return None | |
|
2035 | ||
|
2036 | 2004 | # if the option string is present in the parser, return the action |
|
2037 | 2005 | if arg_string in self._option_string_actions: |
|
2038 | 2006 | action = self._option_string_actions[arg_string] |
|
2039 | 2007 | return action, arg_string, None |
|
2040 | 2008 | |
|
2009 | # if it's just a single character, it was meant to be positional | |
|
2010 | if len(arg_string) == 1: | |
|
2011 | return None | |
|
2012 | ||
|
2041 | 2013 | # if the option string before the "=" is present, return the action |
|
2042 | 2014 | if '=' in arg_string: |
|
2043 | 2015 | option_string, explicit_arg = arg_string.split('=', 1) |
@@ -2176,7 +2148,7 b' class ArgumentParser(_AttributeHolder, _ActionsContainer):' | |||
|
2176 | 2148 | value = action.const |
|
2177 | 2149 | else: |
|
2178 | 2150 | value = action.default |
|
2179 |
if isinstance(value, |
|
|
2151 | if isinstance(value, basestring): | |
|
2180 | 2152 | value = self._get_value(action, value) |
|
2181 | 2153 | self._check_value(action, value) |
|
2182 | 2154 | |
@@ -2279,6 +2251,11 b' class ArgumentParser(_AttributeHolder, _ActionsContainer):' | |||
|
2279 | 2251 | return formatter.format_help() |
|
2280 | 2252 | |
|
2281 | 2253 | def format_version(self): |
|
2254 | import warnings | |
|
2255 | warnings.warn( | |
|
2256 | 'The format_version method is deprecated -- the "version" ' | |
|
2257 | 'argument to ArgumentParser is no longer supported.', | |
|
2258 | DeprecationWarning) | |
|
2282 | 2259 | formatter = self._get_formatter() |
|
2283 | 2260 | formatter.add_text(self.version) |
|
2284 | 2261 | return formatter.format_help() |
@@ -2300,6 +2277,11 b' class ArgumentParser(_AttributeHolder, _ActionsContainer):' | |||
|
2300 | 2277 | self._print_message(self.format_help(), file) |
|
2301 | 2278 | |
|
2302 | 2279 | def print_version(self, file=None): |
|
2280 | import warnings | |
|
2281 | warnings.warn( | |
|
2282 | 'The print_version method is deprecated -- the "version" ' | |
|
2283 | 'argument to ArgumentParser is no longer supported.', | |
|
2284 | DeprecationWarning) | |
|
2303 | 2285 | self._print_message(self.format_version(), file) |
|
2304 | 2286 | |
|
2305 | 2287 | def _print_message(self, message, file=None): |
|
1 | NO CONTENT: file renamed from IPython/external/configobj.py to IPython/external/configobj/_configobj.py |
|
1 | NO CONTENT: file renamed from IPython/external/decorator.py to IPython/external/decorator/_decorator.py |
|
1 | NO CONTENT: file renamed from IPython/external/decorators.py to IPython/external/decorators/_decorators.py |
|
1 | NO CONTENT: file renamed from IPython/external/_numpy_testing_utils.py to IPython/external/decorators/_numpy_testing_utils.py |
|
1 | NO CONTENT: file renamed from IPython/external/guid.py to IPython/external/guid/_guid.py |
|
1 | NO CONTENT: file renamed from IPython/external/mglob.py to IPython/external/mglob/_mglob.py |
|
1 | NO CONTENT: file renamed from IPython/external/path.py to IPython/external/path/_path.py |
|
1 | NO CONTENT: file renamed from IPython/external/pexpect.py to IPython/external/pexpect/_pexpect.py |
|
1 | NO CONTENT: file renamed from IPython/external/pyparsing.py to IPython/external/pyparsing/_pyparsing.py |
|
1 | NO CONTENT: file renamed from IPython/external/simplegeneric.py to IPython/external/simplegeneric/_simplegeneric.py |
|
1 | NO CONTENT: file renamed from IPython/external/validate.py to IPython/external/validate/_validate.py |
|
1 | NO CONTENT: file renamed from IPython/external/pretty.py to IPython/lib/pretty.py |
@@ -108,6 +108,17 b' def find_packages():' | |||
|
108 | 108 | add_package(packages, 'deathrow', tests=True) |
|
109 | 109 | add_package(packages, 'extensions') |
|
110 | 110 | add_package(packages, 'external') |
|
111 | add_package(packages, 'external.argparse') | |
|
112 | add_package(packages, 'external.configobj') | |
|
113 | add_package(packages, 'external.decorator') | |
|
114 | add_package(packages, 'external.decorators') | |
|
115 | add_package(packages, 'external.guid') | |
|
116 | add_package(packages, 'external.Itpl') | |
|
117 | add_package(packages, 'external.mglob') | |
|
118 | add_package(packages, 'external.path') | |
|
119 | add_package(packages, 'external.pyparsing') | |
|
120 | add_package(packages, 'external.simplegeneric') | |
|
121 | add_package(packages, 'external.validate') | |
|
111 | 122 | add_package(packages, 'frontend') |
|
112 | 123 | add_package(packages, 'frontend.qt') |
|
113 | 124 | add_package(packages, 'frontend.qt.console', tests=True) |
General Comments 0
You need to be logged in to leave comments.
Login now