diff options
Diffstat (limited to 'dev-python/line_profiler/files')
-rw-r--r-- | dev-python/line_profiler/files/line_profiler-1.0-fix-name-from-copypasta.patch | 25 | ||||
-rw-r--r-- | dev-python/line_profiler/files/line_profiler-1.0-ipython-5.0-compatibility.patch | 299 |
2 files changed, 0 insertions, 324 deletions
diff --git a/dev-python/line_profiler/files/line_profiler-1.0-fix-name-from-copypasta.patch b/dev-python/line_profiler/files/line_profiler-1.0-fix-name-from-copypasta.patch deleted file mode 100644 index e51a24f86171..000000000000 --- a/dev-python/line_profiler/files/line_profiler-1.0-fix-name-from-copypasta.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 717df8c2088087ea4bce870400a2c99b36b0e53d Mon Sep 17 00:00:00 2001 -From: Robert Kern <rkern@enthought.com> -Date: Mon, 21 Dec 2015 19:25:51 +0000 -Subject: [PATCH] BUG: fix name from copypasta. - -Fixes #43 - -Thanks, @anntzer! ---- - line_profiler.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/line_profiler.py b/line_profiler.py -index 4480c7b..aac01c8 100755 ---- a/line_profiler.py -+++ b/line_profiler.py -@@ -303,7 +303,7 @@ def magic_lprun(self, parameter_s=''): - mod = __import__(modname, fromlist=['']) - profile.add_module(mod) - except Exception as e: -- raise UsageError('Could not find module %r.\n%s: %s' % (name, -+ raise UsageError('Could not find module %r.\n%s: %s' % (modname, - e.__class__.__name__, e)) - - # Add the profiler to the builtins for @profile. diff --git a/dev-python/line_profiler/files/line_profiler-1.0-ipython-5.0-compatibility.patch b/dev-python/line_profiler/files/line_profiler-1.0-ipython-5.0-compatibility.patch deleted file mode 100644 index 04caa8c6987c..000000000000 --- a/dev-python/line_profiler/files/line_profiler-1.0-ipython-5.0-compatibility.patch +++ /dev/null @@ -1,299 +0,0 @@ -https://github.com/rkern/line_profiler/pull/65 - -From 677a43104dd537b515c06eaeffa77f8dcfa5a76e Mon Sep 17 00:00:00 2001 -From: Brett Olsen <brett.olsen@invitae.com> -Date: Tue, 12 Jul 2016 10:18:28 -0700 -Subject: [PATCH 1] Update for compatibility with IPython 5.0 - -Also tested with IPython 4.1.1. Replaces the depreciated ip.define_magic() method with ip.register_magics() and some modifications to handle the different API required. ---- - line_profiler.py | 245 ++++++++++++++++++++++++++++--------------------------- - 1 file changed, 125 insertions(+), 120 deletions(-) - -diff --git a/line_profiler.py b/line_profiler.py -index aac01c8..7645997 100755 ---- a/line_profiler.py -+++ b/line_profiler.py -@@ -17,6 +17,8 @@ - import os - import sys - -+from IPython.core.magic import (Magics, magics_class, line_magic) -+ - from _line_profiler import LineProfiler as CLineProfiler - - # Python 2/3 compatibility utils -@@ -226,150 +228,153 @@ def show_text(stats, unit, stream=None, stripzeros=False): - for (fn, lineno, name), timings in sorted(stats.items()): - show_func(fn, lineno, name, stats[fn, lineno, name], unit, stream=stream, stripzeros=stripzeros) - --# A %lprun magic for IPython. --def magic_lprun(self, parameter_s=''): -- """ Execute a statement under the line-by-line profiler from the -- line_profiler module. -+@magics_class -+class LineProfilerMagics(Magics): - -- Usage: -- %lprun -f func1 -f func2 <statement> -+ @line_magic -+ def lprun(self, parameter_s=''): -+ """ Execute a statement under the line-by-line profiler from the -+ line_profiler module. - -- The given statement (which doesn't require quote marks) is run via the -- LineProfiler. Profiling is enabled for the functions specified by the -f -- options. The statistics will be shown side-by-side with the code through the -- pager once the statement has completed. -+ Usage: -+ %lprun -f func1 -f func2 <statement> - -- Options: -+ The given statement (which doesn't require quote marks) is run via the -+ LineProfiler. Profiling is enabled for the functions specified by the -f -+ options. The statistics will be shown side-by-side with the code through the -+ pager once the statement has completed. - -- -f <function>: LineProfiler only profiles functions and methods it is told -- to profile. This option tells the profiler about these functions. Multiple -- -f options may be used. The argument may be any expression that gives -- a Python function or method object. However, one must be careful to avoid -- spaces that may confuse the option parser. Additionally, functions defined -- in the interpreter at the In[] prompt or via %run currently cannot be -- displayed. Write these functions out to a separate file and import them. -+ Options: - -- -m <module>: Get all the functions/methods in a module -+ -f <function>: LineProfiler only profiles functions and methods it is told -+ to profile. This option tells the profiler about these functions. Multiple -+ -f options may be used. The argument may be any expression that gives -+ a Python function or method object. However, one must be careful to avoid -+ spaces that may confuse the option parser. Additionally, functions defined -+ in the interpreter at the In[] prompt or via %run currently cannot be -+ displayed. Write these functions out to a separate file and import them. - -- One or more -f or -m options are required to get any useful results. -+ -m <module>: Get all the functions/methods in a module - -- -D <filename>: dump the raw statistics out to a pickle file on disk. The -- usual extension for this is ".lprof". These statistics may be viewed later -- by running line_profiler.py as a script. -+ One or more -f or -m options are required to get any useful results. - -- -T <filename>: dump the text-formatted statistics with the code side-by-side -- out to a text file. -+ -D <filename>: dump the raw statistics out to a pickle file on disk. The -+ usual extension for this is ".lprof". These statistics may be viewed later -+ by running line_profiler.py as a script. - -- -r: return the LineProfiler object after it has completed profiling. -+ -T <filename>: dump the text-formatted statistics with the code side-by-side -+ out to a text file. - -- -s: strip out all entries from the print-out that have zeros. -- """ -- # Local imports to avoid hard dependency. -- from distutils.version import LooseVersion -- import IPython -- ipython_version = LooseVersion(IPython.__version__) -- if ipython_version < '0.11': -- from IPython.genutils import page -- from IPython.ipstruct import Struct -- from IPython.ipapi import UsageError -- else: -- from IPython.core.page import page -- from IPython.utils.ipstruct import Struct -- from IPython.core.error import UsageError -- -- # Escape quote markers. -- opts_def = Struct(D=[''], T=[''], f=[], m=[]) -- parameter_s = parameter_s.replace('"', r'\"').replace("'", r"\'") -- opts, arg_str = self.parse_options(parameter_s, 'rsf:m:D:T:', list_all=True) -- opts.merge(opts_def) -- -- global_ns = self.shell.user_global_ns -- local_ns = self.shell.user_ns -- -- # Get the requested functions. -- funcs = [] -- for name in opts.f: -- try: -- funcs.append(eval(name, global_ns, local_ns)) -- except Exception as e: -- raise UsageError('Could not find function %r.\n%s: %s' % (name, -- e.__class__.__name__, e)) -+ -r: return the LineProfiler object after it has completed profiling. - -- profile = LineProfiler(*funcs) -+ -s: strip out all entries from the print-out that have zeros. -+ """ -+ # Local imports to avoid hard dependency. -+ from distutils.version import LooseVersion -+ import IPython -+ ipython_version = LooseVersion(IPython.__version__) -+ if ipython_version < '0.11': -+ from IPython.genutils import page -+ from IPython.ipstruct import Struct -+ from IPython.ipapi import UsageError -+ else: -+ from IPython.core.page import page -+ from IPython.utils.ipstruct import Struct -+ from IPython.core.error import UsageError -+ -+ # Escape quote markers. -+ opts_def = Struct(D=[''], T=[''], f=[], m=[]) -+ parameter_s = parameter_s.replace('"', r'\"').replace("'", r"\'") -+ opts, arg_str = self.parse_options(parameter_s, 'rsf:m:D:T:', list_all=True) -+ opts.merge(opts_def) -+ -+ global_ns = self.shell.user_global_ns -+ local_ns = self.shell.user_ns -+ -+ # Get the requested functions. -+ funcs = [] -+ for name in opts.f: -+ try: -+ funcs.append(eval(name, global_ns, local_ns)) -+ except Exception as e: -+ raise UsageError('Could not find function %r.\n%s: %s' % (name, -+ e.__class__.__name__, e)) - -- # Get the modules, too -- for modname in opts.m: -- try: -- mod = __import__(modname, fromlist=['']) -- profile.add_module(mod) -- except Exception as e: -- raise UsageError('Could not find module %r.\n%s: %s' % (modname, -- e.__class__.__name__, e)) -- -- # Add the profiler to the builtins for @profile. -- if PY3: -- import builtins -- else: -- import __builtin__ as builtins -+ profile = LineProfiler(*funcs) - -- if 'profile' in builtins.__dict__: -- had_profile = True -- old_profile = builtins.__dict__['profile'] -- else: -- had_profile = False -- old_profile = None -- builtins.__dict__['profile'] = profile -+ # Get the modules, too -+ for modname in opts.m: -+ try: -+ mod = __import__(modname, fromlist=['']) -+ profile.add_module(mod) -+ except Exception as e: -+ raise UsageError('Could not find module %r.\n%s: %s' % (modname, -+ e.__class__.__name__, e)) -+ -+ # Add the profiler to the builtins for @profile. -+ if PY3: -+ import builtins -+ else: -+ import __builtin__ as builtins -+ -+ if 'profile' in builtins.__dict__: -+ had_profile = True -+ old_profile = builtins.__dict__['profile'] -+ else: -+ had_profile = False -+ old_profile = None -+ builtins.__dict__['profile'] = profile - -- try: - try: -- profile.runctx(arg_str, global_ns, local_ns) -- message = '' -- except SystemExit: -- message = """*** SystemExit exception caught in code being profiled.""" -- except KeyboardInterrupt: -- message = ("*** KeyboardInterrupt exception caught in code being " -- "profiled.") -- finally: -- if had_profile: -- builtins.__dict__['profile'] = old_profile -- -- # Trap text output. -- stdout_trap = StringIO() -- profile.print_stats(stdout_trap, stripzeros='s' in opts) -- output = stdout_trap.getvalue() -- output = output.rstrip() -- -- if ipython_version < '0.11': -- page(output, screen_lines=self.shell.rc.screen_length) -- else: -- page(output) -- print(message, end="") -+ try: -+ profile.runctx(arg_str, global_ns, local_ns) -+ message = '' -+ except SystemExit: -+ message = """*** SystemExit exception caught in code being profiled.""" -+ except KeyboardInterrupt: -+ message = ("*** KeyboardInterrupt exception caught in code being " -+ "profiled.") -+ finally: -+ if had_profile: -+ builtins.__dict__['profile'] = old_profile -+ -+ # Trap text output. -+ stdout_trap = StringIO() -+ profile.print_stats(stdout_trap, stripzeros='s' in opts) -+ output = stdout_trap.getvalue() -+ output = output.rstrip() -+ -+ if ipython_version < '0.11': -+ page(output, screen_lines=self.shell.rc.screen_length) -+ else: -+ page(output) -+ print(message, end="") - -- dump_file = opts.D[0] -- if dump_file: -- profile.dump_stats(dump_file) -- print('\n*** Profile stats pickled to file %r. %s' % ( -- dump_file, message)) -+ dump_file = opts.D[0] -+ if dump_file: -+ profile.dump_stats(dump_file) -+ print('\n*** Profile stats pickled to file %r. %s' % ( -+ dump_file, message)) - -- text_file = opts.T[0] -- if text_file: -- pfile = open(text_file, 'w') -- pfile.write(output) -- pfile.close() -- print('\n*** Profile printout saved to text file %r. %s' % ( -- text_file, message)) -+ text_file = opts.T[0] -+ if text_file: -+ pfile = open(text_file, 'w') -+ pfile.write(output) -+ pfile.close() -+ print('\n*** Profile printout saved to text file %r. %s' % ( -+ text_file, message)) - -- return_value = None -- if 'r' in opts: -- return_value = profile -+ return_value = None -+ if 'r' in opts: -+ return_value = profile - -- return return_value -+ return return_value - - - def load_ipython_extension(ip): - """ API for IPython to recognize this module as an IPython extension. - """ -- ip.define_magic('lprun', magic_lprun) -+ ip.register_magics(LineProfilerMagics) - - - def load_stats(filename): |