From 88cc357fc8d3e1b57e21eb762fef36e4ef2dd3f4 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 12 Sep 2013 23:36:12 +0000 Subject: pythontex (import from $0 symlink works after all) git-svn-id: svn://tug.org/texlive/trunk@31638 c570f23f-e606-0410-a88d-b1316a301751 --- .../source/texk/texlive/linked_scripts/Makefile.am | 2 + .../source/texk/texlive/linked_scripts/Makefile.in | 2 + .../linked_scripts/pythontex/depythontex.py | 18 ++++++++ .../texlive/linked_scripts/pythontex/pythontex.py | 54 ++++++++++++++++++++++ 4 files changed, 76 insertions(+) create mode 100755 Build/source/texk/texlive/linked_scripts/pythontex/depythontex.py create mode 100755 Build/source/texk/texlive/linked_scripts/pythontex/pythontex.py (limited to 'Build/source/texk') diff --git a/Build/source/texk/texlive/linked_scripts/Makefile.am b/Build/source/texk/texlive/linked_scripts/Makefile.am index 91fb4168680..eb793bf3d03 100644 --- a/Build/source/texk/texlive/linked_scripts/Makefile.am +++ b/Build/source/texk/texlive/linked_scripts/Makefile.am @@ -136,6 +136,8 @@ texmf_other_scripts = \ pst2pdf/pst2pdf.pl \ ptex2pdf/ptex2pdf.lua \ purifyeps/purifyeps \ + pythontex/pythontex.py \ + pythontex/depythontex.py \ splitindex/splitindex.pl \ sty2dtx/sty2dtx.pl \ svn-multi/svn-multi.pl \ diff --git a/Build/source/texk/texlive/linked_scripts/Makefile.in b/Build/source/texk/texlive/linked_scripts/Makefile.in index f8d3a8c9631..a5adb819de8 100644 --- a/Build/source/texk/texlive/linked_scripts/Makefile.in +++ b/Build/source/texk/texlive/linked_scripts/Makefile.in @@ -341,6 +341,8 @@ texmf_other_scripts = \ pst2pdf/pst2pdf.pl \ ptex2pdf/ptex2pdf.lua \ purifyeps/purifyeps \ + pythontex/pythontex.py \ + pythontex/depythontex.py \ splitindex/splitindex.pl \ sty2dtx/sty2dtx.pl \ svn-multi/svn-multi.pl \ diff --git a/Build/source/texk/texlive/linked_scripts/pythontex/depythontex.py b/Build/source/texk/texlive/linked_scripts/pythontex/depythontex.py new file mode 100755 index 00000000000..013e268241f --- /dev/null +++ b/Build/source/texk/texlive/linked_scripts/pythontex/depythontex.py @@ -0,0 +1,18 @@ +# -*- coding: utf-8 -*- +''' +This is the PythonTeX wrapper script. It automatically detects the version +of Python, and then imports the correct code from depythontex2.py or +depythontex3.py. + +Copyright (c) 2013, Geoffrey M. Poore +All rights reserved. +Licensed under the BSD 3-Clause License: + http://www.opensource.org/licenses/BSD-3-Clause + +''' + +import sys +if sys.version_info[0] == 2: + import depythontex2 as depythontex +elif sys.version_info[0] == 3: + import depythontex3 as depythontex diff --git a/Build/source/texk/texlive/linked_scripts/pythontex/pythontex.py b/Build/source/texk/texlive/linked_scripts/pythontex/pythontex.py new file mode 100755 index 00000000000..1be1f6d70ea --- /dev/null +++ b/Build/source/texk/texlive/linked_scripts/pythontex/pythontex.py @@ -0,0 +1,54 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +''' +This is the PythonTeX wrapper script. It automatically detects the version +of Python, and then imports the correct code from pythontex2.py or +pythontex3.py. + +Licensed under the BSD 3-Clause License: + +Copyright (c) 2012-2013, Geoffrey M. Poore + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +''' + + +import sys +if sys.version_info.major == 2: + if sys.version_info.minor >= 7: + import pythontex2 as pythontex + else: + sys.exit('PythonTeX require Python 2.7; you are using 2.{0}'.format(sys.version_info.minor)) +elif sys.version_info.major == 3: + if sys.version_info.minor >= 2: + import pythontex3 as pythontex + else: + sys.exit('PythonTeX require Python 3.2+; you are using 3.{0}'.format(sys.version_info.minor)) + +# The "if" statement is needed for multiprocessing under Windows; see the +# multiprocessing documentation. +if __name__ == '__main__': + pythontex.main() -- cgit v1.2.3