summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2Py3k.py
diff options
context:
space:
mode:
authorJack Neely <jjneely@ncsu.edu>2011-06-10 13:29:23 -0400
committerJack Neely <jjneely@ncsu.edu>2011-06-10 13:29:23 -0400
commit90c85147bacea14771abf8faa1fc5f185418d14b (patch)
treeb10e06fc80ed714f5376b169e32b8953479211f1 /src/lib/Bcfg2Py3k.py
parent4f3da4543ec4e8c3c4776ae2ee3611e47ce78525 (diff)
parentce6a228d33ace4136dc2b5388c64795dfbd26ffb (diff)
downloadbcfg2-90c85147bacea14771abf8faa1fc5f185418d14b.tar.gz
bcfg2-90c85147bacea14771abf8faa1fc5f185418d14b.tar.bz2
bcfg2-90c85147bacea14771abf8faa1fc5f185418d14b.zip
Merge branch 'master' of github.com:solj/bcfg2
Diffstat (limited to 'src/lib/Bcfg2Py3k.py')
-rw-r--r--src/lib/Bcfg2Py3k.py81
1 files changed, 81 insertions, 0 deletions
diff --git a/src/lib/Bcfg2Py3k.py b/src/lib/Bcfg2Py3k.py
new file mode 100644
index 000000000..c9e48a49b
--- /dev/null
+++ b/src/lib/Bcfg2Py3k.py
@@ -0,0 +1,81 @@
+import sys
+
+try:
+ from email.Utils import formatdate
+except ImportError:
+ from email.utils import formatdate
+
+# urllib imports
+try:
+ from urlparse import urljoin, urlparse
+ from urllib2 import HTTPBasicAuthHandler
+ from urllib2 import HTTPPasswordMgrWithDefaultRealm
+ from urllib2 import build_opener
+ from urllib2 import install_opener
+ from urllib import urlopen
+ from urllib2 import HTTPError
+except ImportError:
+ from urllib.parse import urljoin, urlparse
+ from urllib.request import HTTPBasicAuthHandler
+ from urllib.request import HTTPPasswordMgrWithDefaultRealm
+ from urllib.request import build_opener
+ from urllib.request import install_opener
+ from urllib.request import urlopen
+ from urllib.error import HTTPError
+
+try:
+ from cStringIO import StringIO
+except ImportError:
+ from io import StringIO
+
+try:
+ import ConfigParser
+except ImportError:
+ import configparser as ConfigParser
+
+try:
+ import cPickle
+except ImportError:
+ import pickle as cPickle
+
+try:
+ from Queue import Queue, Empty, Full
+except ImportError:
+ from queue import Queue, Empty, Full
+
+# xmlrpc imports
+try:
+ import xmlrpclib, SimpleXMLRPCServer
+except ImportError:
+ import xmlrpc.client as xmlrpclib
+ import xmlrpc.server as SimpleXMLRPCServer
+
+# socketserver import
+try:
+ import SocketServer
+except ImportError:
+ import socketserver as SocketServer
+
+# httplib imports
+try:
+ import httplib
+except ImportError:
+ import http.client as httplib
+
+# print to file compatibility
+def u_str(string):
+ if sys.hexversion >= 0x03000000:
+ return string
+ else:
+ return unicode(string)
+
+"""
+In order to use the new syntax for printing to a file, we need to do
+a conditional import because there is a syntax incompatibility between
+the two versions of python.
+"""
+if sys.hexversion >= 0x03000000:
+ from Bcfg2.Bcfg2Py3Incompat import fprint
+else:
+ def fprint(s, f):
+ print >> f, s