D1066: url: add cgi.escape equivalent for bytestrings
durin42 (Augie Fackler)
phabricator at mercurial-scm.org
Sat Oct 14 07:47:15 EDT 2017
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG2976cf87a60a: url: add cgi.escape equivalent for bytestrings (authored by durin42, committed by ).
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D1066?vs=2723&id=2732
REVISION DETAIL
https://phab.mercurial-scm.org/D1066
AFFECTED FILES
mercurial/url.py
CHANGE DETAILS
diff --git a/mercurial/url.py b/mercurial/url.py
--- a/mercurial/url.py
+++ b/mercurial/url.py
@@ -30,6 +30,21 @@
urlerr = util.urlerr
urlreq = util.urlreq
+def escape(s, quote=None):
+ '''Replace special characters "&", "<" and ">" to HTML-safe sequences.
+ If the optional flag quote is true, the quotation mark character (")
+ is also translated.
+
+ This is the same as cgi.escape in Python, but always operates on
+ bytes, whereas cgi.escape in Python 3 only works on unicodes.
+ '''
+ s = s.replace(b"&", b"&")
+ s = s.replace(b"<", b"<")
+ s = s.replace(b">", b">")
+ if quote:
+ s = s.replace(b'"', b""")
+ return s
+
class passwordmgr(object):
def __init__(self, ui, passwddb):
self.ui = ui
To: durin42, #hg-reviewers, yuja
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list