summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimothy Crosley <timothy.crosley@gmail.com>2013-09-01 15:44:40 -0400
committerTimothy Crosley <timothy.crosley@gmail.com>2013-09-01 15:44:40 -0400
commitc042302545b5fad622c1c29804305b3c9b6364e6 (patch)
tree4f08c57176082d5cc4ce0b9cd21a5f28b934e626
parent7516570e5e9647ecd4bad3baa0189504d2d63662 (diff)
downloadpies-c042302545b5fad622c1c29804305b3c9b6364e6.tar.gz
Pies source code
-rw-r--r--pies.py79
-rw-r--r--setup.py16
2 files changed, 95 insertions, 0 deletions
diff --git a/pies.py b/pies.py
new file mode 100644
index 0000000..0e44e40
--- /dev/null
+++ b/pies.py
@@ -0,0 +1,79 @@
+"""
+ pies.py
+
+ Adds necessary hooks to allow Python code to run on multiple major versions of Python at once
+ (currently 2.6 - 3.x)
+
+ Usage:
+ Anywhere you want to gain support for multiple versions of Python simply add the following line
+ from pies import *
+
+ Copyright (C) 2013 Timothy Edmund Crosley
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version 2
+ of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+"""
+
+import sys
+
+__version__ = "1.0.0"
+
+if sys.version > '3':
+ import urllib
+ from urllib import parse
+
+ from collections import OrderedDict
+
+ long = int
+ unicode = str
+
+ def u(string):
+ return string
+
+ def iteritems(collection):
+ return collection.items()
+
+ def itervalues(collection):
+ return collection.values()
+
+ def iterkeys(collection):
+ return collection.keys()
+
+ def xrange(*args):
+ return range(*args)
+
+ urllib.quote = parse.quote
+ urllib.quote_plus = parse.quote_plus
+ urllib.unquote = parse.unquote
+ urllib.unquote_plus = parse.unquote_plus
+ urllib.urlencode = parse.urlencode
+else:
+ try:
+ from collections import OrderedDict
+ except ImportError:
+ from ordereddict import OrderedDict
+
+ import codecs
+
+ def u(string):
+ return codecs.unicode_escape_decode(string)[0]
+
+ def iteritems(collection):
+ return collection.iteritems()
+
+ def itervalues(collection):
+ return collection.itervalues()
+
+ def iterkeys(collection):
+ return collection.iterkeys()
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..e1bedca
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,16 @@
+#!/usr/bin/env python
+
+from distutils.core import setup
+
+setup(name='pies',
+ version='1.0.0',
+ description='The simplest way to write one program that runs on both Python 2 and Python 3.',
+ author='Timothy Crosley',
+ author_email='timothy.crosley@gmail.com',
+ url='http://www.simpleinnovation.org/',
+ download_url='https://github.com/timothycrosley/SortImports/blob/master'
+ '/dist/SortImports-0.1.tar.gz?raw=true',
+ license="GNU GPLv2",
+ install_requires=['ordereddict'],
+ requires=['ordereddict'],
+ py_modules=['pies'])