chiark
/
gitweb
/
~mdw
/
chopwood
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
agpl.py (dump_dir): Replace unpleasant control-flow variable with an escape.
[chopwood]
/
chpwd
diff --git
a/chpwd
b/chpwd
index 4d70fa8c28b27951269d396ed98dbd30cb7135db..65ae8739ea2ac86fb4635658e68c75602191c6d4 100755
(executable)
--- a/
chpwd
+++ b/
chpwd
@@
-38,6
+38,7
@@
import config as CONF; CFG = CONF.CFG
import dbmaint as D
import httpauth as HA
import output as O; OUT = O.OUT
import dbmaint as D
import httpauth as HA
import output as O; OUT = O.OUT
+import service as S
import subcommand as SC
import util as U
import subcommand as SC
import util as U
@@
-229,7
+230,7
@@
if __name__ == '__main__':
OPTS, args = OPTPARSE.parse_args()
CONF.loadconfig(OPTS.config)
cmd = SL.split(ENV['SSH_ORIGINAL_COMMAND'])
OPTS, args = OPTPARSE.parse_args()
CONF.loadconfig(OPTS.config)
cmd = SL.split(ENV['SSH_ORIGINAL_COMMAND'])
- if args: raise ExpectedError, (500, 'Unexpected arguments via SSH')
+ if args: raise
U.
ExpectedError, (500, 'Unexpected arguments via SSH')
return cmd
if 'CHPWD_SSH_USER' in ENV:
return cmd
if 'CHPWD_SSH_USER' in ENV:
@@
-239,7
+240,7
@@
if __name__ == '__main__':
with cli_errors():
cmd = ssh_setup()
CU.set_user(ENV['CHPWD_SSH_USER'])
with cli_errors():
cmd = ssh_setup()
CU.set_user(ENV['CHPWD_SSH_USER'])
- S
ERVICES['master'].find(
USER)
+ S
.SERVICES['master'].find(CU.
USER)
with OUT.redirect_to(O.FileOutput()):
OPTPARSE.dispatch('userv', cmd)
with OUT.redirect_to(O.FileOutput()):
OPTPARSE.dispatch('userv', cmd)
@@
-252,8
+253,8
@@
if __name__ == '__main__':
try:
cmd = ssh_setup()
with OUT.redirect_to(O.RemoteOutput()):
try:
cmd = ssh_setup()
with OUT.redirect_to(O.RemoteOutput()):
- OPTPARSE.dispatch('remote', map(urldecode, cmd))
- except ExpectedError, e:
+ OPTPARSE.dispatch('remote', map(
CGI.
urldecode, cmd))
+ except
U.
ExpectedError, e:
print 'ERR', e.code, e.msg
else:
print 'OK'
print 'ERR', e.code, e.msg
else:
print 'OK'
@@
-263,7
+264,7
@@
if __name__ == '__main__':
## file, but we can't do much about it from here.
with cli_errors():
## file, but we can't do much about it from here.
with cli_errors():
- raise ExpectedError, (400, "Unabled to determine SSH context")
+ raise
U.
ExpectedError, (400, "Unabled to determine SSH context")
else:
## Plain old command line, apparently. We default to administration
else:
## Plain old command line, apparently. We default to administration
@@
-278,6
+279,7
@@
if __name__ == '__main__':
ctx = OPTS.context
if OPTS.user:
CU.set_user(OPTS.user)
ctx = OPTS.context
if OPTS.user:
CU.set_user(OPTS.user)
+ CGI.STATE.kw['user'] = OPTS.user
if ctx is None: ctx = 'userv'
else:
D.opendb()
if ctx is None: ctx = 'userv'
else:
D.opendb()