ref: 15fd8261474dfa71437fc4e50beb0ea022dd1b1b
parent: c8d1a885f84cb26035c0f2d6827e74d1338c7a16
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Mon Aug 8 01:35:06 EDT 2016
hgwebfs: make hgwebfs prompt for password
--- 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: