MCPcopy Create free account
hub / github.com/tinode/chat / Useradd

Class Useradd

tn-cli/macros.py:157–206  ·  view source on GitHub ↗

Creates a new user account.

Source from the content-addressed store, hash-verified

155
156
157class Useradd(Macro):
158 """Creates a new user account."""
159
160 def name(self):
161 return "useradd"
162
163 def description(self):
164 return "Create a new user account"
165
166 def add_parser_args(self):
167 self.parser.add_argument('login', help='User login')
168 self.parser.add_argument('-P', '--password', help='Password')
169 self.parser.add_argument('--cred', help='List of comma-separated credentials in format "(email|tel):value1,(email|tel):value2,..."')
170 self.parser.add_argument('--name', help='Public name of the user')
171 self.parser.add_argument('--comment', help='Private comment')
172 self.parser.add_argument('--note', help='Public description')
173 self.parser.add_argument('--trusted', help='Add/remove trusted marker: verified, staff, danger')
174 self.parser.add_argument('--tags', help='Comma-separated list of tags')
175 self.parser.add_argument('--avatar', help='Path to avatar file')
176 self.parser.add_argument('--auth', help='Default auth acs')
177 self.parser.add_argument('--anon', help='Default anon acs')
178
179 def expand(self, id, cmd, args):
180 if not cmd.login:
181 return None
182 if not cmd.password:
183 stdoutln("Password --password must be specified")
184 return None
185 if not cmd.cred:
186 stdoutln("Must specify at least one credential: --cred.")
187 return None
188 varname = cmd.varname if hasattr(cmd, 'varname') and cmd.varname else '$temp'
189 new_cmd = '.must ' + varname + ' acc --scheme basic --secret="%s:%s" --cred="%s"' % (cmd.login, cmd.password, cmd.cred)
190 if cmd.name:
191 new_cmd += ' --fn="%s"' % cmd.name
192 if cmd.comment:
193 new_cmd += ' --private="%s"' % cmd.comment
194 if cmd.note is not None:
195 set_cmd += ' --note="%s"' % cmd.note
196 if cmd.trusted is not None:
197 set_cmd += ' --trusted="%s" --as_root' % cmd.trusted
198 if cmd.tags:
199 new_cmd += ' --tags="%s"' % cmd.tags
200 if cmd.avatar:
201 new_cmd += ' --photo="%s"' % cmd.avatar
202 if cmd.auth:
203 new_cmd += ' --auth="%s"' % cmd.auth
204 if cmd.anon:
205 new_cmd += ' --anon="%s"' % cmd.anon
206 return [new_cmd]
207
208
209class Chacs(Macro):

Callers 1

macros.pyFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected