py3: don’t subscript socket.error
On Python 2, socket.error was subscriptable. On Python 3, socket.error is an
alias to OSError and is not subscriptable. The except block passes the
exception to self.send_error(). This fails on both Python 2 (if it was
executed) and Python 3, as it expects a string.
Getting the attribute .strerror works on Python 2 and Python 3, and has the
same effect as the previous code on Python 2.
MEDIATYPE=application/mercurial-exp-framing-0006
sendhttpraw() {
hg --verbose debugwireproto --peer raw http://$LOCALIP:$HGPORT/
}
cat > dummycommands.py << EOF
from mercurial import (
wireprototypes,
wireprotov1server,
)
@wireprotov1server.wireprotocommand(b'customreadonly', permission=b'pull')
def customreadonlyv1(repo, proto):
return wireprototypes.bytesresponse(b'customreadonly bytes response')
@wireprotov1server.wireprotocommand(b'customreadwrite', permission=b'push')
def customreadwrite(repo, proto):
return wireprototypes.bytesresponse(b'customreadwrite bytes response')
EOF
cat >> $HGRCPATH << EOF
[extensions]
drawdag = $TESTDIR/drawdag.py
EOF
enabledummycommands() {
cat >> $HGRCPATH << EOF
[extensions]
dummycommands = $TESTTMP/dummycommands.py
EOF
}