Skip to content

Instantly share code, notes, and snippets.

@sboily
Last active September 11, 2020 22:21
Show Gist options
  • Save sboily/70cb8e1c5b0e7174c71676dd66818d92 to your computer and use it in GitHub Desktop.
Save sboily/70cb8e1c5b0e7174c71676dd66818d92 to your computer and use it in GitHub Desktop.
#!/usr/bin/python3
# LICENSE: GPLv3
# This script permit to add an extension member to a group.
import sys
from wazo_auth_client import Client as Auth
from wazo_confd_client import Client as Confd
# Please add a web service user with acl confd.#
# To use ./group.py group_id extension
username = "user" # Fill with your username
password = "pass" # Fill with your password
server = "localhost"
################ Do no modify ##############
def get_token():
auth = Auth(server, username=username, password=password, verify_certificate=False, port=443, prefix='/api/auth')
token_data = auth.token.new('wazo_user', expiration=60)
return token_data['token']
def add_extension_member_to_group(group_id, extension):
confd = Confd(server, verify_certificate=False, token=get_token(), port=443, prefix='/api/confd')
group = confd.groups.get(group_id)
if group:
context = group['extensions'][0].get('context')
extension_member = group['members']['extensions']
else:
raise('Error to find the group')
return
extension_member.append({
"exten": extension,
"context": context,
"priority": 1
})
try:
confd.groups(group_id).update_extension_members(extension_member)
except Exception as e:
print('Error to add extension member to group', e)
return
print('Extension {} has been added to group {}'.format(extension, group_id))
if len(sys.argv) < 3:
print('Error you need to use group.py group_id extension')
sys.exit(0)
add_extension_member_to_group(int(sys.argv[1]), str(sys.argv[2]))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment