Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- from xivo_auth_client import Client as Auth
- from xivo_confd_client import Client as Confd
- import sys
- # Please add a web service user with acl confd.#
- # To use ./add-user Sylvain Boily 8010
- username = "change_it" # Fill with your username
- password = "change_it" # Fill with your password
- ################ Do no modify ##############
- firstname = sys.argv[1]
- lastname = sys.argv[2]
- extension = sys.argv[3]
- data = {}
- error = None
- def get_token(username, password):
- auth = Auth('127.0.0.1', username=username, password=password, verify_certificate=False)
- token_data = auth.token.new('xivo_service', expiration=10)
- return token_data['token']
- def create_user(user):
- try:
- u = confd.users.create(user)
- return u['uuid']
- except Exception as e:
- print 'There is an error to create user :', e
- delete_on_error(data)
- def create_extension(extension):
- try:
- e = confd.extensions.create(extension)
- return e['id']
- except Exception as e:
- print 'There is an error to create extension :', e
- delete_on_error(data)
- def create_line(line):
- try:
- l = confd.lines.create(extension)
- return l['id']
- except Exception as e:
- print 'There is an error to create extension :', e
- delete_on_error(data)
- def create_endpoint_sip(endpoint):
- try:
- sip = confd.endpoints_sip.create(endpoint)
- return sip['id']
- except Exception as e:
- print 'There is an error to create endpoint SIP :', e
- delete_on_error(data)
- def associate_user(data):
- confd.endpoints_sip.relations(data['id_endpoint_sip']).associate_line(data['id_line'])
- confd.users.relations(data['uuid']).add_line(data['id_line'])
- confd.extensions.relations(data['id_exten']).add_line(data['id_line'])
- def delete_on_error(data):
- global error
- error = 1
- try:
- confd.users.delete(data['uuid'])
- confd.extensions.delete(data['id_exten'])
- confd.line.delete(data['id_line'])
- confd.endpoints_sip.delete(data['id_endpoint_sip'])
- except:
- pass
- confd = Confd('localhost', verify_certificate=False, token=get_token(username, password))
- user = {
- 'firstname': firstname,
- 'lastname': lastname
- }
- data['uuid'] = create_user(user)
- extension = {
- 'context': 'default',
- 'exten' : extension
- }
- data['id_exten'] = create_extension(extension)
- line = {
- 'context': 'default'
- }
- data['id_line'] = create_line(line)
- endpoint = {
- 'type': 'friend',
- 'host': 'dynamic'
- }
- data['id_endpoint_sip'] = create_endpoint_sip(endpoint)
- if data and error != 1:
- associate_user(data)
- print data
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement