# HG changeset patch # User Augie Fackler # Date 1506869103 14400 # Node ID 80d4681150b93ced36592210f82bb9e210e4e060 # Parent b0910102e495b3832a368eec5da24ff685d51371 urllibcompat: new library to help abstract out some python3 urllib2 stuff Doing a new file instead of pycompat because I'm starting to feel like pycompat is getting a little enormous in terms of scope. Differential Revision: https://phab.mercurial-scm.org/D890 diff -r b0910102e495 -r 80d4681150b9 mercurial/urllibcompat.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mercurial/urllibcompat.py Sun Oct 01 10:45:03 2017 -0400 @@ -0,0 +1,42 @@ +# urllibcompat.py - adapters to ease using urllib2 on Py2 and urllib on Py3 +# +# Copyright 2017 Google, Inc. +# +# This software may be used and distributed according to the terms of the +# GNU General Public License version 2 or any later version. +from __future__ import absolute_import + +from . import pycompat + +if pycompat.ispy3: + + def getfullurl(req): + return req.full_url + + def gethost(req): + return req.host + + def getselector(req): + return req.selector + + def getdata(req): + return req.data + + def hasdata(req): + return req.data is not None +else: + + def gethost(req): + return req.get_host() + + def getselector(req): + return req.get_selector() + + def getfullurl(req): + return req.get_full_url() + + def getdata(req): + return req.get_data() + + def hasdata(req): + return req.has_data()