implement a command to test for a user's existence
This commit is contained in:
		| @@ -1,5 +1,5 @@ | ||||
| from owrx.version import openwebrx_version | ||||
| from owrxadmin.commands import NewUser, DeleteUser, ResetPassword, ListUsers, DisableUser, EnableUser | ||||
| from owrxadmin.commands import NewUser, DeleteUser, ResetPassword, ListUsers, DisableUser, EnableUser, HasUser | ||||
| import argparse | ||||
| import sys | ||||
| import traceback | ||||
| @@ -36,6 +36,10 @@ def main(): | ||||
|     enableuser_parser.add_argument("user", help="Username to be enabled") | ||||
|     enableuser_parser.set_defaults(cls=EnableUser) | ||||
|  | ||||
|     hasuser_parser = subparsers.add_parser("hasuser", help="Test if a user exists") | ||||
|     hasuser_parser.add_argument("user", help="Username to be checked") | ||||
|     hasuser_parser.set_defaults(cls=HasUser) | ||||
|  | ||||
|     parser.add_argument("-v", "--version", action="store_true", help="Show the software version") | ||||
|     parser.add_argument( | ||||
|         "--noninteractive", action="store_true", help="Don't ask for any user input (useful for automation)" | ||||
|   | ||||
| @@ -97,3 +97,19 @@ class ListUsers(Command): | ||||
|         for u in userList.values(): | ||||
|             if args.all or u.enabled: | ||||
|                 print("  {name}".format(name=u.name)) | ||||
|  | ||||
|  | ||||
| class HasUser(Command): | ||||
|     """ | ||||
|     internal command used by the debian config scripts to test if the admin user has already been created | ||||
|     """ | ||||
|     def run(self, args): | ||||
|         userList = UserList() | ||||
|         if args.user in userList: | ||||
|             if not args.silent: | ||||
|                 print('User "{name}" exists.'.format(name=args.user)) | ||||
|         else: | ||||
|             if not args.silent: | ||||
|                 print('User "{name}" does not exist.'.format(name=args.user)) | ||||
|             # in bash, a return code > 0 is interpreted as "false" | ||||
|             sys.exit(1) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Jakob Ketterl
					Jakob Ketterl