shithub: riscv

Download patch

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: