Commit | Line | Data |
---|---|---|
a2916c06 MW |
1 | ### -*-python-*- |
2 | ### | |
3 | ### Remote service commands | |
4 | ### | |
5 | ### (c) 2013 Mark Wooding | |
6 | ### | |
7 | ||
8 | ###----- Licensing notice --------------------------------------------------- | |
9 | ### | |
10 | ### This file is part of Chopwood: a password-changing service. | |
11 | ### | |
12 | ### Chopwood is free software; you can redistribute it and/or modify | |
13 | ### it under the terms of the GNU Affero General Public License as | |
14 | ### published by the Free Software Foundation; either version 3 of the | |
15 | ### License, or (at your option) any later version. | |
16 | ### | |
17 | ### Chopwood is distributed in the hope that it will be useful, | |
18 | ### but WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 | ### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 | ### GNU Affero General Public License for more details. | |
21 | ### | |
22 | ### You should have received a copy of the GNU Affero General Public | |
23 | ### License along with Chopwood; if not, see | |
24 | ### <http://www.gnu.org/licenses/>. | |
25 | ||
26 | import cmdutil as CU | |
27 | import subcommand as SC | |
28 | import util as U | |
29 | ||
30 | @SC.subcommand( | |
74b87214 | 31 | 'set', ['remote'], 'Set password for remote service', |
a2916c06 MW |
32 | params = [SC.Arg('service'), SC.Arg('user')]) |
33 | def cmd_set_svc(service, user): | |
71d74dcf | 34 | new = U.readline('new password') |
a2916c06 MW |
35 | svc = CU.check_service(service) |
36 | svc.setpasswd(user, new) | |
37 | ||
38 | @SC.subcommand( | |
74b87214 | 39 | 'clear', ['remote'], 'Clear password for remote service', |
a2916c06 MW |
40 | params = [SC.Arg('service'), SC.Arg('user')]) |
41 | def cmd_set_svc(service, user): | |
42 | svc = CU.check_service(service) | |
43 | svc.clearpasswd(user) | |
44 | ||
82d4f64b MW |
45 | @SC.subcommand( |
46 | 'mkpwent', ['remote'], 'Create a new user record', | |
47 | params = [SC.Arg('user'), SC.Arg('service')], | |
48 | rparam = SC.Arg('fields')) | |
49 | def cmd_mkpwent_svc(user, service, fields): | |
50 | passwd = U.readline('new password') | |
51 | svc = CU.check_service(service) | |
52 | svc.mkpwent(user, passwd, fields) | |
53 | ||
54 | @SC.subcommand( | |
55 | 'rmpwent', ['remote'], 'Remove an existing user record', | |
56 | params = [SC.Arg('user'), SC.Arg('service')]) | |
57 | def cmd_rmpwent_svc(user, service): | |
58 | svc = CU.check_service(service) | |
59 | svc.rmpwent(user) | |
60 | ||
a2916c06 | 61 | ###----- That's all, folks -------------------------------------------------- |