From 15fd8261474dfa71437fc4e50beb0ea022dd1b1b Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Mon, 8 Aug 2016 05:35:06 +0200 Subject: hgwebfs: make hgwebfs prompt for password --- sys/lib/python/hgext/hgwebfs.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'sys/lib/python') diff --git a/sys/lib/python/hgext/hgwebfs.py b/sys/lib/python/hgext/hgwebfs.py index d4b46acb5..70db3bc56 100644 --- a/sys/lib/python/hgext/hgwebfs.py +++ b/sys/lib/python/hgext/hgwebfs.py @@ -2,9 +2,26 @@ import mercurial.url import re +import os class Webconn: def __init__(self, mnt, req): + try: + self.open(mnt, req) + except IOError, e: + try: + errstr = e.strerror + params = errstr[errstr.index("needkey ")+8:] + if params.find("!password?") < 0: + raise e + if os.spawnl(os.P_WAIT, "/boot/factotum", "getkey", "-g", params) != 0: + raise e + self.open(mnt, req) + return + except: + raise e + + def open(self, mnt, req): if type(req) == str: self.url = req else: -- cgit v1.2.3