diff options
author | Timothy Crosley <timothy.crosley@gmail.com> | 2013-11-13 21:59:05 -0500 |
---|---|---|
committer | Timothy Crosley <timothy.crosley@gmail.com> | 2013-11-13 21:59:05 -0500 |
commit | f7780c91f8e50719ed8b3be641942f2db8b564e9 (patch) | |
tree | 0eeb0b72bcc8c18f700cde60de13c2c69f856480 | |
parent | 4badd66c595e8d90e8ffa80ce44ab4de228ab393 (diff) | |
download | pies-f7780c91f8e50719ed8b3be641942f2db8b564e9.tar.gz |
First steps to pies 2.0
50 files changed, 498 insertions, 82 deletions
diff --git a/.pies.py.kate-swp b/.pies.py.kate-swp Binary files differnew file mode 100644 index 0000000..1bfbaf4 --- /dev/null +++ b/.pies.py.kate-swp diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..1e66aee --- /dev/null +++ b/.travis.yml @@ -0,0 +1,7 @@ +language: python +python: + - "2.6" + - "2.7" + - "3.2" + - "3.3" +script: python setup.py test
\ No newline at end of file @@ -1,4 +1,4 @@ -pies! +![isort](https://raw.github.com/timothycrosley/pies/develop/logo.png) ==================== [![PyPi version](https://pypip.in/v/isort/badge.png)](https://crate.io/packages/isort/) [![PyPi downloads](https://pypip.in/d/isort/badge.png)](https://crate.io/packages/isort/) diff --git a/logo.png b/logo.png Binary files differnew file mode 100644 index 0000000..0aeddc2 --- /dev/null +++ b/logo.png diff --git a/logo.xcf b/logo.xcf Binary files differnew file mode 100644 index 0000000..d9e29bc --- /dev/null +++ b/logo.xcf diff --git a/pies.py b/pies.py deleted file mode 100644 index a0f8461..0000000 --- a/pies.py +++ /dev/null @@ -1,77 +0,0 @@ -""" - 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 - -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/pies/StringIO.py b/pies/StringIO.py new file mode 100644 index 0000000..fd5ce5e --- /dev/null +++ b/pies/StringIO.py @@ -0,0 +1,11 @@ +from __future__ import absolute_import + +from .version_info import PY3 + +if PY3: + from StringIO import * +else: + try: + from cStringIO import * + except ImportError: + from StringIO import * diff --git a/pies/__init__.py b/pies/__init__.py new file mode 100644 index 0000000..d083f27 --- /dev/null +++ b/pies/__init__.py @@ -0,0 +1,33 @@ +""" + pies/__init__.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 two lines + from __future__ import absolute_import, division, print_function, unicode_literals + from pies.overrides import * + + And for changed stdlibs: + from pies import [libname] + + Copyright (C) 2013 Timothy Edmund Crosley + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated + documentation files (the "Software"), to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and + to permit persons to whom the Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED + TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. +""" + + +from __future__ import absolute_import diff --git a/pies/collections.py b/pies/collections.py new file mode 100644 index 0000000..f5fd457 --- /dev/null +++ b/pies/collections.py @@ -0,0 +1,9 @@ +from __future__ import absolute_import + +from collections import * + +from .version_info import PY2 + +if PY2: + from UserString import * + from UserList import * diff --git a/pies/dbm/__init__.py b/pies/dbm/__init__.py new file mode 100644 index 0000000..3461248 --- /dev/null +++ b/pies/dbm/__init__.py @@ -0,0 +1,10 @@ +from __future__ import absolute_import + +from dbm import * + +from ..version_info import PY2 + +if PY2: + from . import dumb, gnu, ndbm + from whichdb import * + from anydbm import * diff --git a/pies/dbm/dumb.py b/pies/dbm/dumb.py new file mode 100644 index 0000000..94dc12c --- /dev/null +++ b/pies/dbm/dumb.py @@ -0,0 +1,8 @@ +from __future__ import absolute_import + +from ..version_info import PY3 + +if PY3: + from dbm.dumb import * +else: + from dumb import * diff --git a/pies/dbm/gnu.py b/pies/dbm/gnu.py new file mode 100644 index 0000000..5f9c37f --- /dev/null +++ b/pies/dbm/gnu.py @@ -0,0 +1,8 @@ +from __future__ import absolute_import + +from ..version_info import PY3 + +if PY3: + from dbm.gnu import * +else: + from gdbm import * diff --git a/pies/dbm/ndbm.py b/pies/dbm/ndbm.py new file mode 100644 index 0000000..fef8c9e --- /dev/null +++ b/pies/dbm/ndbm.py @@ -0,0 +1,8 @@ +from __future__ import absolute_import + +from ..version_info import PY3 + +if PY3: + from dbm.ndbm import * +else: + from dbm import * diff --git a/pies/functools.py b/pies/functools.py new file mode 100644 index 0000000..29749cf --- /dev/null +++ b/pies/functools.py @@ -0,0 +1,8 @@ +from __future__ import absolute_import + +from functools import * + +from .version_info import PY2 + +if PY2: + reduce = reduce diff --git a/pies/http/__init__.py b/pies/http/__init__.py new file mode 100644 index 0000000..60b2c7a --- /dev/null +++ b/pies/http/__init__.py @@ -0,0 +1,8 @@ +from __future__ import absolute_import + +from http import * + +from ..version_info import PY2 + +if PY2: + from . import client, cookiejar, cookies, server diff --git a/pies/http/client.py b/pies/http/client.py new file mode 100644 index 0000000..426d978 --- /dev/null +++ b/pies/http/client.py @@ -0,0 +1,8 @@ +from __future__ import absolute_import + +from ..version_info import PY3 + +if PY3: + from http.client import * +else: + from httplib import * diff --git a/pies/http/cookiejar b/pies/http/cookiejar new file mode 100644 index 0000000..949f59d --- /dev/null +++ b/pies/http/cookiejar @@ -0,0 +1,6 @@ +from ..version_info import PY3 + +if PY3: + from http.cookiejar import * +else: + from cookielib import *
\ No newline at end of file diff --git a/pies/http/cookies.py b/pies/http/cookies.py new file mode 100644 index 0000000..8108b66 --- /dev/null +++ b/pies/http/cookies.py @@ -0,0 +1,8 @@ +from __future__ import absolute_import + +from ..version_info import PY3 + +if PY3: + from http.cookies import * +else: + from Cookie import * diff --git a/pies/http/server.py b/pies/http/server.py new file mode 100644 index 0000000..8702c94 --- /dev/null +++ b/pies/http/server.py @@ -0,0 +1,10 @@ +from __future__ import absolute_import + +from ..version_info import PY3 + +if PY3: + from http.server import * +else: + from BaseHTTPServer import * + from CGIHTTPServer import * + from SimpleHTTPServer import * diff --git a/pies/imp.py b/pies/imp.py new file mode 100644 index 0000000..8a85e73 --- /dev/null +++ b/pies/imp.py @@ -0,0 +1,8 @@ +from __future__ import absolute_import + +from imp import * + +from .version_info import PY2 + +if PY2: + reload = reload diff --git a/pies/itertools.py b/pies/itertools.py new file mode 100644 index 0000000..40636f1 --- /dev/null +++ b/pies/itertools.py @@ -0,0 +1,8 @@ +from __future__ import absolute_import + +from itertools import * + +from .version_info import PY2 + +if PY2: + filterfalse = ifilterfalse diff --git a/pies/overrides.py b/pies/overrides.py new file mode 100644 index 0000000..8572ebe --- /dev/null +++ b/pies/overrides.py @@ -0,0 +1,199 @@ +""" + pies/overrides.py + + Overrides Python syntax to conform to the Python3 version as much as possible using a '*' import + + Copyright (C) 2013 Timothy Edmund Crosley + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated + documentation files (the "Software"), to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and + to permit persons to whom the Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED + TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. +""" +from __future__ import absolute_import + +import functools +from numbers import Integral + +from .version_info import PY2, PY3, VERSION + +__version__ = "1.0.3" + +native_dict = dict +native_round = round +native_filter = filter +native_map = map +native_zip = zip +native_range = range +native_str = str +native_chr = chr +native_input = input +native_next = next + +common = ['native_dict', 'native_round', 'native_filter', 'native_map', 'native_range', 'native_str', 'native_chr', + 'native_input', 'PY2', 'PY3', 'u', 'itemsview', 'valuesview', 'keysview', 'execute', 'integer_types', + 'native_next'] + +if PY3: + import urllib + import builtins + from urllib import parse + + from collections import OrderedDict + + integer_types = (int, ) + + def u(string): + return string + + def itemsview(collection): + return collection.items() + + def valuesview(collection): + return collection.values() + + def keysview(collection): + return collection.keys() + + urllib.quote = parse.quote + urllib.quote_plus = parse.quote_plus + urllib.unquote = parse.unquote + urllib.unquote_plus = parse.unquote_plus + urllib.urlencode = parse.urlencode + execute = getattr('builtins', 'exec') + if VERSION < '3.2': + def callable(entity): + return hasattr(entity, '__call__') + + __all__ = common + ['OrderedDict', 'urllib', 'callable'] +else: + from itertools import ifilter as filter + from itertools import imap as map + from itertools import izip as zip + from decimal import Decimal, ROUND_HALF_EVEN + + + try: + from collections import OrderedDict + except ImportError: + from ordereddict import OrderedDict + + import codecs + str = unicode + chr = unichr + input = raw_input + range = xrange + integer_types = (int, long) + + for removed in ('apply', 'cmp', 'coerce', 'execfile', 'raw_input', 'unpacks'): + def _not_allow(*args, **kwargs): + raise NameError("name '{0}' is not defined".format(removed)) + + _not_allow.__name__ = removed + globals()[removed] = _not_allow + + def u(string): + return codecs.unicode_escape_decode(string[0]) + + def execute(_code_, _globs_=None, _locs_=None): + """Execute code in a namespace.""" + if _globs_ is None: + frame = sys._getframe(1) + _globs_ = frame.f_globals + if _locs_ is None: + _locs_ = frame.f_locals + del frame + elif _locs_ is None: + _locs_ = _globs_ + exec("""exec _code_ in _globs_, _locs_""") + + class _dict_view_base(object): + __slots__ = ('_dictionary', ) + + def __init__(self, dictionary): + self._dictionary = dictionary + + def __repr__(self): + return "{0}({1})".format(self.__class__.__name__, str(list(self.__iter__()))) + + def __unicode__(self): + return str(self.__repr__()) + + def __str__(self): + return str(self.__unicode__()) + + class dict_keys(_dict_view_base): + __slots__ = () + + def __iter__(self): + return self._dictionary.iterkeys() + + class dict_values(_dict_view_base): + __slots__ = () + + def __iter__(self): + return self._dictionary.itervalues() + + class dict_items(_dict_view_base): + __slots__ = () + + def __iter__(self): + return self._dictionary.iteritems() + + def itemsview(collection): + return dict_items(collection) + + def valuesview(collection): + return dict_values(collection) + + def keysview(collection): + return dict_keys(collection) + + class dict(native_dict): + def has_key(self, *args, **kwargs): + return AttributeError("'dict' object has no attribute 'has_key'") + + def items(self): + return dict_items(self, 'iteritems') + + def keys(self): + return dict_keys(self, 'iterkeys') + + def values(self): + return dict_values(self, 'itervalues') + + def round(number, ndigits=None): + return_int = False + if ndigits is None: + return_int = True + ndigits = 0 + if hasattr(number, '__round__'): + return number.__round__(ndigits) + + if ndigits < 0: + raise NotImplementedError('negative ndigits not supported yet') + exponent = Decimal('10') ** (-ndigits) + d = Decimal.from_float(number).quantize(exponent, + rounding=ROUND_HALF_EVEN) + if return_int: + return int(d) + else: + return float(d) + + def next(iterator): + try: + iterator.__next__() + except Exception: + native_next(iterator) + + __all__ = common + ['round', 'dict', 'apply', 'cmp', 'coerce', 'execfile', 'raw_input', 'unpacks', 'str', 'chr', + 'input', 'range'] diff --git a/pies/pickle.py b/pies/pickle.py new file mode 100644 index 0000000..d606ee7 --- /dev/null +++ b/pies/pickle.py @@ -0,0 +1,11 @@ +from __future__ import absolute_import + +from .version_info import PY3 + +if PY3: + from pickle import * +else: + try: + from cPickle import * + except ImportError: + from pickle import * diff --git a/pies/sys.py b/pies/sys.py new file mode 100644 index 0000000..64087b0 --- /dev/null +++ b/pies/sys.py @@ -0,0 +1,6 @@ +from __future__ import absolute_import + +from sys import * + +if version_info[0] == 2: + intern = intern diff --git a/pies/urllib/__init__.py b/pies/urllib/__init__.py new file mode 100644 index 0000000..d6a12ff --- /dev/null +++ b/pies/urllib/__init__.py @@ -0,0 +1,8 @@ +from __future__ import absolute_import + +from urllib import * + +from ..version_info import PY2 + +if PY2: + from . import error, parse, request, robotparser diff --git a/pies/urllib/error.py b/pies/urllib/error.py new file mode 100644 index 0000000..73c85f1 --- /dev/null +++ b/pies/urllib/error.py @@ -0,0 +1,9 @@ +from __future__ import absolute_import + +from ..version_info import PY3 + +if PY3: + from urllib.error import * +else: + from urllib import ContentTooShortError + from urllib2 import HTTPError, URLError diff --git a/pies/urllib/parse.py b/pies/urllib/parse.py new file mode 100644 index 0000000..9cbbff3 --- /dev/null +++ b/pies/urllib/parse.py @@ -0,0 +1,8 @@ +from __future__ import absolute_import + +from ..version_info import PY3 + +if PY3: + from urllib.parse import * +else: + from urllib import quote, unquote, quote_plus, unquote_plus, urlencode diff --git a/pies/urllib/request.py b/pies/urllib/request.py new file mode 100644 index 0000000..a1470f1 --- /dev/null +++ b/pies/urllib/request.py @@ -0,0 +1,16 @@ + + +from __future__ import absolute_import + +from ..version_info import PY3 + +if PY3: + from urllib.request import * +else: + from urllib import FancyURLopener, getproxies, pathname2url, url2pathname, urlcleanup, URLopener, urlretrieve + from urllib2 import (AbstractBasicAuthHandler, AbstractDigestAuthHandler, BaseHandler, build_opener, + CacheFTPHandler, FileHandler, FTPHandler, HTTPBasicAuthHandler, HTTPCookieProcessor, + HTTPDefaultErrorHandler, HTTPDigestAuthHandler, HTTPHandler, HTTPPasswordMgr, + HTTPPasswordMgrWithDefaultRealm, HTTPRedirectHandler, HTTPSHandler, install_opener, + OpenerDirector, ProxyBasicAuthHandler, ProxyDigestAuthHandler, ProxyHandler, Request, + UnknownHandler, urlopen) diff --git a/pies/urllib/robotparser.py b/pies/urllib/robotparser.py new file mode 100644 index 0000000..e45b609 --- /dev/null +++ b/pies/urllib/robotparser.py @@ -0,0 +1,8 @@ +from __future__ import absolute_import + +from ..version_info import PY3 + +if PY3: + from urllib.parse import * +else: + from robotparser import * diff --git a/pies/version_info.py b/pies/version_info.py new file mode 100644 index 0000000..d3547bb --- /dev/null +++ b/pies/version_info.py @@ -0,0 +1,7 @@ +from __future__ import absolute_import + +import sys + +PY2 = sys.version_info[0] == 2 +PY3 = sys.version_info[0] == 3 +VERSION = sys.version_info diff --git a/pies2overrides/_thread.py b/pies2overrides/_thread.py new file mode 100644 index 0000000..089dd41 --- /dev/null +++ b/pies2overrides/_thread.py @@ -0,0 +1,3 @@ +from __future__ import absolute_import + +from _thread import * diff --git a/pies2overrides/builtins.py b/pies2overrides/builtins.py new file mode 100644 index 0000000..c9cbd8d --- /dev/null +++ b/pies2overrides/builtins.py @@ -0,0 +1,3 @@ +from __future__ import absolute_import + +from __builtin__ import * diff --git a/pies2overrides/configparser.py b/pies2overrides/configparser.py index b2da53a..4ae03e6 100644 --- a/pies2overrides/configparser.py +++ b/pies2overrides/configparser.py @@ -1 +1,3 @@ +from __future__ import absolute_import + from ConfigParser import * diff --git a/pies2overrides/copyreg.py b/pies2overrides/copyreg.py new file mode 100644 index 0000000..71d2753 --- /dev/null +++ b/pies2overrides/copyreg.py @@ -0,0 +1,3 @@ +from __future__ import absolute_import + +from copy_reg import * diff --git a/pies2overrides/html/__init__.py b/pies2overrides/html/__init__.py new file mode 100644 index 0000000..60385f5 --- /dev/null +++ b/pies2overrides/html/__init__.py @@ -0,0 +1,2 @@ + +from __future__ import absolute_import diff --git a/pies2overrides/html/entities.py b/pies2overrides/html/entities.py new file mode 100644 index 0000000..3716d78 --- /dev/null +++ b/pies2overrides/html/entities.py @@ -0,0 +1,3 @@ +from __future__ import absolute_import + +from htmlentitydefs import * diff --git a/pies2overrides/html/parser.py b/pies2overrides/html/parser.py new file mode 100644 index 0000000..b05cfe5 --- /dev/null +++ b/pies2overrides/html/parser.py @@ -0,0 +1,3 @@ +from __future__ import absolute_import + +from HTMLParser import * diff --git a/pies2overrides/http/__init__.py b/pies2overrides/http/__init__.py new file mode 100644 index 0000000..60385f5 --- /dev/null +++ b/pies2overrides/http/__init__.py @@ -0,0 +1,2 @@ + +from __future__ import absolute_import diff --git a/pies2overrides/http/client.py b/pies2overrides/http/client.py new file mode 100644 index 0000000..cdae627 --- /dev/null +++ b/pies2overrides/http/client.py @@ -0,0 +1,3 @@ +from __future__ import absolute_import + +from httplib import * diff --git a/pies2overrides/http/cookiejar.py b/pies2overrides/http/cookiejar.py new file mode 100644 index 0000000..84db840 --- /dev/null +++ b/pies2overrides/http/cookiejar.py @@ -0,0 +1,3 @@ +from __future__ import absolute_import + +from cookielib import * diff --git a/pies2overrides/http/cookies.py b/pies2overrides/http/cookies.py new file mode 100644 index 0000000..bfe863d --- /dev/null +++ b/pies2overrides/http/cookies.py @@ -0,0 +1,3 @@ +from __future__ import absolute_import + +from Cookie import * diff --git a/pies2overrides/http/server.py b/pies2overrides/http/server.py new file mode 100644 index 0000000..38a3336 --- /dev/null +++ b/pies2overrides/http/server.py @@ -0,0 +1,5 @@ +from __future__ import absolute_import + +from BaseHTTPServer import * +from CGIHTTPServer import * +from SimpleHTTPServer import * diff --git a/pies2overrides/queue.py b/pies2overrides/queue.py new file mode 100644 index 0000000..8cd58f3 --- /dev/null +++ b/pies2overrides/queue.py @@ -0,0 +1,3 @@ +from __future__ import absolute_import + +from Queue import * diff --git a/pies2overrides/reprlib.py b/pies2overrides/reprlib.py new file mode 100644 index 0000000..784ad6a --- /dev/null +++ b/pies2overrides/reprlib.py @@ -0,0 +1,3 @@ +from __future__ import absolute_import + +from repr import * diff --git a/pies2overrides/setup.py b/pies2overrides/setup.py index dd5f299..ddbc6aa 100644 --- a/pies2overrides/setup.py +++ b/pies2overrides/setup.py @@ -1,9 +1,11 @@ #!/usr/bin/env python -from distutils.core import setup +from __future__ import absolute_import + import sys +from distutils.core import setup -install_requires = [] +install_requires = ['ipaddress'] if sys.version < '2.7': install_requires += ['ordereddict', 'argparse'] @@ -17,4 +19,4 @@ setup(name='pies2overrides', license="MIT", install_requires=install_requires, requires=install_requires, - py_modules=['configparser']) + py_modules=['configparser', 'builtins']) diff --git a/pies2overrides/socketserver.py b/pies2overrides/socketserver.py new file mode 100644 index 0000000..358e776 --- /dev/null +++ b/pies2overrides/socketserver.py @@ -0,0 +1,3 @@ +from __future__ import absolute_import + +from SocketServer import * diff --git a/pies2overrides/xmlrpc/__init__.py b/pies2overrides/xmlrpc/__init__.py new file mode 100644 index 0000000..60385f5 --- /dev/null +++ b/pies2overrides/xmlrpc/__init__.py @@ -0,0 +1,2 @@ + +from __future__ import absolute_import diff --git a/pies2overrides/xmlrpc/client.py b/pies2overrides/xmlrpc/client.py new file mode 100644 index 0000000..73432e5 --- /dev/null +++ b/pies2overrides/xmlrpc/client.py @@ -0,0 +1,3 @@ +from __future__ import absolute_import + +from xmlrpclib import * diff --git a/pies_pickle.py b/pies_pickle.py new file mode 100644 index 0000000..8b475d7 --- /dev/null +++ b/pies_pickle.py @@ -0,0 +1,5 @@ +try: + import cPickle as pickle +except ImportError: + import pickle +from __future__ import absolute_import @@ -1,11 +1,18 @@ #!/usr/bin/env python -from distutils.core import setup +from __future__ import absolute_import + import sys +from distutils.core import setup install_requires = [] if sys.version < '3': install_requires += ['pies2overrides'] +elif sys.version < '3.2': + install_requires += ['argparse'] + +if sys.version < '3.4': + install_requires += ['enum34'] setup(name='pies', version='1.0.3', |