From 229f3256dd638373b499d47077c4543d197f504e Mon Sep 17 00:00:00 2001 From: 41612123 <876398710@qq.com> Date: Thu, 25 Oct 2018 09:53:10 +0800 Subject: [PATCH 01/15] feat: add mysql operation,delete access operation --- src/main.py | 3 -- src/sqlhelper.py | 82 ++++++++++++++++++++---------------------------- 2 files changed, 34 insertions(+), 51 deletions(-) diff --git a/src/main.py b/src/main.py index 2eb492b..24552d3 100644 --- a/src/main.py +++ b/src/main.py @@ -13,7 +13,6 @@ import os from traceback import format_exc import send -from sqlhelper import CreateDatabase def Init(): '''首次使用时,程序初始化''' @@ -22,8 +21,6 @@ def Init(): Mkfile('Log/' + 'Exception_log.log') # 新建数据库 database_name='database' - if CreateDatabase(database_name)==True: - Log_Write('新建文件', database_name + '\n') File_Path = os.getcwd() + '\\Data\\user.md' if not os.path.exists(File_Path): # 不存在user.md文件 diff --git a/src/sqlhelper.py b/src/sqlhelper.py index 25a318b..b31af92 100644 --- a/src/sqlhelper.py +++ b/src/sqlhelper.py @@ -2,30 +2,32 @@ Created on Oct 19, 2018 @author: QiZhao ''' -import pypyodbc +import pymysql import os +import re - -def ExistTable(data_base, table_name): +def ExistTable(target_ip , user_name, pwd, db_name, table_name): ''' 判断数据库中是否存在某张表,返回True或Flase Args: - data_base: 数据库文件的文件名 + target_ip: 连接目标的ip + user_name: 数据库用户名 + pwd: 数据库用户的密码 + db_name: 数据库名称 table_name: 表名 Returns: 返回True或Flase ''' - - path = os.getcwd() + "\\" + data_base + ".mdb" try: - connection = pypyodbc.win_connect_mdb(path) + connection = pymysql.connect(host = target_ip,user = user_name,passwd = pwd,db = db_name ) cursor = connection.cursor() - res = cursor.tables() - tables = [] - for i in res: - tables.append(i[2]) - if table_name in tables: + sql = 'show tables;' + cursor.execute(sql) + tables = [cursor.fetchall()] + table_list = re.findall('(\'.*?\')',str(tables)) + table_list = [re.sub("'",'',each) for each in table_list] + if table_name in table_list: return True else: return False @@ -35,20 +37,21 @@ def ExistTable(data_base, table_name): raise e -def Execute(data_base, sql): +def Execute(target_ip , user_name, pwd, db_name, sql): ''' 执行一条SQL语句,返回SQL语句执行后影响的行数 Args: - data_base: 数据库文件的文件名 + target_ip: 连接目标的ip + user_name: 数据库用户名 + pwd: 数据库用户的密码 + db_name: 数据库名称 sql: SQL语句 Returns: res: SQL语句执行后影响的行数 ''' - - path = os.getcwd() + "\\" + data_base + ".mdb" try: - connection = pypyodbc.win_connect_mdb(path) + connection = pymysql.connect(host = target_ip,user = user_name,passwd = pwd,db = db_name ) cursor = connection.cursor() res = cursor.execute(sql) connection.commit() @@ -60,41 +63,22 @@ def Execute(data_base, sql): raise e -def CreateDatabase(data_base): - ''' - 判断当前路径是否存在数据库文件 - 如果不存在,则尝试创建数据库文件, - 返回创建的结果 - - Args: - data_base: 数据库文件的文件名 - Returns: - 返回True或Flase - ''' - path = os.getcwd() + "\\" + data_base + ".mdb" - try: - if not os.path.exists(path): - connection = pypyodbc.win_create_mdb(path) - connection.close() - return True - return False - except Exception as e: - raise e - - -def Fetchall(data_base, sql): +def Fetchall(target_ip , user_name, pwd, db_name, sql): ''' 执行一条SQL语句,返回查询结果的所有行 + Args: - data_base: 数据库文件的文件名 + target_ip: 连接目标的ip + user_name: 数据库用户名 + pwd: 数据库用户的密码 + db_name: 数据库名称 sql: SQL语句 Returns: res: 一个list,包含查询的结果, 元素为元组,代表一行信息 ''' - path = os.getcwd() + "\\" + data_base + ".mdb" try: - connection = pypyodbc.win_connect_mdb(path) + connection = pymysql.connect(host = target_ip,user = user_name,passwd = pwd,db = db_name ) cursor = connection.cursor() cursor.execute(sql) res = cursor.fetchall() @@ -106,23 +90,25 @@ def Fetchall(data_base, sql): raise e -def FetchRow(data_base, sql, column): +def FetchRow(target_ip , user_name, pwd, db_name, sql, column): ''' 执行一条sql语句,并从查询结果中筛选指定的某一列的所有内容 Args: - data_base: 数据库文件的文件名 + target_ip: 连接目标的ip + user_name: 数据库用户名 + pwd: 数据库用户的密码 + db_name: 数据库名称 sql: SQL语句 column: 第几列,从0开始 Returns: res: 一个list,包含指定列的所有结果 ''' - path = os.getcwd() + "\\" + data_base + ".mdb" try: - connection = pypyodbc.win_connect_mdb(path) + connection = pymysql.connect(host = target_ip,user = user_name,passwd = pwd,db = db_name ) cursor = connection.cursor() cursor.execute(sql) - row_count = cursor._NumOfCols() + row_count = cursor.rowcount if column >= row_count: raise IndexError res = cursor.fetchall() From 766788361fcb1475ecf7644148cc9ab9a0597784 Mon Sep 17 00:00:00 2001 From: 41612123 <876398710@qq.com> Date: Fri, 26 Oct 2018 18:02:12 +0800 Subject: [PATCH 02/15] refacter: sqlhelper --> class --- src/sqlhelper.py | 209 +++++++++++++++++++++++------------------------ 1 file changed, 104 insertions(+), 105 deletions(-) diff --git a/src/sqlhelper.py b/src/sqlhelper.py index b31af92..4a63291 100644 --- a/src/sqlhelper.py +++ b/src/sqlhelper.py @@ -1,123 +1,122 @@ -''' -Created on Oct 19, 2018 -@author: QiZhao -''' import pymysql -import os import re -def ExistTable(target_ip , user_name, pwd, db_name, table_name): +class SqlHelper(): ''' - 判断数据库中是否存在某张表,返回True或Flase + 数据库帮助类,实现数据库的一些操作 Args: target_ip: 连接目标的ip user_name: 数据库用户名 pwd: 数据库用户的密码 - db_name: 数据库名称 - table_name: 表名 - Returns: - 返回True或Flase - ''' - try: - connection = pymysql.connect(host = target_ip,user = user_name,passwd = pwd,db = db_name ) - cursor = connection.cursor() - sql = 'show tables;' - cursor.execute(sql) - tables = [cursor.fetchall()] - table_list = re.findall('(\'.*?\')',str(tables)) - table_list = [re.sub("'",'',each) for each in table_list] - if table_name in table_list: - return True - else: - return False - except Exception as e: - connection.rollback() - connection.close() - raise e - -def Execute(target_ip , user_name, pwd, db_name, sql): ''' - 执行一条SQL语句,返回SQL语句执行后影响的行数 + def __init__(self , target_ip , user_name , pwd): + self.target_ip = target_ip + self.user_name = user_name + self.pwd = pwd - Args: - target_ip: 连接目标的ip - user_name: 数据库用户名 - pwd: 数据库用户的密码 - db_name: 数据库名称 - sql: SQL语句 - Returns: - res: SQL语句执行后影响的行数 - ''' - try: - connection = pymysql.connect(host = target_ip,user = user_name,passwd = pwd,db = db_name ) - cursor = connection.cursor() - res = cursor.execute(sql) - connection.commit() - connection.close() - return res - except Exception as e: - connection.rollback() - connection.close() - raise e + def ExistTable(self, db_name, table_name): + ''' + 判断数据库中是否存在某张表,返回True或Flase + + Args: + db_name: 数据库名称 + table_name: 表名 + Returns: + 返回True或Flase + ''' + try: + connection = pymysql.connect(host = self.target_ip, user = self.user_name, passwd = self.pwd, db = db_name ) + cursor = connection.cursor() + sql = 'show tables;' + cursor.execute(sql) + tables = [cursor.fetchall()] + table_list = re.findall('(\'.*?\')',str(tables)) + table_list = [re.sub("'",'',each) for each in table_list] + if table_name in table_list: + return True + else: + return False + except Exception as e: + connection.rollback() + connection.close() + raise e -def Fetchall(target_ip , user_name, pwd, db_name, sql): - ''' - 执行一条SQL语句,返回查询结果的所有行 + + def Execute(self, db_name, sql): + ''' + 执行一条SQL语句,返回SQL语句执行后影响的行数 - Args: - target_ip: 连接目标的ip - user_name: 数据库用户名 - pwd: 数据库用户的密码 - db_name: 数据库名称 - sql: SQL语句 - Returns: - res: 一个list,包含查询的结果, - 元素为元组,代表一行信息 - ''' - try: - connection = pymysql.connect(host = target_ip,user = user_name,passwd = pwd,db = db_name ) - cursor = connection.cursor() - cursor.execute(sql) - res = cursor.fetchall() - connection.close() - return res - except Exception as e: - connection.rollback() - connection.close() - raise e + Args: + db_name: 数据库名称 + sql: SQL语句 + Returns: + res: SQL语句执行后影响的行数 + ''' + try: + connection = pymysql.connect(host = self.target_ip,user = self.user_name,passwd = self.pwd,db = db_name ) + cursor = connection.cursor() + res = cursor.execute(sql) + connection.commit() + connection.close() + return res + except Exception as e: + connection.rollback() + connection.close() + raise e -def FetchRow(target_ip , user_name, pwd, db_name, sql, column): - ''' - 执行一条sql语句,并从查询结果中筛选指定的某一列的所有内容 + def Fetchall(self , db_name, sql): + ''' + 执行一条SQL语句,返回查询结果的所有行 + + Args: + db_name: 数据库名称 + sql: SQL语句 + Returns: + res: 一个list,包含查询的结果,元素为元组,代表一行信息 + ''' + try: + connection = pymysql.connect(host = self.target_ip,user = self.user_name,passwd = self.pwd,db = db_name ) + cursor = connection.cursor() + cursor.execute(sql) + res = cursor.fetchall() + connection.close() + return res + except Exception as e: + connection.rollback() + connection.close() + raise e - Args: - target_ip: 连接目标的ip - user_name: 数据库用户名 - pwd: 数据库用户的密码 - db_name: 数据库名称 - sql: SQL语句 - column: 第几列,从0开始 - Returns: - res: 一个list,包含指定列的所有结果 - ''' - try: - connection = pymysql.connect(host = target_ip,user = user_name,passwd = pwd,db = db_name ) - cursor = connection.cursor() - cursor.execute(sql) - row_count = cursor.rowcount - if column >= row_count: - raise IndexError - res = cursor.fetchall() - ret = [] - for col in res: - ret.append(col[column]) - connection.close() - return ret - except Exception as e: - connection.rollback() - connection.close() - raise e + + def FetchRow(self , db_name, sql, column): + ''' + 执行一条sql语句,并从查询结果中筛选指定的某一列的所有内容 + + Args: + db_name: 数据库名称 + sql: SQL语句 + column: 第几列,从0开始 + Returns: + res: 一个list,包含指定列的所有结果 + ''' + try: + connection = pymysql.connect(host = self.target_ip,user = self.user_name,passwd = self.pwd,db = db_name ) + cursor = connection.cursor() + cursor.execute(sql) + row_count = cursor.rowcount + print(row_count) + if column >= row_count: + raise IndexError + res = cursor.fetchall() + ret = [] + for col in res: + ret.append(col[column]) + connection.close() + return ret + except Exception as e: + connection.rollback() + connection.close() + raise e From be200d59f7eaba7d1f1dc56adcb549610fa84805 Mon Sep 17 00:00:00 2001 From: QiZhao <956361916@qq.com> Date: Sat, 27 Oct 2018 16:03:21 +0800 Subject: [PATCH 03/15] fix: fix FetCol method of sqlhelper --- src/sqlhelper.py | 51 ++++++++++++++++++++++++------------------------ 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/src/sqlhelper.py b/src/sqlhelper.py index 4a63291..b00562e 100644 --- a/src/sqlhelper.py +++ b/src/sqlhelper.py @@ -1,26 +1,24 @@ import pymysql import re + class SqlHelper(): ''' 数据库帮助类,实现数据库的一些操作 - Args: target_ip: 连接目标的ip user_name: 数据库用户名 pwd: 数据库用户的密码 - ''' - def __init__(self , target_ip , user_name , pwd): + + def __init__(self, target_ip, user_name, pwd): self.target_ip = target_ip self.user_name = user_name self.pwd = pwd - def ExistTable(self, db_name, table_name): ''' 判断数据库中是否存在某张表,返回True或Flase - Args: db_name: 数据库名称 table_name: 表名 @@ -28,13 +26,14 @@ def ExistTable(self, db_name, table_name): 返回True或Flase ''' try: - connection = pymysql.connect(host = self.target_ip, user = self.user_name, passwd = self.pwd, db = db_name ) + connection = pymysql.connect( + host=self.target_ip, user=self.user_name, passwd=self.pwd, db=db_name) cursor = connection.cursor() sql = 'show tables;' cursor.execute(sql) tables = [cursor.fetchall()] - table_list = re.findall('(\'.*?\')',str(tables)) - table_list = [re.sub("'",'',each) for each in table_list] + table_list = re.findall('(\'.*?\')', str(tables)) + table_list = [re.sub("'", '', each) for each in table_list] if table_name in table_list: return True else: @@ -44,11 +43,9 @@ def ExistTable(self, db_name, table_name): connection.close() raise e - def Execute(self, db_name, sql): ''' 执行一条SQL语句,返回SQL语句执行后影响的行数 - Args: db_name: 数据库名称 sql: SQL语句 @@ -56,7 +53,8 @@ def Execute(self, db_name, sql): res: SQL语句执行后影响的行数 ''' try: - connection = pymysql.connect(host = self.target_ip,user = self.user_name,passwd = self.pwd,db = db_name ) + connection = pymysql.connect( + host=self.target_ip, user=self.user_name, passwd=self.pwd, db=db_name) cursor = connection.cursor() res = cursor.execute(sql) connection.commit() @@ -67,11 +65,9 @@ def Execute(self, db_name, sql): connection.close() raise e - - def Fetchall(self , db_name, sql): + def FetchAll(self, db_name, sql): ''' 执行一条SQL语句,返回查询结果的所有行 - Args: db_name: 数据库名称 sql: SQL语句 @@ -79,7 +75,8 @@ def Fetchall(self , db_name, sql): res: 一个list,包含查询的结果,元素为元组,代表一行信息 ''' try: - connection = pymysql.connect(host = self.target_ip,user = self.user_name,passwd = self.pwd,db = db_name ) + connection = pymysql.connect( + host=self.target_ip, user=self.user_name, passwd=self.pwd, db=db_name) cursor = connection.cursor() cursor.execute(sql) res = cursor.fetchall() @@ -90,28 +87,32 @@ def Fetchall(self , db_name, sql): connection.close() raise e - - def FetchRow(self , db_name, sql, column): + def FetchCol(self, db_name, table_name, sql, column): ''' 执行一条sql语句,并从查询结果中筛选指定的某一列的所有内容 - Args: db_name: 数据库名称 + table_name: 表名 sql: SQL语句 - column: 第几列,从0开始 + column: 第几列,从1开始 Returns: res: 一个list,包含指定列的所有结果 ''' try: - connection = pymysql.connect(host = self.target_ip,user = self.user_name,passwd = self.pwd,db = db_name ) + connection = pymysql.connect( + host=self.target_ip, user=self.user_name, passwd=self.pwd, db=db_name) cursor = connection.cursor() + temp_sql = "select count(*) from information_schema.columns where table_schema='" + \ + db_name + "' and table_name='" + table_name+"'" + cursor.execute(temp_sql) + tup=cursor.fetchone() + col_count=int(tup[0]) + if column > col_count or column < 1: + raise IndexError cursor.execute(sql) - row_count = cursor.rowcount - print(row_count) - if column >= row_count: - raise IndexError res = cursor.fetchall() ret = [] + column-=1 for col in res: ret.append(col[column]) connection.close() @@ -119,4 +120,4 @@ def FetchRow(self , db_name, sql, column): except Exception as e: connection.rollback() connection.close() - raise e + raise e \ No newline at end of file From 234b9ad7fd5aebbd0d9e1528fbd076a04d57f2cd Mon Sep 17 00:00:00 2001 From: QiZhao <956361916@qq.com> Date: Sat, 27 Oct 2018 15:17:20 +0800 Subject: [PATCH 04/15] feat: add two database operation method of sqlhelper --- src/sqlhelper.py | 51 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/src/sqlhelper.py b/src/sqlhelper.py index b00562e..e41cfed 100644 --- a/src/sqlhelper.py +++ b/src/sqlhelper.py @@ -120,4 +120,53 @@ def FetchCol(self, db_name, table_name, sql, column): except Exception as e: connection.rollback() connection.close() - raise e \ No newline at end of file + raise e + + def CreateDatabase(self,db_name): + ''' + 创建一个数据库.如果已存在该数据库,则删除该数据库后再创建 + + Args: + db_name: 数据库名称 + Returns: + res: 返回True或Flase + ''' + try: + connection = pymysql.connect( + host=self.target_ip, user=self.user_name, passwd=self.pwd) + cursor = connection.cursor() + sql='DROP DATABASE '+db_name + cursor.execute(sql) + sql='CREATE DATABASE if not exists '+db_name + cursor.execute(sql) + connection.commit() + connection.close() + except Exception as e: + connection.rollback() + connection.close() + raise e + + def ExistDatabase(self,db_name): + ''' + 判断是否存在某个数据库,返回True或Flase + + Args: + db_name: 数据库名称 + Returns: 返回True或Flase + ''' + try: + connection = pymysql.connect( + host=self.target_ip, user=self.user_name, passwd=self.pwd) + cursor = connection.cursor() + cursor.execute('show databases') + databases = cursor.fetchall() + database_list=re.findall('(\'.*?\')', str(databases)) + database_list = [re.sub("'", '', each) for each in database_list] + if db_name in database_list: + return True + else: + return False + except Exception as e: + connection.rollback() + connection.close() + raise e From bc96debabe9e34b1234b59eed68cb8582edd7f85 Mon Sep 17 00:00:00 2001 From: QiZhao <956361916@qq.com> Date: Sat, 27 Oct 2018 15:21:48 +0800 Subject: [PATCH 05/15] feat: storge data using mysql --- src/main.py | 2 -- src/spider.py | 17 +++++++++++------ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/main.py b/src/main.py index 24552d3..d1a45f7 100644 --- a/src/main.py +++ b/src/main.py @@ -19,8 +19,6 @@ def Init(): Mkdir('Log') Mkdir('Data') Mkfile('Log/' + 'Exception_log.log') - # 新建数据库 - database_name='database' File_Path = os.getcwd() + '\\Data\\user.md' if not os.path.exists(File_Path): # 不存在user.md文件 diff --git a/src/spider.py b/src/spider.py index 901698b..3acb955 100644 --- a/src/spider.py +++ b/src/spider.py @@ -1,4 +1,5 @@ # encoding='utf-8' +import configs ''' Created on Mar 7, 2018 @@ -54,19 +55,23 @@ def Data_processing(subject_EN, data, url_main): {'title':'关于xxx的通知','date':'2017-03-10','link':'http://xxxx.com‘}] ''' + helper = sqlhelper.SqlHelper( + configs.TARGET_IP, configs.SQL_USERNAME, configs.SQL_PASSWORD) + if helper.ExistDatabase(configs.DATABASE_NAME)==False: + helper.CreateDatabase(configs.DATABASE_NAME) # 处理为长网址 for item_dict in data: item_dict['link'] = url_main + item_dict['link'] table_name = subject_EN - if sqlhelper.ExistTable('database', table_name) == False: + if helper.ExistTable(configs.DATABASE_NAME, table_name) == False: sql = 'CREATE TABLE' + ' ' + table_name + \ - '(link Text PRIMARY KEY,title Text,datee Text)' - sqlhelper.Execute('database', sql) + '(id int PRIMARY KEY AUTO_INCREMENT,link Text,title Text,date Text)' + helper.Execute(configs.DATABASE_NAME, sql) # 收集所有的link信息 sql = 'select * from' + ' ' + table_name - all_link = sqlhelper.FetchRow('database', sql, 0) + all_link = helper.FetchCol(configs.DATABASE_NAME, table_name,sql, 2) # 生成新数据 status = 0 # 是否有新通知的标志 @@ -84,10 +89,10 @@ def Data_processing(subject_EN, data, url_main): # 将新抓取到的通知信息写入数据文件 for item in new_data: - sql = "insert into" + " " + table_name + "(link,title,datee) values ('%s','%s','%s')" % ( + sql = "insert into" + " " + table_name + "(link,title,date) values ('%s','%s','%s')" % ( item['link'], item['title'], item['date']) # print(sql) - sqlhelper.Execute('database', sql) + helper.Execute(configs.DATABASE_NAME, sql) return status, new_data From f88bd33051de3a97b60f231cc2610aec8254f894 Mon Sep 17 00:00:00 2001 From: QiZhao <956361916@qq.com> Date: Sat, 27 Oct 2018 17:29:10 +0800 Subject: [PATCH 06/15] fix: add mysql configs --- src/configs.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/configs.py b/src/configs.py index 9a55528..a8fff4d 100644 --- a/src/configs.py +++ b/src/configs.py @@ -1,12 +1,10 @@ # encoding='utf-8' ''' Created on Sep 19, 2018 - @author: QiZhao @license: GNU GPLv3 @version: 0.2.0 ''' - # show config SCHOOL_NAME = '' VERSION = '' @@ -53,3 +51,8 @@ APPID = ' ' SECRET = ' ' +# mysql config +TARGET_IP='' +SQL_USERNAME='' +SQL_PASSWORD='' +DATABASE_NAME='' From 0c0cfba82eed60bb1603f86016383c9e7e09f503 Mon Sep 17 00:00:00 2001 From: QiZhao <956361916@qq.com> Date: Sat, 27 Oct 2018 17:54:18 +0800 Subject: [PATCH 07/15] docs: update author information,moudle description document --- Pydoc/configs.html | 17 ++++++-- Pydoc/main.html | 8 +++- Pydoc/send.html | 25 +++++++---- Pydoc/spider.html | 13 +++--- Pydoc/sqlhelper.html | 99 ++++++++++++++++++++++++++++++++------------ Pydoc/tool.html | 12 +++--- src/configs.py | 7 +++- src/main.py | 10 +++-- src/send.py | 10 +++-- src/spider.py | 8 ++-- src/sqlhelper.py | 9 ++++ src/tool.py | 7 +++- 12 files changed, 158 insertions(+), 67 deletions(-) diff --git a/Pydoc/configs.html b/Pydoc/configs.html index e32242e..829375b 100644 --- a/Pydoc/configs.html +++ b/Pydoc/configs.html @@ -9,11 +9,13 @@  
configs
index
f:\code\python\school_notice\src\configs.py
-

Created on Sep 19, 2018

-@author: QiZhao
+

@author: QiZhao
+@contact: zhaoqi99@outlook.com
+@since: 2018-09-19
@license: GNU GPLv3
-@version: 0.2.0

+@version: 0.2.1
+@LastModifiedBy: QiZhao
+@LastModifiedDate: 2018-10-27

@@ -22,16 +24,23 @@
        ACCOUNT_ID = ''
+APPID = ' '
AUTHOR_EMAIL = ''
AUTHOR_NAME = ''
AUTH_TOKEN = ''
+DATABASE_NAME = ''
EMAIL_PORT = 0
EMAIL_SERVER = ''
FROM_ADDR = ''
+GRANT_TYPE = 'client_credential'
LOG_ENABLED = True
PASSWORD = ''
SCHOOL_NAME = ''
+SECRET = ' '
SPIDER_CONFIG = [{'coding': '', 'rule': '', 'subject_CN': '', 'subject_EN': '', 'url': '', 'url_main': ''}, {'coding': '', 'rule': '', 'subject_CN': '', 'subject_EN': '', 'url': '', 'url_main': ''}]
+SQL_PASSWORD = ''
+SQL_USERNAME = ''
+TARGET_IP = ''
TWILIO_NUMBER = ''
VERSION = ''
\ No newline at end of file diff --git a/Pydoc/main.html b/Pydoc/main.html index b63cdff..fadcb2a 100644 --- a/Pydoc/main.html +++ b/Pydoc/main.html @@ -9,7 +9,13 @@  
main
index
f:\code\python\school_notice\src\main.py
-

# encoding='utf-8'

+

@author: QiZhao
+@contact: zhaoqi99@outlook.com
+@since: 2018-05-08
+@license: GNU GPLv3
+@version: 0.2.1
+@LastModifiedBy: QiZhao
+@LastModifiedDate: 2018-10-27

diff --git a/Pydoc/send.html b/Pydoc/send.html index 4c58b1a..84f241d 100644 --- a/Pydoc/send.html +++ b/Pydoc/send.html @@ -9,7 +9,13 @@  
send
index
f:\code\python\school_notice\src\send.py
-

+

@author: QiZhao
+@contact: zhaoqi99@outlook.com
+@since: 2018-05-07
+@license: GNU GPLv3
+@version: 0.2.1
+@LastModifiedBy: Keyi Xie
+@LastModifiedDate: 2018-10-23

@@ -18,7 +24,9 @@
       
configs
-
smtplib
+json
+
requests
+smtplib
twilio

@@ -30,7 +38,7 @@
Send(msgs, subject, send_number, to_addr_str, flag=True)
向手机号码为send_number的人发送通知信息
向to_addr_str中的邮箱地址发送主题为subject的通知信息
支持是否写入日志记录的选择               
-                                

Args:
    msgs: 存储要发送的内容的列表,且该列表的每个元素为字典,
        列表元素中的字典必须包含三个键值对,且key必须为'title','link','date',
@@ -48,25 +56,28 @@     to_add_str: 收件人的邮箱地址,多个邮箱地址之间应以','分割,类型为字符串
        例如:'example@qq.com','example1@qq.com,example2@qq.com'
    subject: 邮件主题
-    

Returns:
    log_send_email: 经过处理的含收件人邮箱地址以及发送结果的日志信息,类型为字符串
        例如:'example@qq.com 邮件发送成功!'
        'example@qq.com 邮件发送失败,请检查你的账号是否有效或网络是否良好!'
        'example1@qq.com,example2@qq.com 邮件发送成功!'
-
Send_sms(send_number, msg)
向手机号码为send_number的人发送内容为msg的短信
+
Send_sms(send_number, msg)
向手机号码为send_number的人发送内容为msg的短信 
支持多个手机号码的发送
Args:
    send_number: 短信接收者的手机号码
    msg: 要发送的文本内容,类型为字符串
-    

Returns:
    经过处理的含短信接收者手机号码以及发送结果的日志信息,类型为字符串
    例如:
    '+8615012345678 短信已经发送'
    '+8615012345678 短信发送失败,请检查你的账号是否有效或网络是否良好!'
-    

send_number应已经在twilio上验证过
msg中不能包含敏感词,否则短信会被运营商拦截
+
get_token()
# 获取微信access_token
+# TODO 每两小时token会过期,一天大概只能获取2000次
+
send_to_wechat(str='default_words!')
# 发送消息给订阅号(订阅号由get_token决定
\ No newline at end of file diff --git a/Pydoc/spider.html b/Pydoc/spider.html index 1dd3db1..ea7c440 100644 --- a/Pydoc/spider.html +++ b/Pydoc/spider.html @@ -9,11 +9,7 @@  
spider
index
f:\code\python\school_notice\src\spider.py
-

Created on Mar 7, 2018

-@author: QiZhao
-@license: GNU GPLv3
-@version: 0.2.0

+

# encoding='utf-8'

@@ -21,11 +17,12 @@ Modules -
       
re
+
configs
+re
sqlhelper
-
tool
+tool
urllib
-

+

 
diff --git a/Pydoc/sqlhelper.html b/Pydoc/sqlhelper.html index 89b987c..0147483 100644 --- a/Pydoc/sqlhelper.html +++ b/Pydoc/sqlhelper.html @@ -9,8 +9,13 @@  
sqlhelper
index
f:\code\python\school_notice\src\sqlhelper.py
-

Created on Oct 19, 2018
-@author: QiZhao

+

@author: QiZhao
+@contact: zhaoqi99@outlook.com
+@since: 2018-09-19
+@license: GNU GPLv3
+@version: 0.2.1
+@LastModifiedBy: jhy
+@LastModifiedDate: 2018-10-27

@@ -18,51 +23,91 @@ Modules -
       
os
-
pypyodbc
+
pymysql
+
re

- + +Classes - - +
 
-Functions
       
CreateDatabase(data_base)
判断当前路径是否存在数据库文件
-如果不存在,则尝试创建数据库文件,
-返回创建的结果
+
       
+
builtins.object +
+
+
SqlHelper +
+
+
+

+ + + + + + + +
 
+class SqlHelper(builtins.object)
   SqlHelper(target_ip, user_name, pwd)
 
+数据库帮助类,实现数据库的一些操作
Args:
-    data_base: 数据库文件的文件名
-Returns:
-    返回True或Flase
-
Execute(data_base, sql)
执行一条SQL语句,返回SQL语句执行后影响的行数
+    target_ip: 连接目标的ip
+    user_name: 数据库用户名
+    pwd: 数据库用户的密码
 
 Methods defined here:
+
CreateDatabase(self, db_name)
创建一个数据库.如果已存在该数据库,则删除该数据库后再创建
 
Args:
-    data_base: 数据库文件的文件名
+    db_name: 数据库名称
+Returns:
+    res: 返回True或Flase
+ +
Execute(self, db_name, sql)
执行一条SQL语句,返回SQL语句执行后影响的行数
+Args:
+    db_name: 数据库名称
    sql: SQL语句
Returns:
    res: SQL语句执行后影响的行数
-
ExistTable(data_base, table_name)
判断数据库中是否存在某张表,返回True或Flase
+ +
ExistDatabase(self, db_name)
判断是否存在某个数据库,返回True或Flase
 
Args:
-    data_base: 数据库文件的文件名
+    db_name: 数据库名称
+Returns: 返回True或Flase
+ +
ExistTable(self, db_name, table_name)
判断数据库中是否存在某张表,返回True或Flase
+Args:
+    db_name: 数据库名称
    table_name: 表名
Returns:
    返回True或Flase
-
FetchRow(data_base, sql, column)
执行一条sql语句,并从查询结果中筛选指定的某一列的所有内容

+ +
FetchAll(self, db_name, sql)
执行一条SQL语句,返回查询结果的所有行
Args:
-    data_base: 数据库文件的文件名
+    db_name: 数据库名称
    sql: SQL语句
-    column: 第几列,从0开始
Returns:
-    res: 一个list,包含指定列的所有结果
-
Fetchall(data_base, sql)
执行一条SQL语句,返回查询结果的所有行
+    res: 一个list,包含查询的结果,元素为元组,代表一行信息
+ +
FetchCol(self, db_name, table_name, sql, column)
执行一条sql语句,并从查询结果中筛选指定的某一列的所有内容
Args:
-    data_base: 数据库文件的文件名
+    db_name: 数据库名称
+    table_name: 表名
    sql: SQL语句
+    column: 第几列,从1开始
Returns:
-    res: 一个list,包含查询的结果,
-    元素为元组,代表一行信息
-
+    res: 一个list,包含指定列的所有结果 + +

__init__(self, target_ip, user_name, pwd)
Initialize self.  See help(type(self)) for accurate signature.
+ +
+Data descriptors defined here:
+
__dict__
+
dictionary for instance variables (if defined)
+
+
__weakref__
+
list of weak references to the object (if defined)
+
+

\ No newline at end of file diff --git a/Pydoc/tool.html b/Pydoc/tool.html index fe41ee2..f70ea07 100644 --- a/Pydoc/tool.html +++ b/Pydoc/tool.html @@ -9,11 +9,13 @@  
tool
index
f:\code\python\school_notice\src\tool.py
-

Created on Mar 8, 2018

-@author: QiZhao
+

@author: QiZhao
+@contact: zhaoqi99@outlook.com
+@since: 2018-05-08
@license: GNU GPLv3
-@version: 0.2.0

+@version: 0.2.0
+@LastModifiedBy: QiZhao
+@LastModifiedDate: 2018-10-18

@@ -37,7 +39,7 @@     subject: 生成的日志文件的文件名前缀,以及输出时显示在单条日志信息前的对日志类型的描述
    log_txt: 不带时间信息的日志内容,类型可以为字符串,每个元素均为列表(该列表中每个元素要求为字符串)的列表
    flag: 一个可选变量,决定是否在输出设备输出日志信息,默认为1(输出)
-    

Returns:
    返回由处理后的单条或多条日志信息组成的列表。
Mkdir(dir_name, flag=1)
获取到当前文件所在的目录,并检查是否有'dir_name'文件夹,
diff --git a/src/configs.py b/src/configs.py index a8fff4d..85e2db9 100644 --- a/src/configs.py +++ b/src/configs.py @@ -1,9 +1,12 @@ # encoding='utf-8' ''' -Created on Sep 19, 2018 @author: QiZhao +@contact: zhaoqi99@outlook.com +@since: 2018-09-19 @license: GNU GPLv3 -@version: 0.2.0 +@version: 0.2.1 +@LastModifiedBy: QiZhao +@LastModifiedDate: 2018-10-27 ''' # show config SCHOOL_NAME = '' diff --git a/src/main.py b/src/main.py index d1a45f7..472a2c6 100644 --- a/src/main.py +++ b/src/main.py @@ -1,12 +1,14 @@ # encoding='utf-8' -import configs ''' -Created on Mar 8, 2018 - @author: QiZhao +@contact: zhaoqi99@outlook.com +@since: 2018-05-08 @license: GNU GPLv3 -@version: 0.2.0 +@version: 0.2.1 +@LastModifiedBy: QiZhao +@LastModifiedDate: 2018-10-27 ''' +import configs from spider import Spider import time from tool import Mkdir, Mkfile, Log_Write diff --git a/src/send.py b/src/send.py index 66a85a0..2ee889e 100644 --- a/src/send.py +++ b/src/send.py @@ -1,11 +1,13 @@ -import twilio ''' -Created on Mar 7, 2018 - @author: QiZhao +@contact: zhaoqi99@outlook.com +@since: 2018-05-07 @license: GNU GPLv3 -@version: 0.2.0 +@version: 0.2.1 +@LastModifiedBy: Keyi Xie +@LastModifiedDate: 2018-10-23 ''' +import twilio from twilio.rest import Client from email.mime.text import MIMEText import smtplib diff --git a/src/spider.py b/src/spider.py index 3acb955..35130ef 100644 --- a/src/spider.py +++ b/src/spider.py @@ -1,11 +1,13 @@ # encoding='utf-8' import configs ''' -Created on Mar 7, 2018 - @author: QiZhao +@contact: zhaoqi99@outlook.com +@since: 2018-05-07 @license: GNU GPLv3 -@version: 0.2.0 +@version: 0.2.1 +@LastModifiedBy: QiZhao +@LastModifiedDate: 2018-10-27 ''' import urllib.request import re diff --git a/src/sqlhelper.py b/src/sqlhelper.py index e41cfed..60bd6b3 100644 --- a/src/sqlhelper.py +++ b/src/sqlhelper.py @@ -1,3 +1,12 @@ +''' +@author: QiZhao +@contact: zhaoqi99@outlook.com +@since: 2018-09-19 +@license: GNU GPLv3 +@version: 0.2.1 +@LastModifiedBy: jhy +@LastModifiedDate: 2018-10-27 +''' import pymysql import re diff --git a/src/tool.py b/src/tool.py index 11db7b5..befbbc1 100644 --- a/src/tool.py +++ b/src/tool.py @@ -1,11 +1,14 @@ # encoding='utf-8' ''' -Created on Mar 8, 2018 - @author: QiZhao +@contact: zhaoqi99@outlook.com +@since: 2018-05-08 @license: GNU GPLv3 @version: 0.2.0 +@LastModifiedBy: QiZhao +@LastModifiedDate: 2018-10-18 ''' + import time import os From 1badc98f5d3dca35438cd7c2698ca601fbedb33a Mon Sep 17 00:00:00 2001 From: Qi Zhao Date: Fri, 7 Dec 2018 15:02:23 +0800 Subject: [PATCH 08/15] Add Contributors --- README.md | 7 +++++++ README.zh-CN.md | 8 +++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d77638c..129dcb7 100644 --- a/README.md +++ b/README.md @@ -120,6 +120,13 @@ SPIDER_CONFIG = [ 5. Go to the Dist folder and you can see the Main.exe `cd dist` +## Contributors + +Thanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)): + +| [
Keyi Xie](https://xiekeyi98.github.io/)
[💻](https://github.com/ZhaoQi99/School_Notice/commits?author=xiekeyi98 "Code") [📖](https://github.com/ZhaoQi99/School_Notice/commits?author=xiekeyi98 "Documentation")| [
jhy](https://Small-funny.github.io/)
[💻](https://github.com/ZhaoQi99/School_Notice/commits?author=Small-funny "Code") [📖](https://github.com/ZhaoQi99/School_Notice/commits?author=Small-funny "Documentation")| +| :---: | :---: | + ## License & Author * Author:Qi Zhao([zhaoqi99@outlook.com](mailto:zhaoqi99@outlook.com)) * License:[GNU General Public License v3.0](https://github.com/ZhaoQi99/School_Notice/blob/master/LICENSE) \ No newline at end of file diff --git a/README.zh-CN.md b/README.zh-CN.md index 4ee3415..1a165e7 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -61,7 +61,6 @@ VERSION = '' AUTHOR_NAME = '' AUTHOR_EMAIL = '' ``` - ### Log Config 是否在日志文件中记录日志,默认为True ``` @@ -121,6 +120,13 @@ SPIDER_CONFIG = [ 5. 进入dist文件夹,可以看到main.exe `cd dist` +## 贡献者 + +感谢所有对本项目做出过贡献的开发者([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)): + +| [
Keyi Xie](https://xiekeyi98.github.io/)
[💻](https://github.com/ZhaoQi99/School_Notice/commits?author=xiekeyi98 "Code") [📖](https://github.com/ZhaoQi99/School_Notice/commits?author=xiekeyi98 "Documentation")| [
jhy](https://Small-funny.github.io/)
[💻](https://github.com/ZhaoQi99/School_Notice/commits?author=Small-funny "Code") [📖](https://github.com/ZhaoQi99/School_Notice/commits?author=Small-funny "Documentation")| +| :---: | :---: | + ## 开源协议 & 作者 * 作者:Qi Zhao([zhaoqi99@outlook.com](mailto:zhaoqi99@outlook.com)) * 开源协议:[GNU General Public License v3.0](https://github.com/ZhaoQi99/School_Notice/blob/master/LICENSE) \ No newline at end of file From d5db958f4c55b501848ccd289455747d00015cdc Mon Sep 17 00:00:00 2001 From: Qi Zhao Date: Mon, 24 Dec 2018 15:12:25 +0800 Subject: [PATCH 09/15] refactor: merge file storge and mysql storge --- src/configs.py | 28 +- src/main.py | 14 +- src/send.py | 22 +- src/spider.py | 124 +- src/tool.py | 10 +- twilio/__init__.py | 3 - twilio/__pycache__/__init__.cpython-36.pyc | Bin 242 -> 0 bytes twilio/__pycache__/compat.cpython-36.pyc | Bin 454 -> 0 bytes .../request_validator.cpython-36.pyc | Bin 2759 -> 0 bytes twilio/base/__init__.py | 0 .../base/__pycache__/__init__.cpython-36.pyc | Bin 167 -> 0 bytes .../__pycache__/deserialize.cpython-36.pyc | Bin 2101 -> 0 bytes twilio/base/__pycache__/domain.cpython-36.pyc | Bin 1791 -> 0 bytes .../__pycache__/exceptions.cpython-36.pyc | Bin 2827 -> 0 bytes .../instance_context.cpython-36.pyc | Bin 526 -> 0 bytes .../instance_resource.cpython-36.pyc | Bin 529 -> 0 bytes .../__pycache__/list_resource.cpython-36.pyc | Bin 517 -> 0 bytes .../base/__pycache__/obsolete.cpython-36.pyc | Bin 1025 -> 0 bytes twilio/base/__pycache__/page.cpython-36.pyc | Bin 4130 -> 0 bytes .../base/__pycache__/serialize.cpython-36.pyc | Bin 2415 -> 0 bytes twilio/base/__pycache__/values.cpython-36.pyc | Bin 608 -> 0 bytes .../base/__pycache__/version.cpython-36.pyc | Bin 5010 -> 0 bytes twilio/base/deserialize.py | 69 -- twilio/base/domain.py | 48 - twilio/base/exceptions.py | 68 -- twilio/base/instance_context.py | 8 - twilio/base/instance_resource.py | 8 - twilio/base/list_resource.py | 7 - twilio/base/obsolete.py | 23 - twilio/base/page.py | 136 --- twilio/base/serialize.py | 75 -- twilio/base/values.py | 12 - twilio/base/version.py | 211 ---- twilio/compat.py | 17 - twilio/http/__init__.py | 13 - .../http/__pycache__/__init__.cpython-36.pyc | Bin 744 -> 0 bytes .../__pycache__/http_client.cpython-36.pyc | Bin 2646 -> 0 bytes .../http/__pycache__/request.cpython-36.pyc | Bin 2184 -> 0 bytes .../http/__pycache__/response.cpython-36.pyc | Bin 822 -> 0 bytes .../validation_client.cpython-36.pyc | Bin 3780 -> 0 bytes twilio/http/http_client.py | 75 -- twilio/http/request.py | 77 -- twilio/http/response.py | 16 - twilio/http/validation_client.py | 95 -- twilio/jwt/__init__.py | 155 --- .../jwt/__pycache__/__init__.cpython-36.pyc | Bin 4317 -> 0 bytes twilio/jwt/__pycache__/compat.cpython-36.pyc | Bin 926 -> 0 bytes twilio/jwt/access_token/__init__.py | 65 -- .../__pycache__/__init__.cpython-36.pyc | Bin 3016 -> 0 bytes .../__pycache__/grants.cpython-36.pyc | Bin 5893 -> 0 bytes twilio/jwt/access_token/grants.py | 191 --- twilio/jwt/client/__init__.py | 105 -- .../__pycache__/__init__.cpython-36.pyc | Bin 4443 -> 0 bytes twilio/jwt/compat.py | 25 - twilio/jwt/taskrouter/__init__.py | 134 --- .../__pycache__/__init__.cpython-36.pyc | Bin 5832 -> 0 bytes .../__pycache__/capabilities.cpython-36.pyc | Bin 5322 -> 0 bytes twilio/jwt/taskrouter/capabilities.py | 112 -- twilio/jwt/validation/__init__.py | 88 -- .../__pycache__/__init__.cpython-36.pyc | Bin 3077 -> 0 bytes twilio/request_validator.py | 79 -- twilio/rest/__init__.py | 599 ---------- .../rest/__pycache__/__init__.cpython-36.pyc | Bin 18035 -> 0 bytes twilio/rest/accounts/__init__.py | 53 - .../__pycache__/__init__.cpython-36.pyc | Bin 1635 -> 0 bytes twilio/rest/accounts/v1/__init__.py | 42 - .../v1/__pycache__/__init__.cpython-36.pyc | Bin 1423 -> 0 bytes .../rest/accounts/v1/credential/__init__.py | 133 --- .../__pycache__/__init__.cpython-36.pyc | Bin 4479 -> 0 bytes .../credential/__pycache__/aws.cpython-36.pyc | Bin 13728 -> 0 bytes .../__pycache__/public_key.cpython-36.pyc | Bin 14909 -> 0 bytes twilio/rest/accounts/v1/credential/aws.py | 412 ------- .../rest/accounts/v1/credential/public_key.py | 412 ------- twilio/rest/api/__init__.py | 222 ---- .../api/__pycache__/__init__.cpython-36.pyc | Bin 6794 -> 0 bytes twilio/rest/api/v2010/__init__.py | 224 ---- .../v2010/__pycache__/__init__.cpython-36.pyc | Bin 7029 -> 0 bytes twilio/rest/api/v2010/account/__init__.py | 1017 ---------------- .../__pycache__/__init__.cpython-36.pyc | Bin 34558 -> 0 bytes .../__pycache__/application.cpython-36.pyc | Bin 23267 -> 0 bytes .../authorized_connect_app.cpython-36.pyc | Bin 15464 -> 0 bytes .../__pycache__/connect_app.cpython-36.pyc | Bin 17461 -> 0 bytes .../account/__pycache__/key.cpython-36.pyc | Bin 13028 -> 0 bytes .../__pycache__/new_key.cpython-36.pyc | Bin 5588 -> 0 bytes .../new_signing_key.cpython-36.pyc | Bin 5916 -> 0 bytes .../__pycache__/notification.cpython-36.pyc | Bin 17600 -> 0 bytes .../outgoing_caller_id.cpython-36.pyc | Bin 16001 -> 0 bytes .../__pycache__/short_code.cpython-36.pyc | Bin 16992 -> 0 bytes .../__pycache__/signing_key.cpython-36.pyc | Bin 13825 -> 0 bytes .../account/__pycache__/token.cpython-36.pyc | Bin 6170 -> 0 bytes .../__pycache__/transcription.cpython-36.pyc | Bin 15844 -> 0 bytes .../validation_request.cpython-36.pyc | Bin 6480 -> 0 bytes .../api/v2010/account/address/__init__.py | 612 ---------- .../__pycache__/__init__.cpython-36.pyc | Bin 19464 -> 0 bytes .../dependent_phone_number.cpython-36.pyc | Bin 15577 -> 0 bytes .../account/address/dependent_phone_number.py | 444 ------- twilio/rest/api/v2010/account/application.py | 667 ----------- .../v2010/account/authorized_connect_app.py | 405 ------- .../available_phone_number/__init__.py | 553 --------- .../__pycache__/__init__.cpython-36.pyc | Bin 20862 -> 0 bytes .../__pycache__/local.cpython-36.pyc | Bin 15330 -> 0 bytes .../machine_to_machine.cpython-36.pyc | Bin 16085 -> 0 bytes .../__pycache__/mobile.cpython-36.pyc | Bin 15396 -> 0 bytes .../__pycache__/national.cpython-36.pyc | Bin 15528 -> 0 bytes .../__pycache__/shared_cost.cpython-36.pyc | Bin 15673 -> 0 bytes .../__pycache__/toll_free.cpython-36.pyc | Bin 15541 -> 0 bytes .../__pycache__/voip.cpython-36.pyc | Bin 15264 -> 0 bytes .../account/available_phone_number/local.py | 462 -------- .../machine_to_machine.py | 462 -------- .../account/available_phone_number/mobile.py | 462 -------- .../available_phone_number/national.py | 462 -------- .../available_phone_number/shared_cost.py | 462 -------- .../available_phone_number/toll_free.py | 462 -------- .../account/available_phone_number/voip.py | 462 -------- .../rest/api/v2010/account/call/__init__.py | 891 -------------- .../call/__pycache__/__init__.cpython-36.pyc | Bin 30912 -> 0 bytes .../call/__pycache__/feedback.cpython-36.pyc | Bin 12159 -> 0 bytes .../feedback_summary.cpython-36.pyc | Bin 13669 -> 0 bytes .../__pycache__/notification.cpython-36.pyc | Bin 17431 -> 0 bytes .../call/__pycache__/recording.cpython-36.pyc | Bin 17401 -> 0 bytes .../rest/api/v2010/account/call/feedback.py | 364 ------ .../v2010/account/call/feedback_summary.py | 396 ------- .../api/v2010/account/call/notification.py | 531 --------- .../rest/api/v2010/account/call/recording.py | 530 --------- .../api/v2010/account/conference/__init__.py | 535 --------- .../__pycache__/__init__.cpython-36.pyc | Bin 18752 -> 0 bytes .../__pycache__/participant.cpython-36.pyc | Bin 22392 -> 0 bytes .../v2010/account/conference/participant.py | 633 ---------- twilio/rest/api/v2010/account/connect_app.py | 474 -------- .../account/incoming_phone_number/__init__.py | 939 --------------- .../__pycache__/__init__.cpython-36.pyc | Bin 33923 -> 0 bytes .../__pycache__/local.cpython-36.pyc | Bin 17384 -> 0 bytes .../__pycache__/mobile.cpython-36.pyc | Bin 17472 -> 0 bytes .../__pycache__/toll_free.cpython-36.pyc | Bin 17662 -> 0 bytes .../assigned_add_on/__init__.py | 496 -------- .../__pycache__/__init__.cpython-36.pyc | Bin 18430 -> 0 bytes .../assigned_add_on_extension.cpython-36.pyc | Bin 17164 -> 0 bytes .../assigned_add_on_extension.py | 424 ------- .../account/incoming_phone_number/local.py | 554 --------- .../account/incoming_phone_number/mobile.py | 554 --------- .../incoming_phone_number/toll_free.py | 554 --------- twilio/rest/api/v2010/account/key.py | 385 ------ .../api/v2010/account/message/__init__.py | 716 ------------ .../__pycache__/__init__.cpython-36.pyc | Bin 23690 -> 0 bytes .../__pycache__/feedback.cpython-36.pyc | Bin 6304 -> 0 bytes .../message/__pycache__/media.cpython-36.pyc | Bin 14701 -> 0 bytes .../api/v2010/account/message/feedback.py | 201 ---- .../rest/api/v2010/account/message/media.py | 432 ------- twilio/rest/api/v2010/account/new_key.py | 176 --- .../rest/api/v2010/account/new_signing_key.py | 176 --- twilio/rest/api/v2010/account/notification.py | 507 -------- .../api/v2010/account/outgoing_caller_id.py | 436 ------- .../rest/api/v2010/account/queue/__init__.py | 482 -------- .../queue/__pycache__/__init__.cpython-36.pyc | Bin 16178 -> 0 bytes .../queue/__pycache__/member.cpython-36.pyc | Bin 13710 -> 0 bytes twilio/rest/api/v2010/account/queue/member.py | 403 ------- .../api/v2010/account/recording/__init__.py | 588 ---------- .../__pycache__/__init__.cpython-36.pyc | Bin 20324 -> 0 bytes .../__pycache__/transcription.cpython-36.pyc | Bin 16000 -> 0 bytes .../recording/add_on_result/__init__.py | 469 -------- .../__pycache__/__init__.cpython-36.pyc | Bin 16714 -> 0 bytes .../add_on_result/payload/__init__.py | 456 -------- .../__pycache__/__init__.cpython-36.pyc | Bin 15915 -> 0 bytes .../v2010/account/recording/transcription.py | 460 -------- twilio/rest/api/v2010/account/short_code.py | 487 -------- twilio/rest/api/v2010/account/signing_key.py | 385 ------ twilio/rest/api/v2010/account/sip/__init__.py | 156 --- .../sip/__pycache__/__init__.cpython-36.pyc | Bin 5284 -> 0 bytes .../account/sip/credential_list/__init__.py | 461 -------- .../__pycache__/__init__.cpython-36.pyc | Bin 16723 -> 0 bytes .../__pycache__/credential.cpython-36.pyc | Bin 15897 -> 0 bytes .../account/sip/credential_list/credential.py | 467 -------- .../api/v2010/account/sip/domain/__init__.py | 649 ----------- .../__pycache__/__init__.cpython-36.pyc | Bin 22366 -> 0 bytes .../credential_list_mapping.cpython-36.pyc | Bin 15936 -> 0 bytes ...access_control_list_mapping.cpython-36.pyc | Bin 16548 -> 0 bytes .../sip/domain/credential_list_mapping.py | 425 ------- .../domain/ip_access_control_list_mapping.py | 425 ------- .../sip/ip_access_control_list/__init__.py | 469 -------- .../__pycache__/__init__.cpython-36.pyc | Bin 17586 -> 0 bytes .../__pycache__/ip_address.cpython-36.pyc | Bin 16492 -> 0 bytes .../sip/ip_access_control_list/ip_address.py | 481 -------- twilio/rest/api/v2010/account/token.py | 194 ---- .../rest/api/v2010/account/transcription.py | 436 ------- .../rest/api/v2010/account/usage/__init__.py | 135 --- .../usage/__pycache__/__init__.cpython-36.pyc | Bin 4661 -> 0 bytes .../usage/__pycache__/trigger.cpython-36.pyc | Bin 33312 -> 0 bytes .../v2010/account/usage/record/__init__.py | 694 ----------- .../__pycache__/__init__.cpython-36.pyc | Bin 29170 -> 0 bytes .../__pycache__/all_time.cpython-36.pyc | Bin 24967 -> 0 bytes .../record/__pycache__/daily.cpython-36.pyc | Bin 24810 -> 0 bytes .../__pycache__/last_month.cpython-36.pyc | Bin 25111 -> 0 bytes .../record/__pycache__/monthly.cpython-36.pyc | Bin 24954 -> 0 bytes .../__pycache__/this_month.cpython-36.pyc | Bin 25111 -> 0 bytes .../record/__pycache__/today.cpython-36.pyc | Bin 24810 -> 0 bytes .../record/__pycache__/yearly.cpython-36.pyc | Bin 24882 -> 0 bytes .../__pycache__/yesterday.cpython-36.pyc | Bin 25098 -> 0 bytes .../v2010/account/usage/record/all_time.py | 580 ---------- .../api/v2010/account/usage/record/daily.py | 580 ---------- .../v2010/account/usage/record/last_month.py | 580 ---------- .../api/v2010/account/usage/record/monthly.py | 580 ---------- .../v2010/account/usage/record/this_month.py | 580 ---------- .../api/v2010/account/usage/record/today.py | 580 ---------- .../api/v2010/account/usage/record/yearly.py | 580 ---------- .../v2010/account/usage/record/yesterday.py | 580 ---------- .../rest/api/v2010/account/usage/trigger.py | 813 ------------- .../api/v2010/account/validation_request.py | 190 --- twilio/rest/chat/__init__.py | 72 -- .../chat/__pycache__/__init__.cpython-36.pyc | Bin 2045 -> 0 bytes twilio/rest/chat/v1/__init__.py | 53 - .../v1/__pycache__/__init__.cpython-36.pyc | Bin 1690 -> 0 bytes .../v1/__pycache__/credential.cpython-36.pyc | Bin 15758 -> 0 bytes twilio/rest/chat/v1/credential.py | 472 -------- twilio/rest/chat/v1/service/__init__.py | 1027 ----------------- .../__pycache__/__init__.cpython-36.pyc | Bin 38419 -> 0 bytes .../service/__pycache__/role.cpython-36.pyc | Bin 15148 -> 0 bytes .../rest/chat/v1/service/channel/__init__.py | 616 ---------- .../__pycache__/__init__.cpython-36.pyc | Bin 19659 -> 0 bytes .../channel/__pycache__/invite.cpython-36.pyc | Bin 15086 -> 0 bytes .../channel/__pycache__/member.cpython-36.pyc | Bin 16560 -> 0 bytes .../__pycache__/message.cpython-36.pyc | Bin 16970 -> 0 bytes twilio/rest/chat/v1/service/channel/invite.py | 462 -------- twilio/rest/chat/v1/service/channel/member.py | 514 --------- .../rest/chat/v1/service/channel/message.py | 531 --------- twilio/rest/chat/v1/service/role.py | 460 -------- twilio/rest/chat/v1/service/user/__init__.py | 539 --------- .../user/__pycache__/__init__.cpython-36.pyc | Bin 17067 -> 0 bytes .../__pycache__/user_channel.cpython-36.pyc | Bin 10037 -> 0 bytes .../rest/chat/v1/service/user/user_channel.py | 277 ----- twilio/rest/chat/v2/__init__.py | 53 - .../v2/__pycache__/__init__.cpython-36.pyc | Bin 1690 -> 0 bytes .../v2/__pycache__/credential.cpython-36.pyc | Bin 15758 -> 0 bytes twilio/rest/chat/v2/credential.py | 472 -------- twilio/rest/chat/v2/service/__init__.py | 835 -------------- .../__pycache__/__init__.cpython-36.pyc | Bin 28723 -> 0 bytes .../__pycache__/binding.cpython-36.pyc | Bin 15179 -> 0 bytes .../service/__pycache__/role.cpython-36.pyc | Bin 15148 -> 0 bytes twilio/rest/chat/v2/service/binding.py | 448 ------- .../rest/chat/v2/service/channel/__init__.py | 638 ---------- .../__pycache__/__init__.cpython-36.pyc | Bin 20375 -> 0 bytes .../channel/__pycache__/invite.cpython-36.pyc | Bin 15086 -> 0 bytes .../channel/__pycache__/member.cpython-36.pyc | Bin 17518 -> 0 bytes .../__pycache__/message.cpython-36.pyc | Bin 18522 -> 0 bytes twilio/rest/chat/v2/service/channel/invite.py | 462 -------- twilio/rest/chat/v2/service/channel/member.py | 547 --------- .../rest/chat/v2/service/channel/message.py | 596 ---------- twilio/rest/chat/v2/service/role.py | 460 -------- twilio/rest/chat/v2/service/user/__init__.py | 567 --------- .../user/__pycache__/__init__.cpython-36.pyc | Bin 17938 -> 0 bytes .../__pycache__/user_binding.cpython-36.pyc | Bin 15786 -> 0 bytes .../__pycache__/user_channel.cpython-36.pyc | Bin 10037 -> 0 bytes .../rest/chat/v2/service/user/user_binding.py | 460 -------- .../rest/chat/v2/service/user/user_channel.py | 277 ----- twilio/rest/fax/__init__.py | 53 - .../fax/__pycache__/__init__.cpython-36.pyc | Bin 1529 -> 0 bytes twilio/rest/fax/v1/__init__.py | 42 - .../v1/__pycache__/__init__.cpython-36.pyc | Bin 1342 -> 0 bytes twilio/rest/fax/v1/fax/__init__.py | 628 ---------- .../fax/__pycache__/__init__.cpython-36.pyc | Bin 20308 -> 0 bytes .../fax/__pycache__/fax_media.cpython-36.pyc | Bin 13648 -> 0 bytes twilio/rest/fax/v1/fax/fax_media.py | 381 ------ twilio/rest/ip_messaging/__init__.py | 72 -- .../__pycache__/__init__.cpython-36.pyc | Bin 2194 -> 0 bytes twilio/rest/ip_messaging/v1/__init__.py | 53 - .../v1/__pycache__/__init__.cpython-36.pyc | Bin 1743 -> 0 bytes .../v1/__pycache__/credential.cpython-36.pyc | Bin 15794 -> 0 bytes twilio/rest/ip_messaging/v1/credential.py | 472 -------- .../rest/ip_messaging/v1/service/__init__.py | 1027 ----------------- .../__pycache__/__init__.cpython-36.pyc | Bin 38479 -> 0 bytes .../service/__pycache__/role.cpython-36.pyc | Bin 15184 -> 0 bytes .../v1/service/channel/__init__.py | 616 ---------- .../__pycache__/__init__.cpython-36.pyc | Bin 19719 -> 0 bytes .../channel/__pycache__/invite.cpython-36.pyc | Bin 15122 -> 0 bytes .../channel/__pycache__/member.cpython-36.pyc | Bin 16596 -> 0 bytes .../__pycache__/message.cpython-36.pyc | Bin 17006 -> 0 bytes .../ip_messaging/v1/service/channel/invite.py | 462 -------- .../ip_messaging/v1/service/channel/member.py | 514 --------- .../v1/service/channel/message.py | 531 --------- twilio/rest/ip_messaging/v1/service/role.py | 460 -------- .../ip_messaging/v1/service/user/__init__.py | 539 --------- .../user/__pycache__/__init__.cpython-36.pyc | Bin 17111 -> 0 bytes .../__pycache__/user_channel.cpython-36.pyc | Bin 10066 -> 0 bytes .../v1/service/user/user_channel.py | 277 ----- twilio/rest/ip_messaging/v2/__init__.py | 53 - .../v2/__pycache__/__init__.cpython-36.pyc | Bin 1743 -> 0 bytes .../v2/__pycache__/credential.cpython-36.pyc | Bin 15794 -> 0 bytes twilio/rest/ip_messaging/v2/credential.py | 472 -------- .../rest/ip_messaging/v2/service/__init__.py | 835 -------------- .../__pycache__/__init__.cpython-36.pyc | Bin 28791 -> 0 bytes .../__pycache__/binding.cpython-36.pyc | Bin 15215 -> 0 bytes .../service/__pycache__/role.cpython-36.pyc | Bin 15184 -> 0 bytes .../rest/ip_messaging/v2/service/binding.py | 448 ------- .../v2/service/channel/__init__.py | 638 ---------- .../__pycache__/__init__.cpython-36.pyc | Bin 20435 -> 0 bytes .../channel/__pycache__/invite.cpython-36.pyc | Bin 15122 -> 0 bytes .../channel/__pycache__/member.cpython-36.pyc | Bin 17554 -> 0 bytes .../__pycache__/message.cpython-36.pyc | Bin 18558 -> 0 bytes .../ip_messaging/v2/service/channel/invite.py | 462 -------- .../ip_messaging/v2/service/channel/member.py | 547 --------- .../v2/service/channel/message.py | 596 ---------- twilio/rest/ip_messaging/v2/service/role.py | 460 -------- .../ip_messaging/v2/service/user/__init__.py | 567 --------- .../user/__pycache__/__init__.cpython-36.pyc | Bin 17990 -> 0 bytes .../__pycache__/user_binding.cpython-36.pyc | Bin 15822 -> 0 bytes .../__pycache__/user_channel.cpython-36.pyc | Bin 10066 -> 0 bytes .../v2/service/user/user_binding.py | 460 -------- .../v2/service/user/user_channel.py | 277 ----- twilio/rest/lookups/__init__.py | 53 - .../__pycache__/__init__.cpython-36.pyc | Bin 1626 -> 0 bytes twilio/rest/lookups/v1/__init__.py | 42 - .../v1/__pycache__/__init__.cpython-36.pyc | Bin 1428 -> 0 bytes .../__pycache__/phone_number.cpython-36.pyc | Bin 10211 -> 0 bytes twilio/rest/lookups/v1/phone_number.py | 301 ----- twilio/rest/messaging/__init__.py | 53 - .../__pycache__/__init__.cpython-36.pyc | Bin 1639 -> 0 bytes twilio/rest/messaging/v1/__init__.py | 42 - .../v1/__pycache__/__init__.cpython-36.pyc | Bin 1409 -> 0 bytes twilio/rest/messaging/v1/service/__init__.py | 716 ------------ .../__pycache__/__init__.cpython-36.pyc | Bin 23779 -> 0 bytes .../__pycache__/alpha_sender.cpython-36.pyc | Bin 14803 -> 0 bytes .../__pycache__/phone_number.cpython-36.pyc | Bin 15068 -> 0 bytes .../__pycache__/short_code.cpython-36.pyc | Bin 14831 -> 0 bytes .../rest/messaging/v1/service/alpha_sender.py | 409 ------- .../rest/messaging/v1/service/phone_number.py | 418 ------- .../rest/messaging/v1/service/short_code.py | 418 ------- twilio/rest/monitor/__init__.py | 60 - .../__pycache__/__init__.cpython-36.pyc | Bin 1789 -> 0 bytes twilio/rest/monitor/v1/__init__.py | 53 - .../v1/__pycache__/__init__.cpython-36.pyc | Bin 1668 -> 0 bytes .../v1/__pycache__/alert.cpython-36.pyc | Bin 15450 -> 0 bytes .../v1/__pycache__/event.cpython-36.pyc | Bin 14847 -> 0 bytes twilio/rest/monitor/v1/alert.py | 486 -------- twilio/rest/monitor/v1/event.py | 465 -------- twilio/rest/notify/__init__.py | 60 - .../__pycache__/__init__.cpython-36.pyc | Bin 1799 -> 0 bytes twilio/rest/notify/v1/__init__.py | 53 - .../v1/__pycache__/__init__.cpython-36.pyc | Bin 1708 -> 0 bytes .../v1/__pycache__/credential.cpython-36.pyc | Bin 16239 -> 0 bytes twilio/rest/notify/v1/credential.py | 476 -------- twilio/rest/notify/v1/service/__init__.py | 719 ------------ .../__pycache__/__init__.cpython-36.pyc | Bin 24312 -> 0 bytes .../__pycache__/binding.cpython-36.pyc | Bin 17614 -> 0 bytes .../__pycache__/notification.cpython-36.pyc | Bin 11036 -> 0 bytes .../__pycache__/segment.cpython-36.pyc | Bin 9119 -> 0 bytes twilio/rest/notify/v1/service/binding.py | 524 --------- twilio/rest/notify/v1/service/notification.py | 358 ------ twilio/rest/notify/v1/service/segment.py | 250 ---- .../rest/notify/v1/service/user/__init__.py | 493 -------- .../user/__pycache__/__init__.cpython-36.pyc | Bin 16742 -> 0 bytes .../segment_memberships.cpython-36.pyc | Bin 11315 -> 0 bytes .../__pycache__/user_binding.cpython-36.pyc | Bin 18203 -> 0 bytes .../v1/service/user/segment_memberships.py | 329 ------ .../notify/v1/service/user/user_binding.py | 540 --------- twilio/rest/preview/__init__.py | 238 ---- .../__pycache__/__init__.cpython-36.pyc | Bin 7342 -> 0 bytes twilio/rest/preview/acc_security/__init__.py | 42 - .../__pycache__/__init__.cpython-36.pyc | Bin 1526 -> 0 bytes .../preview/acc_security/service/__init__.py | 466 -------- .../__pycache__/__init__.cpython-36.pyc | Bin 17130 -> 0 bytes .../__pycache__/verification.cpython-36.pyc | Bin 7849 -> 0 bytes .../verification_check.cpython-36.pyc | Bin 8034 -> 0 bytes .../acc_security/service/verification.py | 224 ---- .../service/verification_check.py | 223 ---- twilio/rest/preview/bulk_exports/__init__.py | 53 - .../__pycache__/__init__.cpython-36.pyc | Bin 1926 -> 0 bytes .../export_configuration.cpython-36.pyc | Bin 11368 -> 0 bytes .../preview/bulk_exports/export/__init__.py | 262 ----- .../__pycache__/__init__.cpython-36.pyc | Bin 9316 -> 0 bytes .../export/__pycache__/day.cpython-36.pyc | Bin 8855 -> 0 bytes .../rest/preview/bulk_exports/export/day.py | 235 ---- .../bulk_exports/export_configuration.py | 301 ----- .../rest/preview/deployed_devices/__init__.py | 42 - .../__pycache__/__init__.cpython-36.pyc | Bin 1555 -> 0 bytes .../deployed_devices/fleet/__init__.py | 545 --------- .../fleet/__pycache__/__init__.cpython-36.pyc | Bin 19342 -> 0 bytes .../__pycache__/certificate.cpython-36.pyc | Bin 17896 -> 0 bytes .../__pycache__/deployment.cpython-36.pyc | Bin 17102 -> 0 bytes .../fleet/__pycache__/device.cpython-36.pyc | Bin 18430 -> 0 bytes .../fleet/__pycache__/key.cpython-36.pyc | Bin 16695 -> 0 bytes .../deployed_devices/fleet/certificate.py | 474 -------- .../deployed_devices/fleet/deployment.py | 451 -------- .../preview/deployed_devices/fleet/device.py | 522 --------- .../preview/deployed_devices/fleet/key.py | 468 -------- .../rest/preview/hosted_numbers/__init__.py | 53 - .../__pycache__/__init__.cpython-36.pyc | Bin 2062 -> 0 bytes .../hosted_number_order.cpython-36.pyc | Bin 26799 -> 0 bytes .../authorization_document/__init__.py | 506 -------- .../__pycache__/__init__.cpython-36.pyc | Bin 20389 -> 0 bytes ...pendent_hosted_number_order.cpython-36.pyc | Bin 18094 -> 0 bytes .../dependent_hosted_number_order.py | 461 -------- .../hosted_numbers/hosted_number_order.py | 717 ------------ twilio/rest/preview/marketplace/__init__.py | 53 - .../__pycache__/__init__.cpython-36.pyc | Bin 1967 -> 0 bytes .../marketplace/available_add_on/__init__.py | 383 ------ .../__pycache__/__init__.cpython-36.pyc | Bin 15128 -> 0 bytes .../available_add_on_extension.cpython-36.pyc | Bin 15496 -> 0 bytes .../available_add_on_extension.py | 372 ------ .../marketplace/installed_add_on/__init__.py | 490 -------- .../__pycache__/__init__.cpython-36.pyc | Bin 18843 -> 0 bytes .../installed_add_on_extension.cpython-36.pyc | Bin 16886 -> 0 bytes .../installed_add_on_extension.py | 416 ------- twilio/rest/preview/proxy/__init__.py | 42 - .../proxy/__pycache__/__init__.cpython-36.pyc | Bin 1435 -> 0 bytes twilio/rest/preview/proxy/service/__init__.py | 535 --------- .../__pycache__/__init__.cpython-36.pyc | Bin 18787 -> 0 bytes .../__pycache__/phone_number.cpython-36.pyc | Bin 15667 -> 0 bytes .../__pycache__/short_code.cpython-36.pyc | Bin 15436 -> 0 bytes .../preview/proxy/service/phone_number.py | 422 ------- .../preview/proxy/service/session/__init__.py | 589 ---------- .../__pycache__/__init__.cpython-36.pyc | Bin 20751 -> 0 bytes .../__pycache__/interaction.cpython-36.pyc | Bin 19518 -> 0 bytes .../proxy/service/session/interaction.py | 537 --------- .../service/session/participant/__init__.py | 595 ---------- .../__pycache__/__init__.cpython-36.pyc | Bin 20956 -> 0 bytes .../message_interaction.cpython-36.pyc | Bin 21150 -> 0 bytes .../participant/message_interaction.py | 567 --------- .../rest/preview/proxy/service/short_code.py | 422 ------- twilio/rest/preview/studio/__init__.py | 42 - .../__pycache__/__init__.cpython-36.pyc | Bin 1427 -> 0 bytes twilio/rest/preview/studio/flow/__init__.py | 430 ------- .../flow/__pycache__/__init__.cpython-36.pyc | Bin 15081 -> 0 bytes .../studio/flow/engagement/__init__.py | 458 -------- .../__pycache__/__init__.cpython-36.pyc | Bin 16482 -> 0 bytes .../__pycache__/step.cpython-36.pyc | Bin 14808 -> 0 bytes .../preview/studio/flow/engagement/step.py | 427 ------- twilio/rest/preview/sync/__init__.py | 42 - .../sync/__pycache__/__init__.cpython-36.pyc | Bin 1422 -> 0 bytes twilio/rest/preview/sync/service/__init__.py | 553 --------- .../__pycache__/__init__.cpython-36.pyc | Bin 18711 -> 0 bytes .../preview/sync/service/document/__init__.py | 507 -------- .../__pycache__/__init__.cpython-36.pyc | Bin 17463 -> 0 bytes .../document_permission.cpython-36.pyc | Bin 17357 -> 0 bytes .../service/document/document_permission.py | 457 -------- .../sync/service/sync_list/__init__.py | 489 -------- .../__pycache__/__init__.cpython-36.pyc | Bin 17311 -> 0 bytes .../__pycache__/sync_list_item.cpython-36.pyc | Bin 18425 -> 0 bytes .../sync_list_permission.cpython-36.pyc | Bin 17333 -> 0 bytes .../sync/service/sync_list/sync_list_item.py | 524 --------- .../service/sync_list/sync_list_permission.py | 457 -------- .../preview/sync/service/sync_map/__init__.py | 489 -------- .../__pycache__/__init__.cpython-36.pyc | Bin 17147 -> 0 bytes .../__pycache__/sync_map_item.cpython-36.pyc | Bin 18278 -> 0 bytes .../sync_map_permission.cpython-36.pyc | Bin 17179 -> 0 bytes .../sync/service/sync_map/sync_map_item.py | 525 --------- .../service/sync_map/sync_map_permission.py | 457 -------- twilio/rest/preview/understand/__init__.py | 42 - .../__pycache__/__init__.cpython-36.pyc | Bin 1507 -> 0 bytes .../preview/understand/service/__init__.py | 583 ---------- .../__pycache__/__init__.cpython-36.pyc | Bin 19819 -> 0 bytes .../__pycache__/model_build.cpython-36.pyc | Bin 16554 -> 0 bytes .../service/__pycache__/query.cpython-36.pyc | Bin 17489 -> 0 bytes .../understand/service/field_type/__init__.py | 490 -------- .../__pycache__/__init__.cpython-36.pyc | Bin 17472 -> 0 bytes .../__pycache__/field_value.cpython-36.pyc | Bin 16338 -> 0 bytes .../service/field_type/field_value.py | 460 -------- .../understand/service/intent/__init__.py | 518 --------- .../__pycache__/__init__.cpython-36.pyc | Bin 17815 -> 0 bytes .../intent/__pycache__/field.cpython-36.pyc | Bin 15469 -> 0 bytes .../intent/__pycache__/sample.cpython-36.pyc | Bin 16815 -> 0 bytes .../understand/service/intent/field.py | 452 -------- .../understand/service/intent/sample.py | 498 -------- .../preview/understand/service/model_build.py | 456 -------- .../rest/preview/understand/service/query.py | 529 --------- twilio/rest/preview/wireless/__init__.py | 64 - .../__pycache__/__init__.cpython-36.pyc | Bin 2101 -> 0 bytes .../__pycache__/command.cpython-36.pyc | Bin 15601 -> 0 bytes .../__pycache__/rate_plan.cpython-36.pyc | Bin 17910 -> 0 bytes twilio/rest/preview/wireless/command.py | 462 -------- twilio/rest/preview/wireless/rate_plan.py | 513 -------- twilio/rest/preview/wireless/sim/__init__.py | 671 ----------- .../sim/__pycache__/__init__.cpython-36.pyc | Bin 21262 -> 0 bytes .../sim/__pycache__/usage.cpython-36.pyc | Bin 10098 -> 0 bytes twilio/rest/preview/wireless/sim/usage.py | 294 ----- twilio/rest/pricing/__init__.py | 67 -- .../__pycache__/__init__.cpython-36.pyc | Bin 2018 -> 0 bytes twilio/rest/pricing/v1/__init__.py | 64 - .../v1/__pycache__/__init__.cpython-36.pyc | Bin 2024 -> 0 bytes twilio/rest/pricing/v1/messaging/__init__.py | 146 --- .../__pycache__/__init__.cpython-36.pyc | Bin 4662 -> 0 bytes .../__pycache__/country.cpython-36.pyc | Bin 12152 -> 0 bytes twilio/rest/pricing/v1/messaging/country.py | 337 ------ .../rest/pricing/v1/phone_number/__init__.py | 146 --- .../__pycache__/__init__.cpython-36.pyc | Bin 4759 -> 0 bytes .../__pycache__/country.cpython-36.pyc | Bin 11973 -> 0 bytes .../rest/pricing/v1/phone_number/country.py | 328 ------ twilio/rest/pricing/v1/voice/__init__.py | 160 --- .../voice/__pycache__/__init__.cpython-36.pyc | Bin 4911 -> 0 bytes .../voice/__pycache__/country.cpython-36.pyc | Bin 12065 -> 0 bytes .../voice/__pycache__/number.cpython-36.pyc | Bin 8552 -> 0 bytes twilio/rest/pricing/v1/voice/country.py | 337 ------ twilio/rest/pricing/v1/voice/number.py | 264 ----- twilio/rest/proxy/__init__.py | 53 - .../proxy/__pycache__/__init__.cpython-36.pyc | Bin 1575 -> 0 bytes twilio/rest/proxy/v1/__init__.py | 42 - .../v1/__pycache__/__init__.cpython-36.pyc | Bin 1381 -> 0 bytes twilio/rest/proxy/v1/service/__init__.py | 610 ---------- .../__pycache__/__init__.cpython-36.pyc | Bin 21504 -> 0 bytes .../__pycache__/phone_number.cpython-36.pyc | Bin 15554 -> 0 bytes .../__pycache__/short_code.cpython-36.pyc | Bin 14948 -> 0 bytes twilio/rest/proxy/v1/service/phone_number.py | 428 ------- .../rest/proxy/v1/service/session/__init__.py | 644 ----------- .../__pycache__/__init__.cpython-36.pyc | Bin 22104 -> 0 bytes .../__pycache__/interaction.cpython-36.pyc | Bin 19911 -> 0 bytes .../proxy/v1/service/session/interaction.py | 566 --------- .../service/session/participant/__init__.py | 585 ---------- .../__pycache__/__init__.cpython-36.pyc | Bin 20013 -> 0 bytes .../message_interaction.cpython-36.pyc | Bin 20997 -> 0 bytes .../participant/message_interaction.py | 578 ---------- twilio/rest/proxy/v1/service/short_code.py | 418 ------- twilio/rest/studio/__init__.py | 53 - .../__pycache__/__init__.cpython-36.pyc | Bin 1579 -> 0 bytes twilio/rest/studio/v1/__init__.py | 42 - .../v1/__pycache__/__init__.cpython-36.pyc | Bin 1367 -> 0 bytes twilio/rest/studio/v1/flow/__init__.py | 417 ------- .../flow/__pycache__/__init__.cpython-36.pyc | Bin 14153 -> 0 bytes .../studio/v1/flow/engagement/__init__.py | 454 -------- .../__pycache__/__init__.cpython-36.pyc | Bin 15764 -> 0 bytes .../__pycache__/step.cpython-36.pyc | Bin 14137 -> 0 bytes twilio/rest/studio/v1/flow/engagement/step.py | 423 ------- twilio/rest/sync/__init__.py | 53 - .../sync/__pycache__/__init__.cpython-36.pyc | Bin 1559 -> 0 bytes twilio/rest/sync/v1/__init__.py | 42 - .../v1/__pycache__/__init__.cpython-36.pyc | Bin 1374 -> 0 bytes twilio/rest/sync/v1/service/__init__.py | 582 ---------- .../__pycache__/__init__.cpython-36.pyc | Bin 19158 -> 0 bytes .../rest/sync/v1/service/document/__init__.py | 515 --------- .../__pycache__/__init__.cpython-36.pyc | Bin 17358 -> 0 bytes .../document_permission.cpython-36.pyc | Bin 16841 -> 0 bytes .../service/document/document_permission.py | 453 -------- .../sync/v1/service/sync_list/__init__.py | 530 --------- .../__pycache__/__init__.cpython-36.pyc | Bin 17898 -> 0 bytes .../__pycache__/sync_list_item.cpython-36.pyc | Bin 18362 -> 0 bytes .../sync_list_permission.cpython-36.pyc | Bin 16817 -> 0 bytes .../v1/service/sync_list/sync_list_item.py | 532 --------- .../service/sync_list/sync_list_permission.py | 453 -------- .../rest/sync/v1/service/sync_map/__init__.py | 530 --------- .../__pycache__/__init__.cpython-36.pyc | Bin 17723 -> 0 bytes .../__pycache__/sync_map_item.cpython-36.pyc | Bin 18197 -> 0 bytes .../sync_map_permission.cpython-36.pyc | Bin 16663 -> 0 bytes .../sync/v1/service/sync_map/sync_map_item.py | 533 --------- .../service/sync_map/sync_map_permission.py | 453 -------- .../sync/v1/service/sync_stream/__init__.py | 493 -------- .../__pycache__/__init__.cpython-36.pyc | Bin 17102 -> 0 bytes .../__pycache__/stream_message.cpython-36.pyc | Bin 5642 -> 0 bytes .../v1/service/sync_stream/stream_message.py | 161 --- twilio/rest/taskrouter/__init__.py | 53 - .../__pycache__/__init__.cpython-36.pyc | Bin 1663 -> 0 bytes twilio/rest/taskrouter/v1/__init__.py | 42 - .../v1/__pycache__/__init__.cpython-36.pyc | Bin 1430 -> 0 bytes .../rest/taskrouter/v1/workspace/__init__.py | 796 ------------- .../__pycache__/__init__.cpython-36.pyc | Bin 27148 -> 0 bytes .../__pycache__/activity.cpython-36.pyc | Bin 15546 -> 0 bytes .../__pycache__/event.cpython-36.pyc | Bin 16442 -> 0 bytes .../__pycache__/task_channel.cpython-36.pyc | Bin 13431 -> 0 bytes ...space_cumulative_statistics.cpython-36.pyc | Bin 15657 -> 0 bytes ...kspace_real_time_statistics.cpython-36.pyc | Bin 11398 -> 0 bytes .../workspace_statistics.cpython-36.pyc | Bin 10250 -> 0 bytes .../rest/taskrouter/v1/workspace/activity.py | 461 -------- twilio/rest/taskrouter/v1/workspace/event.py | 507 -------- .../taskrouter/v1/workspace/task/__init__.py | 698 ----------- .../task/__pycache__/__init__.cpython-36.pyc | Bin 21867 -> 0 bytes .../__pycache__/reservation.cpython-36.pyc | Bin 26429 -> 0 bytes .../v1/workspace/task/reservation.py | 743 ------------ .../taskrouter/v1/workspace/task_channel.py | 368 ------ .../v1/workspace/task_queue/__init__.py | 689 ----------- .../__pycache__/__init__.cpython-36.pyc | Bin 23464 -> 0 bytes ...queue_cumulative_statistics.cpython-36.pyc | Bin 16153 -> 0 bytes ..._queue_real_time_statistics.cpython-36.pyc | Bin 12519 -> 0 bytes .../task_queue_statistics.cpython-36.pyc | Bin 11051 -> 0 bytes .../task_queues_statistics.cpython-36.pyc | Bin 11021 -> 0 bytes .../task_queue_cumulative_statistics.py | 443 ------- .../task_queue_real_time_statistics.py | 328 ------ .../task_queue/task_queue_statistics.py | 307 ----- .../task_queue/task_queues_statistics.py | 296 ----- .../v1/workspace/worker/__init__.py | 725 ------------ .../__pycache__/__init__.cpython-36.pyc | Bin 23810 -> 0 bytes .../__pycache__/reservation.cpython-36.pyc | Bin 26497 -> 0 bytes .../__pycache__/worker_channel.cpython-36.pyc | Bin 16565 -> 0 bytes .../worker_statistics.cpython-36.pyc | Bin 10257 -> 0 bytes ...rkers_cumulative_statistics.cpython-36.pyc | Bin 12904 -> 0 bytes ...orkers_real_time_statistics.cpython-36.pyc | Bin 10299 -> 0 bytes .../workers_statistics.cpython-36.pyc | Bin 10556 -> 0 bytes .../v1/workspace/worker/reservation.py | 743 ------------ .../v1/workspace/worker/worker_channel.py | 475 -------- .../v1/workspace/worker/worker_statistics.py | 292 ----- .../worker/workers_cumulative_statistics.py | 348 ------ .../worker/workers_real_time_statistics.py | 266 ----- .../v1/workspace/worker/workers_statistics.py | 294 ----- .../v1/workspace/workflow/__init__.py | 618 ---------- .../__pycache__/__init__.cpython-36.pyc | Bin 21167 -> 0 bytes ...kflow_cumulative_statistics.cpython-36.pyc | Bin 16291 -> 0 bytes ...rkflow_real_time_statistics.cpython-36.pyc | Bin 11509 -> 0 bytes .../workflow_statistics.cpython-36.pyc | Bin 10898 -> 0 bytes .../workflow_cumulative_statistics.py | 452 -------- .../workflow/workflow_real_time_statistics.py | 301 ----- .../workspace/workflow/workflow_statistics.py | 307 ----- .../workspace_cumulative_statistics.py | 435 ------- .../workspace_real_time_statistics.py | 302 ----- .../v1/workspace/workspace_statistics.py | 284 ----- twilio/rest/trunking/__init__.py | 53 - .../__pycache__/__init__.cpython-36.pyc | Bin 1615 -> 0 bytes twilio/rest/trunking/v1/__init__.py | 42 - .../v1/__pycache__/__init__.cpython-36.pyc | Bin 1388 -> 0 bytes twilio/rest/trunking/v1/trunk/__init__.py | 623 ---------- .../trunk/__pycache__/__init__.cpython-36.pyc | Bin 20192 -> 0 bytes .../credential_list.cpython-36.pyc | Bin 14415 -> 0 bytes .../ip_access_control_list.cpython-36.pyc | Bin 15036 -> 0 bytes .../origination_url.cpython-36.pyc | Bin 17021 -> 0 bytes .../__pycache__/phone_number.cpython-36.pyc | Bin 19025 -> 0 bytes .../rest/trunking/v1/trunk/credential_list.py | 396 ------- .../v1/trunk/ip_access_control_list.py | 396 ------- .../rest/trunking/v1/trunk/origination_url.py | 501 -------- twilio/rest/trunking/v1/trunk/phone_number.py | 573 --------- twilio/rest/video/__init__.py | 67 -- .../video/__pycache__/__init__.cpython-36.pyc | Bin 1975 -> 0 bytes twilio/rest/video/v1/__init__.py | 64 - .../v1/__pycache__/__init__.cpython-36.pyc | Bin 1996 -> 0 bytes twilio/rest/video/v1/composition/__init__.py | 551 --------- .../__pycache__/__init__.cpython-36.pyc | Bin 19170 -> 0 bytes twilio/rest/video/v1/recording/__init__.py | 495 -------- .../__pycache__/__init__.cpython-36.pyc | Bin 16719 -> 0 bytes twilio/rest/video/v1/room/__init__.py | 620 ---------- .../room/__pycache__/__init__.cpython-36.pyc | Bin 19825 -> 0 bytes .../rest/video/v1/room/recording/__init__.py | 483 -------- .../__pycache__/__init__.cpython-36.pyc | Bin 16618 -> 0 bytes .../v1/room/room_participant/__init__.py | 541 --------- .../__pycache__/__init__.cpython-36.pyc | Bin 18582 -> 0 bytes ...participant_published_track.cpython-36.pyc | Bin 14984 -> 0 bytes ...articipant_subscribed_track.cpython-36.pyc | Bin 13029 -> 0 bytes .../room_participant_published_track.py | 406 ------- .../room_participant_subscribed_track.py | 365 ------ twilio/rest/wireless/__init__.py | 67 -- .../__pycache__/__init__.cpython-36.pyc | Bin 2014 -> 0 bytes twilio/rest/wireless/v1/__init__.py | 64 - .../v1/__pycache__/__init__.cpython-36.pyc | Bin 1992 -> 0 bytes .../v1/__pycache__/command.cpython-36.pyc | Bin 15432 -> 0 bytes .../v1/__pycache__/rate_plan.cpython-36.pyc | Bin 18134 -> 0 bytes twilio/rest/wireless/v1/command.py | 451 -------- twilio/rest/wireless/v1/rate_plan.py | 530 --------- twilio/rest/wireless/v1/sim/__init__.py | 710 ------------ .../sim/__pycache__/__init__.cpython-36.pyc | Bin 22289 -> 0 bytes .../__pycache__/data_session.cpython-36.pyc | Bin 11888 -> 0 bytes .../__pycache__/usage_record.cpython-36.pyc | Bin 9912 -> 0 bytes twilio/rest/wireless/v1/sim/data_session.py | 346 ------ twilio/rest/wireless/v1/sim/usage_record.py | 271 ----- twilio/twiml/__init__.py | 124 -- .../twiml/__pycache__/__init__.cpython-36.pyc | Bin 3629 -> 0 bytes .../__pycache__/fax_response.cpython-36.pyc | Bin 1527 -> 0 bytes .../messaging_response.cpython-36.pyc | Bin 3919 -> 0 bytes .../__pycache__/voice_response.cpython-36.pyc | Bin 22916 -> 0 bytes twilio/twiml/fax_response.py | 41 - twilio/twiml/messaging_response.py | 117 -- twilio/twiml/voice_response.py | 714 ------------ 653 files changed, 120 insertions(+), 123660 deletions(-) delete mode 100644 twilio/__init__.py delete mode 100644 twilio/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/__pycache__/compat.cpython-36.pyc delete mode 100644 twilio/__pycache__/request_validator.cpython-36.pyc delete mode 100644 twilio/base/__init__.py delete mode 100644 twilio/base/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/base/__pycache__/deserialize.cpython-36.pyc delete mode 100644 twilio/base/__pycache__/domain.cpython-36.pyc delete mode 100644 twilio/base/__pycache__/exceptions.cpython-36.pyc delete mode 100644 twilio/base/__pycache__/instance_context.cpython-36.pyc delete mode 100644 twilio/base/__pycache__/instance_resource.cpython-36.pyc delete mode 100644 twilio/base/__pycache__/list_resource.cpython-36.pyc delete mode 100644 twilio/base/__pycache__/obsolete.cpython-36.pyc delete mode 100644 twilio/base/__pycache__/page.cpython-36.pyc delete mode 100644 twilio/base/__pycache__/serialize.cpython-36.pyc delete mode 100644 twilio/base/__pycache__/values.cpython-36.pyc delete mode 100644 twilio/base/__pycache__/version.cpython-36.pyc delete mode 100644 twilio/base/deserialize.py delete mode 100644 twilio/base/domain.py delete mode 100644 twilio/base/exceptions.py delete mode 100644 twilio/base/instance_context.py delete mode 100644 twilio/base/instance_resource.py delete mode 100644 twilio/base/list_resource.py delete mode 100644 twilio/base/obsolete.py delete mode 100644 twilio/base/page.py delete mode 100644 twilio/base/serialize.py delete mode 100644 twilio/base/values.py delete mode 100644 twilio/base/version.py delete mode 100644 twilio/compat.py delete mode 100644 twilio/http/__init__.py delete mode 100644 twilio/http/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/http/__pycache__/http_client.cpython-36.pyc delete mode 100644 twilio/http/__pycache__/request.cpython-36.pyc delete mode 100644 twilio/http/__pycache__/response.cpython-36.pyc delete mode 100644 twilio/http/__pycache__/validation_client.cpython-36.pyc delete mode 100644 twilio/http/http_client.py delete mode 100644 twilio/http/request.py delete mode 100644 twilio/http/response.py delete mode 100644 twilio/http/validation_client.py delete mode 100644 twilio/jwt/__init__.py delete mode 100644 twilio/jwt/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/jwt/__pycache__/compat.cpython-36.pyc delete mode 100644 twilio/jwt/access_token/__init__.py delete mode 100644 twilio/jwt/access_token/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/jwt/access_token/__pycache__/grants.cpython-36.pyc delete mode 100644 twilio/jwt/access_token/grants.py delete mode 100644 twilio/jwt/client/__init__.py delete mode 100644 twilio/jwt/client/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/jwt/compat.py delete mode 100644 twilio/jwt/taskrouter/__init__.py delete mode 100644 twilio/jwt/taskrouter/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/jwt/taskrouter/__pycache__/capabilities.cpython-36.pyc delete mode 100644 twilio/jwt/taskrouter/capabilities.py delete mode 100644 twilio/jwt/validation/__init__.py delete mode 100644 twilio/jwt/validation/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/request_validator.py delete mode 100644 twilio/rest/__init__.py delete mode 100644 twilio/rest/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/accounts/__init__.py delete mode 100644 twilio/rest/accounts/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/accounts/v1/__init__.py delete mode 100644 twilio/rest/accounts/v1/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/accounts/v1/credential/__init__.py delete mode 100644 twilio/rest/accounts/v1/credential/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/accounts/v1/credential/__pycache__/aws.cpython-36.pyc delete mode 100644 twilio/rest/accounts/v1/credential/__pycache__/public_key.cpython-36.pyc delete mode 100644 twilio/rest/accounts/v1/credential/aws.py delete mode 100644 twilio/rest/accounts/v1/credential/public_key.py delete mode 100644 twilio/rest/api/__init__.py delete mode 100644 twilio/rest/api/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/__init__.py delete mode 100644 twilio/rest/api/v2010/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/__init__.py delete mode 100644 twilio/rest/api/v2010/account/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/__pycache__/application.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/__pycache__/authorized_connect_app.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/__pycache__/connect_app.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/__pycache__/key.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/__pycache__/new_key.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/__pycache__/new_signing_key.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/__pycache__/notification.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/__pycache__/outgoing_caller_id.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/__pycache__/short_code.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/__pycache__/signing_key.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/__pycache__/token.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/__pycache__/transcription.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/__pycache__/validation_request.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/address/__init__.py delete mode 100644 twilio/rest/api/v2010/account/address/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/address/__pycache__/dependent_phone_number.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/address/dependent_phone_number.py delete mode 100644 twilio/rest/api/v2010/account/application.py delete mode 100644 twilio/rest/api/v2010/account/authorized_connect_app.py delete mode 100644 twilio/rest/api/v2010/account/available_phone_number/__init__.py delete mode 100644 twilio/rest/api/v2010/account/available_phone_number/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/available_phone_number/__pycache__/local.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/available_phone_number/__pycache__/machine_to_machine.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/available_phone_number/__pycache__/mobile.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/available_phone_number/__pycache__/national.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/available_phone_number/__pycache__/shared_cost.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/available_phone_number/__pycache__/toll_free.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/available_phone_number/__pycache__/voip.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/available_phone_number/local.py delete mode 100644 twilio/rest/api/v2010/account/available_phone_number/machine_to_machine.py delete mode 100644 twilio/rest/api/v2010/account/available_phone_number/mobile.py delete mode 100644 twilio/rest/api/v2010/account/available_phone_number/national.py delete mode 100644 twilio/rest/api/v2010/account/available_phone_number/shared_cost.py delete mode 100644 twilio/rest/api/v2010/account/available_phone_number/toll_free.py delete mode 100644 twilio/rest/api/v2010/account/available_phone_number/voip.py delete mode 100644 twilio/rest/api/v2010/account/call/__init__.py delete mode 100644 twilio/rest/api/v2010/account/call/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/call/__pycache__/feedback.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/call/__pycache__/feedback_summary.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/call/__pycache__/notification.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/call/__pycache__/recording.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/call/feedback.py delete mode 100644 twilio/rest/api/v2010/account/call/feedback_summary.py delete mode 100644 twilio/rest/api/v2010/account/call/notification.py delete mode 100644 twilio/rest/api/v2010/account/call/recording.py delete mode 100644 twilio/rest/api/v2010/account/conference/__init__.py delete mode 100644 twilio/rest/api/v2010/account/conference/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/conference/__pycache__/participant.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/conference/participant.py delete mode 100644 twilio/rest/api/v2010/account/connect_app.py delete mode 100644 twilio/rest/api/v2010/account/incoming_phone_number/__init__.py delete mode 100644 twilio/rest/api/v2010/account/incoming_phone_number/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/incoming_phone_number/__pycache__/local.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/incoming_phone_number/__pycache__/mobile.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/incoming_phone_number/__pycache__/toll_free.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/incoming_phone_number/assigned_add_on/__init__.py delete mode 100644 twilio/rest/api/v2010/account/incoming_phone_number/assigned_add_on/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/incoming_phone_number/assigned_add_on/__pycache__/assigned_add_on_extension.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.py delete mode 100644 twilio/rest/api/v2010/account/incoming_phone_number/local.py delete mode 100644 twilio/rest/api/v2010/account/incoming_phone_number/mobile.py delete mode 100644 twilio/rest/api/v2010/account/incoming_phone_number/toll_free.py delete mode 100644 twilio/rest/api/v2010/account/key.py delete mode 100644 twilio/rest/api/v2010/account/message/__init__.py delete mode 100644 twilio/rest/api/v2010/account/message/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/message/__pycache__/feedback.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/message/__pycache__/media.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/message/feedback.py delete mode 100644 twilio/rest/api/v2010/account/message/media.py delete mode 100644 twilio/rest/api/v2010/account/new_key.py delete mode 100644 twilio/rest/api/v2010/account/new_signing_key.py delete mode 100644 twilio/rest/api/v2010/account/notification.py delete mode 100644 twilio/rest/api/v2010/account/outgoing_caller_id.py delete mode 100644 twilio/rest/api/v2010/account/queue/__init__.py delete mode 100644 twilio/rest/api/v2010/account/queue/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/queue/__pycache__/member.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/queue/member.py delete mode 100644 twilio/rest/api/v2010/account/recording/__init__.py delete mode 100644 twilio/rest/api/v2010/account/recording/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/recording/__pycache__/transcription.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/recording/add_on_result/__init__.py delete mode 100644 twilio/rest/api/v2010/account/recording/add_on_result/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/recording/add_on_result/payload/__init__.py delete mode 100644 twilio/rest/api/v2010/account/recording/add_on_result/payload/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/recording/transcription.py delete mode 100644 twilio/rest/api/v2010/account/short_code.py delete mode 100644 twilio/rest/api/v2010/account/signing_key.py delete mode 100644 twilio/rest/api/v2010/account/sip/__init__.py delete mode 100644 twilio/rest/api/v2010/account/sip/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/sip/credential_list/__init__.py delete mode 100644 twilio/rest/api/v2010/account/sip/credential_list/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/sip/credential_list/__pycache__/credential.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/sip/credential_list/credential.py delete mode 100644 twilio/rest/api/v2010/account/sip/domain/__init__.py delete mode 100644 twilio/rest/api/v2010/account/sip/domain/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/sip/domain/__pycache__/credential_list_mapping.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/sip/domain/__pycache__/ip_access_control_list_mapping.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/sip/domain/credential_list_mapping.py delete mode 100644 twilio/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.py delete mode 100644 twilio/rest/api/v2010/account/sip/ip_access_control_list/__init__.py delete mode 100644 twilio/rest/api/v2010/account/sip/ip_access_control_list/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/sip/ip_access_control_list/__pycache__/ip_address.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/sip/ip_access_control_list/ip_address.py delete mode 100644 twilio/rest/api/v2010/account/token.py delete mode 100644 twilio/rest/api/v2010/account/transcription.py delete mode 100644 twilio/rest/api/v2010/account/usage/__init__.py delete mode 100644 twilio/rest/api/v2010/account/usage/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/usage/__pycache__/trigger.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/usage/record/__init__.py delete mode 100644 twilio/rest/api/v2010/account/usage/record/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/usage/record/__pycache__/all_time.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/usage/record/__pycache__/daily.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/usage/record/__pycache__/last_month.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/usage/record/__pycache__/monthly.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/usage/record/__pycache__/this_month.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/usage/record/__pycache__/today.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/usage/record/__pycache__/yearly.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/usage/record/__pycache__/yesterday.cpython-36.pyc delete mode 100644 twilio/rest/api/v2010/account/usage/record/all_time.py delete mode 100644 twilio/rest/api/v2010/account/usage/record/daily.py delete mode 100644 twilio/rest/api/v2010/account/usage/record/last_month.py delete mode 100644 twilio/rest/api/v2010/account/usage/record/monthly.py delete mode 100644 twilio/rest/api/v2010/account/usage/record/this_month.py delete mode 100644 twilio/rest/api/v2010/account/usage/record/today.py delete mode 100644 twilio/rest/api/v2010/account/usage/record/yearly.py delete mode 100644 twilio/rest/api/v2010/account/usage/record/yesterday.py delete mode 100644 twilio/rest/api/v2010/account/usage/trigger.py delete mode 100644 twilio/rest/api/v2010/account/validation_request.py delete mode 100644 twilio/rest/chat/__init__.py delete mode 100644 twilio/rest/chat/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/chat/v1/__init__.py delete mode 100644 twilio/rest/chat/v1/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/chat/v1/__pycache__/credential.cpython-36.pyc delete mode 100644 twilio/rest/chat/v1/credential.py delete mode 100644 twilio/rest/chat/v1/service/__init__.py delete mode 100644 twilio/rest/chat/v1/service/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/chat/v1/service/__pycache__/role.cpython-36.pyc delete mode 100644 twilio/rest/chat/v1/service/channel/__init__.py delete mode 100644 twilio/rest/chat/v1/service/channel/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/chat/v1/service/channel/__pycache__/invite.cpython-36.pyc delete mode 100644 twilio/rest/chat/v1/service/channel/__pycache__/member.cpython-36.pyc delete mode 100644 twilio/rest/chat/v1/service/channel/__pycache__/message.cpython-36.pyc delete mode 100644 twilio/rest/chat/v1/service/channel/invite.py delete mode 100644 twilio/rest/chat/v1/service/channel/member.py delete mode 100644 twilio/rest/chat/v1/service/channel/message.py delete mode 100644 twilio/rest/chat/v1/service/role.py delete mode 100644 twilio/rest/chat/v1/service/user/__init__.py delete mode 100644 twilio/rest/chat/v1/service/user/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/chat/v1/service/user/__pycache__/user_channel.cpython-36.pyc delete mode 100644 twilio/rest/chat/v1/service/user/user_channel.py delete mode 100644 twilio/rest/chat/v2/__init__.py delete mode 100644 twilio/rest/chat/v2/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/chat/v2/__pycache__/credential.cpython-36.pyc delete mode 100644 twilio/rest/chat/v2/credential.py delete mode 100644 twilio/rest/chat/v2/service/__init__.py delete mode 100644 twilio/rest/chat/v2/service/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/chat/v2/service/__pycache__/binding.cpython-36.pyc delete mode 100644 twilio/rest/chat/v2/service/__pycache__/role.cpython-36.pyc delete mode 100644 twilio/rest/chat/v2/service/binding.py delete mode 100644 twilio/rest/chat/v2/service/channel/__init__.py delete mode 100644 twilio/rest/chat/v2/service/channel/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/chat/v2/service/channel/__pycache__/invite.cpython-36.pyc delete mode 100644 twilio/rest/chat/v2/service/channel/__pycache__/member.cpython-36.pyc delete mode 100644 twilio/rest/chat/v2/service/channel/__pycache__/message.cpython-36.pyc delete mode 100644 twilio/rest/chat/v2/service/channel/invite.py delete mode 100644 twilio/rest/chat/v2/service/channel/member.py delete mode 100644 twilio/rest/chat/v2/service/channel/message.py delete mode 100644 twilio/rest/chat/v2/service/role.py delete mode 100644 twilio/rest/chat/v2/service/user/__init__.py delete mode 100644 twilio/rest/chat/v2/service/user/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/chat/v2/service/user/__pycache__/user_binding.cpython-36.pyc delete mode 100644 twilio/rest/chat/v2/service/user/__pycache__/user_channel.cpython-36.pyc delete mode 100644 twilio/rest/chat/v2/service/user/user_binding.py delete mode 100644 twilio/rest/chat/v2/service/user/user_channel.py delete mode 100644 twilio/rest/fax/__init__.py delete mode 100644 twilio/rest/fax/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/fax/v1/__init__.py delete mode 100644 twilio/rest/fax/v1/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/fax/v1/fax/__init__.py delete mode 100644 twilio/rest/fax/v1/fax/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/fax/v1/fax/__pycache__/fax_media.cpython-36.pyc delete mode 100644 twilio/rest/fax/v1/fax/fax_media.py delete mode 100644 twilio/rest/ip_messaging/__init__.py delete mode 100644 twilio/rest/ip_messaging/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/ip_messaging/v1/__init__.py delete mode 100644 twilio/rest/ip_messaging/v1/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/ip_messaging/v1/__pycache__/credential.cpython-36.pyc delete mode 100644 twilio/rest/ip_messaging/v1/credential.py delete mode 100644 twilio/rest/ip_messaging/v1/service/__init__.py delete mode 100644 twilio/rest/ip_messaging/v1/service/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/ip_messaging/v1/service/__pycache__/role.cpython-36.pyc delete mode 100644 twilio/rest/ip_messaging/v1/service/channel/__init__.py delete mode 100644 twilio/rest/ip_messaging/v1/service/channel/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/ip_messaging/v1/service/channel/__pycache__/invite.cpython-36.pyc delete mode 100644 twilio/rest/ip_messaging/v1/service/channel/__pycache__/member.cpython-36.pyc delete mode 100644 twilio/rest/ip_messaging/v1/service/channel/__pycache__/message.cpython-36.pyc delete mode 100644 twilio/rest/ip_messaging/v1/service/channel/invite.py delete mode 100644 twilio/rest/ip_messaging/v1/service/channel/member.py delete mode 100644 twilio/rest/ip_messaging/v1/service/channel/message.py delete mode 100644 twilio/rest/ip_messaging/v1/service/role.py delete mode 100644 twilio/rest/ip_messaging/v1/service/user/__init__.py delete mode 100644 twilio/rest/ip_messaging/v1/service/user/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/ip_messaging/v1/service/user/__pycache__/user_channel.cpython-36.pyc delete mode 100644 twilio/rest/ip_messaging/v1/service/user/user_channel.py delete mode 100644 twilio/rest/ip_messaging/v2/__init__.py delete mode 100644 twilio/rest/ip_messaging/v2/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/ip_messaging/v2/__pycache__/credential.cpython-36.pyc delete mode 100644 twilio/rest/ip_messaging/v2/credential.py delete mode 100644 twilio/rest/ip_messaging/v2/service/__init__.py delete mode 100644 twilio/rest/ip_messaging/v2/service/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/ip_messaging/v2/service/__pycache__/binding.cpython-36.pyc delete mode 100644 twilio/rest/ip_messaging/v2/service/__pycache__/role.cpython-36.pyc delete mode 100644 twilio/rest/ip_messaging/v2/service/binding.py delete mode 100644 twilio/rest/ip_messaging/v2/service/channel/__init__.py delete mode 100644 twilio/rest/ip_messaging/v2/service/channel/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/ip_messaging/v2/service/channel/__pycache__/invite.cpython-36.pyc delete mode 100644 twilio/rest/ip_messaging/v2/service/channel/__pycache__/member.cpython-36.pyc delete mode 100644 twilio/rest/ip_messaging/v2/service/channel/__pycache__/message.cpython-36.pyc delete mode 100644 twilio/rest/ip_messaging/v2/service/channel/invite.py delete mode 100644 twilio/rest/ip_messaging/v2/service/channel/member.py delete mode 100644 twilio/rest/ip_messaging/v2/service/channel/message.py delete mode 100644 twilio/rest/ip_messaging/v2/service/role.py delete mode 100644 twilio/rest/ip_messaging/v2/service/user/__init__.py delete mode 100644 twilio/rest/ip_messaging/v2/service/user/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/ip_messaging/v2/service/user/__pycache__/user_binding.cpython-36.pyc delete mode 100644 twilio/rest/ip_messaging/v2/service/user/__pycache__/user_channel.cpython-36.pyc delete mode 100644 twilio/rest/ip_messaging/v2/service/user/user_binding.py delete mode 100644 twilio/rest/ip_messaging/v2/service/user/user_channel.py delete mode 100644 twilio/rest/lookups/__init__.py delete mode 100644 twilio/rest/lookups/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/lookups/v1/__init__.py delete mode 100644 twilio/rest/lookups/v1/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/lookups/v1/__pycache__/phone_number.cpython-36.pyc delete mode 100644 twilio/rest/lookups/v1/phone_number.py delete mode 100644 twilio/rest/messaging/__init__.py delete mode 100644 twilio/rest/messaging/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/messaging/v1/__init__.py delete mode 100644 twilio/rest/messaging/v1/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/messaging/v1/service/__init__.py delete mode 100644 twilio/rest/messaging/v1/service/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/messaging/v1/service/__pycache__/alpha_sender.cpython-36.pyc delete mode 100644 twilio/rest/messaging/v1/service/__pycache__/phone_number.cpython-36.pyc delete mode 100644 twilio/rest/messaging/v1/service/__pycache__/short_code.cpython-36.pyc delete mode 100644 twilio/rest/messaging/v1/service/alpha_sender.py delete mode 100644 twilio/rest/messaging/v1/service/phone_number.py delete mode 100644 twilio/rest/messaging/v1/service/short_code.py delete mode 100644 twilio/rest/monitor/__init__.py delete mode 100644 twilio/rest/monitor/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/monitor/v1/__init__.py delete mode 100644 twilio/rest/monitor/v1/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/monitor/v1/__pycache__/alert.cpython-36.pyc delete mode 100644 twilio/rest/monitor/v1/__pycache__/event.cpython-36.pyc delete mode 100644 twilio/rest/monitor/v1/alert.py delete mode 100644 twilio/rest/monitor/v1/event.py delete mode 100644 twilio/rest/notify/__init__.py delete mode 100644 twilio/rest/notify/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/notify/v1/__init__.py delete mode 100644 twilio/rest/notify/v1/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/notify/v1/__pycache__/credential.cpython-36.pyc delete mode 100644 twilio/rest/notify/v1/credential.py delete mode 100644 twilio/rest/notify/v1/service/__init__.py delete mode 100644 twilio/rest/notify/v1/service/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/notify/v1/service/__pycache__/binding.cpython-36.pyc delete mode 100644 twilio/rest/notify/v1/service/__pycache__/notification.cpython-36.pyc delete mode 100644 twilio/rest/notify/v1/service/__pycache__/segment.cpython-36.pyc delete mode 100644 twilio/rest/notify/v1/service/binding.py delete mode 100644 twilio/rest/notify/v1/service/notification.py delete mode 100644 twilio/rest/notify/v1/service/segment.py delete mode 100644 twilio/rest/notify/v1/service/user/__init__.py delete mode 100644 twilio/rest/notify/v1/service/user/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/notify/v1/service/user/__pycache__/segment_memberships.cpython-36.pyc delete mode 100644 twilio/rest/notify/v1/service/user/__pycache__/user_binding.cpython-36.pyc delete mode 100644 twilio/rest/notify/v1/service/user/segment_memberships.py delete mode 100644 twilio/rest/notify/v1/service/user/user_binding.py delete mode 100644 twilio/rest/preview/__init__.py delete mode 100644 twilio/rest/preview/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/acc_security/__init__.py delete mode 100644 twilio/rest/preview/acc_security/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/acc_security/service/__init__.py delete mode 100644 twilio/rest/preview/acc_security/service/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/acc_security/service/__pycache__/verification.cpython-36.pyc delete mode 100644 twilio/rest/preview/acc_security/service/__pycache__/verification_check.cpython-36.pyc delete mode 100644 twilio/rest/preview/acc_security/service/verification.py delete mode 100644 twilio/rest/preview/acc_security/service/verification_check.py delete mode 100644 twilio/rest/preview/bulk_exports/__init__.py delete mode 100644 twilio/rest/preview/bulk_exports/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/bulk_exports/__pycache__/export_configuration.cpython-36.pyc delete mode 100644 twilio/rest/preview/bulk_exports/export/__init__.py delete mode 100644 twilio/rest/preview/bulk_exports/export/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/bulk_exports/export/__pycache__/day.cpython-36.pyc delete mode 100644 twilio/rest/preview/bulk_exports/export/day.py delete mode 100644 twilio/rest/preview/bulk_exports/export_configuration.py delete mode 100644 twilio/rest/preview/deployed_devices/__init__.py delete mode 100644 twilio/rest/preview/deployed_devices/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/deployed_devices/fleet/__init__.py delete mode 100644 twilio/rest/preview/deployed_devices/fleet/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/deployed_devices/fleet/__pycache__/certificate.cpython-36.pyc delete mode 100644 twilio/rest/preview/deployed_devices/fleet/__pycache__/deployment.cpython-36.pyc delete mode 100644 twilio/rest/preview/deployed_devices/fleet/__pycache__/device.cpython-36.pyc delete mode 100644 twilio/rest/preview/deployed_devices/fleet/__pycache__/key.cpython-36.pyc delete mode 100644 twilio/rest/preview/deployed_devices/fleet/certificate.py delete mode 100644 twilio/rest/preview/deployed_devices/fleet/deployment.py delete mode 100644 twilio/rest/preview/deployed_devices/fleet/device.py delete mode 100644 twilio/rest/preview/deployed_devices/fleet/key.py delete mode 100644 twilio/rest/preview/hosted_numbers/__init__.py delete mode 100644 twilio/rest/preview/hosted_numbers/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/hosted_numbers/__pycache__/hosted_number_order.cpython-36.pyc delete mode 100644 twilio/rest/preview/hosted_numbers/authorization_document/__init__.py delete mode 100644 twilio/rest/preview/hosted_numbers/authorization_document/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/hosted_numbers/authorization_document/__pycache__/dependent_hosted_number_order.cpython-36.pyc delete mode 100644 twilio/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.py delete mode 100644 twilio/rest/preview/hosted_numbers/hosted_number_order.py delete mode 100644 twilio/rest/preview/marketplace/__init__.py delete mode 100644 twilio/rest/preview/marketplace/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/marketplace/available_add_on/__init__.py delete mode 100644 twilio/rest/preview/marketplace/available_add_on/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/marketplace/available_add_on/__pycache__/available_add_on_extension.cpython-36.pyc delete mode 100644 twilio/rest/preview/marketplace/available_add_on/available_add_on_extension.py delete mode 100644 twilio/rest/preview/marketplace/installed_add_on/__init__.py delete mode 100644 twilio/rest/preview/marketplace/installed_add_on/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/marketplace/installed_add_on/__pycache__/installed_add_on_extension.cpython-36.pyc delete mode 100644 twilio/rest/preview/marketplace/installed_add_on/installed_add_on_extension.py delete mode 100644 twilio/rest/preview/proxy/__init__.py delete mode 100644 twilio/rest/preview/proxy/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/proxy/service/__init__.py delete mode 100644 twilio/rest/preview/proxy/service/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/proxy/service/__pycache__/phone_number.cpython-36.pyc delete mode 100644 twilio/rest/preview/proxy/service/__pycache__/short_code.cpython-36.pyc delete mode 100644 twilio/rest/preview/proxy/service/phone_number.py delete mode 100644 twilio/rest/preview/proxy/service/session/__init__.py delete mode 100644 twilio/rest/preview/proxy/service/session/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/proxy/service/session/__pycache__/interaction.cpython-36.pyc delete mode 100644 twilio/rest/preview/proxy/service/session/interaction.py delete mode 100644 twilio/rest/preview/proxy/service/session/participant/__init__.py delete mode 100644 twilio/rest/preview/proxy/service/session/participant/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/proxy/service/session/participant/__pycache__/message_interaction.cpython-36.pyc delete mode 100644 twilio/rest/preview/proxy/service/session/participant/message_interaction.py delete mode 100644 twilio/rest/preview/proxy/service/short_code.py delete mode 100644 twilio/rest/preview/studio/__init__.py delete mode 100644 twilio/rest/preview/studio/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/studio/flow/__init__.py delete mode 100644 twilio/rest/preview/studio/flow/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/studio/flow/engagement/__init__.py delete mode 100644 twilio/rest/preview/studio/flow/engagement/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/studio/flow/engagement/__pycache__/step.cpython-36.pyc delete mode 100644 twilio/rest/preview/studio/flow/engagement/step.py delete mode 100644 twilio/rest/preview/sync/__init__.py delete mode 100644 twilio/rest/preview/sync/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/sync/service/__init__.py delete mode 100644 twilio/rest/preview/sync/service/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/sync/service/document/__init__.py delete mode 100644 twilio/rest/preview/sync/service/document/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/sync/service/document/__pycache__/document_permission.cpython-36.pyc delete mode 100644 twilio/rest/preview/sync/service/document/document_permission.py delete mode 100644 twilio/rest/preview/sync/service/sync_list/__init__.py delete mode 100644 twilio/rest/preview/sync/service/sync_list/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/sync/service/sync_list/__pycache__/sync_list_item.cpython-36.pyc delete mode 100644 twilio/rest/preview/sync/service/sync_list/__pycache__/sync_list_permission.cpython-36.pyc delete mode 100644 twilio/rest/preview/sync/service/sync_list/sync_list_item.py delete mode 100644 twilio/rest/preview/sync/service/sync_list/sync_list_permission.py delete mode 100644 twilio/rest/preview/sync/service/sync_map/__init__.py delete mode 100644 twilio/rest/preview/sync/service/sync_map/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/sync/service/sync_map/__pycache__/sync_map_item.cpython-36.pyc delete mode 100644 twilio/rest/preview/sync/service/sync_map/__pycache__/sync_map_permission.cpython-36.pyc delete mode 100644 twilio/rest/preview/sync/service/sync_map/sync_map_item.py delete mode 100644 twilio/rest/preview/sync/service/sync_map/sync_map_permission.py delete mode 100644 twilio/rest/preview/understand/__init__.py delete mode 100644 twilio/rest/preview/understand/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/understand/service/__init__.py delete mode 100644 twilio/rest/preview/understand/service/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/understand/service/__pycache__/model_build.cpython-36.pyc delete mode 100644 twilio/rest/preview/understand/service/__pycache__/query.cpython-36.pyc delete mode 100644 twilio/rest/preview/understand/service/field_type/__init__.py delete mode 100644 twilio/rest/preview/understand/service/field_type/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/understand/service/field_type/__pycache__/field_value.cpython-36.pyc delete mode 100644 twilio/rest/preview/understand/service/field_type/field_value.py delete mode 100644 twilio/rest/preview/understand/service/intent/__init__.py delete mode 100644 twilio/rest/preview/understand/service/intent/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/understand/service/intent/__pycache__/field.cpython-36.pyc delete mode 100644 twilio/rest/preview/understand/service/intent/__pycache__/sample.cpython-36.pyc delete mode 100644 twilio/rest/preview/understand/service/intent/field.py delete mode 100644 twilio/rest/preview/understand/service/intent/sample.py delete mode 100644 twilio/rest/preview/understand/service/model_build.py delete mode 100644 twilio/rest/preview/understand/service/query.py delete mode 100644 twilio/rest/preview/wireless/__init__.py delete mode 100644 twilio/rest/preview/wireless/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/wireless/__pycache__/command.cpython-36.pyc delete mode 100644 twilio/rest/preview/wireless/__pycache__/rate_plan.cpython-36.pyc delete mode 100644 twilio/rest/preview/wireless/command.py delete mode 100644 twilio/rest/preview/wireless/rate_plan.py delete mode 100644 twilio/rest/preview/wireless/sim/__init__.py delete mode 100644 twilio/rest/preview/wireless/sim/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/preview/wireless/sim/__pycache__/usage.cpython-36.pyc delete mode 100644 twilio/rest/preview/wireless/sim/usage.py delete mode 100644 twilio/rest/pricing/__init__.py delete mode 100644 twilio/rest/pricing/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/pricing/v1/__init__.py delete mode 100644 twilio/rest/pricing/v1/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/pricing/v1/messaging/__init__.py delete mode 100644 twilio/rest/pricing/v1/messaging/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/pricing/v1/messaging/__pycache__/country.cpython-36.pyc delete mode 100644 twilio/rest/pricing/v1/messaging/country.py delete mode 100644 twilio/rest/pricing/v1/phone_number/__init__.py delete mode 100644 twilio/rest/pricing/v1/phone_number/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/pricing/v1/phone_number/__pycache__/country.cpython-36.pyc delete mode 100644 twilio/rest/pricing/v1/phone_number/country.py delete mode 100644 twilio/rest/pricing/v1/voice/__init__.py delete mode 100644 twilio/rest/pricing/v1/voice/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/pricing/v1/voice/__pycache__/country.cpython-36.pyc delete mode 100644 twilio/rest/pricing/v1/voice/__pycache__/number.cpython-36.pyc delete mode 100644 twilio/rest/pricing/v1/voice/country.py delete mode 100644 twilio/rest/pricing/v1/voice/number.py delete mode 100644 twilio/rest/proxy/__init__.py delete mode 100644 twilio/rest/proxy/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/proxy/v1/__init__.py delete mode 100644 twilio/rest/proxy/v1/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/proxy/v1/service/__init__.py delete mode 100644 twilio/rest/proxy/v1/service/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/proxy/v1/service/__pycache__/phone_number.cpython-36.pyc delete mode 100644 twilio/rest/proxy/v1/service/__pycache__/short_code.cpython-36.pyc delete mode 100644 twilio/rest/proxy/v1/service/phone_number.py delete mode 100644 twilio/rest/proxy/v1/service/session/__init__.py delete mode 100644 twilio/rest/proxy/v1/service/session/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/proxy/v1/service/session/__pycache__/interaction.cpython-36.pyc delete mode 100644 twilio/rest/proxy/v1/service/session/interaction.py delete mode 100644 twilio/rest/proxy/v1/service/session/participant/__init__.py delete mode 100644 twilio/rest/proxy/v1/service/session/participant/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/proxy/v1/service/session/participant/__pycache__/message_interaction.cpython-36.pyc delete mode 100644 twilio/rest/proxy/v1/service/session/participant/message_interaction.py delete mode 100644 twilio/rest/proxy/v1/service/short_code.py delete mode 100644 twilio/rest/studio/__init__.py delete mode 100644 twilio/rest/studio/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/studio/v1/__init__.py delete mode 100644 twilio/rest/studio/v1/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/studio/v1/flow/__init__.py delete mode 100644 twilio/rest/studio/v1/flow/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/studio/v1/flow/engagement/__init__.py delete mode 100644 twilio/rest/studio/v1/flow/engagement/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/studio/v1/flow/engagement/__pycache__/step.cpython-36.pyc delete mode 100644 twilio/rest/studio/v1/flow/engagement/step.py delete mode 100644 twilio/rest/sync/__init__.py delete mode 100644 twilio/rest/sync/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/sync/v1/__init__.py delete mode 100644 twilio/rest/sync/v1/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/sync/v1/service/__init__.py delete mode 100644 twilio/rest/sync/v1/service/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/sync/v1/service/document/__init__.py delete mode 100644 twilio/rest/sync/v1/service/document/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/sync/v1/service/document/__pycache__/document_permission.cpython-36.pyc delete mode 100644 twilio/rest/sync/v1/service/document/document_permission.py delete mode 100644 twilio/rest/sync/v1/service/sync_list/__init__.py delete mode 100644 twilio/rest/sync/v1/service/sync_list/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/sync/v1/service/sync_list/__pycache__/sync_list_item.cpython-36.pyc delete mode 100644 twilio/rest/sync/v1/service/sync_list/__pycache__/sync_list_permission.cpython-36.pyc delete mode 100644 twilio/rest/sync/v1/service/sync_list/sync_list_item.py delete mode 100644 twilio/rest/sync/v1/service/sync_list/sync_list_permission.py delete mode 100644 twilio/rest/sync/v1/service/sync_map/__init__.py delete mode 100644 twilio/rest/sync/v1/service/sync_map/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/sync/v1/service/sync_map/__pycache__/sync_map_item.cpython-36.pyc delete mode 100644 twilio/rest/sync/v1/service/sync_map/__pycache__/sync_map_permission.cpython-36.pyc delete mode 100644 twilio/rest/sync/v1/service/sync_map/sync_map_item.py delete mode 100644 twilio/rest/sync/v1/service/sync_map/sync_map_permission.py delete mode 100644 twilio/rest/sync/v1/service/sync_stream/__init__.py delete mode 100644 twilio/rest/sync/v1/service/sync_stream/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/sync/v1/service/sync_stream/__pycache__/stream_message.cpython-36.pyc delete mode 100644 twilio/rest/sync/v1/service/sync_stream/stream_message.py delete mode 100644 twilio/rest/taskrouter/__init__.py delete mode 100644 twilio/rest/taskrouter/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/taskrouter/v1/__init__.py delete mode 100644 twilio/rest/taskrouter/v1/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/taskrouter/v1/workspace/__init__.py delete mode 100644 twilio/rest/taskrouter/v1/workspace/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/taskrouter/v1/workspace/__pycache__/activity.cpython-36.pyc delete mode 100644 twilio/rest/taskrouter/v1/workspace/__pycache__/event.cpython-36.pyc delete mode 100644 twilio/rest/taskrouter/v1/workspace/__pycache__/task_channel.cpython-36.pyc delete mode 100644 twilio/rest/taskrouter/v1/workspace/__pycache__/workspace_cumulative_statistics.cpython-36.pyc delete mode 100644 twilio/rest/taskrouter/v1/workspace/__pycache__/workspace_real_time_statistics.cpython-36.pyc delete mode 100644 twilio/rest/taskrouter/v1/workspace/__pycache__/workspace_statistics.cpython-36.pyc delete mode 100644 twilio/rest/taskrouter/v1/workspace/activity.py delete mode 100644 twilio/rest/taskrouter/v1/workspace/event.py delete mode 100644 twilio/rest/taskrouter/v1/workspace/task/__init__.py delete mode 100644 twilio/rest/taskrouter/v1/workspace/task/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/taskrouter/v1/workspace/task/__pycache__/reservation.cpython-36.pyc delete mode 100644 twilio/rest/taskrouter/v1/workspace/task/reservation.py delete mode 100644 twilio/rest/taskrouter/v1/workspace/task_channel.py delete mode 100644 twilio/rest/taskrouter/v1/workspace/task_queue/__init__.py delete mode 100644 twilio/rest/taskrouter/v1/workspace/task_queue/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/taskrouter/v1/workspace/task_queue/__pycache__/task_queue_cumulative_statistics.cpython-36.pyc delete mode 100644 twilio/rest/taskrouter/v1/workspace/task_queue/__pycache__/task_queue_real_time_statistics.cpython-36.pyc delete mode 100644 twilio/rest/taskrouter/v1/workspace/task_queue/__pycache__/task_queue_statistics.cpython-36.pyc delete mode 100644 twilio/rest/taskrouter/v1/workspace/task_queue/__pycache__/task_queues_statistics.cpython-36.pyc delete mode 100644 twilio/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.py delete mode 100644 twilio/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.py delete mode 100644 twilio/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.py delete mode 100644 twilio/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.py delete mode 100644 twilio/rest/taskrouter/v1/workspace/worker/__init__.py delete mode 100644 twilio/rest/taskrouter/v1/workspace/worker/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/taskrouter/v1/workspace/worker/__pycache__/reservation.cpython-36.pyc delete mode 100644 twilio/rest/taskrouter/v1/workspace/worker/__pycache__/worker_channel.cpython-36.pyc delete mode 100644 twilio/rest/taskrouter/v1/workspace/worker/__pycache__/worker_statistics.cpython-36.pyc delete mode 100644 twilio/rest/taskrouter/v1/workspace/worker/__pycache__/workers_cumulative_statistics.cpython-36.pyc delete mode 100644 twilio/rest/taskrouter/v1/workspace/worker/__pycache__/workers_real_time_statistics.cpython-36.pyc delete mode 100644 twilio/rest/taskrouter/v1/workspace/worker/__pycache__/workers_statistics.cpython-36.pyc delete mode 100644 twilio/rest/taskrouter/v1/workspace/worker/reservation.py delete mode 100644 twilio/rest/taskrouter/v1/workspace/worker/worker_channel.py delete mode 100644 twilio/rest/taskrouter/v1/workspace/worker/worker_statistics.py delete mode 100644 twilio/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.py delete mode 100644 twilio/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.py delete mode 100644 twilio/rest/taskrouter/v1/workspace/worker/workers_statistics.py delete mode 100644 twilio/rest/taskrouter/v1/workspace/workflow/__init__.py delete mode 100644 twilio/rest/taskrouter/v1/workspace/workflow/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/taskrouter/v1/workspace/workflow/__pycache__/workflow_cumulative_statistics.cpython-36.pyc delete mode 100644 twilio/rest/taskrouter/v1/workspace/workflow/__pycache__/workflow_real_time_statistics.cpython-36.pyc delete mode 100644 twilio/rest/taskrouter/v1/workspace/workflow/__pycache__/workflow_statistics.cpython-36.pyc delete mode 100644 twilio/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.py delete mode 100644 twilio/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.py delete mode 100644 twilio/rest/taskrouter/v1/workspace/workflow/workflow_statistics.py delete mode 100644 twilio/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.py delete mode 100644 twilio/rest/taskrouter/v1/workspace/workspace_real_time_statistics.py delete mode 100644 twilio/rest/taskrouter/v1/workspace/workspace_statistics.py delete mode 100644 twilio/rest/trunking/__init__.py delete mode 100644 twilio/rest/trunking/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/trunking/v1/__init__.py delete mode 100644 twilio/rest/trunking/v1/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/trunking/v1/trunk/__init__.py delete mode 100644 twilio/rest/trunking/v1/trunk/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/trunking/v1/trunk/__pycache__/credential_list.cpython-36.pyc delete mode 100644 twilio/rest/trunking/v1/trunk/__pycache__/ip_access_control_list.cpython-36.pyc delete mode 100644 twilio/rest/trunking/v1/trunk/__pycache__/origination_url.cpython-36.pyc delete mode 100644 twilio/rest/trunking/v1/trunk/__pycache__/phone_number.cpython-36.pyc delete mode 100644 twilio/rest/trunking/v1/trunk/credential_list.py delete mode 100644 twilio/rest/trunking/v1/trunk/ip_access_control_list.py delete mode 100644 twilio/rest/trunking/v1/trunk/origination_url.py delete mode 100644 twilio/rest/trunking/v1/trunk/phone_number.py delete mode 100644 twilio/rest/video/__init__.py delete mode 100644 twilio/rest/video/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/video/v1/__init__.py delete mode 100644 twilio/rest/video/v1/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/video/v1/composition/__init__.py delete mode 100644 twilio/rest/video/v1/composition/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/video/v1/recording/__init__.py delete mode 100644 twilio/rest/video/v1/recording/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/video/v1/room/__init__.py delete mode 100644 twilio/rest/video/v1/room/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/video/v1/room/recording/__init__.py delete mode 100644 twilio/rest/video/v1/room/recording/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/video/v1/room/room_participant/__init__.py delete mode 100644 twilio/rest/video/v1/room/room_participant/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/video/v1/room/room_participant/__pycache__/room_participant_published_track.cpython-36.pyc delete mode 100644 twilio/rest/video/v1/room/room_participant/__pycache__/room_participant_subscribed_track.cpython-36.pyc delete mode 100644 twilio/rest/video/v1/room/room_participant/room_participant_published_track.py delete mode 100644 twilio/rest/video/v1/room/room_participant/room_participant_subscribed_track.py delete mode 100644 twilio/rest/wireless/__init__.py delete mode 100644 twilio/rest/wireless/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/wireless/v1/__init__.py delete mode 100644 twilio/rest/wireless/v1/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/wireless/v1/__pycache__/command.cpython-36.pyc delete mode 100644 twilio/rest/wireless/v1/__pycache__/rate_plan.cpython-36.pyc delete mode 100644 twilio/rest/wireless/v1/command.py delete mode 100644 twilio/rest/wireless/v1/rate_plan.py delete mode 100644 twilio/rest/wireless/v1/sim/__init__.py delete mode 100644 twilio/rest/wireless/v1/sim/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/rest/wireless/v1/sim/__pycache__/data_session.cpython-36.pyc delete mode 100644 twilio/rest/wireless/v1/sim/__pycache__/usage_record.cpython-36.pyc delete mode 100644 twilio/rest/wireless/v1/sim/data_session.py delete mode 100644 twilio/rest/wireless/v1/sim/usage_record.py delete mode 100644 twilio/twiml/__init__.py delete mode 100644 twilio/twiml/__pycache__/__init__.cpython-36.pyc delete mode 100644 twilio/twiml/__pycache__/fax_response.cpython-36.pyc delete mode 100644 twilio/twiml/__pycache__/messaging_response.cpython-36.pyc delete mode 100644 twilio/twiml/__pycache__/voice_response.cpython-36.pyc delete mode 100644 twilio/twiml/fax_response.py delete mode 100644 twilio/twiml/messaging_response.py delete mode 100644 twilio/twiml/voice_response.py diff --git a/src/configs.py b/src/configs.py index 85e2db9..c44412c 100644 --- a/src/configs.py +++ b/src/configs.py @@ -4,10 +4,17 @@ @contact: zhaoqi99@outlook.com @since: 2018-09-19 @license: GNU GPLv3 -@version: 0.2.1 +@version: 0.3.0 @LastModifiedBy: QiZhao -@LastModifiedDate: 2018-10-27 +@LastModifiedDate: 2018-12-24 ''' +# show right +SHOW_RIGHT=False + +# save type +# File/MySQL +SAVE_TYPE='MYSQL' + # show config SCHOOL_NAME = '' VERSION = '' @@ -31,20 +38,13 @@ # spider config SPIDER_CONFIG = [ { - 'subject_EN': '', - 'subject_CN': '', - 'url': '', - 'url_main': '', - 'rule': '', - 'coding': '' - }, - { - 'subject_EN': '', - 'subject_CN': '', + 'department_EN': '', + 'department_CN': '', 'url': '', 'url_main': '', 'rule': '', - 'coding': '' + 'coding': '', + 'type': '' } ] @@ -55,7 +55,7 @@ SECRET = ' ' # mysql config -TARGET_IP='' +TARGET_IP='localhost' SQL_USERNAME='' SQL_PASSWORD='' DATABASE_NAME='' diff --git a/src/main.py b/src/main.py index 472a2c6..c6a72a3 100644 --- a/src/main.py +++ b/src/main.py @@ -4,7 +4,7 @@ @contact: zhaoqi99@outlook.com @since: 2018-05-08 @license: GNU GPLv3 -@version: 0.2.1 +@version: 0.3.0 @LastModifiedBy: QiZhao @LastModifiedDate: 2018-10-27 ''' @@ -15,7 +15,6 @@ import os from traceback import format_exc import send - def Init(): '''首次使用时,程序初始化''' Mkdir('Log') @@ -47,13 +46,13 @@ def Show_right(): print('本程序仅供学习和研究使用,不得用于任何商业用途.') print('如您在使用中遇到任何问题,可联系作者邮箱: ' + configs.AUTHOR_EMAIL) print('请按回车键继续......', end='') - input() print('---------------------------------------------------') print(configs.SCHOOL_NAME + '校园通知自动提醒程序启动!') def main(): - Show_right() + if configs.SHOW_RIGHT: + Show_right() Init() f_obj = open('Data' + '/user.md') send_number = f_obj.readline() @@ -64,11 +63,10 @@ def main(): while(True): for dic in configs.SPIDER_CONFIG: try: - status, new_data = Spider(dic['url'], dic['url_main'], dic['rule'], dic['subject_CN'], - dic['subject_EN'], dic['coding'], configs.LOG_ENABLED) + status, new_data = Spider(dic, configs.LOG_ENABLED) if status >= 1: - send.Send(new_data, dic[ - 'subject_CN'], send_number, to_addr_str, configs.LOG_ENABLED) + send.Send(new_data, dic['department_CN'], + send_number, to_addr_str, dic['type'],configs.LOG_ENABLED) except Exception as e: print('Exception: ', e) Error_log = '异常信息如下:\n' + format_exc() + '-' * 70 + '\n' diff --git a/src/send.py b/src/send.py index 2ee889e..5b57931 100644 --- a/src/send.py +++ b/src/send.py @@ -3,9 +3,9 @@ @contact: zhaoqi99@outlook.com @since: 2018-05-07 @license: GNU GPLv3 -@version: 0.2.1 -@LastModifiedBy: Keyi Xie -@LastModifiedDate: 2018-10-23 +@version: 0.3.0 +@LastModifiedBy: QiZhao +@LastModifiedDate: 2018-10-24 ''' import twilio from twilio.rest import Client @@ -15,6 +15,7 @@ import configs import requests import json +import time def Send_sms(send_number, msg): ''' @@ -134,18 +135,18 @@ def send_to_wechat(str='default_words!'): }, "msgtype":"text" } - url="https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token="+get_token() try: + url="https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token="+get_token() jsonstr = json.dumps(pay_send_all,ensure_ascii=False,indent = 2 ) ; # 转换到json,注意处理中文的unicode headers = {'content-type': 'text/json','charset':'utf-8'} # 加http header,命令以utf-8解析 r=requests.post(url=url,data=jsonstr.encode('utf-8') , headers=headers ) # result=r.json() log_send_wechat = '微信发送成功' - except ConnectionError: + except Exception: log_send_wechat = '微信发送失败' return log_send_wechat -def Send(msgs, subject, send_number, to_addr_str, flag=True): +def Send(msgs, subject, send_number, to_addr_str, message_type,flag=True): ''' 向手机号码为send_number的人发送通知信息 向to_addr_str中的邮箱地址发送主题为subject的通知信息 @@ -162,18 +163,17 @@ def Send(msgs, subject, send_number, to_addr_str, flag=True): 例如:'example@qq.com','example1@qq.com,example2@qq.com' flag: 一个可选变量,用来决定是否在发送日志中记录此次发送信息,默认为True(记录) ''' - temp = '' log_send = [] # log_send=['test\n'] # Only for test for msg in msgs: - temp = subject + '有新通知了,快去看看吧' + '\n' + '标题:' + msg['title']\ - + '\n' + '时间:' + msg['date'] + '\n' + '查看:' + msg['link'] + temp="{}有新{},快去看看吧\n标题:{}\n时间:{}\n查看:{}".format( + subject,message_type,msg['title'],msg['date'],msg['link']) log_send_sms = [] log_send_email = [] - log_send_wechat = [] + log_send_wechat = [] log_send_sms.append(Send_sms(send_number, temp)) - log_send_email.append(Send_email(temp, to_addr_str, subject + '更新通知')) + log_send_email.append(Send_email(temp, to_addr_str, subject+message_type+'更新'+tool.time_text())) log_send_wechat.append(send_to_wechat(temp)) log_send.append(log_send_sms) log_send.append(log_send_email) diff --git a/src/spider.py b/src/spider.py index 35130ef..67c3671 100644 --- a/src/spider.py +++ b/src/spider.py @@ -5,9 +5,9 @@ @contact: zhaoqi99@outlook.com @since: 2018-05-07 @license: GNU GPLv3 -@version: 0.2.1 +@version: 0.3.0 @LastModifiedBy: QiZhao -@LastModifiedDate: 2018-10-27 +@LastModifiedDate: 2018-12-24 ''' import urllib.request import re @@ -27,7 +27,6 @@ def Spider_data(url, rule, coding='utf-8'): 例如:[{'title':'关于xxx的通知','date':'2017-03-10','link':'id=5'}, {'title':'关于xxx的通知','date':'2017-03-10','link':'id=5'}] ''' - response = urllib.request.urlopen(url) data = response.read().decode(coding) pattern = re.compile(rule, re.S) @@ -38,7 +37,7 @@ def Spider_data(url, rule, coding='utf-8'): return data_use -def Data_processing(subject_EN, data, url_main): +def Data_processing(department_EN, data, url_main,message_type): ''' 读取数据文件,并将新抓取的通知信息中的链接部分处理为长链接, 然后以通知链接为参照,与数据库中的数据进行对比,并将新通知写入数据库, @@ -57,48 +56,89 @@ def Data_processing(subject_EN, data, url_main): {'title':'关于xxx的通知','date':'2017-03-10','link':'http://xxxx.com‘}] ''' - helper = sqlhelper.SqlHelper( - configs.TARGET_IP, configs.SQL_USERNAME, configs.SQL_PASSWORD) - if helper.ExistDatabase(configs.DATABASE_NAME)==False: - helper.CreateDatabase(configs.DATABASE_NAME) # 处理为长网址 for item_dict in data: item_dict['link'] = url_main + item_dict['link'] - - table_name = subject_EN - if helper.ExistTable(configs.DATABASE_NAME, table_name) == False: - sql = 'CREATE TABLE' + ' ' + table_name + \ - '(id int PRIMARY KEY AUTO_INCREMENT,link Text,title Text,date Text)' - helper.Execute(configs.DATABASE_NAME, sql) - - # 收集所有的link信息 - sql = 'select * from' + ' ' + table_name - all_link = helper.FetchCol(configs.DATABASE_NAME, table_name,sql, 2) - + # 生成新数据 status = 0 # 是否有新通知的标志 new_data = [] - for item in data: - if item['link'] not in all_link: - item['date'] = item['date'].replace('/', '-') # 将日期统一转换为yy-mm-dd格式 - status += 1 - new_data.append(item) - if len(all_link) == 0: # 首次抓取 - status = -1 - + + if configs.SAVE_TYPE.upper()=="FILE": + if message_type=="通知": + file = "Data/{}_{}.md".format(department_EN,"notice") + else: + file="Data/{}_{}.md".format(department_EN,"news") + tool.Mkfile(file) # 初次抓取时新建数据文件 + f_before = open(file, 'rb') # 读取数据文件中的通知信息 + txt_before = f_before.read().decode('utf-8') + f_before.close() + + # 收集所有的link信息 + all_link = [] + split_rule = '(?P[^ ]*) (?P<date>\d*-\d*-\d*) (?P<link>[^\n]*)\n' + pattern = re.compile(split_rule, re.S) + data_before = pattern.finditer(txt_before) + for item in data_before: + dic = item.groupdict() + all_link.append(dic['link']) + + for item in data: + if item['link'] not in all_link: + item['date'] = item['date'].replace('/', '-') # 将日期统一转换为yy-mm-dd格式 + status += 1 + new_data.append(item) + + # 存储到文件中 + f_temp = open(file, 'ab') + for item in new_data: + f_temp.write(item['title'].encode('utf-8')) + f_temp.write(" ".encode('utf-8') + item['date'].encode('utf-8')) + f_temp.write(" ".encode('utf-8') + item['link'].encode('utf-8')) + f_temp.write("\n".encode('utf-8')) + f_temp.close() + + elif configs.SAVE_TYPE.upper()=="MYSQL": + helper = sqlhelper.SqlHelper( + configs.TARGET_IP, configs.SQL_USERNAME, configs.SQL_PASSWORD) + if helper.ExistDatabase(configs.DATABASE_NAME)==False: + helper.CreateDatabase(configs.DATABASE_NAME) + + table_name = department_EN + if helper.ExistTable(configs.DATABASE_NAME, table_name) == False: + sql = 'CREATE TABLE' + ' ' + table_name + \ + '(id int PRIMARY KEY AUTO_INCREMENT,link Text,title Text,date Text,type Text)' + helper.Execute(configs.DATABASE_NAME, sql) + + sql = "select count(*) from" + " " + table_name+" where type='"+message_type+"'" + link_count = helper.FetchCol(configs.DATABASE_NAME, table_name,sql,1)[0] + + for item in data: + temp_sql="select * from" + " " + table_name+" where link='"+item['link']+"'" + ret=helper.FetchCol(configs.DATABASE_NAME, table_name,temp_sql, 2) + if len(ret)==0: + item['date'] = item['date'].replace('/', '-') # 将日期统一转换为yy-mm-dd格式 + item['type']=message_type + status += 1 + new_data.append(item) + + if link_count == 0: # 首次抓取 + status = -1 + + for item in new_data: + sql = "insert into" + " " + table_name + "(link,title,date,type) values ('%s','%s','%s','%s')" % ( + item['link'], item['title'], item['date'],item['type']) + # print(sql) + helper.Execute(configs.DATABASE_NAME, sql) + # Todo: 解决频繁开启关闭数据库的问题 # Todo: 异常处理 # 将新抓取到的通知信息写入数据文件 - for item in new_data: - sql = "insert into" + " " + table_name + "(link,title,date) values ('%s','%s','%s')" % ( - item['link'], item['title'], item['date']) -# print(sql) - helper.Execute(configs.DATABASE_NAME, sql) return status, new_data -def Log_generate(status, data, subject_CN): +def Log_generate(status, data, department_CN,message_type): ''' 依据检查更新的结果,生成不同的日志内容,并返回日志内容 @@ -115,9 +155,9 @@ def Log_generate(status, data, subject_CN): [['关于xxx的通知','2017-03-10','http://xxxx.com'],['关于xxx的通知','2017-03-10','http://xxxx.com']] ''' if status == -1: - log_txt = '首次抓取' + subject_CN + '!\n' + log_txt = '首次抓取{}:{}!'.format(department_CN,message_type) elif status == 0: - log_txt = subject_CN + "暂无新通知!" + '\n' + log_txt = "{}暂无新{}!".format(department_CN,message_type) else: log_txt = [] for dic in data: @@ -129,7 +169,7 @@ def Log_generate(status, data, subject_CN): return log_txt -def Spider(url, url_main, rule, subject_CN, subject_EN, coding, flag=True): +def Spider(dic, flag=True): ''' 爬取url的源码,并从中按照rule提供的正则表达式规则提取有用信息,并对数据进行处理, 生成通知提醒的内容,在subject_EN+'_log.md'文件中记录日志, @@ -151,10 +191,14 @@ def Spider(url, url_main, rule, subject_CN, subject_EN, coding, flag=True): 例如:[{'title':'关于xxx的通知','date':'2017-03-10','link':'http://xxxx.com'}, {'title':'关于xxx的通知','date':'2017-03-10','link':'http://xxxx.com'}] ''' - data_use = Spider_data(url, rule, coding) - status, new_data = Data_processing(subject_EN, data_use, url_main) + data_use = Spider_data(dic['url'], dic['rule'], dic['coding']) + status, new_data = Data_processing(dic['department_EN'], data_use, dic['url_main'],dic['type']) - log_txt = Log_generate(status, new_data, subject_CN) + log_txt = Log_generate(status, new_data, dic['department_CN'],dic['type']) if flag == True: - tool.Log_Write(subject_EN, log_txt) + if dic['type']=="通知": + tool.Log_Write(dic['department_EN']+"_notice", log_txt) + else: + tool.Log_Write(dic['department_EN']+"_news", log_txt) + return status, new_data diff --git a/src/tool.py b/src/tool.py index befbbc1..4439ef2 100644 --- a/src/tool.py +++ b/src/tool.py @@ -4,9 +4,9 @@ @contact: zhaoqi99@outlook.com @since: 2018-05-08 @license: GNU GPLv3 -@version: 0.2.0 +@version: 0.3.0 @LastModifiedBy: QiZhao -@LastModifiedDate: 2018-10-18 +@LastModifiedDate: 2018-12-24 ''' import time @@ -42,7 +42,7 @@ def Log_Write(subject, log_txt, flag=1): log_show = '' log_return = [] if(type(log_txt) == str): # 处理第一次爬取或无新通知时的日志的写入 - temp = time_text() + ' ' + log_txt + temp = time_text() + ' ' + log_txt+"\n" log_show = subject + ':' + temp log_return.append(temp) file.write(temp) @@ -72,7 +72,7 @@ def Mkdir(dir_name, flag=1): File_Path = os.getcwd() + '/' + dir_name + '/' if not os.path.exists(File_Path): os.makedirs(File_Path) - Log_Write('新建文件夹', File_Path + '\n', flag) + Log_Write('新建文件夹', File_Path, flag) def Mkfile(fname, flag=1): @@ -88,4 +88,4 @@ def Mkfile(fname, flag=1): if not os.path.exists(fname): fobj = open(fname, 'w') fobj.close() - Log_Write('新建文件', fname + '\n', flag) + Log_Write('新建文件', fname, flag) diff --git a/twilio/__init__.py b/twilio/__init__.py deleted file mode 100644 index 028fbd3..0000000 --- a/twilio/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ - -__version_info__ = ('6', '10', '4') -__version__ = '.'.join(__version_info__) diff --git a/twilio/__pycache__/__init__.cpython-36.pyc b/twilio/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 74a70bfe7d4635eb0af5ba8f9824119bb4b59440..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 242 zcmXr!<>fkkVSbb!0|UcjAcg~GAj<)Wi-mwh3TqTY3Ud}?Dnm146jKUIFoP!BEk?6j zOoj%x7)@?5>iKCh7cl}A7BPVckX}vZTLSU%WvNBQnfZC~nR#jX@$t7<vhp+YZgC^T z<5w~iae%adh+qEBRxzQ)KrJzWnNb;u`7w?K1ulsti7`I;$%#2JA*s0qF$I|gx=E#( zIVrlv#X0$DmBr;TCFPkpnfWj(9%xx+NqoFsLFFwDo80`A(wtN~kh6+G1PdboUS&jR diff --git a/twilio/__pycache__/compat.cpython-36.pyc b/twilio/__pycache__/compat.cpython-36.pyc deleted file mode 100644 index 6e25413eb35fdf27aedb3908bc25c3ebab771f9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 454 zcmZ9Hy-ve06ovhhrfF!aN-PNV1v0ctnGixCU_b%{0t8rD(#8mb9b0yyDxG)}W}bzG z*((zxD-(7K5@5^c9$kI+*q-!y@yqKI`G5etfnRIY`5kx6qmz1=gB)@oAb|oABrw4u zAOQqdpx6iiZ9T;L6av2;iFoMA#$%5DPTYV3U4weyxPZ4sM4~2T?K@?$OraeTEy=uf z4wCTQy#geG?Npl6VkUEHBWG2n4Yh6O?j<X1>`YZO%>-)XN3h1O=)g<MH=qsJf~k`v zwq1vFHXSzu4gL?dD~Cc!T^?vHwGEfJ?XZ&SQc7-g=n^e<anC?^{S{t5kM}myOGC9u z<JOWV)-=epY7bk(^~by`Vy+imB1GVmu#B441dHnWyEPaVCGtObV5iV^!N|OUS(9 WblZQ(44fb|gnisa>j<F%?4vI;JaWtc diff --git a/twilio/__pycache__/request_validator.cpython-36.pyc b/twilio/__pycache__/request_validator.cpython-36.pyc deleted file mode 100644 index 9b1db22a81587a6d2f8cdd288b2989cc18dd5c02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2759 zcmd5;OOG2x5T2fw$6jx=A<Kpcfm%@xF=B&uHwwr?C}^Vq5=0?vNEjJS#_sldyz@$T z&%QK1IahuI2TuGJE}Z+y0r3}dqH4zDILV$k(blxPd%CKttG@bb_SV-sfBgBYf2D00 ze;F&yhVfl^<N!KmFcKSn{ZD)Xb2By*%eM%wS+SiszEh3u*iBk~EAe~}<_>dT7=D|z zm<RuzuME~^ofih{@U^++cNzJ?=&k(&Cm0WUMB8!_?!dqG@Ta|=sqN@I%C%RBI1h#7 zBNO*QbKpVq_TiCtp;Ja_%n9^lPL3?GiE5cSGf%H8QsSz4&-i(BV9u<WU7Dp;+DGPh z#>{+v<B3t4V1jl2_kNbZDV(a4j7lY<^ia~1NfdLMi%jv6f)yGbhEXaNRZ&t+l?q2k zveTi^`XC-AD7%o~=~Fe~bQ}qgs8wFPakt(GH_TGj?5wv6t_qRLK0Ocxr_s35*qDdr z^5;bue@yR(v8>*wnOaDyvz+&7KO0W_&xTnRKdaX7AAn=6n5P0g*mL|=t!<|n>}pqV zS;R`4qaAp5e>X%2w!VD2-yb}dT*$%qkv|Eu!Iyb{FI3^++iVoZg9D!AgFMQ&heZ^# z?L8T1<1=|OP$y9wWzC-ed%0A>aTrG|RGGMypXt`9_B|dWyU-c!4PwJ@lWY)y3nPN7 z(5%H%h5iOiN@HqF34_2h^O`Y(a8J#WFzXjGGfQ)7%?${zeg4}co@B=mT?j~?2}RQ) z8FE3#B1>pUA3yr$wICKE>eF!%$M^<>LPZa%d(g!NIHOrg&$0r7&BZYn3-M*Vmcl2I znq-B7LsrgxEkqE2YW|Y+1>O@9z)iV|vr*3$mta9VGLIvry+H6h4o6(Ohlq=~XK4#e z^*bp)32G6)g=1K(f>w8HsAEl39thBi_hCW0&>7wa=@M}TMkAay&4R&Qc;rp!xPb}p zn+#kGNo;X@3=U@Y3*tMA1b0~r-0bO%M|FIEY{I+DS<GF0_EGBwbS0Srsmvi@0cZzl z^TD}OsPXn^08p2wql|IwsO*TRNClF|W3dHtZ{Eubf+&qt5PXE1D~cfJ*WR?_R<mn_ zu*U{`_liVvn3QB@1BIA?BywbnJEu2*Jj|&%2WnZ+hck0ayL3wTs`05Yv!8$X#8B4M z2Fy97J#`t#s@B|^wUjq)m#t|BWoKS#iAm{A*YG{eylJ;Wr4@bx;YQvmRE<m-9i|}! z7Dyu#fSAMRn5PZoYJ{yY&3^zXN@H7aRmE69E_ntFbqpN)8q_6E6-D?~S+f9sh13-l z5V1b+B!|QjU@5W{l>qpd(IKb9GX>d>WJ=*eMH*pL>COBMaw6U9tz2oDI0ulS$OqsP z;KIfs%VVnyX@IgW5X9P*fN9RO6DgiZZBLSLq%FvU8Zhs|9)ZBn?l6@6&TZWu-nqR% zn9HI=Fj2b<*cTCp=H|V&xQbHmR8qB@Al1}Z6RF9OCdb->Lwv8X^i5P=Uc3mFH`oSM z67?Bv8**-oY*<_55|CWSJiq=HT;CF3;`X)Tw+rg(vIm9DMjkve1%(mx3d$Vdji?%* zfaN)qzB!gVGu#K{Es~T2&=$e1>9A(HmDtpU?SBEcr91nSpXN}NS3yFflzx41@Q^;; zuJ5q@LxUeW;UQ~Sx`OX3z^zo)#t(TYC6|yARh5de^nwbDTC_7!DwjQ1U|0Z%qX|#A zwvl8jR;{X+Ko;#euOKC^<L>tIGJXeKEIGS~x4nfCykbrd1dX-_b<w+s<(j<@dM&6H zK^i7J2y`b1l8hBGj=MpCUkvpd@g8Us7ItW&K#Z;+8SAmY;vqJn!yQ%8@J!F@ZdGf& zb@2hd$AY3;lTc3LXjtc(C8N_ywZC3}0^CAOhpPJSsN7Zi25XOY;VT7#S?RpU0PTHV Y-{1=@kP?fc2Oj8}U30_oE_>_$0-X)-WB>pF diff --git a/twilio/base/__init__.py b/twilio/base/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/twilio/base/__pycache__/__init__.cpython-36.pyc b/twilio/base/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index b83f3a345e652c509bb0cb6f411539bbe7736aca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 167 zcmXr!<>fkkVSW??5IhDEFu(|8H~?`m3y?@*2xib^^jpbL1QJFNze1d?VnT~ki;80c zGovyR^J5$f3S1IP5@USwlM{1dLQ-=JVhS<~bdyRmb5eATi*xeRDvQfwO3E{HGV@_n kQetsxOniK1US>&ryk0@&Ee@O9{FKt1R6CGu#X!se0LG~;`Tzg` diff --git a/twilio/base/__pycache__/deserialize.cpython-36.pyc b/twilio/base/__pycache__/deserialize.cpython-36.pyc deleted file mode 100644 index 676d34d0c096be6ff64396e967081be2f7d86da5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2101 zcmbtVPmkL~6rZu3#QE1Q+lnrt2OkK+5?LkL?y9mX#FA}AB{qd_N{ba~@n$BiQ#-cC z6O}~EY2jGD0%yJe2fhNAUh$PvzXB)T8z;fprX0YLXP)1@nR)O1-tT3vUa$QA>Sy;= zk&r)0?$JR06yD@p7#LwRATG{YKts*dLfzFVe(Qk|7Tki8X;5^F%y3Jr;F_$+N<R>{ z%uH5>xxy-}3Uig!SRH1{uCS{x*BCt^_SS2-h4gGKEgkWpA9_Jr`^-!HVK<sc{++aG zT8=%DaOO!qHyhtH8)37-=G#lD-}u~V96OB@cS!LlcyO-4+l4oAV3^&MWK72NoJj3L z8|%^-7Z`m>$HfbBLJT5H(i~~eE8-S~&6J#j_6bA`{^|2yD;7Loq7RAXO|1JT53Jh< zt+s_8S&0<><SFQxCAgf53D{VV`rT|bIvew$v?5{2XG>dkoIg?;j10GrJU`%US1mc9 z^g=6fRyQ?AkqA90Ia|B)qfV>6-)yy;oqaponR(!-4@g{5&i%<K>e=PgL}#TR^3(*6 zV<laKNHCDoqr?8)(|Zpd9v}A8lHhUR4S8zBGdWN7sT`&TZcfYnS<LSW5s9?&wHHh? z8LpwpFGOrXn*Vy-bq0?TE|S4lzWdCJ28VHc<VkPvMKtt+L7#{5Aok<t+0+kMb1w;^ z(JXl}kT3kekCxM!m+%4OaE$K-{+#c|v$W<Xk#ZG1sUWN-45Xydn{=CsZICyke*i19 zoz3Vg<cqSTkZ)~3{tuPNw;+!x{CD(~MOFbHtCQBsz=9I^Pw?k2&XqvF-EsDAIr|6h zdNHVy$y^cW@1i(F0W#CGO#$>Lq69;FBVP~w`^U?g5M?yMtcxlRbsVn1U{i4wWyC%k z-T^7y%7cYB-vI3jupI>KI%rmaVZ$-tRdj8EAc24v^m}?v8GUYw>)0qH1^U7_(|*+6 zBR`R`CiStw^q1H~jQMYupn7<(YjtjSI%|a4Ow#`g)AFhuOBYQ+6)QFmXF<%3SoB^a z1dvNa#4ZR-MTW|H-fc}~8~Q15;8afIfWMJ>F&bjjr)Yw4eE?@IGH+6o8dSUsnpNhp zQR?uj%p-};!5W(%A|UAnHb6Q*Tg$D*vNpY}eSab&XnBj~txOjkj5(KVv&CgD@;e|l ztO9|~U`Jt>BP%U#ZG%CA`65LF!`T68Eu2-~{}5JYW>!jy=~QZp>DC(4v3#`oU@gRn z1wrwrT=50la~7jg=L7VeONQ$K!Y-xg*?OwON1iw-_1_3_ap@g!Jj1N00cOCK_d#RV zvzoww|H)Na<stla>`tX0Bw6Jso?>?t*Kj~o72Oo_>Zshsin)rk=AAHN(|~`1HIX1c RO}a&E)YKr)x>;Ah>fdE8`*Z*R diff --git a/twilio/base/__pycache__/domain.cpython-36.pyc b/twilio/base/__pycache__/domain.cpython-36.pyc deleted file mode 100644 index 0c44172d599eeb38c6da2e352e8634a3277f0e0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1791 zcmZ`)yN(+-6y=PhkyhSEVh1pgidA9-v0S(@gdp%{4JQGdg`FskAYep^l*Qed;h5xj zvGQ!S+vXcw=Lhl=X;M#{IzQkl_mZQ>S_uU{=JN7B&OM|a9~^Z5{OkRw9TD<3*=kK# zKZR~SgW-F^2@h_d3v%5U1w8zP^cpkRSvNTE^}m9JAfQ7=ArD3k9`eQw88vy6w_tAZ zF7NQYn_v|22&~+xqGu{)GF!gxQfR}4G*pXR3nMaXD6@2UArq<S@yj2nDW=?M_q$H} zg*+Eu(+SIE-#V@SOr;a5G@T?$ofo;;l7HEEXJ%m?G|t#hpqo!%D1(y3kR*%&4<NX3 z`NSQ;zy>+fEL{cTy$v?ITG&Eo8^LKWtRk;fb*9XSxX=m6nnomZjc$J@x&_mRpHBwk zUyaaa{7Q}%OpTB8{28-s{6fuGG9HRFALlZEI4xwtA3ipTnqQiWvA4aN(8IWfCcmsY zaV#@w<G78vVJ%533YJG6>i%l?78I!Ep!ggXJUAmIISbB09$p7!Jzu-JFaKDleWJ3r zLSvbrW(l+Mt)P=a%L%oLvW&8+QAuG1h2%Z@TTmLSW%e4j<N(SpHWomF=Tmkr))ux- z*HF{r+xF=L1c6gEpHqu0@^JLl!7f|xt{%O+`Vc(oHL7T?bjqx5K(bW}L&<xgMhvP3 z_;;o812VhXUuA-2JOYVvEQ*%*YDl;DPoK~BKm}X3?he>5-~&J<B|v($=ivp;?UjwP zS+>fkY?mD#{MJF{v3~+Mjc8%}37`OwGy21D_!5A6QwU=bqpd`@5b{*5@lAzYDDEM4 z$GzbH)Ys*3y70B5$mPsZ=fVu=t3v2Y|0OJtct=}J&jjdmVDzfYKKiNRmpj_d_ChcY zrnW+^B|GZ2$P?g5VHX4X9W!#~*3^sDoIWVvVr49aM<Qp&Tqw;qe5h}<%m7K53RT$K z0oKADr&Fa8%92D~#9DBvAw7&$7lKNpo}jZt!sA8FLKO+8bA`IDbnAky4{ogYqAK#J zR!u~!YS&p;O-!(A*YQ+GANlSz^gb}lJt|eZCP%O9$sGA=>pQ4%fWsjUNMVg{p8gbv zyD%W{laF|>@4?1>=<aWT9Cm{!2ygwChxG+m`HfDoJ@2*g5klzWxa!7ns(6v$dOwce z6fCKC+HuU)ERHokR6Y%KxfKS!ks9xyh6_Qk8@yDVRx{{8BY~5<=hjoregBt%s`HJH L;#+40jF5i;vbWn~ diff --git a/twilio/base/__pycache__/exceptions.cpython-36.pyc b/twilio/base/__pycache__/exceptions.cpython-36.pyc deleted file mode 100644 index dbb361e237600c2790ac8b64ce7c1a966dec2b63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2827 zcmb7GTW=dh6rR0!ZEun$P1>{&kOoi-iy9|Y%gw5)RHc+kV3pQI!nL&8c*gdcy|^>u zx^e6$_qD%)7lg_iKY)M03(xz?6Mumx&Y4XdH;Srctvx$4K9_IKoXgx;T5|vT`<KRV zWkUWTbB_(<9eCxJKp0_0L>l-tBO^8&ra|r#W-<FEVK%p>R>OvQfjKaDxDE3HGaeJK z_%BG4nrCFjpoPQ3$AG~OymAo;Ck=y<hN(r&Y`H!RqcFYqqQ(0vOp}^tWhLKFf|&b$ z=K6k|vO$F7Mc;om2%`L---#%KGEM&b@ou&GL~<dUKZK2LkT&o1`(FntXnvQrf~Z;N zalhFQ`<uIiFk+iGWR$k|<glr<<-^ZzAbFD?!jP5zp0L0IT9GD@lA-5sYz!H8kl{lh zM;mKctgQWGG;CI6rI!ReWPyj=Y%SmJBQDi!%fTPuAbN*(c)~^4qBpm<X)5Sv@QL_y z9?=;p+7@X{RhQFT4ZZX5f$LIus{KF&F%1(%r3%zQRyEtV_4>nu1(*kl4g*OAR|Ao7 zM%!QomCf|etCC94fe5R#4jfM&J;>!-!9arKTcu*zsls-;gE&Yw1rJ!T8*v(QDT59_ zGAcwWjvI`*>ZUBWsj=q^G&h>kIQW@s<AOgMfDh;8VejKwnsC}m8AkxQk2YnWx575~ zm7_)d@0%bhu*Fc)P-<=HO`4>N2G4^q($LXQK?LW33S>pIWu%r__wUtP4jer`_%-3Z z3$Kocu{kC_85=;2u?5r|+d!>x0jSLg#Dh`u3Yi67&Yb+zG7FrS*|>wu$@lI#nJszL z7E7R5U<QeENS2YTAekkCD8Ur7Crm=+`|B{1E)Zfk2fxvKC&XXnP@sj0iVtc;U3xEn z!hjjfd`TuoUIiv*p8XRmkM4;L@$SO^1x1w6Gugt_6t8jAv!+D6W{W+0Y_O%NF*eyb zpf+0`lOFh?=d{grqSse|TB-<ZrKvGB*!fq5i378;_?4~p+_A&fK#R#PARqd$SJr$N zUzr_qY5=eEn6P!=A-x5y#f14K@bcx+4y}tls#4mA*jIa-eSwMcMi5`4VH;L-9MDc0 zCLNk4RJH`?NrlclgC4?DehjZJX9|1+h{!sgr&$}VY&^YjJ>GbF^Q-uZ+<3Yjdxk&( zsEUPQDwsTeT$X@*LT$)JjL|12pAe*@?^kX`SkdI|3J9GI(-$XV5^G@dIHJO^8!G<M z9HviCg-MH@4b{!lqq29S0lzv2$~zS(lsX%x&(DBK@gVZfj0vSq#)R3*j2;<7PUP`) zwX0NLR=2i>!(m0~j#X);@fJ&4aw{)LTl?D+2rmc9R2(RXH(eTzRfS@QD<3M&wK=rc zPUXP^!ORI|0Le4@#@&bL^R?{>g|V*0K6I9e>+U05KME6$lN_&q*l=*^pbbpik*f>* zJ*=st^FO5n0gXwk!X{N66|P8nMUD<a@2F{E*0$3qN{5)EVUq6}ZVpwi&?wK4H5TT8 zHOezsjpbvYvf=?GfzBUY1c<5NP(s@&;suw%XY}#+usClGTG1Ze<#S!4%LT7`W}`fl z*VTHoruPYFl=qJ+-M>Dmd5c-G8=yl)X30H?4S<15#k&APTt=d6JJx$(P~xcQXLb+D zlWqrIQJhEC3rH>^!J02FA$bRh?i9x(!S{7Bc^?=gCKRzshd*cCv`uUltA=UV#wv_m znBnSZ<1NwRS=xIwu>k5kN8p806p&zB%!<Ab@#_0x6_-9has*0`u-gc@mJ(DTQK(e5 sO}D7mKp}z!KZGxIG0n=e%agv8X|9u0W~E#C{qZ(d*Ici;Xsy`)17HHx4*&oF diff --git a/twilio/base/__pycache__/instance_context.cpython-36.pyc b/twilio/base/__pycache__/instance_context.cpython-36.pyc deleted file mode 100644 index dba265f79af155e240491549ff8edbda71d6c671..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 526 zcmZ8dy-ve05O#iOqlk)yfw60bcIj3jR8%B{geoC^hRBlT#;!1OViTv7R^8}(F!Khy z0}FFj-hzp9l2#QbeRt=(`|f-<=ybxb@Avo<A@l>-i4WcgV2(juB8Hf=0dVx@#SU|C zQRF3%*@+9@2vF5?1T`pj8B}gi>@g4O{qpE4GX>2OK2}-5UyH<&tXOL?2AB}k+F2t4 z<ACO_qOjY@P}7{I-3Oi<p|b8vZHK%3By!4tG~viCeZ%FfY&U@qlpjFvUpyY-djnj2 zBjQJ@@VV9(w4nG}B~;=&o@%Ux?oH=HvfjW*HCvhmE*3%xwKY>}I2O%5B&iqb>m|%5 zA`=B6b|GWWi2RnbI{CMIe_J+z!vH6vDJP^12}u>3OY0vJ@;s-q&g5-qRQ-QXwQS4* kWnt{Vz^UF7SiYsEPdq8A_a4WdAh*OaIITyWRcwf$KM@>)VE_OC diff --git a/twilio/base/__pycache__/instance_resource.cpython-36.pyc b/twilio/base/__pycache__/instance_resource.cpython-36.pyc deleted file mode 100644 index 65dcca5074892a5749fafc22dab1f6805d3d5ef3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 529 zcmZ8dy-ve05O#iOtB6VrENopfv`e=Np`s!oBvh&V4Uv)M#;!0*Vq+&%t-8_oVCE5c z1{UV5yaf~IG_5L5`tHtm_xb#}-);wA-|x{ULg)vuGas@cz#N0SL<})!4dCd_iyY?O zqR@+>voja6A)uP)2xd^^GMHSW$YUPN`{mJ9W^$Uv{DvD@=$OZrWz9y55x@lCR?Z3$ z*atj!83vu&28wE$b{@DkLS~)UO&sj{<IpKvq%MbU=^LKR%4S{oK>7gg{(T$`@Vx;p zo`~p)N_?)=1<fhGmN8B69ZwZjLUpHwNLaUT5;<F#InL)I5po-*)Nm|nK}6SzdTId= zAR-evAy$#GABp^ivpo5)zPFtl!`}cYqbVn(3<yajD-xR@67o{eWYf`2xT#XG=Nh)= lfU_`mW6P<|W02pF(`O#%)p?I&KS5h!**e{<I;+@FL4O64gN^_I diff --git a/twilio/base/__pycache__/list_resource.cpython-36.pyc b/twilio/base/__pycache__/list_resource.cpython-36.pyc deleted file mode 100644 index 0fea55ed167224cef5fbbbcfdd80e784c93d58a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 517 zcmYjNJ#WG=5OqEZD1xosSu?=GhN_B+N?j0AKcz;NEE5~mm4jV7DFU&T|IxX7|3#P1 zS^F<K^&A4?q<43|yXW)spwo%Ie?F2ggwQYGU?F59fIS6wjTmCy7QoSaka*0$LvfHo z=U_f$BS1CJ5zL^(XE3=%Nx%Y_56kvM*!-4TRhX2gj^WHjhcUoL;5Oa{5!eMBe;r5N z+J>4Mnspz!u|h4nZ@V}=^rx{`wn$x${W7#%&dX+9_(bLe?*4lk5AlNqF1``TGgbIf z>noa5JW(l?_?~APYoU9yLP*vdSgGbKyTtiYNTK#&MlHt@#1K=f>FX6NCt@LTLYx}w zJ`jZsZ+&*Gy1$>9!hZl^K{HNB84;2xR!En(33)B3+;vP7ZmC{=<QlH#fpf5KTg$7? dQ;^+IvlpJ`)%l3y#2ZH}Tj#q~7Zn>S=pQDaezE`n diff --git a/twilio/base/__pycache__/obsolete.cpython-36.pyc b/twilio/base/__pycache__/obsolete.cpython-36.pyc deleted file mode 100644 index 32ae72c85a7bcbd4bf93c41eb3707c06c4fa1c92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1025 zcmZ8gF>ll`6t<JxHJp01NQi+2Ge)8}&<#~pp&*2W3W%~qks>E{?%X<Yu$>+~+J&nG zzk!9B-@?M2m5IN=#B;7G6;}LW*?!OO``-7q$K%nDpWos$520V^+6Z912h%(N!w|y~ z#j8J#@pHsH=3gM@b8qR#J`3330>uHtZ&5V-4IbzqceWoG7JD$wCK!%l%uwtx44xi% z`0cG%nNgBk{_I1}Yb#W>cu1a5!$~fwF{DtM%&D$KH8q50s<A{}dXR!s+h}ek<RA*# zFik63@-%HnX<91QNVi^3)AtRPmnUm!%2b}F-;rK}d^+>zaQ{*A&Tws#HzJ-<l{~KN zr_|EqrOK&H4tZH8wWznUMo6}`ZKNtr%{;MlA%*IH8Kj)_nN8|b4YZ<x1Mc_?ae%v> z-0|UtJ9Z~NOmi2EMMwAxTH?>Bzzj3*B3$BgeCBxd7hex&!Vvf<VLVrwT1U%F<TH}f zie#KLhBIOnDXBgt`%>`At{CLtWJUzWRd(csC6K%%z+EFP5fy<TTx$rLabTM8QdkQC z=QCarJL`)fR)IuiEUm1daAk5;ZHLIAx#tkw?hrBTFdcbIyu_cN@_@xVScs43WJV1< z1;I5h)d{>*XjQ^X0PzGW0Wu(}=w6m0(^Q{M$ZN@+EHp2;c1ZI^YljjF+LW-MPCT7n zrj1~<%K0SnJJQ=BsHmh?yYwQj4XB=)c6bcBnwki=LD5wCN)RF3Xv2!nQ@6L_pbWtv z&%=SYxZhKl<{iV69qA-ub|<|DM8DxYty0pogSn=)i9EdyA@tZ8C%Xu*HoC_){);(+ y3!P@r;7+Jr*F=Lh>{~$JgpGFW8sw^BI*i@Tf1<vQW@pt5yH0u?nh=Nn=HM?-?HB<7 diff --git a/twilio/base/__pycache__/page.cpython-36.pyc b/twilio/base/__pycache__/page.cpython-36.pyc deleted file mode 100644 index eaaa465f077c57b063fad780f5b6090ef6cd8ca8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4130 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 Ry;q>}J}E<yvwL>i`8N~{@N578 diff --git a/twilio/base/__pycache__/serialize.cpython-36.pyc b/twilio/base/__pycache__/serialize.cpython-36.pyc deleted file mode 100644 index 5c8d7ad5fbf1a53b7844cd17c91e239766ebd7c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2415 zcmdT_U2hvj6rI^!I~&(&s}h<>K(zuH$*8f4Do_<g5v5U8P#Xbhg=)EqHlA@Z?tXP< zoHnlW<Vr1%h#!D><hSs`^S<)LU+5F(j@?aCQSr>Kc4p_!*PV0Dy>oqOsqx33zjj|O zF!mQa^?3OI3ZJ=yLNLJ-)}7V7%hC1{FZH`VXTlf33)T%pP1I4>#DWM>*Tte}pk5H? zL=$x=_zr6?{f*VwcAJ;=!#Ej9)8}NsL$#0Z7Cv(q#e`Wl<c~dle!_N`_0aZ*{?yZ- z+F-(lwJDoo#ksu(`#RYxTL8-)n(6lS#=kWpJU>V~(peNo#%h)AM_LwI8kyPHsyvJG z0lGwNWn>Rxi$X^CpQ=RV(arC^iAI@_+SoV~#w~U`*C|FR6FtPUcJJQW)>db}g^9NF zOh#%D2^x^)w%YWn+rg?-UX60?8g9Amc3l(dWo?uhY0HK(Dx>ZCvJA;7no|1kybP!b z5V`oB=|#+W{ovMm?}34Pz3)}`AkKR?i()Ibaqn*4kCWbgnHIf56>EDVm58<LCdmg! z=4sEm)4i$oVk3K4M8%03%T94rHkHY5e0lBjUD^;5Vdf$VR%`HpH{BcZ2G{3c`*$Y4 zM$fyLG@s7dBd)Fyr-E1f)nVIo{CUug|3Bbwe5v(tt(C5|#QoNt_13-h)=qc3z2G?2 zK5)<h6*Vdd$}$9%10q$|(QI=aQWw!VD;hND;%NqG@MTy{6UB^$Rp1W>meB5#dg!6e zXfLYYiY0}JP;8$Kyq9di1sC3n#h>O;L=p1}Y)$#G_mZQRB0HRT!(hs`Tx8Mgc5S?K zHkO3yTMC^b)^Td0ey$NyMV<+YFq<Qca)VIFqBMG{?12lbSO_U11m8eCbF1~qS$YT` z!s9)B&iQAzAq_?@JX-I0$Nq6(`6RF&i3aWl6F%`K{ytw}Q>3FO4YCM6^eZdhfb~Z< zp#<b@m%P&s%9^q=HI5NP6An-Y!(3(Unj@jC;{>C`cEds+?mm`BrsR)Heu$834wBef zneEb~6Q1<@aQ8EEnOI}|5=dG0R=sg&c19_7`+1VYg;9Hn+)d-6vyo6}n$6DX6{{#B zI4T&fprOFbqsssQ>`XiXNN{*Q^?vc51UMKU*Pb7Do*z?c9k|5Q_DipGO%slK83pys zoH=p(bz_6h(a+Oj^9zhIB%wMRU;S^dPbLC1ns!R#lqB>86!3wkdKG`&#rZL%aND;% z2bt^BPU)-f+Vc}kH|J5X0C~r|wAkPwzwGG`V5#srbANn{9!q%#_?Tt)M{>D>8)SY* zP-X#U$yp^2O`fTNf->K_AFAsi-y2d=ca@3e<6}@7$;3#vnx5S;G-Q<7eAGXX!gT;A zmjMW!GDwsm(P783CPrytz>kkfGjd!OaIn;2lYP66NrnW$YReSx5&o)xC-_M)^qB}n zb$EAqR-qnF=7Efadc*mIYa&t7L{-+`9gMO*MXfxP`Ut0zDXvF~-o#iprGlJxr31N0 zC57#iM4QLl36uZqgn4otFusC8C8wL~{Mil9D3XwIiu@MC-zakBOvr3hW3Z|N^+Swp zd!-LAHPJs48K3<-AbqT`MJqZKNlIL|Xx8E^Cx3+h?z!2G*rBU%rfRy|TzYkSbGW-{ hCkH!mz6>|gT#ORANpf_W4SDD_{qRD#6t0Age*pPdM}PnT diff --git a/twilio/base/__pycache__/values.cpython-36.pyc b/twilio/base/__pycache__/values.cpython-36.pyc deleted file mode 100644 index fcdb1a3eb1d09059fa6a57449cceb14e9e31d57c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 608 zcmY*W!A=`75VgHYpaCu%I99&yA*)KcMNtHTBSI>)mz8^P){f$4H+F4rQcyUBKj;Va z%(wK?^Ikde3%S795uqLFjYs1*<2U2}(NXu$-{1KQLg)#wGXl{mz<mTKkiaFXaE>vO zWR3Df5Rp8fyd_#UC~ZFj2c@|ApuDtz$`v@Iz`~gT&H?TioWO!SAdgmPjV}ODpWLmx z6zp17dLd~&chb`ZFKg-O#OjK2DpcXKZe$G%x4eoODhBjy8+lEgx5{K&j+MT)^LVwR zER~=B-`vIr#kOWAImm4RZi3`6z5=n|P8hkz_hdypnkBZiA}joh{DAQv!{qHKI!zjq zeQNNm!3!JOM7Oy<AF!`ZTE{-Ce9ARDGv<PO&MtMqOZG)ph8bmg<64!X*LS6!+`1+6 zOI0fUc8s}`Y`c`q+-|zVu#!SoW^@>IhX3lIyAwUhhGl5$M%g<h#WoN?C>HO+>^|fg zq9^UQ4rtFFKzx<9o5ZP~v8d_j@poBx8+H<}|LG8ijBWOZl@@g=N8!g^;2z>m@(On0 Bl;Z#Z diff --git a/twilio/base/__pycache__/version.cpython-36.pyc b/twilio/base/__pycache__/version.cpython-36.pyc deleted file mode 100644 index e6085fded72ad9116baf264e6337d60903ea9e53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5010 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 ICTm*%1#O35%m4rY diff --git a/twilio/base/deserialize.py b/twilio/base/deserialize.py deleted file mode 100644 index ef6370d..0000000 --- a/twilio/base/deserialize.py +++ /dev/null @@ -1,69 +0,0 @@ -import datetime -from decimal import Decimal, BasicContext -from email.utils import parsedate -import pytz - -ISO8601_DATE_FORMAT = '%Y-%m-%d' -ISO8601_DATETIME_FORMAT = '%Y-%m-%dT%H:%M:%SZ' - - -def iso8601_date(s): - """ - Parses an ISO 8601 date string and returns a UTC date object or the string - if the parsing failed. - :param s: ISO 8601-formatted date string (2015-01-25) - :return: - """ - try: - return datetime.datetime.strptime(s, ISO8601_DATE_FORMAT).replace(tzinfo=pytz.utc).date() - except (TypeError, ValueError): - return s - - -def iso8601_datetime(s): - """ - Parses an ISO 8601 datetime string and returns a UTC datetime object, - or the string if parsing failed. - :param s: ISO 8601-formatted datetime string (2015-01-25T12:34:56Z) - :return: datetime or str - """ - try: - return datetime.datetime.strptime(s, ISO8601_DATETIME_FORMAT).replace(tzinfo=pytz.utc) - except (TypeError, ValueError): - return s - - -def rfc2822_datetime(s): - """ - Parses an RFC 2822 date string and returns a UTC datetime object, - or the string if parsing failed. - :param s: RFC 2822-formatted string date - :return: datetime or str - """ - date_tuple = parsedate(s) - if date_tuple is None: - return None - return datetime.datetime(*date_tuple[:6]).replace(tzinfo=pytz.utc) - - -def decimal(d): - """ - Parses a decimal string into a Decimal - :param d: decimal string - :return: Decimal - """ - if not d: - return d - return Decimal(d, BasicContext) - - -def integer(i): - """ - Parses an integer string into an int - :param i: integer string - :return: int - """ - try: - return int(i) - except (TypeError, ValueError): - return i diff --git a/twilio/base/domain.py b/twilio/base/domain.py deleted file mode 100644 index 459c1df..0000000 --- a/twilio/base/domain.py +++ /dev/null @@ -1,48 +0,0 @@ -class Domain(object): - """ - This represents at Twilio API subdomain. - - Like, `api.twilio.com` or `lookups.twilio.com'. - """ - def __init__(self, twilio): - """ - :param Twilio twilio: - :return: - """ - self.twilio = twilio - self.base_url = None - - def absolute_url(self, uri): - """ - Converts a relative `uri` to an absolute url. - :param string uri: The relative uri to make absolute. - :return: An absolute url (based off this domain) - """ - return '{}/{}'.format(self.base_url.strip('/'), uri.strip('/')) - - def request(self, method, uri, params=None, data=None, headers=None, - auth=None, timeout=None, allow_redirects=False): - """ - Makes an HTTP request to this domain. - :param string method: The HTTP method. - :param string uri: The HTTP uri. - :param dict params: Query parameters. - :param object data: The request body. - :param dict headers: The HTTP headers. - :param tuple auth: Basic auth tuple of (username, password) - :param int timeout: The request timeout. - :param bool allow_redirects: True if the client should follow HTTP - redirects. - """ - url = self.absolute_url(uri) - return self.twilio.request( - method, - url, - params=params, - data=data, - headers=headers, - auth=auth, - timeout=timeout, - allow_redirects=allow_redirects - ) - diff --git a/twilio/base/exceptions.py b/twilio/base/exceptions.py deleted file mode 100644 index 8e2cf20..0000000 --- a/twilio/base/exceptions.py +++ /dev/null @@ -1,68 +0,0 @@ -# -*- coding: utf-8 -*- -import sys - -from six import u - - -class TwilioException(Exception): - pass - - -class TwilioRestException(TwilioException): - """ A generic 400 or 500 level exception from the Twilio API - - :param int status: the HTTP status that was returned for the exception - :param str uri: The URI that caused the exception - :param str msg: A human-readable message for the error - :param str method: The HTTP method used to make the request - :param int|None code: A Twilio-specific error code for the error. This is - not available for all errors. - """ - - def __init__(self, status, uri, msg="", code=None, method='GET'): - self.uri = uri - self.status = status - self.msg = msg - self.code = code - self.method = method - - def __str__(self): - """ Try to pretty-print the exception, if this is going on screen. """ - - def red(words): - return u("\033[31m\033[49m%s\033[0m") % words - - def white(words): - return u("\033[37m\033[49m%s\033[0m") % words - - def blue(words): - return u("\033[34m\033[49m%s\033[0m") % words - - def teal(words): - return u("\033[36m\033[49m%s\033[0m") % words - - def get_uri(code): - return "https://www.twilio.com/docs/errors/{0}".format(code) - - # If it makes sense to print a human readable error message, try to - # do it. The one problem is that someone might catch this error and - # try to display the message from it to an end user. - if hasattr(sys.stderr, 'isatty') and sys.stderr.isatty(): - msg = ( - "\n{red_error} {request_was}\n\n{http_line}" - "\n\n{twilio_returned}\n\n{message}\n".format( - red_error=red("HTTP Error"), - request_was=white("Your request was:"), - http_line=teal("%s %s" % (self.method, self.uri)), - twilio_returned=white( - "Twilio returned the following information:"), - message=blue(str(self.msg)) - )) - if self.code: - msg = "".join([msg, "\n{more_info}\n\n{uri}\n\n".format( - more_info=white("More information may be available here:"), - uri=blue(get_uri(self.code))), - ]) - return msg - else: - return "HTTP {0} error: {1}".format(self.status, self.msg) diff --git a/twilio/base/instance_context.py b/twilio/base/instance_context.py deleted file mode 100644 index 3ccfa3a..0000000 --- a/twilio/base/instance_context.py +++ /dev/null @@ -1,8 +0,0 @@ -class InstanceContext(object): - def __init__(self, version): - """ - :param Version version: - """ - self._version = version - """ :type: Version """ - diff --git a/twilio/base/instance_resource.py b/twilio/base/instance_resource.py deleted file mode 100644 index bbb433f..0000000 --- a/twilio/base/instance_resource.py +++ /dev/null @@ -1,8 +0,0 @@ -class InstanceResource(object): - def __init__(self, version): - """ - :param Version version: - """ - self._version = version - """ :type: Version """ - diff --git a/twilio/base/list_resource.py b/twilio/base/list_resource.py deleted file mode 100644 index 823c842..0000000 --- a/twilio/base/list_resource.py +++ /dev/null @@ -1,7 +0,0 @@ -class ListResource(object): - def __init__(self, version): - """ - :param Version version: - """ - self._version = version - """ :type: Version """ diff --git a/twilio/base/obsolete.py b/twilio/base/obsolete.py deleted file mode 100644 index 6c89ba8..0000000 --- a/twilio/base/obsolete.py +++ /dev/null @@ -1,23 +0,0 @@ -import warnings -import functools - - -class ObsoleteException(BaseException): - """ Base class for warnings about obsolete features. """ - pass - - -def obsolete_client(func): - """This is a decorator which can be used to mark Client classes as - obsolete. It will result in an error being emitted when the class is - instantiated.""" - - @functools.wraps(func) - def new_func(*args, **kwargs): - raise ObsoleteException( - "{} has been removed from this version of the library. " - "Please refer to current documentation for guidance." - .format(func.__name__) - ) - - return new_func diff --git a/twilio/base/page.py b/twilio/base/page.py deleted file mode 100644 index e355c18..0000000 --- a/twilio/base/page.py +++ /dev/null @@ -1,136 +0,0 @@ -import json - -from twilio.base.exceptions import TwilioException - - -class Page(object): - """ - Represents a page of records in a collection. - - A `Page` lets you iterate over its records and fetch the next and previous - pages in the collection. - """ - META_KEYS = { - 'end', - 'first_page_uri', - 'next_page_uri', - 'last_page_uri', - 'page', - 'page_size', - 'previous_page_uri', - 'total', - 'num_pages', - 'start', - 'uri' - } - - def __init__(self, version, response): - payload = self.process_response(response) - - self._version = version - self._payload = payload - self._solution = {} - self._records = iter(self.load_page(payload)) - - def __iter__(self): - """ - A `Page` is a valid iterator. - """ - return self - - def __next__(self): - return self.next() - - def next(self): - """ - Returns the next record in the `Page`. - """ - return self.get_instance(next(self._records)) - - @classmethod - def process_response(self, response): - """ - Load a JSON response. - - :param Response response: The HTTP response. - :return dict: The JSON-loaded content. - """ - if response.status_code != 200: - raise TwilioException('Unable to fetch page', response) - - return json.loads(response.text) - - def load_page(self, payload): - """ - Parses the collection of records out of a list payload. - - :param dict payload: The JSON-loaded content. - :return list: The list of records. - """ - if 'meta' in payload and 'key' in payload['meta']: - return payload[payload['meta']['key']] - else: - keys = set(payload.keys()) - key = keys - self.META_KEYS - if len(key) == 1: - return payload[key.pop()] - - raise TwilioException('Page Records can not be deserialized') - - @property - def previous_page_url(self): - """ - :return str: Returns a link to the previous_page_url or None if doesn't exist. - """ - if 'meta' in self._payload and 'previous_page_url' in self._payload['meta']: - return self._payload['meta']['previous_page_url'] - elif 'previous_page_uri' in self._payload and self._payload['previous_page_uri']: - return self._version.domain.absolute_url(self._payload['previous_page_uri']) - - return None - - @property - def next_page_url(self): - """ - :return str: Returns a link to the next_page_url or None if doesn't exist. - """ - if 'meta' in self._payload and 'next_page_url' in self._payload['meta']: - return self._payload['meta']['next_page_url'] - elif 'next_page_uri' in self._payload and self._payload['next_page_uri']: - return self._version.domain.absolute_url(self._payload['next_page_uri']) - - return None - - def get_instance(self, payload): - """ - :param dict payload: A JSON-loaded representation of an instance record. - :return: A rich, resource-dependent object. - """ - raise TwilioException('Page.get_instance() must be implemented in the derived class') - - def next_page(self): - """ - Return the `Page` after this one. - :return Page: The next page. - """ - if not self.next_page_url: - return None - - response = self._version.domain.twilio.request('GET', self.next_page_url) - cls = type(self) - return cls(self._version, response, self._solution) - - def previous_page(self): - """ - Return the `Page` before this one. - :return Page: The previous page. - """ - if not self.previous_page_url: - return None - - response = self._version.domain.twilio.request('GET', self.previous_page_url) - cls = type(self) - return cls(self._version, response, self._solution) - - def __repr__(self): - return '<Page>' diff --git a/twilio/base/serialize.py b/twilio/base/serialize.py deleted file mode 100644 index c0fcf10..0000000 --- a/twilio/base/serialize.py +++ /dev/null @@ -1,75 +0,0 @@ -import datetime -import json - -from twilio.base import values - - -def iso8601_date(d): - """ - Return a string representation of a date that the Twilio API understands - Format is YYYY-MM-DD. Returns None if d is not a string, datetime, or date - """ - if d == values.unset: - return d - elif isinstance(d, datetime.datetime): - return str(d.date()) - elif isinstance(d, datetime.date): - return str(d) - elif isinstance(d, str): - return d - - -def iso8601_datetime(d): - """ - Return a string representation of a date that the Twilio API understands - Format is YYYY-MM-DD. Returns None if d is not a string, datetime, or date - """ - if d == values.unset: - return d - elif isinstance(d, datetime.datetime) or isinstance(d, datetime.date): - return d.strftime('%Y-%m-%dT%H:%M:%SZ') - elif isinstance(d, str): - return d - - -def prefixed_collapsible_map(m, prefix): - """ - Return a dict of params corresponding to those in m with the added prefix - """ - if m == values.unset: - return {} - - def flatten_dict(d, result={}, prv_keys=[]): - for k, v in d.items(): - if isinstance(v, dict): - flatten_dict(v, result, prv_keys + [k]) - else: - result['.'.join(prv_keys + [k])] = v - - return result - - if isinstance(m, dict): - flattened = flatten_dict(m) - return {'{}.{}'.format(prefix, k): v for k, v in flattened.items()} - - return {} - - -def object(obj): - """ - Return a jsonified string represenation of obj if obj is jsonifiable else - return obj untouched - """ - if isinstance(obj, dict) or isinstance(obj, list): - return json.dumps(obj) - return obj - - -def map(lst, serialize_func): - """ - Applies serialize_func to every element in lst - """ - if not isinstance(lst, list): - return lst - return [serialize_func(e) for e in lst] - diff --git a/twilio/base/values.py b/twilio/base/values.py deleted file mode 100644 index f2421c3..0000000 --- a/twilio/base/values.py +++ /dev/null @@ -1,12 +0,0 @@ -from six import iteritems -unset = object() - - -def of(d): - """ - Remove unset values from a dict. - - :param dict d: A dict to strip. - :return dict: A dict with unset values removed. - """ - return {k: v for k, v in iteritems(d) if v != unset} diff --git a/twilio/base/version.py b/twilio/base/version.py deleted file mode 100644 index 51c1bd5..0000000 --- a/twilio/base/version.py +++ /dev/null @@ -1,211 +0,0 @@ -import json -from math import ceil - -from twilio.base import values -from twilio.base.exceptions import TwilioRestException - - -class Version(object): - """ - Represents an API version. - """ - - def __init__(self, domain): - """ - :param Domain domain: - :return: - """ - self.domain = domain - self.version = None - - def absolute_url(self, uri): - """ - Turns a relative uri into an absolute url. - """ - return self.domain.absolute_url(self.relative_uri(uri)) - - def relative_uri(self, uri): - """ - Turns a relative uri into a versioned relative uri. - """ - return '{}/{}'.format(self.version.strip('/'), uri.strip('/')) - - def request(self, method, uri, params=None, data=None, headers=None, - auth=None, timeout=None, allow_redirects=False): - """ - Make an HTTP request. - """ - url = self.relative_uri(uri) - return self.domain.request( - method, - url, - params=params, - data=data, - headers=headers, - auth=auth, - timeout=timeout, - allow_redirects=allow_redirects - ) - - @classmethod - def exception(cls, method, uri, response, message): - """ - Wraps an exceptional response in a `TwilioRestException`. - """ - # noinspection PyBroadException - try: - error_payload = json.loads(response.text) - if 'message' in error_payload: - message = '{}: {}'.format(message, error_payload['message']) - code = error_payload.get('code', response.status_code) - return TwilioRestException(response.status_code, uri, message, code, method) - except Exception: - return TwilioRestException(response.status_code, uri, message, response.status_code, method) - - def fetch(self, method, uri, params=None, data=None, headers=None, auth=None, timeout=None, - allow_redirects=False): - """ - Fetch a resource instance. - """ - response = self.request( - method, - uri, - params=params, - data=data, - headers=headers, - auth=auth, - timeout=timeout, - allow_redirects=allow_redirects, - ) - - if response.status_code < 200 or response.status_code >= 300: - raise self.exception(method, uri, response, 'Unable to fetch record') - - return json.loads(response.text) - - def update(self, method, uri, params=None, data=None, headers=None, auth=None, timeout=None, - allow_redirects=False): - """ - Update a resource instance. - """ - response = self.request( - method, - uri, - params=params, - data=data, - headers=headers, - auth=auth, - timeout=timeout, - allow_redirects=allow_redirects, - ) - - if response.status_code < 200 or response.status_code >= 300: - raise self.exception(method, uri, response, 'Unable to update record') - - return json.loads(response.text) - - def delete(self, method, uri, params=None, data=None, headers=None, auth=None, timeout=None, - allow_redirects=False): - """ - Delete a resource. - """ - response = self.request( - method, - uri, - params=params, - data=data, - headers=headers, - auth=auth, - timeout=timeout, - allow_redirects=allow_redirects, - ) - - if response.status_code < 200 or response.status_code >= 300: - raise self.exception(method, uri, response, 'Unable to delete record') - - return response.status_code == 204 - - def read_limits(self, limit=None, page_size=None): - """ - Takes a limit on the max number of records to read and a max page_size - and calculates the max number of pages to read. - - :param int limit: Max number of records to read. - :param int page_size: Max page size. - :return dict: A dictionary of paging limits. - """ - page_limit = values.unset - - if limit is not None: - - if page_size is None: - page_size = limit - - page_limit = int(ceil(limit / float(page_size))) - - return { - 'limit': limit or values.unset, - 'page_size': page_size or values.unset, - 'page_limit': page_limit, - } - - def page(self, method, uri, params=None, data=None, headers=None, auth=None, timeout=None, - allow_redirects=False): - """ - Makes an HTTP request. - """ - return self.request( - method, - uri, - params=params, - data=data, - headers=headers, - auth=auth, - timeout=timeout, - allow_redirects=allow_redirects, - ) - - def stream(self, page, limit=None, page_limit=None): - """ - Generates records one a time from a page, stopping at prescribed limits. - - :param Page page: The page to stream. - :param int limit: The max number of records to read. - :param int page_imit: The max number of pages to read. - """ - current_record = 1 - current_page = 1 - - while page is not None: - for record in page: - yield record - current_record += 1 - if limit and limit is not values.unset and limit < current_record: - return - - if page_limit and page_limit is not values.unset and page_limit < current_page: - return - - page = page.next_page() - current_page += 1 - - def create(self, method, uri, params=None, data=None, headers=None, auth=None, timeout=None, - allow_redirects=False): - """ - Create a resource instance. - """ - response = self.request( - method, - uri, - params=params, - data=data, - headers=headers, - auth=auth, - timeout=timeout, - allow_redirects=allow_redirects, - ) - - if response.status_code < 200 or response.status_code >= 300: - raise self.exception(method, uri, response, 'Unable to create record') - - return json.loads(response.text) diff --git a/twilio/compat.py b/twilio/compat.py deleted file mode 100644 index 3a800e4..0000000 --- a/twilio/compat.py +++ /dev/null @@ -1,17 +0,0 @@ -# Those are not supported by the six library and needs to be done manually -try: - # python 3 - from urllib.parse import urlencode, urlparse, urljoin, urlunparse -except ImportError: - # python 2 backward compatibility - # noinspection PyUnresolvedReferences - from urllib import urlencode - # noinspection PyUnresolvedReferences - from urlparse import urlparse, urljoin, urlunparse - -try: - # python 2 - from itertools import izip -except ImportError: - # python 3 - izip = zip diff --git a/twilio/http/__init__.py b/twilio/http/__init__.py deleted file mode 100644 index a0360a2..0000000 --- a/twilio/http/__init__.py +++ /dev/null @@ -1,13 +0,0 @@ -from twilio.base.exceptions import TwilioException - - -class HttpClient(object): - """ - An abstract class representing an HTTP client. - """ - def request(self, method, url, params=None, data=None, headers=None, auth=None, - timeout=None, allow_redirects=False): - """ - Make an HTTP request. - """ - raise TwilioException('HttpClient is an abstract class') diff --git a/twilio/http/__pycache__/__init__.cpython-36.pyc b/twilio/http/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 57c1ab6f99cb94ab96f3a75a0b7a992dab2c8887..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 744 zcmY*XKX21O6u*ldCyf#!F)*;;4SA@SE(jsiDy8iJ5eTzbmQEMnl^mRX?%i3T8QXpX zJ^(YHg@yT6CcXj_@0^5&C%t#i@6Yf3@jIGKMn8Uj%fDiTexW@IK|cmIF$jhjmZ-ux z#^@Ze9t-Xe3wZA~$O9I>M@j!TM4<$`X|@tls8?S~-dLgP(%W|wfpQFN9)sX0#|-5? zh5;jDA?x4aJY+pU8@SPhwarWlUfcDvQ4Dla$8=$=rlpNbNsWm$Z!|X$A?lAYt>cR< zdkZd~lXfZdv+@86dGc=$cm{07AS_IDi*ImOFIYeA5`3LE^fUj5rukLN%@)pk*H7*n zi-qxl|93S{u=a(L0~Z=DFI`k|yHv~tt(GoosHT;1A)}VM!ID$PHGI<6F5SS2imTST zDV0*Kh~`XaURv`V=?Oso$!5=s4+av7cOqX>Rh%@<DF79(RY_%$@v12r(Ht&XA=%-P zk?Qi=tP0!xk=?U|#TJB!T3ABT=GqOmLk|6FeCw#cet17+x^*Yf+|yaocSAyIT5&?$ zh>%LLR(gF*$W=?_)-xc4sge*q1;DQTJ@LTX0ucVljK7Lu5MqQo+dK*LN1LA01vNb7 jyIV5dW?iHfpI|Lr@E)jNk@m=L_+r!4OStLHNaNry4%o<n diff --git a/twilio/http/__pycache__/http_client.cpython-36.pyc b/twilio/http/__pycache__/http_client.cpython-36.pyc deleted file mode 100644 index 577bf375ea32e43c8542b249b9591db7b7924bc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2646 zcmaJDO>Y}TbZ2+HYj5l%O#>}Oz^Fn99~vZjv#L_lsx49)(j-;I%F=e@8OQ6acegWR z(m3mrd*D*8T#z{PTextZ0~bz6h#$a-H!~a8gqF4T?VC66Yu?xRW~&wa^6O9GZ-Hg~ zZY@17;CJBVBLKuAD7D5YL}NR&$4=-VMYB_PTnlR&cT#WchrY($v<|!tjn~p341m{5 zSH{h-i7Xn7TEw5DaP@&j>ZI|~A`M!bJK-9s?OW~O53pyo9qI4U=M&0>^!F*}NuJ5t zFwc*98_D3I5XIdzp_zbHeUI`Y&p2%(W`pbw&>9n#(yX5oI^7T_Nt)zaLy(F3TBxr~ zoIf5Qci`n81E5xjh!xrdg$`*Dm(*UO&?N!!Ngc2nalpkDxqhH^zIJ2!Re<4nKr_nX z6c-a#<ecJ%2M4>@IEn{3!$~G!zb}&P2%jWkh{cd%qYHO;jgEtzz5|}9M}5_a?!wEr z0F;OY!kSx|O{~(2z*T?-cS^hXM7X2cT+uvYfum@r?K7oB`n-x^GmW{3SQXk<wKDNz zD(A9A=pde?BGS>8t%}zyAulec=|HX*d7ei7Jj*B?2cpkfApEn%*5UK_)4QGC6HXcL zJx;=5ocFp#aW58eZ#(bDY43oJi(ZiwHx4IBN^acbX+AjRCq0v?^N&hcZz*eA#i^`E zQIaJhij)~%2VkLf<iT(H-o>13o%7!BHxwg0tMDoz9nil3DbWbRS=yyjx@E2ON^67& z`q7^?N{8(Vd*l#%<PI$2h+65)QG&|G5BB$Hj*z8yUA0>_3?<vpwAwPQblD3{^_Ho` zS4jeEe({~C&#hS?8b;4-MFa)|j+HVPHOrMbnl%AymCdqVLM6U(W-YC=F>*^(wnnS) zu94sscnE&2i%W_&S37HSyRzh|%8mbodeWt;%JorvOmUo<GOgOp)MXK~cub*KIWAcK zZ9*v73Knu5y^XnG7?_4R>EHt>WL@osfJKfcoW4l{I@7Q}+1plZRefD#B}rdkZHIU8 z;|XP_W@VfLxwt53MwABCM4;@A8VFQf2k*W<4)7o4(1=><Fej%tA81^A|9{R5X-ps> z9dpiyW~J<N<;S9(-=acHiWGu95yKAtGUiDicLB#SJDQAPj`54$57ImqSR`YbPecdr z=lx?UKHCGU=R`eG)Y;!+@en$cLU!Xc%}=1^Ny4C4!T+a2NE&4r22z%T4Tz;;0X-GV z!k2wYb!;jN9Fx4S-HlbxYX|6yB8@Y%hDd@YB>}VVbqOsM4x?hivJUQMSamj-G^1x> zvBSh^L4g5x`Y@b$=h^vm$G6OQ*a8`$r@6xP;NLpux%~|1ha))ULSNgLo+(M`K;=o# zl$3N;VMxEqsdQCh^!%HCbY}Qxc+X794n70P*%xPU9kJ7ytm*G`eYd;UeY6j|M&)dJ z<t>uawcYMF+h2F@0k1MU+iBZ!?Lu0lU*&pweMyZuAINbLiwU3MGeKX7S=(WkVR}i= zkfp1r?G0I*KvOV1ilrZ=`Oy(&(oM2KE<Lz^#<5^N$gvd#)KJv7gT6Io%goQ}&<y?$ zSaPjk6i!DM7X}RfjK~#Z7REm`#0N@^x<sV|*IRp)sUfS~W19+lM}c=0xT3&S1>RTS z8UX1XpFj(6?TqxRIt#Vkf|7;Z`gyAL{bIl+rQ}lpN;&@=fVJr%d+`e#7k!8}?G5Cj z4ckLa6riRZz)JDdoon`{J-zy$Tch%!Z6EBky&d)3Z+q(E$zUQzkqn|}oRdka@MaV} zpTudk<3|znM-;IQa7BBz<gL1}n08rRKuvh{^;HKa1J6QCQQPYh4yyn4aGeyB9(65; zD^>NYwqZ3z*<7M5T0v(by!`Jit&v>^A?d54fWIGMt77Tr<Dx1H**KzNTNe%c2$;1` cZ#sgk-!dV%jew1-gm2nS2yheCRfwH`0LR_)ng9R* diff --git a/twilio/http/__pycache__/request.cpython-36.pyc b/twilio/http/__pycache__/request.cpython-36.pyc deleted file mode 100644 index 6d22eebca390d876d104157646ac95d5746d1513..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2184 zcmbtV&yU+g6rLIXh~s2;OI4sCwS-kw$-pj^dO)g{(yE14Vif^hkcfgT*W+!Hbz*nM zp)`q4*=ujyIrFcS3l}bPg$w^ePkhhb?1ojvg|X(F8PD^)AM@Vln;RScZ@>T2`@>`G zPqx-<%<rJ<4nQ)=Q#R&3&e;Pdg|v>Dv=XtjdX}^wvB3EoQY_%6IaO&gi8GnR^k&su zOzxoTE+An&E?G}Vj;}?}PS&17SK`ED-g6RHI?_F6OWte9hV+hE&y!8*V{FQnY-9B0 z26S(l#y82+X`+kSyM71l?xgeZ;NYu{s^9KbFAe`7Za_IT_{s$Om+1N<z=Dt1k}X)s z7Xm027SLMQKzrc;orMc@C4)ZR4I0Lo=6RxwJ5Gv0CXEHRjU7#kfpPOlMPqGj85NOf z43bDDN(Y{?b&?(`ii9FV6j`B~1U^9vVBDi;k$R$kWoi@4SC8)9>VK>8dH?HSZxChu zyLo;e$M*NLI7<5m$vE%l!+huQbePJWn>x)7pX+D+;@L1AW~*UP6nTFYi~PCq!f-el z7GX$gbsNAupSvf|?7~SfcUNMuMIvZ4QrPaH>l=UtU$7B768aK_jb`ey<d5(^zbaXY zVCL5`3do5gfzXNW0dmB;+x<SUj1{NaSm^+u2D);%hAkXzwxXg?!^hJi32}{4`VJ{2 zi<!72Y~gWF%-&v^dQLVbE2+^)R#z5JFezYL!IwgBR(7%x*=^zat)<9P%xP_7ZLh5z ztev&Bi?zG9ZeZP5TYFf0%i7;Bf~N6@dN|QVG>H>M)~GiL{xcB*q3B|alNEzRosW$h zA|_#Y4HEhSfN`JO;sReiv&~gtYQdP35SoKdX;;PLFH9uIE#c<WHX%AcvedQ|RUA-y zC5J>6BejoRltm@6FRhU%P#z-`t8`unNTQre+IQ5?geQ_TccqKW$Ylfjmh?tKHb)KV z%hoYzbPy|cAG+xIgq0S~p_7~HB_TT5^z!t(_Q`k6_3uhsZop>p1%*2Dk&h@}x%t9H z)@^kSn_2U+GqXOMmz05y%yjb9SPwownAv`3=fTYK=cVEPX{6|$hypeBtAGXj;jO+X z$xn(DGI}Y#W1KyO-;~+2R%b_cw&&%i^K!cj9qwVK#!-Pp7rQqMKQjEsbNBeFx%VWQ zBtPZq_8zIBY_-{J`|R>`p~7%?FQsbNw|7s)|A(3F&dx(J^H!&}Q(b}9z*6L+dXJz( zK=gA~jp}_Y@1WN<^4W)T;<|EP(_h({ga68T&3xsYn6I3lFkczCHPxLZ{J%*rXw~~~ zkV>+qCPj)y&5ZP+u}9f(Vw_=-jCIA86^RB;RVT0G(sM4DMi^G%{1~TIq|dm`FY>k^ z1f>8`Mf_Sd+vFE93akkQpKYDHl+zoa(jrr<lA_uI#UPpM{{*-WIs;xC`R|w#533}{ z1@DtZbOz(=>|1YkgBD3nqHz+2#t*}BCZ{RQ+hIt=c(MccWESJdDvZPmrWL1=*7X(D zoO2nk714&ePH<*WH6z}w2&zhalJzVEz@h-uPrKP}c`ffsCDje=-bVea*^RSt9u<n5 bFmCpEl*C0%b+1ujyuI3o+Z4OX@wW93y<FO# diff --git a/twilio/http/__pycache__/response.cpython-36.pyc b/twilio/http/__pycache__/response.cpython-36.pyc deleted file mode 100644 index fdbbb55c26a6a11dbe6e7e5d7b2db9996cf594db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 822 zcmaJ;&2G~`5Z+xoj_W3ZN<2Wt%@XaUH-u185%hp8e!|7Fv~s;0#i`?6b~g$M;gmc8 zZ@`&n;lg>Zyagv_oTh3e#Mtw@<JtK>pACn}&tKp31tsJ+xg#OO=b-ixnAb!QLARii zY=WE$_JO291t+%>Ky(gjpMa4BdPvR$%>%(iuqAmYdm<FQE!ogK5|QXbtuJDjbKv9m z(rVROxr&nH7^K2!DCimJ1*m-tX3f@w!yaJi8ZG2gCfGHBI1mK)%3jsq08SeEex+I` zTj!&ytR_<UL+eU6x4cq9dZw<^z=u{gV}o#g=;UYjgP0hSKckDM#YZcRE#B4nq*TQV ztzVX|EZ(T9Y>JVb=|b1~<Z50w;^fRWYP__I!Y%5iR(m&bP8a3|-Kk#snDe@=9p^nn zgclJSb<gT(&%)`xrven6phxX!h#&ya2$g0jHOLP*EO(pl%mJo-Fo&QPdk9+%Z?8b4 z_r@dB-S~$P2s*_pfZr+G;J;?sD!Cku-X4GX3NNr0jg^^|uH)@L8z5dIwc-2$jNPq4 z?;+itW@(JAZ8?*i`-JnE67vS*0q39QWpi`V=Uk`?W+pJs$J!_@jazm=%>Zh57(jAO oN5h`Jj_)`KX&enggVii$K2ldxS-CF%*XKTdw%g`8eqlk$UkYip8UO$Q diff --git a/twilio/http/__pycache__/validation_client.cpython-36.pyc b/twilio/http/__pycache__/validation_client.cpython-36.pyc deleted file mode 100644 index 863d1ccf0c40086a1ac3c8f7ccdb531ec1276738..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3780 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 Vk4#vhJlVCjtgfkkcGvXm{{fzDEy(}? diff --git a/twilio/http/http_client.py b/twilio/http/http_client.py deleted file mode 100644 index dff16a9..0000000 --- a/twilio/http/http_client.py +++ /dev/null @@ -1,75 +0,0 @@ -from requests import Request, Session, hooks - -from twilio.http import HttpClient -from twilio.http.response import Response -from twilio.http.request import Request as TwilioRequest -import logging -from twilio.compat import urlencode - -_logger = logging.getLogger('twilio.http_client') - - -class TwilioHttpClient(HttpClient): - """ - General purpose HTTP Client for interacting with the Twilio API - """ - def __init__(self, pool_connections=True, request_hooks=None): - self.session = Session() if pool_connections else None - self.last_request = None - self.last_response = None - self.request_hooks = request_hooks or hooks.default_hooks() - - def request(self, method, url, params=None, data=None, headers=None, auth=None, timeout=None, - allow_redirects=False): - """ - Make an HTTP Request with parameters provided. - - :param str method: The HTTP method to use - :param str url: The URL to request - :param dict params: Query parameters to append to the URL - :param dict data: Parameters to go in the body of the HTTP request - :param dict headers: HTTP Headers to send with the request - :param tuple auth: Basic Auth arguments - :param float timeout: Socket/Read timeout for the request - :param boolean allow_redirects: Whether or not to allow redirects - See the requests documentation for explanation of all these parameters - - :return: An http response - :rtype: A :class:`Response <twilio.rest.http.response.Response>` object - """ - - kwargs = { - 'method': method.upper(), - 'url': url, - 'params': params, - 'data': data, - 'headers': headers, - 'auth': auth, - 'hooks': self.request_hooks - } - - if params: - _logger.info('{method} Request: {url}?{query}'.format(query=urlencode(params), **kwargs)) - _logger.info('PARAMS: {params}'.format(**kwargs)) - else: - _logger.info('{method} Request: {url}'.format(**kwargs)) - if data: - _logger.info('PAYLOAD: {data}'.format(**kwargs)) - - self.last_response = None - session = self.session or Session() - request = Request(**kwargs) - self.last_request = TwilioRequest(**kwargs) - - prepped_request = session.prepare_request(request) - response = session.send( - prepped_request, - allow_redirects=allow_redirects, - timeout=timeout, - ) - - _logger.info('{method} Response: {status} {text}'.format(method=method, status=response.status_code, text=response.text)) - - self.last_response = Response(int(response.status_code), response.text) - - return self.last_response diff --git a/twilio/http/request.py b/twilio/http/request.py deleted file mode 100644 index e96528d..0000000 --- a/twilio/http/request.py +++ /dev/null @@ -1,77 +0,0 @@ -from twilio.compat import urlencode - - -class Request(object): - """ - An HTTP request. - """ - ANY = '*' - - def __init__(self, - method=ANY, - url=ANY, - auth=ANY, - params=ANY, - data=ANY, - headers=ANY, - **kwargs): - self.method = method.upper() - self.url = url - self.auth = auth - self.params = params - self.data = data - self.headers = headers - - @classmethod - def attribute_equal(cls, lhs, rhs): - if lhs == cls.ANY or rhs == cls.ANY: - # ANY matches everything - return True - - lhs = lhs or None - rhs = rhs or None - - return lhs == rhs - - def __eq__(self, other): - if not isinstance(other, Request): - return False - - return self.attribute_equal(self.method, other.method) and \ - self.attribute_equal(self.url, other.url) and \ - self.attribute_equal(self.auth, other.auth) and \ - self.attribute_equal(self.params, other.params) and \ - self.attribute_equal(self.data, other.data) and \ - self.attribute_equal(self.headers, other.headers) - - def __str__(self): - auth = '' - if self.auth and self.auth != self.ANY: - auth = '{} '.format(self.auth) - - params = '' - if self.params and self.params != self.ANY: - params = '?{}'.format(urlencode(self.params, doseq=True)) - - data = '' - if self.data and self.data != self.ANY: - if self.method == 'GET': - data = '\n -G' - data += '\n{}'.format('\n'.join(' -d "{}={}"'.format(k, v) for k, v in self.data.items())) - - headers = '' - if self.headers and self.headers != self.ANY: - headers = '\n{}'.format('\n'.join(' -H "{}: {}"'.format(k, v) - for k, v in self.headers.items())) - - return '{auth}{method} {url}{params}{data}{headers}'.format( - auth=auth, - method=self.method, - url=self.url, - params=params, - data=data, - headers=headers, - ) - - def __repr__(self): - return str(self) diff --git a/twilio/http/response.py b/twilio/http/response.py deleted file mode 100644 index a778a8a..0000000 --- a/twilio/http/response.py +++ /dev/null @@ -1,16 +0,0 @@ -class Response(object): - """ - - """ - def __init__(self, status_code, text): - self.content = text - self.cached = False - self.status_code = status_code - self.ok = self.status_code < 400 - - @property - def text(self): - return self.content - - def __repr__(self): - return 'HTTP {} {}'.format(self.status_code, self.content) diff --git a/twilio/http/validation_client.py b/twilio/http/validation_client.py deleted file mode 100644 index f10a775..0000000 --- a/twilio/http/validation_client.py +++ /dev/null @@ -1,95 +0,0 @@ -from collections import namedtuple - -from requests import Request, Session - -from twilio.compat import urlparse -from twilio.http import HttpClient -from twilio.http.response import Response -from twilio.jwt.validation import ClientValidationJwt - - -ValidationPayload = namedtuple('ValidationPayload', ['method', 'path', 'query_string', 'all_headers', - 'signed_headers', 'body']) - - -class ValidationClient(HttpClient): - __SIGNED_HEADERS = ['authorization', 'host'] - - def __init__(self, account_sid, api_key_sid, credential_sid, private_key, pool_connections=True): - """ - Build a ValidationClient which signs requests with private_key and allows Twilio to - validate request has not been tampered with. - - :param str account_sid: A Twilio Account Sid starting with 'AC' - :param str api_key_sid: A Twilio API Key Sid starting with 'SK' - :param str credential_sid: A Credential Sid starting with 'CR', - corresponds to public key Twilio will use to verify the JWT. - :param str private_key: The private key used to sign the Client Validation JWT. - """ - self.account_sid = account_sid - self.credential_sid = credential_sid - self.api_key_sid = api_key_sid - self.private_key = private_key - self.session = Session() if pool_connections else None - - def request(self, method, url, params=None, data=None, headers=None, auth=None, timeout=None, - allow_redirects=False): - """ - Make a signed HTTP Request - - :param str method: The HTTP method to use - :param str url: The URL to request - :param dict params: Query parameters to append to the URL - :param dict data: Parameters to go in the body of the HTTP request - :param dict headers: HTTP Headers to send with the request - :param tuple auth: Basic Auth arguments - :param float timeout: Socket/Read timeout for the request - :param boolean allow_redirects: Whether or not to allow redirects - See the requests documentation for explanation of all these parameters - - :return: An http response - :rtype: A :class:`Response <twilio.rest.http.response.Response>` object - """ - session = self.session or Session() - request = Request(method.upper(), url, params=params, data=data, headers=headers, auth=auth) - prepared_request = session.prepare_request(request) - - if 'Host' not in prepared_request.headers and 'host' not in prepared_request.headers: - prepared_request.headers['Host'] = self._get_host(prepared_request) - - validation_payload = self._build_validation_payload(prepared_request) - jwt = ClientValidationJwt(self.account_sid, self.api_key_sid, self.credential_sid, - self.private_key, validation_payload) - prepared_request.headers['Twilio-Client-Validation'] = jwt.to_jwt() - - response = session.send( - prepared_request, - allow_redirects=allow_redirects, - timeout=timeout, - ) - - return Response(int(response.status_code), response.text) - - def _build_validation_payload(self, request): - """ - Extract relevant information from request to build a ClientValidationJWT - :param PreparedRequest request: request we will extract information from. - :return: ValidationPayload - """ - parsed = urlparse(request.url) - path = parsed.path - query_string = parsed.query or '' - - return ValidationPayload( - method=request.method, - path=path, - query_string=query_string, - all_headers=request.headers, - signed_headers=ValidationClient.__SIGNED_HEADERS, - body=request.body or '' - ) - - def _get_host(self, request): - """Pull the Host out of the request""" - parsed = urlparse(request.url) - return parsed.netloc diff --git a/twilio/jwt/__init__.py b/twilio/jwt/__init__.py deleted file mode 100644 index 32aeb2d..0000000 --- a/twilio/jwt/__init__.py +++ /dev/null @@ -1,155 +0,0 @@ -import hmac -import sys - -from twilio.jwt import compat - -if sys.version_info[0] == 3 and sys.version_info[1] == 2: - # PyJWT expects hmac.compare_digest to exist even under python 3.2 - hmac.compare_digest = compat.compare_digest - -import jwt as jwt_lib - -try: - import json -except ImportError: - import simplejson as json - -import time - - -__all__ = ['Jwt', 'JwtDecodeError'] - - -class JwtDecodeError(Exception): - pass - - -class Jwt(object): - """Base class for building a Json Web Token""" - GENERATE = object() - - def __init__(self, secret_key, issuer, subject=None, algorithm='HS256', nbf=GENERATE, - ttl=3600, valid_until=None): - self.secret_key = secret_key - """:type str: The secret used to encode the JWT""" - self.issuer = issuer - """:type str: The issuer of this JWT""" - self.subject = subject - """:type str: The subject of this JWT, ommited from payload by default""" - self.algorithm = algorithm - """:type str: The algorithm used to encode the JWT, defaults to 'HS256'""" - self.nbf = nbf - """:type int: Time in secs since epoch before which this JWT is invalid. Defaults to now.""" - self.ttl = ttl - """:type int: Time to live of the JWT in seconds, defaults to 1 hour""" - self.valid_until = valid_until - """:type int: Time in secs since epoch this JWT is valid for. Overrides ttl if provided.""" - - self.__decoded_payload = None - self.__decoded_headers = None - - def _generate_payload(self): - """:rtype: dict the payload of the JWT to send""" - raise NotImplementedError('Subclass must provide a payload.') - - def _generate_headers(self): - """:rtype dict: Additional headers to include in the JWT, defaults to an empty dict""" - return {} - - @classmethod - def _from_jwt(cls, headers, payload, key=None): - """ - Class specific implementation of from_jwt which should take jwt components and return - and instance of this Class with jwt information loaded. - :return: Jwt object containing the headers, payload and key - """ - jwt = Jwt( - secret_key=key, - issuer=payload.get('iss', None), - subject=payload.get('sub', None), - algorithm=headers.get('alg', None), - valid_until=payload.get('exp', None), - nbf=payload.get('nbf', None), - ) - jwt.__decoded_payload = payload - jwt.__decoded_headers = headers - return jwt - - @property - def payload(self): - if self.__decoded_payload: - return self.__decoded_payload - - payload = self._generate_payload().copy() - payload['iss'] = self.issuer - payload['exp'] = int(time.time()) + self.ttl - if self.nbf is not None: - if self.nbf == self.GENERATE: - payload['nbf'] = int(time.time()) - else: - payload['nbf'] = self.nbf - if self.valid_until: - payload['exp'] = self.valid_until - if self.subject: - payload['sub'] = self.subject - - return payload - - @property - def headers(self): - if self.__decoded_headers: - return self.__decoded_headers - - headers = self._generate_headers().copy() - headers['typ'] = 'JWT' - headers['alg'] = self.algorithm - return headers - - def to_jwt(self, algorithm=None, ttl=None): - """ - Encode this JWT object into a JWT string - :param str algorithm: override the algorithm used to encode the JWT - :param int ttl: override the ttl configured in the constructor - :rtype: str The JWT string - """ - - if not self.secret_key: - raise ValueError('JWT does not have a signing key configured.') - - headers = self.headers.copy() - if algorithm: - headers['alg'] = algorithm - algorithm = algorithm or self.algorithm - - payload = self.payload.copy() - if ttl: - payload['exp'] = int(time.time()) + ttl - - return jwt_lib.encode(payload, self.secret_key, algorithm=algorithm, headers=headers) - - @classmethod - def from_jwt(cls, jwt, key=''): - """ - Decode a JWT string into a Jwt object - :param str jwt: JWT string - :param Optional[str] key: key used to verify JWT signature, if not provided then validation - is skipped. - :raises JwtDecodeError if decoding JWT fails for any reason. - :return: A DecodedJwt object containing the jwt information. - """ - verify = True if key else False - - try: - payload = jwt_lib.decode(bytes(jwt), key, options={ - 'verify_signature': verify, - 'verify_exp': True, - 'verify_nbf': True, - }) - headers = jwt_lib.get_unverified_header(jwt) - except Exception as e: - raise JwtDecodeError(getattr(e, 'message', str(e))) - - return cls._from_jwt(headers, payload, key) - - def __str__(self): - return '<JWT {}>'.format(self.to_jwt()) diff --git a/twilio/jwt/__pycache__/__init__.cpython-36.pyc b/twilio/jwt/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 2d4a327d27e16a4f3ebb1dd5f497e84f8b76c83d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4317 zcmai1-ESjT6~FW8$;8QKzuD~q1C&zJZID<fA}rM|+fZ0lrm%r+hoE6H_c|VDJY()$ zZ))QpRPPf~`2!FVZ%F(tyzqQqd0O$pGZGTNbH{eFX)0{ZnfrO>o^yWZ<KElY2><?% zzr_E&%Gf{InO__22YBkgf^f#Ig2m0-iY@f*!X7%YV=-Y3T+VJW?i|_jf$6#Ed8X$K zJi!vr?Dyl=q-|P396V*^9hZr<qfm}4Mt?IC#=(cIv_EKi>+w4GdF#-Q+wU?S@YZw2 zTViAG#GB}^aUXqOTta_~TTfUge1WsFZpYGoRt-m~df}k|!XjdWXy@^<(wiXfh^*pb zSISCem{|R2=>t49i7yyQ8rz1qEn67sb{rifNtq5slISo=h7}(d)NUuqZ^miS%>0eX zb*whzKTjU*?EkzLvflq`9{1B~|KVu#PO8%V_o^%{_V>hav_Hy6Zyt>Eg1>pME~?(7 zKHgWyd68Gk*Wg&~CrMuBDoM6S6LXlGbWoBjuwD|v!_Who`#s315V0fNIg34Rb4PgG z<#x~G9+YUsP%;mmv$zGNhIj{Jjem}>^Y(LVZpEQk=No+UIYYaR_9eb$+8g{9zs#>- z|0dSo=GXXjv;Gpl!Eb`g7Pn!PSEP?)Oke*&T8k(v(z=d%m5hwEd3hM6(c`)*qo?8^ z+N+L4*^Rv)J^ALh-^#Z(8Os9fr60XX)JJ&g9gvwdV+ottpw`R*wP!A<GxI>*nGfpC zTA)5>pe;iK&Tt~D+ga0LEix%oawI0&&+B?Dq;A#YgMrADUQ3I^O6ICR)J}QO(~eSw zUVoMrIZwu=$_srx0g94@8yxXulun8&<>!a{BIPiAC(v#!ik{rS!6n3E@)D6PBA1C= zAp#dXgBwW@B(OC`{~~%dEn~KS_V4)Cw2iZDFBfKnVfxW~r7~is;Kg(6W6PMunZB_j z)np`gBA#a|QhgCEq=>4X={|nC7pW?$Maieplkq`gyy3W3(MVR$axP%J#hz{Qx~ttv z{dhPk#88w<aN}MbOWwe@PyL~h>vD1^N+DAvmb$x#RR+z>o?bTsonP^iWF(ydgNsIP z%sPF)k;n+N6FuZSS9w*YMYOO3Nt2gZF~-UBaw+58h>Ko2E>unPX&J#G)x<C{r~dyE zEZBeNvn5!p$mp>2BNtu6V<dPF4aERrdth-`XKtI8V_Fu*;Hrx;IPaq6Q;WAg@lRYh zfeZLspw7$%z=P?(!f5e(WIV1Oi7fBsS(Go$lagx4(mh!X6NH!OxSwbJsP0$ef=4Pn z5)qA3AgxN+vxaJT1eY1ha>bp7^0HQGnTZBAc^x&MJcj!i4tWWGA2#13ClP#mwSTAK zw-dqOQDvMDUo2G$&?7bwC>N@`yF{8f2E2B~LpyNau6E$O+JWP0M|?CgZq@NG^f=>Z z<aQm`#3t<=3MH>$KwhU&Pdiyr>(=7Sy0!Ffhk}Izt(-^mTC&vQ_rRbgR;*=PwiPb^ zTefe(Q8ysw_G;}4&*Y^J9)pHIqA_CwCfh`xP}`cbfjws@2zdi%28`Ti%2nRLn<FG+ z%)g0n$nE>I7J=?)O%AAqCqNed^_jI6ckZ(?G_$6S)|#9WU2zEIAJ7lccfpbJs@IjT z;8gMpL`=N8gH~s~(b+AuwVPGQN)*~)j#6n?<wMbgHQJzqcXzwHKYO^h+eA4Ee;vDt z3|~h3oI)jyb@9~nAw)dOx7$$V4Loh@iXB3k=CP;iq|$|fE>`F^I6$Ba70RuZ*rZq} z#|Z3pV+YX>aep$BpT~Y6g`gpC6M2mY#qOm9U!s9k!Z!g<(%1nWQ%Ni(2yp7=#LIv{ zW~Uzo1j>^J0vruGalNTvYzo=v*#id<z$xXcaCHO+I_u~zW?Tad&&(qj$oG}6T7#AW zhYe`BB$o<cVr0kxc44>s2?Yvo`tOw+?Uqy$!R6q=6!{n42xB5Bnvq&bIOS@?&M1}X zFv4iGN|!rP^-M@fseycVH6D#?fuK@FV)+$8EYI`8$0DTKb6hY&L7|r)jwQG(A~#0x z>2anidCF#y(dbNj_&&*T?$pyaXpmQ;j><|!{qz}Su{u9A0S69#=2P3o_6GJawaM0G z)=p@`iVlB~7UQOfH0C}9hQY7=8rI6!L39f-BPsF&?KkpwyaxJ)rOEvULKk>~_EkmE zxd59ct^~dnzyVwfU^4G(_B13XXclUgEipv}D={~inxO$~1l%fZZl5@luPX!=g|vYX zVgnJBdYnHKGMp0^b3oeMI`L4bzvUv_pinO?cH&!XdRuwQpZVNVt(iZ!<_;nBDf<w` zIQLKd-}xVy5*}C!P>lhRa|c*!rOzzJR;Fqy@RyJU%QjeB<$~4fGgyN%kS;!L*u|2c zjGCPPOW6Ha5$w4`WQ9MVGw)5B{jhn8Y$onTdC!1hQPlvbeNjfH+%suwb&O?F{q!47 zQy=A{(aXs#&1>Kc#yNA}ppTidkrEuq(M$89sfp8af&`nQ9KIk!K8zYB9PF0Pc`j8# zHPGQI+nzGn`(X!nq(=6Hux{jz!^H^l<*JQx7nNMAGHOH;9E!S54+TnQc^44UzB#+l z-oZqPI=+t7iIUhb$^}oFxTe>3Kgxt*VQwnAg=MKy5?NYF`BgCLv}A;re3i&oK(ybS zrtux}2W^RSQB?=aJo_=`8-EDfwvD7f*|u$OT3gm@c2f{9m#(q`;CEUOQ>x+?qM=Ez zb4qh|cN*L$i~RQF?T)SeMv;>8$7j@ltt5dwN%AK;jSa#U;e9bqR}H(1(pY|jm|T{0 zjgeIN$q+<iKd&;}9{ncT$_`D@y-reAHR(pLo4R`_RKMazbvgi0M*^|#R9EJd^1HN& zN{};pGkJ;1e^cvF9ydufKm@@>!rHtVxPc4ZU1?uyhv5yhZgwtfw?9lXSZh+pVRIAR z2D&84sM|19jp`9MlU}7a%~e~9gy)9>+Asz+P;m!9vR=oHppwd52I8<b1t?7{B4d)I zMUf=(TXaH-Sn~TsC>LHNgbwaESMImTnl<I)0P(PG-?0Py2??9lrX4tev*rE|*5Mr0 diff --git a/twilio/jwt/__pycache__/compat.cpython-36.pyc b/twilio/jwt/__pycache__/compat.cpython-36.pyc deleted file mode 100644 index 40de12fec1a03a42a15f6fb047de07336ab9b43d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 926 zcmY*XOK;RL5OyAm%8FJM>JcFe4ppUg-;ZuZt5z*Ypb97yRjR_nv7N>=iBo&Bk81bA z@;^B9Tj0PsS5Eu|PB<w=Wh9Tsp3mRRc&5F$SpD|n%jr88p`Yl6*v8&9OW!eyA!dC> zr-<3F(V9aGUm+E<%saGimi}NApeX`tZp*vIvI<Mz1DjcM>yrh}6wM25PUntl6kN=i z+2aS`P7Qi)AE37@o;`DB?$n+-Q+E%&Kr{Pd_XJIC=A0L?UGm*RsEUoeoIE=@#(bP| z3L1wop*1Swlqmk5i8HPNgEVeoj6f<(qR2dfP$sxt8?WO~j`)x(EC7#)#)L7>ut=^k zI|kJ*<2(f%762R=3ZKyPlI|~6t2V}d1~`#dQLe5v_Bo6=PjKNU3HwL3FH>RS1WLwR zI0Q)bR=s{EAk6$C`+8btSf|&!jAH@y9_6IhH9|?y>Nk6Sr`K+8w)*{Mx6$YjztI{r zNo%w9kclAJpq)XlJ7{(LoHqStYtV1>Dev^jV3RO9=<&m5uUc02ibJLnjUnWiUu0rP zBAx)20bV6|dmH<!>t%6dC<W7)$^;6(PqZmPhf+aFLxrN50Fj&(Kdv~-C@(pOS(I=^ zd=Uwl6h07ffg%9r8+EOGeR*FbX=XYYXQop=$NmJkHl5Hw63X?HUuLe*S|zUveSMi% zN>G0Lc#`tRN=cPFCiUF86sbX4B)9zhmf|{#Ah*W3HTjBEF~`4;_P4w@nk(%ciPMls zZ!b*`2oUd3QWAN`JWjn-q#J%FBDT@ikqjn!<iW_)Ag{NNBk;;mgIYStm;RqRGoDB< s7dcl~tcA+5<+`r5Vl7*0$=p3(yV}caZm31$%NHKSl4TL!DLD#?KV<w4H~;_u diff --git a/twilio/jwt/access_token/__init__.py b/twilio/jwt/access_token/__init__.py deleted file mode 100644 index 4e542a5..0000000 --- a/twilio/jwt/access_token/__init__.py +++ /dev/null @@ -1,65 +0,0 @@ -import time - -from twilio.jwt import Jwt - - -class AccessTokenGrant(object): - """A Grant giving access to a Twilio Resource""" - @property - def key(self): - """:rtype str Grant's twilio specific key""" - raise NotImplementedError('Grant must have a key property.') - - def to_payload(self): - """:return: dict something""" - raise NotImplementedError('Grant must implement to_payload.') - - def __str__(self): - '<{} {}>'.format(self.__class__.__name__, self.to_payload()) - - -class AccessToken(Jwt): - """Access Token containing one or more AccessTokenGrants used to access Twilio Resources""" - def __init__(self, account_sid, signing_key_sid, secret, grants=None, - identity=None, nbf=Jwt.GENERATE, ttl=3600, valid_until=None): - grants = grants or [] - if any(not isinstance(g, AccessTokenGrant) for g in grants): - raise ValueError('Grants must be instances of AccessTokenGrant.') - - self.account_sid = account_sid - self.signing_key_sid = signing_key_sid - self.identity = identity - self.grants = grants - super(AccessToken, self).__init__( - secret_key=secret, - algorithm='HS256', - issuer=signing_key_sid, - subject=self.account_sid, - nbf=nbf, - ttl=ttl, - valid_until=valid_until, - ) - - def add_grant(self, grant): - """Add a grant to this AccessToken""" - if not isinstance(grant, AccessTokenGrant): - raise ValueError('Grant must be an instance of AccessTokenGrant.') - self.grants.append(grant) - - def _generate_headers(self): - return { - 'cty': 'twilio-fpa;v=1' - } - - def _generate_payload(self): - now = int(time.time()) - payload = { - 'jti': '{}-{}'.format(self.signing_key_sid, now), - 'grants': {grant.key: grant.to_payload() for grant in self.grants} - } - if self.identity: - payload['grants']['identity'] = self.identity - return payload - - def __str__(self): - return '<AccessToken {}>'.format(self.to_jwt()) diff --git a/twilio/jwt/access_token/__pycache__/__init__.cpython-36.pyc b/twilio/jwt/access_token/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index c9ff476547d16a50fa5eb198f258cdfff8179d54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3016 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 IwboAm2i!o?X8-^I diff --git a/twilio/jwt/access_token/__pycache__/grants.cpython-36.pyc b/twilio/jwt/access_token/__pycache__/grants.cpython-36.pyc deleted file mode 100644 index 6de64d2ed894f09a930f6ab848de835da9063a82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5893 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 b_M`TEHD)o(u&&kb)bG}}>+jV!>(~DauF;c4 diff --git a/twilio/jwt/access_token/grants.py b/twilio/jwt/access_token/grants.py deleted file mode 100644 index 66520a4..0000000 --- a/twilio/jwt/access_token/grants.py +++ /dev/null @@ -1,191 +0,0 @@ -from twilio.jwt.access_token import AccessTokenGrant -import warnings -import functools - - -def deprecated(func): - '''This is a decorator which can be used to mark functions - as deprecated. It will result in a warning being emitted - when the function is used.''' - - @functools.wraps(func) - def new_func(*args, **kwargs): - warnings.simplefilter('always', DeprecationWarning) - warnings.warn("Call to deprecated function {}.".format(func.__name__), category=DeprecationWarning, stacklevel=2) - warnings.simplefilter('default', DeprecationWarning) - return func(*args, **kwargs) - - return new_func - - -class ChatGrant(AccessTokenGrant): - """Grant to access Twilio Chat""" - - def __init__(self, service_sid=None, endpoint_id=None, - deployment_role_sid=None, push_credential_sid=None): - self.service_sid = service_sid - self.endpoint_id = endpoint_id - self.deployment_role_sid = deployment_role_sid - self.push_credential_sid = push_credential_sid - - @property - def key(self): - return "chat" - - def to_payload(self): - grant = {} - if self.service_sid: - grant['service_sid'] = self.service_sid - if self.endpoint_id: - grant['endpoint_id'] = self.endpoint_id - if self.deployment_role_sid: - grant['deployment_role_sid'] = self.deployment_role_sid - if self.push_credential_sid: - grant['push_credential_sid'] = self.push_credential_sid - - return grant - - -class IpMessagingGrant(AccessTokenGrant): - """Grant to access Twilio IP Messaging""" - - @deprecated - def __init__(self, service_sid=None, endpoint_id=None, - deployment_role_sid=None, push_credential_sid=None): - self.service_sid = service_sid - self.endpoint_id = endpoint_id - self.deployment_role_sid = deployment_role_sid - self.push_credential_sid = push_credential_sid - - @property - def key(self): - return "ip_messaging" - - def to_payload(self): - grant = {} - if self.service_sid: - grant['service_sid'] = self.service_sid - if self.endpoint_id: - grant['endpoint_id'] = self.endpoint_id - if self.deployment_role_sid: - grant['deployment_role_sid'] = self.deployment_role_sid - if self.push_credential_sid: - grant['push_credential_sid'] = self.push_credential_sid - - return grant - - -class SyncGrant(AccessTokenGrant): - """Grant to access Twilio Sync""" - def __init__(self, service_sid=None, endpoint_id=None): - self.service_sid = service_sid - self.endpoint_id = endpoint_id - - @property - def key(self): - return "data_sync" - - def to_payload(self): - grant = {} - if self.service_sid: - grant['service_sid'] = self.service_sid - if self.endpoint_id: - grant['endpoint_id'] = self.endpoint_id - - return grant - - -class VoiceGrant(AccessTokenGrant): - """Grant to access Twilio Programmable Voice""" - def __init__(self, - outgoing_application_sid=None, - outgoing_application_params=None, - push_credential_sid=None, - endpoint_id=None): - self.outgoing_application_sid = outgoing_application_sid - """ :type : str """ - self.outgoing_application_params = outgoing_application_params - """ :type : dict """ - self.push_credential_sid = push_credential_sid - """ :type : str """ - self.endpoint_id = endpoint_id - """ :type : str """ - - @property - def key(self): - return "voice" - - def to_payload(self): - grant = {} - if self.outgoing_application_sid: - grant['outgoing'] = {} - grant['outgoing']['application_sid'] = self.outgoing_application_sid - - if self.outgoing_application_params: - grant['outgoing']['params'] = self.outgoing_application_params - - if self.push_credential_sid: - grant['push_credential_sid'] = self.push_credential_sid - - if self.endpoint_id: - grant['endpoint_id'] = self.endpoint_id - - return grant - - -class ConversationsGrant(AccessTokenGrant): - """Grant to access Twilio Conversations""" - @deprecated - def __init__(self, configuration_profile_sid=None): - self.configuration_profile_sid = configuration_profile_sid - - @property - def key(self): - return "rtc" - - def to_payload(self): - grant = {} - if self.configuration_profile_sid: - grant['configuration_profile_sid'] = self.configuration_profile_sid - - return grant - - -class VideoGrant(AccessTokenGrant): - """Grant to access Twilio Video""" - def __init__(self, room=None): - self.room = room - - @property - def key(self): - return "video" - - def to_payload(self): - grant = {} - if self.room: - grant['room'] = self.room - - return grant - - -class TaskRouterGrant(AccessTokenGrant): - """Grant to access Twilio TaskRouter""" - def __init__(self, workspace_sid=None, worker_sid=None, role=None): - self.workspace_sid = workspace_sid - self.worker_sid = worker_sid - self.role = role - - @property - def key(self): - return "task_router" - - def to_payload(self): - grant = {} - if self.workspace_sid: - grant['workspace_sid'] = self.workspace_sid - if self.worker_sid: - grant['worker_sid'] = self.worker_sid - if self.role: - grant['role'] = self.role - - return grant diff --git a/twilio/jwt/client/__init__.py b/twilio/jwt/client/__init__.py deleted file mode 100644 index be0ede9..0000000 --- a/twilio/jwt/client/__init__.py +++ /dev/null @@ -1,105 +0,0 @@ -from twilio.jwt import Jwt - -from six import iteritems -from twilio.compat import urlencode - - -class ClientCapabilityToken(Jwt): - """A token to control permissions with Twilio Client""" - - def __init__(self, account_sid, auth_token, nbf=Jwt.GENERATE, ttl=3600, valid_until=None, - **kwargs): - """ - :param str account_sid: The account sid to which this token is granted access. - :param str auth_token: The secret key used to sign the token. Note, this auth token is not - visible to the user of the token. - :param int nbf: Time in secs from epic before which this token is considered invalid. - :param int ttl: the amount of time in seconds from generation that this token is valid for. - :param kwargs: - - - :returns: A new CapabilityToken with zero permissions - """ - super(ClientCapabilityToken, self).__init__( - algorithm='HS256', - secret_key=auth_token, - issuer=account_sid, - nbf=nbf, - ttl=ttl, - valid_until=None, - ) - - self.account_sid = account_sid - self.auth_token = auth_token - self.client_name = None - self.capabilities = {} - - if 'allow_client_outgoing' in kwargs: - self.allow_client_outgoing(**kwargs['allow_client_outgoing']) - if 'allow_client_incoming' in kwargs: - self.allow_client_incoming(**kwargs['allow_client_incoming']) - if 'allow_event_stream' in kwargs: - self.allow_event_stream(**kwargs['allow_event_stream']) - - def allow_client_outgoing(self, application_sid, **kwargs): - """ - Allow the user of this token to make outgoing connections. Keyword arguments are passed - to the application. - - :param str application_sid: Application to contact - """ - scope = ScopeURI('client', 'outgoing', {'appSid': application_sid}) - if kwargs: - scope.add_param('appParams', urlencode(kwargs, doseq=True)) - - self.capabilities['outgoing'] = scope - - def allow_client_incoming(self, client_name): - """ - Allow the user of this token to accept incoming connections. - - :param str client_name: Client name to accept calls from - """ - self.client_name = client_name - self.capabilities['incoming'] = ScopeURI('client', 'incoming', {'clientName': client_name}) - - def allow_event_stream(self, **kwargs): - """ - Allow the user of this token to access their event stream. - """ - scope = ScopeURI('stream', 'subscribe', {'path': '/2010-04-01/Events'}) - if kwargs: - scope.add_param('params', urlencode(kwargs, doseq=True)) - - self.capabilities["events"] = scope - - def _generate_payload(self): - if 'outgoing' in self.capabilities and self.client_name is not None: - self.capabilities['outgoing'].add_param('clientName', self.client_name) - - scope_uris = [scope_uri.to_payload() for scope_uri in self.capabilities.values()] - return {'scope': ' '.join(scope_uris)} - - -class ScopeURI(object): - """A single capability granted to Twilio Client and scoped to a service""" - - def __init__(self, service, privilege, params=None): - self.service = service - self.privilege = privilege - self.params = params or {} - - def add_param(self, key, value): - self.params[key] = value - - def to_payload(self): - if self.params: - sorted_params = sorted([(k, v) for k, v in iteritems(self.params)]) - encoded_params = urlencode(sorted_params) - param_string = '?{}'.format(encoded_params) - else: - param_string = '' - return 'scope:{}:{}{}'.format(self.service, self.privilege, param_string) - - def __str__(self): - return '<ScopeURI {}>'.format(self.to_payload()) diff --git a/twilio/jwt/client/__pycache__/__init__.cpython-36.pyc b/twilio/jwt/client/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index e31780a52a22cb6e4ad7a1fffcd0e577d7c3deb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4443 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 H*6;ocznWv) diff --git a/twilio/jwt/compat.py b/twilio/jwt/compat.py deleted file mode 100644 index f0237c2..0000000 --- a/twilio/jwt/compat.py +++ /dev/null @@ -1,25 +0,0 @@ -def compare_digest(a, b): - """ - PyJWT expects hmac.compare_digest to exist for all Python 3.x, however it was added in Python > 3.3 - It has a fallback for Python 2.x but not for Pythons between 2.x and 3.3 - Copied from: https://github.com/python/cpython/commit/6cea65555caf2716b4633827715004ab0291a282#diff-c49659257ec1b129707ce47a98adc96eL16 - - Returns the equivalent of 'a == b', but avoids content based short - circuiting to reduce the vulnerability to timing attacks. - """ - # Consistent timing matters more here than data type flexibility - if not (isinstance(a, bytes) and isinstance(b, bytes)): - raise TypeError("inputs must be bytes instances") - - # We assume the length of the expected digest is public knowledge, - # thus this early return isn't leaking anything an attacker wouldn't - # already know - if len(a) != len(b): - return False - - # We assume that integers in the bytes range are all cached, - # thus timing shouldn't vary much due to integer object creation - result = 0 - for x, y in zip(a, b): - result |= x ^ y - return result == 0 diff --git a/twilio/jwt/taskrouter/__init__.py b/twilio/jwt/taskrouter/__init__.py deleted file mode 100644 index 3095ae7..0000000 --- a/twilio/jwt/taskrouter/__init__.py +++ /dev/null @@ -1,134 +0,0 @@ -from twilio.jwt import Jwt - - -class TaskRouterCapabilityToken(Jwt): - VERSION = 'v1' - DOMAIN = 'https://taskrouter.twilio.com' - EVENTS_BASE_URL = 'https://event-bridge.twilio.com/v1/wschannels' - - def __init__(self, account_sid, auth_token, workspace_sid, channel_id, **kwargs): - """ - :param str account_sid: Twilio account sid - :param str auth_token: Twilio auth token used to sign the JWT - :param str workspace_sid: TaskRouter workspace sid - :param str channel_id: TaskRouter channel sid - :param kwargs: - :param bool allow_web_sockets: shortcut to calling allow_web_sockets, defaults to True - :param bool allow_fetch_self: shortcut to calling allow_fetch_self, defaults to True - :param bool allow_update_self: shortcut to calling allow_update_self, defaults to False - :param bool allow_delete_self: shortcut to calling allow_delete_self, defaults to False - :param bool allow_fetch_subresources: shortcut to calling allow_fetch_subresources, - defaults to False - :param bool allow_update_subresources: shortcut to calling allow_update_subresources, - defaults to False - :param bool allow_delete_subresources: shortcut to calling allow_delete_subresources, - defaults to False - :returns a new TaskRouterCapabilityToken with capabilities set depending on kwargs. - """ - super(TaskRouterCapabilityToken, self).__init__( - secret_key=auth_token, - issuer=account_sid, - algorithm='HS256', - nbf=kwargs.get('nbf', Jwt.GENERATE), - ttl=kwargs.get('ttl', 3600), - valid_until=kwargs.get('valid_until', None), - ) - - self._validate_inputs(account_sid, workspace_sid, channel_id) - - self.account_sid = account_sid - self.auth_token = auth_token - self.workspace_sid = workspace_sid - self.channel_id = channel_id - self.policies = [] - - if kwargs.get('allow_web_sockets', True): - self.allow_web_sockets() - if kwargs.get('allow_fetch_self', True): - self.allow_fetch_self() - if kwargs.get('allow_update_self', False): - self.allow_update_self() - if kwargs.get('allow_delete_self', False): - self.allow_delete_self() - if kwargs.get('allow_fetch_subresources', False): - self.allow_fetch_subresources() - if kwargs.get('allow_delete_subresources', False): - self.allow_delete_subresources() - if kwargs.get('allow_update_subresources', False): - self.allow_update_subresources() - - @property - def workspace_url(self): - return '{}/{}/Workspaces/{}'.format(self.DOMAIN, self.VERSION, self.workspace_sid) - - @property - def resource_url(self): - raise NotImplementedError('Subclass must set its specific resource_url.') - - @property - def channel_prefix(self): - raise NotImplementedError('Subclass must set its specific channel_id sid prefix.') - - def allow_fetch_self(self): - self._make_policy(self.resource_url, 'GET', True) - - def allow_update_self(self): - self._make_policy(self.resource_url, 'POST', True) - - def allow_delete_self(self): - self._make_policy(self.resource_url, 'DELETE', True) - - def allow_fetch_subresources(self): - self._make_policy(self.resource_url + '/**', 'GET', True) - - def allow_update_subresources(self): - self._make_policy(self.resource_url + '/**', 'POST', True) - - def allow_delete_subresources(self): - self._make_policy(self.resource_url + '/**', 'DELETE', True) - - def allow_web_sockets(self, channel_id=None): - channel_id = channel_id or self.channel_id - web_socket_url = '{}/{}/{}'.format(self.EVENTS_BASE_URL, self.account_sid, channel_id) - self._make_policy(web_socket_url, 'GET', True) - self._make_policy(web_socket_url, 'POST', True) - - def _generate_payload(self): - payload = { - 'account_sid': self.account_sid, - 'workspace_sid': self.workspace_sid, - 'channel': self.channel_id, - 'version': self.VERSION, - 'friendly_name': self.channel_id, - 'policies': self.policies, - } - - if self.channel_id.startswith('WK'): - payload['worker_sid'] = self.channel_id - elif self.channel_id.startswith('WQ'): - payload['taskqueue_sid'] = self.channel_id - - return payload - - def _make_policy(self, url, method, allowed, query_filter=None, post_filter=None): - self.policies.append({ - 'url': url, - 'method': method.upper(), - 'allow': allowed, - 'query_filter': query_filter or {}, - 'post_filter': post_filter or {}, - }) - - def _validate_inputs(self, account_sid, workspace_sid, channel_id): - if not account_sid or not account_sid.startswith('AC'): - raise ValueError('Invalid account sid provided {}'.format(account_sid)) - - if not workspace_sid or not workspace_sid.startswith('WS'): - raise ValueError('Invalid workspace sid provided {}'.format(workspace_sid)) - - if not channel_id or not channel_id.startswith(self.channel_prefix): - raise ValueError('Invalid channel id provided {}'.format(channel_id)) - - def __str__(self): - return '<TaskRouterCapabilityToken {}>'.format(self.to_jwt()) - diff --git a/twilio/jwt/taskrouter/__pycache__/__init__.cpython-36.pyc b/twilio/jwt/taskrouter/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 05013d9977b27c22b56b055f5790d1b9a0696e66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5832 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 diff --git a/twilio/jwt/taskrouter/__pycache__/capabilities.cpython-36.pyc b/twilio/jwt/taskrouter/__pycache__/capabilities.cpython-36.pyc deleted file mode 100644 index 8fbe7ef1dece48781554e0228784bdd91b593f7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5322 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 diff --git a/twilio/jwt/taskrouter/capabilities.py b/twilio/jwt/taskrouter/capabilities.py deleted file mode 100644 index 0f4cb8c..0000000 --- a/twilio/jwt/taskrouter/capabilities.py +++ /dev/null @@ -1,112 +0,0 @@ -from twilio.jwt.taskrouter import TaskRouterCapabilityToken - - -class WorkerCapabilityToken(TaskRouterCapabilityToken): - def __init__(self, account_sid, auth_token, workspace_sid, worker_sid, ttl=3600, **kwargs): - """ - :param kwargs: - All kwarg parameters supported by TaskRouterCapabilityToken - :param bool allow_fetch_activities: shortcut to calling allow_fetch_activities, - defaults to True - :param bool allow_fetch_reservations: shortcut to calling allow_fetch_reservations, - defaults to True - :param bool allow_fetch_worker_reservations: shortcut to calling allow_fetch_worker_reservations, - defaults to True - :param bool allow_update_activities: shortcut to calling allow_update_activities, - defaults to False - :param bool allow_update_reservations: shortcut to calling allow_update_reservations, - defaults to False - """ - super(WorkerCapabilityToken, self).__init__( - account_sid=account_sid, - auth_token=auth_token, - workspace_sid=workspace_sid, - channel_id=worker_sid, - ttl=ttl, - **kwargs - ) - - if kwargs.get('allow_fetch_activities', True): - self.allow_fetch_activities() - if kwargs.get('allow_fetch_reservations', True): - self.allow_fetch_reservations() - if kwargs.get('allow_fetch_worker_reservations', True): - self.allow_fetch_worker_reservations() - if kwargs.get('allow_update_activities', False): - self.allow_update_activities() - if kwargs.get('allow_update_reservations', False): - self.allow_update_reservations() - - @property - def resource_url(self): - return '{}/Workers/{}'.format(self.workspace_url, self.channel_id) - - @property - def channel_prefix(self): - return 'WK' - - def allow_fetch_activities(self): - self._make_policy(self.workspace_url + '/Activities', 'GET', True) - - def allow_fetch_reservations(self): - self._make_policy(self.workspace_url + '/Tasks/**', 'GET', True) - - def allow_fetch_worker_reservations(self): - self._make_policy(self.resource_url + '/Reservations/**', 'GET', True) - - def allow_update_activities(self): - post_filter = {'ActivitySid': {'required': True}} - self._make_policy(self.resource_url, 'POST', True, post_filter=post_filter) - - def allow_update_reservations(self): - self._make_policy(self.workspace_url + '/Tasks/**', 'POST', True) - self._make_policy(self.resource_url + '/Reservations/**', 'POST', True) - - def __str__(self): - return '<WorkerCapabilityToken {}>'.format(self.to_jwt()) - - -class TaskQueueCapabilityToken(TaskRouterCapabilityToken): - def __init__(self, account_sid, auth_token, workspace_sid, task_queue_sid, ttl=3600, **kwargs): - super(TaskQueueCapabilityToken, self).__init__( - account_sid=account_sid, - auth_token=auth_token, - workspace_sid=workspace_sid, - channel_id=task_queue_sid, - ttl=ttl, - **kwargs - ) - - @property - def resource_url(self): - return '{}/TaskQueues/{}'.format(self.workspace_url, self.channel_id) - - @property - def channel_prefix(self): - return 'WQ' - - def __str__(self): - return '<TaskQueueCapabilityToken {}>'.format(self.to_jwt()) - - -class WorkspaceCapabilityToken(TaskRouterCapabilityToken): - def __init__(self, account_sid, auth_token, workspace_sid, ttl=3600, **kwargs): - super(WorkspaceCapabilityToken, self).__init__( - account_sid=account_sid, - auth_token=auth_token, - workspace_sid=workspace_sid, - channel_id=workspace_sid, - ttl=ttl, - **kwargs - ) - - @property - def resource_url(self): - return self.workspace_url - - @property - def channel_prefix(self): - return 'WS' - - def __str__(self): - return '<WorkspaceCapabilityToken {}>'.format(self.to_jwt()) diff --git a/twilio/jwt/validation/__init__.py b/twilio/jwt/validation/__init__.py deleted file mode 100644 index 70c1d41..0000000 --- a/twilio/jwt/validation/__init__.py +++ /dev/null @@ -1,88 +0,0 @@ -from hashlib import sha256 -from six import string_types - -from twilio.jwt import Jwt - - -class ClientValidationJwt(Jwt): - """A JWT included on requests so that Twilio can verify request authenticity""" - __CTY = 'twilio-pkrv;v=1' - - def __init__(self, account_sid, api_key_sid, credential_sid, private_key, validation_payload): - """ - Create a new ClientValidationJwt - :param str account_sid: A Twilio Account Sid starting with 'AC' - :param str api_key_sid: A Twilio API Key Sid starting with 'SK' - :param str credential_sid: A Credential Sid starting with 'CR', - public key Twilio will use to verify the JWT. - :param str private_key: The private key used to sign the JWT. - :param ValidationPayload validation_payload: information from the request to sign - """ - super(ClientValidationJwt, self).__init__( - secret_key=private_key, - issuer=api_key_sid, - subject=account_sid, - algorithm='RS256', - ttl=300 # 5 minute ttl - ) - self.credential_sid = credential_sid - self.validation_payload = validation_payload - - def _generate_headers(self): - return { - 'cty': ClientValidationJwt.__CTY, - 'kid': self.credential_sid - } - - def _generate_payload(self): - # Lowercase header keys, combine and sort headers with list values - all_headers = {k.lower(): self._sort_and_join(v, ',') for k, v in self.validation_payload.all_headers.items()} - # Names of headers we are signing in the jwt - signed_headers = sorted(self.validation_payload.signed_headers) - - # Stringify headers, only include headers in signed_headers - headers_str = ['{}:{}'.format(h, all_headers[h]) for h in signed_headers if h in all_headers] - headers_str = '\n'.join(headers_str) - - # Sort query string parameters - query_string = self.validation_payload.query_string.split('&') - query_string = self._sort_and_join(query_string, '&') - - req_body_hash = self._hash(self.validation_payload.body) or '' - - signed_headers_str = ';'.join(signed_headers) - - signed_payload = [ - self.validation_payload.method, - self.validation_payload.path, - query_string, - ] - - if headers_str: - signed_payload.append(headers_str) - signed_payload.append('') - signed_payload.append(signed_headers_str) - signed_payload.append(req_body_hash) - - signed_payload = '\n'.join(signed_payload) - - return { - 'hrh': signed_headers_str, - 'rqh': self._hash(signed_payload) - } - - @classmethod - def _sort_and_join(self, values, joiner): - if isinstance(values, string_types): - return values - return joiner.join(sorted(values)) - - @classmethod - def _hash(self, input_str): - if not input_str: - return input_str - - if not isinstance(input_str, bytes): - input_str = input_str.encode('utf-8') - - return sha256(input_str).hexdigest() diff --git a/twilio/jwt/validation/__pycache__/__init__.cpython-36.pyc b/twilio/jwt/validation/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 57aa37fc40001090a45443e3d1058ce06c8490d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3077 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 diff --git a/twilio/request_validator.py b/twilio/request_validator.py deleted file mode 100644 index f798b54..0000000 --- a/twilio/request_validator.py +++ /dev/null @@ -1,79 +0,0 @@ -import base64 -import hmac -from hashlib import sha1 - -from six import PY3 - -from twilio.compat import izip, urlparse - - -def compare(string1, string2): - """Compare two strings while protecting against timing attacks - - :param str string1: the first string - :param str string2: the second string - - :returns: True if the strings are equal, False if not - :rtype: :obj:`bool` - """ - if len(string1) != len(string2): - return False - result = True - for c1, c2 in izip(string1, string2): - result &= c1 == c2 - return result - - -def remove_port(uri): - """Remove the port number from a URI - - :param uri: full URI that Twilio requested on your server - - :returns: full URI without a port number - :rtype: str - """ - new_netloc = uri.netloc.split(':')[0] - new_uri = uri._replace(netloc=new_netloc) - return new_uri.geturl() - - -class RequestValidator(object): - - def __init__(self, token): - self.token = token.encode("utf-8") - - def compute_signature(self, uri, params, utf=PY3): - """Compute the signature for a given request - - :param uri: full URI that Twilio requested on your server - :param params: post vars that Twilio sent with the request - :param utf: whether return should be bytestring or unicode (python3) - - :returns: The computed signature - """ - s = uri - if len(params) > 0: - for k, v in sorted(params.items()): - s += k + v - - # compute signature and compare signatures - mac = hmac.new(self.token, s.encode("utf-8"), sha1) - computed = base64.b64encode(mac.digest()) - if utf: - computed = computed.decode('utf-8') - - return computed.strip() - - def validate(self, uri, params, signature): - """Validate a request from Twilio - - :param uri: full URI that Twilio requested on your server - :param params: post vars that Twilio sent with the request - :param signature: expected signature in HTTP X-Twilio-Signature header - - :returns: True if the request passes validation, False if not - """ - parsed_uri = urlparse(uri) - if parsed_uri.scheme == "https" and parsed_uri.port: - uri = remove_port(parsed_uri) - return compare(self.compute_signature(uri, params), signature) diff --git a/twilio/rest/__init__.py b/twilio/rest/__init__.py deleted file mode 100644 index 0d10baf..0000000 --- a/twilio/rest/__init__.py +++ /dev/null @@ -1,599 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -import os -import platform -from twilio import __version__ -from twilio.base.exceptions import TwilioException -from twilio.base.obsolete import obsolete_client -from twilio.http.http_client import TwilioHttpClient - - -class Client(object): - """ A client for accessing the Twilio API. """ - - def __init__(self, username=None, password=None, account_sid=None, region=None, - http_client=None, environment=None): - """ - Initializes the Twilio Client - - :param str username: Username to authenticate with - :param str password: Password to authenticate with - :param str account_sid: Account Sid, defaults to Username - :param str region: Twilio Region to make requests to - :param HttpClient http_client: HttpClient, defaults to TwilioHttpClient - :param dict environment: Environment to look for auth details, defaults to os.environ - - :returns: Twilio Client - :rtype: twilio.rest.Client - """ - environment = environment or os.environ - - self.username = username or environment.get('TWILIO_ACCOUNT_SID') - """ :type : str """ - self.password = password or environment.get('TWILIO_AUTH_TOKEN') - """ :type : str """ - self.account_sid = account_sid or self.username - """ :type : str """ - self.region = region - """ :type : str """ - - if not self.username or not self.password: - raise TwilioException("Credentials are required to create a TwilioClient") - - self.auth = (self.username, self.password) - """ :type : tuple(str, str) """ - self.http_client = http_client or TwilioHttpClient() - """ :type : HttpClient """ - - # Domains - self._accounts = None - self._api = None - self._chat = None - self._fax = None - self._ip_messaging = None - self._lookups = None - self._monitor = None - self._notify = None - self._preview = None - self._pricing = None - self._proxy = None - self._taskrouter = None - self._trunking = None - self._video = None - self._messaging = None - self._wireless = None - self._sync = None - self._studio = None - - def request(self, method, uri, params=None, data=None, headers=None, auth=None, - timeout=None, allow_redirects=False): - """ - Makes a request to the Twilio API using the configured http client - Authentication information is automatically added if none is provided - - :param str method: HTTP Method - :param str uri: Fully qualified url - :param dict[str, str] params: Query string parameters - :param dict[str, str] data: POST body data - :param dict[str, str] headers: HTTP Headers - :param tuple(str, str) auth: Authentication - :param int timeout: Timeout in seconds - :param bool allow_redirects: Should the client follow redirects - - :returns: Response from the Twilio API - :rtype: twilio.http.response.Response - """ - auth = auth or self.auth - headers = headers or {} - - headers['User-Agent'] = 'twilio-python/{} (Python {})'.format( - __version__, - platform.python_version(), - ) - headers['X-Twilio-Client'] = 'python-{}'.format(__version__) - headers['Accept-Charset'] = 'utf-8' - - if method == 'POST' and 'Content-Type' not in headers: - headers['Content-Type'] = 'application/x-www-form-urlencoded' - - if 'Accept' not in headers: - headers['Accept'] = 'application/json' - - if self.region: - head, tail = uri.split('.', 1) - - if not tail.startswith(self.region): - uri = '.'.join([head, self.region, tail]) - - return self.http_client.request( - method, - uri, - params=params, - data=data, - headers=headers, - auth=auth, - timeout=timeout, - allow_redirects=allow_redirects - ) - - @property - def accounts(self): - """ - Access the Accounts Twilio Domain - - :returns: Accounts Twilio Domain - :rtype: twilio.rest.accounts.Accounts - """ - if self._accounts is None: - from twilio.rest.accounts import Accounts - self._accounts = Accounts(self) - return self._accounts - - @property - def api(self): - """ - Access the Api Twilio Domain - - :returns: Api Twilio Domain - :rtype: twilio.rest.api.Api - """ - if self._api is None: - from twilio.rest.api import Api - self._api = Api(self) - return self._api - - @property - def chat(self): - """ - Access the Chat Twilio Domain - - :returns: Chat Twilio Domain - :rtype: twilio.rest.chat.Chat - """ - if self._chat is None: - from twilio.rest.chat import Chat - self._chat = Chat(self) - return self._chat - - @property - def fax(self): - """ - Access the Fax Twilio Domain - - :returns: Fax Twilio Domain - :rtype: twilio.rest.fax.Fax - """ - if self._fax is None: - from twilio.rest.fax import Fax - self._fax = Fax(self) - return self._fax - - @property - def ip_messaging(self): - """ - Access the IpMessaging Twilio Domain - - :returns: IpMessaging Twilio Domain - :rtype: twilio.rest.ip_messaging.IpMessaging - """ - if self._ip_messaging is None: - from twilio.rest.ip_messaging import IpMessaging - self._ip_messaging = IpMessaging(self) - return self._ip_messaging - - @property - def lookups(self): - """ - Access the Lookups Twilio Domain - - :returns: Lookups Twilio Domain - :rtype: twilio.rest.lookups.Lookups - """ - if self._lookups is None: - from twilio.rest.lookups import Lookups - self._lookups = Lookups(self) - return self._lookups - - @property - def monitor(self): - """ - Access the Monitor Twilio Domain - - :returns: Monitor Twilio Domain - :rtype: twilio.rest.monitor.Monitor - """ - if self._monitor is None: - from twilio.rest.monitor import Monitor - self._monitor = Monitor(self) - return self._monitor - - @property - def notify(self): - """ - Access the Notify Twilio Domain - - :returns: Notify Twilio Domain - :rtype: twilio.rest.notify.Notify - """ - if self._notify is None: - from twilio.rest.notify import Notify - self._notify = Notify(self) - return self._notify - - @property - def preview(self): - """ - Access the Preview Twilio Domain - - :returns: Preview Twilio Domain - :rtype: twilio.rest.preview.Preview - """ - if self._preview is None: - from twilio.rest.preview import Preview - self._preview = Preview(self) - return self._preview - - @property - def pricing(self): - """ - Access the Pricing Twilio Domain - - :returns: Pricing Twilio Domain - :rtype: twilio.rest.pricing.Pricing - """ - if self._pricing is None: - from twilio.rest.pricing import Pricing - self._pricing = Pricing(self) - return self._pricing - - @property - def proxy(self): - """ - Access the Proxy Twilio Domain - - :returns: Proxy Twilio Domain - :rtype: twilio.rest.proxy.Proxy - """ - if self._proxy is None: - from twilio.rest.proxy import Proxy - self._proxy = Proxy(self) - return self._proxy - - @property - def taskrouter(self): - """ - Access the Taskrouter Twilio Domain - - :returns: Taskrouter Twilio Domain - :rtype: twilio.rest.taskrouter.Taskrouter - """ - if self._taskrouter is None: - from twilio.rest.taskrouter import Taskrouter - self._taskrouter = Taskrouter(self) - return self._taskrouter - - @property - def trunking(self): - """ - Access the Trunking Twilio Domain - - :returns: Trunking Twilio Domain - :rtype: twilio.rest.trunking.Trunking - """ - if self._trunking is None: - from twilio.rest.trunking import Trunking - self._trunking = Trunking(self) - return self._trunking - - @property - def video(self): - """ - Access the Video Twilio Domain - - :returns: Video Twilio Domain - :rtype: twilio.rest.video.Video - """ - if self._video is None: - from twilio.rest.video import Video - self._video = Video(self) - return self._video - - @property - def messaging(self): - """ - Access the Messaging Twilio Domain - - :returns: Messaging Twilio Domain - :rtype: twilio.rest.messaging.Messaging - """ - if self._messaging is None: - from twilio.rest.messaging import Messaging - self._messaging = Messaging(self) - return self._messaging - - @property - def wireless(self): - """ - Access the Wireless Twilio Domain - - :returns: Wireless Twilio Domain - :rtype: twilio.rest.wireless.Wireless - """ - if self._wireless is None: - from twilio.rest.wireless import Wireless - self._wireless = Wireless(self) - return self._wireless - - @property - def sync(self): - """ - Access the Sync Twilio Domain - - :returns: Sync Twilio Domain - :rtype: twilio.rest.sync.Sync - """ - if self._sync is None: - from twilio.rest.sync import Sync - self._sync = Sync(self) - return self._sync - - @property - def studio(self): - """ - Access the Studio Twilio Domain - - :returns: Studio Twilio Domain - :rtype: twilio.rest.studio.Studio - """ - if self._studio is None: - from twilio.rest.studio import Studio - self._studio = Studio(self) - return self._studio - - @property - def addresses(self): - """ - :rtype: twilio.rest.api.v2010.account.address.AddressList - """ - return self.api.account.addresses - - @property - def applications(self): - """ - :rtype: twilio.rest.api.v2010.account.application.ApplicationList - """ - return self.api.account.applications - - @property - def authorized_connect_apps(self): - """ - :rtype: twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppList - """ - return self.api.account.authorized_connect_apps - - @property - def available_phone_numbers(self): - """ - :rtype: twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryList - """ - return self.api.account.available_phone_numbers - - @property - def calls(self): - """ - :rtype: twilio.rest.api.v2010.account.call.CallList - """ - return self.api.account.calls - - @property - def conferences(self): - """ - :rtype: twilio.rest.api.v2010.account.conference.ConferenceList - """ - return self.api.account.conferences - - @property - def connect_apps(self): - """ - :rtype: twilio.rest.api.v2010.account.connect_app.ConnectAppList - """ - return self.api.account.connect_apps - - @property - def incoming_phone_numbers(self): - """ - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberList - """ - return self.api.account.incoming_phone_numbers - - @property - def keys(self): - """ - :rtype: twilio.rest.api.v2010.account.key.KeyList - """ - return self.api.account.keys - - @property - def messages(self): - """ - :rtype: twilio.rest.api.v2010.account.message.MessageList - """ - return self.api.account.messages - - @property - def new_keys(self): - """ - :rtype: twilio.rest.api.v2010.account.new_key.NewKeyList - """ - return self.api.account.new_keys - - @property - def new_signing_keys(self): - """ - :rtype: twilio.rest.api.v2010.account.new_signing_key.NewSigningKeyList - """ - return self.api.account.new_signing_keys - - @property - def notifications(self): - """ - :rtype: twilio.rest.api.v2010.account.notification.NotificationList - """ - return self.api.account.notifications - - @property - def outgoing_caller_ids(self): - """ - :rtype: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdList - """ - return self.api.account.outgoing_caller_ids - - @property - def queues(self): - """ - :rtype: twilio.rest.api.v2010.account.queue.QueueList - """ - return self.api.account.queues - - @property - def recordings(self): - """ - :rtype: twilio.rest.api.v2010.account.recording.RecordingList - """ - return self.api.account.recordings - - @property - def signing_keys(self): - """ - :rtype: twilio.rest.api.v2010.account.signing_key.SigningKeyList - """ - return self.api.account.signing_keys - - @property - def sip(self): - """ - :rtype: twilio.rest.api.v2010.account.sip.SipList - """ - return self.api.account.sip - - @property - def short_codes(self): - """ - :rtype: twilio.rest.api.v2010.account.short_code.ShortCodeList - """ - return self.api.account.short_codes - - @property - def tokens(self): - """ - :rtype: twilio.rest.api.v2010.account.token.TokenList - """ - return self.api.account.tokens - - @property - def transcriptions(self): - """ - :rtype: twilio.rest.api.v2010.account.transcription.TranscriptionList - """ - return self.api.account.transcriptions - - @property - def usage(self): - """ - :rtype: twilio.rest.api.v2010.account.usage.UsageList - """ - return self.api.account.usage - - @property - def validation_requests(self): - """ - :rtype: twilio.rest.api.v2010.account.validation_request.ValidationRequestList - """ - return self.api.account.validation_requests - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio {}>'.format(self.account_sid) - - -@obsolete_client -class TwilioClient(object): - """ Dummy client which provides no functionality. Please use - twilio.rest.Client instead. """ - - def __init__(self, *args): - pass - - -@obsolete_client -class TwilioRestClient(object): - """ Dummy client which provides no functionality. Please use - twilio.rest.Client instead. """ - - def __init__(self, *args): - pass - - -@obsolete_client -class TwilioIpMessagingClient(object): - """ Dummy client which provides no functionality. Please use - twilio.rest.Client instead. """ - - def __init__(self, *args): - pass - - -@obsolete_client -class TwilioLookupsClient(object): - """ Dummy client which provides no functionality. Please use - twilio.rest.Client instead. """ - - def __init__(self, *args): - pass - - -@obsolete_client -class TwilioMonitorClient(object): - """ Dummy client which provides no functionality. Please use - twilio.rest.Client instead. """ - - def __init__(self, *args): - pass - - -@obsolete_client -class TwilioPricingClient(object): - """ Dummy client which provides no functionality. Please use - twilio.rest.Client instead. """ - - def __init__(self, *args): - pass - - -@obsolete_client -class TwilioTaskRouterClient(object): - """ Dummy client which provides no functionality. Please use - twilio.rest.Client instead. """ - - def __init__(self, *args): - pass - - -@obsolete_client -class TwilioTrunkingClient(object): - """ Dummy client which provides no functionality. Please use - twilio.rest.Client instead. """ - - def __init__(self, *args): - pass diff --git a/twilio/rest/__pycache__/__init__.cpython-36.pyc b/twilio/rest/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index ff164a19aa987ca4a687ac30f5243f0d589d1df5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18035 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 diff --git a/twilio/rest/accounts/__init__.py b/twilio/rest/accounts/__init__.py deleted file mode 100644 index a591948..0000000 --- a/twilio/rest/accounts/__init__.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.domain import Domain -from twilio.rest.accounts.v1 import V1 - - -class Accounts(Domain): - - def __init__(self, twilio): - """ - Initialize the Accounts Domain - - :returns: Domain for Accounts - :rtype: twilio.rest.accounts.Accounts - """ - super(Accounts, self).__init__(twilio) - - self.base_url = 'https://accounts.twilio.com' - - # Versions - self._v1 = None - - @property - def v1(self): - """ - :returns: Version v1 of accounts - :rtype: twilio.rest.accounts.v1.V1 - """ - if self._v1 is None: - self._v1 = V1(self) - return self._v1 - - @property - def credentials(self): - """ - :rtype: twilio.rest.accounts.v1.credential.CredentialList - """ - return self.v1.credentials - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Accounts>' diff --git a/twilio/rest/accounts/__pycache__/__init__.cpython-36.pyc b/twilio/rest/accounts/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index aadffbe7fe2c3412417b1806a72220002319275b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1635 zcmaJ>&u`l{6ecOzRurdehXMmO4B&0?p>mAgjG$<d0>jWQ*sv@IK?R|R^sH2tR8n?e z!M9}SpRsfQmR)w%b*KFcJMBIFN&;jhK=Mg^eEdGX@A3J;f&1rQfB1z>$lv5ngKzQ@ zx;cVD5}!yaSwdILXB2HKu~xQkQ}R8LwjA6LIZ*7{@&|JG3z>|{&^=qmhDVuH{3<m3 zH<c<K7E1DqtsC$u7aST4V%N?t-|<5+38pX{id`_>@!jDRJT^1$$UAb;pTowcP2GP0 z7@5#&_&QsKaS9eYpGEkyYgTKRV=xr)Dezz)$$}!68^^blEiGx^kZbA>zy|EKJ(MHq z+z@~Ck=Vp{fX`m#yo#c1ofalyZB(4`1nh>xP>_P|$ThoUJ9<s=mUcu~lEG+822rf? z_m&0cKcsOHhe=#2UMv;wqVtA~+xyM6D%LtR^LB+VGTnRM@hY~tn)Bi+PU6hd$`oGM z0`|Jty?6P|vM6#hpH6$9c4L&SPA7wEVAi?P8Z}TkLd1Yoh|0MLjS_2}RF>GxCakiJ zN*4aG*$el-Cq$Hl#t89={QK@?9{g&QHo?!azYMeBRi3{Ni!gYbMPU-0sZ}22asKRL z9VhbHbCYC?t+@)CVBLg7f(~TRA@TC99s;&6pc^#E=rJ2w<&%!7*Lg-1SE1pI2|Iyq zzJ_5(E+Ikh9sRUU8m6lL2WevEyZ)+fum2pV#90bz<k^CEnC>`!CIg`0^I7kDI$_!Y z2pW|$p?VMP{eBpORk6+NTbLVmLzlX=-0#_KX7_j@x0)9QMP8Q_SkUrKf8tz!9$ciA zR4MAwJL%20u_^ip0QmrM?cchZhoS37;P)MLQy0pheA?r_v-e>FC^(7WSy}c+|D>}` z46jJY7dlp{OtxIB9Fzfw!va$BP_g_NM$0%=|GTAqMR<2JrqKO?<&)#Hrj9z~FY5F> z%ohs;@d)Adq(}Fp*sS6kB19Ul6qJ%H#43~P1nsd9AJ$>gtkk-$oLpy6fW@}H^!i3M zioH5$D=bn;0>}2E0cb9)Yt&9%wwNq~dT`kI(byf2>c6LxVKov$W|0v7mu<~sReQ32 oLp7$%|EgWM|B7s8wO;Euw+A;?Em`Ndq4Z*eXJc8~Y)r@2e<#nDng9R* diff --git a/twilio/rest/accounts/v1/__init__.py b/twilio/rest/accounts/v1/__init__.py deleted file mode 100644 index 3841d15..0000000 --- a/twilio/rest/accounts/v1/__init__.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.accounts.v1.credential import CredentialList - - -class V1(Version): - - def __init__(self, domain): - """ - Initialize the V1 version of Accounts - - :returns: V1 version of Accounts - :rtype: twilio.rest.accounts.v1.V1.V1 - """ - super(V1, self).__init__(domain) - self.version = 'v1' - self._credentials = None - - @property - def credentials(self): - """ - :rtype: twilio.rest.accounts.v1.credential.CredentialList - """ - if self._credentials is None: - self._credentials = CredentialList(self) - return self._credentials - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Accounts.V1>' diff --git a/twilio/rest/accounts/v1/__pycache__/__init__.cpython-36.pyc b/twilio/rest/accounts/v1/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 27aace61c23a6189a6c95f5ab065190a05fc491b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1423 zcmah|O>fjN5Vf7`N7HRVq9;xkT$)37yW+O0DykwOM5#cO9->IbjlDD_n*=+%)vj`D zr5^bSocS$WIOl}KiNC;!agt42M1{2;kGzxddoypItgSiUzJKw4SP1<@H<k_lQ`mYN zj6fa|Sda)$h)1yTt;m|#o{iCSBy7>TM4~0hh2^zG`z>-i3+^19hMES6ko25u`a#B0 z@k|POGIxABpp3!-!}9ucXihho>kq(evfLl!G~XOR#BA8#?r%FLp2COK8aTfI7;<sZ zIhIO?Neu4#zLG-5S;(V<P-lUOSS}z~u9A>M9tKk63XQQLcG>kTX$wo(m*@fm37~O_ zy!I8ck=HSV3UWLQNS(u+CZE}wg2_;Zb96z@NRBVCDNv4>B?wqs5cu9&e69&l`XUYu z!f+vJb}H%dkj^RwG#S&qAV{Whrky5yq+~W#u^!zOSyzOPR5nlLh-T+u6efKob=K!~ zx;_-~*!-Hb9+?df-B!`k(^M*D`dxGx3jrKsMW=>T^jOf;RJ)|GwT#9^TO<=6nv$<D z7DQZY#=fH8@ApUkI}K#~H=%dR6MrvFpYe?Q2T8yq|42?!KMm8ZlW7=<ttUE4#&dn{ zSAds?!R;?``?I0H1l3RHstqvj!Pdq>o%^_r7pp*Q853Z056hgUP5ZF*LohiygSLF^ zs*SQ$ra|Q$G>0r+Hf8x=5wEM!zb&>V!=X!57amkb9WGWY#_u&|4ZLFYI!y_#qSJD) zgBR;S=f>Z+7#UV2BhxN{OYDp0<<}~ig)ncNj#VgQ5zVQRDby22f@d%y{}R<J9-M}; zyz`U4)ul7lJh<4{IjY3Alr1Q1w<LQ9aZs3n#MomXpv!sc)D5ie-L6q#%qJ35=rA@( z#56K~kFifv9##L8Iw-oSN<h2WT&+VkWpq)j)p`tM6v10f-2u<42{Pp`#crIk>|N4Z z?X8q|hi<#*FeZ|KG4DY=M<-m%emxG#Aod>JHDT9nE1O^DyoOMDW&gW76|ddS5`|5A HxM%$V?FVQG diff --git a/twilio/rest/accounts/v1/credential/__init__.py b/twilio/rest/accounts/v1/credential/__init__.py deleted file mode 100644 index 9eb299d..0000000 --- a/twilio/rest/accounts/v1/credential/__init__.py +++ /dev/null @@ -1,133 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.accounts.v1.credential.aws import AwsList -from twilio.rest.accounts.v1.credential.public_key import PublicKeyList - - -class CredentialList(ListResource): - """ """ - - def __init__(self, version): - """ - Initialize the CredentialList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.accounts.v1.credential.CredentialList - :rtype: twilio.rest.accounts.v1.credential.CredentialList - """ - super(CredentialList, self).__init__(version) - - # Path Solution - self._solution = {} - - # Components - self._public_key = None - self._aws = None - - @property - def public_key(self): - """ - Access the public_key - - :returns: twilio.rest.accounts.v1.credential.public_key.PublicKeyList - :rtype: twilio.rest.accounts.v1.credential.public_key.PublicKeyList - """ - if self._public_key is None: - self._public_key = PublicKeyList(self._version, ) - return self._public_key - - @property - def aws(self): - """ - Access the aws - - :returns: twilio.rest.accounts.v1.credential.aws.AwsList - :rtype: twilio.rest.accounts.v1.credential.aws.AwsList - """ - if self._aws is None: - self._aws = AwsList(self._version, ) - return self._aws - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Accounts.V1.CredentialList>' - - -class CredentialPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the CredentialPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.accounts.v1.credential.CredentialPage - :rtype: twilio.rest.accounts.v1.credential.CredentialPage - """ - super(CredentialPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of CredentialInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.accounts.v1.credential.CredentialInstance - :rtype: twilio.rest.accounts.v1.credential.CredentialInstance - """ - return CredentialInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Accounts.V1.CredentialPage>' - - -class CredentialInstance(InstanceResource): - """ """ - - def __init__(self, version, payload): - """ - Initialize the CredentialInstance - - :returns: twilio.rest.accounts.v1.credential.CredentialInstance - :rtype: twilio.rest.accounts.v1.credential.CredentialInstance - """ - super(CredentialInstance, self).__init__(version) - - # Context - self._context = None - self._solution = {} - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Accounts.V1.CredentialInstance>' diff --git a/twilio/rest/accounts/v1/credential/__pycache__/__init__.cpython-36.pyc b/twilio/rest/accounts/v1/credential/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 45e272220ad2bbd1bae4c86da8e099c85a0445c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4479 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 V#UD(8Ga%Q3e+c>LE1#`g{~Ofsk52#q diff --git a/twilio/rest/accounts/v1/credential/__pycache__/aws.cpython-36.pyc b/twilio/rest/accounts/v1/credential/__pycache__/aws.cpython-36.pyc deleted file mode 100644 index 67c9b10d855312e13c0bcaf5dcf40039da5244ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13728 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 H_51$=S@?&# diff --git a/twilio/rest/accounts/v1/credential/__pycache__/public_key.cpython-36.pyc b/twilio/rest/accounts/v1/credential/__pycache__/public_key.cpython-36.pyc deleted file mode 100644 index 8817cd781644f160197198f3f74ac47814f9c0e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14909 zcmeHOOOG7ab*@*xdxk?wBsH?6R4gZEJHwu#WjW4-VoXyKL6{jce8@m&j8aWiHK&Hv zU9GBW4yQFl43K~q0gWuO2_nE7FOp4wY_iVY2$GF~ptjj0KOtJ>JLgv2s(#FnCK(Gd zG(_FL^}2QLIp==ob@|THQu9~;@r&NK-&K_VQc8aY`rpS9{|y>f=_#)2YJob?dYVdo z9eus0bKeMzL8VvWekG_5YP}lwt3iFx=ry=s3z~ygucazi6}Rp-9xHCcYdq3>ZJamV z7S3B<3+GEXZ@Wu4U-BwAU&i^edjjVtyc*6=xGT4m&dG`0yuItkrW3lJxo^kjU2o_` zcH+6_&OvkATsJKfe`u`3?6+win&+&}_Bxt#*5UU0p?P?29Z%f9(B0^6H0gO0FN(kQ z=Ko;gN=Hpwt`~ceZwLOw!)f)t9gMvgy%X1labgc0?@BmKyax#`t>l+(dT}_89D1RB z-H(&fxpBk3>p3)d{-<Z1_z)dW>8aqi=BhpYXG$MjclF2hp5dN$D{l3%+N-!{+?rcQ zuj<wI>iN;v-G<x5)rQ-0+mDrAQ{K_sC3hKjS}wSUJ8k!*dkVix?kn!A_+9>)Vko^6 z;Op6R>Be{`@SPue2SoNnGfhX!$fI8(m5%sZXc8q+50yvSo_44{QdPxQ4i!sx)jgw+ z-k$z*+_fsMhJkf^NmZ1L$EJC0=qG}sX0q#<Q{QaLr#44+WDm@byeRg=p?P2YZpsVE zuAM*whKcPDV;(5V*j^eV@{(~hj5p0>-w*t-i${{K?Kt6hn8aPk-ibWd8xlF)5zpPa z=N)vXNy?PM+>DZgk@s@Onw(v~B0n9k%MZp|ooZT%$0IL_>fmx(w=5t0vaGaW#bGc` zz>Kuo52Jydq=q$){En6yu^05yTE-)&UBj}Rz>Z_f`bXvS!IjPJJJ8~I`!D?7t{rY) z9*y3&6MOr5=-9#bZErBz9{Hp5J7Yg^&%YA~VgDfB-xe&(e~5G2Ip?<TU)U}<w_W1g z=pbr>>{m%ks%VtPie6PGXXFG)vAX%3wwzr1D|nQSD>&lsqJau2d+MQjs6Emi>NwL5 zp<Jtqt36R48hlqjG;mE{RnQu%$|D`BR<ZvLLrNvOl|-IBhzlLdm#7(eP8hkd*^j~j zYtQ8y*Gxc(or6gjnK8fJm7_7}gb<BQQZNI1;s*z25ZV|g9}h!#{l4$`&??--=_rh2 ze<$!v=$s$$w*r6QCvsRI8K`u2J-7TR4;SNckbtC!`lQGJxM>pC%s9k|7@;5wCj)N~ zMh68U-O`c}%gP@nCR4F#-Wg#=;>3hrF@eMJU<Vh&zMNMQW;Ap&ww&w83FHf;_`N&E z;sq{xSec<Y^q`s9>n14k@C_UMBQA7J^L?*xW1=PqABN(p96Cb*B6kGjv|`}!rn$9< zyuOz>yC%&g@;(7bCu`>Zt~bP(i5Yu|2?PktaqP*l3v$anf+RPih|!+7@a{&=2+(`2 zPjpIhh;F>#Lpo0xdS{$Kzj)fEmmovdvvVCmqMamIkqI#lYT=SRo-(c&ao<mNS$Kmm zP72vGp(gQd&Gfro*Bto6bNt4dd0}H?qf^oi371!eL1k?K%rff^d@pd#@rVc$U(6I# zQkMf{fHnS?&xyGC0{w{`HEl>%chu+=U_)Br@AsN~gZmu=NSWbZuSI;b_<Ecg^iWzA zJnmGYWegAzKJie!s(36qLsw49<`nhLqInyKK(dp|+KM)LbsEXUuoA|AJq3)>7zqIx z!<ef+(H^OQD9s+=F*!W~#NP~{h`j|;+!+S`Jx}V;8dP8w4m@xmGVP%&1WABpe$4a! zI9F>ED=d^WW%#k<0S|KQ@rQR`E{xDLpz{S($j_ITqv#6+kr?z9h_LjgKqO-)FVzJQ zGJ~u0ET${Js}R!BiWN`p67h;xcSoPWgINf84QqIlAb|bgmC32;<xc}S6fMyo`8!iS zOp+~q@?1XC9|^xj+tXbQpkN#tuKq-SSV=1E-B4R)AI7l%z3eXE^pePj1%>H|u?XQv z5TcP)lC<QYDOYpZt0|!3rm%~oHr@lz8B@UI4+fs=BX$Z7N`^o<31E^ib4hs58*Z96 z@ZH<gHAhi+-*-9QVv_^sNv_^mlP!D+@pfjpGmsMI71YH3U<7B0ybmWJ&k1k_l8zkm z7%xDWu(jNTv;Xn#Mrmr&#?fpRa<TaAi#h!C0XbGj?=>X<q8e1CSEut^FwCib^@H2+ z+N;d=xKoSBj-*=Hk4~c_Y||25DgrcmH)`Qpr^+gv8AFy-uQkG5OE8|zT=Y7<U5CLQ zg+qh_Glq_g-*p^u8;!DbN~@}xYN&O6R^Mq{84?nar2AKJ#9v1P4Ti?=k%q(M!Ee_R z_S6qa-x1HV@w<AIZjU_2hvWQP)$YWO?s^HLs9@8C4xcX)33qN@m)>yZPeR>umz?<U z#p_hG3Z_H;q$Fw84F?E?dsX3hrL~Oe=ndQznj*k1Z5FeR-lUt;+K|?XB`j&&j429L znoTG~RiBOH<bw+#@Y{ItH-o@Olr1pqe<`a7!el@Jz;Ed7&m&$*2m-UlL!Z+^BN@#j z!htNkAzda3jvz!pjELcYqU7+4r%lBEa=~UWmXFs51`plfz#7^EL?D;V-SGf140)P1 z1$W33Igvl&z>o(8tl>kP2RdrZESyGA<8GR_LB_4|PIgUraYc&2jCaE^-0vN5B923c z5S!e&WVh^;No?El_JOAe(fP4CJ5dnyVhESp9XTGOT%JQp+aG33+XBye&C4S1a?5v9 z<HnC}5#kvx@(|Eqf|BTK)CgS`lt+wtC+Em7AWsT8U78Y5+A8rj`UVD0Ya{!BJl`2@ zkN$wQ6pBvny3#hF=$hI@(jr5^8HZm`CNYrQ0*QeXTI3Etx%-TF#*{JxeUoVHP*h(i zbCyD!(`D9+4>_#eIY9crM_6l?bOM|#y(5MHoRL>fMeZ8r(cDWK4${^!A-G>FQlQx< zS?KW5I5eZ&;*5+^9YFJQTo+zgV^XNZb&7>>_bY)sHJ3RnUj);{Yw-P#h~>2Kj*|fr zk;oPXmi2cfLCod##3K%Lp8x2V4t5b}owytUPbLyEZU|2j%OPLDGZ4K<!~Y!FGUQv1 zd}UUJvF79lCttsKTO@-sJc_#?U6{`JUSj<Ne^?=Bt)pd;4Y90WVmd-0YqNGSf25;r zZSk=}d0es_$m2FGYY@8QfckCA`ebYe*`1nYxuJuXDTT`MNks97@CGYmIBtpX1%IEe z5^zOp)SRcLizZ#l^1hBok}8%F=CVQ$aaw~cI!!93!RxA_wNEt9Hc!>n<umn@hPu33 zZ`E6zeRlAG{L`~uyn)V<g$l#1ps0Xig<HdKm5U2C0AZc|5H2Z@9?&2C(x7z2<fW8L z3Y7O%k=YeR1xC^jph;4UM->rnOnYX+Dfs9)iU?AN#1J<#*O`nu`_P-Fyi|_17OCrV zA}CKqlJR1edTOk#juAD$Z{ZrUvT-C~2!%gEx5zQ<)$@u&u0OmMSc&MZf5s8BG@GZ& zz9D@~=J=<OnM8es-l9MwH<j%5srK2jcz-~(2&Al#ml9>R#gUp+hs;}ZeTNdoZ0ITC z<c<{CRI>ji3Tn;`dO_1UHy&{L55cf0jPB5d8Ek5kL!NW&U-3Y0FkhD@mt|9a>`RQ* zG?(MBnlbTLk_}~;&Qw$&IlyV1xJkekU7&_S7lFd>Qjf4T`VKXc;rWW-#X#WoPdGSO z5{L=}rK=7O`A6DMfANQCo`#@ab+3j3FyW}$tBbNZ%DY@H?==}$TY$wjTW`kIe0ciJ zkC;d=<0_SE5uIy3m1mKOnkm;(jBeQ1%1iMmq|N<_*){kQ!1i~_@ntV-^5zls-t|v0 z*@vk53PfgCOd@hbFv(F+o~UGO{uZw0`o{_>5&1uHM^r1CD|%C%tjcwtNvnWmh?xIK zQ)JeXbeuwVUqQAK8j|I5C|ilW2*_4yS+<fgI#sH@y2cZ(yH5T=>Vb$@O7V@vGx^A- z3|9DIgtC%Q`S44!d~@T8tcl7gG2sDcj<86(mBP>pmlT=*0)N>`W+`LJs6`7vIHKzH zf8!9zv|6)BrWM|DE)D*Gw2)*<r6|6K6A}fb(tPZ&ct|WSlE>H>0&(b>IH*8gr6Ran zVR2M#a=RtF?~D*<Q`NP!+d}e1KJ_v)9>t(i(t?QJs-!6?8NH1LtK}Qi&sGlq%!#`? zW;V^rJM)UZN$>L@i-i8ixck32gwPwyh0xDR&CZ1`J~L%^X%Swb*U3wVEQQ=5Z}yF} z$xkIe-}eG9p|bi@WGUHxJ3`XH?;}A)FPib#aXinB*US&?AVvZl14a9OsVts5FFRov z$j>6Z$nOJ(C{T<@I|VQ;jFR|%8!DIwNb_6}<4G=1B1Lk6*o>V-*zAGrPh3F-CzSUA zN(4);v8U6XBbchn7a2)@u9}j3BAu3ROvhVj4wavr+14In*}4#?*vIk_7Ud_{+eOjL zr1I&*_dW&is|@lTJ=MA!sd_I}?-x!6$7`QAE>c?h!6>@)M$S<~nXJv}RUUPAF9x)+ zC%)8`FHX)K8}w$HX@2_f5(??YUg!@wW1Loe>_vzLg(5$b)*P|nZH7wrkxmnR#0I7I z`eNggIb7|d9WH`Tkq>-_dbF^Fwmr=WBh&e79J~bC30tY3Tz;kAU=PW`9r?#3;w=6Q zP1zB1zs9@nu%GC0qi1*(-gO7H!*06@@4KUZ4Sm{eNBuhbyyFi22Kuzuj;=S+=lyo* zx6tQ3cj&jXU3W{~^4<x!cc<MmaPL;!v+ipMmruH@?(6tH#qQlJ(33aV@Q{1ACF_ht zJr$5h=i)w^S^w@3I)+_QnyYaOE1l@D;2Q6eQnP*qJEq_Vx>XpB+GkbXtXD@{g~8EB z+W?^ojlzB+b{vA1#^l!$4~}vQ7g!aEM9&!p%OU^Y90D>2(K%`e<kL18ODjvBXJ-Pl z-Bd@Z2)^3%8_{KY_XpHmL9>N;g2QW$*_w2j&@El@<M4am-MC=U_=!L8(w2onDt0U- zz851yl&>syGs?j@TO2l8SsrKF>wBA)9r=JtZN;dn^skM7%ji#v$S>#PybFleizGG? zO%}*i@71vxjGaK7BUFH*=uhB<SbQG}Vc75CRjCu%rXg=CY|rK-YiWKK&r=E5<Ncf1 zJWCa6#~yJZCG5)q!5P}<h@!W7-;VrnjI6ms6_yygur6aaS3X#NnYYS;r4M{~l-Mm& z`oyAee-=SAB0-G2lQT`ylv~H=ROSq6<#1b5E{PFQWLV^5McHnlg-xrZI}Z*vN%mE| zr8JuA8Flj79O+&0pfpt^ZPG_l)tIzXNPAUbv-F81t?<z=o9}$bbat_&&q=V62-#E; z32(p^MG4fJup0o|8~adX+$hz)iroh}=dy~L{7%k+4?qg6;WB<^Z40SB)s2NWQJtKg zpCqEFXPluezg(K3EKRY_lxi$_4G)#KAROMM{RE}=#fIRy84;FXD#y%-p7>E|MsLo~ zs8qpvk(oVTp)$)h&drPf^7xt26F)A^?DytpmS_4oBmRtY`*Dfu`KIpMK#(l3DQO)4 zkAMulOD_pg<<Ki{Fm@k5qsy3)RhrRT^D`=2jAxwCwj`lY!(%3d-P{Q_U($z)ZKnB> znx7RJqvK~qPuzWmS!LgR##uc$Vpex<UMtWwUsG$y%m%2#V{a3{`s3Xs8O59H>zU%m z-3()$aPV<y*dx{)!P)UMrYFMEj2EB?tozhN@$@uK?x~LmC)F=cx&yi6tC$6+CBUCW z@JcTCzGO^oQUq(c`Rh(6D#(23IcsP{G9k3h6;*GJZoW!Cz*z;i87?ycP$ZKVSn2w# zk)!)Rl~QOdvg8Xg2S;n@7oIc7HIH%yM`#}1`fEAo+M+ps`SS$PpJ0{}R%qS4Sf(JN z4XM$eQge|SS(6au-S=?q?{l6aQE-0VTpgDw=p36V$N@p53ZhH&eF|5iKcj}y)wzm) zpDxUhMj`y)5@|9=urNHyk_75j=hY+g1Zh1Boel)Nk&9Twa5E7ZgWq!{6(|}qiDF9k zQc_|0Y<sC)FaFgV%PpiB=((-V3Kx!gt;}%k*w|`GSjnI6y-~W{%|jO%^bt#XZ!UZ! zx0ewmhkL8#XJ`X5_9KXWW)Z~!y_NF)5lUpd+m!41qTox35|Pg?#3KXBw0=?SPPkOV ZV=?Uv#RdV6C%M&E{z`dk<(n%%{68EBMq>Z~ diff --git a/twilio/rest/accounts/v1/credential/aws.py b/twilio/rest/accounts/v1/credential/aws.py deleted file mode 100644 index 58d71f5..0000000 --- a/twilio/rest/accounts/v1/credential/aws.py +++ /dev/null @@ -1,412 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class AwsList(ListResource): - """ """ - - def __init__(self, version): - """ - Initialize the AwsList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.accounts.v1.credential.aws.AwsList - :rtype: twilio.rest.accounts.v1.credential.aws.AwsList - """ - super(AwsList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Credentials/AWS'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams AwsInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.accounts.v1.credential.aws.AwsInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists AwsInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.accounts.v1.credential.aws.AwsInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of AwsInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of AwsInstance - :rtype: twilio.rest.accounts.v1.credential.aws.AwsPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return AwsPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of AwsInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of AwsInstance - :rtype: twilio.rest.accounts.v1.credential.aws.AwsPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return AwsPage(self._version, response, self._solution) - - def create(self, credentials, friendly_name=values.unset, - account_sid=values.unset): - """ - Create a new AwsInstance - - :param unicode credentials: The credentials - :param unicode friendly_name: The friendly_name - :param unicode account_sid: The account_sid - - :returns: Newly created AwsInstance - :rtype: twilio.rest.accounts.v1.credential.aws.AwsInstance - """ - data = values.of({ - 'Credentials': credentials, - 'FriendlyName': friendly_name, - 'AccountSid': account_sid, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return AwsInstance(self._version, payload, ) - - def get(self, sid): - """ - Constructs a AwsContext - - :param sid: The sid - - :returns: twilio.rest.accounts.v1.credential.aws.AwsContext - :rtype: twilio.rest.accounts.v1.credential.aws.AwsContext - """ - return AwsContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a AwsContext - - :param sid: The sid - - :returns: twilio.rest.accounts.v1.credential.aws.AwsContext - :rtype: twilio.rest.accounts.v1.credential.aws.AwsContext - """ - return AwsContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Accounts.V1.AwsList>' - - -class AwsPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the AwsPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.accounts.v1.credential.aws.AwsPage - :rtype: twilio.rest.accounts.v1.credential.aws.AwsPage - """ - super(AwsPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of AwsInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.accounts.v1.credential.aws.AwsInstance - :rtype: twilio.rest.accounts.v1.credential.aws.AwsInstance - """ - return AwsInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Accounts.V1.AwsPage>' - - -class AwsContext(InstanceContext): - """ """ - - def __init__(self, version, sid): - """ - Initialize the AwsContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.accounts.v1.credential.aws.AwsContext - :rtype: twilio.rest.accounts.v1.credential.aws.AwsContext - """ - super(AwsContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Credentials/AWS/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a AwsInstance - - :returns: Fetched AwsInstance - :rtype: twilio.rest.accounts.v1.credential.aws.AwsInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return AwsInstance(self._version, payload, sid=self._solution['sid'], ) - - def update(self, friendly_name=values.unset): - """ - Update the AwsInstance - - :param unicode friendly_name: The friendly_name - - :returns: Updated AwsInstance - :rtype: twilio.rest.accounts.v1.credential.aws.AwsInstance - """ - data = values.of({'FriendlyName': friendly_name, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return AwsInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the AwsInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Accounts.V1.AwsContext {}>'.format(context) - - -class AwsInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, sid=None): - """ - Initialize the AwsInstance - - :returns: twilio.rest.accounts.v1.credential.aws.AwsInstance - :rtype: twilio.rest.accounts.v1.credential.aws.AwsInstance - """ - super(AwsInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'friendly_name': payload['friendly_name'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: AwsContext for this AwsInstance - :rtype: twilio.rest.accounts.v1.credential.aws.AwsContext - """ - if self._context is None: - self._context = AwsContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a AwsInstance - - :returns: Fetched AwsInstance - :rtype: twilio.rest.accounts.v1.credential.aws.AwsInstance - """ - return self._proxy.fetch() - - def update(self, friendly_name=values.unset): - """ - Update the AwsInstance - - :param unicode friendly_name: The friendly_name - - :returns: Updated AwsInstance - :rtype: twilio.rest.accounts.v1.credential.aws.AwsInstance - """ - return self._proxy.update(friendly_name=friendly_name, ) - - def delete(self): - """ - Deletes the AwsInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Accounts.V1.AwsInstance {}>'.format(context) diff --git a/twilio/rest/accounts/v1/credential/public_key.py b/twilio/rest/accounts/v1/credential/public_key.py deleted file mode 100644 index c3fcf95..0000000 --- a/twilio/rest/accounts/v1/credential/public_key.py +++ /dev/null @@ -1,412 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class PublicKeyList(ListResource): - """ """ - - def __init__(self, version): - """ - Initialize the PublicKeyList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.accounts.v1.credential.public_key.PublicKeyList - :rtype: twilio.rest.accounts.v1.credential.public_key.PublicKeyList - """ - super(PublicKeyList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Credentials/PublicKeys'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams PublicKeyInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.accounts.v1.credential.public_key.PublicKeyInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists PublicKeyInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.accounts.v1.credential.public_key.PublicKeyInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of PublicKeyInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of PublicKeyInstance - :rtype: twilio.rest.accounts.v1.credential.public_key.PublicKeyPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return PublicKeyPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of PublicKeyInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of PublicKeyInstance - :rtype: twilio.rest.accounts.v1.credential.public_key.PublicKeyPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return PublicKeyPage(self._version, response, self._solution) - - def create(self, public_key, friendly_name=values.unset, - account_sid=values.unset): - """ - Create a new PublicKeyInstance - - :param unicode public_key: URL encoded representation of the public key - :param unicode friendly_name: A human readable description of this resource - :param unicode account_sid: The Subaccount this Credential should be associated with. - - :returns: Newly created PublicKeyInstance - :rtype: twilio.rest.accounts.v1.credential.public_key.PublicKeyInstance - """ - data = values.of({ - 'PublicKey': public_key, - 'FriendlyName': friendly_name, - 'AccountSid': account_sid, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return PublicKeyInstance(self._version, payload, ) - - def get(self, sid): - """ - Constructs a PublicKeyContext - - :param sid: Fetch by unique Credential Sid - - :returns: twilio.rest.accounts.v1.credential.public_key.PublicKeyContext - :rtype: twilio.rest.accounts.v1.credential.public_key.PublicKeyContext - """ - return PublicKeyContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a PublicKeyContext - - :param sid: Fetch by unique Credential Sid - - :returns: twilio.rest.accounts.v1.credential.public_key.PublicKeyContext - :rtype: twilio.rest.accounts.v1.credential.public_key.PublicKeyContext - """ - return PublicKeyContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Accounts.V1.PublicKeyList>' - - -class PublicKeyPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the PublicKeyPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.accounts.v1.credential.public_key.PublicKeyPage - :rtype: twilio.rest.accounts.v1.credential.public_key.PublicKeyPage - """ - super(PublicKeyPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of PublicKeyInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.accounts.v1.credential.public_key.PublicKeyInstance - :rtype: twilio.rest.accounts.v1.credential.public_key.PublicKeyInstance - """ - return PublicKeyInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Accounts.V1.PublicKeyPage>' - - -class PublicKeyContext(InstanceContext): - """ """ - - def __init__(self, version, sid): - """ - Initialize the PublicKeyContext - - :param Version version: Version that contains the resource - :param sid: Fetch by unique Credential Sid - - :returns: twilio.rest.accounts.v1.credential.public_key.PublicKeyContext - :rtype: twilio.rest.accounts.v1.credential.public_key.PublicKeyContext - """ - super(PublicKeyContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Credentials/PublicKeys/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a PublicKeyInstance - - :returns: Fetched PublicKeyInstance - :rtype: twilio.rest.accounts.v1.credential.public_key.PublicKeyInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return PublicKeyInstance(self._version, payload, sid=self._solution['sid'], ) - - def update(self, friendly_name=values.unset): - """ - Update the PublicKeyInstance - - :param unicode friendly_name: A human readable description of this resource - - :returns: Updated PublicKeyInstance - :rtype: twilio.rest.accounts.v1.credential.public_key.PublicKeyInstance - """ - data = values.of({'FriendlyName': friendly_name, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return PublicKeyInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the PublicKeyInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Accounts.V1.PublicKeyContext {}>'.format(context) - - -class PublicKeyInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, sid=None): - """ - Initialize the PublicKeyInstance - - :returns: twilio.rest.accounts.v1.credential.public_key.PublicKeyInstance - :rtype: twilio.rest.accounts.v1.credential.public_key.PublicKeyInstance - """ - super(PublicKeyInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'friendly_name': payload['friendly_name'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: PublicKeyContext for this PublicKeyInstance - :rtype: twilio.rest.accounts.v1.credential.public_key.PublicKeyContext - """ - if self._context is None: - self._context = PublicKeyContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: A 34 character string that uniquely identifies this resource. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: AccountSid the Credential resource belongs to - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def friendly_name(self): - """ - :returns: A human readable description of this resource - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def date_created(self): - """ - :returns: The date this resource was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this resource was last updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The URI for this resource, relative to `https://accounts.twilio.com` - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a PublicKeyInstance - - :returns: Fetched PublicKeyInstance - :rtype: twilio.rest.accounts.v1.credential.public_key.PublicKeyInstance - """ - return self._proxy.fetch() - - def update(self, friendly_name=values.unset): - """ - Update the PublicKeyInstance - - :param unicode friendly_name: A human readable description of this resource - - :returns: Updated PublicKeyInstance - :rtype: twilio.rest.accounts.v1.credential.public_key.PublicKeyInstance - """ - return self._proxy.update(friendly_name=friendly_name, ) - - def delete(self): - """ - Deletes the PublicKeyInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Accounts.V1.PublicKeyInstance {}>'.format(context) diff --git a/twilio/rest/api/__init__.py b/twilio/rest/api/__init__.py deleted file mode 100644 index c14010d..0000000 --- a/twilio/rest/api/__init__.py +++ /dev/null @@ -1,222 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.domain import Domain -from twilio.rest.api.v2010 import V2010 - - -class Api(Domain): - - def __init__(self, twilio): - """ - Initialize the Api Domain - - :returns: Domain for Api - :rtype: twilio.rest.api.Api - """ - super(Api, self).__init__(twilio) - - self.base_url = 'https://api.twilio.com' - - # Versions - self._v2010 = None - - @property - def v2010(self): - """ - :returns: Version v2010 of api - :rtype: twilio.rest.api.v2010.V2010 - """ - if self._v2010 is None: - self._v2010 = V2010(self) - return self._v2010 - - @property - def account(self): - """ - :returns: Account provided as the authenticating account - :rtype: twilio.rest.api.v2010.account.AccountContext - """ - return self.v2010.account - - @property - def accounts(self): - """ - :rtype: twilio.rest.api.v2010.account.AccountList - """ - return self.v2010.accounts - - @property - def addresses(self): - """ - :rtype: twilio.rest.api.v2010.account.address.AddressList - """ - return self.account.addresses - - @property - def applications(self): - """ - :rtype: twilio.rest.api.v2010.account.application.ApplicationList - """ - return self.account.applications - - @property - def authorized_connect_apps(self): - """ - :rtype: twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppList - """ - return self.account.authorized_connect_apps - - @property - def available_phone_numbers(self): - """ - :rtype: twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryList - """ - return self.account.available_phone_numbers - - @property - def calls(self): - """ - :rtype: twilio.rest.api.v2010.account.call.CallList - """ - return self.account.calls - - @property - def conferences(self): - """ - :rtype: twilio.rest.api.v2010.account.conference.ConferenceList - """ - return self.account.conferences - - @property - def connect_apps(self): - """ - :rtype: twilio.rest.api.v2010.account.connect_app.ConnectAppList - """ - return self.account.connect_apps - - @property - def incoming_phone_numbers(self): - """ - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberList - """ - return self.account.incoming_phone_numbers - - @property - def keys(self): - """ - :rtype: twilio.rest.api.v2010.account.key.KeyList - """ - return self.account.keys - - @property - def messages(self): - """ - :rtype: twilio.rest.api.v2010.account.message.MessageList - """ - return self.account.messages - - @property - def new_keys(self): - """ - :rtype: twilio.rest.api.v2010.account.new_key.NewKeyList - """ - return self.account.new_keys - - @property - def new_signing_keys(self): - """ - :rtype: twilio.rest.api.v2010.account.new_signing_key.NewSigningKeyList - """ - return self.account.new_signing_keys - - @property - def notifications(self): - """ - :rtype: twilio.rest.api.v2010.account.notification.NotificationList - """ - return self.account.notifications - - @property - def outgoing_caller_ids(self): - """ - :rtype: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdList - """ - return self.account.outgoing_caller_ids - - @property - def queues(self): - """ - :rtype: twilio.rest.api.v2010.account.queue.QueueList - """ - return self.account.queues - - @property - def recordings(self): - """ - :rtype: twilio.rest.api.v2010.account.recording.RecordingList - """ - return self.account.recordings - - @property - def signing_keys(self): - """ - :rtype: twilio.rest.api.v2010.account.signing_key.SigningKeyList - """ - return self.account.signing_keys - - @property - def sip(self): - """ - :rtype: twilio.rest.api.v2010.account.sip.SipList - """ - return self.account.sip - - @property - def short_codes(self): - """ - :rtype: twilio.rest.api.v2010.account.short_code.ShortCodeList - """ - return self.account.short_codes - - @property - def tokens(self): - """ - :rtype: twilio.rest.api.v2010.account.token.TokenList - """ - return self.account.tokens - - @property - def transcriptions(self): - """ - :rtype: twilio.rest.api.v2010.account.transcription.TranscriptionList - """ - return self.account.transcriptions - - @property - def usage(self): - """ - :rtype: twilio.rest.api.v2010.account.usage.UsageList - """ - return self.account.usage - - @property - def validation_requests(self): - """ - :rtype: twilio.rest.api.v2010.account.validation_request.ValidationRequestList - """ - return self.account.validation_requests - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api>' diff --git a/twilio/rest/api/__pycache__/__init__.cpython-36.pyc b/twilio/rest/api/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index fb32a650524e8e025ed7e8a0c3f082c50a9e4a22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6794 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 diff --git a/twilio/rest/api/v2010/__init__.py b/twilio/rest/api/v2010/__init__.py deleted file mode 100644 index 49aa728..0000000 --- a/twilio/rest/api/v2010/__init__.py +++ /dev/null @@ -1,224 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.api.v2010.account import AccountContext -from twilio.rest.api.v2010.account import AccountList - - -class V2010(Version): - - def __init__(self, domain): - """ - Initialize the V2010 version of Api - - :returns: V2010 version of Api - :rtype: twilio.rest.api.v2010.V2010.V2010 - """ - super(V2010, self).__init__(domain) - self.version = '2010-04-01' - self._accounts = None - self._account = None - - @property - def accounts(self): - """ - :rtype: twilio.rest.api.v2010.account.AccountList - """ - if self._accounts is None: - self._accounts = AccountList(self) - return self._accounts - - @property - def account(self): - """ - :returns: Account provided as the authenticating account - :rtype: AccountContext - """ - if self._account is None: - self._account = AccountContext(self, self.domain.twilio.account_sid) - return self._account - - @account.setter - def account(self, value): - """ - Setter to override the primary account - - :param AccountContext|AccountInstance value: account to use as primary account - """ - self._account = value - - @property - def addresses(self): - """ - :rtype: twilio.rest.api.v2010.account.address.AddressList - """ - return self.account.addresses - - @property - def applications(self): - """ - :rtype: twilio.rest.api.v2010.account.application.ApplicationList - """ - return self.account.applications - - @property - def authorized_connect_apps(self): - """ - :rtype: twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppList - """ - return self.account.authorized_connect_apps - - @property - def available_phone_numbers(self): - """ - :rtype: twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryList - """ - return self.account.available_phone_numbers - - @property - def calls(self): - """ - :rtype: twilio.rest.api.v2010.account.call.CallList - """ - return self.account.calls - - @property - def conferences(self): - """ - :rtype: twilio.rest.api.v2010.account.conference.ConferenceList - """ - return self.account.conferences - - @property - def connect_apps(self): - """ - :rtype: twilio.rest.api.v2010.account.connect_app.ConnectAppList - """ - return self.account.connect_apps - - @property - def incoming_phone_numbers(self): - """ - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberList - """ - return self.account.incoming_phone_numbers - - @property - def keys(self): - """ - :rtype: twilio.rest.api.v2010.account.key.KeyList - """ - return self.account.keys - - @property - def messages(self): - """ - :rtype: twilio.rest.api.v2010.account.message.MessageList - """ - return self.account.messages - - @property - def new_keys(self): - """ - :rtype: twilio.rest.api.v2010.account.new_key.NewKeyList - """ - return self.account.new_keys - - @property - def new_signing_keys(self): - """ - :rtype: twilio.rest.api.v2010.account.new_signing_key.NewSigningKeyList - """ - return self.account.new_signing_keys - - @property - def notifications(self): - """ - :rtype: twilio.rest.api.v2010.account.notification.NotificationList - """ - return self.account.notifications - - @property - def outgoing_caller_ids(self): - """ - :rtype: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdList - """ - return self.account.outgoing_caller_ids - - @property - def queues(self): - """ - :rtype: twilio.rest.api.v2010.account.queue.QueueList - """ - return self.account.queues - - @property - def recordings(self): - """ - :rtype: twilio.rest.api.v2010.account.recording.RecordingList - """ - return self.account.recordings - - @property - def signing_keys(self): - """ - :rtype: twilio.rest.api.v2010.account.signing_key.SigningKeyList - """ - return self.account.signing_keys - - @property - def sip(self): - """ - :rtype: twilio.rest.api.v2010.account.sip.SipList - """ - return self.account.sip - - @property - def short_codes(self): - """ - :rtype: twilio.rest.api.v2010.account.short_code.ShortCodeList - """ - return self.account.short_codes - - @property - def tokens(self): - """ - :rtype: twilio.rest.api.v2010.account.token.TokenList - """ - return self.account.tokens - - @property - def transcriptions(self): - """ - :rtype: twilio.rest.api.v2010.account.transcription.TranscriptionList - """ - return self.account.transcriptions - - @property - def usage(self): - """ - :rtype: twilio.rest.api.v2010.account.usage.UsageList - """ - return self.account.usage - - @property - def validation_requests(self): - """ - :rtype: twilio.rest.api.v2010.account.validation_request.ValidationRequestList - """ - return self.account.validation_requests - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010>' diff --git a/twilio/rest/api/v2010/__pycache__/__init__.cpython-36.pyc b/twilio/rest/api/v2010/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 9bff5b0b16df781de55072729e03d8aeeb780cc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7029 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 diff --git a/twilio/rest/api/v2010/account/__init__.py b/twilio/rest/api/v2010/account/__init__.py deleted file mode 100644 index abe9891..0000000 --- a/twilio/rest/api/v2010/account/__init__.py +++ /dev/null @@ -1,1017 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.api.v2010.account.address import AddressList -from twilio.rest.api.v2010.account.application import ApplicationList -from twilio.rest.api.v2010.account.authorized_connect_app import AuthorizedConnectAppList -from twilio.rest.api.v2010.account.available_phone_number import AvailablePhoneNumberCountryList -from twilio.rest.api.v2010.account.call import CallList -from twilio.rest.api.v2010.account.conference import ConferenceList -from twilio.rest.api.v2010.account.connect_app import ConnectAppList -from twilio.rest.api.v2010.account.incoming_phone_number import IncomingPhoneNumberList -from twilio.rest.api.v2010.account.key import KeyList -from twilio.rest.api.v2010.account.message import MessageList -from twilio.rest.api.v2010.account.new_key import NewKeyList -from twilio.rest.api.v2010.account.new_signing_key import NewSigningKeyList -from twilio.rest.api.v2010.account.notification import NotificationList -from twilio.rest.api.v2010.account.outgoing_caller_id import OutgoingCallerIdList -from twilio.rest.api.v2010.account.queue import QueueList -from twilio.rest.api.v2010.account.recording import RecordingList -from twilio.rest.api.v2010.account.short_code import ShortCodeList -from twilio.rest.api.v2010.account.signing_key import SigningKeyList -from twilio.rest.api.v2010.account.sip import SipList -from twilio.rest.api.v2010.account.token import TokenList -from twilio.rest.api.v2010.account.transcription import TranscriptionList -from twilio.rest.api.v2010.account.usage import UsageList -from twilio.rest.api.v2010.account.validation_request import ValidationRequestList - - -class AccountList(ListResource): - """ """ - - def __init__(self, version): - """ - Initialize the AccountList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.api.v2010.account.AccountList - :rtype: twilio.rest.api.v2010.account.AccountList - """ - super(AccountList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Accounts.json'.format(**self._solution) - - def create(self, friendly_name=values.unset): - """ - Create a new AccountInstance - - :param unicode friendly_name: A human readable description of the account - - :returns: Newly created AccountInstance - :rtype: twilio.rest.api.v2010.account.AccountInstance - """ - data = values.of({'FriendlyName': friendly_name, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return AccountInstance(self._version, payload, ) - - def stream(self, friendly_name=values.unset, status=values.unset, limit=None, - page_size=None): - """ - Streams AccountInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode friendly_name: FriendlyName to filter on - :param AccountInstance.Status status: Status to filter on - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.AccountInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(friendly_name=friendly_name, status=status, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, friendly_name=values.unset, status=values.unset, limit=None, - page_size=None): - """ - Lists AccountInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode friendly_name: FriendlyName to filter on - :param AccountInstance.Status status: Status to filter on - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.AccountInstance] - """ - return list(self.stream( - friendly_name=friendly_name, - status=status, - limit=limit, - page_size=page_size, - )) - - def page(self, friendly_name=values.unset, status=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of AccountInstance records from the API. - Request is executed immediately - - :param unicode friendly_name: FriendlyName to filter on - :param AccountInstance.Status status: Status to filter on - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of AccountInstance - :rtype: twilio.rest.api.v2010.account.AccountPage - """ - params = values.of({ - 'FriendlyName': friendly_name, - 'Status': status, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return AccountPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of AccountInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of AccountInstance - :rtype: twilio.rest.api.v2010.account.AccountPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return AccountPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a AccountContext - - :param sid: Fetch by unique Account Sid - - :returns: twilio.rest.api.v2010.account.AccountContext - :rtype: twilio.rest.api.v2010.account.AccountContext - """ - return AccountContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a AccountContext - - :param sid: Fetch by unique Account Sid - - :returns: twilio.rest.api.v2010.account.AccountContext - :rtype: twilio.rest.api.v2010.account.AccountContext - """ - return AccountContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.AccountList>' - - -class AccountPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the AccountPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.api.v2010.account.AccountPage - :rtype: twilio.rest.api.v2010.account.AccountPage - """ - super(AccountPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of AccountInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.AccountInstance - :rtype: twilio.rest.api.v2010.account.AccountInstance - """ - return AccountInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.AccountPage>' - - -class AccountContext(InstanceContext): - """ """ - - def __init__(self, version, sid): - """ - Initialize the AccountContext - - :param Version version: Version that contains the resource - :param sid: Fetch by unique Account Sid - - :returns: twilio.rest.api.v2010.account.AccountContext - :rtype: twilio.rest.api.v2010.account.AccountContext - """ - super(AccountContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Accounts/{sid}.json'.format(**self._solution) - - # Dependents - self._addresses = None - self._applications = None - self._authorized_connect_apps = None - self._available_phone_numbers = None - self._calls = None - self._conferences = None - self._connect_apps = None - self._incoming_phone_numbers = None - self._keys = None - self._messages = None - self._new_keys = None - self._new_signing_keys = None - self._notifications = None - self._outgoing_caller_ids = None - self._queues = None - self._recordings = None - self._signing_keys = None - self._sip = None - self._short_codes = None - self._tokens = None - self._transcriptions = None - self._usage = None - self._validation_requests = None - - def fetch(self): - """ - Fetch a AccountInstance - - :returns: Fetched AccountInstance - :rtype: twilio.rest.api.v2010.account.AccountInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return AccountInstance(self._version, payload, sid=self._solution['sid'], ) - - def update(self, friendly_name=values.unset, status=values.unset): - """ - Update the AccountInstance - - :param unicode friendly_name: FriendlyName to update - :param AccountInstance.Status status: Status to update the Account with - - :returns: Updated AccountInstance - :rtype: twilio.rest.api.v2010.account.AccountInstance - """ - data = values.of({'FriendlyName': friendly_name, 'Status': status, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return AccountInstance(self._version, payload, sid=self._solution['sid'], ) - - @property - def addresses(self): - """ - Access the addresses - - :returns: twilio.rest.api.v2010.account.address.AddressList - :rtype: twilio.rest.api.v2010.account.address.AddressList - """ - if self._addresses is None: - self._addresses = AddressList(self._version, account_sid=self._solution['sid'], ) - return self._addresses - - @property - def applications(self): - """ - Access the applications - - :returns: twilio.rest.api.v2010.account.application.ApplicationList - :rtype: twilio.rest.api.v2010.account.application.ApplicationList - """ - if self._applications is None: - self._applications = ApplicationList(self._version, account_sid=self._solution['sid'], ) - return self._applications - - @property - def authorized_connect_apps(self): - """ - Access the authorized_connect_apps - - :returns: twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppList - :rtype: twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppList - """ - if self._authorized_connect_apps is None: - self._authorized_connect_apps = AuthorizedConnectAppList( - self._version, - account_sid=self._solution['sid'], - ) - return self._authorized_connect_apps - - @property - def available_phone_numbers(self): - """ - Access the available_phone_numbers - - :returns: twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryList - :rtype: twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryList - """ - if self._available_phone_numbers is None: - self._available_phone_numbers = AvailablePhoneNumberCountryList( - self._version, - account_sid=self._solution['sid'], - ) - return self._available_phone_numbers - - @property - def calls(self): - """ - Access the calls - - :returns: twilio.rest.api.v2010.account.call.CallList - :rtype: twilio.rest.api.v2010.account.call.CallList - """ - if self._calls is None: - self._calls = CallList(self._version, account_sid=self._solution['sid'], ) - return self._calls - - @property - def conferences(self): - """ - Access the conferences - - :returns: twilio.rest.api.v2010.account.conference.ConferenceList - :rtype: twilio.rest.api.v2010.account.conference.ConferenceList - """ - if self._conferences is None: - self._conferences = ConferenceList(self._version, account_sid=self._solution['sid'], ) - return self._conferences - - @property - def connect_apps(self): - """ - Access the connect_apps - - :returns: twilio.rest.api.v2010.account.connect_app.ConnectAppList - :rtype: twilio.rest.api.v2010.account.connect_app.ConnectAppList - """ - if self._connect_apps is None: - self._connect_apps = ConnectAppList(self._version, account_sid=self._solution['sid'], ) - return self._connect_apps - - @property - def incoming_phone_numbers(self): - """ - Access the incoming_phone_numbers - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberList - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberList - """ - if self._incoming_phone_numbers is None: - self._incoming_phone_numbers = IncomingPhoneNumberList( - self._version, - account_sid=self._solution['sid'], - ) - return self._incoming_phone_numbers - - @property - def keys(self): - """ - Access the keys - - :returns: twilio.rest.api.v2010.account.key.KeyList - :rtype: twilio.rest.api.v2010.account.key.KeyList - """ - if self._keys is None: - self._keys = KeyList(self._version, account_sid=self._solution['sid'], ) - return self._keys - - @property - def messages(self): - """ - Access the messages - - :returns: twilio.rest.api.v2010.account.message.MessageList - :rtype: twilio.rest.api.v2010.account.message.MessageList - """ - if self._messages is None: - self._messages = MessageList(self._version, account_sid=self._solution['sid'], ) - return self._messages - - @property - def new_keys(self): - """ - Access the new_keys - - :returns: twilio.rest.api.v2010.account.new_key.NewKeyList - :rtype: twilio.rest.api.v2010.account.new_key.NewKeyList - """ - if self._new_keys is None: - self._new_keys = NewKeyList(self._version, account_sid=self._solution['sid'], ) - return self._new_keys - - @property - def new_signing_keys(self): - """ - Access the new_signing_keys - - :returns: twilio.rest.api.v2010.account.new_signing_key.NewSigningKeyList - :rtype: twilio.rest.api.v2010.account.new_signing_key.NewSigningKeyList - """ - if self._new_signing_keys is None: - self._new_signing_keys = NewSigningKeyList(self._version, account_sid=self._solution['sid'], ) - return self._new_signing_keys - - @property - def notifications(self): - """ - Access the notifications - - :returns: twilio.rest.api.v2010.account.notification.NotificationList - :rtype: twilio.rest.api.v2010.account.notification.NotificationList - """ - if self._notifications is None: - self._notifications = NotificationList(self._version, account_sid=self._solution['sid'], ) - return self._notifications - - @property - def outgoing_caller_ids(self): - """ - Access the outgoing_caller_ids - - :returns: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdList - :rtype: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdList - """ - if self._outgoing_caller_ids is None: - self._outgoing_caller_ids = OutgoingCallerIdList(self._version, account_sid=self._solution['sid'], ) - return self._outgoing_caller_ids - - @property - def queues(self): - """ - Access the queues - - :returns: twilio.rest.api.v2010.account.queue.QueueList - :rtype: twilio.rest.api.v2010.account.queue.QueueList - """ - if self._queues is None: - self._queues = QueueList(self._version, account_sid=self._solution['sid'], ) - return self._queues - - @property - def recordings(self): - """ - Access the recordings - - :returns: twilio.rest.api.v2010.account.recording.RecordingList - :rtype: twilio.rest.api.v2010.account.recording.RecordingList - """ - if self._recordings is None: - self._recordings = RecordingList(self._version, account_sid=self._solution['sid'], ) - return self._recordings - - @property - def signing_keys(self): - """ - Access the signing_keys - - :returns: twilio.rest.api.v2010.account.signing_key.SigningKeyList - :rtype: twilio.rest.api.v2010.account.signing_key.SigningKeyList - """ - if self._signing_keys is None: - self._signing_keys = SigningKeyList(self._version, account_sid=self._solution['sid'], ) - return self._signing_keys - - @property - def sip(self): - """ - Access the sip - - :returns: twilio.rest.api.v2010.account.sip.SipList - :rtype: twilio.rest.api.v2010.account.sip.SipList - """ - if self._sip is None: - self._sip = SipList(self._version, account_sid=self._solution['sid'], ) - return self._sip - - @property - def short_codes(self): - """ - Access the short_codes - - :returns: twilio.rest.api.v2010.account.short_code.ShortCodeList - :rtype: twilio.rest.api.v2010.account.short_code.ShortCodeList - """ - if self._short_codes is None: - self._short_codes = ShortCodeList(self._version, account_sid=self._solution['sid'], ) - return self._short_codes - - @property - def tokens(self): - """ - Access the tokens - - :returns: twilio.rest.api.v2010.account.token.TokenList - :rtype: twilio.rest.api.v2010.account.token.TokenList - """ - if self._tokens is None: - self._tokens = TokenList(self._version, account_sid=self._solution['sid'], ) - return self._tokens - - @property - def transcriptions(self): - """ - Access the transcriptions - - :returns: twilio.rest.api.v2010.account.transcription.TranscriptionList - :rtype: twilio.rest.api.v2010.account.transcription.TranscriptionList - """ - if self._transcriptions is None: - self._transcriptions = TranscriptionList(self._version, account_sid=self._solution['sid'], ) - return self._transcriptions - - @property - def usage(self): - """ - Access the usage - - :returns: twilio.rest.api.v2010.account.usage.UsageList - :rtype: twilio.rest.api.v2010.account.usage.UsageList - """ - if self._usage is None: - self._usage = UsageList(self._version, account_sid=self._solution['sid'], ) - return self._usage - - @property - def validation_requests(self): - """ - Access the validation_requests - - :returns: twilio.rest.api.v2010.account.validation_request.ValidationRequestList - :rtype: twilio.rest.api.v2010.account.validation_request.ValidationRequestList - """ - if self._validation_requests is None: - self._validation_requests = ValidationRequestList(self._version, account_sid=self._solution['sid'], ) - return self._validation_requests - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.AccountContext {}>'.format(context) - - -class AccountInstance(InstanceResource): - """ """ - - class Status(object): - ACTIVE = "active" - SUSPENDED = "suspended" - CLOSED = "closed" - - class Type(object): - TRIAL = "Trial" - FULL = "Full" - - def __init__(self, version, payload, sid=None): - """ - Initialize the AccountInstance - - :returns: twilio.rest.api.v2010.account.AccountInstance - :rtype: twilio.rest.api.v2010.account.AccountInstance - """ - super(AccountInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'auth_token': payload['auth_token'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'friendly_name': payload['friendly_name'], - 'owner_account_sid': payload['owner_account_sid'], - 'sid': payload['sid'], - 'status': payload['status'], - 'subresource_uris': payload['subresource_uris'], - 'type': payload['type'], - 'uri': payload['uri'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: AccountContext for this AccountInstance - :rtype: twilio.rest.api.v2010.account.AccountContext - """ - if self._context is None: - self._context = AccountContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def auth_token(self): - """ - :returns: The authorization token for this account - :rtype: unicode - """ - return self._properties['auth_token'] - - @property - def date_created(self): - """ - :returns: The date this account was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this account was last updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def friendly_name(self): - """ - :returns: A human readable description of this account - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def owner_account_sid(self): - """ - :returns: The unique 34 character id representing the parent of this account - :rtype: unicode - """ - return self._properties['owner_account_sid'] - - @property - def sid(self): - """ - :returns: A 34 character string that uniquely identifies this resource. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def status(self): - """ - :returns: The status of this account - :rtype: AccountInstance.Status - """ - return self._properties['status'] - - @property - def subresource_uris(self): - """ - :returns: Account Instance Subresources - :rtype: unicode - """ - return self._properties['subresource_uris'] - - @property - def type(self): - """ - :returns: The type of this account - :rtype: AccountInstance.Type - """ - return self._properties['type'] - - @property - def uri(self): - """ - :returns: The URI for this resource, relative to `https://api.twilio.com` - :rtype: unicode - """ - return self._properties['uri'] - - def fetch(self): - """ - Fetch a AccountInstance - - :returns: Fetched AccountInstance - :rtype: twilio.rest.api.v2010.account.AccountInstance - """ - return self._proxy.fetch() - - def update(self, friendly_name=values.unset, status=values.unset): - """ - Update the AccountInstance - - :param unicode friendly_name: FriendlyName to update - :param AccountInstance.Status status: Status to update the Account with - - :returns: Updated AccountInstance - :rtype: twilio.rest.api.v2010.account.AccountInstance - """ - return self._proxy.update(friendly_name=friendly_name, status=status, ) - - @property - def addresses(self): - """ - Access the addresses - - :returns: twilio.rest.api.v2010.account.address.AddressList - :rtype: twilio.rest.api.v2010.account.address.AddressList - """ - return self._proxy.addresses - - @property - def applications(self): - """ - Access the applications - - :returns: twilio.rest.api.v2010.account.application.ApplicationList - :rtype: twilio.rest.api.v2010.account.application.ApplicationList - """ - return self._proxy.applications - - @property - def authorized_connect_apps(self): - """ - Access the authorized_connect_apps - - :returns: twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppList - :rtype: twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppList - """ - return self._proxy.authorized_connect_apps - - @property - def available_phone_numbers(self): - """ - Access the available_phone_numbers - - :returns: twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryList - :rtype: twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryList - """ - return self._proxy.available_phone_numbers - - @property - def calls(self): - """ - Access the calls - - :returns: twilio.rest.api.v2010.account.call.CallList - :rtype: twilio.rest.api.v2010.account.call.CallList - """ - return self._proxy.calls - - @property - def conferences(self): - """ - Access the conferences - - :returns: twilio.rest.api.v2010.account.conference.ConferenceList - :rtype: twilio.rest.api.v2010.account.conference.ConferenceList - """ - return self._proxy.conferences - - @property - def connect_apps(self): - """ - Access the connect_apps - - :returns: twilio.rest.api.v2010.account.connect_app.ConnectAppList - :rtype: twilio.rest.api.v2010.account.connect_app.ConnectAppList - """ - return self._proxy.connect_apps - - @property - def incoming_phone_numbers(self): - """ - Access the incoming_phone_numbers - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberList - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberList - """ - return self._proxy.incoming_phone_numbers - - @property - def keys(self): - """ - Access the keys - - :returns: twilio.rest.api.v2010.account.key.KeyList - :rtype: twilio.rest.api.v2010.account.key.KeyList - """ - return self._proxy.keys - - @property - def messages(self): - """ - Access the messages - - :returns: twilio.rest.api.v2010.account.message.MessageList - :rtype: twilio.rest.api.v2010.account.message.MessageList - """ - return self._proxy.messages - - @property - def new_keys(self): - """ - Access the new_keys - - :returns: twilio.rest.api.v2010.account.new_key.NewKeyList - :rtype: twilio.rest.api.v2010.account.new_key.NewKeyList - """ - return self._proxy.new_keys - - @property - def new_signing_keys(self): - """ - Access the new_signing_keys - - :returns: twilio.rest.api.v2010.account.new_signing_key.NewSigningKeyList - :rtype: twilio.rest.api.v2010.account.new_signing_key.NewSigningKeyList - """ - return self._proxy.new_signing_keys - - @property - def notifications(self): - """ - Access the notifications - - :returns: twilio.rest.api.v2010.account.notification.NotificationList - :rtype: twilio.rest.api.v2010.account.notification.NotificationList - """ - return self._proxy.notifications - - @property - def outgoing_caller_ids(self): - """ - Access the outgoing_caller_ids - - :returns: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdList - :rtype: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdList - """ - return self._proxy.outgoing_caller_ids - - @property - def queues(self): - """ - Access the queues - - :returns: twilio.rest.api.v2010.account.queue.QueueList - :rtype: twilio.rest.api.v2010.account.queue.QueueList - """ - return self._proxy.queues - - @property - def recordings(self): - """ - Access the recordings - - :returns: twilio.rest.api.v2010.account.recording.RecordingList - :rtype: twilio.rest.api.v2010.account.recording.RecordingList - """ - return self._proxy.recordings - - @property - def signing_keys(self): - """ - Access the signing_keys - - :returns: twilio.rest.api.v2010.account.signing_key.SigningKeyList - :rtype: twilio.rest.api.v2010.account.signing_key.SigningKeyList - """ - return self._proxy.signing_keys - - @property - def sip(self): - """ - Access the sip - - :returns: twilio.rest.api.v2010.account.sip.SipList - :rtype: twilio.rest.api.v2010.account.sip.SipList - """ - return self._proxy.sip - - @property - def short_codes(self): - """ - Access the short_codes - - :returns: twilio.rest.api.v2010.account.short_code.ShortCodeList - :rtype: twilio.rest.api.v2010.account.short_code.ShortCodeList - """ - return self._proxy.short_codes - - @property - def tokens(self): - """ - Access the tokens - - :returns: twilio.rest.api.v2010.account.token.TokenList - :rtype: twilio.rest.api.v2010.account.token.TokenList - """ - return self._proxy.tokens - - @property - def transcriptions(self): - """ - Access the transcriptions - - :returns: twilio.rest.api.v2010.account.transcription.TranscriptionList - :rtype: twilio.rest.api.v2010.account.transcription.TranscriptionList - """ - return self._proxy.transcriptions - - @property - def usage(self): - """ - Access the usage - - :returns: twilio.rest.api.v2010.account.usage.UsageList - :rtype: twilio.rest.api.v2010.account.usage.UsageList - """ - return self._proxy.usage - - @property - def validation_requests(self): - """ - Access the validation_requests - - :returns: twilio.rest.api.v2010.account.validation_request.ValidationRequestList - :rtype: twilio.rest.api.v2010.account.validation_request.ValidationRequestList - """ - return self._proxy.validation_requests - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.AccountInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/__pycache__/__init__.cpython-36.pyc b/twilio/rest/api/v2010/account/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 6e2405c901aacb78081948e318c7b8f0ffa880f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34558 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 diff --git a/twilio/rest/api/v2010/account/__pycache__/application.cpython-36.pyc b/twilio/rest/api/v2010/account/__pycache__/application.cpython-36.pyc deleted file mode 100644 index 15a418faac2935db3dd813c1cdd0818f1f9b8e5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23267 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%0Dpkw%l8^P-^5T{!Xi1~v3J)Se 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 diff --git a/twilio/rest/api/v2010/account/__pycache__/authorized_connect_app.cpython-36.pyc b/twilio/rest/api/v2010/account/__pycache__/authorized_connect_app.cpython-36.pyc deleted file mode 100644 index 55a1a38c98f81c2bc7b899337d345bb6b785998c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15464 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 diff --git a/twilio/rest/api/v2010/account/__pycache__/connect_app.cpython-36.pyc b/twilio/rest/api/v2010/account/__pycache__/connect_app.cpython-36.pyc deleted file mode 100644 index a2c6b6cf9c7eeb06e2429d0ac52aef65fee69d17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17461 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 diff --git a/twilio/rest/api/v2010/account/__pycache__/key.cpython-36.pyc b/twilio/rest/api/v2010/account/__pycache__/key.cpython-36.pyc deleted file mode 100644 index dfc2629ac227da10316c5e3a6cfff37bd4444d21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13028 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 diff --git a/twilio/rest/api/v2010/account/__pycache__/new_key.cpython-36.pyc b/twilio/rest/api/v2010/account/__pycache__/new_key.cpython-36.pyc deleted file mode 100644 index 28c56b3ded2ba18ecc124190bbdaf80e462f4d6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5588 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 diff --git a/twilio/rest/api/v2010/account/__pycache__/new_signing_key.cpython-36.pyc b/twilio/rest/api/v2010/account/__pycache__/new_signing_key.cpython-36.pyc deleted file mode 100644 index a20864777f702522feeb403eb74b58eaab2f4a15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5916 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 Ntcnh3&E9rz^D7p4;^zPW diff --git a/twilio/rest/api/v2010/account/__pycache__/notification.cpython-36.pyc b/twilio/rest/api/v2010/account/__pycache__/notification.cpython-36.pyc deleted file mode 100644 index 2765f784e35d070387dc3915c4193649bd8e5c13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17600 zcmeHOTWlLwdY<8(6eUZ(%dwNObE%k>DcNbZsp@s3*qhi}TlG3}y31<8jCe-UC?toO z8QK;@p(tcvQJ^l`#{wyO0Sa{cP@pJKpbrJw$D%LWw|4qe6b0J8_NjU5_y1>Rcu0{H z?F8K<2nn7!Gjrz5`Oo>!_h0$O^mO4LfBJ`&`a7ET@0#*Sq5d|0-lr&pR?&nm5_P?i zs3df%Cs9vUl3Y)ro~op{p01}GnM#K1nR>R7tK_(zt>+tsN`dRS`c$J>DeBsLn#ha7 z6HOGX!a=e!jq@o{#Cg#w;(P|@(_#kaGgb!Y$8dg3%;J33%He!g%)PIbj(5z$`i|`x zHAh&+Bhxdst)}Igz9o#!y~2jEWK<1&P*l6&v0!wKg=%SI3B^LSyRp<Yx(iEa@$gD{ zxx8GU_68o5pQXZoVG^{G9!v?#vs~M(+Z_w1dG#do(5$yD50{VKZhF4itXVglrf)s= zacMTXbl>uvwp*j8i+60#SI$%S%x$YiZ;C$Iu;Tp*DwbB!u@DKNSCT*0wy+!``6O3K zS?S%3`V%RU+RBKu$UM<2S@jOp!@F6L!`<BAUG;n`%ZsB|@^Vos1-TfNDY*!hqL>rM zpJ<ioA8RSCGJ~Z!5zMYRzP)AFOy72zL|-Ri7`0?b2OXoISH_92`FdA7NbDxM`hiZ& z(M{O6Qca4)ZfZ;GYP-qbq4TszqW_fn16|X?)iI3QP1~1iVfZ_iG5G32+;F93x@N=p zz;Znd%Xlb{EAa(?$MnHIP2aSe9{1&j%QV=9S*tnireF1Jv0|*_rR}EuaoaL*j_1&e zEvzQZfJOa)DZ>YpvACAscAMUc;XktLwo}Hd{Ic1y%MY(EUs*1P50snAM3xVc7ILPs z;`)0n>x=0tm{O?gyuP$5Y4w&qQLgVVsblfVyPnfrD`kST*KS#^o5!LCxoXwM(p0NK zzUn#kHt|A`*>c>5=?AH5+qFx{Amv&0tson&g<HUbw4<ukTHW-#YV{}DXS+96HXdM$ zc^luiD?6sMvD#|gG<|d9j#D%18|zl1wb8O$mp9vXU0i;{t2<kJ-lGjUuhD^~cLUSA z!PC1DlCse^y{$dBi1(ku&�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 diff --git a/twilio/rest/api/v2010/account/__pycache__/outgoing_caller_id.cpython-36.pyc b/twilio/rest/api/v2010/account/__pycache__/outgoing_caller_id.cpython-36.pyc deleted file mode 100644 index ab6e8aa2e0eedd069c60c944272f3b1661d99ac2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16001 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 U-VRUUd2g)!QaiJDcJ1!}0ZV_IBLDyZ diff --git a/twilio/rest/api/v2010/account/__pycache__/short_code.cpython-36.pyc b/twilio/rest/api/v2010/account/__pycache__/short_code.cpython-36.pyc deleted file mode 100644 index c15dd31d02e556aa2e65bfb88332d4423a23baa9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16992 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 LwWaEE^#}hC4Vg}R diff --git a/twilio/rest/api/v2010/account/__pycache__/signing_key.cpython-36.pyc b/twilio/rest/api/v2010/account/__pycache__/signing_key.cpython-36.pyc deleted file mode 100644 index 1eca144451bb4d41b6df418a37578707c0f8bd85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13825 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 diff --git a/twilio/rest/api/v2010/account/__pycache__/token.cpython-36.pyc b/twilio/rest/api/v2010/account/__pycache__/token.cpython-36.pyc deleted file mode 100644 index b1a9eabc253bdc92663173252bc3ba6b28606f81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6170 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 diff --git a/twilio/rest/api/v2010/account/__pycache__/transcription.cpython-36.pyc b/twilio/rest/api/v2010/account/__pycache__/transcription.cpython-36.pyc deleted file mode 100644 index 53ec4553bd7a244b0e92117223401a3b3bb6e501..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15844 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 KFuyc^>Hh$s5g_~k diff --git a/twilio/rest/api/v2010/account/__pycache__/validation_request.cpython-36.pyc b/twilio/rest/api/v2010/account/__pycache__/validation_request.cpython-36.pyc deleted file mode 100644 index 65deeef4780afe239f6b8b4ea2a6adcf30100659..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6480 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 diff --git a/twilio/rest/api/v2010/account/address/__init__.py b/twilio/rest/api/v2010/account/address/__init__.py deleted file mode 100644 index 9f7caad..0000000 --- a/twilio/rest/api/v2010/account/address/__init__.py +++ /dev/null @@ -1,612 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.api.v2010.account.address.dependent_phone_number import DependentPhoneNumberList - - -class AddressList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the AddressList - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - - :returns: twilio.rest.api.v2010.account.address.AddressList - :rtype: twilio.rest.api.v2010.account.address.AddressList - """ - super(AddressList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/Addresses.json'.format(**self._solution) - - def create(self, customer_name, street, city, region, postal_code, iso_country, - friendly_name=values.unset, emergency_enabled=values.unset, - auto_correct_address=values.unset): - """ - Create a new AddressInstance - - :param unicode customer_name: The customer_name - :param unicode street: The street - :param unicode city: The city - :param unicode region: The region - :param unicode postal_code: The postal_code - :param unicode iso_country: The iso_country - :param unicode friendly_name: The friendly_name - :param bool emergency_enabled: The emergency_enabled - :param bool auto_correct_address: The auto_correct_address - - :returns: Newly created AddressInstance - :rtype: twilio.rest.api.v2010.account.address.AddressInstance - """ - data = values.of({ - 'CustomerName': customer_name, - 'Street': street, - 'City': city, - 'Region': region, - 'PostalCode': postal_code, - 'IsoCountry': iso_country, - 'FriendlyName': friendly_name, - 'EmergencyEnabled': emergency_enabled, - 'AutoCorrectAddress': auto_correct_address, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return AddressInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def stream(self, customer_name=values.unset, friendly_name=values.unset, - iso_country=values.unset, limit=None, page_size=None): - """ - Streams AddressInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode customer_name: The customer_name - :param unicode friendly_name: The friendly_name - :param unicode iso_country: The iso_country - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.address.AddressInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - customer_name=customer_name, - friendly_name=friendly_name, - iso_country=iso_country, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, customer_name=values.unset, friendly_name=values.unset, - iso_country=values.unset, limit=None, page_size=None): - """ - Lists AddressInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode customer_name: The customer_name - :param unicode friendly_name: The friendly_name - :param unicode iso_country: The iso_country - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.address.AddressInstance] - """ - return list(self.stream( - customer_name=customer_name, - friendly_name=friendly_name, - iso_country=iso_country, - limit=limit, - page_size=page_size, - )) - - def page(self, customer_name=values.unset, friendly_name=values.unset, - iso_country=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of AddressInstance records from the API. - Request is executed immediately - - :param unicode customer_name: The customer_name - :param unicode friendly_name: The friendly_name - :param unicode iso_country: The iso_country - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of AddressInstance - :rtype: twilio.rest.api.v2010.account.address.AddressPage - """ - params = values.of({ - 'CustomerName': customer_name, - 'FriendlyName': friendly_name, - 'IsoCountry': iso_country, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return AddressPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of AddressInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of AddressInstance - :rtype: twilio.rest.api.v2010.account.address.AddressPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return AddressPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a AddressContext - - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.address.AddressContext - :rtype: twilio.rest.api.v2010.account.address.AddressContext - """ - return AddressContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a AddressContext - - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.address.AddressContext - :rtype: twilio.rest.api.v2010.account.address.AddressContext - """ - return AddressContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.AddressList>' - - -class AddressPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the AddressPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The account_sid - - :returns: twilio.rest.api.v2010.account.address.AddressPage - :rtype: twilio.rest.api.v2010.account.address.AddressPage - """ - super(AddressPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of AddressInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.address.AddressInstance - :rtype: twilio.rest.api.v2010.account.address.AddressInstance - """ - return AddressInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.AddressPage>' - - -class AddressContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, sid): - """ - Initialize the AddressContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.address.AddressContext - :rtype: twilio.rest.api.v2010.account.address.AddressContext - """ - super(AddressContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/Addresses/{sid}.json'.format(**self._solution) - - # Dependents - self._dependent_phone_numbers = None - - def delete(self): - """ - Deletes the AddressInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def fetch(self): - """ - Fetch a AddressInstance - - :returns: Fetched AddressInstance - :rtype: twilio.rest.api.v2010.account.address.AddressInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return AddressInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def update(self, friendly_name=values.unset, customer_name=values.unset, - street=values.unset, city=values.unset, region=values.unset, - postal_code=values.unset, emergency_enabled=values.unset, - auto_correct_address=values.unset): - """ - Update the AddressInstance - - :param unicode friendly_name: The friendly_name - :param unicode customer_name: The customer_name - :param unicode street: The street - :param unicode city: The city - :param unicode region: The region - :param unicode postal_code: The postal_code - :param bool emergency_enabled: The emergency_enabled - :param bool auto_correct_address: The auto_correct_address - - :returns: Updated AddressInstance - :rtype: twilio.rest.api.v2010.account.address.AddressInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'CustomerName': customer_name, - 'Street': street, - 'City': city, - 'Region': region, - 'PostalCode': postal_code, - 'EmergencyEnabled': emergency_enabled, - 'AutoCorrectAddress': auto_correct_address, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return AddressInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - @property - def dependent_phone_numbers(self): - """ - Access the dependent_phone_numbers - - :returns: twilio.rest.api.v2010.account.address.dependent_phone_number.DependentPhoneNumberList - :rtype: twilio.rest.api.v2010.account.address.dependent_phone_number.DependentPhoneNumberList - """ - if self._dependent_phone_numbers is None: - self._dependent_phone_numbers = DependentPhoneNumberList( - self._version, - account_sid=self._solution['account_sid'], - address_sid=self._solution['sid'], - ) - return self._dependent_phone_numbers - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.AddressContext {}>'.format(context) - - -class AddressInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid, sid=None): - """ - Initialize the AddressInstance - - :returns: twilio.rest.api.v2010.account.address.AddressInstance - :rtype: twilio.rest.api.v2010.account.address.AddressInstance - """ - super(AddressInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'city': payload['city'], - 'customer_name': payload['customer_name'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'friendly_name': payload['friendly_name'], - 'iso_country': payload['iso_country'], - 'postal_code': payload['postal_code'], - 'region': payload['region'], - 'sid': payload['sid'], - 'street': payload['street'], - 'uri': payload['uri'], - 'emergency_enabled': payload['emergency_enabled'], - 'validated': payload['validated'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: AddressContext for this AddressInstance - :rtype: twilio.rest.api.v2010.account.address.AddressContext - """ - if self._context is None: - self._context = AddressContext( - self._version, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def city(self): - """ - :returns: The city - :rtype: unicode - """ - return self._properties['city'] - - @property - def customer_name(self): - """ - :returns: The customer_name - :rtype: unicode - """ - return self._properties['customer_name'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def iso_country(self): - """ - :returns: The iso_country - :rtype: unicode - """ - return self._properties['iso_country'] - - @property - def postal_code(self): - """ - :returns: The postal_code - :rtype: unicode - """ - return self._properties['postal_code'] - - @property - def region(self): - """ - :returns: The region - :rtype: unicode - """ - return self._properties['region'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def street(self): - """ - :returns: The street - :rtype: unicode - """ - return self._properties['street'] - - @property - def uri(self): - """ - :returns: The uri - :rtype: unicode - """ - return self._properties['uri'] - - @property - def emergency_enabled(self): - """ - :returns: The emergency_enabled - :rtype: bool - """ - return self._properties['emergency_enabled'] - - @property - def validated(self): - """ - :returns: The validated - :rtype: bool - """ - return self._properties['validated'] - - def delete(self): - """ - Deletes the AddressInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def fetch(self): - """ - Fetch a AddressInstance - - :returns: Fetched AddressInstance - :rtype: twilio.rest.api.v2010.account.address.AddressInstance - """ - return self._proxy.fetch() - - def update(self, friendly_name=values.unset, customer_name=values.unset, - street=values.unset, city=values.unset, region=values.unset, - postal_code=values.unset, emergency_enabled=values.unset, - auto_correct_address=values.unset): - """ - Update the AddressInstance - - :param unicode friendly_name: The friendly_name - :param unicode customer_name: The customer_name - :param unicode street: The street - :param unicode city: The city - :param unicode region: The region - :param unicode postal_code: The postal_code - :param bool emergency_enabled: The emergency_enabled - :param bool auto_correct_address: The auto_correct_address - - :returns: Updated AddressInstance - :rtype: twilio.rest.api.v2010.account.address.AddressInstance - """ - return self._proxy.update( - friendly_name=friendly_name, - customer_name=customer_name, - street=street, - city=city, - region=region, - postal_code=postal_code, - emergency_enabled=emergency_enabled, - auto_correct_address=auto_correct_address, - ) - - @property - def dependent_phone_numbers(self): - """ - Access the dependent_phone_numbers - - :returns: twilio.rest.api.v2010.account.address.dependent_phone_number.DependentPhoneNumberList - :rtype: twilio.rest.api.v2010.account.address.dependent_phone_number.DependentPhoneNumberList - """ - return self._proxy.dependent_phone_numbers - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.AddressInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/address/__pycache__/__init__.cpython-36.pyc b/twilio/rest/api/v2010/account/address/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index a5cac4ab3c8febb8fc1cfb20d8d924138a59d9bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19464 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 I>PmI=zX#KCB>(^b diff --git a/twilio/rest/api/v2010/account/address/__pycache__/dependent_phone_number.cpython-36.pyc b/twilio/rest/api/v2010/account/address/__pycache__/dependent_phone_number.cpython-36.pyc deleted file mode 100644 index 9092fd0fcf2cbaa8ac2eb898afa913660539eb63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15577 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 diff --git a/twilio/rest/api/v2010/account/address/dependent_phone_number.py b/twilio/rest/api/v2010/account/address/dependent_phone_number.py deleted file mode 100644 index 39126bf..0000000 --- a/twilio/rest/api/v2010/account/address/dependent_phone_number.py +++ /dev/null @@ -1,444 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class DependentPhoneNumberList(ListResource): - """ """ - - def __init__(self, version, account_sid, address_sid): - """ - Initialize the DependentPhoneNumberList - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param address_sid: The sid - - :returns: twilio.rest.api.v2010.account.address.dependent_phone_number.DependentPhoneNumberList - :rtype: twilio.rest.api.v2010.account.address.dependent_phone_number.DependentPhoneNumberList - """ - super(DependentPhoneNumberList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'address_sid': address_sid, } - self._uri = '/Accounts/{account_sid}/Addresses/{address_sid}/DependentPhoneNumbers.json'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams DependentPhoneNumberInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.address.dependent_phone_number.DependentPhoneNumberInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists DependentPhoneNumberInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.address.dependent_phone_number.DependentPhoneNumberInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of DependentPhoneNumberInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of DependentPhoneNumberInstance - :rtype: twilio.rest.api.v2010.account.address.dependent_phone_number.DependentPhoneNumberPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return DependentPhoneNumberPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of DependentPhoneNumberInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of DependentPhoneNumberInstance - :rtype: twilio.rest.api.v2010.account.address.dependent_phone_number.DependentPhoneNumberPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return DependentPhoneNumberPage(self._version, response, self._solution) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.DependentPhoneNumberList>' - - -class DependentPhoneNumberPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the DependentPhoneNumberPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The account_sid - :param address_sid: The sid - - :returns: twilio.rest.api.v2010.account.address.dependent_phone_number.DependentPhoneNumberPage - :rtype: twilio.rest.api.v2010.account.address.dependent_phone_number.DependentPhoneNumberPage - """ - super(DependentPhoneNumberPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of DependentPhoneNumberInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.address.dependent_phone_number.DependentPhoneNumberInstance - :rtype: twilio.rest.api.v2010.account.address.dependent_phone_number.DependentPhoneNumberInstance - """ - return DependentPhoneNumberInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - address_sid=self._solution['address_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.DependentPhoneNumberPage>' - - -class DependentPhoneNumberInstance(InstanceResource): - """ """ - - class AddressRequirement(object): - NONE = "none" - ANY = "any" - LOCAL = "local" - FOREIGN = "foreign" - - class EmergencyStatus(object): - ACTIVE = "Active" - INACTIVE = "Inactive" - - def __init__(self, version, payload, account_sid, address_sid): - """ - Initialize the DependentPhoneNumberInstance - - :returns: twilio.rest.api.v2010.account.address.dependent_phone_number.DependentPhoneNumberInstance - :rtype: twilio.rest.api.v2010.account.address.dependent_phone_number.DependentPhoneNumberInstance - """ - super(DependentPhoneNumberInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'friendly_name': payload['friendly_name'], - 'phone_number': payload['phone_number'], - 'voice_url': payload['voice_url'], - 'voice_method': payload['voice_method'], - 'voice_fallback_method': payload['voice_fallback_method'], - 'voice_fallback_url': payload['voice_fallback_url'], - 'voice_caller_id_lookup': payload['voice_caller_id_lookup'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'sms_fallback_method': payload['sms_fallback_method'], - 'sms_fallback_url': payload['sms_fallback_url'], - 'sms_method': payload['sms_method'], - 'sms_url': payload['sms_url'], - 'address_requirements': payload['address_requirements'], - 'capabilities': payload['capabilities'], - 'status_callback': payload['status_callback'], - 'status_callback_method': payload['status_callback_method'], - 'api_version': payload['api_version'], - 'sms_application_sid': payload['sms_application_sid'], - 'voice_application_sid': payload['voice_application_sid'], - 'trunk_sid': payload['trunk_sid'], - 'emergency_status': payload['emergency_status'], - 'emergency_address_sid': payload['emergency_address_sid'], - 'uri': payload['uri'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'address_sid': address_sid, } - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def phone_number(self): - """ - :returns: The phone_number - :rtype: unicode - """ - return self._properties['phone_number'] - - @property - def voice_url(self): - """ - :returns: The voice_url - :rtype: unicode - """ - return self._properties['voice_url'] - - @property - def voice_method(self): - """ - :returns: The voice_method - :rtype: unicode - """ - return self._properties['voice_method'] - - @property - def voice_fallback_method(self): - """ - :returns: The voice_fallback_method - :rtype: unicode - """ - return self._properties['voice_fallback_method'] - - @property - def voice_fallback_url(self): - """ - :returns: The voice_fallback_url - :rtype: unicode - """ - return self._properties['voice_fallback_url'] - - @property - def voice_caller_id_lookup(self): - """ - :returns: The voice_caller_id_lookup - :rtype: bool - """ - return self._properties['voice_caller_id_lookup'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def sms_fallback_method(self): - """ - :returns: The sms_fallback_method - :rtype: unicode - """ - return self._properties['sms_fallback_method'] - - @property - def sms_fallback_url(self): - """ - :returns: The sms_fallback_url - :rtype: unicode - """ - return self._properties['sms_fallback_url'] - - @property - def sms_method(self): - """ - :returns: The sms_method - :rtype: unicode - """ - return self._properties['sms_method'] - - @property - def sms_url(self): - """ - :returns: The sms_url - :rtype: unicode - """ - return self._properties['sms_url'] - - @property - def address_requirements(self): - """ - :returns: The address_requirements - :rtype: DependentPhoneNumberInstance.AddressRequirement - """ - return self._properties['address_requirements'] - - @property - def capabilities(self): - """ - :returns: The capabilities - :rtype: dict - """ - return self._properties['capabilities'] - - @property - def status_callback(self): - """ - :returns: The status_callback - :rtype: unicode - """ - return self._properties['status_callback'] - - @property - def status_callback_method(self): - """ - :returns: The status_callback_method - :rtype: unicode - """ - return self._properties['status_callback_method'] - - @property - def api_version(self): - """ - :returns: The api_version - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def sms_application_sid(self): - """ - :returns: The sms_application_sid - :rtype: unicode - """ - return self._properties['sms_application_sid'] - - @property - def voice_application_sid(self): - """ - :returns: The voice_application_sid - :rtype: unicode - """ - return self._properties['voice_application_sid'] - - @property - def trunk_sid(self): - """ - :returns: The trunk_sid - :rtype: unicode - """ - return self._properties['trunk_sid'] - - @property - def emergency_status(self): - """ - :returns: The emergency_status - :rtype: DependentPhoneNumberInstance.EmergencyStatus - """ - return self._properties['emergency_status'] - - @property - def emergency_address_sid(self): - """ - :returns: The emergency_address_sid - :rtype: unicode - """ - return self._properties['emergency_address_sid'] - - @property - def uri(self): - """ - :returns: The uri - :rtype: unicode - """ - return self._properties['uri'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.DependentPhoneNumberInstance>' diff --git a/twilio/rest/api/v2010/account/application.py b/twilio/rest/api/v2010/account/application.py deleted file mode 100644 index 315a744..0000000 --- a/twilio/rest/api/v2010/account/application.py +++ /dev/null @@ -1,667 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class ApplicationList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the ApplicationList - - :param Version version: Version that contains the resource - :param account_sid: A string that uniquely identifies this resource - - :returns: twilio.rest.api.v2010.account.application.ApplicationList - :rtype: twilio.rest.api.v2010.account.application.ApplicationList - """ - super(ApplicationList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/Applications.json'.format(**self._solution) - - def create(self, friendly_name, api_version=values.unset, - voice_url=values.unset, voice_method=values.unset, - voice_fallback_url=values.unset, voice_fallback_method=values.unset, - status_callback=values.unset, status_callback_method=values.unset, - voice_caller_id_lookup=values.unset, sms_url=values.unset, - sms_method=values.unset, sms_fallback_url=values.unset, - sms_fallback_method=values.unset, sms_status_callback=values.unset, - message_status_callback=values.unset): - """ - Create a new ApplicationInstance - - :param unicode friendly_name: The friendly_name - :param unicode api_version: The API version to use - :param unicode voice_url: URL Twilio will make requests to when relieving a call - :param unicode voice_method: HTTP method to use with the URL - :param unicode voice_fallback_url: Fallback URL - :param unicode voice_fallback_method: HTTP method to use with the fallback url - :param unicode status_callback: URL to hit with status updates - :param unicode status_callback_method: HTTP method to use with the status callback - :param bool voice_caller_id_lookup: True or False - :param unicode sms_url: URL Twilio will request when receiving an SMS - :param unicode sms_method: HTTP method to use with sms_url - :param unicode sms_fallback_url: Fallback URL if there's an error parsing TwiML - :param unicode sms_fallback_method: HTTP method to use with sms_fallback_method - :param unicode sms_status_callback: URL Twilio with request with status updates - :param unicode message_status_callback: URL to make requests to with status updates - - :returns: Newly created ApplicationInstance - :rtype: twilio.rest.api.v2010.account.application.ApplicationInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'ApiVersion': api_version, - 'VoiceUrl': voice_url, - 'VoiceMethod': voice_method, - 'VoiceFallbackUrl': voice_fallback_url, - 'VoiceFallbackMethod': voice_fallback_method, - 'StatusCallback': status_callback, - 'StatusCallbackMethod': status_callback_method, - 'VoiceCallerIdLookup': voice_caller_id_lookup, - 'SmsUrl': sms_url, - 'SmsMethod': sms_method, - 'SmsFallbackUrl': sms_fallback_url, - 'SmsFallbackMethod': sms_fallback_method, - 'SmsStatusCallback': sms_status_callback, - 'MessageStatusCallback': message_status_callback, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return ApplicationInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def stream(self, friendly_name=values.unset, limit=None, page_size=None): - """ - Streams ApplicationInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode friendly_name: Filter by friendly name - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.application.ApplicationInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(friendly_name=friendly_name, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, friendly_name=values.unset, limit=None, page_size=None): - """ - Lists ApplicationInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode friendly_name: Filter by friendly name - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.application.ApplicationInstance] - """ - return list(self.stream(friendly_name=friendly_name, limit=limit, page_size=page_size, )) - - def page(self, friendly_name=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of ApplicationInstance records from the API. - Request is executed immediately - - :param unicode friendly_name: Filter by friendly name - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ApplicationInstance - :rtype: twilio.rest.api.v2010.account.application.ApplicationPage - """ - params = values.of({ - 'FriendlyName': friendly_name, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ApplicationPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ApplicationInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ApplicationInstance - :rtype: twilio.rest.api.v2010.account.application.ApplicationPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ApplicationPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a ApplicationContext - - :param sid: Fetch by unique Application Sid - - :returns: twilio.rest.api.v2010.account.application.ApplicationContext - :rtype: twilio.rest.api.v2010.account.application.ApplicationContext - """ - return ApplicationContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a ApplicationContext - - :param sid: Fetch by unique Application Sid - - :returns: twilio.rest.api.v2010.account.application.ApplicationContext - :rtype: twilio.rest.api.v2010.account.application.ApplicationContext - """ - return ApplicationContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.ApplicationList>' - - -class ApplicationPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the ApplicationPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: A string that uniquely identifies this resource - - :returns: twilio.rest.api.v2010.account.application.ApplicationPage - :rtype: twilio.rest.api.v2010.account.application.ApplicationPage - """ - super(ApplicationPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ApplicationInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.application.ApplicationInstance - :rtype: twilio.rest.api.v2010.account.application.ApplicationInstance - """ - return ApplicationInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.ApplicationPage>' - - -class ApplicationContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, sid): - """ - Initialize the ApplicationContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param sid: Fetch by unique Application Sid - - :returns: twilio.rest.api.v2010.account.application.ApplicationContext - :rtype: twilio.rest.api.v2010.account.application.ApplicationContext - """ - super(ApplicationContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/Applications/{sid}.json'.format(**self._solution) - - def delete(self): - """ - Deletes the ApplicationInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def fetch(self): - """ - Fetch a ApplicationInstance - - :returns: Fetched ApplicationInstance - :rtype: twilio.rest.api.v2010.account.application.ApplicationInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ApplicationInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def update(self, friendly_name=values.unset, api_version=values.unset, - voice_url=values.unset, voice_method=values.unset, - voice_fallback_url=values.unset, voice_fallback_method=values.unset, - status_callback=values.unset, status_callback_method=values.unset, - voice_caller_id_lookup=values.unset, sms_url=values.unset, - sms_method=values.unset, sms_fallback_url=values.unset, - sms_fallback_method=values.unset, sms_status_callback=values.unset, - message_status_callback=values.unset): - """ - Update the ApplicationInstance - - :param unicode friendly_name: Human readable description of this resource - :param unicode api_version: The API version to use - :param unicode voice_url: URL Twilio will make requests to when relieving a call - :param unicode voice_method: HTTP method to use with the URL - :param unicode voice_fallback_url: Fallback URL - :param unicode voice_fallback_method: HTTP method to use with the fallback url - :param unicode status_callback: URL to hit with status updates - :param unicode status_callback_method: HTTP method to use with the status callback - :param bool voice_caller_id_lookup: True or False - :param unicode sms_url: URL Twilio will request when receiving an SMS - :param unicode sms_method: HTTP method to use with sms_url - :param unicode sms_fallback_url: Fallback URL if there's an error parsing TwiML - :param unicode sms_fallback_method: HTTP method to use with sms_fallback_method - :param unicode sms_status_callback: URL Twilio with request with status updates - :param unicode message_status_callback: URL to make requests to with status updates - - :returns: Updated ApplicationInstance - :rtype: twilio.rest.api.v2010.account.application.ApplicationInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'ApiVersion': api_version, - 'VoiceUrl': voice_url, - 'VoiceMethod': voice_method, - 'VoiceFallbackUrl': voice_fallback_url, - 'VoiceFallbackMethod': voice_fallback_method, - 'StatusCallback': status_callback, - 'StatusCallbackMethod': status_callback_method, - 'VoiceCallerIdLookup': voice_caller_id_lookup, - 'SmsUrl': sms_url, - 'SmsMethod': sms_method, - 'SmsFallbackUrl': sms_fallback_url, - 'SmsFallbackMethod': sms_fallback_method, - 'SmsStatusCallback': sms_status_callback, - 'MessageStatusCallback': message_status_callback, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ApplicationInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.ApplicationContext {}>'.format(context) - - -class ApplicationInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid, sid=None): - """ - Initialize the ApplicationInstance - - :returns: twilio.rest.api.v2010.account.application.ApplicationInstance - :rtype: twilio.rest.api.v2010.account.application.ApplicationInstance - """ - super(ApplicationInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'api_version': payload['api_version'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'friendly_name': payload['friendly_name'], - 'message_status_callback': payload['message_status_callback'], - 'sid': payload['sid'], - 'sms_fallback_method': payload['sms_fallback_method'], - 'sms_fallback_url': payload['sms_fallback_url'], - 'sms_method': payload['sms_method'], - 'sms_status_callback': payload['sms_status_callback'], - 'sms_url': payload['sms_url'], - 'status_callback': payload['status_callback'], - 'status_callback_method': payload['status_callback_method'], - 'uri': payload['uri'], - 'voice_caller_id_lookup': payload['voice_caller_id_lookup'], - 'voice_fallback_method': payload['voice_fallback_method'], - 'voice_fallback_url': payload['voice_fallback_url'], - 'voice_method': payload['voice_method'], - 'voice_url': payload['voice_url'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ApplicationContext for this ApplicationInstance - :rtype: twilio.rest.api.v2010.account.application.ApplicationContext - """ - if self._context is None: - self._context = ApplicationContext( - self._version, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: A string that uniquely identifies this resource - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def api_version(self): - """ - :returns: The API version to use - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def date_created(self): - """ - :returns: Date this resource was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: Date this resource was last updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def friendly_name(self): - """ - :returns: Human readable description of this resource - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def message_status_callback(self): - """ - :returns: URL to make requests to with status updates - :rtype: unicode - """ - return self._properties['message_status_callback'] - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this resource - :rtype: unicode - """ - return self._properties['sid'] - - @property - def sms_fallback_method(self): - """ - :returns: HTTP method to use with sms_fallback_method - :rtype: unicode - """ - return self._properties['sms_fallback_method'] - - @property - def sms_fallback_url(self): - """ - :returns: Fallback URL if there's an error parsing TwiML - :rtype: unicode - """ - return self._properties['sms_fallback_url'] - - @property - def sms_method(self): - """ - :returns: HTTP method to use with sms_url - :rtype: unicode - """ - return self._properties['sms_method'] - - @property - def sms_status_callback(self): - """ - :returns: URL Twilio with request with status updates - :rtype: unicode - """ - return self._properties['sms_status_callback'] - - @property - def sms_url(self): - """ - :returns: URL Twilio will request when receiving an SMS - :rtype: unicode - """ - return self._properties['sms_url'] - - @property - def status_callback(self): - """ - :returns: URL to hit with status updates - :rtype: unicode - """ - return self._properties['status_callback'] - - @property - def status_callback_method(self): - """ - :returns: HTTP method to use with the status callback - :rtype: unicode - """ - return self._properties['status_callback_method'] - - @property - def uri(self): - """ - :returns: URI for this resource - :rtype: unicode - """ - return self._properties['uri'] - - @property - def voice_caller_id_lookup(self): - """ - :returns: True or False - :rtype: bool - """ - return self._properties['voice_caller_id_lookup'] - - @property - def voice_fallback_method(self): - """ - :returns: HTTP method to use with the fallback url - :rtype: unicode - """ - return self._properties['voice_fallback_method'] - - @property - def voice_fallback_url(self): - """ - :returns: Fallback URL - :rtype: unicode - """ - return self._properties['voice_fallback_url'] - - @property - def voice_method(self): - """ - :returns: HTTP method to use with the URL - :rtype: unicode - """ - return self._properties['voice_method'] - - @property - def voice_url(self): - """ - :returns: URL Twilio will make requests to when relieving a call - :rtype: unicode - """ - return self._properties['voice_url'] - - def delete(self): - """ - Deletes the ApplicationInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def fetch(self): - """ - Fetch a ApplicationInstance - - :returns: Fetched ApplicationInstance - :rtype: twilio.rest.api.v2010.account.application.ApplicationInstance - """ - return self._proxy.fetch() - - def update(self, friendly_name=values.unset, api_version=values.unset, - voice_url=values.unset, voice_method=values.unset, - voice_fallback_url=values.unset, voice_fallback_method=values.unset, - status_callback=values.unset, status_callback_method=values.unset, - voice_caller_id_lookup=values.unset, sms_url=values.unset, - sms_method=values.unset, sms_fallback_url=values.unset, - sms_fallback_method=values.unset, sms_status_callback=values.unset, - message_status_callback=values.unset): - """ - Update the ApplicationInstance - - :param unicode friendly_name: Human readable description of this resource - :param unicode api_version: The API version to use - :param unicode voice_url: URL Twilio will make requests to when relieving a call - :param unicode voice_method: HTTP method to use with the URL - :param unicode voice_fallback_url: Fallback URL - :param unicode voice_fallback_method: HTTP method to use with the fallback url - :param unicode status_callback: URL to hit with status updates - :param unicode status_callback_method: HTTP method to use with the status callback - :param bool voice_caller_id_lookup: True or False - :param unicode sms_url: URL Twilio will request when receiving an SMS - :param unicode sms_method: HTTP method to use with sms_url - :param unicode sms_fallback_url: Fallback URL if there's an error parsing TwiML - :param unicode sms_fallback_method: HTTP method to use with sms_fallback_method - :param unicode sms_status_callback: URL Twilio with request with status updates - :param unicode message_status_callback: URL to make requests to with status updates - - :returns: Updated ApplicationInstance - :rtype: twilio.rest.api.v2010.account.application.ApplicationInstance - """ - return self._proxy.update( - friendly_name=friendly_name, - api_version=api_version, - voice_url=voice_url, - voice_method=voice_method, - voice_fallback_url=voice_fallback_url, - voice_fallback_method=voice_fallback_method, - status_callback=status_callback, - status_callback_method=status_callback_method, - voice_caller_id_lookup=voice_caller_id_lookup, - sms_url=sms_url, - sms_method=sms_method, - sms_fallback_url=sms_fallback_url, - sms_fallback_method=sms_fallback_method, - sms_status_callback=sms_status_callback, - message_status_callback=message_status_callback, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.ApplicationInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/authorized_connect_app.py b/twilio/rest/api/v2010/account/authorized_connect_app.py deleted file mode 100644 index 4daf004..0000000 --- a/twilio/rest/api/v2010/account/authorized_connect_app.py +++ /dev/null @@ -1,405 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class AuthorizedConnectAppList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the AuthorizedConnectAppList - - :param Version version: Version that contains the resource - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppList - :rtype: twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppList - """ - super(AuthorizedConnectAppList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/AuthorizedConnectApps.json'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams AuthorizedConnectAppInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists AuthorizedConnectAppInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of AuthorizedConnectAppInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of AuthorizedConnectAppInstance - :rtype: twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return AuthorizedConnectAppPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of AuthorizedConnectAppInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of AuthorizedConnectAppInstance - :rtype: twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return AuthorizedConnectAppPage(self._version, response, self._solution) - - def get(self, connect_app_sid): - """ - Constructs a AuthorizedConnectAppContext - - :param connect_app_sid: The connect_app_sid - - :returns: twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppContext - :rtype: twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppContext - """ - return AuthorizedConnectAppContext( - self._version, - account_sid=self._solution['account_sid'], - connect_app_sid=connect_app_sid, - ) - - def __call__(self, connect_app_sid): - """ - Constructs a AuthorizedConnectAppContext - - :param connect_app_sid: The connect_app_sid - - :returns: twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppContext - :rtype: twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppContext - """ - return AuthorizedConnectAppContext( - self._version, - account_sid=self._solution['account_sid'], - connect_app_sid=connect_app_sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.AuthorizedConnectAppList>' - - -class AuthorizedConnectAppPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the AuthorizedConnectAppPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppPage - :rtype: twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppPage - """ - super(AuthorizedConnectAppPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of AuthorizedConnectAppInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppInstance - :rtype: twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppInstance - """ - return AuthorizedConnectAppInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.AuthorizedConnectAppPage>' - - -class AuthorizedConnectAppContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, connect_app_sid): - """ - Initialize the AuthorizedConnectAppContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param connect_app_sid: The connect_app_sid - - :returns: twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppContext - :rtype: twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppContext - """ - super(AuthorizedConnectAppContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'connect_app_sid': connect_app_sid, } - self._uri = '/Accounts/{account_sid}/AuthorizedConnectApps/{connect_app_sid}.json'.format(**self._solution) - - def fetch(self): - """ - Fetch a AuthorizedConnectAppInstance - - :returns: Fetched AuthorizedConnectAppInstance - :rtype: twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return AuthorizedConnectAppInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - connect_app_sid=self._solution['connect_app_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.AuthorizedConnectAppContext {}>'.format(context) - - -class AuthorizedConnectAppInstance(InstanceResource): - """ """ - - class Permission(object): - GET_ALL = "get-all" - POST_ALL = "post-all" - - def __init__(self, version, payload, account_sid, connect_app_sid=None): - """ - Initialize the AuthorizedConnectAppInstance - - :returns: twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppInstance - :rtype: twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppInstance - """ - super(AuthorizedConnectAppInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'connect_app_company_name': payload['connect_app_company_name'], - 'connect_app_description': payload['connect_app_description'], - 'connect_app_friendly_name': payload['connect_app_friendly_name'], - 'connect_app_homepage_url': payload['connect_app_homepage_url'], - 'connect_app_sid': payload['connect_app_sid'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'permissions': payload['permissions'], - 'uri': payload['uri'], - } - - # Context - self._context = None - self._solution = { - 'account_sid': account_sid, - 'connect_app_sid': connect_app_sid or self._properties['connect_app_sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: AuthorizedConnectAppContext for this AuthorizedConnectAppInstance - :rtype: twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppContext - """ - if self._context is None: - self._context = AuthorizedConnectAppContext( - self._version, - account_sid=self._solution['account_sid'], - connect_app_sid=self._solution['connect_app_sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The unique sid that identifies this account - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def connect_app_company_name(self): - """ - :returns: The company name set for this Connect App. - :rtype: unicode - """ - return self._properties['connect_app_company_name'] - - @property - def connect_app_description(self): - """ - :returns: Human readable description of the app - :rtype: unicode - """ - return self._properties['connect_app_description'] - - @property - def connect_app_friendly_name(self): - """ - :returns: A human readable name for the Connect App. - :rtype: unicode - """ - return self._properties['connect_app_friendly_name'] - - @property - def connect_app_homepage_url(self): - """ - :returns: The public URL for this Connect App. - :rtype: unicode - """ - return self._properties['connect_app_homepage_url'] - - @property - def connect_app_sid(self): - """ - :returns: A string that uniquely identifies this app - :rtype: unicode - """ - return self._properties['connect_app_sid'] - - @property - def date_created(self): - """ - :returns: The date this resource was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this resource was last updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def permissions(self): - """ - :returns: Permissions authorized to this app - :rtype: AuthorizedConnectAppInstance.Permission - """ - return self._properties['permissions'] - - @property - def uri(self): - """ - :returns: The URI for this resource - :rtype: unicode - """ - return self._properties['uri'] - - def fetch(self): - """ - Fetch a AuthorizedConnectAppInstance - - :returns: Fetched AuthorizedConnectAppInstance - :rtype: twilio.rest.api.v2010.account.authorized_connect_app.AuthorizedConnectAppInstance - """ - return self._proxy.fetch() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.AuthorizedConnectAppInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/available_phone_number/__init__.py b/twilio/rest/api/v2010/account/available_phone_number/__init__.py deleted file mode 100644 index ad4c449..0000000 --- a/twilio/rest/api/v2010/account/available_phone_number/__init__.py +++ /dev/null @@ -1,553 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.api.v2010.account.available_phone_number.local import LocalList -from twilio.rest.api.v2010.account.available_phone_number.machine_to_machine import MachineToMachineList -from twilio.rest.api.v2010.account.available_phone_number.mobile import MobileList -from twilio.rest.api.v2010.account.available_phone_number.national import NationalList -from twilio.rest.api.v2010.account.available_phone_number.shared_cost import SharedCostList -from twilio.rest.api.v2010.account.available_phone_number.toll_free import TollFreeList -from twilio.rest.api.v2010.account.available_phone_number.voip import VoipList - - -class AvailablePhoneNumberCountryList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the AvailablePhoneNumberCountryList - - :param Version version: Version that contains the resource - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryList - :rtype: twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryList - """ - super(AvailablePhoneNumberCountryList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/AvailablePhoneNumbers.json'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams AvailablePhoneNumberCountryInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists AvailablePhoneNumberCountryInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of AvailablePhoneNumberCountryInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of AvailablePhoneNumberCountryInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return AvailablePhoneNumberCountryPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of AvailablePhoneNumberCountryInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of AvailablePhoneNumberCountryInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return AvailablePhoneNumberCountryPage(self._version, response, self._solution) - - def get(self, country_code): - """ - Constructs a AvailablePhoneNumberCountryContext - - :param country_code: The country_code - - :returns: twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryContext - :rtype: twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryContext - """ - return AvailablePhoneNumberCountryContext( - self._version, - account_sid=self._solution['account_sid'], - country_code=country_code, - ) - - def __call__(self, country_code): - """ - Constructs a AvailablePhoneNumberCountryContext - - :param country_code: The country_code - - :returns: twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryContext - :rtype: twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryContext - """ - return AvailablePhoneNumberCountryContext( - self._version, - account_sid=self._solution['account_sid'], - country_code=country_code, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.AvailablePhoneNumberCountryList>' - - -class AvailablePhoneNumberCountryPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the AvailablePhoneNumberCountryPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryPage - :rtype: twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryPage - """ - super(AvailablePhoneNumberCountryPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of AvailablePhoneNumberCountryInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryInstance - """ - return AvailablePhoneNumberCountryInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.AvailablePhoneNumberCountryPage>' - - -class AvailablePhoneNumberCountryContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, country_code): - """ - Initialize the AvailablePhoneNumberCountryContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param country_code: The country_code - - :returns: twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryContext - :rtype: twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryContext - """ - super(AvailablePhoneNumberCountryContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'country_code': country_code, } - self._uri = '/Accounts/{account_sid}/AvailablePhoneNumbers/{country_code}.json'.format(**self._solution) - - # Dependents - self._local = None - self._toll_free = None - self._mobile = None - self._national = None - self._voip = None - self._shared_cost = None - self._machine_to_machine = None - - def fetch(self): - """ - Fetch a AvailablePhoneNumberCountryInstance - - :returns: Fetched AvailablePhoneNumberCountryInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return AvailablePhoneNumberCountryInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - country_code=self._solution['country_code'], - ) - - @property - def local(self): - """ - Access the local - - :returns: twilio.rest.api.v2010.account.available_phone_number.local.LocalList - :rtype: twilio.rest.api.v2010.account.available_phone_number.local.LocalList - """ - if self._local is None: - self._local = LocalList( - self._version, - account_sid=self._solution['account_sid'], - country_code=self._solution['country_code'], - ) - return self._local - - @property - def toll_free(self): - """ - Access the toll_free - - :returns: twilio.rest.api.v2010.account.available_phone_number.toll_free.TollFreeList - :rtype: twilio.rest.api.v2010.account.available_phone_number.toll_free.TollFreeList - """ - if self._toll_free is None: - self._toll_free = TollFreeList( - self._version, - account_sid=self._solution['account_sid'], - country_code=self._solution['country_code'], - ) - return self._toll_free - - @property - def mobile(self): - """ - Access the mobile - - :returns: twilio.rest.api.v2010.account.available_phone_number.mobile.MobileList - :rtype: twilio.rest.api.v2010.account.available_phone_number.mobile.MobileList - """ - if self._mobile is None: - self._mobile = MobileList( - self._version, - account_sid=self._solution['account_sid'], - country_code=self._solution['country_code'], - ) - return self._mobile - - @property - def national(self): - """ - Access the national - - :returns: twilio.rest.api.v2010.account.available_phone_number.national.NationalList - :rtype: twilio.rest.api.v2010.account.available_phone_number.national.NationalList - """ - if self._national is None: - self._national = NationalList( - self._version, - account_sid=self._solution['account_sid'], - country_code=self._solution['country_code'], - ) - return self._national - - @property - def voip(self): - """ - Access the voip - - :returns: twilio.rest.api.v2010.account.available_phone_number.voip.VoipList - :rtype: twilio.rest.api.v2010.account.available_phone_number.voip.VoipList - """ - if self._voip is None: - self._voip = VoipList( - self._version, - account_sid=self._solution['account_sid'], - country_code=self._solution['country_code'], - ) - return self._voip - - @property - def shared_cost(self): - """ - Access the shared_cost - - :returns: twilio.rest.api.v2010.account.available_phone_number.shared_cost.SharedCostList - :rtype: twilio.rest.api.v2010.account.available_phone_number.shared_cost.SharedCostList - """ - if self._shared_cost is None: - self._shared_cost = SharedCostList( - self._version, - account_sid=self._solution['account_sid'], - country_code=self._solution['country_code'], - ) - return self._shared_cost - - @property - def machine_to_machine(self): - """ - Access the machine_to_machine - - :returns: twilio.rest.api.v2010.account.available_phone_number.machine_to_machine.MachineToMachineList - :rtype: twilio.rest.api.v2010.account.available_phone_number.machine_to_machine.MachineToMachineList - """ - if self._machine_to_machine is None: - self._machine_to_machine = MachineToMachineList( - self._version, - account_sid=self._solution['account_sid'], - country_code=self._solution['country_code'], - ) - return self._machine_to_machine - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.AvailablePhoneNumberCountryContext {}>'.format(context) - - -class AvailablePhoneNumberCountryInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid, country_code=None): - """ - Initialize the AvailablePhoneNumberCountryInstance - - :returns: twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryInstance - """ - super(AvailablePhoneNumberCountryInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'country_code': payload['country_code'], - 'country': payload['country'], - 'uri': payload['uri'], - 'beta': payload['beta'], - 'subresource_uris': payload['subresource_uris'], - } - - # Context - self._context = None - self._solution = { - 'account_sid': account_sid, - 'country_code': country_code or self._properties['country_code'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: AvailablePhoneNumberCountryContext for this AvailablePhoneNumberCountryInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryContext - """ - if self._context is None: - self._context = AvailablePhoneNumberCountryContext( - self._version, - account_sid=self._solution['account_sid'], - country_code=self._solution['country_code'], - ) - return self._context - - @property - def country_code(self): - """ - :returns: The ISO Country code to lookup phone numbers for. - :rtype: unicode - """ - return self._properties['country_code'] - - @property - def country(self): - """ - :returns: The country - :rtype: unicode - """ - return self._properties['country'] - - @property - def uri(self): - """ - :returns: The uri - :rtype: unicode - """ - return self._properties['uri'] - - @property - def beta(self): - """ - :returns: The beta - :rtype: bool - """ - return self._properties['beta'] - - @property - def subresource_uris(self): - """ - :returns: The subresource_uris - :rtype: unicode - """ - return self._properties['subresource_uris'] - - def fetch(self): - """ - Fetch a AvailablePhoneNumberCountryInstance - - :returns: Fetched AvailablePhoneNumberCountryInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.AvailablePhoneNumberCountryInstance - """ - return self._proxy.fetch() - - @property - def local(self): - """ - Access the local - - :returns: twilio.rest.api.v2010.account.available_phone_number.local.LocalList - :rtype: twilio.rest.api.v2010.account.available_phone_number.local.LocalList - """ - return self._proxy.local - - @property - def toll_free(self): - """ - Access the toll_free - - :returns: twilio.rest.api.v2010.account.available_phone_number.toll_free.TollFreeList - :rtype: twilio.rest.api.v2010.account.available_phone_number.toll_free.TollFreeList - """ - return self._proxy.toll_free - - @property - def mobile(self): - """ - Access the mobile - - :returns: twilio.rest.api.v2010.account.available_phone_number.mobile.MobileList - :rtype: twilio.rest.api.v2010.account.available_phone_number.mobile.MobileList - """ - return self._proxy.mobile - - @property - def national(self): - """ - Access the national - - :returns: twilio.rest.api.v2010.account.available_phone_number.national.NationalList - :rtype: twilio.rest.api.v2010.account.available_phone_number.national.NationalList - """ - return self._proxy.national - - @property - def voip(self): - """ - Access the voip - - :returns: twilio.rest.api.v2010.account.available_phone_number.voip.VoipList - :rtype: twilio.rest.api.v2010.account.available_phone_number.voip.VoipList - """ - return self._proxy.voip - - @property - def shared_cost(self): - """ - Access the shared_cost - - :returns: twilio.rest.api.v2010.account.available_phone_number.shared_cost.SharedCostList - :rtype: twilio.rest.api.v2010.account.available_phone_number.shared_cost.SharedCostList - """ - return self._proxy.shared_cost - - @property - def machine_to_machine(self): - """ - Access the machine_to_machine - - :returns: twilio.rest.api.v2010.account.available_phone_number.machine_to_machine.MachineToMachineList - :rtype: twilio.rest.api.v2010.account.available_phone_number.machine_to_machine.MachineToMachineList - """ - return self._proxy.machine_to_machine - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.AvailablePhoneNumberCountryInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/available_phone_number/__pycache__/__init__.cpython-36.pyc b/twilio/rest/api/v2010/account/available_phone_number/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 8d9672f11af7c0f86d561865c06c58e6cfee5904..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20862 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 D$Htmx diff --git a/twilio/rest/api/v2010/account/available_phone_number/__pycache__/local.cpython-36.pyc b/twilio/rest/api/v2010/account/available_phone_number/__pycache__/local.cpython-36.pyc deleted file mode 100644 index 3a6870a18939d311a92644b28a0db2984f673ba0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15330 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 AIsgCw diff --git a/twilio/rest/api/v2010/account/available_phone_number/__pycache__/machine_to_machine.cpython-36.pyc b/twilio/rest/api/v2010/account/available_phone_number/__pycache__/machine_to_machine.cpython-36.pyc deleted file mode 100644 index c8a42f7255a5df8aa2f623d41e861b9b86171d00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16085 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 diff --git a/twilio/rest/api/v2010/account/available_phone_number/__pycache__/mobile.cpython-36.pyc b/twilio/rest/api/v2010/account/available_phone_number/__pycache__/mobile.cpython-36.pyc deleted file mode 100644 index db158a3f30f1e5ea2fc18b61ed5ffa4bec22c4d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15396 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 HOPxOgbWc;p diff --git a/twilio/rest/api/v2010/account/available_phone_number/__pycache__/national.cpython-36.pyc b/twilio/rest/api/v2010/account/available_phone_number/__pycache__/national.cpython-36.pyc deleted file mode 100644 index fefaeacaeba866a1cc99f31f538322e7a66c0bdb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15528 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 Nxb(U4xlvf^{4ceIjO73T diff --git a/twilio/rest/api/v2010/account/available_phone_number/__pycache__/shared_cost.cpython-36.pyc b/twilio/rest/api/v2010/account/available_phone_number/__pycache__/shared_cost.cpython-36.pyc deleted file mode 100644 index 83bb9e40b6833128a6213ea1c14b5efc4cffe93d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15673 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 b)vuAiJEVwZc)GDYkbn7wkBpCu+(PS*>1@PD diff --git a/twilio/rest/api/v2010/account/available_phone_number/__pycache__/toll_free.cpython-36.pyc b/twilio/rest/api/v2010/account/available_phone_number/__pycache__/toll_free.cpython-36.pyc deleted file mode 100644 index 45c767219a2750cf1034d9ae5f0c8dc6a0932d6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15541 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 Sr~&`wUw-K`<1-_-)cRk<e~kYC diff --git a/twilio/rest/api/v2010/account/available_phone_number/__pycache__/voip.cpython-36.pyc b/twilio/rest/api/v2010/account/available_phone_number/__pycache__/voip.cpython-36.pyc deleted file mode 100644 index 3cb86240f58d4b17d2ff330d82abded1e9d87a1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15264 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 BBkuqJ diff --git a/twilio/rest/api/v2010/account/available_phone_number/local.py b/twilio/rest/api/v2010/account/available_phone_number/local.py deleted file mode 100644 index 615ccb4..0000000 --- a/twilio/rest/api/v2010/account/available_phone_number/local.py +++ /dev/null @@ -1,462 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class LocalList(ListResource): - """ """ - - def __init__(self, version, account_sid, country_code): - """ - Initialize the LocalList - - :param Version version: Version that contains the resource - :param account_sid: The 34 character string that uniquely identifies your account. - :param country_code: The ISO Country code to lookup phone numbers for. - - :returns: twilio.rest.api.v2010.account.available_phone_number.local.LocalList - :rtype: twilio.rest.api.v2010.account.available_phone_number.local.LocalList - """ - super(LocalList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'country_code': country_code, } - self._uri = '/Accounts/{account_sid}/AvailablePhoneNumbers/{country_code}/Local.json'.format(**self._solution) - - def stream(self, area_code=values.unset, contains=values.unset, - sms_enabled=values.unset, mms_enabled=values.unset, - voice_enabled=values.unset, - exclude_all_address_required=values.unset, - exclude_local_address_required=values.unset, - exclude_foreign_address_required=values.unset, beta=values.unset, - near_number=values.unset, near_lat_long=values.unset, - distance=values.unset, in_postal_code=values.unset, - in_region=values.unset, in_rate_center=values.unset, - in_lata=values.unset, in_locality=values.unset, - fax_enabled=values.unset, limit=None, page_size=None): - """ - Streams LocalInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode area_code: The area_code - :param unicode contains: The contains - :param bool sms_enabled: The sms_enabled - :param bool mms_enabled: The mms_enabled - :param bool voice_enabled: The voice_enabled - :param bool exclude_all_address_required: The exclude_all_address_required - :param bool exclude_local_address_required: The exclude_local_address_required - :param bool exclude_foreign_address_required: The exclude_foreign_address_required - :param bool beta: The beta - :param unicode near_number: The near_number - :param unicode near_lat_long: The near_lat_long - :param unicode distance: The distance - :param unicode in_postal_code: The in_postal_code - :param unicode in_region: The in_region - :param unicode in_rate_center: The in_rate_center - :param unicode in_lata: The in_lata - :param unicode in_locality: The in_locality - :param bool fax_enabled: The fax_enabled - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.available_phone_number.local.LocalInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - area_code=area_code, - contains=contains, - sms_enabled=sms_enabled, - mms_enabled=mms_enabled, - voice_enabled=voice_enabled, - exclude_all_address_required=exclude_all_address_required, - exclude_local_address_required=exclude_local_address_required, - exclude_foreign_address_required=exclude_foreign_address_required, - beta=beta, - near_number=near_number, - near_lat_long=near_lat_long, - distance=distance, - in_postal_code=in_postal_code, - in_region=in_region, - in_rate_center=in_rate_center, - in_lata=in_lata, - in_locality=in_locality, - fax_enabled=fax_enabled, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, area_code=values.unset, contains=values.unset, - sms_enabled=values.unset, mms_enabled=values.unset, - voice_enabled=values.unset, exclude_all_address_required=values.unset, - exclude_local_address_required=values.unset, - exclude_foreign_address_required=values.unset, beta=values.unset, - near_number=values.unset, near_lat_long=values.unset, - distance=values.unset, in_postal_code=values.unset, - in_region=values.unset, in_rate_center=values.unset, - in_lata=values.unset, in_locality=values.unset, - fax_enabled=values.unset, limit=None, page_size=None): - """ - Lists LocalInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode area_code: The area_code - :param unicode contains: The contains - :param bool sms_enabled: The sms_enabled - :param bool mms_enabled: The mms_enabled - :param bool voice_enabled: The voice_enabled - :param bool exclude_all_address_required: The exclude_all_address_required - :param bool exclude_local_address_required: The exclude_local_address_required - :param bool exclude_foreign_address_required: The exclude_foreign_address_required - :param bool beta: The beta - :param unicode near_number: The near_number - :param unicode near_lat_long: The near_lat_long - :param unicode distance: The distance - :param unicode in_postal_code: The in_postal_code - :param unicode in_region: The in_region - :param unicode in_rate_center: The in_rate_center - :param unicode in_lata: The in_lata - :param unicode in_locality: The in_locality - :param bool fax_enabled: The fax_enabled - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.available_phone_number.local.LocalInstance] - """ - return list(self.stream( - area_code=area_code, - contains=contains, - sms_enabled=sms_enabled, - mms_enabled=mms_enabled, - voice_enabled=voice_enabled, - exclude_all_address_required=exclude_all_address_required, - exclude_local_address_required=exclude_local_address_required, - exclude_foreign_address_required=exclude_foreign_address_required, - beta=beta, - near_number=near_number, - near_lat_long=near_lat_long, - distance=distance, - in_postal_code=in_postal_code, - in_region=in_region, - in_rate_center=in_rate_center, - in_lata=in_lata, - in_locality=in_locality, - fax_enabled=fax_enabled, - limit=limit, - page_size=page_size, - )) - - def page(self, area_code=values.unset, contains=values.unset, - sms_enabled=values.unset, mms_enabled=values.unset, - voice_enabled=values.unset, exclude_all_address_required=values.unset, - exclude_local_address_required=values.unset, - exclude_foreign_address_required=values.unset, beta=values.unset, - near_number=values.unset, near_lat_long=values.unset, - distance=values.unset, in_postal_code=values.unset, - in_region=values.unset, in_rate_center=values.unset, - in_lata=values.unset, in_locality=values.unset, - fax_enabled=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of LocalInstance records from the API. - Request is executed immediately - - :param unicode area_code: The area_code - :param unicode contains: The contains - :param bool sms_enabled: The sms_enabled - :param bool mms_enabled: The mms_enabled - :param bool voice_enabled: The voice_enabled - :param bool exclude_all_address_required: The exclude_all_address_required - :param bool exclude_local_address_required: The exclude_local_address_required - :param bool exclude_foreign_address_required: The exclude_foreign_address_required - :param bool beta: The beta - :param unicode near_number: The near_number - :param unicode near_lat_long: The near_lat_long - :param unicode distance: The distance - :param unicode in_postal_code: The in_postal_code - :param unicode in_region: The in_region - :param unicode in_rate_center: The in_rate_center - :param unicode in_lata: The in_lata - :param unicode in_locality: The in_locality - :param bool fax_enabled: The fax_enabled - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of LocalInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.local.LocalPage - """ - params = values.of({ - 'AreaCode': area_code, - 'Contains': contains, - 'SmsEnabled': sms_enabled, - 'MmsEnabled': mms_enabled, - 'VoiceEnabled': voice_enabled, - 'ExcludeAllAddressRequired': exclude_all_address_required, - 'ExcludeLocalAddressRequired': exclude_local_address_required, - 'ExcludeForeignAddressRequired': exclude_foreign_address_required, - 'Beta': beta, - 'NearNumber': near_number, - 'NearLatLong': near_lat_long, - 'Distance': distance, - 'InPostalCode': in_postal_code, - 'InRegion': in_region, - 'InRateCenter': in_rate_center, - 'InLata': in_lata, - 'InLocality': in_locality, - 'FaxEnabled': fax_enabled, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return LocalPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of LocalInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of LocalInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.local.LocalPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return LocalPage(self._version, response, self._solution) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.LocalList>' - - -class LocalPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the LocalPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The 34 character string that uniquely identifies your account. - :param country_code: The ISO Country code to lookup phone numbers for. - - :returns: twilio.rest.api.v2010.account.available_phone_number.local.LocalPage - :rtype: twilio.rest.api.v2010.account.available_phone_number.local.LocalPage - """ - super(LocalPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of LocalInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.available_phone_number.local.LocalInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.local.LocalInstance - """ - return LocalInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - country_code=self._solution['country_code'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.LocalPage>' - - -class LocalInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid, country_code): - """ - Initialize the LocalInstance - - :returns: twilio.rest.api.v2010.account.available_phone_number.local.LocalInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.local.LocalInstance - """ - super(LocalInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'friendly_name': payload['friendly_name'], - 'phone_number': payload['phone_number'], - 'lata': payload['lata'], - 'locality': payload['locality'], - 'rate_center': payload['rate_center'], - 'latitude': deserialize.decimal(payload['latitude']), - 'longitude': deserialize.decimal(payload['longitude']), - 'region': payload['region'], - 'postal_code': payload['postal_code'], - 'iso_country': payload['iso_country'], - 'address_requirements': payload['address_requirements'], - 'beta': payload['beta'], - 'capabilities': payload['capabilities'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'country_code': country_code, } - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def phone_number(self): - """ - :returns: The phone_number - :rtype: unicode - """ - return self._properties['phone_number'] - - @property - def lata(self): - """ - :returns: The lata - :rtype: unicode - """ - return self._properties['lata'] - - @property - def locality(self): - """ - :returns: The locality - :rtype: unicode - """ - return self._properties['locality'] - - @property - def rate_center(self): - """ - :returns: The rate_center - :rtype: unicode - """ - return self._properties['rate_center'] - - @property - def latitude(self): - """ - :returns: The latitude - :rtype: unicode - """ - return self._properties['latitude'] - - @property - def longitude(self): - """ - :returns: The longitude - :rtype: unicode - """ - return self._properties['longitude'] - - @property - def region(self): - """ - :returns: The region - :rtype: unicode - """ - return self._properties['region'] - - @property - def postal_code(self): - """ - :returns: The postal_code - :rtype: unicode - """ - return self._properties['postal_code'] - - @property - def iso_country(self): - """ - :returns: The iso_country - :rtype: unicode - """ - return self._properties['iso_country'] - - @property - def address_requirements(self): - """ - :returns: The address_requirements - :rtype: unicode - """ - return self._properties['address_requirements'] - - @property - def beta(self): - """ - :returns: The beta - :rtype: bool - """ - return self._properties['beta'] - - @property - def capabilities(self): - """ - :returns: The capabilities - :rtype: unicode - """ - return self._properties['capabilities'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.LocalInstance>' diff --git a/twilio/rest/api/v2010/account/available_phone_number/machine_to_machine.py b/twilio/rest/api/v2010/account/available_phone_number/machine_to_machine.py deleted file mode 100644 index 74fe5e1..0000000 --- a/twilio/rest/api/v2010/account/available_phone_number/machine_to_machine.py +++ /dev/null @@ -1,462 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class MachineToMachineList(ListResource): - """ """ - - def __init__(self, version, account_sid, country_code): - """ - Initialize the MachineToMachineList - - :param Version version: Version that contains the resource - :param account_sid: The 34 character string that uniquely identifies your account. - :param country_code: The ISO Country code to lookup phone numbers for. - - :returns: twilio.rest.api.v2010.account.available_phone_number.machine_to_machine.MachineToMachineList - :rtype: twilio.rest.api.v2010.account.available_phone_number.machine_to_machine.MachineToMachineList - """ - super(MachineToMachineList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'country_code': country_code, } - self._uri = '/Accounts/{account_sid}/AvailablePhoneNumbers/{country_code}/MachineToMachine.json'.format(**self._solution) - - def stream(self, area_code=values.unset, contains=values.unset, - sms_enabled=values.unset, mms_enabled=values.unset, - voice_enabled=values.unset, - exclude_all_address_required=values.unset, - exclude_local_address_required=values.unset, - exclude_foreign_address_required=values.unset, beta=values.unset, - near_number=values.unset, near_lat_long=values.unset, - distance=values.unset, in_postal_code=values.unset, - in_region=values.unset, in_rate_center=values.unset, - in_lata=values.unset, in_locality=values.unset, - fax_enabled=values.unset, limit=None, page_size=None): - """ - Streams MachineToMachineInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode area_code: The area_code - :param unicode contains: The contains - :param bool sms_enabled: The sms_enabled - :param bool mms_enabled: The mms_enabled - :param bool voice_enabled: The voice_enabled - :param bool exclude_all_address_required: The exclude_all_address_required - :param bool exclude_local_address_required: The exclude_local_address_required - :param bool exclude_foreign_address_required: The exclude_foreign_address_required - :param bool beta: The beta - :param unicode near_number: The near_number - :param unicode near_lat_long: The near_lat_long - :param unicode distance: The distance - :param unicode in_postal_code: The in_postal_code - :param unicode in_region: The in_region - :param unicode in_rate_center: The in_rate_center - :param unicode in_lata: The in_lata - :param unicode in_locality: The in_locality - :param bool fax_enabled: The fax_enabled - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.available_phone_number.machine_to_machine.MachineToMachineInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - area_code=area_code, - contains=contains, - sms_enabled=sms_enabled, - mms_enabled=mms_enabled, - voice_enabled=voice_enabled, - exclude_all_address_required=exclude_all_address_required, - exclude_local_address_required=exclude_local_address_required, - exclude_foreign_address_required=exclude_foreign_address_required, - beta=beta, - near_number=near_number, - near_lat_long=near_lat_long, - distance=distance, - in_postal_code=in_postal_code, - in_region=in_region, - in_rate_center=in_rate_center, - in_lata=in_lata, - in_locality=in_locality, - fax_enabled=fax_enabled, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, area_code=values.unset, contains=values.unset, - sms_enabled=values.unset, mms_enabled=values.unset, - voice_enabled=values.unset, exclude_all_address_required=values.unset, - exclude_local_address_required=values.unset, - exclude_foreign_address_required=values.unset, beta=values.unset, - near_number=values.unset, near_lat_long=values.unset, - distance=values.unset, in_postal_code=values.unset, - in_region=values.unset, in_rate_center=values.unset, - in_lata=values.unset, in_locality=values.unset, - fax_enabled=values.unset, limit=None, page_size=None): - """ - Lists MachineToMachineInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode area_code: The area_code - :param unicode contains: The contains - :param bool sms_enabled: The sms_enabled - :param bool mms_enabled: The mms_enabled - :param bool voice_enabled: The voice_enabled - :param bool exclude_all_address_required: The exclude_all_address_required - :param bool exclude_local_address_required: The exclude_local_address_required - :param bool exclude_foreign_address_required: The exclude_foreign_address_required - :param bool beta: The beta - :param unicode near_number: The near_number - :param unicode near_lat_long: The near_lat_long - :param unicode distance: The distance - :param unicode in_postal_code: The in_postal_code - :param unicode in_region: The in_region - :param unicode in_rate_center: The in_rate_center - :param unicode in_lata: The in_lata - :param unicode in_locality: The in_locality - :param bool fax_enabled: The fax_enabled - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.available_phone_number.machine_to_machine.MachineToMachineInstance] - """ - return list(self.stream( - area_code=area_code, - contains=contains, - sms_enabled=sms_enabled, - mms_enabled=mms_enabled, - voice_enabled=voice_enabled, - exclude_all_address_required=exclude_all_address_required, - exclude_local_address_required=exclude_local_address_required, - exclude_foreign_address_required=exclude_foreign_address_required, - beta=beta, - near_number=near_number, - near_lat_long=near_lat_long, - distance=distance, - in_postal_code=in_postal_code, - in_region=in_region, - in_rate_center=in_rate_center, - in_lata=in_lata, - in_locality=in_locality, - fax_enabled=fax_enabled, - limit=limit, - page_size=page_size, - )) - - def page(self, area_code=values.unset, contains=values.unset, - sms_enabled=values.unset, mms_enabled=values.unset, - voice_enabled=values.unset, exclude_all_address_required=values.unset, - exclude_local_address_required=values.unset, - exclude_foreign_address_required=values.unset, beta=values.unset, - near_number=values.unset, near_lat_long=values.unset, - distance=values.unset, in_postal_code=values.unset, - in_region=values.unset, in_rate_center=values.unset, - in_lata=values.unset, in_locality=values.unset, - fax_enabled=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of MachineToMachineInstance records from the API. - Request is executed immediately - - :param unicode area_code: The area_code - :param unicode contains: The contains - :param bool sms_enabled: The sms_enabled - :param bool mms_enabled: The mms_enabled - :param bool voice_enabled: The voice_enabled - :param bool exclude_all_address_required: The exclude_all_address_required - :param bool exclude_local_address_required: The exclude_local_address_required - :param bool exclude_foreign_address_required: The exclude_foreign_address_required - :param bool beta: The beta - :param unicode near_number: The near_number - :param unicode near_lat_long: The near_lat_long - :param unicode distance: The distance - :param unicode in_postal_code: The in_postal_code - :param unicode in_region: The in_region - :param unicode in_rate_center: The in_rate_center - :param unicode in_lata: The in_lata - :param unicode in_locality: The in_locality - :param bool fax_enabled: The fax_enabled - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of MachineToMachineInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.machine_to_machine.MachineToMachinePage - """ - params = values.of({ - 'AreaCode': area_code, - 'Contains': contains, - 'SmsEnabled': sms_enabled, - 'MmsEnabled': mms_enabled, - 'VoiceEnabled': voice_enabled, - 'ExcludeAllAddressRequired': exclude_all_address_required, - 'ExcludeLocalAddressRequired': exclude_local_address_required, - 'ExcludeForeignAddressRequired': exclude_foreign_address_required, - 'Beta': beta, - 'NearNumber': near_number, - 'NearLatLong': near_lat_long, - 'Distance': distance, - 'InPostalCode': in_postal_code, - 'InRegion': in_region, - 'InRateCenter': in_rate_center, - 'InLata': in_lata, - 'InLocality': in_locality, - 'FaxEnabled': fax_enabled, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return MachineToMachinePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of MachineToMachineInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of MachineToMachineInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.machine_to_machine.MachineToMachinePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return MachineToMachinePage(self._version, response, self._solution) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.MachineToMachineList>' - - -class MachineToMachinePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the MachineToMachinePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The 34 character string that uniquely identifies your account. - :param country_code: The ISO Country code to lookup phone numbers for. - - :returns: twilio.rest.api.v2010.account.available_phone_number.machine_to_machine.MachineToMachinePage - :rtype: twilio.rest.api.v2010.account.available_phone_number.machine_to_machine.MachineToMachinePage - """ - super(MachineToMachinePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of MachineToMachineInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.available_phone_number.machine_to_machine.MachineToMachineInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.machine_to_machine.MachineToMachineInstance - """ - return MachineToMachineInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - country_code=self._solution['country_code'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.MachineToMachinePage>' - - -class MachineToMachineInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid, country_code): - """ - Initialize the MachineToMachineInstance - - :returns: twilio.rest.api.v2010.account.available_phone_number.machine_to_machine.MachineToMachineInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.machine_to_machine.MachineToMachineInstance - """ - super(MachineToMachineInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'friendly_name': payload['friendly_name'], - 'phone_number': payload['phone_number'], - 'lata': payload['lata'], - 'locality': payload['locality'], - 'rate_center': payload['rate_center'], - 'latitude': deserialize.decimal(payload['latitude']), - 'longitude': deserialize.decimal(payload['longitude']), - 'region': payload['region'], - 'postal_code': payload['postal_code'], - 'iso_country': payload['iso_country'], - 'address_requirements': payload['address_requirements'], - 'beta': payload['beta'], - 'capabilities': payload['capabilities'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'country_code': country_code, } - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def phone_number(self): - """ - :returns: The phone_number - :rtype: unicode - """ - return self._properties['phone_number'] - - @property - def lata(self): - """ - :returns: The lata - :rtype: unicode - """ - return self._properties['lata'] - - @property - def locality(self): - """ - :returns: The locality - :rtype: unicode - """ - return self._properties['locality'] - - @property - def rate_center(self): - """ - :returns: The rate_center - :rtype: unicode - """ - return self._properties['rate_center'] - - @property - def latitude(self): - """ - :returns: The latitude - :rtype: unicode - """ - return self._properties['latitude'] - - @property - def longitude(self): - """ - :returns: The longitude - :rtype: unicode - """ - return self._properties['longitude'] - - @property - def region(self): - """ - :returns: The region - :rtype: unicode - """ - return self._properties['region'] - - @property - def postal_code(self): - """ - :returns: The postal_code - :rtype: unicode - """ - return self._properties['postal_code'] - - @property - def iso_country(self): - """ - :returns: The iso_country - :rtype: unicode - """ - return self._properties['iso_country'] - - @property - def address_requirements(self): - """ - :returns: The address_requirements - :rtype: unicode - """ - return self._properties['address_requirements'] - - @property - def beta(self): - """ - :returns: The beta - :rtype: bool - """ - return self._properties['beta'] - - @property - def capabilities(self): - """ - :returns: The capabilities - :rtype: unicode - """ - return self._properties['capabilities'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.MachineToMachineInstance>' diff --git a/twilio/rest/api/v2010/account/available_phone_number/mobile.py b/twilio/rest/api/v2010/account/available_phone_number/mobile.py deleted file mode 100644 index 8d25959..0000000 --- a/twilio/rest/api/v2010/account/available_phone_number/mobile.py +++ /dev/null @@ -1,462 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class MobileList(ListResource): - """ """ - - def __init__(self, version, account_sid, country_code): - """ - Initialize the MobileList - - :param Version version: Version that contains the resource - :param account_sid: The 34 character string that uniquely identifies your account. - :param country_code: The ISO Country code to lookup phone numbers for. - - :returns: twilio.rest.api.v2010.account.available_phone_number.mobile.MobileList - :rtype: twilio.rest.api.v2010.account.available_phone_number.mobile.MobileList - """ - super(MobileList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'country_code': country_code, } - self._uri = '/Accounts/{account_sid}/AvailablePhoneNumbers/{country_code}/Mobile.json'.format(**self._solution) - - def stream(self, area_code=values.unset, contains=values.unset, - sms_enabled=values.unset, mms_enabled=values.unset, - voice_enabled=values.unset, - exclude_all_address_required=values.unset, - exclude_local_address_required=values.unset, - exclude_foreign_address_required=values.unset, beta=values.unset, - near_number=values.unset, near_lat_long=values.unset, - distance=values.unset, in_postal_code=values.unset, - in_region=values.unset, in_rate_center=values.unset, - in_lata=values.unset, in_locality=values.unset, - fax_enabled=values.unset, limit=None, page_size=None): - """ - Streams MobileInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode area_code: The area_code - :param unicode contains: The contains - :param bool sms_enabled: The sms_enabled - :param bool mms_enabled: The mms_enabled - :param bool voice_enabled: The voice_enabled - :param bool exclude_all_address_required: The exclude_all_address_required - :param bool exclude_local_address_required: The exclude_local_address_required - :param bool exclude_foreign_address_required: The exclude_foreign_address_required - :param bool beta: The beta - :param unicode near_number: The near_number - :param unicode near_lat_long: The near_lat_long - :param unicode distance: The distance - :param unicode in_postal_code: The in_postal_code - :param unicode in_region: The in_region - :param unicode in_rate_center: The in_rate_center - :param unicode in_lata: The in_lata - :param unicode in_locality: The in_locality - :param bool fax_enabled: The fax_enabled - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.available_phone_number.mobile.MobileInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - area_code=area_code, - contains=contains, - sms_enabled=sms_enabled, - mms_enabled=mms_enabled, - voice_enabled=voice_enabled, - exclude_all_address_required=exclude_all_address_required, - exclude_local_address_required=exclude_local_address_required, - exclude_foreign_address_required=exclude_foreign_address_required, - beta=beta, - near_number=near_number, - near_lat_long=near_lat_long, - distance=distance, - in_postal_code=in_postal_code, - in_region=in_region, - in_rate_center=in_rate_center, - in_lata=in_lata, - in_locality=in_locality, - fax_enabled=fax_enabled, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, area_code=values.unset, contains=values.unset, - sms_enabled=values.unset, mms_enabled=values.unset, - voice_enabled=values.unset, exclude_all_address_required=values.unset, - exclude_local_address_required=values.unset, - exclude_foreign_address_required=values.unset, beta=values.unset, - near_number=values.unset, near_lat_long=values.unset, - distance=values.unset, in_postal_code=values.unset, - in_region=values.unset, in_rate_center=values.unset, - in_lata=values.unset, in_locality=values.unset, - fax_enabled=values.unset, limit=None, page_size=None): - """ - Lists MobileInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode area_code: The area_code - :param unicode contains: The contains - :param bool sms_enabled: The sms_enabled - :param bool mms_enabled: The mms_enabled - :param bool voice_enabled: The voice_enabled - :param bool exclude_all_address_required: The exclude_all_address_required - :param bool exclude_local_address_required: The exclude_local_address_required - :param bool exclude_foreign_address_required: The exclude_foreign_address_required - :param bool beta: The beta - :param unicode near_number: The near_number - :param unicode near_lat_long: The near_lat_long - :param unicode distance: The distance - :param unicode in_postal_code: The in_postal_code - :param unicode in_region: The in_region - :param unicode in_rate_center: The in_rate_center - :param unicode in_lata: The in_lata - :param unicode in_locality: The in_locality - :param bool fax_enabled: The fax_enabled - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.available_phone_number.mobile.MobileInstance] - """ - return list(self.stream( - area_code=area_code, - contains=contains, - sms_enabled=sms_enabled, - mms_enabled=mms_enabled, - voice_enabled=voice_enabled, - exclude_all_address_required=exclude_all_address_required, - exclude_local_address_required=exclude_local_address_required, - exclude_foreign_address_required=exclude_foreign_address_required, - beta=beta, - near_number=near_number, - near_lat_long=near_lat_long, - distance=distance, - in_postal_code=in_postal_code, - in_region=in_region, - in_rate_center=in_rate_center, - in_lata=in_lata, - in_locality=in_locality, - fax_enabled=fax_enabled, - limit=limit, - page_size=page_size, - )) - - def page(self, area_code=values.unset, contains=values.unset, - sms_enabled=values.unset, mms_enabled=values.unset, - voice_enabled=values.unset, exclude_all_address_required=values.unset, - exclude_local_address_required=values.unset, - exclude_foreign_address_required=values.unset, beta=values.unset, - near_number=values.unset, near_lat_long=values.unset, - distance=values.unset, in_postal_code=values.unset, - in_region=values.unset, in_rate_center=values.unset, - in_lata=values.unset, in_locality=values.unset, - fax_enabled=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of MobileInstance records from the API. - Request is executed immediately - - :param unicode area_code: The area_code - :param unicode contains: The contains - :param bool sms_enabled: The sms_enabled - :param bool mms_enabled: The mms_enabled - :param bool voice_enabled: The voice_enabled - :param bool exclude_all_address_required: The exclude_all_address_required - :param bool exclude_local_address_required: The exclude_local_address_required - :param bool exclude_foreign_address_required: The exclude_foreign_address_required - :param bool beta: The beta - :param unicode near_number: The near_number - :param unicode near_lat_long: The near_lat_long - :param unicode distance: The distance - :param unicode in_postal_code: The in_postal_code - :param unicode in_region: The in_region - :param unicode in_rate_center: The in_rate_center - :param unicode in_lata: The in_lata - :param unicode in_locality: The in_locality - :param bool fax_enabled: The fax_enabled - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of MobileInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.mobile.MobilePage - """ - params = values.of({ - 'AreaCode': area_code, - 'Contains': contains, - 'SmsEnabled': sms_enabled, - 'MmsEnabled': mms_enabled, - 'VoiceEnabled': voice_enabled, - 'ExcludeAllAddressRequired': exclude_all_address_required, - 'ExcludeLocalAddressRequired': exclude_local_address_required, - 'ExcludeForeignAddressRequired': exclude_foreign_address_required, - 'Beta': beta, - 'NearNumber': near_number, - 'NearLatLong': near_lat_long, - 'Distance': distance, - 'InPostalCode': in_postal_code, - 'InRegion': in_region, - 'InRateCenter': in_rate_center, - 'InLata': in_lata, - 'InLocality': in_locality, - 'FaxEnabled': fax_enabled, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return MobilePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of MobileInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of MobileInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.mobile.MobilePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return MobilePage(self._version, response, self._solution) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.MobileList>' - - -class MobilePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the MobilePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The 34 character string that uniquely identifies your account. - :param country_code: The ISO Country code to lookup phone numbers for. - - :returns: twilio.rest.api.v2010.account.available_phone_number.mobile.MobilePage - :rtype: twilio.rest.api.v2010.account.available_phone_number.mobile.MobilePage - """ - super(MobilePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of MobileInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.available_phone_number.mobile.MobileInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.mobile.MobileInstance - """ - return MobileInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - country_code=self._solution['country_code'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.MobilePage>' - - -class MobileInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid, country_code): - """ - Initialize the MobileInstance - - :returns: twilio.rest.api.v2010.account.available_phone_number.mobile.MobileInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.mobile.MobileInstance - """ - super(MobileInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'friendly_name': payload['friendly_name'], - 'phone_number': payload['phone_number'], - 'lata': payload['lata'], - 'locality': payload['locality'], - 'rate_center': payload['rate_center'], - 'latitude': deserialize.decimal(payload['latitude']), - 'longitude': deserialize.decimal(payload['longitude']), - 'region': payload['region'], - 'postal_code': payload['postal_code'], - 'iso_country': payload['iso_country'], - 'address_requirements': payload['address_requirements'], - 'beta': payload['beta'], - 'capabilities': payload['capabilities'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'country_code': country_code, } - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def phone_number(self): - """ - :returns: The phone_number - :rtype: unicode - """ - return self._properties['phone_number'] - - @property - def lata(self): - """ - :returns: The lata - :rtype: unicode - """ - return self._properties['lata'] - - @property - def locality(self): - """ - :returns: The locality - :rtype: unicode - """ - return self._properties['locality'] - - @property - def rate_center(self): - """ - :returns: The rate_center - :rtype: unicode - """ - return self._properties['rate_center'] - - @property - def latitude(self): - """ - :returns: The latitude - :rtype: unicode - """ - return self._properties['latitude'] - - @property - def longitude(self): - """ - :returns: The longitude - :rtype: unicode - """ - return self._properties['longitude'] - - @property - def region(self): - """ - :returns: The region - :rtype: unicode - """ - return self._properties['region'] - - @property - def postal_code(self): - """ - :returns: The postal_code - :rtype: unicode - """ - return self._properties['postal_code'] - - @property - def iso_country(self): - """ - :returns: The iso_country - :rtype: unicode - """ - return self._properties['iso_country'] - - @property - def address_requirements(self): - """ - :returns: The address_requirements - :rtype: unicode - """ - return self._properties['address_requirements'] - - @property - def beta(self): - """ - :returns: The beta - :rtype: bool - """ - return self._properties['beta'] - - @property - def capabilities(self): - """ - :returns: The capabilities - :rtype: unicode - """ - return self._properties['capabilities'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.MobileInstance>' diff --git a/twilio/rest/api/v2010/account/available_phone_number/national.py b/twilio/rest/api/v2010/account/available_phone_number/national.py deleted file mode 100644 index cb3e6ba..0000000 --- a/twilio/rest/api/v2010/account/available_phone_number/national.py +++ /dev/null @@ -1,462 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class NationalList(ListResource): - """ """ - - def __init__(self, version, account_sid, country_code): - """ - Initialize the NationalList - - :param Version version: Version that contains the resource - :param account_sid: The 34 character string that uniquely identifies your account. - :param country_code: The ISO Country code to lookup phone numbers for. - - :returns: twilio.rest.api.v2010.account.available_phone_number.national.NationalList - :rtype: twilio.rest.api.v2010.account.available_phone_number.national.NationalList - """ - super(NationalList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'country_code': country_code, } - self._uri = '/Accounts/{account_sid}/AvailablePhoneNumbers/{country_code}/National.json'.format(**self._solution) - - def stream(self, area_code=values.unset, contains=values.unset, - sms_enabled=values.unset, mms_enabled=values.unset, - voice_enabled=values.unset, - exclude_all_address_required=values.unset, - exclude_local_address_required=values.unset, - exclude_foreign_address_required=values.unset, beta=values.unset, - near_number=values.unset, near_lat_long=values.unset, - distance=values.unset, in_postal_code=values.unset, - in_region=values.unset, in_rate_center=values.unset, - in_lata=values.unset, in_locality=values.unset, - fax_enabled=values.unset, limit=None, page_size=None): - """ - Streams NationalInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode area_code: The area_code - :param unicode contains: The contains - :param bool sms_enabled: The sms_enabled - :param bool mms_enabled: The mms_enabled - :param bool voice_enabled: The voice_enabled - :param bool exclude_all_address_required: The exclude_all_address_required - :param bool exclude_local_address_required: The exclude_local_address_required - :param bool exclude_foreign_address_required: The exclude_foreign_address_required - :param bool beta: The beta - :param unicode near_number: The near_number - :param unicode near_lat_long: The near_lat_long - :param unicode distance: The distance - :param unicode in_postal_code: The in_postal_code - :param unicode in_region: The in_region - :param unicode in_rate_center: The in_rate_center - :param unicode in_lata: The in_lata - :param unicode in_locality: The in_locality - :param bool fax_enabled: The fax_enabled - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.available_phone_number.national.NationalInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - area_code=area_code, - contains=contains, - sms_enabled=sms_enabled, - mms_enabled=mms_enabled, - voice_enabled=voice_enabled, - exclude_all_address_required=exclude_all_address_required, - exclude_local_address_required=exclude_local_address_required, - exclude_foreign_address_required=exclude_foreign_address_required, - beta=beta, - near_number=near_number, - near_lat_long=near_lat_long, - distance=distance, - in_postal_code=in_postal_code, - in_region=in_region, - in_rate_center=in_rate_center, - in_lata=in_lata, - in_locality=in_locality, - fax_enabled=fax_enabled, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, area_code=values.unset, contains=values.unset, - sms_enabled=values.unset, mms_enabled=values.unset, - voice_enabled=values.unset, exclude_all_address_required=values.unset, - exclude_local_address_required=values.unset, - exclude_foreign_address_required=values.unset, beta=values.unset, - near_number=values.unset, near_lat_long=values.unset, - distance=values.unset, in_postal_code=values.unset, - in_region=values.unset, in_rate_center=values.unset, - in_lata=values.unset, in_locality=values.unset, - fax_enabled=values.unset, limit=None, page_size=None): - """ - Lists NationalInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode area_code: The area_code - :param unicode contains: The contains - :param bool sms_enabled: The sms_enabled - :param bool mms_enabled: The mms_enabled - :param bool voice_enabled: The voice_enabled - :param bool exclude_all_address_required: The exclude_all_address_required - :param bool exclude_local_address_required: The exclude_local_address_required - :param bool exclude_foreign_address_required: The exclude_foreign_address_required - :param bool beta: The beta - :param unicode near_number: The near_number - :param unicode near_lat_long: The near_lat_long - :param unicode distance: The distance - :param unicode in_postal_code: The in_postal_code - :param unicode in_region: The in_region - :param unicode in_rate_center: The in_rate_center - :param unicode in_lata: The in_lata - :param unicode in_locality: The in_locality - :param bool fax_enabled: The fax_enabled - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.available_phone_number.national.NationalInstance] - """ - return list(self.stream( - area_code=area_code, - contains=contains, - sms_enabled=sms_enabled, - mms_enabled=mms_enabled, - voice_enabled=voice_enabled, - exclude_all_address_required=exclude_all_address_required, - exclude_local_address_required=exclude_local_address_required, - exclude_foreign_address_required=exclude_foreign_address_required, - beta=beta, - near_number=near_number, - near_lat_long=near_lat_long, - distance=distance, - in_postal_code=in_postal_code, - in_region=in_region, - in_rate_center=in_rate_center, - in_lata=in_lata, - in_locality=in_locality, - fax_enabled=fax_enabled, - limit=limit, - page_size=page_size, - )) - - def page(self, area_code=values.unset, contains=values.unset, - sms_enabled=values.unset, mms_enabled=values.unset, - voice_enabled=values.unset, exclude_all_address_required=values.unset, - exclude_local_address_required=values.unset, - exclude_foreign_address_required=values.unset, beta=values.unset, - near_number=values.unset, near_lat_long=values.unset, - distance=values.unset, in_postal_code=values.unset, - in_region=values.unset, in_rate_center=values.unset, - in_lata=values.unset, in_locality=values.unset, - fax_enabled=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of NationalInstance records from the API. - Request is executed immediately - - :param unicode area_code: The area_code - :param unicode contains: The contains - :param bool sms_enabled: The sms_enabled - :param bool mms_enabled: The mms_enabled - :param bool voice_enabled: The voice_enabled - :param bool exclude_all_address_required: The exclude_all_address_required - :param bool exclude_local_address_required: The exclude_local_address_required - :param bool exclude_foreign_address_required: The exclude_foreign_address_required - :param bool beta: The beta - :param unicode near_number: The near_number - :param unicode near_lat_long: The near_lat_long - :param unicode distance: The distance - :param unicode in_postal_code: The in_postal_code - :param unicode in_region: The in_region - :param unicode in_rate_center: The in_rate_center - :param unicode in_lata: The in_lata - :param unicode in_locality: The in_locality - :param bool fax_enabled: The fax_enabled - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of NationalInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.national.NationalPage - """ - params = values.of({ - 'AreaCode': area_code, - 'Contains': contains, - 'SmsEnabled': sms_enabled, - 'MmsEnabled': mms_enabled, - 'VoiceEnabled': voice_enabled, - 'ExcludeAllAddressRequired': exclude_all_address_required, - 'ExcludeLocalAddressRequired': exclude_local_address_required, - 'ExcludeForeignAddressRequired': exclude_foreign_address_required, - 'Beta': beta, - 'NearNumber': near_number, - 'NearLatLong': near_lat_long, - 'Distance': distance, - 'InPostalCode': in_postal_code, - 'InRegion': in_region, - 'InRateCenter': in_rate_center, - 'InLata': in_lata, - 'InLocality': in_locality, - 'FaxEnabled': fax_enabled, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return NationalPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of NationalInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of NationalInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.national.NationalPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return NationalPage(self._version, response, self._solution) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.NationalList>' - - -class NationalPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the NationalPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The 34 character string that uniquely identifies your account. - :param country_code: The ISO Country code to lookup phone numbers for. - - :returns: twilio.rest.api.v2010.account.available_phone_number.national.NationalPage - :rtype: twilio.rest.api.v2010.account.available_phone_number.national.NationalPage - """ - super(NationalPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of NationalInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.available_phone_number.national.NationalInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.national.NationalInstance - """ - return NationalInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - country_code=self._solution['country_code'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.NationalPage>' - - -class NationalInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid, country_code): - """ - Initialize the NationalInstance - - :returns: twilio.rest.api.v2010.account.available_phone_number.national.NationalInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.national.NationalInstance - """ - super(NationalInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'friendly_name': payload['friendly_name'], - 'phone_number': payload['phone_number'], - 'lata': payload['lata'], - 'locality': payload['locality'], - 'rate_center': payload['rate_center'], - 'latitude': deserialize.decimal(payload['latitude']), - 'longitude': deserialize.decimal(payload['longitude']), - 'region': payload['region'], - 'postal_code': payload['postal_code'], - 'iso_country': payload['iso_country'], - 'address_requirements': payload['address_requirements'], - 'beta': payload['beta'], - 'capabilities': payload['capabilities'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'country_code': country_code, } - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def phone_number(self): - """ - :returns: The phone_number - :rtype: unicode - """ - return self._properties['phone_number'] - - @property - def lata(self): - """ - :returns: The lata - :rtype: unicode - """ - return self._properties['lata'] - - @property - def locality(self): - """ - :returns: The locality - :rtype: unicode - """ - return self._properties['locality'] - - @property - def rate_center(self): - """ - :returns: The rate_center - :rtype: unicode - """ - return self._properties['rate_center'] - - @property - def latitude(self): - """ - :returns: The latitude - :rtype: unicode - """ - return self._properties['latitude'] - - @property - def longitude(self): - """ - :returns: The longitude - :rtype: unicode - """ - return self._properties['longitude'] - - @property - def region(self): - """ - :returns: The region - :rtype: unicode - """ - return self._properties['region'] - - @property - def postal_code(self): - """ - :returns: The postal_code - :rtype: unicode - """ - return self._properties['postal_code'] - - @property - def iso_country(self): - """ - :returns: The iso_country - :rtype: unicode - """ - return self._properties['iso_country'] - - @property - def address_requirements(self): - """ - :returns: The address_requirements - :rtype: unicode - """ - return self._properties['address_requirements'] - - @property - def beta(self): - """ - :returns: The beta - :rtype: bool - """ - return self._properties['beta'] - - @property - def capabilities(self): - """ - :returns: The capabilities - :rtype: unicode - """ - return self._properties['capabilities'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.NationalInstance>' diff --git a/twilio/rest/api/v2010/account/available_phone_number/shared_cost.py b/twilio/rest/api/v2010/account/available_phone_number/shared_cost.py deleted file mode 100644 index 8fb9bc5..0000000 --- a/twilio/rest/api/v2010/account/available_phone_number/shared_cost.py +++ /dev/null @@ -1,462 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class SharedCostList(ListResource): - """ """ - - def __init__(self, version, account_sid, country_code): - """ - Initialize the SharedCostList - - :param Version version: Version that contains the resource - :param account_sid: The 34 character string that uniquely identifies your account. - :param country_code: The ISO Country code to lookup phone numbers for. - - :returns: twilio.rest.api.v2010.account.available_phone_number.shared_cost.SharedCostList - :rtype: twilio.rest.api.v2010.account.available_phone_number.shared_cost.SharedCostList - """ - super(SharedCostList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'country_code': country_code, } - self._uri = '/Accounts/{account_sid}/AvailablePhoneNumbers/{country_code}/SharedCost.json'.format(**self._solution) - - def stream(self, area_code=values.unset, contains=values.unset, - sms_enabled=values.unset, mms_enabled=values.unset, - voice_enabled=values.unset, - exclude_all_address_required=values.unset, - exclude_local_address_required=values.unset, - exclude_foreign_address_required=values.unset, beta=values.unset, - near_number=values.unset, near_lat_long=values.unset, - distance=values.unset, in_postal_code=values.unset, - in_region=values.unset, in_rate_center=values.unset, - in_lata=values.unset, in_locality=values.unset, - fax_enabled=values.unset, limit=None, page_size=None): - """ - Streams SharedCostInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode area_code: The area_code - :param unicode contains: The contains - :param bool sms_enabled: The sms_enabled - :param bool mms_enabled: The mms_enabled - :param bool voice_enabled: The voice_enabled - :param bool exclude_all_address_required: The exclude_all_address_required - :param bool exclude_local_address_required: The exclude_local_address_required - :param bool exclude_foreign_address_required: The exclude_foreign_address_required - :param bool beta: The beta - :param unicode near_number: The near_number - :param unicode near_lat_long: The near_lat_long - :param unicode distance: The distance - :param unicode in_postal_code: The in_postal_code - :param unicode in_region: The in_region - :param unicode in_rate_center: The in_rate_center - :param unicode in_lata: The in_lata - :param unicode in_locality: The in_locality - :param bool fax_enabled: The fax_enabled - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.available_phone_number.shared_cost.SharedCostInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - area_code=area_code, - contains=contains, - sms_enabled=sms_enabled, - mms_enabled=mms_enabled, - voice_enabled=voice_enabled, - exclude_all_address_required=exclude_all_address_required, - exclude_local_address_required=exclude_local_address_required, - exclude_foreign_address_required=exclude_foreign_address_required, - beta=beta, - near_number=near_number, - near_lat_long=near_lat_long, - distance=distance, - in_postal_code=in_postal_code, - in_region=in_region, - in_rate_center=in_rate_center, - in_lata=in_lata, - in_locality=in_locality, - fax_enabled=fax_enabled, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, area_code=values.unset, contains=values.unset, - sms_enabled=values.unset, mms_enabled=values.unset, - voice_enabled=values.unset, exclude_all_address_required=values.unset, - exclude_local_address_required=values.unset, - exclude_foreign_address_required=values.unset, beta=values.unset, - near_number=values.unset, near_lat_long=values.unset, - distance=values.unset, in_postal_code=values.unset, - in_region=values.unset, in_rate_center=values.unset, - in_lata=values.unset, in_locality=values.unset, - fax_enabled=values.unset, limit=None, page_size=None): - """ - Lists SharedCostInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode area_code: The area_code - :param unicode contains: The contains - :param bool sms_enabled: The sms_enabled - :param bool mms_enabled: The mms_enabled - :param bool voice_enabled: The voice_enabled - :param bool exclude_all_address_required: The exclude_all_address_required - :param bool exclude_local_address_required: The exclude_local_address_required - :param bool exclude_foreign_address_required: The exclude_foreign_address_required - :param bool beta: The beta - :param unicode near_number: The near_number - :param unicode near_lat_long: The near_lat_long - :param unicode distance: The distance - :param unicode in_postal_code: The in_postal_code - :param unicode in_region: The in_region - :param unicode in_rate_center: The in_rate_center - :param unicode in_lata: The in_lata - :param unicode in_locality: The in_locality - :param bool fax_enabled: The fax_enabled - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.available_phone_number.shared_cost.SharedCostInstance] - """ - return list(self.stream( - area_code=area_code, - contains=contains, - sms_enabled=sms_enabled, - mms_enabled=mms_enabled, - voice_enabled=voice_enabled, - exclude_all_address_required=exclude_all_address_required, - exclude_local_address_required=exclude_local_address_required, - exclude_foreign_address_required=exclude_foreign_address_required, - beta=beta, - near_number=near_number, - near_lat_long=near_lat_long, - distance=distance, - in_postal_code=in_postal_code, - in_region=in_region, - in_rate_center=in_rate_center, - in_lata=in_lata, - in_locality=in_locality, - fax_enabled=fax_enabled, - limit=limit, - page_size=page_size, - )) - - def page(self, area_code=values.unset, contains=values.unset, - sms_enabled=values.unset, mms_enabled=values.unset, - voice_enabled=values.unset, exclude_all_address_required=values.unset, - exclude_local_address_required=values.unset, - exclude_foreign_address_required=values.unset, beta=values.unset, - near_number=values.unset, near_lat_long=values.unset, - distance=values.unset, in_postal_code=values.unset, - in_region=values.unset, in_rate_center=values.unset, - in_lata=values.unset, in_locality=values.unset, - fax_enabled=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of SharedCostInstance records from the API. - Request is executed immediately - - :param unicode area_code: The area_code - :param unicode contains: The contains - :param bool sms_enabled: The sms_enabled - :param bool mms_enabled: The mms_enabled - :param bool voice_enabled: The voice_enabled - :param bool exclude_all_address_required: The exclude_all_address_required - :param bool exclude_local_address_required: The exclude_local_address_required - :param bool exclude_foreign_address_required: The exclude_foreign_address_required - :param bool beta: The beta - :param unicode near_number: The near_number - :param unicode near_lat_long: The near_lat_long - :param unicode distance: The distance - :param unicode in_postal_code: The in_postal_code - :param unicode in_region: The in_region - :param unicode in_rate_center: The in_rate_center - :param unicode in_lata: The in_lata - :param unicode in_locality: The in_locality - :param bool fax_enabled: The fax_enabled - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of SharedCostInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.shared_cost.SharedCostPage - """ - params = values.of({ - 'AreaCode': area_code, - 'Contains': contains, - 'SmsEnabled': sms_enabled, - 'MmsEnabled': mms_enabled, - 'VoiceEnabled': voice_enabled, - 'ExcludeAllAddressRequired': exclude_all_address_required, - 'ExcludeLocalAddressRequired': exclude_local_address_required, - 'ExcludeForeignAddressRequired': exclude_foreign_address_required, - 'Beta': beta, - 'NearNumber': near_number, - 'NearLatLong': near_lat_long, - 'Distance': distance, - 'InPostalCode': in_postal_code, - 'InRegion': in_region, - 'InRateCenter': in_rate_center, - 'InLata': in_lata, - 'InLocality': in_locality, - 'FaxEnabled': fax_enabled, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return SharedCostPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of SharedCostInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of SharedCostInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.shared_cost.SharedCostPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return SharedCostPage(self._version, response, self._solution) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.SharedCostList>' - - -class SharedCostPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the SharedCostPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The 34 character string that uniquely identifies your account. - :param country_code: The ISO Country code to lookup phone numbers for. - - :returns: twilio.rest.api.v2010.account.available_phone_number.shared_cost.SharedCostPage - :rtype: twilio.rest.api.v2010.account.available_phone_number.shared_cost.SharedCostPage - """ - super(SharedCostPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of SharedCostInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.available_phone_number.shared_cost.SharedCostInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.shared_cost.SharedCostInstance - """ - return SharedCostInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - country_code=self._solution['country_code'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.SharedCostPage>' - - -class SharedCostInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid, country_code): - """ - Initialize the SharedCostInstance - - :returns: twilio.rest.api.v2010.account.available_phone_number.shared_cost.SharedCostInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.shared_cost.SharedCostInstance - """ - super(SharedCostInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'friendly_name': payload['friendly_name'], - 'phone_number': payload['phone_number'], - 'lata': payload['lata'], - 'locality': payload['locality'], - 'rate_center': payload['rate_center'], - 'latitude': deserialize.decimal(payload['latitude']), - 'longitude': deserialize.decimal(payload['longitude']), - 'region': payload['region'], - 'postal_code': payload['postal_code'], - 'iso_country': payload['iso_country'], - 'address_requirements': payload['address_requirements'], - 'beta': payload['beta'], - 'capabilities': payload['capabilities'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'country_code': country_code, } - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def phone_number(self): - """ - :returns: The phone_number - :rtype: unicode - """ - return self._properties['phone_number'] - - @property - def lata(self): - """ - :returns: The lata - :rtype: unicode - """ - return self._properties['lata'] - - @property - def locality(self): - """ - :returns: The locality - :rtype: unicode - """ - return self._properties['locality'] - - @property - def rate_center(self): - """ - :returns: The rate_center - :rtype: unicode - """ - return self._properties['rate_center'] - - @property - def latitude(self): - """ - :returns: The latitude - :rtype: unicode - """ - return self._properties['latitude'] - - @property - def longitude(self): - """ - :returns: The longitude - :rtype: unicode - """ - return self._properties['longitude'] - - @property - def region(self): - """ - :returns: The region - :rtype: unicode - """ - return self._properties['region'] - - @property - def postal_code(self): - """ - :returns: The postal_code - :rtype: unicode - """ - return self._properties['postal_code'] - - @property - def iso_country(self): - """ - :returns: The iso_country - :rtype: unicode - """ - return self._properties['iso_country'] - - @property - def address_requirements(self): - """ - :returns: The address_requirements - :rtype: unicode - """ - return self._properties['address_requirements'] - - @property - def beta(self): - """ - :returns: The beta - :rtype: bool - """ - return self._properties['beta'] - - @property - def capabilities(self): - """ - :returns: The capabilities - :rtype: unicode - """ - return self._properties['capabilities'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.SharedCostInstance>' diff --git a/twilio/rest/api/v2010/account/available_phone_number/toll_free.py b/twilio/rest/api/v2010/account/available_phone_number/toll_free.py deleted file mode 100644 index 68f3516..0000000 --- a/twilio/rest/api/v2010/account/available_phone_number/toll_free.py +++ /dev/null @@ -1,462 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class TollFreeList(ListResource): - """ """ - - def __init__(self, version, account_sid, country_code): - """ - Initialize the TollFreeList - - :param Version version: Version that contains the resource - :param account_sid: The 34 character string that uniquely identifies your account. - :param country_code: The ISO Country code to lookup phone numbers for. - - :returns: twilio.rest.api.v2010.account.available_phone_number.toll_free.TollFreeList - :rtype: twilio.rest.api.v2010.account.available_phone_number.toll_free.TollFreeList - """ - super(TollFreeList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'country_code': country_code, } - self._uri = '/Accounts/{account_sid}/AvailablePhoneNumbers/{country_code}/TollFree.json'.format(**self._solution) - - def stream(self, area_code=values.unset, contains=values.unset, - sms_enabled=values.unset, mms_enabled=values.unset, - voice_enabled=values.unset, - exclude_all_address_required=values.unset, - exclude_local_address_required=values.unset, - exclude_foreign_address_required=values.unset, beta=values.unset, - near_number=values.unset, near_lat_long=values.unset, - distance=values.unset, in_postal_code=values.unset, - in_region=values.unset, in_rate_center=values.unset, - in_lata=values.unset, in_locality=values.unset, - fax_enabled=values.unset, limit=None, page_size=None): - """ - Streams TollFreeInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode area_code: The area_code - :param unicode contains: The contains - :param bool sms_enabled: The sms_enabled - :param bool mms_enabled: The mms_enabled - :param bool voice_enabled: The voice_enabled - :param bool exclude_all_address_required: The exclude_all_address_required - :param bool exclude_local_address_required: The exclude_local_address_required - :param bool exclude_foreign_address_required: The exclude_foreign_address_required - :param bool beta: The beta - :param unicode near_number: The near_number - :param unicode near_lat_long: The near_lat_long - :param unicode distance: The distance - :param unicode in_postal_code: The in_postal_code - :param unicode in_region: The in_region - :param unicode in_rate_center: The in_rate_center - :param unicode in_lata: The in_lata - :param unicode in_locality: The in_locality - :param bool fax_enabled: The fax_enabled - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.available_phone_number.toll_free.TollFreeInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - area_code=area_code, - contains=contains, - sms_enabled=sms_enabled, - mms_enabled=mms_enabled, - voice_enabled=voice_enabled, - exclude_all_address_required=exclude_all_address_required, - exclude_local_address_required=exclude_local_address_required, - exclude_foreign_address_required=exclude_foreign_address_required, - beta=beta, - near_number=near_number, - near_lat_long=near_lat_long, - distance=distance, - in_postal_code=in_postal_code, - in_region=in_region, - in_rate_center=in_rate_center, - in_lata=in_lata, - in_locality=in_locality, - fax_enabled=fax_enabled, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, area_code=values.unset, contains=values.unset, - sms_enabled=values.unset, mms_enabled=values.unset, - voice_enabled=values.unset, exclude_all_address_required=values.unset, - exclude_local_address_required=values.unset, - exclude_foreign_address_required=values.unset, beta=values.unset, - near_number=values.unset, near_lat_long=values.unset, - distance=values.unset, in_postal_code=values.unset, - in_region=values.unset, in_rate_center=values.unset, - in_lata=values.unset, in_locality=values.unset, - fax_enabled=values.unset, limit=None, page_size=None): - """ - Lists TollFreeInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode area_code: The area_code - :param unicode contains: The contains - :param bool sms_enabled: The sms_enabled - :param bool mms_enabled: The mms_enabled - :param bool voice_enabled: The voice_enabled - :param bool exclude_all_address_required: The exclude_all_address_required - :param bool exclude_local_address_required: The exclude_local_address_required - :param bool exclude_foreign_address_required: The exclude_foreign_address_required - :param bool beta: The beta - :param unicode near_number: The near_number - :param unicode near_lat_long: The near_lat_long - :param unicode distance: The distance - :param unicode in_postal_code: The in_postal_code - :param unicode in_region: The in_region - :param unicode in_rate_center: The in_rate_center - :param unicode in_lata: The in_lata - :param unicode in_locality: The in_locality - :param bool fax_enabled: The fax_enabled - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.available_phone_number.toll_free.TollFreeInstance] - """ - return list(self.stream( - area_code=area_code, - contains=contains, - sms_enabled=sms_enabled, - mms_enabled=mms_enabled, - voice_enabled=voice_enabled, - exclude_all_address_required=exclude_all_address_required, - exclude_local_address_required=exclude_local_address_required, - exclude_foreign_address_required=exclude_foreign_address_required, - beta=beta, - near_number=near_number, - near_lat_long=near_lat_long, - distance=distance, - in_postal_code=in_postal_code, - in_region=in_region, - in_rate_center=in_rate_center, - in_lata=in_lata, - in_locality=in_locality, - fax_enabled=fax_enabled, - limit=limit, - page_size=page_size, - )) - - def page(self, area_code=values.unset, contains=values.unset, - sms_enabled=values.unset, mms_enabled=values.unset, - voice_enabled=values.unset, exclude_all_address_required=values.unset, - exclude_local_address_required=values.unset, - exclude_foreign_address_required=values.unset, beta=values.unset, - near_number=values.unset, near_lat_long=values.unset, - distance=values.unset, in_postal_code=values.unset, - in_region=values.unset, in_rate_center=values.unset, - in_lata=values.unset, in_locality=values.unset, - fax_enabled=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of TollFreeInstance records from the API. - Request is executed immediately - - :param unicode area_code: The area_code - :param unicode contains: The contains - :param bool sms_enabled: The sms_enabled - :param bool mms_enabled: The mms_enabled - :param bool voice_enabled: The voice_enabled - :param bool exclude_all_address_required: The exclude_all_address_required - :param bool exclude_local_address_required: The exclude_local_address_required - :param bool exclude_foreign_address_required: The exclude_foreign_address_required - :param bool beta: The beta - :param unicode near_number: The near_number - :param unicode near_lat_long: The near_lat_long - :param unicode distance: The distance - :param unicode in_postal_code: The in_postal_code - :param unicode in_region: The in_region - :param unicode in_rate_center: The in_rate_center - :param unicode in_lata: The in_lata - :param unicode in_locality: The in_locality - :param bool fax_enabled: The fax_enabled - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of TollFreeInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.toll_free.TollFreePage - """ - params = values.of({ - 'AreaCode': area_code, - 'Contains': contains, - 'SmsEnabled': sms_enabled, - 'MmsEnabled': mms_enabled, - 'VoiceEnabled': voice_enabled, - 'ExcludeAllAddressRequired': exclude_all_address_required, - 'ExcludeLocalAddressRequired': exclude_local_address_required, - 'ExcludeForeignAddressRequired': exclude_foreign_address_required, - 'Beta': beta, - 'NearNumber': near_number, - 'NearLatLong': near_lat_long, - 'Distance': distance, - 'InPostalCode': in_postal_code, - 'InRegion': in_region, - 'InRateCenter': in_rate_center, - 'InLata': in_lata, - 'InLocality': in_locality, - 'FaxEnabled': fax_enabled, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return TollFreePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of TollFreeInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of TollFreeInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.toll_free.TollFreePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return TollFreePage(self._version, response, self._solution) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.TollFreeList>' - - -class TollFreePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the TollFreePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The 34 character string that uniquely identifies your account. - :param country_code: The ISO Country code to lookup phone numbers for. - - :returns: twilio.rest.api.v2010.account.available_phone_number.toll_free.TollFreePage - :rtype: twilio.rest.api.v2010.account.available_phone_number.toll_free.TollFreePage - """ - super(TollFreePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of TollFreeInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.available_phone_number.toll_free.TollFreeInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.toll_free.TollFreeInstance - """ - return TollFreeInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - country_code=self._solution['country_code'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.TollFreePage>' - - -class TollFreeInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid, country_code): - """ - Initialize the TollFreeInstance - - :returns: twilio.rest.api.v2010.account.available_phone_number.toll_free.TollFreeInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.toll_free.TollFreeInstance - """ - super(TollFreeInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'friendly_name': payload['friendly_name'], - 'phone_number': payload['phone_number'], - 'lata': payload['lata'], - 'locality': payload['locality'], - 'rate_center': payload['rate_center'], - 'latitude': deserialize.decimal(payload['latitude']), - 'longitude': deserialize.decimal(payload['longitude']), - 'region': payload['region'], - 'postal_code': payload['postal_code'], - 'iso_country': payload['iso_country'], - 'address_requirements': payload['address_requirements'], - 'beta': payload['beta'], - 'capabilities': payload['capabilities'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'country_code': country_code, } - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def phone_number(self): - """ - :returns: The phone_number - :rtype: unicode - """ - return self._properties['phone_number'] - - @property - def lata(self): - """ - :returns: The lata - :rtype: unicode - """ - return self._properties['lata'] - - @property - def locality(self): - """ - :returns: The locality - :rtype: unicode - """ - return self._properties['locality'] - - @property - def rate_center(self): - """ - :returns: The rate_center - :rtype: unicode - """ - return self._properties['rate_center'] - - @property - def latitude(self): - """ - :returns: The latitude - :rtype: unicode - """ - return self._properties['latitude'] - - @property - def longitude(self): - """ - :returns: The longitude - :rtype: unicode - """ - return self._properties['longitude'] - - @property - def region(self): - """ - :returns: The region - :rtype: unicode - """ - return self._properties['region'] - - @property - def postal_code(self): - """ - :returns: The postal_code - :rtype: unicode - """ - return self._properties['postal_code'] - - @property - def iso_country(self): - """ - :returns: The iso_country - :rtype: unicode - """ - return self._properties['iso_country'] - - @property - def address_requirements(self): - """ - :returns: The address_requirements - :rtype: unicode - """ - return self._properties['address_requirements'] - - @property - def beta(self): - """ - :returns: The beta - :rtype: bool - """ - return self._properties['beta'] - - @property - def capabilities(self): - """ - :returns: The capabilities - :rtype: unicode - """ - return self._properties['capabilities'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.TollFreeInstance>' diff --git a/twilio/rest/api/v2010/account/available_phone_number/voip.py b/twilio/rest/api/v2010/account/available_phone_number/voip.py deleted file mode 100644 index 9521f6e..0000000 --- a/twilio/rest/api/v2010/account/available_phone_number/voip.py +++ /dev/null @@ -1,462 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class VoipList(ListResource): - """ """ - - def __init__(self, version, account_sid, country_code): - """ - Initialize the VoipList - - :param Version version: Version that contains the resource - :param account_sid: The 34 character string that uniquely identifies your account. - :param country_code: The ISO Country code to lookup phone numbers for. - - :returns: twilio.rest.api.v2010.account.available_phone_number.voip.VoipList - :rtype: twilio.rest.api.v2010.account.available_phone_number.voip.VoipList - """ - super(VoipList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'country_code': country_code, } - self._uri = '/Accounts/{account_sid}/AvailablePhoneNumbers/{country_code}/Voip.json'.format(**self._solution) - - def stream(self, area_code=values.unset, contains=values.unset, - sms_enabled=values.unset, mms_enabled=values.unset, - voice_enabled=values.unset, - exclude_all_address_required=values.unset, - exclude_local_address_required=values.unset, - exclude_foreign_address_required=values.unset, beta=values.unset, - near_number=values.unset, near_lat_long=values.unset, - distance=values.unset, in_postal_code=values.unset, - in_region=values.unset, in_rate_center=values.unset, - in_lata=values.unset, in_locality=values.unset, - fax_enabled=values.unset, limit=None, page_size=None): - """ - Streams VoipInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode area_code: The area_code - :param unicode contains: The contains - :param bool sms_enabled: The sms_enabled - :param bool mms_enabled: The mms_enabled - :param bool voice_enabled: The voice_enabled - :param bool exclude_all_address_required: The exclude_all_address_required - :param bool exclude_local_address_required: The exclude_local_address_required - :param bool exclude_foreign_address_required: The exclude_foreign_address_required - :param bool beta: The beta - :param unicode near_number: The near_number - :param unicode near_lat_long: The near_lat_long - :param unicode distance: The distance - :param unicode in_postal_code: The in_postal_code - :param unicode in_region: The in_region - :param unicode in_rate_center: The in_rate_center - :param unicode in_lata: The in_lata - :param unicode in_locality: The in_locality - :param bool fax_enabled: The fax_enabled - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.available_phone_number.voip.VoipInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - area_code=area_code, - contains=contains, - sms_enabled=sms_enabled, - mms_enabled=mms_enabled, - voice_enabled=voice_enabled, - exclude_all_address_required=exclude_all_address_required, - exclude_local_address_required=exclude_local_address_required, - exclude_foreign_address_required=exclude_foreign_address_required, - beta=beta, - near_number=near_number, - near_lat_long=near_lat_long, - distance=distance, - in_postal_code=in_postal_code, - in_region=in_region, - in_rate_center=in_rate_center, - in_lata=in_lata, - in_locality=in_locality, - fax_enabled=fax_enabled, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, area_code=values.unset, contains=values.unset, - sms_enabled=values.unset, mms_enabled=values.unset, - voice_enabled=values.unset, exclude_all_address_required=values.unset, - exclude_local_address_required=values.unset, - exclude_foreign_address_required=values.unset, beta=values.unset, - near_number=values.unset, near_lat_long=values.unset, - distance=values.unset, in_postal_code=values.unset, - in_region=values.unset, in_rate_center=values.unset, - in_lata=values.unset, in_locality=values.unset, - fax_enabled=values.unset, limit=None, page_size=None): - """ - Lists VoipInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode area_code: The area_code - :param unicode contains: The contains - :param bool sms_enabled: The sms_enabled - :param bool mms_enabled: The mms_enabled - :param bool voice_enabled: The voice_enabled - :param bool exclude_all_address_required: The exclude_all_address_required - :param bool exclude_local_address_required: The exclude_local_address_required - :param bool exclude_foreign_address_required: The exclude_foreign_address_required - :param bool beta: The beta - :param unicode near_number: The near_number - :param unicode near_lat_long: The near_lat_long - :param unicode distance: The distance - :param unicode in_postal_code: The in_postal_code - :param unicode in_region: The in_region - :param unicode in_rate_center: The in_rate_center - :param unicode in_lata: The in_lata - :param unicode in_locality: The in_locality - :param bool fax_enabled: The fax_enabled - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.available_phone_number.voip.VoipInstance] - """ - return list(self.stream( - area_code=area_code, - contains=contains, - sms_enabled=sms_enabled, - mms_enabled=mms_enabled, - voice_enabled=voice_enabled, - exclude_all_address_required=exclude_all_address_required, - exclude_local_address_required=exclude_local_address_required, - exclude_foreign_address_required=exclude_foreign_address_required, - beta=beta, - near_number=near_number, - near_lat_long=near_lat_long, - distance=distance, - in_postal_code=in_postal_code, - in_region=in_region, - in_rate_center=in_rate_center, - in_lata=in_lata, - in_locality=in_locality, - fax_enabled=fax_enabled, - limit=limit, - page_size=page_size, - )) - - def page(self, area_code=values.unset, contains=values.unset, - sms_enabled=values.unset, mms_enabled=values.unset, - voice_enabled=values.unset, exclude_all_address_required=values.unset, - exclude_local_address_required=values.unset, - exclude_foreign_address_required=values.unset, beta=values.unset, - near_number=values.unset, near_lat_long=values.unset, - distance=values.unset, in_postal_code=values.unset, - in_region=values.unset, in_rate_center=values.unset, - in_lata=values.unset, in_locality=values.unset, - fax_enabled=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of VoipInstance records from the API. - Request is executed immediately - - :param unicode area_code: The area_code - :param unicode contains: The contains - :param bool sms_enabled: The sms_enabled - :param bool mms_enabled: The mms_enabled - :param bool voice_enabled: The voice_enabled - :param bool exclude_all_address_required: The exclude_all_address_required - :param bool exclude_local_address_required: The exclude_local_address_required - :param bool exclude_foreign_address_required: The exclude_foreign_address_required - :param bool beta: The beta - :param unicode near_number: The near_number - :param unicode near_lat_long: The near_lat_long - :param unicode distance: The distance - :param unicode in_postal_code: The in_postal_code - :param unicode in_region: The in_region - :param unicode in_rate_center: The in_rate_center - :param unicode in_lata: The in_lata - :param unicode in_locality: The in_locality - :param bool fax_enabled: The fax_enabled - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of VoipInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.voip.VoipPage - """ - params = values.of({ - 'AreaCode': area_code, - 'Contains': contains, - 'SmsEnabled': sms_enabled, - 'MmsEnabled': mms_enabled, - 'VoiceEnabled': voice_enabled, - 'ExcludeAllAddressRequired': exclude_all_address_required, - 'ExcludeLocalAddressRequired': exclude_local_address_required, - 'ExcludeForeignAddressRequired': exclude_foreign_address_required, - 'Beta': beta, - 'NearNumber': near_number, - 'NearLatLong': near_lat_long, - 'Distance': distance, - 'InPostalCode': in_postal_code, - 'InRegion': in_region, - 'InRateCenter': in_rate_center, - 'InLata': in_lata, - 'InLocality': in_locality, - 'FaxEnabled': fax_enabled, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return VoipPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of VoipInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of VoipInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.voip.VoipPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return VoipPage(self._version, response, self._solution) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.VoipList>' - - -class VoipPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the VoipPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The 34 character string that uniquely identifies your account. - :param country_code: The ISO Country code to lookup phone numbers for. - - :returns: twilio.rest.api.v2010.account.available_phone_number.voip.VoipPage - :rtype: twilio.rest.api.v2010.account.available_phone_number.voip.VoipPage - """ - super(VoipPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of VoipInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.available_phone_number.voip.VoipInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.voip.VoipInstance - """ - return VoipInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - country_code=self._solution['country_code'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.VoipPage>' - - -class VoipInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid, country_code): - """ - Initialize the VoipInstance - - :returns: twilio.rest.api.v2010.account.available_phone_number.voip.VoipInstance - :rtype: twilio.rest.api.v2010.account.available_phone_number.voip.VoipInstance - """ - super(VoipInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'friendly_name': payload['friendly_name'], - 'phone_number': payload['phone_number'], - 'lata': payload['lata'], - 'locality': payload['locality'], - 'rate_center': payload['rate_center'], - 'latitude': deserialize.decimal(payload['latitude']), - 'longitude': deserialize.decimal(payload['longitude']), - 'region': payload['region'], - 'postal_code': payload['postal_code'], - 'iso_country': payload['iso_country'], - 'address_requirements': payload['address_requirements'], - 'beta': payload['beta'], - 'capabilities': payload['capabilities'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'country_code': country_code, } - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def phone_number(self): - """ - :returns: The phone_number - :rtype: unicode - """ - return self._properties['phone_number'] - - @property - def lata(self): - """ - :returns: The lata - :rtype: unicode - """ - return self._properties['lata'] - - @property - def locality(self): - """ - :returns: The locality - :rtype: unicode - """ - return self._properties['locality'] - - @property - def rate_center(self): - """ - :returns: The rate_center - :rtype: unicode - """ - return self._properties['rate_center'] - - @property - def latitude(self): - """ - :returns: The latitude - :rtype: unicode - """ - return self._properties['latitude'] - - @property - def longitude(self): - """ - :returns: The longitude - :rtype: unicode - """ - return self._properties['longitude'] - - @property - def region(self): - """ - :returns: The region - :rtype: unicode - """ - return self._properties['region'] - - @property - def postal_code(self): - """ - :returns: The postal_code - :rtype: unicode - """ - return self._properties['postal_code'] - - @property - def iso_country(self): - """ - :returns: The iso_country - :rtype: unicode - """ - return self._properties['iso_country'] - - @property - def address_requirements(self): - """ - :returns: The address_requirements - :rtype: unicode - """ - return self._properties['address_requirements'] - - @property - def beta(self): - """ - :returns: The beta - :rtype: bool - """ - return self._properties['beta'] - - @property - def capabilities(self): - """ - :returns: The capabilities - :rtype: unicode - """ - return self._properties['capabilities'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.VoipInstance>' diff --git a/twilio/rest/api/v2010/account/call/__init__.py b/twilio/rest/api/v2010/account/call/__init__.py deleted file mode 100644 index 23b26dc..0000000 --- a/twilio/rest/api/v2010/account/call/__init__.py +++ /dev/null @@ -1,891 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.api.v2010.account.call.feedback import FeedbackList -from twilio.rest.api.v2010.account.call.feedback_summary import FeedbackSummaryList -from twilio.rest.api.v2010.account.call.notification import NotificationList -from twilio.rest.api.v2010.account.call.recording import RecordingList - - -class CallList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the CallList - - :param Version version: Version that contains the resource - :param account_sid: The unique id of the Account responsible for creating this Call - - :returns: twilio.rest.api.v2010.account.call.CallList - :rtype: twilio.rest.api.v2010.account.call.CallList - """ - super(CallList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/Calls.json'.format(**self._solution) - - # Components - self._feedback_summaries = None - - def create(self, to, from_, method=values.unset, fallback_url=values.unset, - fallback_method=values.unset, status_callback=values.unset, - status_callback_event=values.unset, - status_callback_method=values.unset, send_digits=values.unset, - if_machine=values.unset, timeout=values.unset, record=values.unset, - recording_channels=values.unset, - recording_status_callback=values.unset, - recording_status_callback_method=values.unset, - sip_auth_username=values.unset, sip_auth_password=values.unset, - machine_detection=values.unset, - machine_detection_timeout=values.unset, - recording_status_callback_event=values.unset, url=values.unset, - application_sid=values.unset): - """ - Create a new CallInstance - - :param unicode to: Phone number, SIP address or client identifier to call - :param unicode from_: Twilio number from which to originate the call - :param unicode method: HTTP method to use to fetch TwiML - :param unicode fallback_url: Fallback URL in case of error - :param unicode fallback_method: HTTP Method to use with FallbackUrl - :param unicode status_callback: Status Callback URL - :param unicode status_callback_event: The status_callback_event - :param unicode status_callback_method: HTTP Method to use with StatusCallback - :param unicode send_digits: Digits to send - :param unicode if_machine: Action to take if a machine has answered the call - :param unicode timeout: Number of seconds to wait for an answer - :param bool record: Whether or not to record the Call - :param unicode recording_channels: The recording_channels - :param unicode recording_status_callback: The recording_status_callback - :param unicode recording_status_callback_method: The recording_status_callback_method - :param unicode sip_auth_username: The sip_auth_username - :param unicode sip_auth_password: The sip_auth_password - :param unicode machine_detection: Enable machine detection or end of greeting detection - :param unicode machine_detection_timeout: Number of miliseconds to wait for machine detection - :param unicode recording_status_callback_event: The recording_status_callback_event - :param unicode url: Url from which to fetch TwiML - :param unicode application_sid: ApplicationSid that configures from where to fetch TwiML - - :returns: Newly created CallInstance - :rtype: twilio.rest.api.v2010.account.call.CallInstance - """ - data = values.of({ - 'To': to, - 'From': from_, - 'Url': url, - 'ApplicationSid': application_sid, - 'Method': method, - 'FallbackUrl': fallback_url, - 'FallbackMethod': fallback_method, - 'StatusCallback': status_callback, - 'StatusCallbackEvent': serialize.map(status_callback_event, lambda e: e), - 'StatusCallbackMethod': status_callback_method, - 'SendDigits': send_digits, - 'IfMachine': if_machine, - 'Timeout': timeout, - 'Record': record, - 'RecordingChannels': recording_channels, - 'RecordingStatusCallback': recording_status_callback, - 'RecordingStatusCallbackMethod': recording_status_callback_method, - 'SipAuthUsername': sip_auth_username, - 'SipAuthPassword': sip_auth_password, - 'MachineDetection': machine_detection, - 'MachineDetectionTimeout': machine_detection_timeout, - 'RecordingStatusCallbackEvent': serialize.map(recording_status_callback_event, lambda e: e), - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return CallInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def stream(self, to=values.unset, from_=values.unset, - parent_call_sid=values.unset, status=values.unset, - start_time_before=values.unset, start_time=values.unset, - start_time_after=values.unset, end_time_before=values.unset, - end_time=values.unset, end_time_after=values.unset, limit=None, - page_size=None): - """ - Streams CallInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode to: Phone number or Client identifier to filter `to` on - :param unicode from_: Phone number or Client identifier to filter `from` on - :param unicode parent_call_sid: Parent Call Sid to filter on - :param CallInstance.Status status: Status to filter on - :param datetime start_time_before: StartTime to filter on - :param datetime start_time: StartTime to filter on - :param datetime start_time_after: StartTime to filter on - :param datetime end_time_before: EndTime to filter on - :param datetime end_time: EndTime to filter on - :param datetime end_time_after: EndTime to filter on - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.call.CallInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - to=to, - from_=from_, - parent_call_sid=parent_call_sid, - status=status, - start_time_before=start_time_before, - start_time=start_time, - start_time_after=start_time_after, - end_time_before=end_time_before, - end_time=end_time, - end_time_after=end_time_after, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, to=values.unset, from_=values.unset, - parent_call_sid=values.unset, status=values.unset, - start_time_before=values.unset, start_time=values.unset, - start_time_after=values.unset, end_time_before=values.unset, - end_time=values.unset, end_time_after=values.unset, limit=None, - page_size=None): - """ - Lists CallInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode to: Phone number or Client identifier to filter `to` on - :param unicode from_: Phone number or Client identifier to filter `from` on - :param unicode parent_call_sid: Parent Call Sid to filter on - :param CallInstance.Status status: Status to filter on - :param datetime start_time_before: StartTime to filter on - :param datetime start_time: StartTime to filter on - :param datetime start_time_after: StartTime to filter on - :param datetime end_time_before: EndTime to filter on - :param datetime end_time: EndTime to filter on - :param datetime end_time_after: EndTime to filter on - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.call.CallInstance] - """ - return list(self.stream( - to=to, - from_=from_, - parent_call_sid=parent_call_sid, - status=status, - start_time_before=start_time_before, - start_time=start_time, - start_time_after=start_time_after, - end_time_before=end_time_before, - end_time=end_time, - end_time_after=end_time_after, - limit=limit, - page_size=page_size, - )) - - def page(self, to=values.unset, from_=values.unset, - parent_call_sid=values.unset, status=values.unset, - start_time_before=values.unset, start_time=values.unset, - start_time_after=values.unset, end_time_before=values.unset, - end_time=values.unset, end_time_after=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of CallInstance records from the API. - Request is executed immediately - - :param unicode to: Phone number or Client identifier to filter `to` on - :param unicode from_: Phone number or Client identifier to filter `from` on - :param unicode parent_call_sid: Parent Call Sid to filter on - :param CallInstance.Status status: Status to filter on - :param datetime start_time_before: StartTime to filter on - :param datetime start_time: StartTime to filter on - :param datetime start_time_after: StartTime to filter on - :param datetime end_time_before: EndTime to filter on - :param datetime end_time: EndTime to filter on - :param datetime end_time_after: EndTime to filter on - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of CallInstance - :rtype: twilio.rest.api.v2010.account.call.CallPage - """ - params = values.of({ - 'To': to, - 'From': from_, - 'ParentCallSid': parent_call_sid, - 'Status': status, - 'StartTime<': serialize.iso8601_datetime(start_time_before), - 'StartTime': serialize.iso8601_datetime(start_time), - 'StartTime>': serialize.iso8601_datetime(start_time_after), - 'EndTime<': serialize.iso8601_datetime(end_time_before), - 'EndTime': serialize.iso8601_datetime(end_time), - 'EndTime>': serialize.iso8601_datetime(end_time_after), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return CallPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of CallInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of CallInstance - :rtype: twilio.rest.api.v2010.account.call.CallPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return CallPage(self._version, response, self._solution) - - @property - def feedback_summaries(self): - """ - Access the feedback_summaries - - :returns: twilio.rest.api.v2010.account.call.feedback_summary.FeedbackSummaryList - :rtype: twilio.rest.api.v2010.account.call.feedback_summary.FeedbackSummaryList - """ - if self._feedback_summaries is None: - self._feedback_summaries = FeedbackSummaryList( - self._version, - account_sid=self._solution['account_sid'], - ) - return self._feedback_summaries - - def get(self, sid): - """ - Constructs a CallContext - - :param sid: Call Sid that uniquely identifies the Call to fetch - - :returns: twilio.rest.api.v2010.account.call.CallContext - :rtype: twilio.rest.api.v2010.account.call.CallContext - """ - return CallContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a CallContext - - :param sid: Call Sid that uniquely identifies the Call to fetch - - :returns: twilio.rest.api.v2010.account.call.CallContext - :rtype: twilio.rest.api.v2010.account.call.CallContext - """ - return CallContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.CallList>' - - -class CallPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the CallPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The unique id of the Account responsible for creating this Call - - :returns: twilio.rest.api.v2010.account.call.CallPage - :rtype: twilio.rest.api.v2010.account.call.CallPage - """ - super(CallPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of CallInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.call.CallInstance - :rtype: twilio.rest.api.v2010.account.call.CallInstance - """ - return CallInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.CallPage>' - - -class CallContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, sid): - """ - Initialize the CallContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param sid: Call Sid that uniquely identifies the Call to fetch - - :returns: twilio.rest.api.v2010.account.call.CallContext - :rtype: twilio.rest.api.v2010.account.call.CallContext - """ - super(CallContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/Calls/{sid}.json'.format(**self._solution) - - # Dependents - self._recordings = None - self._notifications = None - self._feedback = None - - def delete(self): - """ - Deletes the CallInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def fetch(self): - """ - Fetch a CallInstance - - :returns: Fetched CallInstance - :rtype: twilio.rest.api.v2010.account.call.CallInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return CallInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def update(self, url=values.unset, method=values.unset, status=values.unset, - fallback_url=values.unset, fallback_method=values.unset, - status_callback=values.unset, status_callback_method=values.unset): - """ - Update the CallInstance - - :param unicode url: URL that returns TwiML - :param unicode method: HTTP method to use to fetch TwiML - :param CallInstance.UpdateStatus status: Status to update the Call with - :param unicode fallback_url: Fallback URL in case of error - :param unicode fallback_method: HTTP Method to use with FallbackUrl - :param unicode status_callback: Status Callback URL - :param unicode status_callback_method: HTTP Method to use with StatusCallback - - :returns: Updated CallInstance - :rtype: twilio.rest.api.v2010.account.call.CallInstance - """ - data = values.of({ - 'Url': url, - 'Method': method, - 'Status': status, - 'FallbackUrl': fallback_url, - 'FallbackMethod': fallback_method, - 'StatusCallback': status_callback, - 'StatusCallbackMethod': status_callback_method, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return CallInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - @property - def recordings(self): - """ - Access the recordings - - :returns: twilio.rest.api.v2010.account.call.recording.RecordingList - :rtype: twilio.rest.api.v2010.account.call.recording.RecordingList - """ - if self._recordings is None: - self._recordings = RecordingList( - self._version, - account_sid=self._solution['account_sid'], - call_sid=self._solution['sid'], - ) - return self._recordings - - @property - def notifications(self): - """ - Access the notifications - - :returns: twilio.rest.api.v2010.account.call.notification.NotificationList - :rtype: twilio.rest.api.v2010.account.call.notification.NotificationList - """ - if self._notifications is None: - self._notifications = NotificationList( - self._version, - account_sid=self._solution['account_sid'], - call_sid=self._solution['sid'], - ) - return self._notifications - - @property - def feedback(self): - """ - Access the feedback - - :returns: twilio.rest.api.v2010.account.call.feedback.FeedbackList - :rtype: twilio.rest.api.v2010.account.call.feedback.FeedbackList - """ - if self._feedback is None: - self._feedback = FeedbackList( - self._version, - account_sid=self._solution['account_sid'], - call_sid=self._solution['sid'], - ) - return self._feedback - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.CallContext {}>'.format(context) - - -class CallInstance(InstanceResource): - """ """ - - class Event(object): - INITIATED = "initiated" - RINGING = "ringing" - ANSWERED = "answered" - COMPLETED = "completed" - - class Status(object): - QUEUED = "queued" - RINGING = "ringing" - IN_PROGRESS = "in-progress" - COMPLETED = "completed" - BUSY = "busy" - FAILED = "failed" - NO_ANSWER = "no-answer" - CANCELED = "canceled" - - class UpdateStatus(object): - CANCELED = "canceled" - COMPLETED = "completed" - - def __init__(self, version, payload, account_sid, sid=None): - """ - Initialize the CallInstance - - :returns: twilio.rest.api.v2010.account.call.CallInstance - :rtype: twilio.rest.api.v2010.account.call.CallInstance - """ - super(CallInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'annotation': payload['annotation'], - 'answered_by': payload['answered_by'], - 'api_version': payload['api_version'], - 'caller_name': payload['caller_name'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'direction': payload['direction'], - 'duration': payload['duration'], - 'end_time': deserialize.rfc2822_datetime(payload['end_time']), - 'forwarded_from': payload['forwarded_from'], - 'from_': payload['from'], - 'from_formatted': payload['from_formatted'], - 'group_sid': payload['group_sid'], - 'parent_call_sid': payload['parent_call_sid'], - 'phone_number_sid': payload['phone_number_sid'], - 'price': deserialize.decimal(payload['price']), - 'price_unit': payload['price_unit'], - 'sid': payload['sid'], - 'start_time': deserialize.rfc2822_datetime(payload['start_time']), - 'status': payload['status'], - 'subresource_uris': payload['subresource_uris'], - 'to': payload['to'], - 'to_formatted': payload['to_formatted'], - 'uri': payload['uri'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: CallContext for this CallInstance - :rtype: twilio.rest.api.v2010.account.call.CallContext - """ - if self._context is None: - self._context = CallContext( - self._version, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The unique id of the Account responsible for creating this Call - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def annotation(self): - """ - :returns: The annotation provided for the Call - :rtype: unicode - """ - return self._properties['annotation'] - - @property - def answered_by(self): - """ - :returns: If this call was initiated with answering machine detection, either `human` or `machine`. Empty otherwise. - :rtype: unicode - """ - return self._properties['answered_by'] - - @property - def api_version(self): - """ - :returns: The API Version the Call was created through - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def caller_name(self): - """ - :returns: If this call was an incoming call to a phone number with Caller ID Lookup enabled, the caller's name. Empty otherwise. - :rtype: unicode - """ - return self._properties['caller_name'] - - @property - def date_created(self): - """ - :returns: The date that this resource was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date that this resource was last updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def direction(self): - """ - :returns: A string describing the direction of the call. `inbound` for inbound calls, `outbound-api` for calls initiated via the REST API or `outbound-dial` for calls initiated by a `Dial` verb. - :rtype: unicode - """ - return self._properties['direction'] - - @property - def duration(self): - """ - :returns: The duration - :rtype: unicode - """ - return self._properties['duration'] - - @property - def end_time(self): - """ - :returns: The end time of the Call. Null if the call did not complete successfully. - :rtype: datetime - """ - return self._properties['end_time'] - - @property - def forwarded_from(self): - """ - :returns: If this Call was an incoming call forwarded from another number, the forwarding phone number (depends on carrier supporting forwarding). Empty otherwise. - :rtype: unicode - """ - return self._properties['forwarded_from'] - - @property - def from_(self): - """ - :returns: The phone number, SIP address or Client identifier that made this Call. Phone numbers are in E.164 format (e.g. +16175551212). SIP addresses are formatted as `name@company.com`. Client identifiers are formatted `client:name`. - :rtype: unicode - """ - return self._properties['from_'] - - @property - def from_formatted(self): - """ - :returns: The phone number, SIP address or Client identifier that made this Call. Formatted for display. - :rtype: unicode - """ - return self._properties['from_formatted'] - - @property - def group_sid(self): - """ - :returns: A 34 character Group Sid associated with this Call. Empty if no Group is associated with the Call. - :rtype: unicode - """ - return self._properties['group_sid'] - - @property - def parent_call_sid(self): - """ - :returns: A 34 character string that uniquely identifies the Call that created this leg. - :rtype: unicode - """ - return self._properties['parent_call_sid'] - - @property - def phone_number_sid(self): - """ - :returns: If the call was inbound, this is the Sid of the IncomingPhoneNumber that received the call. If the call was outbound, it is the Sid of the OutgoingCallerId from which the call was placed. - :rtype: unicode - """ - return self._properties['phone_number_sid'] - - @property - def price(self): - """ - :returns: The charge for this call, in the currency associated with the account. Populated after the call is completed. May not be immediately available. - :rtype: unicode - """ - return self._properties['price'] - - @property - def price_unit(self): - """ - :returns: The currency in which `Price` is measured. - :rtype: unicode - """ - return self._properties['price_unit'] - - @property - def sid(self): - """ - :returns: A 34 character string that uniquely identifies this resource. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def start_time(self): - """ - :returns: The start time of the Call. Null if the call has not yet been dialed. - :rtype: datetime - """ - return self._properties['start_time'] - - @property - def status(self): - """ - :returns: The status - :rtype: CallInstance.Status - """ - return self._properties['status'] - - @property - def subresource_uris(self): - """ - :returns: Call Instance Subresources - :rtype: unicode - """ - return self._properties['subresource_uris'] - - @property - def to(self): - """ - :returns: The phone number, SIP address or Client identifier that received this Call. Phone numbers are in E.164 format (e.g. +16175551212). SIP addresses are formatted as `name@company.com`. Client identifiers are formatted `client:name`. - :rtype: unicode - """ - return self._properties['to'] - - @property - def to_formatted(self): - """ - :returns: The phone number, SIP address or Client identifier that received this Call. Formatted for display. - :rtype: unicode - """ - return self._properties['to_formatted'] - - @property - def uri(self): - """ - :returns: The URI for this resource, relative to `https://api.twilio.com` - :rtype: unicode - """ - return self._properties['uri'] - - def delete(self): - """ - Deletes the CallInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def fetch(self): - """ - Fetch a CallInstance - - :returns: Fetched CallInstance - :rtype: twilio.rest.api.v2010.account.call.CallInstance - """ - return self._proxy.fetch() - - def update(self, url=values.unset, method=values.unset, status=values.unset, - fallback_url=values.unset, fallback_method=values.unset, - status_callback=values.unset, status_callback_method=values.unset): - """ - Update the CallInstance - - :param unicode url: URL that returns TwiML - :param unicode method: HTTP method to use to fetch TwiML - :param CallInstance.UpdateStatus status: Status to update the Call with - :param unicode fallback_url: Fallback URL in case of error - :param unicode fallback_method: HTTP Method to use with FallbackUrl - :param unicode status_callback: Status Callback URL - :param unicode status_callback_method: HTTP Method to use with StatusCallback - - :returns: Updated CallInstance - :rtype: twilio.rest.api.v2010.account.call.CallInstance - """ - return self._proxy.update( - url=url, - method=method, - status=status, - fallback_url=fallback_url, - fallback_method=fallback_method, - status_callback=status_callback, - status_callback_method=status_callback_method, - ) - - @property - def recordings(self): - """ - Access the recordings - - :returns: twilio.rest.api.v2010.account.call.recording.RecordingList - :rtype: twilio.rest.api.v2010.account.call.recording.RecordingList - """ - return self._proxy.recordings - - @property - def notifications(self): - """ - Access the notifications - - :returns: twilio.rest.api.v2010.account.call.notification.NotificationList - :rtype: twilio.rest.api.v2010.account.call.notification.NotificationList - """ - return self._proxy.notifications - - @property - def feedback(self): - """ - Access the feedback - - :returns: twilio.rest.api.v2010.account.call.feedback.FeedbackList - :rtype: twilio.rest.api.v2010.account.call.feedback.FeedbackList - """ - return self._proxy.feedback - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.CallInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/call/__pycache__/__init__.cpython-36.pyc b/twilio/rest/api/v2010/account/call/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 7784db7a250462f2adf5d25af91c590fd9befda7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30912 zcmeHwTZ|mnnO@(fZ_{(*eI&{%$ro`XvPnvoERSVc6iLbSQll}4l<nHFdusaBaEj`i zs=7%{tGPBzCEg$_W3fPjJQztHcQ-Hl80@|*ke2{SkOlIPpq>`lmjp1dL6V2SPx-$8 zR8?1Br%5SxB&dgd`c&09r_TA$e?R{@d}(2!`0xJaUzmUOvqa+W60uJP`PcFF{yh?v zFcT`NQnh3~Wu}tMr;$&aX~}1h&zKp>&(-GYSu-p7Y%N#Mn|aCSYK3~yEJ{9Ko3EG5 zlH?1uh5DkoDEVS-slIG3OMbq#Qa@rIk$kCkw0_JymQ1{rPz!4Dql8+tix1Q0aa=E{ zWn3@YC0w7t^@=)z>mzm+*C%m(R2{?hF*}dzQ|kCuV(moND&E?6JfqrFwsGI`j5~J2 zcCEIpjNOCcwsGF582BKm^n%}_(KF6e*0#?hIaBFvpYIvHGv`s_-o^5T@`WPH8>py1 z=ZpUxKufG8{dr}3w(D3mr)%S~5WmRYvuYjN!|kQ(4X<rAs`iy;qiuiC#;xV>)=k@M zcHAm!mu@&-J9eGfwC>3LH*H((TGjXX9OaIN*IS)>-Et3t+shlxwzKC{t+vx_1oswh z+SR73oW>pAsIu4L=U9;OHj{~joiLL?f|N>{>0c!FfC?)8QQpkhb9b|!=6COy%BZ=I zl4fq!R#jGI_ev_K@~D-6#99SaM6JTCwc_RW7Sy~dp>|QDq&aVwG%`L+nhP2Y%|(rV z=8`(DPJEOwmw%DSB+L~c;YmM##j4c^^=`^As_6jQ{0+a}*KyHKw3EHW!_?hWFZnP@ za_FTT+^M8h>TYH)(M#M-|B}~pDvdO&(r7(nUB#pYSZNs78%|r}pwZs9jqt_AsK9#5 za;>`YuI+lj4db5vU5{?G_pLU_rO~#Wh9_;f0a^|>VO6WmPNQA%9JOxT!pk}h=lzat zILc`5NzKc;gn<@X&4%af)@)<1=^9nn24*(ypb%)2eT?<bwc8!H;jJ6(`%cYimQlG~ zwpvd4-isG5UML4|Emu*i91Sm^Mq}M=AGGYptLx9lM$~=we9(LE{D-mo56<(QUiq%q zY;3IM{5h}FvR!up)92?a6$jw2RQy84Yt}j>K0k{A*R8gnsdQY&KU&!f2)N=2#X8^$ zX+PuHwLL!<OoqFN)<E2aN~Kz}Jg-vuv&3)SyRyE08$89^{=Q@GTg~mut=3hmZEfFZ z0u<Y~?0Rdv<+RT2cAT0z_mWp@?j3mdw>1#MAHs4Qu-q0{ZU^JqCM>tZ&X-#U?lL;C zim#VPk|-{xi^=75cO?XOIV@W}$>;d6@Duo6!Pn~|X(#R`d%)k`@!pAEx|iwA^|I~M z-E=QU;qno%yqE74dd1#+uhd)UE%ugr%e|G}k={`$bxZ;0SxRMob>d<2!AanL=I)%D z!*8~CQe{6*KRDIS@ow)F(!9#8CRF}oQbfV}QZ7ajSBPx3VHpkkzTjHOZeuv7X#)5w za-!W_H#Ya14clmR>btgk*4VnfX;?}De4au4tvPn14Max@Hfy^^yJ--J!z2>6xaT(O z6%dJFbkM57o5uZpr@GJTP1m{OG}u$p?X<?~c6+}GlKbwhTbqWyU;`ZwRh!11-A03W z)7v*D_69wr3;{;g){QrVE93Uf8-~-stI-e$7+BqO4{c(gGjB`J!p_`x+WS%Kx7~@r zfjn$?yb6cRUacEjazo~dH`uXB{TQlSvF~9@G&dUiXx4TP8<y@O>480**s9%76@__i zgPmQKUjoO&?MYRfy-MAx?mG=IvCCC*5Y}j0?}4xG0f~c$#y)fztKr?ZU8pjLVNBbp z+szK(vLX1)+4Z0dG!z(o6Kavu7Pf3Pf+mMMx7%#iz{IIOtQ$Yr$1DToK?jXyn+@nE z(hEXlxOPYcx)|7grMho58g>mpq1YI`e|QT+lRMnd(BnsLuM*DxVE=}i4N6UF-E&$M ztJB`EfHK{NRmY67xslt4)^9-u+!xpn)DLe@svn?AMcHjzFlpVm*03mpLnMlxa590E zM2tJGZHsJ<9?sl;WelFxA;ZVv+DI2By`_&G!_be>`XPlTwJrP)oN0&^&%i>hR;w1M z*INI9G!AcUK>-T2s6FRS2T~(^0jQM(6MsR!Z;|4&Vc)MEXe9~6O_GX4)??~9BlWA$ z8Rf%Yez)-TXbAR@T}y7br;vvZlC&kK6H0kM|60we?<(t3g;nrPbe~}#so$1Gv$M;u z)u@zsmypqAXMLYbC1U7}?vuDz!&hFmcEV5HYWkTsAwB&xCeK_PguS2DV#uElB^wI) zi{VA^aB)k73_DH^ZXO-HzD7CX9~-=>tD40vkc#H!X5sqY+nQbbxm%jcn%SGeDa{rA z3x;<k;CJT9=+<D%=2H_M1g~7$a$1+cN~i#mlbGR+&44wS%Rx7;hQw~39KI9w@AQOs z=`m+E-`To_iO(n~mw_g#e+n+~!%sE$T$(L@x^A_g^9D+*pVf2k9_6!A9BbVb+*(_8 zk4yD-)1MQ4$j{bAU+_zN!7NZA@t2~j;PH|-s34ffhi+)8@1GdHt?Qffl(&HxHj8}$ z>*oS~<!4<zV@LFFTtu0x{d+_0n=#2X^eB)F=E?}OkKGFSx49B9!#<}rS4VDz%+-8) zVuu1aqya^9X^2C)UnB5yE$g7xwA3(#J&%WH@%3Isl6XFoObz`l4qf-3pGar%ER)Qq zyGuiCV53U2h@T~VnHTfmd&od#r-1<F|6%IE0<K{4!dM6lg<dW&4i;1rYJKYC`3H+q zBMn1gL8Vs{NHeR6hgA3Htaq|8b$_c3eZQ`)%8=~^6BV%GHiYoy&Fcm=sL&q-`R7T+ za>S3tZ`6cwCr%WjW_2BKWkS!3+Cvle9{emc2k;P=t){2#Tv*0VO?0A~Q+L`?voLtk z!Ro%P;;*6><aKIobO|CtO9Jrz!7iRPJg9;+nfu+sMcuA9-GhEd$}<}_6#G}k*)n@h ztqm1#r`_B!nvJOMf$tzx=mM)IZYmwxBI`_R6P6fYDaL>ntebK}q@W>^72;F(ZnR@@ zrc>V1R)nU^$f%(7om3qh52{ZcDjGOnTL`YQYr}qr=7!eXHaV!s??-6i6I88Odzghs zZh+j5!-)ERt)XV`d03mu;$u_``#ei!2R5`2$GUO51wzvoVv3MPwed}zRC7ErRy1jp z18P097U5>78TEhfbl~ZNlNIV0X1xJ*(G4ie0Kw4ChQTB6FB`^Hd(Q&>8K9>|Q{Ro6 z4$z+6ZNUu-yzBxa`nFW8ds?&OSX>*vFt2?U7QWpOOUbj_1{?r2TIx~T{qDwd9KH&A zB(7sZ;pGb<Akg3Id+cY_9rha)U^ezG%XowR{BEZWwkN}mRRU`f_IGAYchPFM;ZO>! zJ4-CgL%OV66q}#DuQ$DRpCw60Vfl3JvxZZ)%SPR4oRJ!5jf)p9Tv&^-tVj)hOS|g9 zqePn)&>c8-O&OgQXH>s2;G0qJLJuI!j`r`*=t2zT#E+v^{6YlUwRxAK(LIO6UmD_1 zepd4re`SPc_{IJ$f4QI66yh(1gcgvgpAT>Ni(yU|b-%$k&&hDjqV!AhYZ-S9Pt1A9 z6IGF0o}b}!_KH$)ZAo;le*ay{clVo2)|q^Z$!ko$&Eyi3?=X3t3EyjGb;Isu-l0*T z6Pg0<8%XZs>zziDFcwpziUSpeQd~9AJ&QC0Y6a8|L^Gg{(xz^pU5CTk0JH^_{J8Wm z38|m5{(ded^=W*}Ec1yPec^k%QFGv33Gx5z7zt|wrY?LVN)rcl0AoksvJ;XdJZJ4@ zgg${t*1{uTI?yV=kjz~9`a&{)t|c?63u2@%eIu&q3!yNlg)(@#X8K>qWnn4<aybB} zNWU>sc}P_W0Xz8nd6CL%rB5Qt)>3|k&=j$?w(yBX<FGWO2>Ua9J^HW`Ptz<O_t#yB z%w+ba%Edl@xaJl~!Uis)B{axESrnUln3Uga@S6*M^TBT+_$@vZ%NjOv@>dI3JfrQ* z#j_NCv%N)?#^Tvhuz0qFdx)2SM9o+?;NOXe^`_l+9q7zZ7CneAc#Wx9P!Ek;S&{go zT?ff2mUUmY-qcDk5!(L1u67uA;neH4a$suJ4q{s0^cA>6&B`wf)h`Uy*(~!x-Fh}F z7d%6oTJ7e0b_0vUpoCk@8ZEbZ56i%eCJM1XqM%{3QQNb+c3?dQ%BD8)KqQ`1Z^4fw zF%sG@L-V3<Ee<z1#S+yL^=xQHiVghog&4&}b{0o7OxOKEJX$~n+luOf$I>uxpF(0T zXh#m22i!P*c1zqd-6DRqW92oo5anaHFLm?Rv?Jm*GZ*BdTbIm2G#4&o70f)Zw_s@c z>9?-YkDV3H;;m`#wfh`9lt$t&J6`kES1w$vgl-?PrnH?SK5U8FVRPDlz5JL0BQV(n zb<Ft|+N)?x5c|q~lYPm<ie-e%@M4Sf=0Br^N7E>Ax^G|Qll?zRnPT4!+m|nVSvAF) z_;Ap4;8RR_&msZmhoyBFK^X`%O2QADYG-&4e%Qp_Igtq|>l_w`q6v-5gqB@pgxPOH zDv<nuC3oz$j#z;6_FO-Xk6{ZW7z&@j=>mET-Khk@Zx!j?YXI$9R*=chs%9N=RAyE? zBK%y?LHD~Tq|qv^mqm*G0lL@uaM0BD^Bg?~Gmi-g!g7k3_iQ{YCoD6t+7`_@QHb-a zlJDgKE(DUn>yD5zm4c5w{W0<tc}`uR`(L9;M;H{tUI^aN*rjoxox$lc)X+hBOc-O- zfzYG#X}7yEu)39T83pMUnb57GXD6wNerPg|4D}yDT&FoLtenVmS~AJyRQJh9(Hkuv zktN9!o(xTvCy)soAebC3e)JG6B~eZ3?*EP;g4j{eM5oH-0#V0;VA9xZXnjgT^VkdR zI%jAfocC}{LdZnXOL}gl6usk&ABr^;iHRA&&o;uYgcisn%-*=_dX7@^<EJqmM9a;` z3dZItrRVA$z;Kv)(x8kNI77k=3td^Byg@e*9(*ws;{z*)XEHt&E}^`Zb~g#^KDkVp z0t81^fgY90E3tWqM-=L(1FQ=rHC>R0DRKLCyAc&^YTXMYum?+}p@7q_-2&ss0+OuR zjl<$#QG8;RVYCIEMKA0=`Pwas;45E7IO@9sHKHOB>5`z_+IW6}v9o8D%H?S6xq)a( z{dDaJLrA&4j}X#grBZLIPL26erSg8qss&GSm5ORs(IhQKy(T}`f$q?Dxr{5;txF-V zRhhSu^YhSCu_)0#a5wni`%G>!+2YfMAkMUEbAI}?gVCI1A@TLnQA_sZv4wmxlPVph z27-m(WC<z%c*S(_JE3k;OqR~Y@@rw9zl-JkN@*!SpP!fL*(#ciKItImT|j11K)QsF zC(Jp7h361(ot1#=9HduX#H++w6LI+AFB|1oyw&ko>t5<1HacMOnUU7ox!l7<Me{x; zrh0Qwt<c=|-A^7<eKXJlslSLqxNbzZ;wE;~x4<HZMJVeiGtK6~<f++<UH;pM#TKv( zlhBNUW1#K^7B}b&(Tb8Fx&)DAG><1Dikf8R!$9j0Sw&O}#<JE12~Ln;{z#xH@jd+j z=1@DHB!)#x3Zf9`B}sSxX9W8<7;24W0r>u5ropp4VnszogK1Jum1~F+gF!=3GSOV? zD6znaGLCu82+43ctN->#GvY?-4=74$_XR?Kgz3M+yF-dni5h7Lou5R^uh2bCz9};i zFY#Gq{v5<K<}WPPiH08V{QwCAzMpq*5qP(myvyVVOa$wHpE+`A*JKjGH$->AbXpU? z$5+q<7T&xJuFAUuToqCA^6`F-pIN!8ox7W#^xeZ&9958QHAPia^9a~aVslJUmDGad zOUN&(CCM+SWwio6y(oNo3AA)X)Q8D@`VDk5&ZoI2hCxDbYtmSmxGM(Fa<W4vAMB8^ z0h@>z#&Gjc(}~Ii<oYQv^by7!yD|K_&%U<4rWJM34!dWj?w~pUA%^=P*hf>)%zhIS zuF;;%-aW!ZTru;|pMuS6p1)W@+<COS&BHdC(7b}sV2q(F;(>m3t)>QQ%%EhrM|vrt zOk#dHUBdR3Y%-hd9wT20(4j9RP*gtrr3P^YUytNTbNX%)?h{yR4^u$tRQJPZR<GJM z1Y`ECtB9>eCDtS3>XyrmQ+x2%v5w(&V07EcJInnO+>QaE;NC|db*!r1=)}<c=qCIP zQXh)BuxCc-3INCJr7oZU5#b<GFxNd2AH8lWV#yqL7GD`VLk74!;eg;D$mqq1gk=V8 zufmnYojNITC1IZ$>{u*4Fl0~7eVhTDvfW=sy?#@6tY|}a8jPeITs!P!RPHgAjgk7= zZIcvtoQOM(Ix&1+%ZaY7J%|J^!dTgJ0kD>dqM~Srj&5j-Omufp^`8*vvg<NeOoj22 z^ctj~7;DQQL_&E-m5iMqdKe1$$}HSKCca3-JyzUb^(!n4J;)RObnf6c(*q~OqE8{1 zl|nch@;irF$;zzctoy)(Xku=+=o%I6aRBB~fq+eh@qmasMI;y8aT2c+;P&*bNIFFK zG4?XWJ5<&k)gEOA?_oPpJm9Z0I1U7HwD%{CAqqa0!GQWCJp6O9H);UZZ;x)(((of- zWlvKdLJ^nJaQ=TpfuOH10ioTenOtRJFnNZ_vrN9s<f}-)&FIUVl}xjG{)g$bsAa{= zY^luTn@r9#xxnNilNXuD%f^wig{S|Dq|E*$R{GxgL63Yy*aQ4k_bTGAXr}K6WPd=L z+EsgI&{d23X>wGR`Ir`K=(3&b{&h5CF_&#$Za$_#5j9Z08H!-~JEC_zf`9L@rnEyg z&UpQN73j!7V2Ji@0L7)mj@cgL{Vm1lP2PXv^oW=b{IYp^W={~yLk`<7{3%Yxe~bVW zn~VXy<uT_Y-bQ&NrU*UmtjyNn=-jxwm<mkGk2xdrvrNlE{8irHjh&g*_{<EH{}d<Z zFUL(zs6;;IyoA-GrHsd&kLe9fo`;`s3aA?#N*?*}75{7O6b$IVVbKWsP!Re$@K<o5 zlHgN3BZ8a=%ZU#YSD_VBFH{-q_eKu--rVofZ~L315p|zxEd4<qzmzw<#E(yGrye99 zq!iaau?yv4>RoJ!dp{L8oaa7#@a+#DY(VJH9>MZMs(isuzUL?J^{sJnk^ZLe8doJh zXt|e)fRZTHnMC)wI7Ww#;Mfkiuuk`x@!sWtO&K3PxU`n>Gk2R#L)NDJIR`P?p6-=) zy!*MTK2>C>XW~Fevrpm*%RMn-=md_4<;ji+u_bl@0j&l9kU5LVkC;@MC?+<O!yFbg z^gJRTEj4jioX8jQCrZ$Mk9@7P%s=rBu-WJnxi5Z=nsN69j(!pRQ)xScqhIE5&67o7 zYshsL*Ww~pIl0cMx8+<Do(NLFIU)r)-Gi=+BJy(RjJPoh(HS2l+?T^<c-{x{a?lL& zi^$7qAIL8ue^Q+iSI08)tLh2KuOR=VIxYDl$UmjNB>AJrKdlVOA4C2b^{nKNBmZUf z70I7K{;TS1l0S+3bLx!bPa(gio|pV8@-L{fl79mEbE+))Cy_s|E=c|~@)y;Ml79;M zm(<rK|0U#KR<B6@Y2?45UX{Fo{5RFQ<ex$QTk18*Ka2dg)g{S)S$#*n4tLI1)MfPs ze!pse?e24vzHk&>QCHz8I)fIjsW+vCHRRt?-<ACH$X{3All%+n_tXuvcvc)m=fFKS z#JmzmQG^Z101Xna<0}sRI6|nDnNdIll`*qwPRvbFy+W(6EL$DT0#EB;B$~p)JYwAN z&&-FL>it5siC`R9;|k||4ABMleQsR8b^Y?KYghf;&FdR);h&kmys`CzYd3MLaOIu1 zH*Z|S(-<K}?gxKPUcW+m3><c{aN@cc%K*kl13Zf-lLu(#RMx}^7-m7`aYju611@%t zlI=tT*1El!#nNxbR&E3Bb?2SNIjjp|!?)+TP2BM_yB+TUCze=F%~st)qj^q4gK8Mu z+qk)b-4KJmN;CWY+t+Smq%E{y&R^fCY~Fn5t((`jw%qr5C-cVbtsj}$H!okmaqX&E z*m$R+!GuF`E^l19hMVJHBnH4qLWph_y|Bc^CH*H)$3u!n^(dqOkxW-qiwGjxmeFu= zJE$cf*jSqz8lQWQ&p4EE{q#%mcAg1YEIaISXT(O8Yy150mw};ae7#>I8TD++dVh-H z7(MVaN#QX;9u|5#4J$sSve@*P4DvYf1c9C@m6tMws7x`qKQH%7k}gQPDCv@<%Tj(0 z^;d%ON96v|sGVcM{o``~grp}WJtgTXY>+2@wF(;~tDdCKmD@L4e=9x(w4zRnmo~4S z1oWTk{zas7jd8$+v+|g_R~*%&*F1t@GPb^$mwpi^RW$W-GR_AI4&12h9^j(oM0=m- zs~|Spm9<;HM6XFj?}k>vl{WU2Ur-Lr4LKMnuR3~bscgIP7ZJmB-*OR4Sm8pSpOJKt zX$6mPgb?{u;f~wvv}h2?Rvv%3#dB(cfHL0p=UT2)wf&;}RN$Ivi$SHg`q0G1UZl=0 zXkLyQ<Do>J1XcT`b~E-OY$A5BWm}x6AE1_dz@*FMLnb{Y519M`lb<rV#N=m8xL3;k zIg^J>US;wTlYhYEA2MM8LBCV(FL+5d=l&s+e}rTs?oCGgo~#GT+7o$#3tGb|Tkc-< z#aCZ^F$&`Ia|(fJb*tvjSAs=vMCV{#J=Ba=Pz^-h_Y;d@FXLpF!gZC1TZ=#Xt0ZiW zB9U9p&{3@aN?7`4PN)65gZCCuLoaxRXg=PvOb&4cU+;0Of9uN-77^|TTj%V7#mN8y zQLvm7tXeV%6(<g9&5@znRjVb(gf#b}1`#|!B!q-C?pdzW>>%<;(AdLX#LI{;3L6V= z%RXjIzy}UIwg@YVy<!}ZlLD^<J<!2?=*L*Hd_=Mi8jS`r#(t7%&$xdC&=1G6jCU_& ziCG^UyhEfYp;n@xL%zhdFerC*$;kSkKqubHG}D)>ojj{Nb0gLDqF%-p1~4_BWG#Q# zKOXpMqc;hK1L^-UI)fh}3&H(90gyI!I9B#Nk?o#}&r5h78+p%+!~9|N^1)&DIc-0z zTH}H~$1YY)uYHV+<pVv4DPv)Y{n%Je4vr<_^)n9TpU3(X9$SZ<xw1#U3Y3;3CnGIW z9M8cKOQfXWj0Y_G1PAn-HEg)1vDI*Azf-pw*e8!{P->@aT*HpsgZ^4jf15=}6C(g2 z)1E%LEYXSqWN32x0&hl$?2LiPE#NQ@TnLv_$qNW~fleSN0W(OpJ2Ag}5VJ5cCd#1c zV`7O9CXcBvw`UyFpN|>S$Sg}32uub}tV}(ao@I!54tKK4HY^StGkpE3aiiIM4?CG{ zIg?2RTv(nyhfU~+0(+bpr*NJQ9hUgnMCh>Vfg&>_bhgJphch0m9U<gY$RX4?;*%b$ zsVO=P#g86{o-utq)I|O;Hl9H>Kdy_-I3O!}`yhXsHXt0+h|pSDXX<aj56N<LR8*X% zkBTM!c>1V<*UdPpUym8pW$t<=!s6)Ks_X1BOX7@_)G&CASWz~1oW?Fr{8T%lLIf9r z>{zJY!2xsf^c)mpU4pedXa<3iZQOG#X&%PmEnx^`Z&5Yu39F5-hrKnHv2#_P;}D14 z85kdx(&+$ZiGLOYuq+8g3R(n#8KL|780ZQS1Ui1~@dVjL4SITyS>j*DdMq(i{T>Hz znz6%w5bIGWx!7UE(He3FN)R?kc2&l1C8~HjkdU(q3{i5XMd%~Z5euHThk^&A^D{~T zv=ycgmnHsm;&9PVIpk!<;r@p)!wp$DhbUZWgoQ)<&?cFV%(Gw#QabDHJDOn!MMyaV zy#9=`Tj(Q>>fwo+E&`Ns!ceExYPxc`UccJf<8b+(9SS{`_=_0yWG_O5EYZNk)|?H7 z*73N7F~}O@LmxRUb<7Dv+=x)Oa3r^g290Bzu@hJIF-SO!^ji7iD_<wOf&FWovCDVL z#tRo;x%iEjUw--Gix*!6@M1@^BG!hdC+X7MYKr5Nb|^?+Cz@J~gED@hM~!r7xZaLF z;B}pKcSf;!L?xlQI~|!>;$O$6W6&KbM*eKG(EXD!m`uX`G^XIq(9a+YUO8T?W{sid zk@5fh(DAdxU&qEjgpLDFju`>*Psae_vhmW_4V*6O!Z-!Ny+vn<Y<<BodCjW0dbJWB z!#k~2gSp{69bEyY=V*DYvd(}E4-W+fOZ?jyFa||W<l&hS4nIE}4uO=HupCU@l>I+) z_&1J@A@vB1YBo+SIn;=J_0Tc1#NWime40cb@gu~~$4~v5apZp=>sTnmgsJQElLO;R zloB#)Oe_9@g9}Ck^6h#<>+HgPf+L-R@TIEl+!HY9=E^*CiM2%l^8XSDRTrFTBnL+g zHT_PfeFuwmcQ{hpy{@zn2@ZUYw*xAx#*c#w^~Mo8qYG_1pJ9pr5(D#7gJ2$V7S0Ig ze=`QoWH}@>Y#j!_)zBqi01KR0%!eHpb6Vx0c*CRzx0K$DP&PK3txip_P0l*&!xu9Z z>K3YOylowby0MEO$^P*HhIJ1s6?9e2fTHv~PKO;!{A~<&gFIUNsWSrXCzAjc!UQnV zc(AicZ|x2dvu;}+&Wep43pf!E=s=x57MA#Lv9S#LIr_fg83*+Km;nv(+QWGa#uyrb zGt5`ujGf}kVTu0{8{_f-uFvj|>hCBURB8}N=)!pAnSaxjVV=be)zCP=0dKoDP6ePT zGj1YB)!=U(I+HB%e`2E?oJr~9qbS1P8#9xnWi*7S$=E|}rVM~oFP24RBw%hj8gjjX zD_)`NaL_rb-#H@+Zba|x&k}ow|M3FtaP!Spe_3O6AS1k#3l7se&l34q=LdP|@FL1= z!?0FAT_qZeNuiVic@ZAqsh?d%nhQYFCxs=JW0N9h&W0#ZZZ~I}hVD4!k!0{VTJ*R% zcw9}Ii(k_Lz!Ilo02p+4#n<p=1Vx-yLM@7*xP9|_U$lpe`z%;E<TVr{F6!*;x7#gm z{rq{je9FP*G@4j3Qk~%K;QHS5ak7LF8|NT*$Li$3@VKyY1z*{M&qbBH$%k@~`R{Z; z1{N?sMyF(-1x7n=afM-3XQE-|hQc<6_F!<7lSlf?2<-n~?5GF_zk^Os7(5?cj17KJ z;~L!gz(^TJH_9wCkV4P$;IYv-9+De?Q(x?3_+lReWZ~~>AH&N)&*^&#LgKJc68qJK zGaOzk7J;<NSFrXv>4yOkiIu?<=Z08`UM(2UG)Y^UoIpIu&;CY&5V}>2YXa-xquT@> zRBNbt-9fc_!j^!D_YMK<^A_wM!jA#H6X3^3l^Fb<7_by32kuV-;b%A`KZKS&8Crbg z#Go~}bn|(Lv3K_{#E83KsGl&(-o1k++<hhvlT%S5obN6!yCFakWPfG={ia3PKRZ6k zJ~Sb8n7#WRU&l}}x5h*w|AWJA>bx=39mczR>`n%m1mo)mXE^K-{$riB@^FADH~ah9 z=I&ht21*RD-u=e#QN0=ZN6d*L`MV6q6D`)=VP7~(_lHa<fgUyZ{{_@pq(@^D83z9^ zXP1l1nZ@TzE2aFS{$bldLADL7mWupy+4=?|7YS8!J}^pl@qgM$z@QxcC;c~1$DWm) zz=;rr3C^+lQ)7#Swvd};nbmli8g|BEtGbS@baQ;Z9Dm-zVG;VA!WV+uC_M3hw+#7$ z?CLRJdW0Ime=d0-$C;VuXQ&zH*s`0;JUc_JNKWc~c?%e@KCy*UD^n4p6rmYXFa8TD heYDXfLdg3H5*#OlD9Vw)^zu&=KTUjN`3!zf|6h>ZHCq4x diff --git a/twilio/rest/api/v2010/account/call/__pycache__/feedback.cpython-36.pyc b/twilio/rest/api/v2010/account/call/__pycache__/feedback.cpython-36.pyc deleted file mode 100644 index 3b0e6de6928e698ccf5393ca22b8409fb93ca3bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12159 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 diff --git a/twilio/rest/api/v2010/account/call/__pycache__/feedback_summary.cpython-36.pyc b/twilio/rest/api/v2010/account/call/__pycache__/feedback_summary.cpython-36.pyc deleted file mode 100644 index f92c40ce16bef98999d1f83693e22e8ae95cee34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13669 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�<uQv-pVQ1j<Ib9MI9pCPG;atPi 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 diff --git a/twilio/rest/api/v2010/account/call/__pycache__/notification.cpython-36.pyc b/twilio/rest/api/v2010/account/call/__pycache__/notification.cpython-36.pyc deleted file mode 100644 index 2e47d110008f292ee9eb2dd209dc91363295274a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17431 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 diff --git a/twilio/rest/api/v2010/account/call/__pycache__/recording.cpython-36.pyc b/twilio/rest/api/v2010/account/call/__pycache__/recording.cpython-36.pyc deleted file mode 100644 index 7778ac79e1dcf2c8d30c7a618dec77ad89ec52fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17401 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 TK_Y&q{?aqQZ&YWhGavjn4k9eg diff --git a/twilio/rest/api/v2010/account/call/feedback.py b/twilio/rest/api/v2010/account/call/feedback.py deleted file mode 100644 index edd3530..0000000 --- a/twilio/rest/api/v2010/account/call/feedback.py +++ /dev/null @@ -1,364 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class FeedbackList(ListResource): - """ """ - - def __init__(self, version, account_sid, call_sid): - """ - Initialize the FeedbackList - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param call_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.call.feedback.FeedbackList - :rtype: twilio.rest.api.v2010.account.call.feedback.FeedbackList - """ - super(FeedbackList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'call_sid': call_sid, } - - def get(self): - """ - Constructs a FeedbackContext - - :returns: twilio.rest.api.v2010.account.call.feedback.FeedbackContext - :rtype: twilio.rest.api.v2010.account.call.feedback.FeedbackContext - """ - return FeedbackContext( - self._version, - account_sid=self._solution['account_sid'], - call_sid=self._solution['call_sid'], - ) - - def __call__(self): - """ - Constructs a FeedbackContext - - :returns: twilio.rest.api.v2010.account.call.feedback.FeedbackContext - :rtype: twilio.rest.api.v2010.account.call.feedback.FeedbackContext - """ - return FeedbackContext( - self._version, - account_sid=self._solution['account_sid'], - call_sid=self._solution['call_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.FeedbackList>' - - -class FeedbackPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the FeedbackPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The account_sid - :param call_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.call.feedback.FeedbackPage - :rtype: twilio.rest.api.v2010.account.call.feedback.FeedbackPage - """ - super(FeedbackPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of FeedbackInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.call.feedback.FeedbackInstance - :rtype: twilio.rest.api.v2010.account.call.feedback.FeedbackInstance - """ - return FeedbackInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - call_sid=self._solution['call_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.FeedbackPage>' - - -class FeedbackContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, call_sid): - """ - Initialize the FeedbackContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param call_sid: The call sid that uniquely identifies the call - - :returns: twilio.rest.api.v2010.account.call.feedback.FeedbackContext - :rtype: twilio.rest.api.v2010.account.call.feedback.FeedbackContext - """ - super(FeedbackContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'call_sid': call_sid, } - self._uri = '/Accounts/{account_sid}/Calls/{call_sid}/Feedback.json'.format(**self._solution) - - def create(self, quality_score, issue=values.unset): - """ - Create a new FeedbackInstance - - :param unicode quality_score: The quality_score - :param FeedbackInstance.Issues issue: The issue - - :returns: Newly created FeedbackInstance - :rtype: twilio.rest.api.v2010.account.call.feedback.FeedbackInstance - """ - data = values.of({'QualityScore': quality_score, 'Issue': serialize.map(issue, lambda e: e), }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return FeedbackInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - call_sid=self._solution['call_sid'], - ) - - def fetch(self): - """ - Fetch a FeedbackInstance - - :returns: Fetched FeedbackInstance - :rtype: twilio.rest.api.v2010.account.call.feedback.FeedbackInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return FeedbackInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - call_sid=self._solution['call_sid'], - ) - - def update(self, quality_score, issue=values.unset): - """ - Update the FeedbackInstance - - :param unicode quality_score: An integer from 1 to 5 - :param FeedbackInstance.Issues issue: Issues experienced during the call - - :returns: Updated FeedbackInstance - :rtype: twilio.rest.api.v2010.account.call.feedback.FeedbackInstance - """ - data = values.of({'QualityScore': quality_score, 'Issue': serialize.map(issue, lambda e: e), }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return FeedbackInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - call_sid=self._solution['call_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.FeedbackContext {}>'.format(context) - - -class FeedbackInstance(InstanceResource): - """ """ - - class Issues(object): - AUDIO_LATENCY = "audio-latency" - DIGITS_NOT_CAPTURED = "digits-not-captured" - DROPPED_CALL = "dropped-call" - IMPERFECT_AUDIO = "imperfect-audio" - INCORRECT_CALLER_ID = "incorrect-caller-id" - ONE_WAY_AUDIO = "one-way-audio" - POST_DIAL_DELAY = "post-dial-delay" - UNSOLICITED_CALL = "unsolicited-call" - - def __init__(self, version, payload, account_sid, call_sid): - """ - Initialize the FeedbackInstance - - :returns: twilio.rest.api.v2010.account.call.feedback.FeedbackInstance - :rtype: twilio.rest.api.v2010.account.call.feedback.FeedbackInstance - """ - super(FeedbackInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'issues': payload['issues'], - 'quality_score': deserialize.integer(payload['quality_score']), - 'sid': payload['sid'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'call_sid': call_sid, } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: FeedbackContext for this FeedbackInstance - :rtype: twilio.rest.api.v2010.account.call.feedback.FeedbackContext - """ - if self._context is None: - self._context = FeedbackContext( - self._version, - account_sid=self._solution['account_sid'], - call_sid=self._solution['call_sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def issues(self): - """ - :returns: The issues - :rtype: FeedbackInstance.Issues - """ - return self._properties['issues'] - - @property - def quality_score(self): - """ - :returns: 1 to 5 quality score - :rtype: unicode - """ - return self._properties['quality_score'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - def create(self, quality_score, issue=values.unset): - """ - Create a new FeedbackInstance - - :param unicode quality_score: The quality_score - :param FeedbackInstance.Issues issue: The issue - - :returns: Newly created FeedbackInstance - :rtype: twilio.rest.api.v2010.account.call.feedback.FeedbackInstance - """ - return self._proxy.create(quality_score, issue=issue, ) - - def fetch(self): - """ - Fetch a FeedbackInstance - - :returns: Fetched FeedbackInstance - :rtype: twilio.rest.api.v2010.account.call.feedback.FeedbackInstance - """ - return self._proxy.fetch() - - def update(self, quality_score, issue=values.unset): - """ - Update the FeedbackInstance - - :param unicode quality_score: An integer from 1 to 5 - :param FeedbackInstance.Issues issue: Issues experienced during the call - - :returns: Updated FeedbackInstance - :rtype: twilio.rest.api.v2010.account.call.feedback.FeedbackInstance - """ - return self._proxy.update(quality_score, issue=issue, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.FeedbackInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/call/feedback_summary.py b/twilio/rest/api/v2010/account/call/feedback_summary.py deleted file mode 100644 index aa86d85..0000000 --- a/twilio/rest/api/v2010/account/call/feedback_summary.py +++ /dev/null @@ -1,396 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class FeedbackSummaryList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the FeedbackSummaryList - - :param Version version: Version that contains the resource - :param account_sid: The unique id of the Account responsible for creating this Call - - :returns: twilio.rest.api.v2010.account.call.feedback_summary.FeedbackSummaryList - :rtype: twilio.rest.api.v2010.account.call.feedback_summary.FeedbackSummaryList - """ - super(FeedbackSummaryList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/Calls/FeedbackSummary.json'.format(**self._solution) - - def create(self, start_date, end_date, include_subaccounts=values.unset, - status_callback=values.unset, status_callback_method=values.unset): - """ - Create a new FeedbackSummaryInstance - - :param date start_date: The start_date - :param date end_date: The end_date - :param bool include_subaccounts: The include_subaccounts - :param unicode status_callback: The status_callback - :param unicode status_callback_method: The status_callback_method - - :returns: Newly created FeedbackSummaryInstance - :rtype: twilio.rest.api.v2010.account.call.feedback_summary.FeedbackSummaryInstance - """ - data = values.of({ - 'StartDate': serialize.iso8601_date(start_date), - 'EndDate': serialize.iso8601_date(end_date), - 'IncludeSubaccounts': include_subaccounts, - 'StatusCallback': status_callback, - 'StatusCallbackMethod': status_callback_method, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return FeedbackSummaryInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def get(self, sid): - """ - Constructs a FeedbackSummaryContext - - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.call.feedback_summary.FeedbackSummaryContext - :rtype: twilio.rest.api.v2010.account.call.feedback_summary.FeedbackSummaryContext - """ - return FeedbackSummaryContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a FeedbackSummaryContext - - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.call.feedback_summary.FeedbackSummaryContext - :rtype: twilio.rest.api.v2010.account.call.feedback_summary.FeedbackSummaryContext - """ - return FeedbackSummaryContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.FeedbackSummaryList>' - - -class FeedbackSummaryPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the FeedbackSummaryPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The unique id of the Account responsible for creating this Call - - :returns: twilio.rest.api.v2010.account.call.feedback_summary.FeedbackSummaryPage - :rtype: twilio.rest.api.v2010.account.call.feedback_summary.FeedbackSummaryPage - """ - super(FeedbackSummaryPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of FeedbackSummaryInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.call.feedback_summary.FeedbackSummaryInstance - :rtype: twilio.rest.api.v2010.account.call.feedback_summary.FeedbackSummaryInstance - """ - return FeedbackSummaryInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.FeedbackSummaryPage>' - - -class FeedbackSummaryContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, sid): - """ - Initialize the FeedbackSummaryContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.call.feedback_summary.FeedbackSummaryContext - :rtype: twilio.rest.api.v2010.account.call.feedback_summary.FeedbackSummaryContext - """ - super(FeedbackSummaryContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/Calls/FeedbackSummary/{sid}.json'.format(**self._solution) - - def fetch(self): - """ - Fetch a FeedbackSummaryInstance - - :returns: Fetched FeedbackSummaryInstance - :rtype: twilio.rest.api.v2010.account.call.feedback_summary.FeedbackSummaryInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return FeedbackSummaryInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the FeedbackSummaryInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.FeedbackSummaryContext {}>'.format(context) - - -class FeedbackSummaryInstance(InstanceResource): - """ """ - - class Status(object): - QUEUED = "queued" - IN_PROGRESS = "in-progress" - COMPLETED = "completed" - FAILED = "failed" - - def __init__(self, version, payload, account_sid, sid=None): - """ - Initialize the FeedbackSummaryInstance - - :returns: twilio.rest.api.v2010.account.call.feedback_summary.FeedbackSummaryInstance - :rtype: twilio.rest.api.v2010.account.call.feedback_summary.FeedbackSummaryInstance - """ - super(FeedbackSummaryInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'call_count': deserialize.integer(payload['call_count']), - 'call_feedback_count': deserialize.integer(payload['call_feedback_count']), - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'end_date': deserialize.iso8601_datetime(payload['end_date']), - 'include_subaccounts': payload['include_subaccounts'], - 'issues': payload['issues'], - 'quality_score_average': deserialize.decimal(payload['quality_score_average']), - 'quality_score_median': deserialize.decimal(payload['quality_score_median']), - 'quality_score_standard_deviation': deserialize.decimal(payload['quality_score_standard_deviation']), - 'sid': payload['sid'], - 'start_date': deserialize.iso8601_datetime(payload['start_date']), - 'status': payload['status'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: FeedbackSummaryContext for this FeedbackSummaryInstance - :rtype: twilio.rest.api.v2010.account.call.feedback_summary.FeedbackSummaryContext - """ - if self._context is None: - self._context = FeedbackSummaryContext( - self._version, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def call_count(self): - """ - :returns: The call_count - :rtype: unicode - """ - return self._properties['call_count'] - - @property - def call_feedback_count(self): - """ - :returns: The call_feedback_count - :rtype: unicode - """ - return self._properties['call_feedback_count'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def end_date(self): - """ - :returns: The end_date - :rtype: datetime - """ - return self._properties['end_date'] - - @property - def include_subaccounts(self): - """ - :returns: The include_subaccounts - :rtype: bool - """ - return self._properties['include_subaccounts'] - - @property - def issues(self): - """ - :returns: The issues - :rtype: unicode - """ - return self._properties['issues'] - - @property - def quality_score_average(self): - """ - :returns: The quality_score_average - :rtype: unicode - """ - return self._properties['quality_score_average'] - - @property - def quality_score_median(self): - """ - :returns: The quality_score_median - :rtype: unicode - """ - return self._properties['quality_score_median'] - - @property - def quality_score_standard_deviation(self): - """ - :returns: The quality_score_standard_deviation - :rtype: unicode - """ - return self._properties['quality_score_standard_deviation'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def start_date(self): - """ - :returns: The start_date - :rtype: datetime - """ - return self._properties['start_date'] - - @property - def status(self): - """ - :returns: The status - :rtype: FeedbackSummaryInstance.Status - """ - return self._properties['status'] - - def fetch(self): - """ - Fetch a FeedbackSummaryInstance - - :returns: Fetched FeedbackSummaryInstance - :rtype: twilio.rest.api.v2010.account.call.feedback_summary.FeedbackSummaryInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the FeedbackSummaryInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.FeedbackSummaryInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/call/notification.py b/twilio/rest/api/v2010/account/call/notification.py deleted file mode 100644 index c6e0e5e..0000000 --- a/twilio/rest/api/v2010/account/call/notification.py +++ /dev/null @@ -1,531 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class NotificationList(ListResource): - """ """ - - def __init__(self, version, account_sid, call_sid): - """ - Initialize the NotificationList - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param call_sid: The call_sid - - :returns: twilio.rest.api.v2010.account.call.notification.NotificationList - :rtype: twilio.rest.api.v2010.account.call.notification.NotificationList - """ - super(NotificationList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'call_sid': call_sid, } - self._uri = '/Accounts/{account_sid}/Calls/{call_sid}/Notifications.json'.format(**self._solution) - - def stream(self, log=values.unset, message_date_before=values.unset, - message_date=values.unset, message_date_after=values.unset, - limit=None, page_size=None): - """ - Streams NotificationInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode log: The log - :param date message_date_before: The message_date - :param date message_date: The message_date - :param date message_date_after: The message_date - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.call.notification.NotificationInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - log=log, - message_date_before=message_date_before, - message_date=message_date, - message_date_after=message_date_after, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, log=values.unset, message_date_before=values.unset, - message_date=values.unset, message_date_after=values.unset, limit=None, - page_size=None): - """ - Lists NotificationInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode log: The log - :param date message_date_before: The message_date - :param date message_date: The message_date - :param date message_date_after: The message_date - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.call.notification.NotificationInstance] - """ - return list(self.stream( - log=log, - message_date_before=message_date_before, - message_date=message_date, - message_date_after=message_date_after, - limit=limit, - page_size=page_size, - )) - - def page(self, log=values.unset, message_date_before=values.unset, - message_date=values.unset, message_date_after=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of NotificationInstance records from the API. - Request is executed immediately - - :param unicode log: The log - :param date message_date_before: The message_date - :param date message_date: The message_date - :param date message_date_after: The message_date - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of NotificationInstance - :rtype: twilio.rest.api.v2010.account.call.notification.NotificationPage - """ - params = values.of({ - 'Log': log, - 'MessageDate<': serialize.iso8601_date(message_date_before), - 'MessageDate': serialize.iso8601_date(message_date), - 'MessageDate>': serialize.iso8601_date(message_date_after), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return NotificationPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of NotificationInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of NotificationInstance - :rtype: twilio.rest.api.v2010.account.call.notification.NotificationPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return NotificationPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a NotificationContext - - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.call.notification.NotificationContext - :rtype: twilio.rest.api.v2010.account.call.notification.NotificationContext - """ - return NotificationContext( - self._version, - account_sid=self._solution['account_sid'], - call_sid=self._solution['call_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a NotificationContext - - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.call.notification.NotificationContext - :rtype: twilio.rest.api.v2010.account.call.notification.NotificationContext - """ - return NotificationContext( - self._version, - account_sid=self._solution['account_sid'], - call_sid=self._solution['call_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.NotificationList>' - - -class NotificationPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the NotificationPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The account_sid - :param call_sid: The call_sid - - :returns: twilio.rest.api.v2010.account.call.notification.NotificationPage - :rtype: twilio.rest.api.v2010.account.call.notification.NotificationPage - """ - super(NotificationPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of NotificationInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.call.notification.NotificationInstance - :rtype: twilio.rest.api.v2010.account.call.notification.NotificationInstance - """ - return NotificationInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - call_sid=self._solution['call_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.NotificationPage>' - - -class NotificationContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, call_sid, sid): - """ - Initialize the NotificationContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param call_sid: The call_sid - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.call.notification.NotificationContext - :rtype: twilio.rest.api.v2010.account.call.notification.NotificationContext - """ - super(NotificationContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'call_sid': call_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/Calls/{call_sid}/Notifications/{sid}.json'.format(**self._solution) - - def fetch(self): - """ - Fetch a NotificationInstance - - :returns: Fetched NotificationInstance - :rtype: twilio.rest.api.v2010.account.call.notification.NotificationInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return NotificationInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - call_sid=self._solution['call_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the NotificationInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.NotificationContext {}>'.format(context) - - -class NotificationInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid, call_sid, sid=None): - """ - Initialize the NotificationInstance - - :returns: twilio.rest.api.v2010.account.call.notification.NotificationInstance - :rtype: twilio.rest.api.v2010.account.call.notification.NotificationInstance - """ - super(NotificationInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'api_version': payload['api_version'], - 'call_sid': payload['call_sid'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'error_code': payload['error_code'], - 'log': payload['log'], - 'message_date': deserialize.rfc2822_datetime(payload['message_date']), - 'message_text': payload['message_text'], - 'more_info': payload['more_info'], - 'request_method': payload['request_method'], - 'request_url': payload['request_url'], - 'sid': payload['sid'], - 'uri': payload['uri'], - 'request_variables': payload.get('request_variables'), - 'response_body': payload.get('response_body'), - 'response_headers': payload.get('response_headers'), - } - - # Context - self._context = None - self._solution = { - 'account_sid': account_sid, - 'call_sid': call_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: NotificationContext for this NotificationInstance - :rtype: twilio.rest.api.v2010.account.call.notification.NotificationContext - """ - if self._context is None: - self._context = NotificationContext( - self._version, - account_sid=self._solution['account_sid'], - call_sid=self._solution['call_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def api_version(self): - """ - :returns: The api_version - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def call_sid(self): - """ - :returns: The call_sid - :rtype: unicode - """ - return self._properties['call_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def error_code(self): - """ - :returns: The error_code - :rtype: unicode - """ - return self._properties['error_code'] - - @property - def log(self): - """ - :returns: The log - :rtype: unicode - """ - return self._properties['log'] - - @property - def message_date(self): - """ - :returns: The message_date - :rtype: datetime - """ - return self._properties['message_date'] - - @property - def message_text(self): - """ - :returns: The message_text - :rtype: unicode - """ - return self._properties['message_text'] - - @property - def more_info(self): - """ - :returns: The more_info - :rtype: unicode - """ - return self._properties['more_info'] - - @property - def request_method(self): - """ - :returns: The request_method - :rtype: unicode - """ - return self._properties['request_method'] - - @property - def request_url(self): - """ - :returns: The request_url - :rtype: unicode - """ - return self._properties['request_url'] - - @property - def request_variables(self): - """ - :returns: The request_variables - :rtype: unicode - """ - return self._properties['request_variables'] - - @property - def response_body(self): - """ - :returns: The response_body - :rtype: unicode - """ - return self._properties['response_body'] - - @property - def response_headers(self): - """ - :returns: The response_headers - :rtype: unicode - """ - return self._properties['response_headers'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def uri(self): - """ - :returns: The uri - :rtype: unicode - """ - return self._properties['uri'] - - def fetch(self): - """ - Fetch a NotificationInstance - - :returns: Fetched NotificationInstance - :rtype: twilio.rest.api.v2010.account.call.notification.NotificationInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the NotificationInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.NotificationInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/call/recording.py b/twilio/rest/api/v2010/account/call/recording.py deleted file mode 100644 index d2a8303..0000000 --- a/twilio/rest/api/v2010/account/call/recording.py +++ /dev/null @@ -1,530 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class RecordingList(ListResource): - """ """ - - def __init__(self, version, account_sid, call_sid): - """ - Initialize the RecordingList - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param call_sid: The call_sid - - :returns: twilio.rest.api.v2010.account.call.recording.RecordingList - :rtype: twilio.rest.api.v2010.account.call.recording.RecordingList - """ - super(RecordingList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'call_sid': call_sid, } - self._uri = '/Accounts/{account_sid}/Calls/{call_sid}/Recordings.json'.format(**self._solution) - - def stream(self, date_created_before=values.unset, date_created=values.unset, - date_created_after=values.unset, limit=None, page_size=None): - """ - Streams RecordingInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param date date_created_before: The date_created - :param date date_created: The date_created - :param date date_created_after: The date_created - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.call.recording.RecordingInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - date_created_before=date_created_before, - date_created=date_created, - date_created_after=date_created_after, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, date_created_before=values.unset, date_created=values.unset, - date_created_after=values.unset, limit=None, page_size=None): - """ - Lists RecordingInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param date date_created_before: The date_created - :param date date_created: The date_created - :param date date_created_after: The date_created - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.call.recording.RecordingInstance] - """ - return list(self.stream( - date_created_before=date_created_before, - date_created=date_created, - date_created_after=date_created_after, - limit=limit, - page_size=page_size, - )) - - def page(self, date_created_before=values.unset, date_created=values.unset, - date_created_after=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of RecordingInstance records from the API. - Request is executed immediately - - :param date date_created_before: The date_created - :param date date_created: The date_created - :param date date_created_after: The date_created - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of RecordingInstance - :rtype: twilio.rest.api.v2010.account.call.recording.RecordingPage - """ - params = values.of({ - 'DateCreated<': serialize.iso8601_date(date_created_before), - 'DateCreated': serialize.iso8601_date(date_created), - 'DateCreated>': serialize.iso8601_date(date_created_after), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return RecordingPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of RecordingInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of RecordingInstance - :rtype: twilio.rest.api.v2010.account.call.recording.RecordingPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return RecordingPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a RecordingContext - - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.call.recording.RecordingContext - :rtype: twilio.rest.api.v2010.account.call.recording.RecordingContext - """ - return RecordingContext( - self._version, - account_sid=self._solution['account_sid'], - call_sid=self._solution['call_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a RecordingContext - - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.call.recording.RecordingContext - :rtype: twilio.rest.api.v2010.account.call.recording.RecordingContext - """ - return RecordingContext( - self._version, - account_sid=self._solution['account_sid'], - call_sid=self._solution['call_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.RecordingList>' - - -class RecordingPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the RecordingPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The account_sid - :param call_sid: The call_sid - - :returns: twilio.rest.api.v2010.account.call.recording.RecordingPage - :rtype: twilio.rest.api.v2010.account.call.recording.RecordingPage - """ - super(RecordingPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of RecordingInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.call.recording.RecordingInstance - :rtype: twilio.rest.api.v2010.account.call.recording.RecordingInstance - """ - return RecordingInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - call_sid=self._solution['call_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.RecordingPage>' - - -class RecordingContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, call_sid, sid): - """ - Initialize the RecordingContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param call_sid: The call_sid - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.call.recording.RecordingContext - :rtype: twilio.rest.api.v2010.account.call.recording.RecordingContext - """ - super(RecordingContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'call_sid': call_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/Calls/{call_sid}/Recordings/{sid}.json'.format(**self._solution) - - def fetch(self): - """ - Fetch a RecordingInstance - - :returns: Fetched RecordingInstance - :rtype: twilio.rest.api.v2010.account.call.recording.RecordingInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return RecordingInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - call_sid=self._solution['call_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the RecordingInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.RecordingContext {}>'.format(context) - - -class RecordingInstance(InstanceResource): - """ """ - - class Status(object): - IN_PROGRESS = "in-progress" - PAUSED = "paused" - STOPPED = "stopped" - PROCESSING = "processing" - COMPLETED = "completed" - FAILED = "failed" - - class Source(object): - DIALVERB = "DialVerb" - CONFERENCE = "Conference" - OUTBOUNDAPI = "OutboundAPI" - TRUNKING = "Trunking" - RECORDVERB = "RecordVerb" - STARTCALLRECORDINGAPI = "StartCallRecordingAPI" - STARTCONFERENCERECORDINGAPI = "StartConferenceRecordingAPI" - - def __init__(self, version, payload, account_sid, call_sid, sid=None): - """ - Initialize the RecordingInstance - - :returns: twilio.rest.api.v2010.account.call.recording.RecordingInstance - :rtype: twilio.rest.api.v2010.account.call.recording.RecordingInstance - """ - super(RecordingInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'api_version': payload['api_version'], - 'call_sid': payload['call_sid'], - 'conference_sid': payload['conference_sid'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'duration': payload['duration'], - 'sid': payload['sid'], - 'price': deserialize.decimal(payload['price']), - 'uri': payload['uri'], - 'encryption_details': payload['encryption_details'], - 'price_unit': payload['price_unit'], - 'status': payload['status'], - 'channels': deserialize.integer(payload['channels']), - 'source': payload['source'], - 'error_code': deserialize.integer(payload['error_code']), - } - - # Context - self._context = None - self._solution = { - 'account_sid': account_sid, - 'call_sid': call_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: RecordingContext for this RecordingInstance - :rtype: twilio.rest.api.v2010.account.call.recording.RecordingContext - """ - if self._context is None: - self._context = RecordingContext( - self._version, - account_sid=self._solution['account_sid'], - call_sid=self._solution['call_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def api_version(self): - """ - :returns: The api_version - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def call_sid(self): - """ - :returns: The call_sid - :rtype: unicode - """ - return self._properties['call_sid'] - - @property - def conference_sid(self): - """ - :returns: The conference_sid - :rtype: unicode - """ - return self._properties['conference_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def duration(self): - """ - :returns: The duration - :rtype: unicode - """ - return self._properties['duration'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def price(self): - """ - :returns: The price - :rtype: unicode - """ - return self._properties['price'] - - @property - def uri(self): - """ - :returns: The uri - :rtype: unicode - """ - return self._properties['uri'] - - @property - def encryption_details(self): - """ - :returns: The encryption_details - :rtype: dict - """ - return self._properties['encryption_details'] - - @property - def price_unit(self): - """ - :returns: The price_unit - :rtype: unicode - """ - return self._properties['price_unit'] - - @property - def status(self): - """ - :returns: The status - :rtype: RecordingInstance.Status - """ - return self._properties['status'] - - @property - def channels(self): - """ - :returns: The channels - :rtype: unicode - """ - return self._properties['channels'] - - @property - def source(self): - """ - :returns: The source - :rtype: RecordingInstance.Source - """ - return self._properties['source'] - - @property - def error_code(self): - """ - :returns: The error_code - :rtype: unicode - """ - return self._properties['error_code'] - - def fetch(self): - """ - Fetch a RecordingInstance - - :returns: Fetched RecordingInstance - :rtype: twilio.rest.api.v2010.account.call.recording.RecordingInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the RecordingInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.RecordingInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/conference/__init__.py b/twilio/rest/api/v2010/account/conference/__init__.py deleted file mode 100644 index 38a1ddd..0000000 --- a/twilio/rest/api/v2010/account/conference/__init__.py +++ /dev/null @@ -1,535 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.api.v2010.account.conference.participant import ParticipantList - - -class ConferenceList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the ConferenceList - - :param Version version: Version that contains the resource - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.conference.ConferenceList - :rtype: twilio.rest.api.v2010.account.conference.ConferenceList - """ - super(ConferenceList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/Conferences.json'.format(**self._solution) - - def stream(self, date_created_before=values.unset, date_created=values.unset, - date_created_after=values.unset, date_updated_before=values.unset, - date_updated=values.unset, date_updated_after=values.unset, - friendly_name=values.unset, status=values.unset, limit=None, - page_size=None): - """ - Streams ConferenceInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param date date_created_before: Filter by date created - :param date date_created: Filter by date created - :param date date_created_after: Filter by date created - :param date date_updated_before: Filter by date updated - :param date date_updated: Filter by date updated - :param date date_updated_after: Filter by date updated - :param unicode friendly_name: Filter by friendly name - :param ConferenceInstance.Status status: The status of the conference - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.conference.ConferenceInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - date_created_before=date_created_before, - date_created=date_created, - date_created_after=date_created_after, - date_updated_before=date_updated_before, - date_updated=date_updated, - date_updated_after=date_updated_after, - friendly_name=friendly_name, - status=status, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, date_created_before=values.unset, date_created=values.unset, - date_created_after=values.unset, date_updated_before=values.unset, - date_updated=values.unset, date_updated_after=values.unset, - friendly_name=values.unset, status=values.unset, limit=None, - page_size=None): - """ - Lists ConferenceInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param date date_created_before: Filter by date created - :param date date_created: Filter by date created - :param date date_created_after: Filter by date created - :param date date_updated_before: Filter by date updated - :param date date_updated: Filter by date updated - :param date date_updated_after: Filter by date updated - :param unicode friendly_name: Filter by friendly name - :param ConferenceInstance.Status status: The status of the conference - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.conference.ConferenceInstance] - """ - return list(self.stream( - date_created_before=date_created_before, - date_created=date_created, - date_created_after=date_created_after, - date_updated_before=date_updated_before, - date_updated=date_updated, - date_updated_after=date_updated_after, - friendly_name=friendly_name, - status=status, - limit=limit, - page_size=page_size, - )) - - def page(self, date_created_before=values.unset, date_created=values.unset, - date_created_after=values.unset, date_updated_before=values.unset, - date_updated=values.unset, date_updated_after=values.unset, - friendly_name=values.unset, status=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of ConferenceInstance records from the API. - Request is executed immediately - - :param date date_created_before: Filter by date created - :param date date_created: Filter by date created - :param date date_created_after: Filter by date created - :param date date_updated_before: Filter by date updated - :param date date_updated: Filter by date updated - :param date date_updated_after: Filter by date updated - :param unicode friendly_name: Filter by friendly name - :param ConferenceInstance.Status status: The status of the conference - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ConferenceInstance - :rtype: twilio.rest.api.v2010.account.conference.ConferencePage - """ - params = values.of({ - 'DateCreated<': serialize.iso8601_date(date_created_before), - 'DateCreated': serialize.iso8601_date(date_created), - 'DateCreated>': serialize.iso8601_date(date_created_after), - 'DateUpdated<': serialize.iso8601_date(date_updated_before), - 'DateUpdated': serialize.iso8601_date(date_updated), - 'DateUpdated>': serialize.iso8601_date(date_updated_after), - 'FriendlyName': friendly_name, - 'Status': status, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ConferencePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ConferenceInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ConferenceInstance - :rtype: twilio.rest.api.v2010.account.conference.ConferencePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ConferencePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a ConferenceContext - - :param sid: Fetch by unique conference Sid - - :returns: twilio.rest.api.v2010.account.conference.ConferenceContext - :rtype: twilio.rest.api.v2010.account.conference.ConferenceContext - """ - return ConferenceContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a ConferenceContext - - :param sid: Fetch by unique conference Sid - - :returns: twilio.rest.api.v2010.account.conference.ConferenceContext - :rtype: twilio.rest.api.v2010.account.conference.ConferenceContext - """ - return ConferenceContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.ConferenceList>' - - -class ConferencePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the ConferencePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.conference.ConferencePage - :rtype: twilio.rest.api.v2010.account.conference.ConferencePage - """ - super(ConferencePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ConferenceInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.conference.ConferenceInstance - :rtype: twilio.rest.api.v2010.account.conference.ConferenceInstance - """ - return ConferenceInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.ConferencePage>' - - -class ConferenceContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, sid): - """ - Initialize the ConferenceContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param sid: Fetch by unique conference Sid - - :returns: twilio.rest.api.v2010.account.conference.ConferenceContext - :rtype: twilio.rest.api.v2010.account.conference.ConferenceContext - """ - super(ConferenceContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/Conferences/{sid}.json'.format(**self._solution) - - # Dependents - self._participants = None - - def fetch(self): - """ - Fetch a ConferenceInstance - - :returns: Fetched ConferenceInstance - :rtype: twilio.rest.api.v2010.account.conference.ConferenceInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ConferenceInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def update(self, status=values.unset, announce_url=values.unset, - announce_method=values.unset): - """ - Update the ConferenceInstance - - :param ConferenceInstance.UpdateStatus status: The status - :param unicode announce_url: The announce_url - :param unicode announce_method: The announce_method - - :returns: Updated ConferenceInstance - :rtype: twilio.rest.api.v2010.account.conference.ConferenceInstance - """ - data = values.of({'Status': status, 'AnnounceUrl': announce_url, 'AnnounceMethod': announce_method, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ConferenceInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - @property - def participants(self): - """ - Access the participants - - :returns: twilio.rest.api.v2010.account.conference.participant.ParticipantList - :rtype: twilio.rest.api.v2010.account.conference.participant.ParticipantList - """ - if self._participants is None: - self._participants = ParticipantList( - self._version, - account_sid=self._solution['account_sid'], - conference_sid=self._solution['sid'], - ) - return self._participants - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.ConferenceContext {}>'.format(context) - - -class ConferenceInstance(InstanceResource): - """ """ - - class Status(object): - INIT = "init" - IN_PROGRESS = "in-progress" - COMPLETED = "completed" - - class UpdateStatus(object): - COMPLETED = "completed" - - def __init__(self, version, payload, account_sid, sid=None): - """ - Initialize the ConferenceInstance - - :returns: twilio.rest.api.v2010.account.conference.ConferenceInstance - :rtype: twilio.rest.api.v2010.account.conference.ConferenceInstance - """ - super(ConferenceInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'api_version': payload['api_version'], - 'friendly_name': payload['friendly_name'], - 'region': payload['region'], - 'sid': payload['sid'], - 'status': payload['status'], - 'uri': payload['uri'], - 'subresource_uris': payload['subresource_uris'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ConferenceContext for this ConferenceInstance - :rtype: twilio.rest.api.v2010.account.conference.ConferenceContext - """ - if self._context is None: - self._context = ConferenceContext( - self._version, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The unique sid that identifies this account - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def date_created(self): - """ - :returns: The date this resource was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this resource was last updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def api_version(self): - """ - :returns: The api_version - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def friendly_name(self): - """ - :returns: A human readable description of this resource - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def region(self): - """ - :returns: The region - :rtype: unicode - """ - return self._properties['region'] - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this conference - :rtype: unicode - """ - return self._properties['sid'] - - @property - def status(self): - """ - :returns: The status of the conference - :rtype: ConferenceInstance.Status - """ - return self._properties['status'] - - @property - def uri(self): - """ - :returns: The URI for this resource - :rtype: unicode - """ - return self._properties['uri'] - - @property - def subresource_uris(self): - """ - :returns: The subresource_uris - :rtype: unicode - """ - return self._properties['subresource_uris'] - - def fetch(self): - """ - Fetch a ConferenceInstance - - :returns: Fetched ConferenceInstance - :rtype: twilio.rest.api.v2010.account.conference.ConferenceInstance - """ - return self._proxy.fetch() - - def update(self, status=values.unset, announce_url=values.unset, - announce_method=values.unset): - """ - Update the ConferenceInstance - - :param ConferenceInstance.UpdateStatus status: The status - :param unicode announce_url: The announce_url - :param unicode announce_method: The announce_method - - :returns: Updated ConferenceInstance - :rtype: twilio.rest.api.v2010.account.conference.ConferenceInstance - """ - return self._proxy.update(status=status, announce_url=announce_url, announce_method=announce_method, ) - - @property - def participants(self): - """ - Access the participants - - :returns: twilio.rest.api.v2010.account.conference.participant.ParticipantList - :rtype: twilio.rest.api.v2010.account.conference.participant.ParticipantList - """ - return self._proxy.participants - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.ConferenceInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/conference/__pycache__/__init__.cpython-36.pyc b/twilio/rest/api/v2010/account/conference/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 9e518752b65970debc2bc1309aed68abd83d887c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18752 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 diff --git a/twilio/rest/api/v2010/account/conference/__pycache__/participant.cpython-36.pyc b/twilio/rest/api/v2010/account/conference/__pycache__/participant.cpython-36.pyc deleted file mode 100644 index 7a69ca48d49d2e45871edd0c657f3715eac80793..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22392 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 diff --git a/twilio/rest/api/v2010/account/conference/participant.py b/twilio/rest/api/v2010/account/conference/participant.py deleted file mode 100644 index 7d60cd5..0000000 --- a/twilio/rest/api/v2010/account/conference/participant.py +++ /dev/null @@ -1,633 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class ParticipantList(ListResource): - """ """ - - def __init__(self, version, account_sid, conference_sid): - """ - Initialize the ParticipantList - - :param Version version: Version that contains the resource - :param account_sid: The unique sid that identifies this account - :param conference_sid: A string that uniquely identifies this conference - - :returns: twilio.rest.api.v2010.account.conference.participant.ParticipantList - :rtype: twilio.rest.api.v2010.account.conference.participant.ParticipantList - """ - super(ParticipantList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'conference_sid': conference_sid, } - self._uri = '/Accounts/{account_sid}/Conferences/{conference_sid}/Participants.json'.format(**self._solution) - - def create(self, from_, to, status_callback=values.unset, - status_callback_method=values.unset, - status_callback_event=values.unset, timeout=values.unset, - record=values.unset, muted=values.unset, beep=values.unset, - start_conference_on_enter=values.unset, - end_conference_on_exit=values.unset, wait_url=values.unset, - wait_method=values.unset, early_media=values.unset, - max_participants=values.unset, conference_record=values.unset, - conference_trim=values.unset, - conference_status_callback=values.unset, - conference_status_callback_method=values.unset, - conference_status_callback_event=values.unset, - recording_channels=values.unset, - recording_status_callback=values.unset, - recording_status_callback_method=values.unset, - sip_auth_username=values.unset, sip_auth_password=values.unset, - region=values.unset, - conference_recording_status_callback=values.unset, - conference_recording_status_callback_method=values.unset, - recording_status_callback_event=values.unset, - conference_recording_status_callback_event=values.unset): - """ - Create a new ParticipantInstance - - :param unicode from_: The from - :param unicode to: The to - :param unicode status_callback: The status_callback - :param unicode status_callback_method: The status_callback_method - :param unicode status_callback_event: The status_callback_event - :param unicode timeout: The timeout - :param bool record: The record - :param bool muted: The muted - :param unicode beep: The beep - :param bool start_conference_on_enter: The start_conference_on_enter - :param bool end_conference_on_exit: The end_conference_on_exit - :param unicode wait_url: The wait_url - :param unicode wait_method: The wait_method - :param bool early_media: The early_media - :param unicode max_participants: The max_participants - :param unicode conference_record: The conference_record - :param unicode conference_trim: The conference_trim - :param unicode conference_status_callback: The conference_status_callback - :param unicode conference_status_callback_method: The conference_status_callback_method - :param unicode conference_status_callback_event: The conference_status_callback_event - :param unicode recording_channels: The recording_channels - :param unicode recording_status_callback: The recording_status_callback - :param unicode recording_status_callback_method: The recording_status_callback_method - :param unicode sip_auth_username: The sip_auth_username - :param unicode sip_auth_password: The sip_auth_password - :param unicode region: The region - :param unicode conference_recording_status_callback: The conference_recording_status_callback - :param unicode conference_recording_status_callback_method: The conference_recording_status_callback_method - :param unicode recording_status_callback_event: The recording_status_callback_event - :param unicode conference_recording_status_callback_event: The conference_recording_status_callback_event - - :returns: Newly created ParticipantInstance - :rtype: twilio.rest.api.v2010.account.conference.participant.ParticipantInstance - """ - data = values.of({ - 'From': from_, - 'To': to, - 'StatusCallback': status_callback, - 'StatusCallbackMethod': status_callback_method, - 'StatusCallbackEvent': serialize.map(status_callback_event, lambda e: e), - 'Timeout': timeout, - 'Record': record, - 'Muted': muted, - 'Beep': beep, - 'StartConferenceOnEnter': start_conference_on_enter, - 'EndConferenceOnExit': end_conference_on_exit, - 'WaitUrl': wait_url, - 'WaitMethod': wait_method, - 'EarlyMedia': early_media, - 'MaxParticipants': max_participants, - 'ConferenceRecord': conference_record, - 'ConferenceTrim': conference_trim, - 'ConferenceStatusCallback': conference_status_callback, - 'ConferenceStatusCallbackMethod': conference_status_callback_method, - 'ConferenceStatusCallbackEvent': serialize.map(conference_status_callback_event, lambda e: e), - 'RecordingChannels': recording_channels, - 'RecordingStatusCallback': recording_status_callback, - 'RecordingStatusCallbackMethod': recording_status_callback_method, - 'SipAuthUsername': sip_auth_username, - 'SipAuthPassword': sip_auth_password, - 'Region': region, - 'ConferenceRecordingStatusCallback': conference_recording_status_callback, - 'ConferenceRecordingStatusCallbackMethod': conference_recording_status_callback_method, - 'RecordingStatusCallbackEvent': serialize.map(recording_status_callback_event, lambda e: e), - 'ConferenceRecordingStatusCallbackEvent': serialize.map(conference_recording_status_callback_event, lambda e: e), - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return ParticipantInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - conference_sid=self._solution['conference_sid'], - ) - - def stream(self, muted=values.unset, hold=values.unset, limit=None, - page_size=None): - """ - Streams ParticipantInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param bool muted: Filter by muted participants - :param bool hold: The hold - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.conference.participant.ParticipantInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(muted=muted, hold=hold, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, muted=values.unset, hold=values.unset, limit=None, - page_size=None): - """ - Lists ParticipantInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param bool muted: Filter by muted participants - :param bool hold: The hold - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.conference.participant.ParticipantInstance] - """ - return list(self.stream(muted=muted, hold=hold, limit=limit, page_size=page_size, )) - - def page(self, muted=values.unset, hold=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of ParticipantInstance records from the API. - Request is executed immediately - - :param bool muted: Filter by muted participants - :param bool hold: The hold - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ParticipantInstance - :rtype: twilio.rest.api.v2010.account.conference.participant.ParticipantPage - """ - params = values.of({ - 'Muted': muted, - 'Hold': hold, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ParticipantPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ParticipantInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ParticipantInstance - :rtype: twilio.rest.api.v2010.account.conference.participant.ParticipantPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ParticipantPage(self._version, response, self._solution) - - def get(self, call_sid): - """ - Constructs a ParticipantContext - - :param call_sid: The call_sid - - :returns: twilio.rest.api.v2010.account.conference.participant.ParticipantContext - :rtype: twilio.rest.api.v2010.account.conference.participant.ParticipantContext - """ - return ParticipantContext( - self._version, - account_sid=self._solution['account_sid'], - conference_sid=self._solution['conference_sid'], - call_sid=call_sid, - ) - - def __call__(self, call_sid): - """ - Constructs a ParticipantContext - - :param call_sid: The call_sid - - :returns: twilio.rest.api.v2010.account.conference.participant.ParticipantContext - :rtype: twilio.rest.api.v2010.account.conference.participant.ParticipantContext - """ - return ParticipantContext( - self._version, - account_sid=self._solution['account_sid'], - conference_sid=self._solution['conference_sid'], - call_sid=call_sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.ParticipantList>' - - -class ParticipantPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the ParticipantPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The unique sid that identifies this account - :param conference_sid: A string that uniquely identifies this conference - - :returns: twilio.rest.api.v2010.account.conference.participant.ParticipantPage - :rtype: twilio.rest.api.v2010.account.conference.participant.ParticipantPage - """ - super(ParticipantPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ParticipantInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.conference.participant.ParticipantInstance - :rtype: twilio.rest.api.v2010.account.conference.participant.ParticipantInstance - """ - return ParticipantInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - conference_sid=self._solution['conference_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.ParticipantPage>' - - -class ParticipantContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, conference_sid, call_sid): - """ - Initialize the ParticipantContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param conference_sid: The string that uniquely identifies this conference - :param call_sid: The call_sid - - :returns: twilio.rest.api.v2010.account.conference.participant.ParticipantContext - :rtype: twilio.rest.api.v2010.account.conference.participant.ParticipantContext - """ - super(ParticipantContext, self).__init__(version) - - # Path Solution - self._solution = { - 'account_sid': account_sid, - 'conference_sid': conference_sid, - 'call_sid': call_sid, - } - self._uri = '/Accounts/{account_sid}/Conferences/{conference_sid}/Participants/{call_sid}.json'.format(**self._solution) - - def fetch(self): - """ - Fetch a ParticipantInstance - - :returns: Fetched ParticipantInstance - :rtype: twilio.rest.api.v2010.account.conference.participant.ParticipantInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ParticipantInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - conference_sid=self._solution['conference_sid'], - call_sid=self._solution['call_sid'], - ) - - def update(self, muted=values.unset, hold=values.unset, hold_url=values.unset, - hold_method=values.unset, announce_url=values.unset, - announce_method=values.unset): - """ - Update the ParticipantInstance - - :param bool muted: Indicates if the participant should be muted - :param bool hold: The hold - :param unicode hold_url: The hold_url - :param unicode hold_method: The hold_method - :param unicode announce_url: The announce_url - :param unicode announce_method: The announce_method - - :returns: Updated ParticipantInstance - :rtype: twilio.rest.api.v2010.account.conference.participant.ParticipantInstance - """ - data = values.of({ - 'Muted': muted, - 'Hold': hold, - 'HoldUrl': hold_url, - 'HoldMethod': hold_method, - 'AnnounceUrl': announce_url, - 'AnnounceMethod': announce_method, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ParticipantInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - conference_sid=self._solution['conference_sid'], - call_sid=self._solution['call_sid'], - ) - - def delete(self): - """ - Deletes the ParticipantInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.ParticipantContext {}>'.format(context) - - -class ParticipantInstance(InstanceResource): - """ """ - - class Status(object): - QUEUED = "queued" - CONNECTING = "connecting" - RINGING = "ringing" - CONNECTED = "connected" - COMPLETE = "complete" - FAILED = "failed" - - def __init__(self, version, payload, account_sid, conference_sid, - call_sid=None): - """ - Initialize the ParticipantInstance - - :returns: twilio.rest.api.v2010.account.conference.participant.ParticipantInstance - :rtype: twilio.rest.api.v2010.account.conference.participant.ParticipantInstance - """ - super(ParticipantInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'call_sid': payload['call_sid'], - 'conference_sid': payload['conference_sid'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'end_conference_on_exit': payload['end_conference_on_exit'], - 'muted': payload['muted'], - 'hold': payload['hold'], - 'start_conference_on_enter': payload['start_conference_on_enter'], - 'status': payload['status'], - 'uri': payload['uri'], - } - - # Context - self._context = None - self._solution = { - 'account_sid': account_sid, - 'conference_sid': conference_sid, - 'call_sid': call_sid or self._properties['call_sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ParticipantContext for this ParticipantInstance - :rtype: twilio.rest.api.v2010.account.conference.participant.ParticipantContext - """ - if self._context is None: - self._context = ParticipantContext( - self._version, - account_sid=self._solution['account_sid'], - conference_sid=self._solution['conference_sid'], - call_sid=self._solution['call_sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The unique sid that identifies this account - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def call_sid(self): - """ - :returns: A string that uniquely identifies this call - :rtype: unicode - """ - return self._properties['call_sid'] - - @property - def conference_sid(self): - """ - :returns: A string that uniquely identifies this conference - :rtype: unicode - """ - return self._properties['conference_sid'] - - @property - def date_created(self): - """ - :returns: The date this resource was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this resource was last updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def end_conference_on_exit(self): - """ - :returns: Indicates if the endConferenceOnExit was set - :rtype: bool - """ - return self._properties['end_conference_on_exit'] - - @property - def muted(self): - """ - :returns: Indicates if the participant is muted - :rtype: bool - """ - return self._properties['muted'] - - @property - def hold(self): - """ - :returns: The hold - :rtype: bool - """ - return self._properties['hold'] - - @property - def start_conference_on_enter(self): - """ - :returns: Indicates if the startConferenceOnEnter attribute was set - :rtype: bool - """ - return self._properties['start_conference_on_enter'] - - @property - def status(self): - """ - :returns: The status - :rtype: ParticipantInstance.Status - """ - return self._properties['status'] - - @property - def uri(self): - """ - :returns: The URI for this resource - :rtype: unicode - """ - return self._properties['uri'] - - def fetch(self): - """ - Fetch a ParticipantInstance - - :returns: Fetched ParticipantInstance - :rtype: twilio.rest.api.v2010.account.conference.participant.ParticipantInstance - """ - return self._proxy.fetch() - - def update(self, muted=values.unset, hold=values.unset, hold_url=values.unset, - hold_method=values.unset, announce_url=values.unset, - announce_method=values.unset): - """ - Update the ParticipantInstance - - :param bool muted: Indicates if the participant should be muted - :param bool hold: The hold - :param unicode hold_url: The hold_url - :param unicode hold_method: The hold_method - :param unicode announce_url: The announce_url - :param unicode announce_method: The announce_method - - :returns: Updated ParticipantInstance - :rtype: twilio.rest.api.v2010.account.conference.participant.ParticipantInstance - """ - return self._proxy.update( - muted=muted, - hold=hold, - hold_url=hold_url, - hold_method=hold_method, - announce_url=announce_url, - announce_method=announce_method, - ) - - def delete(self): - """ - Deletes the ParticipantInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.ParticipantInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/connect_app.py b/twilio/rest/api/v2010/account/connect_app.py deleted file mode 100644 index d2827b5..0000000 --- a/twilio/rest/api/v2010/account/connect_app.py +++ /dev/null @@ -1,474 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class ConnectAppList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the ConnectAppList - - :param Version version: Version that contains the resource - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.connect_app.ConnectAppList - :rtype: twilio.rest.api.v2010.account.connect_app.ConnectAppList - """ - super(ConnectAppList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/ConnectApps.json'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams ConnectAppInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.connect_app.ConnectAppInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists ConnectAppInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.connect_app.ConnectAppInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of ConnectAppInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ConnectAppInstance - :rtype: twilio.rest.api.v2010.account.connect_app.ConnectAppPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ConnectAppPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ConnectAppInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ConnectAppInstance - :rtype: twilio.rest.api.v2010.account.connect_app.ConnectAppPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ConnectAppPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a ConnectAppContext - - :param sid: Fetch by unique connect-app Sid - - :returns: twilio.rest.api.v2010.account.connect_app.ConnectAppContext - :rtype: twilio.rest.api.v2010.account.connect_app.ConnectAppContext - """ - return ConnectAppContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a ConnectAppContext - - :param sid: Fetch by unique connect-app Sid - - :returns: twilio.rest.api.v2010.account.connect_app.ConnectAppContext - :rtype: twilio.rest.api.v2010.account.connect_app.ConnectAppContext - """ - return ConnectAppContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.ConnectAppList>' - - -class ConnectAppPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the ConnectAppPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.connect_app.ConnectAppPage - :rtype: twilio.rest.api.v2010.account.connect_app.ConnectAppPage - """ - super(ConnectAppPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ConnectAppInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.connect_app.ConnectAppInstance - :rtype: twilio.rest.api.v2010.account.connect_app.ConnectAppInstance - """ - return ConnectAppInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.ConnectAppPage>' - - -class ConnectAppContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, sid): - """ - Initialize the ConnectAppContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param sid: Fetch by unique connect-app Sid - - :returns: twilio.rest.api.v2010.account.connect_app.ConnectAppContext - :rtype: twilio.rest.api.v2010.account.connect_app.ConnectAppContext - """ - super(ConnectAppContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/ConnectApps/{sid}.json'.format(**self._solution) - - def fetch(self): - """ - Fetch a ConnectAppInstance - - :returns: Fetched ConnectAppInstance - :rtype: twilio.rest.api.v2010.account.connect_app.ConnectAppInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ConnectAppInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def update(self, authorize_redirect_url=values.unset, company_name=values.unset, - deauthorize_callback_method=values.unset, - deauthorize_callback_url=values.unset, description=values.unset, - friendly_name=values.unset, homepage_url=values.unset, - permissions=values.unset): - """ - Update the ConnectAppInstance - - :param unicode authorize_redirect_url: URIL Twilio sends requests when users authorize - :param unicode company_name: The company name set for this Connect App. - :param unicode deauthorize_callback_method: HTTP method Twilio WIll use making requests to the url - :param unicode deauthorize_callback_url: URL Twilio will send a request when a user de-authorizes this app - :param unicode description: A more detailed human readable description - :param unicode friendly_name: A human readable name for the Connect App. - :param unicode homepage_url: The URL users can obtain more information - :param ConnectAppInstance.Permission permissions: The set of permissions that your ConnectApp requests. - - :returns: Updated ConnectAppInstance - :rtype: twilio.rest.api.v2010.account.connect_app.ConnectAppInstance - """ - data = values.of({ - 'AuthorizeRedirectUrl': authorize_redirect_url, - 'CompanyName': company_name, - 'DeauthorizeCallbackMethod': deauthorize_callback_method, - 'DeauthorizeCallbackUrl': deauthorize_callback_url, - 'Description': description, - 'FriendlyName': friendly_name, - 'HomepageUrl': homepage_url, - 'Permissions': serialize.map(permissions, lambda e: e), - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ConnectAppInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.ConnectAppContext {}>'.format(context) - - -class ConnectAppInstance(InstanceResource): - """ """ - - class Permission(object): - GET_ALL = "get-all" - POST_ALL = "post-all" - - def __init__(self, version, payload, account_sid, sid=None): - """ - Initialize the ConnectAppInstance - - :returns: twilio.rest.api.v2010.account.connect_app.ConnectAppInstance - :rtype: twilio.rest.api.v2010.account.connect_app.ConnectAppInstance - """ - super(ConnectAppInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'authorize_redirect_url': payload['authorize_redirect_url'], - 'company_name': payload['company_name'], - 'deauthorize_callback_method': payload['deauthorize_callback_method'], - 'deauthorize_callback_url': payload['deauthorize_callback_url'], - 'description': payload['description'], - 'friendly_name': payload['friendly_name'], - 'homepage_url': payload['homepage_url'], - 'permissions': payload['permissions'], - 'sid': payload['sid'], - 'uri': payload['uri'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ConnectAppContext for this ConnectAppInstance - :rtype: twilio.rest.api.v2010.account.connect_app.ConnectAppContext - """ - if self._context is None: - self._context = ConnectAppContext( - self._version, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The unique sid that identifies this account - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def authorize_redirect_url(self): - """ - :returns: URIL Twilio sends requests when users authorize - :rtype: unicode - """ - return self._properties['authorize_redirect_url'] - - @property - def company_name(self): - """ - :returns: The company name set for this Connect App. - :rtype: unicode - """ - return self._properties['company_name'] - - @property - def deauthorize_callback_method(self): - """ - :returns: HTTP method Twilio WIll use making requests to the url - :rtype: unicode - """ - return self._properties['deauthorize_callback_method'] - - @property - def deauthorize_callback_url(self): - """ - :returns: URL Twilio will send a request when a user de-authorizes this app - :rtype: unicode - """ - return self._properties['deauthorize_callback_url'] - - @property - def description(self): - """ - :returns: A more detailed human readable description - :rtype: unicode - """ - return self._properties['description'] - - @property - def friendly_name(self): - """ - :returns: A human readable name for the Connect App. - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def homepage_url(self): - """ - :returns: The URL users can obtain more information - :rtype: unicode - """ - return self._properties['homepage_url'] - - @property - def permissions(self): - """ - :returns: The set of permissions that your ConnectApp requests. - :rtype: ConnectAppInstance.Permission - """ - return self._properties['permissions'] - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this connect-apps - :rtype: unicode - """ - return self._properties['sid'] - - @property - def uri(self): - """ - :returns: The URI for this resource - :rtype: unicode - """ - return self._properties['uri'] - - def fetch(self): - """ - Fetch a ConnectAppInstance - - :returns: Fetched ConnectAppInstance - :rtype: twilio.rest.api.v2010.account.connect_app.ConnectAppInstance - """ - return self._proxy.fetch() - - def update(self, authorize_redirect_url=values.unset, company_name=values.unset, - deauthorize_callback_method=values.unset, - deauthorize_callback_url=values.unset, description=values.unset, - friendly_name=values.unset, homepage_url=values.unset, - permissions=values.unset): - """ - Update the ConnectAppInstance - - :param unicode authorize_redirect_url: URIL Twilio sends requests when users authorize - :param unicode company_name: The company name set for this Connect App. - :param unicode deauthorize_callback_method: HTTP method Twilio WIll use making requests to the url - :param unicode deauthorize_callback_url: URL Twilio will send a request when a user de-authorizes this app - :param unicode description: A more detailed human readable description - :param unicode friendly_name: A human readable name for the Connect App. - :param unicode homepage_url: The URL users can obtain more information - :param ConnectAppInstance.Permission permissions: The set of permissions that your ConnectApp requests. - - :returns: Updated ConnectAppInstance - :rtype: twilio.rest.api.v2010.account.connect_app.ConnectAppInstance - """ - return self._proxy.update( - authorize_redirect_url=authorize_redirect_url, - company_name=company_name, - deauthorize_callback_method=deauthorize_callback_method, - deauthorize_callback_url=deauthorize_callback_url, - description=description, - friendly_name=friendly_name, - homepage_url=homepage_url, - permissions=permissions, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.ConnectAppInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/incoming_phone_number/__init__.py b/twilio/rest/api/v2010/account/incoming_phone_number/__init__.py deleted file mode 100644 index 1d721f8..0000000 --- a/twilio/rest/api/v2010/account/incoming_phone_number/__init__.py +++ /dev/null @@ -1,939 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on import AssignedAddOnList -from twilio.rest.api.v2010.account.incoming_phone_number.local import LocalList -from twilio.rest.api.v2010.account.incoming_phone_number.mobile import MobileList -from twilio.rest.api.v2010.account.incoming_phone_number.toll_free import TollFreeList - - -class IncomingPhoneNumberList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the IncomingPhoneNumberList - - :param Version version: Version that contains the resource - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberList - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberList - """ - super(IncomingPhoneNumberList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/IncomingPhoneNumbers.json'.format(**self._solution) - - # Components - self._local = None - self._mobile = None - self._toll_free = None - - def stream(self, beta=values.unset, friendly_name=values.unset, - phone_number=values.unset, origin=values.unset, limit=None, - page_size=None): - """ - Streams IncomingPhoneNumberInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param bool beta: Include new phone numbers - :param unicode friendly_name: Filter by friendly name - :param unicode phone_number: Filter by incoming phone number - :param unicode origin: The origin - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - beta=beta, - friendly_name=friendly_name, - phone_number=phone_number, - origin=origin, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, beta=values.unset, friendly_name=values.unset, - phone_number=values.unset, origin=values.unset, limit=None, - page_size=None): - """ - Lists IncomingPhoneNumberInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param bool beta: Include new phone numbers - :param unicode friendly_name: Filter by friendly name - :param unicode phone_number: Filter by incoming phone number - :param unicode origin: The origin - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberInstance] - """ - return list(self.stream( - beta=beta, - friendly_name=friendly_name, - phone_number=phone_number, - origin=origin, - limit=limit, - page_size=page_size, - )) - - def page(self, beta=values.unset, friendly_name=values.unset, - phone_number=values.unset, origin=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of IncomingPhoneNumberInstance records from the API. - Request is executed immediately - - :param bool beta: Include new phone numbers - :param unicode friendly_name: Filter by friendly name - :param unicode phone_number: Filter by incoming phone number - :param unicode origin: The origin - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of IncomingPhoneNumberInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberPage - """ - params = values.of({ - 'Beta': beta, - 'FriendlyName': friendly_name, - 'PhoneNumber': phone_number, - 'Origin': origin, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return IncomingPhoneNumberPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of IncomingPhoneNumberInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of IncomingPhoneNumberInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return IncomingPhoneNumberPage(self._version, response, self._solution) - - def create(self, api_version=values.unset, friendly_name=values.unset, - sms_application_sid=values.unset, sms_fallback_method=values.unset, - sms_fallback_url=values.unset, sms_method=values.unset, - sms_url=values.unset, status_callback=values.unset, - status_callback_method=values.unset, - voice_application_sid=values.unset, - voice_caller_id_lookup=values.unset, - voice_fallback_method=values.unset, voice_fallback_url=values.unset, - voice_method=values.unset, voice_url=values.unset, - emergency_status=values.unset, emergency_address_sid=values.unset, - trunk_sid=values.unset, identity_sid=values.unset, - address_sid=values.unset, phone_number=values.unset, - area_code=values.unset): - """ - Create a new IncomingPhoneNumberInstance - - :param unicode api_version: The Twilio Rest API version to use - :param unicode friendly_name: A human readable description of this resource - :param unicode sms_application_sid: Unique string that identifies the application - :param unicode sms_fallback_method: HTTP method used with sms fallback url - :param unicode sms_fallback_url: URL Twilio will request if an error occurs in executing TwiML - :param unicode sms_method: HTTP method to use with sms url - :param unicode sms_url: URL Twilio will request when receiving an SMS - :param unicode status_callback: URL Twilio will use to pass status parameters - :param unicode status_callback_method: HTTP method twilio will use with status callback - :param unicode voice_application_sid: The unique sid of the application to handle this number - :param bool voice_caller_id_lookup: Look up the caller's caller-ID - :param unicode voice_fallback_method: HTTP method used with fallback_url - :param unicode voice_fallback_url: URL Twilio will request when an error occurs in TwiML - :param unicode voice_method: HTTP method used with the voice url - :param unicode voice_url: URL Twilio will request when receiving a call - :param IncomingPhoneNumberInstance.EmergencyStatus emergency_status: The emergency_status - :param unicode emergency_address_sid: The emergency_address_sid - :param unicode trunk_sid: Unique string to identify the trunk - :param unicode identity_sid: Unique string that identifies the identity associated with number - :param unicode address_sid: Unique string that identifies the address associated with number - :param unicode phone_number: The phone number - :param unicode area_code: The desired area code for the new number - - :returns: Newly created IncomingPhoneNumberInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberInstance - """ - data = values.of({ - 'PhoneNumber': phone_number, - 'AreaCode': area_code, - 'ApiVersion': api_version, - 'FriendlyName': friendly_name, - 'SmsApplicationSid': sms_application_sid, - 'SmsFallbackMethod': sms_fallback_method, - 'SmsFallbackUrl': sms_fallback_url, - 'SmsMethod': sms_method, - 'SmsUrl': sms_url, - 'StatusCallback': status_callback, - 'StatusCallbackMethod': status_callback_method, - 'VoiceApplicationSid': voice_application_sid, - 'VoiceCallerIdLookup': voice_caller_id_lookup, - 'VoiceFallbackMethod': voice_fallback_method, - 'VoiceFallbackUrl': voice_fallback_url, - 'VoiceMethod': voice_method, - 'VoiceUrl': voice_url, - 'EmergencyStatus': emergency_status, - 'EmergencyAddressSid': emergency_address_sid, - 'TrunkSid': trunk_sid, - 'IdentitySid': identity_sid, - 'AddressSid': address_sid, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return IncomingPhoneNumberInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - ) - - @property - def local(self): - """ - Access the local - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.local.LocalList - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.local.LocalList - """ - if self._local is None: - self._local = LocalList(self._version, account_sid=self._solution['account_sid'], ) - return self._local - - @property - def mobile(self): - """ - Access the mobile - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.mobile.MobileList - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.mobile.MobileList - """ - if self._mobile is None: - self._mobile = MobileList(self._version, account_sid=self._solution['account_sid'], ) - return self._mobile - - @property - def toll_free(self): - """ - Access the toll_free - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.toll_free.TollFreeList - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.toll_free.TollFreeList - """ - if self._toll_free is None: - self._toll_free = TollFreeList(self._version, account_sid=self._solution['account_sid'], ) - return self._toll_free - - def get(self, sid): - """ - Constructs a IncomingPhoneNumberContext - - :param sid: Fetch by unique incoming-phone-number Sid - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberContext - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberContext - """ - return IncomingPhoneNumberContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a IncomingPhoneNumberContext - - :param sid: Fetch by unique incoming-phone-number Sid - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberContext - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberContext - """ - return IncomingPhoneNumberContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.IncomingPhoneNumberList>' - - -class IncomingPhoneNumberPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the IncomingPhoneNumberPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberPage - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberPage - """ - super(IncomingPhoneNumberPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of IncomingPhoneNumberInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberInstance - """ - return IncomingPhoneNumberInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.IncomingPhoneNumberPage>' - - -class IncomingPhoneNumberContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, sid): - """ - Initialize the IncomingPhoneNumberContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param sid: Fetch by unique incoming-phone-number Sid - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberContext - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberContext - """ - super(IncomingPhoneNumberContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/IncomingPhoneNumbers/{sid}.json'.format(**self._solution) - - # Dependents - self._assigned_add_ons = None - - def update(self, account_sid=values.unset, api_version=values.unset, - friendly_name=values.unset, sms_application_sid=values.unset, - sms_fallback_method=values.unset, sms_fallback_url=values.unset, - sms_method=values.unset, sms_url=values.unset, - status_callback=values.unset, status_callback_method=values.unset, - voice_application_sid=values.unset, - voice_caller_id_lookup=values.unset, - voice_fallback_method=values.unset, voice_fallback_url=values.unset, - voice_method=values.unset, voice_url=values.unset, - emergency_status=values.unset, emergency_address_sid=values.unset, - trunk_sid=values.unset, voice_receive_mode=values.unset, - identity_sid=values.unset, address_sid=values.unset): - """ - Update the IncomingPhoneNumberInstance - - :param unicode account_sid: The new owner of the phone number - :param unicode api_version: The Twilio REST API version to use - :param unicode friendly_name: A human readable description of this resource - :param unicode sms_application_sid: Unique string that identifies the application - :param unicode sms_fallback_method: HTTP method used with sms fallback url - :param unicode sms_fallback_url: URL Twilio will request if an error occurs in executing TwiML - :param unicode sms_method: HTTP method to use with sms url - :param unicode sms_url: URL Twilio will request when receiving an SMS - :param unicode status_callback: URL Twilio will use to pass status parameters - :param unicode status_callback_method: HTTP method twilio will use with status callback - :param unicode voice_application_sid: The unique sid of the application to handle this number - :param bool voice_caller_id_lookup: Look up the caller's caller-ID - :param unicode voice_fallback_method: HTTP method used with fallback_url - :param unicode voice_fallback_url: URL Twilio will request when an error occurs in TwiML - :param unicode voice_method: HTTP method used with the voice url - :param unicode voice_url: URL Twilio will request when receiving a call - :param IncomingPhoneNumberInstance.EmergencyStatus emergency_status: The emergency_status - :param unicode emergency_address_sid: The emergency_address_sid - :param unicode trunk_sid: Unique string to identify the trunk - :param IncomingPhoneNumberInstance.VoiceReceiveMode voice_receive_mode: The voice_receive_mode - :param unicode identity_sid: Unique string that identifies the identity associated with number - :param unicode address_sid: Unique string that identifies the address associated with number - - :returns: Updated IncomingPhoneNumberInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberInstance - """ - data = values.of({ - 'AccountSid': account_sid, - 'ApiVersion': api_version, - 'FriendlyName': friendly_name, - 'SmsApplicationSid': sms_application_sid, - 'SmsFallbackMethod': sms_fallback_method, - 'SmsFallbackUrl': sms_fallback_url, - 'SmsMethod': sms_method, - 'SmsUrl': sms_url, - 'StatusCallback': status_callback, - 'StatusCallbackMethod': status_callback_method, - 'VoiceApplicationSid': voice_application_sid, - 'VoiceCallerIdLookup': voice_caller_id_lookup, - 'VoiceFallbackMethod': voice_fallback_method, - 'VoiceFallbackUrl': voice_fallback_url, - 'VoiceMethod': voice_method, - 'VoiceUrl': voice_url, - 'EmergencyStatus': emergency_status, - 'EmergencyAddressSid': emergency_address_sid, - 'TrunkSid': trunk_sid, - 'VoiceReceiveMode': voice_receive_mode, - 'IdentitySid': identity_sid, - 'AddressSid': address_sid, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return IncomingPhoneNumberInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def fetch(self): - """ - Fetch a IncomingPhoneNumberInstance - - :returns: Fetched IncomingPhoneNumberInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return IncomingPhoneNumberInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the IncomingPhoneNumberInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - @property - def assigned_add_ons(self): - """ - Access the assigned_add_ons - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.AssignedAddOnList - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.AssignedAddOnList - """ - if self._assigned_add_ons is None: - self._assigned_add_ons = AssignedAddOnList( - self._version, - account_sid=self._solution['account_sid'], - resource_sid=self._solution['sid'], - ) - return self._assigned_add_ons - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.IncomingPhoneNumberContext {}>'.format(context) - - -class IncomingPhoneNumberInstance(InstanceResource): - """ """ - - class AddressRequirement(object): - NONE = "none" - ANY = "any" - LOCAL = "local" - FOREIGN = "foreign" - - class EmergencyStatus(object): - ACTIVE = "Active" - INACTIVE = "Inactive" - - class VoiceReceiveMode(object): - VOICE = "voice" - FAX = "fax" - - def __init__(self, version, payload, account_sid, sid=None): - """ - Initialize the IncomingPhoneNumberInstance - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberInstance - """ - super(IncomingPhoneNumberInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'address_sid': payload['address_sid'], - 'address_requirements': payload['address_requirements'], - 'api_version': payload['api_version'], - 'beta': payload['beta'], - 'capabilities': payload['capabilities'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'friendly_name': payload['friendly_name'], - 'identity_sid': payload['identity_sid'], - 'phone_number': payload['phone_number'], - 'origin': payload['origin'], - 'sid': payload['sid'], - 'sms_application_sid': payload['sms_application_sid'], - 'sms_fallback_method': payload['sms_fallback_method'], - 'sms_fallback_url': payload['sms_fallback_url'], - 'sms_method': payload['sms_method'], - 'sms_url': payload['sms_url'], - 'status_callback': payload['status_callback'], - 'status_callback_method': payload['status_callback_method'], - 'trunk_sid': payload['trunk_sid'], - 'uri': payload['uri'], - 'voice_application_sid': payload['voice_application_sid'], - 'voice_caller_id_lookup': payload['voice_caller_id_lookup'], - 'voice_fallback_method': payload['voice_fallback_method'], - 'voice_fallback_url': payload['voice_fallback_url'], - 'voice_method': payload['voice_method'], - 'voice_url': payload['voice_url'], - 'emergency_status': payload['emergency_status'], - 'emergency_address_sid': payload['emergency_address_sid'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: IncomingPhoneNumberContext for this IncomingPhoneNumberInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberContext - """ - if self._context is None: - self._context = IncomingPhoneNumberContext( - self._version, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The unique sid that identifies this account - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def address_sid(self): - """ - :returns: Unique string that identifies the address associated with number - :rtype: unicode - """ - return self._properties['address_sid'] - - @property - def address_requirements(self): - """ - :returns: Indicates if the customer requires an address - :rtype: IncomingPhoneNumberInstance.AddressRequirement - """ - return self._properties['address_requirements'] - - @property - def api_version(self): - """ - :returns: The Twilio REST API version to use - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def beta(self): - """ - :returns: Indicates if the phone number is a beta number - :rtype: bool - """ - return self._properties['beta'] - - @property - def capabilities(self): - """ - :returns: Indicate if a phone can receive calls or messages - :rtype: unicode - """ - return self._properties['capabilities'] - - @property - def date_created(self): - """ - :returns: The date this resource was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this resource was last updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def friendly_name(self): - """ - :returns: A human readable description of this resouce - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def identity_sid(self): - """ - :returns: Unique string that identifies the identity associated with number - :rtype: unicode - """ - return self._properties['identity_sid'] - - @property - def phone_number(self): - """ - :returns: The incoming phone number - :rtype: unicode - """ - return self._properties['phone_number'] - - @property - def origin(self): - """ - :returns: The origin - :rtype: unicode - """ - return self._properties['origin'] - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this resource - :rtype: unicode - """ - return self._properties['sid'] - - @property - def sms_application_sid(self): - """ - :returns: Unique string that identifies the application - :rtype: unicode - """ - return self._properties['sms_application_sid'] - - @property - def sms_fallback_method(self): - """ - :returns: HTTP method used with sms fallback url - :rtype: unicode - """ - return self._properties['sms_fallback_method'] - - @property - def sms_fallback_url(self): - """ - :returns: URL Twilio will request if an error occurs in executing TwiML - :rtype: unicode - """ - return self._properties['sms_fallback_url'] - - @property - def sms_method(self): - """ - :returns: HTTP method to use with sms url - :rtype: unicode - """ - return self._properties['sms_method'] - - @property - def sms_url(self): - """ - :returns: URL Twilio will request when receiving an SMS - :rtype: unicode - """ - return self._properties['sms_url'] - - @property - def status_callback(self): - """ - :returns: URL Twilio will use to pass status parameters - :rtype: unicode - """ - return self._properties['status_callback'] - - @property - def status_callback_method(self): - """ - :returns: HTTP method twilio will use with status callback - :rtype: unicode - """ - return self._properties['status_callback_method'] - - @property - def trunk_sid(self): - """ - :returns: Unique string to identify the trunk - :rtype: unicode - """ - return self._properties['trunk_sid'] - - @property - def uri(self): - """ - :returns: The URI for this resource - :rtype: unicode - """ - return self._properties['uri'] - - @property - def voice_application_sid(self): - """ - :returns: The unique sid of the application to handle this number - :rtype: unicode - """ - return self._properties['voice_application_sid'] - - @property - def voice_caller_id_lookup(self): - """ - :returns: Look up the caller's caller-ID - :rtype: bool - """ - return self._properties['voice_caller_id_lookup'] - - @property - def voice_fallback_method(self): - """ - :returns: HTTP method used with fallback_url - :rtype: unicode - """ - return self._properties['voice_fallback_method'] - - @property - def voice_fallback_url(self): - """ - :returns: URL Twilio will request when an error occurs in TwiML - :rtype: unicode - """ - return self._properties['voice_fallback_url'] - - @property - def voice_method(self): - """ - :returns: HTTP method used with the voice url - :rtype: unicode - """ - return self._properties['voice_method'] - - @property - def voice_url(self): - """ - :returns: URL Twilio will request when receiving a call - :rtype: unicode - """ - return self._properties['voice_url'] - - @property - def emergency_status(self): - """ - :returns: The emergency_status - :rtype: IncomingPhoneNumberInstance.EmergencyStatus - """ - return self._properties['emergency_status'] - - @property - def emergency_address_sid(self): - """ - :returns: The emergency_address_sid - :rtype: unicode - """ - return self._properties['emergency_address_sid'] - - def update(self, account_sid=values.unset, api_version=values.unset, - friendly_name=values.unset, sms_application_sid=values.unset, - sms_fallback_method=values.unset, sms_fallback_url=values.unset, - sms_method=values.unset, sms_url=values.unset, - status_callback=values.unset, status_callback_method=values.unset, - voice_application_sid=values.unset, - voice_caller_id_lookup=values.unset, - voice_fallback_method=values.unset, voice_fallback_url=values.unset, - voice_method=values.unset, voice_url=values.unset, - emergency_status=values.unset, emergency_address_sid=values.unset, - trunk_sid=values.unset, voice_receive_mode=values.unset, - identity_sid=values.unset, address_sid=values.unset): - """ - Update the IncomingPhoneNumberInstance - - :param unicode account_sid: The new owner of the phone number - :param unicode api_version: The Twilio REST API version to use - :param unicode friendly_name: A human readable description of this resource - :param unicode sms_application_sid: Unique string that identifies the application - :param unicode sms_fallback_method: HTTP method used with sms fallback url - :param unicode sms_fallback_url: URL Twilio will request if an error occurs in executing TwiML - :param unicode sms_method: HTTP method to use with sms url - :param unicode sms_url: URL Twilio will request when receiving an SMS - :param unicode status_callback: URL Twilio will use to pass status parameters - :param unicode status_callback_method: HTTP method twilio will use with status callback - :param unicode voice_application_sid: The unique sid of the application to handle this number - :param bool voice_caller_id_lookup: Look up the caller's caller-ID - :param unicode voice_fallback_method: HTTP method used with fallback_url - :param unicode voice_fallback_url: URL Twilio will request when an error occurs in TwiML - :param unicode voice_method: HTTP method used with the voice url - :param unicode voice_url: URL Twilio will request when receiving a call - :param IncomingPhoneNumberInstance.EmergencyStatus emergency_status: The emergency_status - :param unicode emergency_address_sid: The emergency_address_sid - :param unicode trunk_sid: Unique string to identify the trunk - :param IncomingPhoneNumberInstance.VoiceReceiveMode voice_receive_mode: The voice_receive_mode - :param unicode identity_sid: Unique string that identifies the identity associated with number - :param unicode address_sid: Unique string that identifies the address associated with number - - :returns: Updated IncomingPhoneNumberInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberInstance - """ - return self._proxy.update( - account_sid=account_sid, - api_version=api_version, - friendly_name=friendly_name, - sms_application_sid=sms_application_sid, - sms_fallback_method=sms_fallback_method, - sms_fallback_url=sms_fallback_url, - sms_method=sms_method, - sms_url=sms_url, - status_callback=status_callback, - status_callback_method=status_callback_method, - voice_application_sid=voice_application_sid, - voice_caller_id_lookup=voice_caller_id_lookup, - voice_fallback_method=voice_fallback_method, - voice_fallback_url=voice_fallback_url, - voice_method=voice_method, - voice_url=voice_url, - emergency_status=emergency_status, - emergency_address_sid=emergency_address_sid, - trunk_sid=trunk_sid, - voice_receive_mode=voice_receive_mode, - identity_sid=identity_sid, - address_sid=address_sid, - ) - - def fetch(self): - """ - Fetch a IncomingPhoneNumberInstance - - :returns: Fetched IncomingPhoneNumberInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.IncomingPhoneNumberInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the IncomingPhoneNumberInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - @property - def assigned_add_ons(self): - """ - Access the assigned_add_ons - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.AssignedAddOnList - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.AssignedAddOnList - """ - return self._proxy.assigned_add_ons - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.IncomingPhoneNumberInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/incoming_phone_number/__pycache__/__init__.cpython-36.pyc b/twilio/rest/api/v2010/account/incoming_phone_number/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index ed557e23207239cfd25ccbec68fb620c9ab144f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33923 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 diff --git a/twilio/rest/api/v2010/account/incoming_phone_number/__pycache__/local.cpython-36.pyc b/twilio/rest/api/v2010/account/incoming_phone_number/__pycache__/local.cpython-36.pyc deleted file mode 100644 index af686bf4bc8a8f47389dfff3e6af5b7f069cbbab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17384 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 PKL6#H|0wfd`P}~io>);y diff --git a/twilio/rest/api/v2010/account/incoming_phone_number/__pycache__/mobile.cpython-36.pyc b/twilio/rest/api/v2010/account/incoming_phone_number/__pycache__/mobile.cpython-36.pyc deleted file mode 100644 index 0d92bca993a58eed59d143c886fe9353f3e24c4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17472 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 Vxs-*=K?wEpH#`4FsVDQx{|(J9c258R diff --git a/twilio/rest/api/v2010/account/incoming_phone_number/__pycache__/toll_free.cpython-36.pyc b/twilio/rest/api/v2010/account/incoming_phone_number/__pycache__/toll_free.cpython-36.pyc deleted file mode 100644 index 2959ce5571c4eb23078da7a63d294e35b1b0dd37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17662 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 diff --git a/twilio/rest/api/v2010/account/incoming_phone_number/assigned_add_on/__init__.py b/twilio/rest/api/v2010/account/incoming_phone_number/assigned_add_on/__init__.py deleted file mode 100644 index a8a0649..0000000 --- a/twilio/rest/api/v2010/account/incoming_phone_number/assigned_add_on/__init__.py +++ /dev/null @@ -1,496 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.assigned_add_on_extension import AssignedAddOnExtensionList - - -class AssignedAddOnList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, account_sid, resource_sid): - """ - Initialize the AssignedAddOnList - - :param Version version: Version that contains the resource - :param account_sid: The Account id that has installed this Add-on - :param resource_sid: The Phone Number id that has installed this Add-on - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.AssignedAddOnList - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.AssignedAddOnList - """ - super(AssignedAddOnList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'resource_sid': resource_sid, } - self._uri = '/Accounts/{account_sid}/IncomingPhoneNumbers/{resource_sid}/AssignedAddOns.json'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams AssignedAddOnInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.AssignedAddOnInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists AssignedAddOnInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.AssignedAddOnInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of AssignedAddOnInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of AssignedAddOnInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.AssignedAddOnPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return AssignedAddOnPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of AssignedAddOnInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of AssignedAddOnInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.AssignedAddOnPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return AssignedAddOnPage(self._version, response, self._solution) - - def create(self, installed_add_on_sid): - """ - Create a new AssignedAddOnInstance - - :param unicode installed_add_on_sid: A string that uniquely identifies the Add-on installation - - :returns: Newly created AssignedAddOnInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.AssignedAddOnInstance - """ - data = values.of({'InstalledAddOnSid': installed_add_on_sid, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return AssignedAddOnInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - resource_sid=self._solution['resource_sid'], - ) - - def get(self, sid): - """ - Constructs a AssignedAddOnContext - - :param sid: The unique Installed Add-on Sid - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.AssignedAddOnContext - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.AssignedAddOnContext - """ - return AssignedAddOnContext( - self._version, - account_sid=self._solution['account_sid'], - resource_sid=self._solution['resource_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a AssignedAddOnContext - - :param sid: The unique Installed Add-on Sid - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.AssignedAddOnContext - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.AssignedAddOnContext - """ - return AssignedAddOnContext( - self._version, - account_sid=self._solution['account_sid'], - resource_sid=self._solution['resource_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.AssignedAddOnList>' - - -class AssignedAddOnPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the AssignedAddOnPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The Account id that has installed this Add-on - :param resource_sid: The Phone Number id that has installed this Add-on - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.AssignedAddOnPage - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.AssignedAddOnPage - """ - super(AssignedAddOnPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of AssignedAddOnInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.AssignedAddOnInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.AssignedAddOnInstance - """ - return AssignedAddOnInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - resource_sid=self._solution['resource_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.AssignedAddOnPage>' - - -class AssignedAddOnContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, account_sid, resource_sid, sid): - """ - Initialize the AssignedAddOnContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param resource_sid: The resource_sid - :param sid: The unique Installed Add-on Sid - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.AssignedAddOnContext - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.AssignedAddOnContext - """ - super(AssignedAddOnContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'resource_sid': resource_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/IncomingPhoneNumbers/{resource_sid}/AssignedAddOns/{sid}.json'.format(**self._solution) - - # Dependents - self._extensions = None - - def fetch(self): - """ - Fetch a AssignedAddOnInstance - - :returns: Fetched AssignedAddOnInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.AssignedAddOnInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return AssignedAddOnInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - resource_sid=self._solution['resource_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the AssignedAddOnInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - @property - def extensions(self): - """ - Access the extensions - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.assigned_add_on_extension.AssignedAddOnExtensionList - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.assigned_add_on_extension.AssignedAddOnExtensionList - """ - if self._extensions is None: - self._extensions = AssignedAddOnExtensionList( - self._version, - account_sid=self._solution['account_sid'], - resource_sid=self._solution['resource_sid'], - assigned_add_on_sid=self._solution['sid'], - ) - return self._extensions - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.AssignedAddOnContext {}>'.format(context) - - -class AssignedAddOnInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, payload, account_sid, resource_sid, sid=None): - """ - Initialize the AssignedAddOnInstance - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.AssignedAddOnInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.AssignedAddOnInstance - """ - super(AssignedAddOnInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'resource_sid': payload['resource_sid'], - 'friendly_name': payload['friendly_name'], - 'description': payload['description'], - 'configuration': payload['configuration'], - 'unique_name': payload['unique_name'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'uri': payload['uri'], - 'subresource_uris': payload['subresource_uris'], - } - - # Context - self._context = None - self._solution = { - 'account_sid': account_sid, - 'resource_sid': resource_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: AssignedAddOnContext for this AssignedAddOnInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.AssignedAddOnContext - """ - if self._context is None: - self._context = AssignedAddOnContext( - self._version, - account_sid=self._solution['account_sid'], - resource_sid=self._solution['resource_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this assigned Add-on installation - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The Account id that has installed this Add-on - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def resource_sid(self): - """ - :returns: The Phone Number id that has installed this Add-on - :rtype: unicode - """ - return self._properties['resource_sid'] - - @property - def friendly_name(self): - """ - :returns: A description of this Add-on installation - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def description(self): - """ - :returns: A short description of the Add-on functionality - :rtype: unicode - """ - return self._properties['description'] - - @property - def configuration(self): - """ - :returns: The JSON object representing the current configuration - :rtype: dict - """ - return self._properties['configuration'] - - @property - def unique_name(self): - """ - :returns: The string that uniquely identifies this Add-on installation - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def date_created(self): - """ - :returns: The date this Add-on was installed - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this Add-on installation was last updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def uri(self): - """ - :returns: The uri - :rtype: unicode - """ - return self._properties['uri'] - - @property - def subresource_uris(self): - """ - :returns: The subresource_uris - :rtype: unicode - """ - return self._properties['subresource_uris'] - - def fetch(self): - """ - Fetch a AssignedAddOnInstance - - :returns: Fetched AssignedAddOnInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.AssignedAddOnInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the AssignedAddOnInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - @property - def extensions(self): - """ - Access the extensions - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.assigned_add_on_extension.AssignedAddOnExtensionList - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.assigned_add_on_extension.AssignedAddOnExtensionList - """ - return self._proxy.extensions - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.AssignedAddOnInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/incoming_phone_number/assigned_add_on/__pycache__/__init__.cpython-36.pyc b/twilio/rest/api/v2010/account/incoming_phone_number/assigned_add_on/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 3e704e6135ad5e0921fc12959a2d0d1faf978115..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18430 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 diff --git a/twilio/rest/api/v2010/account/incoming_phone_number/assigned_add_on/__pycache__/assigned_add_on_extension.cpython-36.pyc b/twilio/rest/api/v2010/account/incoming_phone_number/assigned_add_on/__pycache__/assigned_add_on_extension.cpython-36.pyc deleted file mode 100644 index f40c359fbec3819c530c0eb24ca62e02f95de6d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17164 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 diff --git a/twilio/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.py b/twilio/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.py deleted file mode 100644 index 9b0937e..0000000 --- a/twilio/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.py +++ /dev/null @@ -1,424 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class AssignedAddOnExtensionList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, account_sid, resource_sid, assigned_add_on_sid): - """ - Initialize the AssignedAddOnExtensionList - - :param Version version: Version that contains the resource - :param account_sid: The Account id that has installed this Add-on - :param resource_sid: The Phone Number id that has installed this Add-on - :param assigned_add_on_sid: A string that uniquely identifies the assigned Add-on installation - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.assigned_add_on_extension.AssignedAddOnExtensionList - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.assigned_add_on_extension.AssignedAddOnExtensionList - """ - super(AssignedAddOnExtensionList, self).__init__(version) - - # Path Solution - self._solution = { - 'account_sid': account_sid, - 'resource_sid': resource_sid, - 'assigned_add_on_sid': assigned_add_on_sid, - } - self._uri = '/Accounts/{account_sid}/IncomingPhoneNumbers/{resource_sid}/AssignedAddOns/{assigned_add_on_sid}/Extensions.json'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams AssignedAddOnExtensionInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.assigned_add_on_extension.AssignedAddOnExtensionInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists AssignedAddOnExtensionInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.assigned_add_on_extension.AssignedAddOnExtensionInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of AssignedAddOnExtensionInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of AssignedAddOnExtensionInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.assigned_add_on_extension.AssignedAddOnExtensionPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return AssignedAddOnExtensionPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of AssignedAddOnExtensionInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of AssignedAddOnExtensionInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.assigned_add_on_extension.AssignedAddOnExtensionPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return AssignedAddOnExtensionPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a AssignedAddOnExtensionContext - - :param sid: The unique Extension Sid - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.assigned_add_on_extension.AssignedAddOnExtensionContext - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.assigned_add_on_extension.AssignedAddOnExtensionContext - """ - return AssignedAddOnExtensionContext( - self._version, - account_sid=self._solution['account_sid'], - resource_sid=self._solution['resource_sid'], - assigned_add_on_sid=self._solution['assigned_add_on_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a AssignedAddOnExtensionContext - - :param sid: The unique Extension Sid - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.assigned_add_on_extension.AssignedAddOnExtensionContext - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.assigned_add_on_extension.AssignedAddOnExtensionContext - """ - return AssignedAddOnExtensionContext( - self._version, - account_sid=self._solution['account_sid'], - resource_sid=self._solution['resource_sid'], - assigned_add_on_sid=self._solution['assigned_add_on_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.AssignedAddOnExtensionList>' - - -class AssignedAddOnExtensionPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the AssignedAddOnExtensionPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The Account id that has installed this Add-on - :param resource_sid: The Phone Number id that has installed this Add-on - :param assigned_add_on_sid: A string that uniquely identifies the assigned Add-on installation - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.assigned_add_on_extension.AssignedAddOnExtensionPage - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.assigned_add_on_extension.AssignedAddOnExtensionPage - """ - super(AssignedAddOnExtensionPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of AssignedAddOnExtensionInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.assigned_add_on_extension.AssignedAddOnExtensionInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.assigned_add_on_extension.AssignedAddOnExtensionInstance - """ - return AssignedAddOnExtensionInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - resource_sid=self._solution['resource_sid'], - assigned_add_on_sid=self._solution['assigned_add_on_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.AssignedAddOnExtensionPage>' - - -class AssignedAddOnExtensionContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, account_sid, resource_sid, assigned_add_on_sid, - sid): - """ - Initialize the AssignedAddOnExtensionContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param resource_sid: The resource_sid - :param assigned_add_on_sid: The assigned_add_on_sid - :param sid: The unique Extension Sid - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.assigned_add_on_extension.AssignedAddOnExtensionContext - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.assigned_add_on_extension.AssignedAddOnExtensionContext - """ - super(AssignedAddOnExtensionContext, self).__init__(version) - - # Path Solution - self._solution = { - 'account_sid': account_sid, - 'resource_sid': resource_sid, - 'assigned_add_on_sid': assigned_add_on_sid, - 'sid': sid, - } - self._uri = '/Accounts/{account_sid}/IncomingPhoneNumbers/{resource_sid}/AssignedAddOns/{assigned_add_on_sid}/Extensions/{sid}.json'.format(**self._solution) - - def fetch(self): - """ - Fetch a AssignedAddOnExtensionInstance - - :returns: Fetched AssignedAddOnExtensionInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.assigned_add_on_extension.AssignedAddOnExtensionInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return AssignedAddOnExtensionInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - resource_sid=self._solution['resource_sid'], - assigned_add_on_sid=self._solution['assigned_add_on_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.AssignedAddOnExtensionContext {}>'.format(context) - - -class AssignedAddOnExtensionInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, payload, account_sid, resource_sid, - assigned_add_on_sid, sid=None): - """ - Initialize the AssignedAddOnExtensionInstance - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.assigned_add_on_extension.AssignedAddOnExtensionInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.assigned_add_on_extension.AssignedAddOnExtensionInstance - """ - super(AssignedAddOnExtensionInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'resource_sid': payload['resource_sid'], - 'assigned_add_on_sid': payload['assigned_add_on_sid'], - 'friendly_name': payload['friendly_name'], - 'product_name': payload['product_name'], - 'unique_name': payload['unique_name'], - 'uri': payload['uri'], - 'enabled': payload['enabled'], - } - - # Context - self._context = None - self._solution = { - 'account_sid': account_sid, - 'resource_sid': resource_sid, - 'assigned_add_on_sid': assigned_add_on_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: AssignedAddOnExtensionContext for this AssignedAddOnExtensionInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.assigned_add_on_extension.AssignedAddOnExtensionContext - """ - if self._context is None: - self._context = AssignedAddOnExtensionContext( - self._version, - account_sid=self._solution['account_sid'], - resource_sid=self._solution['resource_sid'], - assigned_add_on_sid=self._solution['assigned_add_on_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Extension - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The Account id that has installed this Add-on - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def resource_sid(self): - """ - :returns: The Phone Number id that has installed this Add-on - :rtype: unicode - """ - return self._properties['resource_sid'] - - @property - def assigned_add_on_sid(self): - """ - :returns: A string that uniquely identifies the assigned Add-on installation - :rtype: unicode - """ - return self._properties['assigned_add_on_sid'] - - @property - def friendly_name(self): - """ - :returns: A human-readable description of this Extension - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def product_name(self): - """ - :returns: A human-readable description of the Extension's Product - :rtype: unicode - """ - return self._properties['product_name'] - - @property - def unique_name(self): - """ - :returns: The string that uniquely identifies this Extension - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def uri(self): - """ - :returns: The uri - :rtype: unicode - """ - return self._properties['uri'] - - @property - def enabled(self): - """ - :returns: A Boolean indicating if the Extension will be invoked - :rtype: bool - """ - return self._properties['enabled'] - - def fetch(self): - """ - Fetch a AssignedAddOnExtensionInstance - - :returns: Fetched AssignedAddOnExtensionInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.assigned_add_on.assigned_add_on_extension.AssignedAddOnExtensionInstance - """ - return self._proxy.fetch() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.AssignedAddOnExtensionInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/incoming_phone_number/local.py b/twilio/rest/api/v2010/account/incoming_phone_number/local.py deleted file mode 100644 index 719f039..0000000 --- a/twilio/rest/api/v2010/account/incoming_phone_number/local.py +++ /dev/null @@ -1,554 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class LocalList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the LocalList - - :param Version version: Version that contains the resource - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.local.LocalList - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.local.LocalList - """ - super(LocalList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/IncomingPhoneNumbers/Local.json'.format(**self._solution) - - def stream(self, beta=values.unset, friendly_name=values.unset, - phone_number=values.unset, origin=values.unset, limit=None, - page_size=None): - """ - Streams LocalInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param bool beta: The beta - :param unicode friendly_name: The friendly_name - :param unicode phone_number: The phone_number - :param unicode origin: The origin - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.incoming_phone_number.local.LocalInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - beta=beta, - friendly_name=friendly_name, - phone_number=phone_number, - origin=origin, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, beta=values.unset, friendly_name=values.unset, - phone_number=values.unset, origin=values.unset, limit=None, - page_size=None): - """ - Lists LocalInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param bool beta: The beta - :param unicode friendly_name: The friendly_name - :param unicode phone_number: The phone_number - :param unicode origin: The origin - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.incoming_phone_number.local.LocalInstance] - """ - return list(self.stream( - beta=beta, - friendly_name=friendly_name, - phone_number=phone_number, - origin=origin, - limit=limit, - page_size=page_size, - )) - - def page(self, beta=values.unset, friendly_name=values.unset, - phone_number=values.unset, origin=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of LocalInstance records from the API. - Request is executed immediately - - :param bool beta: The beta - :param unicode friendly_name: The friendly_name - :param unicode phone_number: The phone_number - :param unicode origin: The origin - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of LocalInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.local.LocalPage - """ - params = values.of({ - 'Beta': beta, - 'FriendlyName': friendly_name, - 'PhoneNumber': phone_number, - 'Origin': origin, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return LocalPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of LocalInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of LocalInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.local.LocalPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return LocalPage(self._version, response, self._solution) - - def create(self, phone_number, api_version=values.unset, - friendly_name=values.unset, sms_application_sid=values.unset, - sms_fallback_method=values.unset, sms_fallback_url=values.unset, - sms_method=values.unset, sms_url=values.unset, - status_callback=values.unset, status_callback_method=values.unset, - voice_application_sid=values.unset, - voice_caller_id_lookup=values.unset, - voice_fallback_method=values.unset, voice_fallback_url=values.unset, - voice_method=values.unset, voice_url=values.unset, - identity_sid=values.unset, address_sid=values.unset): - """ - Create a new LocalInstance - - :param unicode phone_number: The phone_number - :param unicode api_version: The api_version - :param unicode friendly_name: The friendly_name - :param unicode sms_application_sid: The sms_application_sid - :param unicode sms_fallback_method: The sms_fallback_method - :param unicode sms_fallback_url: The sms_fallback_url - :param unicode sms_method: The sms_method - :param unicode sms_url: The sms_url - :param unicode status_callback: The status_callback - :param unicode status_callback_method: The status_callback_method - :param unicode voice_application_sid: The voice_application_sid - :param bool voice_caller_id_lookup: The voice_caller_id_lookup - :param unicode voice_fallback_method: The voice_fallback_method - :param unicode voice_fallback_url: The voice_fallback_url - :param unicode voice_method: The voice_method - :param unicode voice_url: The voice_url - :param unicode identity_sid: The identity_sid - :param unicode address_sid: The address_sid - - :returns: Newly created LocalInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.local.LocalInstance - """ - data = values.of({ - 'PhoneNumber': phone_number, - 'ApiVersion': api_version, - 'FriendlyName': friendly_name, - 'SmsApplicationSid': sms_application_sid, - 'SmsFallbackMethod': sms_fallback_method, - 'SmsFallbackUrl': sms_fallback_url, - 'SmsMethod': sms_method, - 'SmsUrl': sms_url, - 'StatusCallback': status_callback, - 'StatusCallbackMethod': status_callback_method, - 'VoiceApplicationSid': voice_application_sid, - 'VoiceCallerIdLookup': voice_caller_id_lookup, - 'VoiceFallbackMethod': voice_fallback_method, - 'VoiceFallbackUrl': voice_fallback_url, - 'VoiceMethod': voice_method, - 'VoiceUrl': voice_url, - 'IdentitySid': identity_sid, - 'AddressSid': address_sid, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return LocalInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.LocalList>' - - -class LocalPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the LocalPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.local.LocalPage - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.local.LocalPage - """ - super(LocalPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of LocalInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.local.LocalInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.local.LocalInstance - """ - return LocalInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.LocalPage>' - - -class LocalInstance(InstanceResource): - """ """ - - class AddressRequirement(object): - NONE = "none" - ANY = "any" - LOCAL = "local" - FOREIGN = "foreign" - - def __init__(self, version, payload, account_sid): - """ - Initialize the LocalInstance - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.local.LocalInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.local.LocalInstance - """ - super(LocalInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'address_sid': payload['address_sid'], - 'address_requirements': payload['address_requirements'], - 'api_version': payload['api_version'], - 'beta': payload['beta'], - 'capabilities': payload['capabilities'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'friendly_name': payload['friendly_name'], - 'identity_sid': payload['identity_sid'], - 'phone_number': payload['phone_number'], - 'origin': payload['origin'], - 'sid': payload['sid'], - 'sms_application_sid': payload['sms_application_sid'], - 'sms_fallback_method': payload['sms_fallback_method'], - 'sms_fallback_url': payload['sms_fallback_url'], - 'sms_method': payload['sms_method'], - 'sms_url': payload['sms_url'], - 'status_callback': payload['status_callback'], - 'status_callback_method': payload['status_callback_method'], - 'trunk_sid': payload['trunk_sid'], - 'uri': payload['uri'], - 'voice_application_sid': payload['voice_application_sid'], - 'voice_caller_id_lookup': payload['voice_caller_id_lookup'], - 'voice_fallback_method': payload['voice_fallback_method'], - 'voice_fallback_url': payload['voice_fallback_url'], - 'voice_method': payload['voice_method'], - 'voice_url': payload['voice_url'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, } - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def address_sid(self): - """ - :returns: The address_sid - :rtype: unicode - """ - return self._properties['address_sid'] - - @property - def address_requirements(self): - """ - :returns: The address_requirements - :rtype: LocalInstance.AddressRequirement - """ - return self._properties['address_requirements'] - - @property - def api_version(self): - """ - :returns: The api_version - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def beta(self): - """ - :returns: The beta - :rtype: bool - """ - return self._properties['beta'] - - @property - def capabilities(self): - """ - :returns: The capabilities - :rtype: unicode - """ - return self._properties['capabilities'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def identity_sid(self): - """ - :returns: The identity_sid - :rtype: unicode - """ - return self._properties['identity_sid'] - - @property - def phone_number(self): - """ - :returns: The phone_number - :rtype: unicode - """ - return self._properties['phone_number'] - - @property - def origin(self): - """ - :returns: The origin - :rtype: unicode - """ - return self._properties['origin'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def sms_application_sid(self): - """ - :returns: The sms_application_sid - :rtype: unicode - """ - return self._properties['sms_application_sid'] - - @property - def sms_fallback_method(self): - """ - :returns: The sms_fallback_method - :rtype: unicode - """ - return self._properties['sms_fallback_method'] - - @property - def sms_fallback_url(self): - """ - :returns: The sms_fallback_url - :rtype: unicode - """ - return self._properties['sms_fallback_url'] - - @property - def sms_method(self): - """ - :returns: The sms_method - :rtype: unicode - """ - return self._properties['sms_method'] - - @property - def sms_url(self): - """ - :returns: The sms_url - :rtype: unicode - """ - return self._properties['sms_url'] - - @property - def status_callback(self): - """ - :returns: The status_callback - :rtype: unicode - """ - return self._properties['status_callback'] - - @property - def status_callback_method(self): - """ - :returns: The status_callback_method - :rtype: unicode - """ - return self._properties['status_callback_method'] - - @property - def trunk_sid(self): - """ - :returns: The trunk_sid - :rtype: unicode - """ - return self._properties['trunk_sid'] - - @property - def uri(self): - """ - :returns: The uri - :rtype: unicode - """ - return self._properties['uri'] - - @property - def voice_application_sid(self): - """ - :returns: The voice_application_sid - :rtype: unicode - """ - return self._properties['voice_application_sid'] - - @property - def voice_caller_id_lookup(self): - """ - :returns: The voice_caller_id_lookup - :rtype: bool - """ - return self._properties['voice_caller_id_lookup'] - - @property - def voice_fallback_method(self): - """ - :returns: The voice_fallback_method - :rtype: unicode - """ - return self._properties['voice_fallback_method'] - - @property - def voice_fallback_url(self): - """ - :returns: The voice_fallback_url - :rtype: unicode - """ - return self._properties['voice_fallback_url'] - - @property - def voice_method(self): - """ - :returns: The voice_method - :rtype: unicode - """ - return self._properties['voice_method'] - - @property - def voice_url(self): - """ - :returns: The voice_url - :rtype: unicode - """ - return self._properties['voice_url'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.LocalInstance>' diff --git a/twilio/rest/api/v2010/account/incoming_phone_number/mobile.py b/twilio/rest/api/v2010/account/incoming_phone_number/mobile.py deleted file mode 100644 index 54c4d77..0000000 --- a/twilio/rest/api/v2010/account/incoming_phone_number/mobile.py +++ /dev/null @@ -1,554 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class MobileList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the MobileList - - :param Version version: Version that contains the resource - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.mobile.MobileList - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.mobile.MobileList - """ - super(MobileList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/IncomingPhoneNumbers/Mobile.json'.format(**self._solution) - - def stream(self, beta=values.unset, friendly_name=values.unset, - phone_number=values.unset, origin=values.unset, limit=None, - page_size=None): - """ - Streams MobileInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param bool beta: The beta - :param unicode friendly_name: The friendly_name - :param unicode phone_number: The phone_number - :param unicode origin: The origin - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.incoming_phone_number.mobile.MobileInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - beta=beta, - friendly_name=friendly_name, - phone_number=phone_number, - origin=origin, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, beta=values.unset, friendly_name=values.unset, - phone_number=values.unset, origin=values.unset, limit=None, - page_size=None): - """ - Lists MobileInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param bool beta: The beta - :param unicode friendly_name: The friendly_name - :param unicode phone_number: The phone_number - :param unicode origin: The origin - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.incoming_phone_number.mobile.MobileInstance] - """ - return list(self.stream( - beta=beta, - friendly_name=friendly_name, - phone_number=phone_number, - origin=origin, - limit=limit, - page_size=page_size, - )) - - def page(self, beta=values.unset, friendly_name=values.unset, - phone_number=values.unset, origin=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of MobileInstance records from the API. - Request is executed immediately - - :param bool beta: The beta - :param unicode friendly_name: The friendly_name - :param unicode phone_number: The phone_number - :param unicode origin: The origin - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of MobileInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.mobile.MobilePage - """ - params = values.of({ - 'Beta': beta, - 'FriendlyName': friendly_name, - 'PhoneNumber': phone_number, - 'Origin': origin, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return MobilePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of MobileInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of MobileInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.mobile.MobilePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return MobilePage(self._version, response, self._solution) - - def create(self, phone_number, api_version=values.unset, - friendly_name=values.unset, sms_application_sid=values.unset, - sms_fallback_method=values.unset, sms_fallback_url=values.unset, - sms_method=values.unset, sms_url=values.unset, - status_callback=values.unset, status_callback_method=values.unset, - voice_application_sid=values.unset, - voice_caller_id_lookup=values.unset, - voice_fallback_method=values.unset, voice_fallback_url=values.unset, - voice_method=values.unset, voice_url=values.unset, - identity_sid=values.unset, address_sid=values.unset): - """ - Create a new MobileInstance - - :param unicode phone_number: The phone_number - :param unicode api_version: The api_version - :param unicode friendly_name: The friendly_name - :param unicode sms_application_sid: The sms_application_sid - :param unicode sms_fallback_method: The sms_fallback_method - :param unicode sms_fallback_url: The sms_fallback_url - :param unicode sms_method: The sms_method - :param unicode sms_url: The sms_url - :param unicode status_callback: The status_callback - :param unicode status_callback_method: The status_callback_method - :param unicode voice_application_sid: The voice_application_sid - :param bool voice_caller_id_lookup: The voice_caller_id_lookup - :param unicode voice_fallback_method: The voice_fallback_method - :param unicode voice_fallback_url: The voice_fallback_url - :param unicode voice_method: The voice_method - :param unicode voice_url: The voice_url - :param unicode identity_sid: The identity_sid - :param unicode address_sid: The address_sid - - :returns: Newly created MobileInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.mobile.MobileInstance - """ - data = values.of({ - 'PhoneNumber': phone_number, - 'ApiVersion': api_version, - 'FriendlyName': friendly_name, - 'SmsApplicationSid': sms_application_sid, - 'SmsFallbackMethod': sms_fallback_method, - 'SmsFallbackUrl': sms_fallback_url, - 'SmsMethod': sms_method, - 'SmsUrl': sms_url, - 'StatusCallback': status_callback, - 'StatusCallbackMethod': status_callback_method, - 'VoiceApplicationSid': voice_application_sid, - 'VoiceCallerIdLookup': voice_caller_id_lookup, - 'VoiceFallbackMethod': voice_fallback_method, - 'VoiceFallbackUrl': voice_fallback_url, - 'VoiceMethod': voice_method, - 'VoiceUrl': voice_url, - 'IdentitySid': identity_sid, - 'AddressSid': address_sid, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return MobileInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.MobileList>' - - -class MobilePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the MobilePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.mobile.MobilePage - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.mobile.MobilePage - """ - super(MobilePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of MobileInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.mobile.MobileInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.mobile.MobileInstance - """ - return MobileInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.MobilePage>' - - -class MobileInstance(InstanceResource): - """ """ - - class AddressRequirement(object): - NONE = "none" - ANY = "any" - LOCAL = "local" - FOREIGN = "foreign" - - def __init__(self, version, payload, account_sid): - """ - Initialize the MobileInstance - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.mobile.MobileInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.mobile.MobileInstance - """ - super(MobileInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'address_sid': payload['address_sid'], - 'address_requirements': payload['address_requirements'], - 'api_version': payload['api_version'], - 'beta': payload['beta'], - 'capabilities': payload['capabilities'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'friendly_name': payload['friendly_name'], - 'identity_sid': payload['identity_sid'], - 'phone_number': payload['phone_number'], - 'origin': payload['origin'], - 'sid': payload['sid'], - 'sms_application_sid': payload['sms_application_sid'], - 'sms_fallback_method': payload['sms_fallback_method'], - 'sms_fallback_url': payload['sms_fallback_url'], - 'sms_method': payload['sms_method'], - 'sms_url': payload['sms_url'], - 'status_callback': payload['status_callback'], - 'status_callback_method': payload['status_callback_method'], - 'trunk_sid': payload['trunk_sid'], - 'uri': payload['uri'], - 'voice_application_sid': payload['voice_application_sid'], - 'voice_caller_id_lookup': payload['voice_caller_id_lookup'], - 'voice_fallback_method': payload['voice_fallback_method'], - 'voice_fallback_url': payload['voice_fallback_url'], - 'voice_method': payload['voice_method'], - 'voice_url': payload['voice_url'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, } - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def address_sid(self): - """ - :returns: The address_sid - :rtype: unicode - """ - return self._properties['address_sid'] - - @property - def address_requirements(self): - """ - :returns: The address_requirements - :rtype: MobileInstance.AddressRequirement - """ - return self._properties['address_requirements'] - - @property - def api_version(self): - """ - :returns: The api_version - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def beta(self): - """ - :returns: The beta - :rtype: bool - """ - return self._properties['beta'] - - @property - def capabilities(self): - """ - :returns: The capabilities - :rtype: unicode - """ - return self._properties['capabilities'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def identity_sid(self): - """ - :returns: The identity_sid - :rtype: unicode - """ - return self._properties['identity_sid'] - - @property - def phone_number(self): - """ - :returns: The phone_number - :rtype: unicode - """ - return self._properties['phone_number'] - - @property - def origin(self): - """ - :returns: The origin - :rtype: unicode - """ - return self._properties['origin'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def sms_application_sid(self): - """ - :returns: The sms_application_sid - :rtype: unicode - """ - return self._properties['sms_application_sid'] - - @property - def sms_fallback_method(self): - """ - :returns: The sms_fallback_method - :rtype: unicode - """ - return self._properties['sms_fallback_method'] - - @property - def sms_fallback_url(self): - """ - :returns: The sms_fallback_url - :rtype: unicode - """ - return self._properties['sms_fallback_url'] - - @property - def sms_method(self): - """ - :returns: The sms_method - :rtype: unicode - """ - return self._properties['sms_method'] - - @property - def sms_url(self): - """ - :returns: The sms_url - :rtype: unicode - """ - return self._properties['sms_url'] - - @property - def status_callback(self): - """ - :returns: The status_callback - :rtype: unicode - """ - return self._properties['status_callback'] - - @property - def status_callback_method(self): - """ - :returns: The status_callback_method - :rtype: unicode - """ - return self._properties['status_callback_method'] - - @property - def trunk_sid(self): - """ - :returns: The trunk_sid - :rtype: unicode - """ - return self._properties['trunk_sid'] - - @property - def uri(self): - """ - :returns: The uri - :rtype: unicode - """ - return self._properties['uri'] - - @property - def voice_application_sid(self): - """ - :returns: The voice_application_sid - :rtype: unicode - """ - return self._properties['voice_application_sid'] - - @property - def voice_caller_id_lookup(self): - """ - :returns: The voice_caller_id_lookup - :rtype: bool - """ - return self._properties['voice_caller_id_lookup'] - - @property - def voice_fallback_method(self): - """ - :returns: The voice_fallback_method - :rtype: unicode - """ - return self._properties['voice_fallback_method'] - - @property - def voice_fallback_url(self): - """ - :returns: The voice_fallback_url - :rtype: unicode - """ - return self._properties['voice_fallback_url'] - - @property - def voice_method(self): - """ - :returns: The voice_method - :rtype: unicode - """ - return self._properties['voice_method'] - - @property - def voice_url(self): - """ - :returns: The voice_url - :rtype: unicode - """ - return self._properties['voice_url'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.MobileInstance>' diff --git a/twilio/rest/api/v2010/account/incoming_phone_number/toll_free.py b/twilio/rest/api/v2010/account/incoming_phone_number/toll_free.py deleted file mode 100644 index 1023cce..0000000 --- a/twilio/rest/api/v2010/account/incoming_phone_number/toll_free.py +++ /dev/null @@ -1,554 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class TollFreeList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the TollFreeList - - :param Version version: Version that contains the resource - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.toll_free.TollFreeList - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.toll_free.TollFreeList - """ - super(TollFreeList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/IncomingPhoneNumbers/TollFree.json'.format(**self._solution) - - def stream(self, beta=values.unset, friendly_name=values.unset, - phone_number=values.unset, origin=values.unset, limit=None, - page_size=None): - """ - Streams TollFreeInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param bool beta: The beta - :param unicode friendly_name: The friendly_name - :param unicode phone_number: The phone_number - :param unicode origin: The origin - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.incoming_phone_number.toll_free.TollFreeInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - beta=beta, - friendly_name=friendly_name, - phone_number=phone_number, - origin=origin, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, beta=values.unset, friendly_name=values.unset, - phone_number=values.unset, origin=values.unset, limit=None, - page_size=None): - """ - Lists TollFreeInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param bool beta: The beta - :param unicode friendly_name: The friendly_name - :param unicode phone_number: The phone_number - :param unicode origin: The origin - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.incoming_phone_number.toll_free.TollFreeInstance] - """ - return list(self.stream( - beta=beta, - friendly_name=friendly_name, - phone_number=phone_number, - origin=origin, - limit=limit, - page_size=page_size, - )) - - def page(self, beta=values.unset, friendly_name=values.unset, - phone_number=values.unset, origin=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of TollFreeInstance records from the API. - Request is executed immediately - - :param bool beta: The beta - :param unicode friendly_name: The friendly_name - :param unicode phone_number: The phone_number - :param unicode origin: The origin - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of TollFreeInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.toll_free.TollFreePage - """ - params = values.of({ - 'Beta': beta, - 'FriendlyName': friendly_name, - 'PhoneNumber': phone_number, - 'Origin': origin, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return TollFreePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of TollFreeInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of TollFreeInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.toll_free.TollFreePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return TollFreePage(self._version, response, self._solution) - - def create(self, phone_number, api_version=values.unset, - friendly_name=values.unset, sms_application_sid=values.unset, - sms_fallback_method=values.unset, sms_fallback_url=values.unset, - sms_method=values.unset, sms_url=values.unset, - status_callback=values.unset, status_callback_method=values.unset, - voice_application_sid=values.unset, - voice_caller_id_lookup=values.unset, - voice_fallback_method=values.unset, voice_fallback_url=values.unset, - voice_method=values.unset, voice_url=values.unset, - identity_sid=values.unset, address_sid=values.unset): - """ - Create a new TollFreeInstance - - :param unicode phone_number: The phone_number - :param unicode api_version: The api_version - :param unicode friendly_name: The friendly_name - :param unicode sms_application_sid: The sms_application_sid - :param unicode sms_fallback_method: The sms_fallback_method - :param unicode sms_fallback_url: The sms_fallback_url - :param unicode sms_method: The sms_method - :param unicode sms_url: The sms_url - :param unicode status_callback: The status_callback - :param unicode status_callback_method: The status_callback_method - :param unicode voice_application_sid: The voice_application_sid - :param bool voice_caller_id_lookup: The voice_caller_id_lookup - :param unicode voice_fallback_method: The voice_fallback_method - :param unicode voice_fallback_url: The voice_fallback_url - :param unicode voice_method: The voice_method - :param unicode voice_url: The voice_url - :param unicode identity_sid: The identity_sid - :param unicode address_sid: The address_sid - - :returns: Newly created TollFreeInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.toll_free.TollFreeInstance - """ - data = values.of({ - 'PhoneNumber': phone_number, - 'ApiVersion': api_version, - 'FriendlyName': friendly_name, - 'SmsApplicationSid': sms_application_sid, - 'SmsFallbackMethod': sms_fallback_method, - 'SmsFallbackUrl': sms_fallback_url, - 'SmsMethod': sms_method, - 'SmsUrl': sms_url, - 'StatusCallback': status_callback, - 'StatusCallbackMethod': status_callback_method, - 'VoiceApplicationSid': voice_application_sid, - 'VoiceCallerIdLookup': voice_caller_id_lookup, - 'VoiceFallbackMethod': voice_fallback_method, - 'VoiceFallbackUrl': voice_fallback_url, - 'VoiceMethod': voice_method, - 'VoiceUrl': voice_url, - 'IdentitySid': identity_sid, - 'AddressSid': address_sid, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return TollFreeInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.TollFreeList>' - - -class TollFreePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the TollFreePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.toll_free.TollFreePage - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.toll_free.TollFreePage - """ - super(TollFreePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of TollFreeInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.toll_free.TollFreeInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.toll_free.TollFreeInstance - """ - return TollFreeInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.TollFreePage>' - - -class TollFreeInstance(InstanceResource): - """ """ - - class AddressRequirement(object): - NONE = "none" - ANY = "any" - LOCAL = "local" - FOREIGN = "foreign" - - def __init__(self, version, payload, account_sid): - """ - Initialize the TollFreeInstance - - :returns: twilio.rest.api.v2010.account.incoming_phone_number.toll_free.TollFreeInstance - :rtype: twilio.rest.api.v2010.account.incoming_phone_number.toll_free.TollFreeInstance - """ - super(TollFreeInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'address_sid': payload['address_sid'], - 'address_requirements': payload['address_requirements'], - 'api_version': payload['api_version'], - 'beta': payload['beta'], - 'capabilities': payload['capabilities'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'friendly_name': payload['friendly_name'], - 'identity_sid': payload['identity_sid'], - 'phone_number': payload['phone_number'], - 'origin': payload['origin'], - 'sid': payload['sid'], - 'sms_application_sid': payload['sms_application_sid'], - 'sms_fallback_method': payload['sms_fallback_method'], - 'sms_fallback_url': payload['sms_fallback_url'], - 'sms_method': payload['sms_method'], - 'sms_url': payload['sms_url'], - 'status_callback': payload['status_callback'], - 'status_callback_method': payload['status_callback_method'], - 'trunk_sid': payload['trunk_sid'], - 'uri': payload['uri'], - 'voice_application_sid': payload['voice_application_sid'], - 'voice_caller_id_lookup': payload['voice_caller_id_lookup'], - 'voice_fallback_method': payload['voice_fallback_method'], - 'voice_fallback_url': payload['voice_fallback_url'], - 'voice_method': payload['voice_method'], - 'voice_url': payload['voice_url'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, } - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def address_sid(self): - """ - :returns: The address_sid - :rtype: unicode - """ - return self._properties['address_sid'] - - @property - def address_requirements(self): - """ - :returns: The address_requirements - :rtype: TollFreeInstance.AddressRequirement - """ - return self._properties['address_requirements'] - - @property - def api_version(self): - """ - :returns: The api_version - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def beta(self): - """ - :returns: The beta - :rtype: bool - """ - return self._properties['beta'] - - @property - def capabilities(self): - """ - :returns: The capabilities - :rtype: unicode - """ - return self._properties['capabilities'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def identity_sid(self): - """ - :returns: The identity_sid - :rtype: unicode - """ - return self._properties['identity_sid'] - - @property - def phone_number(self): - """ - :returns: The phone_number - :rtype: unicode - """ - return self._properties['phone_number'] - - @property - def origin(self): - """ - :returns: The origin - :rtype: unicode - """ - return self._properties['origin'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def sms_application_sid(self): - """ - :returns: The sms_application_sid - :rtype: unicode - """ - return self._properties['sms_application_sid'] - - @property - def sms_fallback_method(self): - """ - :returns: The sms_fallback_method - :rtype: unicode - """ - return self._properties['sms_fallback_method'] - - @property - def sms_fallback_url(self): - """ - :returns: The sms_fallback_url - :rtype: unicode - """ - return self._properties['sms_fallback_url'] - - @property - def sms_method(self): - """ - :returns: The sms_method - :rtype: unicode - """ - return self._properties['sms_method'] - - @property - def sms_url(self): - """ - :returns: The sms_url - :rtype: unicode - """ - return self._properties['sms_url'] - - @property - def status_callback(self): - """ - :returns: The status_callback - :rtype: unicode - """ - return self._properties['status_callback'] - - @property - def status_callback_method(self): - """ - :returns: The status_callback_method - :rtype: unicode - """ - return self._properties['status_callback_method'] - - @property - def trunk_sid(self): - """ - :returns: The trunk_sid - :rtype: unicode - """ - return self._properties['trunk_sid'] - - @property - def uri(self): - """ - :returns: The uri - :rtype: unicode - """ - return self._properties['uri'] - - @property - def voice_application_sid(self): - """ - :returns: The voice_application_sid - :rtype: unicode - """ - return self._properties['voice_application_sid'] - - @property - def voice_caller_id_lookup(self): - """ - :returns: The voice_caller_id_lookup - :rtype: bool - """ - return self._properties['voice_caller_id_lookup'] - - @property - def voice_fallback_method(self): - """ - :returns: The voice_fallback_method - :rtype: unicode - """ - return self._properties['voice_fallback_method'] - - @property - def voice_fallback_url(self): - """ - :returns: The voice_fallback_url - :rtype: unicode - """ - return self._properties['voice_fallback_url'] - - @property - def voice_method(self): - """ - :returns: The voice_method - :rtype: unicode - """ - return self._properties['voice_method'] - - @property - def voice_url(self): - """ - :returns: The voice_url - :rtype: unicode - """ - return self._properties['voice_url'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.TollFreeInstance>' diff --git a/twilio/rest/api/v2010/account/key.py b/twilio/rest/api/v2010/account/key.py deleted file mode 100644 index 3089eae..0000000 --- a/twilio/rest/api/v2010/account/key.py +++ /dev/null @@ -1,385 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class KeyList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the KeyList - - :param Version version: Version that contains the resource - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.key.KeyList - :rtype: twilio.rest.api.v2010.account.key.KeyList - """ - super(KeyList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/Keys.json'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams KeyInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.key.KeyInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists KeyInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.key.KeyInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of KeyInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of KeyInstance - :rtype: twilio.rest.api.v2010.account.key.KeyPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return KeyPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of KeyInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of KeyInstance - :rtype: twilio.rest.api.v2010.account.key.KeyPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return KeyPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a KeyContext - - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.key.KeyContext - :rtype: twilio.rest.api.v2010.account.key.KeyContext - """ - return KeyContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a KeyContext - - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.key.KeyContext - :rtype: twilio.rest.api.v2010.account.key.KeyContext - """ - return KeyContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.KeyList>' - - -class KeyPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the KeyPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.key.KeyPage - :rtype: twilio.rest.api.v2010.account.key.KeyPage - """ - super(KeyPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of KeyInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.key.KeyInstance - :rtype: twilio.rest.api.v2010.account.key.KeyInstance - """ - return KeyInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.KeyPage>' - - -class KeyContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, sid): - """ - Initialize the KeyContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.key.KeyContext - :rtype: twilio.rest.api.v2010.account.key.KeyContext - """ - super(KeyContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/Keys/{sid}.json'.format(**self._solution) - - def fetch(self): - """ - Fetch a KeyInstance - - :returns: Fetched KeyInstance - :rtype: twilio.rest.api.v2010.account.key.KeyInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return KeyInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def update(self, friendly_name=values.unset): - """ - Update the KeyInstance - - :param unicode friendly_name: The friendly_name - - :returns: Updated KeyInstance - :rtype: twilio.rest.api.v2010.account.key.KeyInstance - """ - data = values.of({'FriendlyName': friendly_name, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return KeyInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the KeyInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.KeyContext {}>'.format(context) - - -class KeyInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid, sid=None): - """ - Initialize the KeyInstance - - :returns: twilio.rest.api.v2010.account.key.KeyInstance - :rtype: twilio.rest.api.v2010.account.key.KeyInstance - """ - super(KeyInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'friendly_name': payload['friendly_name'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: KeyContext for this KeyInstance - :rtype: twilio.rest.api.v2010.account.key.KeyContext - """ - if self._context is None: - self._context = KeyContext( - self._version, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - def fetch(self): - """ - Fetch a KeyInstance - - :returns: Fetched KeyInstance - :rtype: twilio.rest.api.v2010.account.key.KeyInstance - """ - return self._proxy.fetch() - - def update(self, friendly_name=values.unset): - """ - Update the KeyInstance - - :param unicode friendly_name: The friendly_name - - :returns: Updated KeyInstance - :rtype: twilio.rest.api.v2010.account.key.KeyInstance - """ - return self._proxy.update(friendly_name=friendly_name, ) - - def delete(self): - """ - Deletes the KeyInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.KeyInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/message/__init__.py b/twilio/rest/api/v2010/account/message/__init__.py deleted file mode 100644 index cb651ed..0000000 --- a/twilio/rest/api/v2010/account/message/__init__.py +++ /dev/null @@ -1,716 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.api.v2010.account.message.feedback import FeedbackList -from twilio.rest.api.v2010.account.message.media import MediaList - - -class MessageList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the MessageList - - :param Version version: Version that contains the resource - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.message.MessageList - :rtype: twilio.rest.api.v2010.account.message.MessageList - """ - super(MessageList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/Messages.json'.format(**self._solution) - - def create(self, to, status_callback=values.unset, application_sid=values.unset, - max_price=values.unset, provide_feedback=values.unset, - validity_period=values.unset, max_rate=values.unset, - force_delivery=values.unset, provider_sid=values.unset, - content_retention=values.unset, address_retention=values.unset, - smart_encoded=values.unset, from_=values.unset, - messaging_service_sid=values.unset, body=values.unset, - media_url=values.unset): - """ - Create a new MessageInstance - - :param unicode to: The phone number to receive the message - :param unicode status_callback: URL Twilio will request when the status changes - :param unicode application_sid: The application to use for callbacks - :param unicode max_price: The max_price - :param bool provide_feedback: The provide_feedback - :param unicode validity_period: The validity_period - :param unicode max_rate: The max_rate - :param bool force_delivery: The force_delivery - :param unicode provider_sid: The provider_sid - :param MessageInstance.ContentRetention content_retention: The content_retention - :param MessageInstance.AddressRetention address_retention: The address_retention - :param bool smart_encoded: The smart_encoded - :param unicode from_: The phone number that initiated the message - :param unicode messaging_service_sid: The messaging_service_sid - :param unicode body: The body - :param unicode media_url: The media_url - - :returns: Newly created MessageInstance - :rtype: twilio.rest.api.v2010.account.message.MessageInstance - """ - data = values.of({ - 'To': to, - 'From': from_, - 'MessagingServiceSid': messaging_service_sid, - 'Body': body, - 'MediaUrl': serialize.map(media_url, lambda e: e), - 'StatusCallback': status_callback, - 'ApplicationSid': application_sid, - 'MaxPrice': max_price, - 'ProvideFeedback': provide_feedback, - 'ValidityPeriod': validity_period, - 'MaxRate': max_rate, - 'ForceDelivery': force_delivery, - 'ProviderSid': provider_sid, - 'ContentRetention': content_retention, - 'AddressRetention': address_retention, - 'SmartEncoded': smart_encoded, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return MessageInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def stream(self, to=values.unset, from_=values.unset, - date_sent_before=values.unset, date_sent=values.unset, - date_sent_after=values.unset, limit=None, page_size=None): - """ - Streams MessageInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode to: Filter by messages to this number - :param unicode from_: Filter by from number - :param datetime date_sent_before: Filter by date sent - :param datetime date_sent: Filter by date sent - :param datetime date_sent_after: Filter by date sent - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.message.MessageInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - to=to, - from_=from_, - date_sent_before=date_sent_before, - date_sent=date_sent, - date_sent_after=date_sent_after, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, to=values.unset, from_=values.unset, - date_sent_before=values.unset, date_sent=values.unset, - date_sent_after=values.unset, limit=None, page_size=None): - """ - Lists MessageInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode to: Filter by messages to this number - :param unicode from_: Filter by from number - :param datetime date_sent_before: Filter by date sent - :param datetime date_sent: Filter by date sent - :param datetime date_sent_after: Filter by date sent - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.message.MessageInstance] - """ - return list(self.stream( - to=to, - from_=from_, - date_sent_before=date_sent_before, - date_sent=date_sent, - date_sent_after=date_sent_after, - limit=limit, - page_size=page_size, - )) - - def page(self, to=values.unset, from_=values.unset, - date_sent_before=values.unset, date_sent=values.unset, - date_sent_after=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of MessageInstance records from the API. - Request is executed immediately - - :param unicode to: Filter by messages to this number - :param unicode from_: Filter by from number - :param datetime date_sent_before: Filter by date sent - :param datetime date_sent: Filter by date sent - :param datetime date_sent_after: Filter by date sent - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of MessageInstance - :rtype: twilio.rest.api.v2010.account.message.MessagePage - """ - params = values.of({ - 'To': to, - 'From': from_, - 'DateSent<': serialize.iso8601_datetime(date_sent_before), - 'DateSent': serialize.iso8601_datetime(date_sent), - 'DateSent>': serialize.iso8601_datetime(date_sent_after), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return MessagePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of MessageInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of MessageInstance - :rtype: twilio.rest.api.v2010.account.message.MessagePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return MessagePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a MessageContext - - :param sid: Fetch by unique message Sid - - :returns: twilio.rest.api.v2010.account.message.MessageContext - :rtype: twilio.rest.api.v2010.account.message.MessageContext - """ - return MessageContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a MessageContext - - :param sid: Fetch by unique message Sid - - :returns: twilio.rest.api.v2010.account.message.MessageContext - :rtype: twilio.rest.api.v2010.account.message.MessageContext - """ - return MessageContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.MessageList>' - - -class MessagePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the MessagePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.message.MessagePage - :rtype: twilio.rest.api.v2010.account.message.MessagePage - """ - super(MessagePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of MessageInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.message.MessageInstance - :rtype: twilio.rest.api.v2010.account.message.MessageInstance - """ - return MessageInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.MessagePage>' - - -class MessageContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, sid): - """ - Initialize the MessageContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param sid: Fetch by unique message Sid - - :returns: twilio.rest.api.v2010.account.message.MessageContext - :rtype: twilio.rest.api.v2010.account.message.MessageContext - """ - super(MessageContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/Messages/{sid}.json'.format(**self._solution) - - # Dependents - self._media = None - self._feedback = None - - def delete(self): - """ - Deletes the MessageInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def fetch(self): - """ - Fetch a MessageInstance - - :returns: Fetched MessageInstance - :rtype: twilio.rest.api.v2010.account.message.MessageInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return MessageInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def update(self, body): - """ - Update the MessageInstance - - :param unicode body: The body - - :returns: Updated MessageInstance - :rtype: twilio.rest.api.v2010.account.message.MessageInstance - """ - data = values.of({'Body': body, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return MessageInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - @property - def media(self): - """ - Access the media - - :returns: twilio.rest.api.v2010.account.message.media.MediaList - :rtype: twilio.rest.api.v2010.account.message.media.MediaList - """ - if self._media is None: - self._media = MediaList( - self._version, - account_sid=self._solution['account_sid'], - message_sid=self._solution['sid'], - ) - return self._media - - @property - def feedback(self): - """ - Access the feedback - - :returns: twilio.rest.api.v2010.account.message.feedback.FeedbackList - :rtype: twilio.rest.api.v2010.account.message.feedback.FeedbackList - """ - if self._feedback is None: - self._feedback = FeedbackList( - self._version, - account_sid=self._solution['account_sid'], - message_sid=self._solution['sid'], - ) - return self._feedback - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.MessageContext {}>'.format(context) - - -class MessageInstance(InstanceResource): - """ """ - - class Status(object): - QUEUED = "queued" - SENDING = "sending" - SENT = "sent" - FAILED = "failed" - DELIVERED = "delivered" - UNDELIVERED = "undelivered" - RECEIVING = "receiving" - RECEIVED = "received" - ACCEPTED = "accepted" - - class Direction(object): - INBOUND = "inbound" - OUTBOUND_API = "outbound-api" - OUTBOUND_CALL = "outbound-call" - OUTBOUND_REPLY = "outbound-reply" - - class ContentRetention(object): - RETAIN = "retain" - DISCARD = "discard" - - class AddressRetention(object): - RETAIN = "retain" - DISCARD = "discard" - - def __init__(self, version, payload, account_sid, sid=None): - """ - Initialize the MessageInstance - - :returns: twilio.rest.api.v2010.account.message.MessageInstance - :rtype: twilio.rest.api.v2010.account.message.MessageInstance - """ - super(MessageInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'api_version': payload['api_version'], - 'body': payload['body'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'date_sent': deserialize.rfc2822_datetime(payload['date_sent']), - 'direction': payload['direction'], - 'error_code': deserialize.integer(payload['error_code']), - 'error_message': payload['error_message'], - 'from_': payload['from'], - 'messaging_service_sid': payload['messaging_service_sid'], - 'num_media': payload['num_media'], - 'num_segments': payload['num_segments'], - 'price': deserialize.decimal(payload['price']), - 'price_unit': payload['price_unit'], - 'sid': payload['sid'], - 'status': payload['status'], - 'subresource_uris': payload['subresource_uris'], - 'to': payload['to'], - 'uri': payload['uri'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: MessageContext for this MessageInstance - :rtype: twilio.rest.api.v2010.account.message.MessageContext - """ - if self._context is None: - self._context = MessageContext( - self._version, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The unique sid that identifies this account - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def api_version(self): - """ - :returns: The version of the Twilio API used to process the message. - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def body(self): - """ - :returns: The text body of the message. Up to 1600 characters long. - :rtype: unicode - """ - return self._properties['body'] - - @property - def date_created(self): - """ - :returns: The date this resource was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this resource was last updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def date_sent(self): - """ - :returns: The date the message was sent - :rtype: datetime - """ - return self._properties['date_sent'] - - @property - def direction(self): - """ - :returns: The direction of the message - :rtype: MessageInstance.Direction - """ - return self._properties['direction'] - - @property - def error_code(self): - """ - :returns: The error code associated with the message - :rtype: unicode - """ - return self._properties['error_code'] - - @property - def error_message(self): - """ - :returns: Human readable description of the ErrorCode - :rtype: unicode - """ - return self._properties['error_message'] - - @property - def from_(self): - """ - :returns: The phone number that initiated the message - :rtype: unicode - """ - return self._properties['from_'] - - @property - def messaging_service_sid(self): - """ - :returns: The messaging_service_sid - :rtype: unicode - """ - return self._properties['messaging_service_sid'] - - @property - def num_media(self): - """ - :returns: Number of media files associated with the message - :rtype: unicode - """ - return self._properties['num_media'] - - @property - def num_segments(self): - """ - :returns: Indicates number of messages used to delivery the body - :rtype: unicode - """ - return self._properties['num_segments'] - - @property - def price(self): - """ - :returns: The amount billed for the message - :rtype: unicode - """ - return self._properties['price'] - - @property - def price_unit(self): - """ - :returns: The currency in which Price is measured - :rtype: unicode - """ - return self._properties['price_unit'] - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this message - :rtype: unicode - """ - return self._properties['sid'] - - @property - def status(self): - """ - :returns: The status of this message - :rtype: MessageInstance.Status - """ - return self._properties['status'] - - @property - def subresource_uris(self): - """ - :returns: The URI for any subresources - :rtype: unicode - """ - return self._properties['subresource_uris'] - - @property - def to(self): - """ - :returns: The phone number that received the message - :rtype: unicode - """ - return self._properties['to'] - - @property - def uri(self): - """ - :returns: The URI for this resource - :rtype: unicode - """ - return self._properties['uri'] - - def delete(self): - """ - Deletes the MessageInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def fetch(self): - """ - Fetch a MessageInstance - - :returns: Fetched MessageInstance - :rtype: twilio.rest.api.v2010.account.message.MessageInstance - """ - return self._proxy.fetch() - - def update(self, body): - """ - Update the MessageInstance - - :param unicode body: The body - - :returns: Updated MessageInstance - :rtype: twilio.rest.api.v2010.account.message.MessageInstance - """ - return self._proxy.update(body, ) - - @property - def media(self): - """ - Access the media - - :returns: twilio.rest.api.v2010.account.message.media.MediaList - :rtype: twilio.rest.api.v2010.account.message.media.MediaList - """ - return self._proxy.media - - @property - def feedback(self): - """ - Access the feedback - - :returns: twilio.rest.api.v2010.account.message.feedback.FeedbackList - :rtype: twilio.rest.api.v2010.account.message.feedback.FeedbackList - """ - return self._proxy.feedback - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.MessageInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/message/__pycache__/__init__.cpython-36.pyc b/twilio/rest/api/v2010/account/message/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 7f1bbfd2951ce4fc794221f7fd349dddd8f22d35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23690 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 diff --git a/twilio/rest/api/v2010/account/message/__pycache__/feedback.cpython-36.pyc b/twilio/rest/api/v2010/account/message/__pycache__/feedback.cpython-36.pyc deleted file mode 100644 index 339cd72f04d19280698c4cde935350432314363c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6304 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 PF9c#WD9z40o!)-|CItoB diff --git a/twilio/rest/api/v2010/account/message/__pycache__/media.cpython-36.pyc b/twilio/rest/api/v2010/account/message/__pycache__/media.cpython-36.pyc deleted file mode 100644 index 5242868f3bbed81c4986ae6c0829f32382988d51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14701 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 diff --git a/twilio/rest/api/v2010/account/message/feedback.py b/twilio/rest/api/v2010/account/message/feedback.py deleted file mode 100644 index 73dbe49..0000000 --- a/twilio/rest/api/v2010/account/message/feedback.py +++ /dev/null @@ -1,201 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class FeedbackList(ListResource): - """ """ - - def __init__(self, version, account_sid, message_sid): - """ - Initialize the FeedbackList - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param message_sid: The message_sid - - :returns: twilio.rest.api.v2010.account.message.feedback.FeedbackList - :rtype: twilio.rest.api.v2010.account.message.feedback.FeedbackList - """ - super(FeedbackList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'message_sid': message_sid, } - self._uri = '/Accounts/{account_sid}/Messages/{message_sid}/Feedback.json'.format(**self._solution) - - def create(self, outcome=values.unset): - """ - Create a new FeedbackInstance - - :param FeedbackInstance.Outcome outcome: The outcome - - :returns: Newly created FeedbackInstance - :rtype: twilio.rest.api.v2010.account.message.feedback.FeedbackInstance - """ - data = values.of({'Outcome': outcome, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return FeedbackInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - message_sid=self._solution['message_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.FeedbackList>' - - -class FeedbackPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the FeedbackPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The account_sid - :param message_sid: The message_sid - - :returns: twilio.rest.api.v2010.account.message.feedback.FeedbackPage - :rtype: twilio.rest.api.v2010.account.message.feedback.FeedbackPage - """ - super(FeedbackPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of FeedbackInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.message.feedback.FeedbackInstance - :rtype: twilio.rest.api.v2010.account.message.feedback.FeedbackInstance - """ - return FeedbackInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - message_sid=self._solution['message_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.FeedbackPage>' - - -class FeedbackInstance(InstanceResource): - """ """ - - class Outcome(object): - CONFIRMED = "confirmed" - UMCONFIRMED = "umconfirmed" - - def __init__(self, version, payload, account_sid, message_sid): - """ - Initialize the FeedbackInstance - - :returns: twilio.rest.api.v2010.account.message.feedback.FeedbackInstance - :rtype: twilio.rest.api.v2010.account.message.feedback.FeedbackInstance - """ - super(FeedbackInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'message_sid': payload['message_sid'], - 'outcome': payload['outcome'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'uri': payload['uri'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'message_sid': message_sid, } - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def message_sid(self): - """ - :returns: The message_sid - :rtype: unicode - """ - return self._properties['message_sid'] - - @property - def outcome(self): - """ - :returns: The outcome - :rtype: FeedbackInstance.Outcome - """ - return self._properties['outcome'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def uri(self): - """ - :returns: The uri - :rtype: unicode - """ - return self._properties['uri'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.FeedbackInstance>' diff --git a/twilio/rest/api/v2010/account/message/media.py b/twilio/rest/api/v2010/account/message/media.py deleted file mode 100644 index 60b6df5..0000000 --- a/twilio/rest/api/v2010/account/message/media.py +++ /dev/null @@ -1,432 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class MediaList(ListResource): - """ """ - - def __init__(self, version, account_sid, message_sid): - """ - Initialize the MediaList - - :param Version version: Version that contains the resource - :param account_sid: The unique sid that identifies this account - :param message_sid: A string that uniquely identifies this message - - :returns: twilio.rest.api.v2010.account.message.media.MediaList - :rtype: twilio.rest.api.v2010.account.message.media.MediaList - """ - super(MediaList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'message_sid': message_sid, } - self._uri = '/Accounts/{account_sid}/Messages/{message_sid}/Media.json'.format(**self._solution) - - def stream(self, date_created_before=values.unset, date_created=values.unset, - date_created_after=values.unset, limit=None, page_size=None): - """ - Streams MediaInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param datetime date_created_before: Filter by date created - :param datetime date_created: Filter by date created - :param datetime date_created_after: Filter by date created - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.message.media.MediaInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - date_created_before=date_created_before, - date_created=date_created, - date_created_after=date_created_after, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, date_created_before=values.unset, date_created=values.unset, - date_created_after=values.unset, limit=None, page_size=None): - """ - Lists MediaInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param datetime date_created_before: Filter by date created - :param datetime date_created: Filter by date created - :param datetime date_created_after: Filter by date created - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.message.media.MediaInstance] - """ - return list(self.stream( - date_created_before=date_created_before, - date_created=date_created, - date_created_after=date_created_after, - limit=limit, - page_size=page_size, - )) - - def page(self, date_created_before=values.unset, date_created=values.unset, - date_created_after=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of MediaInstance records from the API. - Request is executed immediately - - :param datetime date_created_before: Filter by date created - :param datetime date_created: Filter by date created - :param datetime date_created_after: Filter by date created - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of MediaInstance - :rtype: twilio.rest.api.v2010.account.message.media.MediaPage - """ - params = values.of({ - 'DateCreated<': serialize.iso8601_datetime(date_created_before), - 'DateCreated': serialize.iso8601_datetime(date_created), - 'DateCreated>': serialize.iso8601_datetime(date_created_after), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return MediaPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of MediaInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of MediaInstance - :rtype: twilio.rest.api.v2010.account.message.media.MediaPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return MediaPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a MediaContext - - :param sid: Fetch by unique media Sid - - :returns: twilio.rest.api.v2010.account.message.media.MediaContext - :rtype: twilio.rest.api.v2010.account.message.media.MediaContext - """ - return MediaContext( - self._version, - account_sid=self._solution['account_sid'], - message_sid=self._solution['message_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a MediaContext - - :param sid: Fetch by unique media Sid - - :returns: twilio.rest.api.v2010.account.message.media.MediaContext - :rtype: twilio.rest.api.v2010.account.message.media.MediaContext - """ - return MediaContext( - self._version, - account_sid=self._solution['account_sid'], - message_sid=self._solution['message_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.MediaList>' - - -class MediaPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the MediaPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The unique sid that identifies this account - :param message_sid: A string that uniquely identifies this message - - :returns: twilio.rest.api.v2010.account.message.media.MediaPage - :rtype: twilio.rest.api.v2010.account.message.media.MediaPage - """ - super(MediaPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of MediaInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.message.media.MediaInstance - :rtype: twilio.rest.api.v2010.account.message.media.MediaInstance - """ - return MediaInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - message_sid=self._solution['message_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.MediaPage>' - - -class MediaContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, message_sid, sid): - """ - Initialize the MediaContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param message_sid: The message_sid - :param sid: Fetch by unique media Sid - - :returns: twilio.rest.api.v2010.account.message.media.MediaContext - :rtype: twilio.rest.api.v2010.account.message.media.MediaContext - """ - super(MediaContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'message_sid': message_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/Messages/{message_sid}/Media/{sid}.json'.format(**self._solution) - - def delete(self): - """ - Deletes the MediaInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def fetch(self): - """ - Fetch a MediaInstance - - :returns: Fetched MediaInstance - :rtype: twilio.rest.api.v2010.account.message.media.MediaInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return MediaInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - message_sid=self._solution['message_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.MediaContext {}>'.format(context) - - -class MediaInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid, message_sid, sid=None): - """ - Initialize the MediaInstance - - :returns: twilio.rest.api.v2010.account.message.media.MediaInstance - :rtype: twilio.rest.api.v2010.account.message.media.MediaInstance - """ - super(MediaInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'content_type': payload['content_type'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'parent_sid': payload['parent_sid'], - 'sid': payload['sid'], - 'uri': payload['uri'], - } - - # Context - self._context = None - self._solution = { - 'account_sid': account_sid, - 'message_sid': message_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: MediaContext for this MediaInstance - :rtype: twilio.rest.api.v2010.account.message.media.MediaContext - """ - if self._context is None: - self._context = MediaContext( - self._version, - account_sid=self._solution['account_sid'], - message_sid=self._solution['message_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The unique sid that identifies this account - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def content_type(self): - """ - :returns: The default mime-type of the media - :rtype: unicode - """ - return self._properties['content_type'] - - @property - def date_created(self): - """ - :returns: The date this resource was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this resource was last updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def parent_sid(self): - """ - :returns: The unique id of the resource that created the media. - :rtype: unicode - """ - return self._properties['parent_sid'] - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this media - :rtype: unicode - """ - return self._properties['sid'] - - @property - def uri(self): - """ - :returns: The URI for this resource - :rtype: unicode - """ - return self._properties['uri'] - - def delete(self): - """ - Deletes the MediaInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def fetch(self): - """ - Fetch a MediaInstance - - :returns: Fetched MediaInstance - :rtype: twilio.rest.api.v2010.account.message.media.MediaInstance - """ - return self._proxy.fetch() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.MediaInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/new_key.py b/twilio/rest/api/v2010/account/new_key.py deleted file mode 100644 index f3271fd..0000000 --- a/twilio/rest/api/v2010/account/new_key.py +++ /dev/null @@ -1,176 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class NewKeyList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the NewKeyList - - :param Version version: Version that contains the resource - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.new_key.NewKeyList - :rtype: twilio.rest.api.v2010.account.new_key.NewKeyList - """ - super(NewKeyList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/Keys.json'.format(**self._solution) - - def create(self, friendly_name=values.unset): - """ - Create a new NewKeyInstance - - :param unicode friendly_name: The friendly_name - - :returns: Newly created NewKeyInstance - :rtype: twilio.rest.api.v2010.account.new_key.NewKeyInstance - """ - data = values.of({'FriendlyName': friendly_name, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return NewKeyInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.NewKeyList>' - - -class NewKeyPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the NewKeyPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.new_key.NewKeyPage - :rtype: twilio.rest.api.v2010.account.new_key.NewKeyPage - """ - super(NewKeyPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of NewKeyInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.new_key.NewKeyInstance - :rtype: twilio.rest.api.v2010.account.new_key.NewKeyInstance - """ - return NewKeyInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.NewKeyPage>' - - -class NewKeyInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid): - """ - Initialize the NewKeyInstance - - :returns: twilio.rest.api.v2010.account.new_key.NewKeyInstance - :rtype: twilio.rest.api.v2010.account.new_key.NewKeyInstance - """ - super(NewKeyInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'friendly_name': payload['friendly_name'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'secret': payload['secret'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, } - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def secret(self): - """ - :returns: The secret - :rtype: unicode - """ - return self._properties['secret'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.NewKeyInstance>' diff --git a/twilio/rest/api/v2010/account/new_signing_key.py b/twilio/rest/api/v2010/account/new_signing_key.py deleted file mode 100644 index eec5e86..0000000 --- a/twilio/rest/api/v2010/account/new_signing_key.py +++ /dev/null @@ -1,176 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class NewSigningKeyList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the NewSigningKeyList - - :param Version version: Version that contains the resource - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.new_signing_key.NewSigningKeyList - :rtype: twilio.rest.api.v2010.account.new_signing_key.NewSigningKeyList - """ - super(NewSigningKeyList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/SigningKeys.json'.format(**self._solution) - - def create(self, friendly_name=values.unset): - """ - Create a new NewSigningKeyInstance - - :param unicode friendly_name: The friendly_name - - :returns: Newly created NewSigningKeyInstance - :rtype: twilio.rest.api.v2010.account.new_signing_key.NewSigningKeyInstance - """ - data = values.of({'FriendlyName': friendly_name, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return NewSigningKeyInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.NewSigningKeyList>' - - -class NewSigningKeyPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the NewSigningKeyPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.new_signing_key.NewSigningKeyPage - :rtype: twilio.rest.api.v2010.account.new_signing_key.NewSigningKeyPage - """ - super(NewSigningKeyPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of NewSigningKeyInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.new_signing_key.NewSigningKeyInstance - :rtype: twilio.rest.api.v2010.account.new_signing_key.NewSigningKeyInstance - """ - return NewSigningKeyInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.NewSigningKeyPage>' - - -class NewSigningKeyInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid): - """ - Initialize the NewSigningKeyInstance - - :returns: twilio.rest.api.v2010.account.new_signing_key.NewSigningKeyInstance - :rtype: twilio.rest.api.v2010.account.new_signing_key.NewSigningKeyInstance - """ - super(NewSigningKeyInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'friendly_name': payload['friendly_name'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'secret': payload['secret'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, } - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def secret(self): - """ - :returns: The secret - :rtype: unicode - """ - return self._properties['secret'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.NewSigningKeyInstance>' diff --git a/twilio/rest/api/v2010/account/notification.py b/twilio/rest/api/v2010/account/notification.py deleted file mode 100644 index 5c81aba..0000000 --- a/twilio/rest/api/v2010/account/notification.py +++ /dev/null @@ -1,507 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class NotificationList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the NotificationList - - :param Version version: Version that contains the resource - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.notification.NotificationList - :rtype: twilio.rest.api.v2010.account.notification.NotificationList - """ - super(NotificationList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/Notifications.json'.format(**self._solution) - - def stream(self, log=values.unset, message_date_before=values.unset, - message_date=values.unset, message_date_after=values.unset, - limit=None, page_size=None): - """ - Streams NotificationInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode log: Filter by log level - :param date message_date_before: Filter by date - :param date message_date: Filter by date - :param date message_date_after: Filter by date - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.notification.NotificationInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - log=log, - message_date_before=message_date_before, - message_date=message_date, - message_date_after=message_date_after, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, log=values.unset, message_date_before=values.unset, - message_date=values.unset, message_date_after=values.unset, limit=None, - page_size=None): - """ - Lists NotificationInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode log: Filter by log level - :param date message_date_before: Filter by date - :param date message_date: Filter by date - :param date message_date_after: Filter by date - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.notification.NotificationInstance] - """ - return list(self.stream( - log=log, - message_date_before=message_date_before, - message_date=message_date, - message_date_after=message_date_after, - limit=limit, - page_size=page_size, - )) - - def page(self, log=values.unset, message_date_before=values.unset, - message_date=values.unset, message_date_after=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of NotificationInstance records from the API. - Request is executed immediately - - :param unicode log: Filter by log level - :param date message_date_before: Filter by date - :param date message_date: Filter by date - :param date message_date_after: Filter by date - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of NotificationInstance - :rtype: twilio.rest.api.v2010.account.notification.NotificationPage - """ - params = values.of({ - 'Log': log, - 'MessageDate<': serialize.iso8601_date(message_date_before), - 'MessageDate': serialize.iso8601_date(message_date), - 'MessageDate>': serialize.iso8601_date(message_date_after), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return NotificationPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of NotificationInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of NotificationInstance - :rtype: twilio.rest.api.v2010.account.notification.NotificationPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return NotificationPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a NotificationContext - - :param sid: Fetch by unique notification Sid - - :returns: twilio.rest.api.v2010.account.notification.NotificationContext - :rtype: twilio.rest.api.v2010.account.notification.NotificationContext - """ - return NotificationContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a NotificationContext - - :param sid: Fetch by unique notification Sid - - :returns: twilio.rest.api.v2010.account.notification.NotificationContext - :rtype: twilio.rest.api.v2010.account.notification.NotificationContext - """ - return NotificationContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.NotificationList>' - - -class NotificationPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the NotificationPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.notification.NotificationPage - :rtype: twilio.rest.api.v2010.account.notification.NotificationPage - """ - super(NotificationPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of NotificationInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.notification.NotificationInstance - :rtype: twilio.rest.api.v2010.account.notification.NotificationInstance - """ - return NotificationInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.NotificationPage>' - - -class NotificationContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, sid): - """ - Initialize the NotificationContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param sid: Fetch by unique notification Sid - - :returns: twilio.rest.api.v2010.account.notification.NotificationContext - :rtype: twilio.rest.api.v2010.account.notification.NotificationContext - """ - super(NotificationContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/Notifications/{sid}.json'.format(**self._solution) - - def fetch(self): - """ - Fetch a NotificationInstance - - :returns: Fetched NotificationInstance - :rtype: twilio.rest.api.v2010.account.notification.NotificationInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return NotificationInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the NotificationInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.NotificationContext {}>'.format(context) - - -class NotificationInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid, sid=None): - """ - Initialize the NotificationInstance - - :returns: twilio.rest.api.v2010.account.notification.NotificationInstance - :rtype: twilio.rest.api.v2010.account.notification.NotificationInstance - """ - super(NotificationInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'api_version': payload['api_version'], - 'call_sid': payload['call_sid'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'error_code': payload['error_code'], - 'log': payload['log'], - 'message_date': deserialize.rfc2822_datetime(payload['message_date']), - 'message_text': payload['message_text'], - 'more_info': payload['more_info'], - 'request_method': payload['request_method'], - 'request_url': payload['request_url'], - 'sid': payload['sid'], - 'uri': payload['uri'], - 'request_variables': payload.get('request_variables'), - 'response_body': payload.get('response_body'), - 'response_headers': payload.get('response_headers'), - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: NotificationContext for this NotificationInstance - :rtype: twilio.rest.api.v2010.account.notification.NotificationContext - """ - if self._context is None: - self._context = NotificationContext( - self._version, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The unique sid that identifies this account - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def api_version(self): - """ - :returns: The version of the Twilio API in use - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def call_sid(self): - """ - :returns: The string that uniquely identifies the call - :rtype: unicode - """ - return self._properties['call_sid'] - - @property - def date_created(self): - """ - :returns: The date this resource was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this resource was last updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def error_code(self): - """ - :returns: A unique error code corresponding to the notification - :rtype: unicode - """ - return self._properties['error_code'] - - @property - def log(self): - """ - :returns: An integer log level - :rtype: unicode - """ - return self._properties['log'] - - @property - def message_date(self): - """ - :returns: The date the notification was generated - :rtype: datetime - """ - return self._properties['message_date'] - - @property - def message_text(self): - """ - :returns: The text of the notification. - :rtype: unicode - """ - return self._properties['message_text'] - - @property - def more_info(self): - """ - :returns: A URL for more information about the error code - :rtype: unicode - """ - return self._properties['more_info'] - - @property - def request_method(self): - """ - :returns: HTTP method used with the request url - :rtype: unicode - """ - return self._properties['request_method'] - - @property - def request_url(self): - """ - :returns: URL of the resource that generated the notification - :rtype: unicode - """ - return self._properties['request_url'] - - @property - def request_variables(self): - """ - :returns: Twilio-generated HTTP variables sent to the server - :rtype: unicode - """ - return self._properties['request_variables'] - - @property - def response_body(self): - """ - :returns: The HTTP body returned by your server. - :rtype: unicode - """ - return self._properties['response_body'] - - @property - def response_headers(self): - """ - :returns: The HTTP headers returned by your server. - :rtype: unicode - """ - return self._properties['response_headers'] - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this notification - :rtype: unicode - """ - return self._properties['sid'] - - @property - def uri(self): - """ - :returns: The URI for this resource - :rtype: unicode - """ - return self._properties['uri'] - - def fetch(self): - """ - Fetch a NotificationInstance - - :returns: Fetched NotificationInstance - :rtype: twilio.rest.api.v2010.account.notification.NotificationInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the NotificationInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.NotificationInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/outgoing_caller_id.py b/twilio/rest/api/v2010/account/outgoing_caller_id.py deleted file mode 100644 index 5a0aeb0..0000000 --- a/twilio/rest/api/v2010/account/outgoing_caller_id.py +++ /dev/null @@ -1,436 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class OutgoingCallerIdList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the OutgoingCallerIdList - - :param Version version: Version that contains the resource - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdList - :rtype: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdList - """ - super(OutgoingCallerIdList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/OutgoingCallerIds.json'.format(**self._solution) - - def stream(self, phone_number=values.unset, friendly_name=values.unset, - limit=None, page_size=None): - """ - Streams OutgoingCallerIdInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode phone_number: Filter by phone number - :param unicode friendly_name: Filter by friendly name - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - phone_number=phone_number, - friendly_name=friendly_name, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, phone_number=values.unset, friendly_name=values.unset, - limit=None, page_size=None): - """ - Lists OutgoingCallerIdInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode phone_number: Filter by phone number - :param unicode friendly_name: Filter by friendly name - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdInstance] - """ - return list(self.stream( - phone_number=phone_number, - friendly_name=friendly_name, - limit=limit, - page_size=page_size, - )) - - def page(self, phone_number=values.unset, friendly_name=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of OutgoingCallerIdInstance records from the API. - Request is executed immediately - - :param unicode phone_number: Filter by phone number - :param unicode friendly_name: Filter by friendly name - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of OutgoingCallerIdInstance - :rtype: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdPage - """ - params = values.of({ - 'PhoneNumber': phone_number, - 'FriendlyName': friendly_name, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return OutgoingCallerIdPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of OutgoingCallerIdInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of OutgoingCallerIdInstance - :rtype: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return OutgoingCallerIdPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a OutgoingCallerIdContext - - :param sid: Fetch by unique outgoing-caller-id Sid - - :returns: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdContext - :rtype: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdContext - """ - return OutgoingCallerIdContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a OutgoingCallerIdContext - - :param sid: Fetch by unique outgoing-caller-id Sid - - :returns: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdContext - :rtype: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdContext - """ - return OutgoingCallerIdContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.OutgoingCallerIdList>' - - -class OutgoingCallerIdPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the OutgoingCallerIdPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdPage - :rtype: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdPage - """ - super(OutgoingCallerIdPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of OutgoingCallerIdInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdInstance - :rtype: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdInstance - """ - return OutgoingCallerIdInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.OutgoingCallerIdPage>' - - -class OutgoingCallerIdContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, sid): - """ - Initialize the OutgoingCallerIdContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param sid: Fetch by unique outgoing-caller-id Sid - - :returns: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdContext - :rtype: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdContext - """ - super(OutgoingCallerIdContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/OutgoingCallerIds/{sid}.json'.format(**self._solution) - - def fetch(self): - """ - Fetch a OutgoingCallerIdInstance - - :returns: Fetched OutgoingCallerIdInstance - :rtype: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return OutgoingCallerIdInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def update(self, friendly_name=values.unset): - """ - Update the OutgoingCallerIdInstance - - :param unicode friendly_name: A human readable description of the caller ID - - :returns: Updated OutgoingCallerIdInstance - :rtype: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdInstance - """ - data = values.of({'FriendlyName': friendly_name, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return OutgoingCallerIdInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the OutgoingCallerIdInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.OutgoingCallerIdContext {}>'.format(context) - - -class OutgoingCallerIdInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid, sid=None): - """ - Initialize the OutgoingCallerIdInstance - - :returns: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdInstance - :rtype: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdInstance - """ - super(OutgoingCallerIdInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'friendly_name': payload['friendly_name'], - 'account_sid': payload['account_sid'], - 'phone_number': payload['phone_number'], - 'uri': payload['uri'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: OutgoingCallerIdContext for this OutgoingCallerIdInstance - :rtype: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdContext - """ - if self._context is None: - self._context = OutgoingCallerIdContext( - self._version, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this outgoing-caller-ids - :rtype: unicode - """ - return self._properties['sid'] - - @property - def date_created(self): - """ - :returns: The date this resource was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this resource was last updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def friendly_name(self): - """ - :returns: A human readable description for this resource - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def account_sid(self): - """ - :returns: The unique sid that identifies this account - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def phone_number(self): - """ - :returns: The incoming phone number - :rtype: unicode - """ - return self._properties['phone_number'] - - @property - def uri(self): - """ - :returns: The URI for this resource - :rtype: unicode - """ - return self._properties['uri'] - - def fetch(self): - """ - Fetch a OutgoingCallerIdInstance - - :returns: Fetched OutgoingCallerIdInstance - :rtype: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdInstance - """ - return self._proxy.fetch() - - def update(self, friendly_name=values.unset): - """ - Update the OutgoingCallerIdInstance - - :param unicode friendly_name: A human readable description of the caller ID - - :returns: Updated OutgoingCallerIdInstance - :rtype: twilio.rest.api.v2010.account.outgoing_caller_id.OutgoingCallerIdInstance - """ - return self._proxy.update(friendly_name=friendly_name, ) - - def delete(self): - """ - Deletes the OutgoingCallerIdInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.OutgoingCallerIdInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/queue/__init__.py b/twilio/rest/api/v2010/account/queue/__init__.py deleted file mode 100644 index 3975a91..0000000 --- a/twilio/rest/api/v2010/account/queue/__init__.py +++ /dev/null @@ -1,482 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.api.v2010.account.queue.member import MemberList - - -class QueueList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the QueueList - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - - :returns: twilio.rest.api.v2010.account.queue.QueueList - :rtype: twilio.rest.api.v2010.account.queue.QueueList - """ - super(QueueList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/Queues.json'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams QueueInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.queue.QueueInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists QueueInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.queue.QueueInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of QueueInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of QueueInstance - :rtype: twilio.rest.api.v2010.account.queue.QueuePage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return QueuePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of QueueInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of QueueInstance - :rtype: twilio.rest.api.v2010.account.queue.QueuePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return QueuePage(self._version, response, self._solution) - - def create(self, friendly_name, max_size=values.unset): - """ - Create a new QueueInstance - - :param unicode friendly_name: A user-provided string that identifies this queue. - :param unicode max_size: The max number of calls allowed in the queue - - :returns: Newly created QueueInstance - :rtype: twilio.rest.api.v2010.account.queue.QueueInstance - """ - data = values.of({'FriendlyName': friendly_name, 'MaxSize': max_size, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return QueueInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def get(self, sid): - """ - Constructs a QueueContext - - :param sid: Fetch by unique queue Sid - - :returns: twilio.rest.api.v2010.account.queue.QueueContext - :rtype: twilio.rest.api.v2010.account.queue.QueueContext - """ - return QueueContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a QueueContext - - :param sid: Fetch by unique queue Sid - - :returns: twilio.rest.api.v2010.account.queue.QueueContext - :rtype: twilio.rest.api.v2010.account.queue.QueueContext - """ - return QueueContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.QueueList>' - - -class QueuePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the QueuePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The account_sid - - :returns: twilio.rest.api.v2010.account.queue.QueuePage - :rtype: twilio.rest.api.v2010.account.queue.QueuePage - """ - super(QueuePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of QueueInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.queue.QueueInstance - :rtype: twilio.rest.api.v2010.account.queue.QueueInstance - """ - return QueueInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.QueuePage>' - - -class QueueContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, sid): - """ - Initialize the QueueContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param sid: Fetch by unique queue Sid - - :returns: twilio.rest.api.v2010.account.queue.QueueContext - :rtype: twilio.rest.api.v2010.account.queue.QueueContext - """ - super(QueueContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/Queues/{sid}.json'.format(**self._solution) - - # Dependents - self._members = None - - def fetch(self): - """ - Fetch a QueueInstance - - :returns: Fetched QueueInstance - :rtype: twilio.rest.api.v2010.account.queue.QueueInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return QueueInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def update(self, friendly_name=values.unset, max_size=values.unset): - """ - Update the QueueInstance - - :param unicode friendly_name: A human readable description of the queue - :param unicode max_size: The max number of members allowed in the queue - - :returns: Updated QueueInstance - :rtype: twilio.rest.api.v2010.account.queue.QueueInstance - """ - data = values.of({'FriendlyName': friendly_name, 'MaxSize': max_size, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return QueueInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the QueueInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - @property - def members(self): - """ - Access the members - - :returns: twilio.rest.api.v2010.account.queue.member.MemberList - :rtype: twilio.rest.api.v2010.account.queue.member.MemberList - """ - if self._members is None: - self._members = MemberList( - self._version, - account_sid=self._solution['account_sid'], - queue_sid=self._solution['sid'], - ) - return self._members - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.QueueContext {}>'.format(context) - - -class QueueInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid, sid=None): - """ - Initialize the QueueInstance - - :returns: twilio.rest.api.v2010.account.queue.QueueInstance - :rtype: twilio.rest.api.v2010.account.queue.QueueInstance - """ - super(QueueInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'average_wait_time': deserialize.integer(payload['average_wait_time']), - 'current_size': deserialize.integer(payload['current_size']), - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'friendly_name': payload['friendly_name'], - 'max_size': deserialize.integer(payload['max_size']), - 'sid': payload['sid'], - 'uri': payload['uri'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: QueueContext for this QueueInstance - :rtype: twilio.rest.api.v2010.account.queue.QueueContext - """ - if self._context is None: - self._context = QueueContext( - self._version, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def average_wait_time(self): - """ - :returns: Average wait time of members in the queue - :rtype: unicode - """ - return self._properties['average_wait_time'] - - @property - def current_size(self): - """ - :returns: The count of calls currently in the queue. - :rtype: unicode - """ - return self._properties['current_size'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def friendly_name(self): - """ - :returns: A user-provided string that identifies this queue. - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def max_size(self): - """ - :returns: The max number of calls allowed in the queue - :rtype: unicode - """ - return self._properties['max_size'] - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this queue - :rtype: unicode - """ - return self._properties['sid'] - - @property - def uri(self): - """ - :returns: The uri - :rtype: unicode - """ - return self._properties['uri'] - - def fetch(self): - """ - Fetch a QueueInstance - - :returns: Fetched QueueInstance - :rtype: twilio.rest.api.v2010.account.queue.QueueInstance - """ - return self._proxy.fetch() - - def update(self, friendly_name=values.unset, max_size=values.unset): - """ - Update the QueueInstance - - :param unicode friendly_name: A human readable description of the queue - :param unicode max_size: The max number of members allowed in the queue - - :returns: Updated QueueInstance - :rtype: twilio.rest.api.v2010.account.queue.QueueInstance - """ - return self._proxy.update(friendly_name=friendly_name, max_size=max_size, ) - - def delete(self): - """ - Deletes the QueueInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - @property - def members(self): - """ - Access the members - - :returns: twilio.rest.api.v2010.account.queue.member.MemberList - :rtype: twilio.rest.api.v2010.account.queue.member.MemberList - """ - return self._proxy.members - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.QueueInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/queue/__pycache__/__init__.cpython-36.pyc b/twilio/rest/api/v2010/account/queue/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 35410c010c9bac2f37984e5daec5c3fa55ee5145..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16178 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 diff --git a/twilio/rest/api/v2010/account/queue/__pycache__/member.cpython-36.pyc b/twilio/rest/api/v2010/account/queue/__pycache__/member.cpython-36.pyc deleted file mode 100644 index 5dbbc91a0d34b8a2cc49bccd129b383cbd8d8bd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13710 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 SFM9x7nvL&jjYg~S!T$lBpTT<o diff --git a/twilio/rest/api/v2010/account/queue/member.py b/twilio/rest/api/v2010/account/queue/member.py deleted file mode 100644 index e5dec61..0000000 --- a/twilio/rest/api/v2010/account/queue/member.py +++ /dev/null @@ -1,403 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class MemberList(ListResource): - """ """ - - def __init__(self, version, account_sid, queue_sid): - """ - Initialize the MemberList - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param queue_sid: A string that uniquely identifies this queue - - :returns: twilio.rest.api.v2010.account.queue.member.MemberList - :rtype: twilio.rest.api.v2010.account.queue.member.MemberList - """ - super(MemberList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'queue_sid': queue_sid, } - self._uri = '/Accounts/{account_sid}/Queues/{queue_sid}/Members.json'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams MemberInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.queue.member.MemberInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists MemberInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.queue.member.MemberInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of MemberInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of MemberInstance - :rtype: twilio.rest.api.v2010.account.queue.member.MemberPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return MemberPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of MemberInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of MemberInstance - :rtype: twilio.rest.api.v2010.account.queue.member.MemberPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return MemberPage(self._version, response, self._solution) - - def get(self, call_sid): - """ - Constructs a MemberContext - - :param call_sid: The call_sid - - :returns: twilio.rest.api.v2010.account.queue.member.MemberContext - :rtype: twilio.rest.api.v2010.account.queue.member.MemberContext - """ - return MemberContext( - self._version, - account_sid=self._solution['account_sid'], - queue_sid=self._solution['queue_sid'], - call_sid=call_sid, - ) - - def __call__(self, call_sid): - """ - Constructs a MemberContext - - :param call_sid: The call_sid - - :returns: twilio.rest.api.v2010.account.queue.member.MemberContext - :rtype: twilio.rest.api.v2010.account.queue.member.MemberContext - """ - return MemberContext( - self._version, - account_sid=self._solution['account_sid'], - queue_sid=self._solution['queue_sid'], - call_sid=call_sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.MemberList>' - - -class MemberPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the MemberPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The account_sid - :param queue_sid: A string that uniquely identifies this queue - - :returns: twilio.rest.api.v2010.account.queue.member.MemberPage - :rtype: twilio.rest.api.v2010.account.queue.member.MemberPage - """ - super(MemberPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of MemberInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.queue.member.MemberInstance - :rtype: twilio.rest.api.v2010.account.queue.member.MemberInstance - """ - return MemberInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - queue_sid=self._solution['queue_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.MemberPage>' - - -class MemberContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, queue_sid, call_sid): - """ - Initialize the MemberContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param queue_sid: The Queue in which to find the members - :param call_sid: The call_sid - - :returns: twilio.rest.api.v2010.account.queue.member.MemberContext - :rtype: twilio.rest.api.v2010.account.queue.member.MemberContext - """ - super(MemberContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'queue_sid': queue_sid, 'call_sid': call_sid, } - self._uri = '/Accounts/{account_sid}/Queues/{queue_sid}/Members/{call_sid}.json'.format(**self._solution) - - def fetch(self): - """ - Fetch a MemberInstance - - :returns: Fetched MemberInstance - :rtype: twilio.rest.api.v2010.account.queue.member.MemberInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return MemberInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - queue_sid=self._solution['queue_sid'], - call_sid=self._solution['call_sid'], - ) - - def update(self, url, method): - """ - Update the MemberInstance - - :param unicode url: The url - :param unicode method: The method - - :returns: Updated MemberInstance - :rtype: twilio.rest.api.v2010.account.queue.member.MemberInstance - """ - data = values.of({'Url': url, 'Method': method, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return MemberInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - queue_sid=self._solution['queue_sid'], - call_sid=self._solution['call_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.MemberContext {}>'.format(context) - - -class MemberInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid, queue_sid, call_sid=None): - """ - Initialize the MemberInstance - - :returns: twilio.rest.api.v2010.account.queue.member.MemberInstance - :rtype: twilio.rest.api.v2010.account.queue.member.MemberInstance - """ - super(MemberInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'call_sid': payload['call_sid'], - 'date_enqueued': deserialize.rfc2822_datetime(payload['date_enqueued']), - 'position': deserialize.integer(payload['position']), - 'uri': payload['uri'], - 'wait_time': deserialize.integer(payload['wait_time']), - } - - # Context - self._context = None - self._solution = { - 'account_sid': account_sid, - 'queue_sid': queue_sid, - 'call_sid': call_sid or self._properties['call_sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: MemberContext for this MemberInstance - :rtype: twilio.rest.api.v2010.account.queue.member.MemberContext - """ - if self._context is None: - self._context = MemberContext( - self._version, - account_sid=self._solution['account_sid'], - queue_sid=self._solution['queue_sid'], - call_sid=self._solution['call_sid'], - ) - return self._context - - @property - def call_sid(self): - """ - :returns: Unique string that identifies this resource - :rtype: unicode - """ - return self._properties['call_sid'] - - @property - def date_enqueued(self): - """ - :returns: The date the member was enqueued - :rtype: datetime - """ - return self._properties['date_enqueued'] - - @property - def position(self): - """ - :returns: This member's current position in the queue. - :rtype: unicode - """ - return self._properties['position'] - - @property - def uri(self): - """ - :returns: The uri - :rtype: unicode - """ - return self._properties['uri'] - - @property - def wait_time(self): - """ - :returns: The number of seconds the member has been in the queue. - :rtype: unicode - """ - return self._properties['wait_time'] - - def fetch(self): - """ - Fetch a MemberInstance - - :returns: Fetched MemberInstance - :rtype: twilio.rest.api.v2010.account.queue.member.MemberInstance - """ - return self._proxy.fetch() - - def update(self, url, method): - """ - Update the MemberInstance - - :param unicode url: The url - :param unicode method: The method - - :returns: Updated MemberInstance - :rtype: twilio.rest.api.v2010.account.queue.member.MemberInstance - """ - return self._proxy.update(url, method, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.MemberInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/recording/__init__.py b/twilio/rest/api/v2010/account/recording/__init__.py deleted file mode 100644 index 2beccee..0000000 --- a/twilio/rest/api/v2010/account/recording/__init__.py +++ /dev/null @@ -1,588 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.api.v2010.account.recording.add_on_result import AddOnResultList -from twilio.rest.api.v2010.account.recording.transcription import TranscriptionList - - -class RecordingList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the RecordingList - - :param Version version: Version that contains the resource - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.recording.RecordingList - :rtype: twilio.rest.api.v2010.account.recording.RecordingList - """ - super(RecordingList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/Recordings.json'.format(**self._solution) - - def stream(self, date_created_before=values.unset, date_created=values.unset, - date_created_after=values.unset, call_sid=values.unset, - conference_sid=values.unset, limit=None, page_size=None): - """ - Streams RecordingInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param datetime date_created_before: Filter by date created - :param datetime date_created: Filter by date created - :param datetime date_created_after: Filter by date created - :param unicode call_sid: Filter by call_sid - :param unicode conference_sid: The conference_sid - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.recording.RecordingInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - date_created_before=date_created_before, - date_created=date_created, - date_created_after=date_created_after, - call_sid=call_sid, - conference_sid=conference_sid, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, date_created_before=values.unset, date_created=values.unset, - date_created_after=values.unset, call_sid=values.unset, - conference_sid=values.unset, limit=None, page_size=None): - """ - Lists RecordingInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param datetime date_created_before: Filter by date created - :param datetime date_created: Filter by date created - :param datetime date_created_after: Filter by date created - :param unicode call_sid: Filter by call_sid - :param unicode conference_sid: The conference_sid - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.recording.RecordingInstance] - """ - return list(self.stream( - date_created_before=date_created_before, - date_created=date_created, - date_created_after=date_created_after, - call_sid=call_sid, - conference_sid=conference_sid, - limit=limit, - page_size=page_size, - )) - - def page(self, date_created_before=values.unset, date_created=values.unset, - date_created_after=values.unset, call_sid=values.unset, - conference_sid=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of RecordingInstance records from the API. - Request is executed immediately - - :param datetime date_created_before: Filter by date created - :param datetime date_created: Filter by date created - :param datetime date_created_after: Filter by date created - :param unicode call_sid: Filter by call_sid - :param unicode conference_sid: The conference_sid - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of RecordingInstance - :rtype: twilio.rest.api.v2010.account.recording.RecordingPage - """ - params = values.of({ - 'DateCreated<': serialize.iso8601_datetime(date_created_before), - 'DateCreated': serialize.iso8601_datetime(date_created), - 'DateCreated>': serialize.iso8601_datetime(date_created_after), - 'CallSid': call_sid, - 'ConferenceSid': conference_sid, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return RecordingPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of RecordingInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of RecordingInstance - :rtype: twilio.rest.api.v2010.account.recording.RecordingPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return RecordingPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a RecordingContext - - :param sid: Fetch by unique recording Sid - - :returns: twilio.rest.api.v2010.account.recording.RecordingContext - :rtype: twilio.rest.api.v2010.account.recording.RecordingContext - """ - return RecordingContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a RecordingContext - - :param sid: Fetch by unique recording Sid - - :returns: twilio.rest.api.v2010.account.recording.RecordingContext - :rtype: twilio.rest.api.v2010.account.recording.RecordingContext - """ - return RecordingContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.RecordingList>' - - -class RecordingPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the RecordingPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.recording.RecordingPage - :rtype: twilio.rest.api.v2010.account.recording.RecordingPage - """ - super(RecordingPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of RecordingInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.recording.RecordingInstance - :rtype: twilio.rest.api.v2010.account.recording.RecordingInstance - """ - return RecordingInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.RecordingPage>' - - -class RecordingContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, sid): - """ - Initialize the RecordingContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param sid: Fetch by unique recording Sid - - :returns: twilio.rest.api.v2010.account.recording.RecordingContext - :rtype: twilio.rest.api.v2010.account.recording.RecordingContext - """ - super(RecordingContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/Recordings/{sid}.json'.format(**self._solution) - - # Dependents - self._transcriptions = None - self._add_on_results = None - - def fetch(self): - """ - Fetch a RecordingInstance - - :returns: Fetched RecordingInstance - :rtype: twilio.rest.api.v2010.account.recording.RecordingInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return RecordingInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the RecordingInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - @property - def transcriptions(self): - """ - Access the transcriptions - - :returns: twilio.rest.api.v2010.account.recording.transcription.TranscriptionList - :rtype: twilio.rest.api.v2010.account.recording.transcription.TranscriptionList - """ - if self._transcriptions is None: - self._transcriptions = TranscriptionList( - self._version, - account_sid=self._solution['account_sid'], - recording_sid=self._solution['sid'], - ) - return self._transcriptions - - @property - def add_on_results(self): - """ - Access the add_on_results - - :returns: twilio.rest.api.v2010.account.recording.add_on_result.AddOnResultList - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.AddOnResultList - """ - if self._add_on_results is None: - self._add_on_results = AddOnResultList( - self._version, - account_sid=self._solution['account_sid'], - reference_sid=self._solution['sid'], - ) - return self._add_on_results - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.RecordingContext {}>'.format(context) - - -class RecordingInstance(InstanceResource): - """ """ - - class Status(object): - IN_PROGRESS = "in-progress" - PAUSED = "paused" - STOPPED = "stopped" - PROCESSING = "processing" - COMPLETED = "completed" - FAILED = "failed" - - class Source(object): - DIALVERB = "DialVerb" - CONFERENCE = "Conference" - OUTBOUNDAPI = "OutboundAPI" - TRUNKING = "Trunking" - RECORDVERB = "RecordVerb" - STARTCALLRECORDINGAPI = "StartCallRecordingAPI" - STARTCONFERENCERECORDINGAPI = "StartConferenceRecordingAPI" - - def __init__(self, version, payload, account_sid, sid=None): - """ - Initialize the RecordingInstance - - :returns: twilio.rest.api.v2010.account.recording.RecordingInstance - :rtype: twilio.rest.api.v2010.account.recording.RecordingInstance - """ - super(RecordingInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'api_version': payload['api_version'], - 'call_sid': payload['call_sid'], - 'conference_sid': payload['conference_sid'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'duration': payload['duration'], - 'sid': payload['sid'], - 'price': payload['price'], - 'price_unit': payload['price_unit'], - 'status': payload['status'], - 'channels': deserialize.integer(payload['channels']), - 'source': payload['source'], - 'error_code': deserialize.integer(payload['error_code']), - 'uri': payload['uri'], - 'encryption_details': payload['encryption_details'], - 'subresource_uris': payload['subresource_uris'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: RecordingContext for this RecordingInstance - :rtype: twilio.rest.api.v2010.account.recording.RecordingContext - """ - if self._context is None: - self._context = RecordingContext( - self._version, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The unique sid that identifies this account - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def api_version(self): - """ - :returns: The version of the API in use during the recording. - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def call_sid(self): - """ - :returns: The unique id for the call leg that corresponds to the recording. - :rtype: unicode - """ - return self._properties['call_sid'] - - @property - def conference_sid(self): - """ - :returns: The unique id for the conference associated with the recording, if a conference recording. - :rtype: unicode - """ - return self._properties['conference_sid'] - - @property - def date_created(self): - """ - :returns: The date this resource was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this resource was last updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def duration(self): - """ - :returns: The length of the recording, in seconds. - :rtype: unicode - """ - return self._properties['duration'] - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this recording - :rtype: unicode - """ - return self._properties['sid'] - - @property - def price(self): - """ - :returns: The one-time cost of creating this recording. - :rtype: unicode - """ - return self._properties['price'] - - @property - def price_unit(self): - """ - :returns: The currency used in the Price property. - :rtype: unicode - """ - return self._properties['price_unit'] - - @property - def status(self): - """ - :returns: The status of the recording. - :rtype: RecordingInstance.Status - """ - return self._properties['status'] - - @property - def channels(self): - """ - :returns: The number of channels in the final recording file as an integer. - :rtype: unicode - """ - return self._properties['channels'] - - @property - def source(self): - """ - :returns: The way in which this recording was created. - :rtype: RecordingInstance.Source - """ - return self._properties['source'] - - @property - def error_code(self): - """ - :returns: More information about the recording failure, if Status is failed. - :rtype: unicode - """ - return self._properties['error_code'] - - @property - def uri(self): - """ - :returns: The URI for this resource - :rtype: unicode - """ - return self._properties['uri'] - - @property - def encryption_details(self): - """ - :returns: The encryption_details - :rtype: dict - """ - return self._properties['encryption_details'] - - @property - def subresource_uris(self): - """ - :returns: The subresource_uris - :rtype: unicode - """ - return self._properties['subresource_uris'] - - def fetch(self): - """ - Fetch a RecordingInstance - - :returns: Fetched RecordingInstance - :rtype: twilio.rest.api.v2010.account.recording.RecordingInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the RecordingInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - @property - def transcriptions(self): - """ - Access the transcriptions - - :returns: twilio.rest.api.v2010.account.recording.transcription.TranscriptionList - :rtype: twilio.rest.api.v2010.account.recording.transcription.TranscriptionList - """ - return self._proxy.transcriptions - - @property - def add_on_results(self): - """ - Access the add_on_results - - :returns: twilio.rest.api.v2010.account.recording.add_on_result.AddOnResultList - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.AddOnResultList - """ - return self._proxy.add_on_results - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.RecordingInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/recording/__pycache__/__init__.cpython-36.pyc b/twilio/rest/api/v2010/account/recording/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 3886dba05eebc316ead7697b68f1184fd7d04cbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20324 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 diff --git a/twilio/rest/api/v2010/account/recording/__pycache__/transcription.cpython-36.pyc b/twilio/rest/api/v2010/account/recording/__pycache__/transcription.cpython-36.pyc deleted file mode 100644 index e658b34164e6b71d74b014ebcda0f841fb3148e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16000 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 Yb3s0iLb4WzeYnik|46IXoAqn|1!>$b!2kdN diff --git a/twilio/rest/api/v2010/account/recording/add_on_result/__init__.py b/twilio/rest/api/v2010/account/recording/add_on_result/__init__.py deleted file mode 100644 index 1fe05aa..0000000 --- a/twilio/rest/api/v2010/account/recording/add_on_result/__init__.py +++ /dev/null @@ -1,469 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.api.v2010.account.recording.add_on_result.payload import PayloadList - - -class AddOnResultList(ListResource): - """ """ - - def __init__(self, version, account_sid, reference_sid): - """ - Initialize the AddOnResultList - - :param Version version: Version that contains the resource - :param account_sid: The unique sid that identifies this account - :param reference_sid: A string that uniquely identifies the recording. - - :returns: twilio.rest.api.v2010.account.recording.add_on_result.AddOnResultList - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.AddOnResultList - """ - super(AddOnResultList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'reference_sid': reference_sid, } - self._uri = '/Accounts/{account_sid}/Recordings/{reference_sid}/AddOnResults.json'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams AddOnResultInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.recording.add_on_result.AddOnResultInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists AddOnResultInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.recording.add_on_result.AddOnResultInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of AddOnResultInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of AddOnResultInstance - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.AddOnResultPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return AddOnResultPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of AddOnResultInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of AddOnResultInstance - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.AddOnResultPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return AddOnResultPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a AddOnResultContext - - :param sid: Fetch by unique result Sid - - :returns: twilio.rest.api.v2010.account.recording.add_on_result.AddOnResultContext - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.AddOnResultContext - """ - return AddOnResultContext( - self._version, - account_sid=self._solution['account_sid'], - reference_sid=self._solution['reference_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a AddOnResultContext - - :param sid: Fetch by unique result Sid - - :returns: twilio.rest.api.v2010.account.recording.add_on_result.AddOnResultContext - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.AddOnResultContext - """ - return AddOnResultContext( - self._version, - account_sid=self._solution['account_sid'], - reference_sid=self._solution['reference_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.AddOnResultList>' - - -class AddOnResultPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the AddOnResultPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The unique sid that identifies this account - :param reference_sid: A string that uniquely identifies the recording. - - :returns: twilio.rest.api.v2010.account.recording.add_on_result.AddOnResultPage - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.AddOnResultPage - """ - super(AddOnResultPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of AddOnResultInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.recording.add_on_result.AddOnResultInstance - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.AddOnResultInstance - """ - return AddOnResultInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - reference_sid=self._solution['reference_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.AddOnResultPage>' - - -class AddOnResultContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, reference_sid, sid): - """ - Initialize the AddOnResultContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param reference_sid: The reference_sid - :param sid: Fetch by unique result Sid - - :returns: twilio.rest.api.v2010.account.recording.add_on_result.AddOnResultContext - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.AddOnResultContext - """ - super(AddOnResultContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'reference_sid': reference_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/Recordings/{reference_sid}/AddOnResults/{sid}.json'.format(**self._solution) - - # Dependents - self._payloads = None - - def fetch(self): - """ - Fetch a AddOnResultInstance - - :returns: Fetched AddOnResultInstance - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.AddOnResultInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return AddOnResultInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - reference_sid=self._solution['reference_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the AddOnResultInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - @property - def payloads(self): - """ - Access the payloads - - :returns: twilio.rest.api.v2010.account.recording.add_on_result.payload.PayloadList - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.payload.PayloadList - """ - if self._payloads is None: - self._payloads = PayloadList( - self._version, - account_sid=self._solution['account_sid'], - reference_sid=self._solution['reference_sid'], - add_on_result_sid=self._solution['sid'], - ) - return self._payloads - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.AddOnResultContext {}>'.format(context) - - -class AddOnResultInstance(InstanceResource): - """ """ - - class Status(object): - CANCELED = "canceled" - COMPLETED = "completed" - DELETED = "deleted" - FAILED = "failed" - IN_PROGRESS = "in-progress" - INIT = "init" - PROCESSING = "processing" - QUEUED = "queued" - - def __init__(self, version, payload, account_sid, reference_sid, sid=None): - """ - Initialize the AddOnResultInstance - - :returns: twilio.rest.api.v2010.account.recording.add_on_result.AddOnResultInstance - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.AddOnResultInstance - """ - super(AddOnResultInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'status': payload['status'], - 'add_on_sid': payload['add_on_sid'], - 'add_on_configuration_sid': payload['add_on_configuration_sid'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'date_completed': deserialize.rfc2822_datetime(payload['date_completed']), - 'reference_sid': payload['reference_sid'], - 'subresource_uris': payload['subresource_uris'], - } - - # Context - self._context = None - self._solution = { - 'account_sid': account_sid, - 'reference_sid': reference_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: AddOnResultContext for this AddOnResultInstance - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.AddOnResultContext - """ - if self._context is None: - self._context = AddOnResultContext( - self._version, - account_sid=self._solution['account_sid'], - reference_sid=self._solution['reference_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this result - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The unique sid that identifies this account - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def status(self): - """ - :returns: The status of this result. - :rtype: AddOnResultInstance.Status - """ - return self._properties['status'] - - @property - def add_on_sid(self): - """ - :returns: A string that uniquely identifies the Add-on. - :rtype: unicode - """ - return self._properties['add_on_sid'] - - @property - def add_on_configuration_sid(self): - """ - :returns: A string that uniquely identifies the Add-on configuration. - :rtype: unicode - """ - return self._properties['add_on_configuration_sid'] - - @property - def date_created(self): - """ - :returns: The date this resource was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this resource was last updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def date_completed(self): - """ - :returns: The date this result was completed. - :rtype: datetime - """ - return self._properties['date_completed'] - - @property - def reference_sid(self): - """ - :returns: A string that uniquely identifies the recording. - :rtype: unicode - """ - return self._properties['reference_sid'] - - @property - def subresource_uris(self): - """ - :returns: The subresource_uris - :rtype: unicode - """ - return self._properties['subresource_uris'] - - def fetch(self): - """ - Fetch a AddOnResultInstance - - :returns: Fetched AddOnResultInstance - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.AddOnResultInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the AddOnResultInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - @property - def payloads(self): - """ - Access the payloads - - :returns: twilio.rest.api.v2010.account.recording.add_on_result.payload.PayloadList - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.payload.PayloadList - """ - return self._proxy.payloads - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.AddOnResultInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/recording/add_on_result/__pycache__/__init__.cpython-36.pyc b/twilio/rest/api/v2010/account/recording/add_on_result/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index bd93c1b18902accb7ada41adce74e9281774d1c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16714 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 diff --git a/twilio/rest/api/v2010/account/recording/add_on_result/payload/__init__.py b/twilio/rest/api/v2010/account/recording/add_on_result/payload/__init__.py deleted file mode 100644 index 92dd4bf..0000000 --- a/twilio/rest/api/v2010/account/recording/add_on_result/payload/__init__.py +++ /dev/null @@ -1,456 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class PayloadList(ListResource): - """ """ - - def __init__(self, version, account_sid, reference_sid, add_on_result_sid): - """ - Initialize the PayloadList - - :param Version version: Version that contains the resource - :param account_sid: The unique sid that identifies this account - :param reference_sid: A string that uniquely identifies the recording. - :param add_on_result_sid: A string that uniquely identifies the result - - :returns: twilio.rest.api.v2010.account.recording.add_on_result.payload.PayloadList - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.payload.PayloadList - """ - super(PayloadList, self).__init__(version) - - # Path Solution - self._solution = { - 'account_sid': account_sid, - 'reference_sid': reference_sid, - 'add_on_result_sid': add_on_result_sid, - } - self._uri = '/Accounts/{account_sid}/Recordings/{reference_sid}/AddOnResults/{add_on_result_sid}/Payloads.json'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams PayloadInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.recording.add_on_result.payload.PayloadInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists PayloadInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.recording.add_on_result.payload.PayloadInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of PayloadInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of PayloadInstance - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.payload.PayloadPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return PayloadPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of PayloadInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of PayloadInstance - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.payload.PayloadPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return PayloadPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a PayloadContext - - :param sid: Fetch by unique payload Sid - - :returns: twilio.rest.api.v2010.account.recording.add_on_result.payload.PayloadContext - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.payload.PayloadContext - """ - return PayloadContext( - self._version, - account_sid=self._solution['account_sid'], - reference_sid=self._solution['reference_sid'], - add_on_result_sid=self._solution['add_on_result_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a PayloadContext - - :param sid: Fetch by unique payload Sid - - :returns: twilio.rest.api.v2010.account.recording.add_on_result.payload.PayloadContext - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.payload.PayloadContext - """ - return PayloadContext( - self._version, - account_sid=self._solution['account_sid'], - reference_sid=self._solution['reference_sid'], - add_on_result_sid=self._solution['add_on_result_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.PayloadList>' - - -class PayloadPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the PayloadPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The unique sid that identifies this account - :param reference_sid: A string that uniquely identifies the recording. - :param add_on_result_sid: A string that uniquely identifies the result - - :returns: twilio.rest.api.v2010.account.recording.add_on_result.payload.PayloadPage - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.payload.PayloadPage - """ - super(PayloadPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of PayloadInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.recording.add_on_result.payload.PayloadInstance - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.payload.PayloadInstance - """ - return PayloadInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - reference_sid=self._solution['reference_sid'], - add_on_result_sid=self._solution['add_on_result_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.PayloadPage>' - - -class PayloadContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, reference_sid, add_on_result_sid, sid): - """ - Initialize the PayloadContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param reference_sid: The reference_sid - :param add_on_result_sid: The add_on_result_sid - :param sid: Fetch by unique payload Sid - - :returns: twilio.rest.api.v2010.account.recording.add_on_result.payload.PayloadContext - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.payload.PayloadContext - """ - super(PayloadContext, self).__init__(version) - - # Path Solution - self._solution = { - 'account_sid': account_sid, - 'reference_sid': reference_sid, - 'add_on_result_sid': add_on_result_sid, - 'sid': sid, - } - self._uri = '/Accounts/{account_sid}/Recordings/{reference_sid}/AddOnResults/{add_on_result_sid}/Payloads/{sid}.json'.format(**self._solution) - - def fetch(self): - """ - Fetch a PayloadInstance - - :returns: Fetched PayloadInstance - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.payload.PayloadInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return PayloadInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - reference_sid=self._solution['reference_sid'], - add_on_result_sid=self._solution['add_on_result_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the PayloadInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.PayloadContext {}>'.format(context) - - -class PayloadInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid, reference_sid, - add_on_result_sid, sid=None): - """ - Initialize the PayloadInstance - - :returns: twilio.rest.api.v2010.account.recording.add_on_result.payload.PayloadInstance - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.payload.PayloadInstance - """ - super(PayloadInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'add_on_result_sid': payload['add_on_result_sid'], - 'account_sid': payload['account_sid'], - 'label': payload['label'], - 'add_on_sid': payload['add_on_sid'], - 'add_on_configuration_sid': payload['add_on_configuration_sid'], - 'content_type': payload['content_type'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'reference_sid': payload['reference_sid'], - 'subresource_uris': payload['subresource_uris'], - } - - # Context - self._context = None - self._solution = { - 'account_sid': account_sid, - 'reference_sid': reference_sid, - 'add_on_result_sid': add_on_result_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: PayloadContext for this PayloadInstance - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.payload.PayloadContext - """ - if self._context is None: - self._context = PayloadContext( - self._version, - account_sid=self._solution['account_sid'], - reference_sid=self._solution['reference_sid'], - add_on_result_sid=self._solution['add_on_result_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this payload - :rtype: unicode - """ - return self._properties['sid'] - - @property - def add_on_result_sid(self): - """ - :returns: A string that uniquely identifies the result - :rtype: unicode - """ - return self._properties['add_on_result_sid'] - - @property - def account_sid(self): - """ - :returns: The unique sid that identifies this account - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def label(self): - """ - :returns: A string that describes the payload. - :rtype: unicode - """ - return self._properties['label'] - - @property - def add_on_sid(self): - """ - :returns: A string that uniquely identifies the Add-on. - :rtype: unicode - """ - return self._properties['add_on_sid'] - - @property - def add_on_configuration_sid(self): - """ - :returns: A string that uniquely identifies the Add-on configuration. - :rtype: unicode - """ - return self._properties['add_on_configuration_sid'] - - @property - def content_type(self): - """ - :returns: The MIME type of the payload. - :rtype: unicode - """ - return self._properties['content_type'] - - @property - def date_created(self): - """ - :returns: The date this resource was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this resource was last updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def reference_sid(self): - """ - :returns: A string that uniquely identifies the recording. - :rtype: unicode - """ - return self._properties['reference_sid'] - - @property - def subresource_uris(self): - """ - :returns: The subresource_uris - :rtype: unicode - """ - return self._properties['subresource_uris'] - - def fetch(self): - """ - Fetch a PayloadInstance - - :returns: Fetched PayloadInstance - :rtype: twilio.rest.api.v2010.account.recording.add_on_result.payload.PayloadInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the PayloadInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.PayloadInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/recording/add_on_result/payload/__pycache__/__init__.cpython-36.pyc b/twilio/rest/api/v2010/account/recording/add_on_result/payload/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 10befae9eb1ffca47ab44a519bc7f12cea7dafc3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15915 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 DN-8R| diff --git a/twilio/rest/api/v2010/account/recording/transcription.py b/twilio/rest/api/v2010/account/recording/transcription.py deleted file mode 100644 index 8fc27dd..0000000 --- a/twilio/rest/api/v2010/account/recording/transcription.py +++ /dev/null @@ -1,460 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class TranscriptionList(ListResource): - """ """ - - def __init__(self, version, account_sid, recording_sid): - """ - Initialize the TranscriptionList - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param recording_sid: The recording_sid - - :returns: twilio.rest.api.v2010.account.recording.transcription.TranscriptionList - :rtype: twilio.rest.api.v2010.account.recording.transcription.TranscriptionList - """ - super(TranscriptionList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'recording_sid': recording_sid, } - self._uri = '/Accounts/{account_sid}/Recordings/{recording_sid}/Transcriptions.json'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams TranscriptionInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.recording.transcription.TranscriptionInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists TranscriptionInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.recording.transcription.TranscriptionInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of TranscriptionInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of TranscriptionInstance - :rtype: twilio.rest.api.v2010.account.recording.transcription.TranscriptionPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return TranscriptionPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of TranscriptionInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of TranscriptionInstance - :rtype: twilio.rest.api.v2010.account.recording.transcription.TranscriptionPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return TranscriptionPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a TranscriptionContext - - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.recording.transcription.TranscriptionContext - :rtype: twilio.rest.api.v2010.account.recording.transcription.TranscriptionContext - """ - return TranscriptionContext( - self._version, - account_sid=self._solution['account_sid'], - recording_sid=self._solution['recording_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a TranscriptionContext - - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.recording.transcription.TranscriptionContext - :rtype: twilio.rest.api.v2010.account.recording.transcription.TranscriptionContext - """ - return TranscriptionContext( - self._version, - account_sid=self._solution['account_sid'], - recording_sid=self._solution['recording_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.TranscriptionList>' - - -class TranscriptionPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the TranscriptionPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The account_sid - :param recording_sid: The recording_sid - - :returns: twilio.rest.api.v2010.account.recording.transcription.TranscriptionPage - :rtype: twilio.rest.api.v2010.account.recording.transcription.TranscriptionPage - """ - super(TranscriptionPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of TranscriptionInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.recording.transcription.TranscriptionInstance - :rtype: twilio.rest.api.v2010.account.recording.transcription.TranscriptionInstance - """ - return TranscriptionInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - recording_sid=self._solution['recording_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.TranscriptionPage>' - - -class TranscriptionContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, recording_sid, sid): - """ - Initialize the TranscriptionContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param recording_sid: The recording_sid - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.recording.transcription.TranscriptionContext - :rtype: twilio.rest.api.v2010.account.recording.transcription.TranscriptionContext - """ - super(TranscriptionContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'recording_sid': recording_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/Recordings/{recording_sid}/Transcriptions/{sid}.json'.format(**self._solution) - - def fetch(self): - """ - Fetch a TranscriptionInstance - - :returns: Fetched TranscriptionInstance - :rtype: twilio.rest.api.v2010.account.recording.transcription.TranscriptionInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return TranscriptionInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - recording_sid=self._solution['recording_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the TranscriptionInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.TranscriptionContext {}>'.format(context) - - -class TranscriptionInstance(InstanceResource): - """ """ - - class Status(object): - IN_PROGRESS = "in-progress" - COMPLETED = "completed" - FAILED = "failed" - - def __init__(self, version, payload, account_sid, recording_sid, sid=None): - """ - Initialize the TranscriptionInstance - - :returns: twilio.rest.api.v2010.account.recording.transcription.TranscriptionInstance - :rtype: twilio.rest.api.v2010.account.recording.transcription.TranscriptionInstance - """ - super(TranscriptionInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'api_version': payload['api_version'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'duration': payload['duration'], - 'price': deserialize.decimal(payload['price']), - 'price_unit': payload['price_unit'], - 'recording_sid': payload['recording_sid'], - 'sid': payload['sid'], - 'status': payload['status'], - 'transcription_text': payload['transcription_text'], - 'type': payload['type'], - 'uri': payload['uri'], - } - - # Context - self._context = None - self._solution = { - 'account_sid': account_sid, - 'recording_sid': recording_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: TranscriptionContext for this TranscriptionInstance - :rtype: twilio.rest.api.v2010.account.recording.transcription.TranscriptionContext - """ - if self._context is None: - self._context = TranscriptionContext( - self._version, - account_sid=self._solution['account_sid'], - recording_sid=self._solution['recording_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def api_version(self): - """ - :returns: The api_version - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def duration(self): - """ - :returns: The duration - :rtype: unicode - """ - return self._properties['duration'] - - @property - def price(self): - """ - :returns: The price - :rtype: unicode - """ - return self._properties['price'] - - @property - def price_unit(self): - """ - :returns: The price_unit - :rtype: unicode - """ - return self._properties['price_unit'] - - @property - def recording_sid(self): - """ - :returns: The recording_sid - :rtype: unicode - """ - return self._properties['recording_sid'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def status(self): - """ - :returns: The status - :rtype: TranscriptionInstance.Status - """ - return self._properties['status'] - - @property - def transcription_text(self): - """ - :returns: The transcription_text - :rtype: unicode - """ - return self._properties['transcription_text'] - - @property - def type(self): - """ - :returns: The type - :rtype: unicode - """ - return self._properties['type'] - - @property - def uri(self): - """ - :returns: The uri - :rtype: unicode - """ - return self._properties['uri'] - - def fetch(self): - """ - Fetch a TranscriptionInstance - - :returns: Fetched TranscriptionInstance - :rtype: twilio.rest.api.v2010.account.recording.transcription.TranscriptionInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the TranscriptionInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.TranscriptionInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/short_code.py b/twilio/rest/api/v2010/account/short_code.py deleted file mode 100644 index fcc605d..0000000 --- a/twilio/rest/api/v2010/account/short_code.py +++ /dev/null @@ -1,487 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class ShortCodeList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the ShortCodeList - - :param Version version: Version that contains the resource - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.short_code.ShortCodeList - :rtype: twilio.rest.api.v2010.account.short_code.ShortCodeList - """ - super(ShortCodeList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/SMS/ShortCodes.json'.format(**self._solution) - - def stream(self, friendly_name=values.unset, short_code=values.unset, - limit=None, page_size=None): - """ - Streams ShortCodeInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode friendly_name: Filter by friendly name - :param unicode short_code: Filter by ShortCode - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.short_code.ShortCodeInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(friendly_name=friendly_name, short_code=short_code, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, friendly_name=values.unset, short_code=values.unset, limit=None, - page_size=None): - """ - Lists ShortCodeInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode friendly_name: Filter by friendly name - :param unicode short_code: Filter by ShortCode - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.short_code.ShortCodeInstance] - """ - return list(self.stream( - friendly_name=friendly_name, - short_code=short_code, - limit=limit, - page_size=page_size, - )) - - def page(self, friendly_name=values.unset, short_code=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of ShortCodeInstance records from the API. - Request is executed immediately - - :param unicode friendly_name: Filter by friendly name - :param unicode short_code: Filter by ShortCode - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ShortCodeInstance - :rtype: twilio.rest.api.v2010.account.short_code.ShortCodePage - """ - params = values.of({ - 'FriendlyName': friendly_name, - 'ShortCode': short_code, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ShortCodePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ShortCodeInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ShortCodeInstance - :rtype: twilio.rest.api.v2010.account.short_code.ShortCodePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ShortCodePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a ShortCodeContext - - :param sid: Fetch by unique short-code Sid - - :returns: twilio.rest.api.v2010.account.short_code.ShortCodeContext - :rtype: twilio.rest.api.v2010.account.short_code.ShortCodeContext - """ - return ShortCodeContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a ShortCodeContext - - :param sid: Fetch by unique short-code Sid - - :returns: twilio.rest.api.v2010.account.short_code.ShortCodeContext - :rtype: twilio.rest.api.v2010.account.short_code.ShortCodeContext - """ - return ShortCodeContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.ShortCodeList>' - - -class ShortCodePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the ShortCodePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.short_code.ShortCodePage - :rtype: twilio.rest.api.v2010.account.short_code.ShortCodePage - """ - super(ShortCodePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ShortCodeInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.short_code.ShortCodeInstance - :rtype: twilio.rest.api.v2010.account.short_code.ShortCodeInstance - """ - return ShortCodeInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.ShortCodePage>' - - -class ShortCodeContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, sid): - """ - Initialize the ShortCodeContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param sid: Fetch by unique short-code Sid - - :returns: twilio.rest.api.v2010.account.short_code.ShortCodeContext - :rtype: twilio.rest.api.v2010.account.short_code.ShortCodeContext - """ - super(ShortCodeContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/SMS/ShortCodes/{sid}.json'.format(**self._solution) - - def fetch(self): - """ - Fetch a ShortCodeInstance - - :returns: Fetched ShortCodeInstance - :rtype: twilio.rest.api.v2010.account.short_code.ShortCodeInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ShortCodeInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def update(self, friendly_name=values.unset, api_version=values.unset, - sms_url=values.unset, sms_method=values.unset, - sms_fallback_url=values.unset, sms_fallback_method=values.unset): - """ - Update the ShortCodeInstance - - :param unicode friendly_name: A human readable description of this resource - :param unicode api_version: The API version to use - :param unicode sms_url: URL Twilio will request when receiving an SMS - :param unicode sms_method: HTTP method to use when requesting the sms url - :param unicode sms_fallback_url: URL Twilio will request if an error occurs in executing TwiML - :param unicode sms_fallback_method: HTTP method Twilio will use with sms fallback url - - :returns: Updated ShortCodeInstance - :rtype: twilio.rest.api.v2010.account.short_code.ShortCodeInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'ApiVersion': api_version, - 'SmsUrl': sms_url, - 'SmsMethod': sms_method, - 'SmsFallbackUrl': sms_fallback_url, - 'SmsFallbackMethod': sms_fallback_method, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ShortCodeInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.ShortCodeContext {}>'.format(context) - - -class ShortCodeInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid, sid=None): - """ - Initialize the ShortCodeInstance - - :returns: twilio.rest.api.v2010.account.short_code.ShortCodeInstance - :rtype: twilio.rest.api.v2010.account.short_code.ShortCodeInstance - """ - super(ShortCodeInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'api_version': payload['api_version'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'friendly_name': payload['friendly_name'], - 'short_code': payload['short_code'], - 'sid': payload['sid'], - 'sms_fallback_method': payload['sms_fallback_method'], - 'sms_fallback_url': payload['sms_fallback_url'], - 'sms_method': payload['sms_method'], - 'sms_url': payload['sms_url'], - 'uri': payload['uri'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ShortCodeContext for this ShortCodeInstance - :rtype: twilio.rest.api.v2010.account.short_code.ShortCodeContext - """ - if self._context is None: - self._context = ShortCodeContext( - self._version, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The unique sid that identifies this account - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def api_version(self): - """ - :returns: The API version to use - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def date_created(self): - """ - :returns: The date this resource was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this resource was last updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def friendly_name(self): - """ - :returns: A human readable description of this resource - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def short_code(self): - """ - :returns: The short code. e.g., 894546. - :rtype: unicode - """ - return self._properties['short_code'] - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this short-codes - :rtype: unicode - """ - return self._properties['sid'] - - @property - def sms_fallback_method(self): - """ - :returns: HTTP method Twilio will use with sms fallback url - :rtype: unicode - """ - return self._properties['sms_fallback_method'] - - @property - def sms_fallback_url(self): - """ - :returns: URL Twilio will request if an error occurs in executing TwiML - :rtype: unicode - """ - return self._properties['sms_fallback_url'] - - @property - def sms_method(self): - """ - :returns: HTTP method to use when requesting the sms url - :rtype: unicode - """ - return self._properties['sms_method'] - - @property - def sms_url(self): - """ - :returns: URL Twilio will request when receiving an SMS - :rtype: unicode - """ - return self._properties['sms_url'] - - @property - def uri(self): - """ - :returns: The URI for this resource - :rtype: unicode - """ - return self._properties['uri'] - - def fetch(self): - """ - Fetch a ShortCodeInstance - - :returns: Fetched ShortCodeInstance - :rtype: twilio.rest.api.v2010.account.short_code.ShortCodeInstance - """ - return self._proxy.fetch() - - def update(self, friendly_name=values.unset, api_version=values.unset, - sms_url=values.unset, sms_method=values.unset, - sms_fallback_url=values.unset, sms_fallback_method=values.unset): - """ - Update the ShortCodeInstance - - :param unicode friendly_name: A human readable description of this resource - :param unicode api_version: The API version to use - :param unicode sms_url: URL Twilio will request when receiving an SMS - :param unicode sms_method: HTTP method to use when requesting the sms url - :param unicode sms_fallback_url: URL Twilio will request if an error occurs in executing TwiML - :param unicode sms_fallback_method: HTTP method Twilio will use with sms fallback url - - :returns: Updated ShortCodeInstance - :rtype: twilio.rest.api.v2010.account.short_code.ShortCodeInstance - """ - return self._proxy.update( - friendly_name=friendly_name, - api_version=api_version, - sms_url=sms_url, - sms_method=sms_method, - sms_fallback_url=sms_fallback_url, - sms_fallback_method=sms_fallback_method, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.ShortCodeInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/signing_key.py b/twilio/rest/api/v2010/account/signing_key.py deleted file mode 100644 index 03d1cc3..0000000 --- a/twilio/rest/api/v2010/account/signing_key.py +++ /dev/null @@ -1,385 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class SigningKeyList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the SigningKeyList - - :param Version version: Version that contains the resource - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.signing_key.SigningKeyList - :rtype: twilio.rest.api.v2010.account.signing_key.SigningKeyList - """ - super(SigningKeyList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/SigningKeys.json'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams SigningKeyInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.signing_key.SigningKeyInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists SigningKeyInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.signing_key.SigningKeyInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of SigningKeyInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of SigningKeyInstance - :rtype: twilio.rest.api.v2010.account.signing_key.SigningKeyPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return SigningKeyPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of SigningKeyInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of SigningKeyInstance - :rtype: twilio.rest.api.v2010.account.signing_key.SigningKeyPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return SigningKeyPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a SigningKeyContext - - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.signing_key.SigningKeyContext - :rtype: twilio.rest.api.v2010.account.signing_key.SigningKeyContext - """ - return SigningKeyContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a SigningKeyContext - - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.signing_key.SigningKeyContext - :rtype: twilio.rest.api.v2010.account.signing_key.SigningKeyContext - """ - return SigningKeyContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.SigningKeyList>' - - -class SigningKeyPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the SigningKeyPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.signing_key.SigningKeyPage - :rtype: twilio.rest.api.v2010.account.signing_key.SigningKeyPage - """ - super(SigningKeyPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of SigningKeyInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.signing_key.SigningKeyInstance - :rtype: twilio.rest.api.v2010.account.signing_key.SigningKeyInstance - """ - return SigningKeyInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.SigningKeyPage>' - - -class SigningKeyContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, sid): - """ - Initialize the SigningKeyContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.signing_key.SigningKeyContext - :rtype: twilio.rest.api.v2010.account.signing_key.SigningKeyContext - """ - super(SigningKeyContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/SigningKeys/{sid}.json'.format(**self._solution) - - def fetch(self): - """ - Fetch a SigningKeyInstance - - :returns: Fetched SigningKeyInstance - :rtype: twilio.rest.api.v2010.account.signing_key.SigningKeyInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return SigningKeyInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def update(self, friendly_name=values.unset): - """ - Update the SigningKeyInstance - - :param unicode friendly_name: The friendly_name - - :returns: Updated SigningKeyInstance - :rtype: twilio.rest.api.v2010.account.signing_key.SigningKeyInstance - """ - data = values.of({'FriendlyName': friendly_name, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return SigningKeyInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the SigningKeyInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.SigningKeyContext {}>'.format(context) - - -class SigningKeyInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid, sid=None): - """ - Initialize the SigningKeyInstance - - :returns: twilio.rest.api.v2010.account.signing_key.SigningKeyInstance - :rtype: twilio.rest.api.v2010.account.signing_key.SigningKeyInstance - """ - super(SigningKeyInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'friendly_name': payload['friendly_name'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: SigningKeyContext for this SigningKeyInstance - :rtype: twilio.rest.api.v2010.account.signing_key.SigningKeyContext - """ - if self._context is None: - self._context = SigningKeyContext( - self._version, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - def fetch(self): - """ - Fetch a SigningKeyInstance - - :returns: Fetched SigningKeyInstance - :rtype: twilio.rest.api.v2010.account.signing_key.SigningKeyInstance - """ - return self._proxy.fetch() - - def update(self, friendly_name=values.unset): - """ - Update the SigningKeyInstance - - :param unicode friendly_name: The friendly_name - - :returns: Updated SigningKeyInstance - :rtype: twilio.rest.api.v2010.account.signing_key.SigningKeyInstance - """ - return self._proxy.update(friendly_name=friendly_name, ) - - def delete(self): - """ - Deletes the SigningKeyInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.SigningKeyInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/sip/__init__.py b/twilio/rest/api/v2010/account/sip/__init__.py deleted file mode 100644 index 261e90f..0000000 --- a/twilio/rest/api/v2010/account/sip/__init__.py +++ /dev/null @@ -1,156 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.api.v2010.account.sip.credential_list import CredentialListList -from twilio.rest.api.v2010.account.sip.domain import DomainList -from twilio.rest.api.v2010.account.sip.ip_access_control_list import IpAccessControlListList - - -class SipList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the SipList - - :param Version version: Version that contains the resource - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.sip.SipList - :rtype: twilio.rest.api.v2010.account.sip.SipList - """ - super(SipList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - - # Components - self._domains = None - self._regions = None - self._ip_access_control_lists = None - self._credential_lists = None - - @property - def domains(self): - """ - Access the domains - - :returns: twilio.rest.api.v2010.account.sip.domain.DomainList - :rtype: twilio.rest.api.v2010.account.sip.domain.DomainList - """ - if self._domains is None: - self._domains = DomainList(self._version, account_sid=self._solution['account_sid'], ) - return self._domains - - @property - def ip_access_control_lists(self): - """ - Access the ip_access_control_lists - - :returns: twilio.rest.api.v2010.account.sip.ip_access_control_list.IpAccessControlListList - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.IpAccessControlListList - """ - if self._ip_access_control_lists is None: - self._ip_access_control_lists = IpAccessControlListList( - self._version, - account_sid=self._solution['account_sid'], - ) - return self._ip_access_control_lists - - @property - def credential_lists(self): - """ - Access the credential_lists - - :returns: twilio.rest.api.v2010.account.sip.credential_list.CredentialListList - :rtype: twilio.rest.api.v2010.account.sip.credential_list.CredentialListList - """ - if self._credential_lists is None: - self._credential_lists = CredentialListList( - self._version, - account_sid=self._solution['account_sid'], - ) - return self._credential_lists - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.SipList>' - - -class SipPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the SipPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.sip.SipPage - :rtype: twilio.rest.api.v2010.account.sip.SipPage - """ - super(SipPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of SipInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.sip.SipInstance - :rtype: twilio.rest.api.v2010.account.sip.SipInstance - """ - return SipInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.SipPage>' - - -class SipInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid): - """ - Initialize the SipInstance - - :returns: twilio.rest.api.v2010.account.sip.SipInstance - :rtype: twilio.rest.api.v2010.account.sip.SipInstance - """ - super(SipInstance, self).__init__(version) - - # Context - self._context = None - self._solution = {'account_sid': account_sid, } - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.SipInstance>' diff --git a/twilio/rest/api/v2010/account/sip/__pycache__/__init__.cpython-36.pyc b/twilio/rest/api/v2010/account/sip/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 62894287fdc5948b790cfb0dedcac2432503fcdb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5284 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 OfU3#mPi?QX=l%tPIa%@m diff --git a/twilio/rest/api/v2010/account/sip/credential_list/__init__.py b/twilio/rest/api/v2010/account/sip/credential_list/__init__.py deleted file mode 100644 index 7b2d10a..0000000 --- a/twilio/rest/api/v2010/account/sip/credential_list/__init__.py +++ /dev/null @@ -1,461 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.api.v2010.account.sip.credential_list.credential import CredentialList - - -class CredentialListList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the CredentialListList - - :param Version version: Version that contains the resource - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.sip.credential_list.CredentialListList - :rtype: twilio.rest.api.v2010.account.sip.credential_list.CredentialListList - """ - super(CredentialListList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/SIP/CredentialLists.json'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams CredentialListInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.sip.credential_list.CredentialListInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists CredentialListInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.sip.credential_list.CredentialListInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of CredentialListInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of CredentialListInstance - :rtype: twilio.rest.api.v2010.account.sip.credential_list.CredentialListPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return CredentialListPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of CredentialListInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of CredentialListInstance - :rtype: twilio.rest.api.v2010.account.sip.credential_list.CredentialListPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return CredentialListPage(self._version, response, self._solution) - - def create(self, friendly_name): - """ - Create a new CredentialListInstance - - :param unicode friendly_name: The friendly_name - - :returns: Newly created CredentialListInstance - :rtype: twilio.rest.api.v2010.account.sip.credential_list.CredentialListInstance - """ - data = values.of({'FriendlyName': friendly_name, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return CredentialListInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def get(self, sid): - """ - Constructs a CredentialListContext - - :param sid: Fetch by unique credential Sid - - :returns: twilio.rest.api.v2010.account.sip.credential_list.CredentialListContext - :rtype: twilio.rest.api.v2010.account.sip.credential_list.CredentialListContext - """ - return CredentialListContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a CredentialListContext - - :param sid: Fetch by unique credential Sid - - :returns: twilio.rest.api.v2010.account.sip.credential_list.CredentialListContext - :rtype: twilio.rest.api.v2010.account.sip.credential_list.CredentialListContext - """ - return CredentialListContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.CredentialListList>' - - -class CredentialListPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the CredentialListPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.sip.credential_list.CredentialListPage - :rtype: twilio.rest.api.v2010.account.sip.credential_list.CredentialListPage - """ - super(CredentialListPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of CredentialListInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.sip.credential_list.CredentialListInstance - :rtype: twilio.rest.api.v2010.account.sip.credential_list.CredentialListInstance - """ - return CredentialListInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.CredentialListPage>' - - -class CredentialListContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, sid): - """ - Initialize the CredentialListContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param sid: Fetch by unique credential Sid - - :returns: twilio.rest.api.v2010.account.sip.credential_list.CredentialListContext - :rtype: twilio.rest.api.v2010.account.sip.credential_list.CredentialListContext - """ - super(CredentialListContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/SIP/CredentialLists/{sid}.json'.format(**self._solution) - - # Dependents - self._credentials = None - - def fetch(self): - """ - Fetch a CredentialListInstance - - :returns: Fetched CredentialListInstance - :rtype: twilio.rest.api.v2010.account.sip.credential_list.CredentialListInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return CredentialListInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def update(self, friendly_name): - """ - Update the CredentialListInstance - - :param unicode friendly_name: The friendly_name - - :returns: Updated CredentialListInstance - :rtype: twilio.rest.api.v2010.account.sip.credential_list.CredentialListInstance - """ - data = values.of({'FriendlyName': friendly_name, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return CredentialListInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the CredentialListInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - @property - def credentials(self): - """ - Access the credentials - - :returns: twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialList - :rtype: twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialList - """ - if self._credentials is None: - self._credentials = CredentialList( - self._version, - account_sid=self._solution['account_sid'], - credential_list_sid=self._solution['sid'], - ) - return self._credentials - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.CredentialListContext {}>'.format(context) - - -class CredentialListInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid, sid=None): - """ - Initialize the CredentialListInstance - - :returns: twilio.rest.api.v2010.account.sip.credential_list.CredentialListInstance - :rtype: twilio.rest.api.v2010.account.sip.credential_list.CredentialListInstance - """ - super(CredentialListInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'friendly_name': payload['friendly_name'], - 'sid': payload['sid'], - 'subresource_uris': payload['subresource_uris'], - 'uri': payload['uri'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: CredentialListContext for this CredentialListInstance - :rtype: twilio.rest.api.v2010.account.sip.credential_list.CredentialListContext - """ - if self._context is None: - self._context = CredentialListContext( - self._version, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The unique sid that identifies this account - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def date_created(self): - """ - :returns: The date this resource was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this resource was last updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this credential - :rtype: unicode - """ - return self._properties['sid'] - - @property - def subresource_uris(self): - """ - :returns: The subresource_uris - :rtype: unicode - """ - return self._properties['subresource_uris'] - - @property - def uri(self): - """ - :returns: The URI for this resource - :rtype: unicode - """ - return self._properties['uri'] - - def fetch(self): - """ - Fetch a CredentialListInstance - - :returns: Fetched CredentialListInstance - :rtype: twilio.rest.api.v2010.account.sip.credential_list.CredentialListInstance - """ - return self._proxy.fetch() - - def update(self, friendly_name): - """ - Update the CredentialListInstance - - :param unicode friendly_name: The friendly_name - - :returns: Updated CredentialListInstance - :rtype: twilio.rest.api.v2010.account.sip.credential_list.CredentialListInstance - """ - return self._proxy.update(friendly_name, ) - - def delete(self): - """ - Deletes the CredentialListInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - @property - def credentials(self): - """ - Access the credentials - - :returns: twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialList - :rtype: twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialList - """ - return self._proxy.credentials - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.CredentialListInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/sip/credential_list/__pycache__/__init__.cpython-36.pyc b/twilio/rest/api/v2010/account/sip/credential_list/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 7e3bca7091d8a76572c382c802ce42add557cdd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16723 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 EUmVj-H2?qr diff --git a/twilio/rest/api/v2010/account/sip/credential_list/__pycache__/credential.cpython-36.pyc b/twilio/rest/api/v2010/account/sip/credential_list/__pycache__/credential.cpython-36.pyc deleted file mode 100644 index 9f375fd9a0b5742f889af615d6020cdd63054955..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15897 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 Lheo5`tbg!7$TB4p diff --git a/twilio/rest/api/v2010/account/sip/credential_list/credential.py b/twilio/rest/api/v2010/account/sip/credential_list/credential.py deleted file mode 100644 index 12073aa..0000000 --- a/twilio/rest/api/v2010/account/sip/credential_list/credential.py +++ /dev/null @@ -1,467 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class CredentialList(ListResource): - """ """ - - def __init__(self, version, account_sid, credential_list_sid): - """ - Initialize the CredentialList - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param credential_list_sid: The credential_list_sid - - :returns: twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialList - :rtype: twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialList - """ - super(CredentialList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'credential_list_sid': credential_list_sid, } - self._uri = '/Accounts/{account_sid}/SIP/CredentialLists/{credential_list_sid}/Credentials.json'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams CredentialInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists CredentialInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of CredentialInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of CredentialInstance - :rtype: twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return CredentialPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of CredentialInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of CredentialInstance - :rtype: twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return CredentialPage(self._version, response, self._solution) - - def create(self, username, password): - """ - Create a new CredentialInstance - - :param unicode username: The username - :param unicode password: The password - - :returns: Newly created CredentialInstance - :rtype: twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialInstance - """ - data = values.of({'Username': username, 'Password': password, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return CredentialInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - credential_list_sid=self._solution['credential_list_sid'], - ) - - def get(self, sid): - """ - Constructs a CredentialContext - - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialContext - :rtype: twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialContext - """ - return CredentialContext( - self._version, - account_sid=self._solution['account_sid'], - credential_list_sid=self._solution['credential_list_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a CredentialContext - - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialContext - :rtype: twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialContext - """ - return CredentialContext( - self._version, - account_sid=self._solution['account_sid'], - credential_list_sid=self._solution['credential_list_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.CredentialList>' - - -class CredentialPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the CredentialPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The account_sid - :param credential_list_sid: The credential_list_sid - - :returns: twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialPage - :rtype: twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialPage - """ - super(CredentialPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of CredentialInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialInstance - :rtype: twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialInstance - """ - return CredentialInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - credential_list_sid=self._solution['credential_list_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.CredentialPage>' - - -class CredentialContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, credential_list_sid, sid): - """ - Initialize the CredentialContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param credential_list_sid: The credential_list_sid - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialContext - :rtype: twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialContext - """ - super(CredentialContext, self).__init__(version) - - # Path Solution - self._solution = { - 'account_sid': account_sid, - 'credential_list_sid': credential_list_sid, - 'sid': sid, - } - self._uri = '/Accounts/{account_sid}/SIP/CredentialLists/{credential_list_sid}/Credentials/{sid}.json'.format(**self._solution) - - def fetch(self): - """ - Fetch a CredentialInstance - - :returns: Fetched CredentialInstance - :rtype: twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return CredentialInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - credential_list_sid=self._solution['credential_list_sid'], - sid=self._solution['sid'], - ) - - def update(self, password=values.unset): - """ - Update the CredentialInstance - - :param unicode password: The password - - :returns: Updated CredentialInstance - :rtype: twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialInstance - """ - data = values.of({'Password': password, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return CredentialInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - credential_list_sid=self._solution['credential_list_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the CredentialInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.CredentialContext {}>'.format(context) - - -class CredentialInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid, credential_list_sid, - sid=None): - """ - Initialize the CredentialInstance - - :returns: twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialInstance - :rtype: twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialInstance - """ - super(CredentialInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'credential_list_sid': payload['credential_list_sid'], - 'username': payload['username'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'uri': payload['uri'], - } - - # Context - self._context = None - self._solution = { - 'account_sid': account_sid, - 'credential_list_sid': credential_list_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: CredentialContext for this CredentialInstance - :rtype: twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialContext - """ - if self._context is None: - self._context = CredentialContext( - self._version, - account_sid=self._solution['account_sid'], - credential_list_sid=self._solution['credential_list_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def credential_list_sid(self): - """ - :returns: The credential_list_sid - :rtype: unicode - """ - return self._properties['credential_list_sid'] - - @property - def username(self): - """ - :returns: The username - :rtype: unicode - """ - return self._properties['username'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def uri(self): - """ - :returns: The uri - :rtype: unicode - """ - return self._properties['uri'] - - def fetch(self): - """ - Fetch a CredentialInstance - - :returns: Fetched CredentialInstance - :rtype: twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialInstance - """ - return self._proxy.fetch() - - def update(self, password=values.unset): - """ - Update the CredentialInstance - - :param unicode password: The password - - :returns: Updated CredentialInstance - :rtype: twilio.rest.api.v2010.account.sip.credential_list.credential.CredentialInstance - """ - return self._proxy.update(password=password, ) - - def delete(self): - """ - Deletes the CredentialInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.CredentialInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/sip/domain/__init__.py b/twilio/rest/api/v2010/account/sip/domain/__init__.py deleted file mode 100644 index d205373..0000000 --- a/twilio/rest/api/v2010/account/sip/domain/__init__.py +++ /dev/null @@ -1,649 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.api.v2010.account.sip.domain.credential_list_mapping import CredentialListMappingList -from twilio.rest.api.v2010.account.sip.domain.ip_access_control_list_mapping import IpAccessControlListMappingList - - -class DomainList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the DomainList - - :param Version version: Version that contains the resource - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.sip.domain.DomainList - :rtype: twilio.rest.api.v2010.account.sip.domain.DomainList - """ - super(DomainList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/SIP/Domains.json'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams DomainInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.sip.domain.DomainInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists DomainInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.sip.domain.DomainInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of DomainInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of DomainInstance - :rtype: twilio.rest.api.v2010.account.sip.domain.DomainPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return DomainPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of DomainInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of DomainInstance - :rtype: twilio.rest.api.v2010.account.sip.domain.DomainPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return DomainPage(self._version, response, self._solution) - - def create(self, domain_name, friendly_name=values.unset, - auth_type=values.unset, voice_url=values.unset, - voice_method=values.unset, voice_fallback_url=values.unset, - voice_fallback_method=values.unset, - voice_status_callback_url=values.unset, - voice_status_callback_method=values.unset, - sip_registration=values.unset): - """ - Create a new DomainInstance - - :param unicode domain_name: The unique address on Twilio to route SIP traffic - :param unicode friendly_name: A user-specified, human-readable name for the trigger. - :param unicode auth_type: The types of authentication mapped to the domain - :param unicode voice_url: URL Twilio will request when receiving a call - :param unicode voice_method: HTTP method to use with voice_url - :param unicode voice_fallback_url: URL Twilio will request if an error occurs in executing TwiML - :param unicode voice_fallback_method: HTTP method used with voice_fallback_url - :param unicode voice_status_callback_url: URL that Twilio will request with status updates - :param unicode voice_status_callback_method: The voice_status_callback_method - :param bool sip_registration: The sip_registration - - :returns: Newly created DomainInstance - :rtype: twilio.rest.api.v2010.account.sip.domain.DomainInstance - """ - data = values.of({ - 'DomainName': domain_name, - 'FriendlyName': friendly_name, - 'AuthType': auth_type, - 'VoiceUrl': voice_url, - 'VoiceMethod': voice_method, - 'VoiceFallbackUrl': voice_fallback_url, - 'VoiceFallbackMethod': voice_fallback_method, - 'VoiceStatusCallbackUrl': voice_status_callback_url, - 'VoiceStatusCallbackMethod': voice_status_callback_method, - 'SipRegistration': sip_registration, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return DomainInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def get(self, sid): - """ - Constructs a DomainContext - - :param sid: Fetch by unique Domain Sid - - :returns: twilio.rest.api.v2010.account.sip.domain.DomainContext - :rtype: twilio.rest.api.v2010.account.sip.domain.DomainContext - """ - return DomainContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a DomainContext - - :param sid: Fetch by unique Domain Sid - - :returns: twilio.rest.api.v2010.account.sip.domain.DomainContext - :rtype: twilio.rest.api.v2010.account.sip.domain.DomainContext - """ - return DomainContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.DomainList>' - - -class DomainPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the DomainPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.sip.domain.DomainPage - :rtype: twilio.rest.api.v2010.account.sip.domain.DomainPage - """ - super(DomainPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of DomainInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.sip.domain.DomainInstance - :rtype: twilio.rest.api.v2010.account.sip.domain.DomainInstance - """ - return DomainInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.DomainPage>' - - -class DomainContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, sid): - """ - Initialize the DomainContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param sid: Fetch by unique Domain Sid - - :returns: twilio.rest.api.v2010.account.sip.domain.DomainContext - :rtype: twilio.rest.api.v2010.account.sip.domain.DomainContext - """ - super(DomainContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/SIP/Domains/{sid}.json'.format(**self._solution) - - # Dependents - self._ip_access_control_list_mappings = None - self._credential_list_mappings = None - - def fetch(self): - """ - Fetch a DomainInstance - - :returns: Fetched DomainInstance - :rtype: twilio.rest.api.v2010.account.sip.domain.DomainInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return DomainInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def update(self, auth_type=values.unset, friendly_name=values.unset, - voice_fallback_method=values.unset, voice_fallback_url=values.unset, - voice_method=values.unset, voice_status_callback_method=values.unset, - voice_status_callback_url=values.unset, voice_url=values.unset, - sip_registration=values.unset): - """ - Update the DomainInstance - - :param unicode auth_type: The auth_type - :param unicode friendly_name: A user-specified, human-readable name for the trigger. - :param unicode voice_fallback_method: The voice_fallback_method - :param unicode voice_fallback_url: The voice_fallback_url - :param unicode voice_method: HTTP method to use with voice_url - :param unicode voice_status_callback_method: The voice_status_callback_method - :param unicode voice_status_callback_url: The voice_status_callback_url - :param unicode voice_url: The voice_url - :param bool sip_registration: The sip_registration - - :returns: Updated DomainInstance - :rtype: twilio.rest.api.v2010.account.sip.domain.DomainInstance - """ - data = values.of({ - 'AuthType': auth_type, - 'FriendlyName': friendly_name, - 'VoiceFallbackMethod': voice_fallback_method, - 'VoiceFallbackUrl': voice_fallback_url, - 'VoiceMethod': voice_method, - 'VoiceStatusCallbackMethod': voice_status_callback_method, - 'VoiceStatusCallbackUrl': voice_status_callback_url, - 'VoiceUrl': voice_url, - 'SipRegistration': sip_registration, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return DomainInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the DomainInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - @property - def ip_access_control_list_mappings(self): - """ - Access the ip_access_control_list_mappings - - :returns: twilio.rest.api.v2010.account.sip.domain.ip_access_control_list_mapping.IpAccessControlListMappingList - :rtype: twilio.rest.api.v2010.account.sip.domain.ip_access_control_list_mapping.IpAccessControlListMappingList - """ - if self._ip_access_control_list_mappings is None: - self._ip_access_control_list_mappings = IpAccessControlListMappingList( - self._version, - account_sid=self._solution['account_sid'], - domain_sid=self._solution['sid'], - ) - return self._ip_access_control_list_mappings - - @property - def credential_list_mappings(self): - """ - Access the credential_list_mappings - - :returns: twilio.rest.api.v2010.account.sip.domain.credential_list_mapping.CredentialListMappingList - :rtype: twilio.rest.api.v2010.account.sip.domain.credential_list_mapping.CredentialListMappingList - """ - if self._credential_list_mappings is None: - self._credential_list_mappings = CredentialListMappingList( - self._version, - account_sid=self._solution['account_sid'], - domain_sid=self._solution['sid'], - ) - return self._credential_list_mappings - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.DomainContext {}>'.format(context) - - -class DomainInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid, sid=None): - """ - Initialize the DomainInstance - - :returns: twilio.rest.api.v2010.account.sip.domain.DomainInstance - :rtype: twilio.rest.api.v2010.account.sip.domain.DomainInstance - """ - super(DomainInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'api_version': payload['api_version'], - 'auth_type': payload['auth_type'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'domain_name': payload['domain_name'], - 'friendly_name': payload['friendly_name'], - 'sid': payload['sid'], - 'uri': payload['uri'], - 'voice_fallback_method': payload['voice_fallback_method'], - 'voice_fallback_url': payload['voice_fallback_url'], - 'voice_method': payload['voice_method'], - 'voice_status_callback_method': payload['voice_status_callback_method'], - 'voice_status_callback_url': payload['voice_status_callback_url'], - 'voice_url': payload['voice_url'], - 'subresource_uris': payload['subresource_uris'], - 'sip_registration': payload['sip_registration'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: DomainContext for this DomainInstance - :rtype: twilio.rest.api.v2010.account.sip.domain.DomainContext - """ - if self._context is None: - self._context = DomainContext( - self._version, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The unique id of the account that sent the message - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def api_version(self): - """ - :returns: The Twilio API version used to process the message - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def auth_type(self): - """ - :returns: The types of authentication mapped to the domain - :rtype: unicode - """ - return self._properties['auth_type'] - - @property - def date_created(self): - """ - :returns: The date this resource was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this resource was last updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def domain_name(self): - """ - :returns: The unique address on Twilio to route SIP traffic - :rtype: unicode - """ - return self._properties['domain_name'] - - @property - def friendly_name(self): - """ - :returns: A user-specified, human-readable name for the trigger. - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def sid(self): - """ - :returns: A string that uniquely identifies the SIP Domain - :rtype: unicode - """ - return self._properties['sid'] - - @property - def uri(self): - """ - :returns: The URI for this resource - :rtype: unicode - """ - return self._properties['uri'] - - @property - def voice_fallback_method(self): - """ - :returns: HTTP method used with voice_fallback_url - :rtype: unicode - """ - return self._properties['voice_fallback_method'] - - @property - def voice_fallback_url(self): - """ - :returns: URL Twilio will request if an error occurs in executing TwiML - :rtype: unicode - """ - return self._properties['voice_fallback_url'] - - @property - def voice_method(self): - """ - :returns: HTTP method to use with voice_url - :rtype: unicode - """ - return self._properties['voice_method'] - - @property - def voice_status_callback_method(self): - """ - :returns: The voice_status_callback_method - :rtype: unicode - """ - return self._properties['voice_status_callback_method'] - - @property - def voice_status_callback_url(self): - """ - :returns: URL that Twilio will request with status updates - :rtype: unicode - """ - return self._properties['voice_status_callback_url'] - - @property - def voice_url(self): - """ - :returns: URL Twilio will request when receiving a call - :rtype: unicode - """ - return self._properties['voice_url'] - - @property - def subresource_uris(self): - """ - :returns: The subresource_uris - :rtype: unicode - """ - return self._properties['subresource_uris'] - - @property - def sip_registration(self): - """ - :returns: If SIP registration is allowed - :rtype: bool - """ - return self._properties['sip_registration'] - - def fetch(self): - """ - Fetch a DomainInstance - - :returns: Fetched DomainInstance - :rtype: twilio.rest.api.v2010.account.sip.domain.DomainInstance - """ - return self._proxy.fetch() - - def update(self, auth_type=values.unset, friendly_name=values.unset, - voice_fallback_method=values.unset, voice_fallback_url=values.unset, - voice_method=values.unset, voice_status_callback_method=values.unset, - voice_status_callback_url=values.unset, voice_url=values.unset, - sip_registration=values.unset): - """ - Update the DomainInstance - - :param unicode auth_type: The auth_type - :param unicode friendly_name: A user-specified, human-readable name for the trigger. - :param unicode voice_fallback_method: The voice_fallback_method - :param unicode voice_fallback_url: The voice_fallback_url - :param unicode voice_method: HTTP method to use with voice_url - :param unicode voice_status_callback_method: The voice_status_callback_method - :param unicode voice_status_callback_url: The voice_status_callback_url - :param unicode voice_url: The voice_url - :param bool sip_registration: The sip_registration - - :returns: Updated DomainInstance - :rtype: twilio.rest.api.v2010.account.sip.domain.DomainInstance - """ - return self._proxy.update( - auth_type=auth_type, - friendly_name=friendly_name, - voice_fallback_method=voice_fallback_method, - voice_fallback_url=voice_fallback_url, - voice_method=voice_method, - voice_status_callback_method=voice_status_callback_method, - voice_status_callback_url=voice_status_callback_url, - voice_url=voice_url, - sip_registration=sip_registration, - ) - - def delete(self): - """ - Deletes the DomainInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - @property - def ip_access_control_list_mappings(self): - """ - Access the ip_access_control_list_mappings - - :returns: twilio.rest.api.v2010.account.sip.domain.ip_access_control_list_mapping.IpAccessControlListMappingList - :rtype: twilio.rest.api.v2010.account.sip.domain.ip_access_control_list_mapping.IpAccessControlListMappingList - """ - return self._proxy.ip_access_control_list_mappings - - @property - def credential_list_mappings(self): - """ - Access the credential_list_mappings - - :returns: twilio.rest.api.v2010.account.sip.domain.credential_list_mapping.CredentialListMappingList - :rtype: twilio.rest.api.v2010.account.sip.domain.credential_list_mapping.CredentialListMappingList - """ - return self._proxy.credential_list_mappings - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.DomainInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/sip/domain/__pycache__/__init__.cpython-36.pyc b/twilio/rest/api/v2010/account/sip/domain/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 5e323c9e2500ba3d44585fe822eddfeaa5578945..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22366 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 diff --git a/twilio/rest/api/v2010/account/sip/domain/__pycache__/credential_list_mapping.cpython-36.pyc b/twilio/rest/api/v2010/account/sip/domain/__pycache__/credential_list_mapping.cpython-36.pyc deleted file mode 100644 index 25522bbf37733d7621a7daff6c55194665aaa493..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15936 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 diff --git a/twilio/rest/api/v2010/account/sip/domain/__pycache__/ip_access_control_list_mapping.cpython-36.pyc b/twilio/rest/api/v2010/account/sip/domain/__pycache__/ip_access_control_list_mapping.cpython-36.pyc deleted file mode 100644 index 1b1581f3a786974ff3b90c5fc85ecf2c847b893c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16548 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 diff --git a/twilio/rest/api/v2010/account/sip/domain/credential_list_mapping.py b/twilio/rest/api/v2010/account/sip/domain/credential_list_mapping.py deleted file mode 100644 index 5a9c7be..0000000 --- a/twilio/rest/api/v2010/account/sip/domain/credential_list_mapping.py +++ /dev/null @@ -1,425 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class CredentialListMappingList(ListResource): - """ """ - - def __init__(self, version, account_sid, domain_sid): - """ - Initialize the CredentialListMappingList - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param domain_sid: A string that uniquely identifies the SIP Domain - - :returns: twilio.rest.api.v2010.account.sip.domain.credential_list_mapping.CredentialListMappingList - :rtype: twilio.rest.api.v2010.account.sip.domain.credential_list_mapping.CredentialListMappingList - """ - super(CredentialListMappingList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'domain_sid': domain_sid, } - self._uri = '/Accounts/{account_sid}/SIP/Domains/{domain_sid}/CredentialListMappings.json'.format(**self._solution) - - def create(self, credential_list_sid): - """ - Create a new CredentialListMappingInstance - - :param unicode credential_list_sid: The credential_list_sid - - :returns: Newly created CredentialListMappingInstance - :rtype: twilio.rest.api.v2010.account.sip.domain.credential_list_mapping.CredentialListMappingInstance - """ - data = values.of({'CredentialListSid': credential_list_sid, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return CredentialListMappingInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - domain_sid=self._solution['domain_sid'], - ) - - def stream(self, limit=None, page_size=None): - """ - Streams CredentialListMappingInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.sip.domain.credential_list_mapping.CredentialListMappingInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists CredentialListMappingInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.sip.domain.credential_list_mapping.CredentialListMappingInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of CredentialListMappingInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of CredentialListMappingInstance - :rtype: twilio.rest.api.v2010.account.sip.domain.credential_list_mapping.CredentialListMappingPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return CredentialListMappingPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of CredentialListMappingInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of CredentialListMappingInstance - :rtype: twilio.rest.api.v2010.account.sip.domain.credential_list_mapping.CredentialListMappingPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return CredentialListMappingPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a CredentialListMappingContext - - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.sip.domain.credential_list_mapping.CredentialListMappingContext - :rtype: twilio.rest.api.v2010.account.sip.domain.credential_list_mapping.CredentialListMappingContext - """ - return CredentialListMappingContext( - self._version, - account_sid=self._solution['account_sid'], - domain_sid=self._solution['domain_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a CredentialListMappingContext - - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.sip.domain.credential_list_mapping.CredentialListMappingContext - :rtype: twilio.rest.api.v2010.account.sip.domain.credential_list_mapping.CredentialListMappingContext - """ - return CredentialListMappingContext( - self._version, - account_sid=self._solution['account_sid'], - domain_sid=self._solution['domain_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.CredentialListMappingList>' - - -class CredentialListMappingPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the CredentialListMappingPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The account_sid - :param domain_sid: A string that uniquely identifies the SIP Domain - - :returns: twilio.rest.api.v2010.account.sip.domain.credential_list_mapping.CredentialListMappingPage - :rtype: twilio.rest.api.v2010.account.sip.domain.credential_list_mapping.CredentialListMappingPage - """ - super(CredentialListMappingPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of CredentialListMappingInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.sip.domain.credential_list_mapping.CredentialListMappingInstance - :rtype: twilio.rest.api.v2010.account.sip.domain.credential_list_mapping.CredentialListMappingInstance - """ - return CredentialListMappingInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - domain_sid=self._solution['domain_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.CredentialListMappingPage>' - - -class CredentialListMappingContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, domain_sid, sid): - """ - Initialize the CredentialListMappingContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param domain_sid: The domain_sid - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.sip.domain.credential_list_mapping.CredentialListMappingContext - :rtype: twilio.rest.api.v2010.account.sip.domain.credential_list_mapping.CredentialListMappingContext - """ - super(CredentialListMappingContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'domain_sid': domain_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/SIP/Domains/{domain_sid}/CredentialListMappings/{sid}.json'.format(**self._solution) - - def fetch(self): - """ - Fetch a CredentialListMappingInstance - - :returns: Fetched CredentialListMappingInstance - :rtype: twilio.rest.api.v2010.account.sip.domain.credential_list_mapping.CredentialListMappingInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return CredentialListMappingInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - domain_sid=self._solution['domain_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the CredentialListMappingInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.CredentialListMappingContext {}>'.format(context) - - -class CredentialListMappingInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid, domain_sid, sid=None): - """ - Initialize the CredentialListMappingInstance - - :returns: twilio.rest.api.v2010.account.sip.domain.credential_list_mapping.CredentialListMappingInstance - :rtype: twilio.rest.api.v2010.account.sip.domain.credential_list_mapping.CredentialListMappingInstance - """ - super(CredentialListMappingInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'friendly_name': payload['friendly_name'], - 'sid': payload['sid'], - 'uri': payload['uri'], - 'subresource_uris': payload['subresource_uris'], - } - - # Context - self._context = None - self._solution = { - 'account_sid': account_sid, - 'domain_sid': domain_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: CredentialListMappingContext for this CredentialListMappingInstance - :rtype: twilio.rest.api.v2010.account.sip.domain.credential_list_mapping.CredentialListMappingContext - """ - if self._context is None: - self._context = CredentialListMappingContext( - self._version, - account_sid=self._solution['account_sid'], - domain_sid=self._solution['domain_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def uri(self): - """ - :returns: The uri - :rtype: unicode - """ - return self._properties['uri'] - - @property - def subresource_uris(self): - """ - :returns: The subresource_uris - :rtype: unicode - """ - return self._properties['subresource_uris'] - - def fetch(self): - """ - Fetch a CredentialListMappingInstance - - :returns: Fetched CredentialListMappingInstance - :rtype: twilio.rest.api.v2010.account.sip.domain.credential_list_mapping.CredentialListMappingInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the CredentialListMappingInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.CredentialListMappingInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.py b/twilio/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.py deleted file mode 100644 index ded6097..0000000 --- a/twilio/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.py +++ /dev/null @@ -1,425 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class IpAccessControlListMappingList(ListResource): - """ """ - - def __init__(self, version, account_sid, domain_sid): - """ - Initialize the IpAccessControlListMappingList - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param domain_sid: A string that uniquely identifies the SIP Domain - - :returns: twilio.rest.api.v2010.account.sip.domain.ip_access_control_list_mapping.IpAccessControlListMappingList - :rtype: twilio.rest.api.v2010.account.sip.domain.ip_access_control_list_mapping.IpAccessControlListMappingList - """ - super(IpAccessControlListMappingList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'domain_sid': domain_sid, } - self._uri = '/Accounts/{account_sid}/SIP/Domains/{domain_sid}/IpAccessControlListMappings.json'.format(**self._solution) - - def create(self, ip_access_control_list_sid): - """ - Create a new IpAccessControlListMappingInstance - - :param unicode ip_access_control_list_sid: The ip_access_control_list_sid - - :returns: Newly created IpAccessControlListMappingInstance - :rtype: twilio.rest.api.v2010.account.sip.domain.ip_access_control_list_mapping.IpAccessControlListMappingInstance - """ - data = values.of({'IpAccessControlListSid': ip_access_control_list_sid, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return IpAccessControlListMappingInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - domain_sid=self._solution['domain_sid'], - ) - - def stream(self, limit=None, page_size=None): - """ - Streams IpAccessControlListMappingInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.sip.domain.ip_access_control_list_mapping.IpAccessControlListMappingInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists IpAccessControlListMappingInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.sip.domain.ip_access_control_list_mapping.IpAccessControlListMappingInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of IpAccessControlListMappingInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of IpAccessControlListMappingInstance - :rtype: twilio.rest.api.v2010.account.sip.domain.ip_access_control_list_mapping.IpAccessControlListMappingPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return IpAccessControlListMappingPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of IpAccessControlListMappingInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of IpAccessControlListMappingInstance - :rtype: twilio.rest.api.v2010.account.sip.domain.ip_access_control_list_mapping.IpAccessControlListMappingPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return IpAccessControlListMappingPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a IpAccessControlListMappingContext - - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.sip.domain.ip_access_control_list_mapping.IpAccessControlListMappingContext - :rtype: twilio.rest.api.v2010.account.sip.domain.ip_access_control_list_mapping.IpAccessControlListMappingContext - """ - return IpAccessControlListMappingContext( - self._version, - account_sid=self._solution['account_sid'], - domain_sid=self._solution['domain_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a IpAccessControlListMappingContext - - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.sip.domain.ip_access_control_list_mapping.IpAccessControlListMappingContext - :rtype: twilio.rest.api.v2010.account.sip.domain.ip_access_control_list_mapping.IpAccessControlListMappingContext - """ - return IpAccessControlListMappingContext( - self._version, - account_sid=self._solution['account_sid'], - domain_sid=self._solution['domain_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.IpAccessControlListMappingList>' - - -class IpAccessControlListMappingPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the IpAccessControlListMappingPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The account_sid - :param domain_sid: A string that uniquely identifies the SIP Domain - - :returns: twilio.rest.api.v2010.account.sip.domain.ip_access_control_list_mapping.IpAccessControlListMappingPage - :rtype: twilio.rest.api.v2010.account.sip.domain.ip_access_control_list_mapping.IpAccessControlListMappingPage - """ - super(IpAccessControlListMappingPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of IpAccessControlListMappingInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.sip.domain.ip_access_control_list_mapping.IpAccessControlListMappingInstance - :rtype: twilio.rest.api.v2010.account.sip.domain.ip_access_control_list_mapping.IpAccessControlListMappingInstance - """ - return IpAccessControlListMappingInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - domain_sid=self._solution['domain_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.IpAccessControlListMappingPage>' - - -class IpAccessControlListMappingContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, domain_sid, sid): - """ - Initialize the IpAccessControlListMappingContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param domain_sid: The domain_sid - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.sip.domain.ip_access_control_list_mapping.IpAccessControlListMappingContext - :rtype: twilio.rest.api.v2010.account.sip.domain.ip_access_control_list_mapping.IpAccessControlListMappingContext - """ - super(IpAccessControlListMappingContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'domain_sid': domain_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/SIP/Domains/{domain_sid}/IpAccessControlListMappings/{sid}.json'.format(**self._solution) - - def fetch(self): - """ - Fetch a IpAccessControlListMappingInstance - - :returns: Fetched IpAccessControlListMappingInstance - :rtype: twilio.rest.api.v2010.account.sip.domain.ip_access_control_list_mapping.IpAccessControlListMappingInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return IpAccessControlListMappingInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - domain_sid=self._solution['domain_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the IpAccessControlListMappingInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.IpAccessControlListMappingContext {}>'.format(context) - - -class IpAccessControlListMappingInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid, domain_sid, sid=None): - """ - Initialize the IpAccessControlListMappingInstance - - :returns: twilio.rest.api.v2010.account.sip.domain.ip_access_control_list_mapping.IpAccessControlListMappingInstance - :rtype: twilio.rest.api.v2010.account.sip.domain.ip_access_control_list_mapping.IpAccessControlListMappingInstance - """ - super(IpAccessControlListMappingInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'friendly_name': payload['friendly_name'], - 'sid': payload['sid'], - 'uri': payload['uri'], - 'subresource_uris': payload['subresource_uris'], - } - - # Context - self._context = None - self._solution = { - 'account_sid': account_sid, - 'domain_sid': domain_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: IpAccessControlListMappingContext for this IpAccessControlListMappingInstance - :rtype: twilio.rest.api.v2010.account.sip.domain.ip_access_control_list_mapping.IpAccessControlListMappingContext - """ - if self._context is None: - self._context = IpAccessControlListMappingContext( - self._version, - account_sid=self._solution['account_sid'], - domain_sid=self._solution['domain_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def uri(self): - """ - :returns: The uri - :rtype: unicode - """ - return self._properties['uri'] - - @property - def subresource_uris(self): - """ - :returns: The subresource_uris - :rtype: unicode - """ - return self._properties['subresource_uris'] - - def fetch(self): - """ - Fetch a IpAccessControlListMappingInstance - - :returns: Fetched IpAccessControlListMappingInstance - :rtype: twilio.rest.api.v2010.account.sip.domain.ip_access_control_list_mapping.IpAccessControlListMappingInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the IpAccessControlListMappingInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.IpAccessControlListMappingInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/sip/ip_access_control_list/__init__.py b/twilio/rest/api/v2010/account/sip/ip_access_control_list/__init__.py deleted file mode 100644 index 0a5c529..0000000 --- a/twilio/rest/api/v2010/account/sip/ip_access_control_list/__init__.py +++ /dev/null @@ -1,469 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address import IpAddressList - - -class IpAccessControlListList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the IpAccessControlListList - - :param Version version: Version that contains the resource - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.sip.ip_access_control_list.IpAccessControlListList - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.IpAccessControlListList - """ - super(IpAccessControlListList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/SIP/IpAccessControlLists.json'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams IpAccessControlListInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.sip.ip_access_control_list.IpAccessControlListInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists IpAccessControlListInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.sip.ip_access_control_list.IpAccessControlListInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of IpAccessControlListInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of IpAccessControlListInstance - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.IpAccessControlListPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return IpAccessControlListPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of IpAccessControlListInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of IpAccessControlListInstance - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.IpAccessControlListPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return IpAccessControlListPage(self._version, response, self._solution) - - def create(self, friendly_name): - """ - Create a new IpAccessControlListInstance - - :param unicode friendly_name: A human readable description of this resource - - :returns: Newly created IpAccessControlListInstance - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.IpAccessControlListInstance - """ - data = values.of({'FriendlyName': friendly_name, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return IpAccessControlListInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - ) - - def get(self, sid): - """ - Constructs a IpAccessControlListContext - - :param sid: Fetch by unique ip-access-control-list Sid - - :returns: twilio.rest.api.v2010.account.sip.ip_access_control_list.IpAccessControlListContext - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.IpAccessControlListContext - """ - return IpAccessControlListContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a IpAccessControlListContext - - :param sid: Fetch by unique ip-access-control-list Sid - - :returns: twilio.rest.api.v2010.account.sip.ip_access_control_list.IpAccessControlListContext - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.IpAccessControlListContext - """ - return IpAccessControlListContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.IpAccessControlListList>' - - -class IpAccessControlListPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the IpAccessControlListPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.sip.ip_access_control_list.IpAccessControlListPage - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.IpAccessControlListPage - """ - super(IpAccessControlListPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of IpAccessControlListInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.sip.ip_access_control_list.IpAccessControlListInstance - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.IpAccessControlListInstance - """ - return IpAccessControlListInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.IpAccessControlListPage>' - - -class IpAccessControlListContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, sid): - """ - Initialize the IpAccessControlListContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param sid: Fetch by unique ip-access-control-list Sid - - :returns: twilio.rest.api.v2010.account.sip.ip_access_control_list.IpAccessControlListContext - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.IpAccessControlListContext - """ - super(IpAccessControlListContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/SIP/IpAccessControlLists/{sid}.json'.format(**self._solution) - - # Dependents - self._ip_addresses = None - - def fetch(self): - """ - Fetch a IpAccessControlListInstance - - :returns: Fetched IpAccessControlListInstance - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.IpAccessControlListInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return IpAccessControlListInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def update(self, friendly_name): - """ - Update the IpAccessControlListInstance - - :param unicode friendly_name: A human readable description of this resource - - :returns: Updated IpAccessControlListInstance - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.IpAccessControlListInstance - """ - data = values.of({'FriendlyName': friendly_name, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return IpAccessControlListInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the IpAccessControlListInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - @property - def ip_addresses(self): - """ - Access the ip_addresses - - :returns: twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressList - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressList - """ - if self._ip_addresses is None: - self._ip_addresses = IpAddressList( - self._version, - account_sid=self._solution['account_sid'], - ip_access_control_list_sid=self._solution['sid'], - ) - return self._ip_addresses - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.IpAccessControlListContext {}>'.format(context) - - -class IpAccessControlListInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid, sid=None): - """ - Initialize the IpAccessControlListInstance - - :returns: twilio.rest.api.v2010.account.sip.ip_access_control_list.IpAccessControlListInstance - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.IpAccessControlListInstance - """ - super(IpAccessControlListInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'friendly_name': payload['friendly_name'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'subresource_uris': payload['subresource_uris'], - 'uri': payload['uri'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: IpAccessControlListContext for this IpAccessControlListInstance - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.IpAccessControlListContext - """ - if self._context is None: - self._context = IpAccessControlListContext( - self._version, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this resource - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The unique sid that identifies this account - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def friendly_name(self): - """ - :returns: A human readable description of this resource - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def date_created(self): - """ - :returns: The date this resource was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this resource was last updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def subresource_uris(self): - """ - :returns: The subresource_uris - :rtype: unicode - """ - return self._properties['subresource_uris'] - - @property - def uri(self): - """ - :returns: The URI for this resource - :rtype: unicode - """ - return self._properties['uri'] - - def fetch(self): - """ - Fetch a IpAccessControlListInstance - - :returns: Fetched IpAccessControlListInstance - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.IpAccessControlListInstance - """ - return self._proxy.fetch() - - def update(self, friendly_name): - """ - Update the IpAccessControlListInstance - - :param unicode friendly_name: A human readable description of this resource - - :returns: Updated IpAccessControlListInstance - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.IpAccessControlListInstance - """ - return self._proxy.update(friendly_name, ) - - def delete(self): - """ - Deletes the IpAccessControlListInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - @property - def ip_addresses(self): - """ - Access the ip_addresses - - :returns: twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressList - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressList - """ - return self._proxy.ip_addresses - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.IpAccessControlListInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/sip/ip_access_control_list/__pycache__/__init__.cpython-36.pyc b/twilio/rest/api/v2010/account/sip/ip_access_control_list/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index c537fa3f169105267b19a67f0b386c217bde202c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17586 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 Yhkp_~lpr#G6YkU1-!slsm#Xgn0X3wRpa1{> diff --git a/twilio/rest/api/v2010/account/sip/ip_access_control_list/__pycache__/ip_address.cpython-36.pyc b/twilio/rest/api/v2010/account/sip/ip_access_control_list/__pycache__/ip_address.cpython-36.pyc deleted file mode 100644 index 62688c42c237a1395ff18623f821c8240c3f1cbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16492 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 diff --git a/twilio/rest/api/v2010/account/sip/ip_access_control_list/ip_address.py b/twilio/rest/api/v2010/account/sip/ip_access_control_list/ip_address.py deleted file mode 100644 index ccf6394..0000000 --- a/twilio/rest/api/v2010/account/sip/ip_access_control_list/ip_address.py +++ /dev/null @@ -1,481 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class IpAddressList(ListResource): - """ """ - - def __init__(self, version, account_sid, ip_access_control_list_sid): - """ - Initialize the IpAddressList - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param ip_access_control_list_sid: The ip_access_control_list_sid - - :returns: twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressList - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressList - """ - super(IpAddressList, self).__init__(version) - - # Path Solution - self._solution = { - 'account_sid': account_sid, - 'ip_access_control_list_sid': ip_access_control_list_sid, - } - self._uri = '/Accounts/{account_sid}/SIP/IpAccessControlLists/{ip_access_control_list_sid}/IpAddresses.json'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams IpAddressInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists IpAddressInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of IpAddressInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of IpAddressInstance - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return IpAddressPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of IpAddressInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of IpAddressInstance - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return IpAddressPage(self._version, response, self._solution) - - def create(self, friendly_name, ip_address): - """ - Create a new IpAddressInstance - - :param unicode friendly_name: The friendly_name - :param unicode ip_address: The ip_address - - :returns: Newly created IpAddressInstance - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressInstance - """ - data = values.of({'FriendlyName': friendly_name, 'IpAddress': ip_address, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return IpAddressInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - ip_access_control_list_sid=self._solution['ip_access_control_list_sid'], - ) - - def get(self, sid): - """ - Constructs a IpAddressContext - - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressContext - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressContext - """ - return IpAddressContext( - self._version, - account_sid=self._solution['account_sid'], - ip_access_control_list_sid=self._solution['ip_access_control_list_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a IpAddressContext - - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressContext - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressContext - """ - return IpAddressContext( - self._version, - account_sid=self._solution['account_sid'], - ip_access_control_list_sid=self._solution['ip_access_control_list_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.IpAddressList>' - - -class IpAddressPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the IpAddressPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The account_sid - :param ip_access_control_list_sid: The ip_access_control_list_sid - - :returns: twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressPage - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressPage - """ - super(IpAddressPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of IpAddressInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressInstance - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressInstance - """ - return IpAddressInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - ip_access_control_list_sid=self._solution['ip_access_control_list_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.IpAddressPage>' - - -class IpAddressContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, ip_access_control_list_sid, sid): - """ - Initialize the IpAddressContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param ip_access_control_list_sid: The ip_access_control_list_sid - :param sid: The sid - - :returns: twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressContext - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressContext - """ - super(IpAddressContext, self).__init__(version) - - # Path Solution - self._solution = { - 'account_sid': account_sid, - 'ip_access_control_list_sid': ip_access_control_list_sid, - 'sid': sid, - } - self._uri = '/Accounts/{account_sid}/SIP/IpAccessControlLists/{ip_access_control_list_sid}/IpAddresses/{sid}.json'.format(**self._solution) - - def fetch(self): - """ - Fetch a IpAddressInstance - - :returns: Fetched IpAddressInstance - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return IpAddressInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - ip_access_control_list_sid=self._solution['ip_access_control_list_sid'], - sid=self._solution['sid'], - ) - - def update(self, ip_address=values.unset, friendly_name=values.unset): - """ - Update the IpAddressInstance - - :param unicode ip_address: The ip_address - :param unicode friendly_name: The friendly_name - - :returns: Updated IpAddressInstance - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressInstance - """ - data = values.of({'IpAddress': ip_address, 'FriendlyName': friendly_name, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return IpAddressInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - ip_access_control_list_sid=self._solution['ip_access_control_list_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the IpAddressInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.IpAddressContext {}>'.format(context) - - -class IpAddressInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid, ip_access_control_list_sid, - sid=None): - """ - Initialize the IpAddressInstance - - :returns: twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressInstance - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressInstance - """ - super(IpAddressInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'friendly_name': payload['friendly_name'], - 'ip_address': payload['ip_address'], - 'ip_access_control_list_sid': payload['ip_access_control_list_sid'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'uri': payload['uri'], - } - - # Context - self._context = None - self._solution = { - 'account_sid': account_sid, - 'ip_access_control_list_sid': ip_access_control_list_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: IpAddressContext for this IpAddressInstance - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressContext - """ - if self._context is None: - self._context = IpAddressContext( - self._version, - account_sid=self._solution['account_sid'], - ip_access_control_list_sid=self._solution['ip_access_control_list_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def ip_address(self): - """ - :returns: The ip_address - :rtype: unicode - """ - return self._properties['ip_address'] - - @property - def ip_access_control_list_sid(self): - """ - :returns: The ip_access_control_list_sid - :rtype: unicode - """ - return self._properties['ip_access_control_list_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def uri(self): - """ - :returns: The uri - :rtype: unicode - """ - return self._properties['uri'] - - def fetch(self): - """ - Fetch a IpAddressInstance - - :returns: Fetched IpAddressInstance - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressInstance - """ - return self._proxy.fetch() - - def update(self, ip_address=values.unset, friendly_name=values.unset): - """ - Update the IpAddressInstance - - :param unicode ip_address: The ip_address - :param unicode friendly_name: The friendly_name - - :returns: Updated IpAddressInstance - :rtype: twilio.rest.api.v2010.account.sip.ip_access_control_list.ip_address.IpAddressInstance - """ - return self._proxy.update(ip_address=ip_address, friendly_name=friendly_name, ) - - def delete(self): - """ - Deletes the IpAddressInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.IpAddressInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/token.py b/twilio/rest/api/v2010/account/token.py deleted file mode 100644 index c0fa9a0..0000000 --- a/twilio/rest/api/v2010/account/token.py +++ /dev/null @@ -1,194 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class TokenList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the TokenList - - :param Version version: Version that contains the resource - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.token.TokenList - :rtype: twilio.rest.api.v2010.account.token.TokenList - """ - super(TokenList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/Tokens.json'.format(**self._solution) - - def create(self, ttl=values.unset): - """ - Create a new TokenInstance - - :param unicode ttl: The duration in seconds the credentials are valid - - :returns: Newly created TokenInstance - :rtype: twilio.rest.api.v2010.account.token.TokenInstance - """ - data = values.of({'Ttl': ttl, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return TokenInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.TokenList>' - - -class TokenPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the TokenPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.token.TokenPage - :rtype: twilio.rest.api.v2010.account.token.TokenPage - """ - super(TokenPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of TokenInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.token.TokenInstance - :rtype: twilio.rest.api.v2010.account.token.TokenInstance - """ - return TokenInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.TokenPage>' - - -class TokenInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid): - """ - Initialize the TokenInstance - - :returns: twilio.rest.api.v2010.account.token.TokenInstance - :rtype: twilio.rest.api.v2010.account.token.TokenInstance - """ - super(TokenInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'ice_servers': payload['ice_servers'], - 'password': payload['password'], - 'ttl': payload['ttl'], - 'username': payload['username'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, } - - @property - def account_sid(self): - """ - :returns: The unique sid that identifies this account - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def date_created(self): - """ - :returns: The date this resource was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this resource was last updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def ice_servers(self): - """ - :returns: An array representing the ephemeral credentials - :rtype: unicode - """ - return self._properties['ice_servers'] - - @property - def password(self): - """ - :returns: The temporary password used for authenticating - :rtype: unicode - """ - return self._properties['password'] - - @property - def ttl(self): - """ - :returns: The duration in seconds the credentials are valid - :rtype: unicode - """ - return self._properties['ttl'] - - @property - def username(self): - """ - :returns: The temporary username that uniquely identifies a Token. - :rtype: unicode - """ - return self._properties['username'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.TokenInstance>' diff --git a/twilio/rest/api/v2010/account/transcription.py b/twilio/rest/api/v2010/account/transcription.py deleted file mode 100644 index 16d1f88..0000000 --- a/twilio/rest/api/v2010/account/transcription.py +++ /dev/null @@ -1,436 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class TranscriptionList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the TranscriptionList - - :param Version version: Version that contains the resource - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.transcription.TranscriptionList - :rtype: twilio.rest.api.v2010.account.transcription.TranscriptionList - """ - super(TranscriptionList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/Transcriptions.json'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams TranscriptionInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.transcription.TranscriptionInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists TranscriptionInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.transcription.TranscriptionInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of TranscriptionInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of TranscriptionInstance - :rtype: twilio.rest.api.v2010.account.transcription.TranscriptionPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return TranscriptionPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of TranscriptionInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of TranscriptionInstance - :rtype: twilio.rest.api.v2010.account.transcription.TranscriptionPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return TranscriptionPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a TranscriptionContext - - :param sid: Fetch by unique transcription Sid - - :returns: twilio.rest.api.v2010.account.transcription.TranscriptionContext - :rtype: twilio.rest.api.v2010.account.transcription.TranscriptionContext - """ - return TranscriptionContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a TranscriptionContext - - :param sid: Fetch by unique transcription Sid - - :returns: twilio.rest.api.v2010.account.transcription.TranscriptionContext - :rtype: twilio.rest.api.v2010.account.transcription.TranscriptionContext - """ - return TranscriptionContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.TranscriptionList>' - - -class TranscriptionPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the TranscriptionPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The unique sid that identifies this account - - :returns: twilio.rest.api.v2010.account.transcription.TranscriptionPage - :rtype: twilio.rest.api.v2010.account.transcription.TranscriptionPage - """ - super(TranscriptionPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of TranscriptionInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.transcription.TranscriptionInstance - :rtype: twilio.rest.api.v2010.account.transcription.TranscriptionInstance - """ - return TranscriptionInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.TranscriptionPage>' - - -class TranscriptionContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, sid): - """ - Initialize the TranscriptionContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param sid: Fetch by unique transcription Sid - - :returns: twilio.rest.api.v2010.account.transcription.TranscriptionContext - :rtype: twilio.rest.api.v2010.account.transcription.TranscriptionContext - """ - super(TranscriptionContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/Transcriptions/{sid}.json'.format(**self._solution) - - def fetch(self): - """ - Fetch a TranscriptionInstance - - :returns: Fetched TranscriptionInstance - :rtype: twilio.rest.api.v2010.account.transcription.TranscriptionInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return TranscriptionInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the TranscriptionInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.TranscriptionContext {}>'.format(context) - - -class TranscriptionInstance(InstanceResource): - """ """ - - class Status(object): - IN_PROGRESS = "in-progress" - COMPLETED = "completed" - FAILED = "failed" - - def __init__(self, version, payload, account_sid, sid=None): - """ - Initialize the TranscriptionInstance - - :returns: twilio.rest.api.v2010.account.transcription.TranscriptionInstance - :rtype: twilio.rest.api.v2010.account.transcription.TranscriptionInstance - """ - super(TranscriptionInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'api_version': payload['api_version'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'duration': payload['duration'], - 'price': deserialize.decimal(payload['price']), - 'price_unit': payload['price_unit'], - 'recording_sid': payload['recording_sid'], - 'sid': payload['sid'], - 'status': payload['status'], - 'transcription_text': payload['transcription_text'], - 'type': payload['type'], - 'uri': payload['uri'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: TranscriptionContext for this TranscriptionInstance - :rtype: twilio.rest.api.v2010.account.transcription.TranscriptionContext - """ - if self._context is None: - self._context = TranscriptionContext( - self._version, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The unique sid that identifies this account - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def api_version(self): - """ - :returns: The api_version - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def date_created(self): - """ - :returns: The date this resource was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this resource was last updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def duration(self): - """ - :returns: The duration of the transcribed audio, in seconds. - :rtype: unicode - """ - return self._properties['duration'] - - @property - def price(self): - """ - :returns: The charge for this transcription - :rtype: unicode - """ - return self._properties['price'] - - @property - def price_unit(self): - """ - :returns: The currency in which Price is measured - :rtype: unicode - """ - return self._properties['price_unit'] - - @property - def recording_sid(self): - """ - :returns: The string that uniquely identifies the recording - :rtype: unicode - """ - return self._properties['recording_sid'] - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this transcription - :rtype: unicode - """ - return self._properties['sid'] - - @property - def status(self): - """ - :returns: The status of the transcription - :rtype: TranscriptionInstance.Status - """ - return self._properties['status'] - - @property - def transcription_text(self): - """ - :returns: The text content of the transcription. - :rtype: unicode - """ - return self._properties['transcription_text'] - - @property - def type(self): - """ - :returns: The type - :rtype: unicode - """ - return self._properties['type'] - - @property - def uri(self): - """ - :returns: The URI for this resource - :rtype: unicode - """ - return self._properties['uri'] - - def fetch(self): - """ - Fetch a TranscriptionInstance - - :returns: Fetched TranscriptionInstance - :rtype: twilio.rest.api.v2010.account.transcription.TranscriptionInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the TranscriptionInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.TranscriptionInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/usage/__init__.py b/twilio/rest/api/v2010/account/usage/__init__.py deleted file mode 100644 index 78a3efa..0000000 --- a/twilio/rest/api/v2010/account/usage/__init__.py +++ /dev/null @@ -1,135 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.api.v2010.account.usage.record import RecordList -from twilio.rest.api.v2010.account.usage.trigger import TriggerList - - -class UsageList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the UsageList - - :param Version version: Version that contains the resource - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.usage.UsageList - :rtype: twilio.rest.api.v2010.account.usage.UsageList - """ - super(UsageList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - - # Components - self._records = None - self._triggers = None - - @property - def records(self): - """ - Access the records - - :returns: twilio.rest.api.v2010.account.usage.record.RecordList - :rtype: twilio.rest.api.v2010.account.usage.record.RecordList - """ - if self._records is None: - self._records = RecordList(self._version, account_sid=self._solution['account_sid'], ) - return self._records - - @property - def triggers(self): - """ - Access the triggers - - :returns: twilio.rest.api.v2010.account.usage.trigger.TriggerList - :rtype: twilio.rest.api.v2010.account.usage.trigger.TriggerList - """ - if self._triggers is None: - self._triggers = TriggerList(self._version, account_sid=self._solution['account_sid'], ) - return self._triggers - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.UsageList>' - - -class UsagePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the UsagePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.usage.UsagePage - :rtype: twilio.rest.api.v2010.account.usage.UsagePage - """ - super(UsagePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of UsageInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.usage.UsageInstance - :rtype: twilio.rest.api.v2010.account.usage.UsageInstance - """ - return UsageInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.UsagePage>' - - -class UsageInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid): - """ - Initialize the UsageInstance - - :returns: twilio.rest.api.v2010.account.usage.UsageInstance - :rtype: twilio.rest.api.v2010.account.usage.UsageInstance - """ - super(UsageInstance, self).__init__(version) - - # Context - self._context = None - self._solution = {'account_sid': account_sid, } - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.UsageInstance>' diff --git a/twilio/rest/api/v2010/account/usage/__pycache__/__init__.cpython-36.pyc b/twilio/rest/api/v2010/account/usage/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index b2c5a0911f4c0f99a547c27949aac055fd450369..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4661 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 diff --git a/twilio/rest/api/v2010/account/usage/__pycache__/trigger.cpython-36.pyc b/twilio/rest/api/v2010/account/usage/__pycache__/trigger.cpython-36.pyc deleted file mode 100644 index 1ba09af2352c48ea9f21ba20a87c1b3bac472598..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33312 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 Bu^<2d diff --git a/twilio/rest/api/v2010/account/usage/record/__init__.py b/twilio/rest/api/v2010/account/usage/record/__init__.py deleted file mode 100644 index 13476fd..0000000 --- a/twilio/rest/api/v2010/account/usage/record/__init__.py +++ /dev/null @@ -1,694 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.api.v2010.account.usage.record.all_time import AllTimeList -from twilio.rest.api.v2010.account.usage.record.daily import DailyList -from twilio.rest.api.v2010.account.usage.record.last_month import LastMonthList -from twilio.rest.api.v2010.account.usage.record.monthly import MonthlyList -from twilio.rest.api.v2010.account.usage.record.this_month import ThisMonthList -from twilio.rest.api.v2010.account.usage.record.today import TodayList -from twilio.rest.api.v2010.account.usage.record.yearly import YearlyList -from twilio.rest.api.v2010.account.usage.record.yesterday import YesterdayList - - -class RecordList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the RecordList - - :param Version version: Version that contains the resource - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.usage.record.RecordList - :rtype: twilio.rest.api.v2010.account.usage.record.RecordList - """ - super(RecordList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/Usage/Records.json'.format(**self._solution) - - # Components - self._all_time = None - self._daily = None - self._last_month = None - self._monthly = None - self._this_month = None - self._today = None - self._yearly = None - self._yesterday = None - - def stream(self, category=values.unset, start_date=values.unset, - end_date=values.unset, limit=None, page_size=None): - """ - Streams RecordInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param RecordInstance.Category category: Only include usage of a given category - :param date start_date: Filter by start date - :param date end_date: Filter by end date - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.usage.record.RecordInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - category=category, - start_date=start_date, - end_date=end_date, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, category=values.unset, start_date=values.unset, - end_date=values.unset, limit=None, page_size=None): - """ - Lists RecordInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param RecordInstance.Category category: Only include usage of a given category - :param date start_date: Filter by start date - :param date end_date: Filter by end date - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.usage.record.RecordInstance] - """ - return list(self.stream( - category=category, - start_date=start_date, - end_date=end_date, - limit=limit, - page_size=page_size, - )) - - def page(self, category=values.unset, start_date=values.unset, - end_date=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of RecordInstance records from the API. - Request is executed immediately - - :param RecordInstance.Category category: Only include usage of a given category - :param date start_date: Filter by start date - :param date end_date: Filter by end date - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of RecordInstance - :rtype: twilio.rest.api.v2010.account.usage.record.RecordPage - """ - params = values.of({ - 'Category': category, - 'StartDate': serialize.iso8601_date(start_date), - 'EndDate': serialize.iso8601_date(end_date), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return RecordPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of RecordInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of RecordInstance - :rtype: twilio.rest.api.v2010.account.usage.record.RecordPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return RecordPage(self._version, response, self._solution) - - @property - def all_time(self): - """ - Access the all_time - - :returns: twilio.rest.api.v2010.account.usage.record.all_time.AllTimeList - :rtype: twilio.rest.api.v2010.account.usage.record.all_time.AllTimeList - """ - if self._all_time is None: - self._all_time = AllTimeList(self._version, account_sid=self._solution['account_sid'], ) - return self._all_time - - @property - def daily(self): - """ - Access the daily - - :returns: twilio.rest.api.v2010.account.usage.record.daily.DailyList - :rtype: twilio.rest.api.v2010.account.usage.record.daily.DailyList - """ - if self._daily is None: - self._daily = DailyList(self._version, account_sid=self._solution['account_sid'], ) - return self._daily - - @property - def last_month(self): - """ - Access the last_month - - :returns: twilio.rest.api.v2010.account.usage.record.last_month.LastMonthList - :rtype: twilio.rest.api.v2010.account.usage.record.last_month.LastMonthList - """ - if self._last_month is None: - self._last_month = LastMonthList(self._version, account_sid=self._solution['account_sid'], ) - return self._last_month - - @property - def monthly(self): - """ - Access the monthly - - :returns: twilio.rest.api.v2010.account.usage.record.monthly.MonthlyList - :rtype: twilio.rest.api.v2010.account.usage.record.monthly.MonthlyList - """ - if self._monthly is None: - self._monthly = MonthlyList(self._version, account_sid=self._solution['account_sid'], ) - return self._monthly - - @property - def this_month(self): - """ - Access the this_month - - :returns: twilio.rest.api.v2010.account.usage.record.this_month.ThisMonthList - :rtype: twilio.rest.api.v2010.account.usage.record.this_month.ThisMonthList - """ - if self._this_month is None: - self._this_month = ThisMonthList(self._version, account_sid=self._solution['account_sid'], ) - return self._this_month - - @property - def today(self): - """ - Access the today - - :returns: twilio.rest.api.v2010.account.usage.record.today.TodayList - :rtype: twilio.rest.api.v2010.account.usage.record.today.TodayList - """ - if self._today is None: - self._today = TodayList(self._version, account_sid=self._solution['account_sid'], ) - return self._today - - @property - def yearly(self): - """ - Access the yearly - - :returns: twilio.rest.api.v2010.account.usage.record.yearly.YearlyList - :rtype: twilio.rest.api.v2010.account.usage.record.yearly.YearlyList - """ - if self._yearly is None: - self._yearly = YearlyList(self._version, account_sid=self._solution['account_sid'], ) - return self._yearly - - @property - def yesterday(self): - """ - Access the yesterday - - :returns: twilio.rest.api.v2010.account.usage.record.yesterday.YesterdayList - :rtype: twilio.rest.api.v2010.account.usage.record.yesterday.YesterdayList - """ - if self._yesterday is None: - self._yesterday = YesterdayList(self._version, account_sid=self._solution['account_sid'], ) - return self._yesterday - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.RecordList>' - - -class RecordPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the RecordPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.usage.record.RecordPage - :rtype: twilio.rest.api.v2010.account.usage.record.RecordPage - """ - super(RecordPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of RecordInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.usage.record.RecordInstance - :rtype: twilio.rest.api.v2010.account.usage.record.RecordInstance - """ - return RecordInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.RecordPage>' - - -class RecordInstance(InstanceResource): - """ """ - - class Category(object): - ANSWERING_MACHINE_DETECTION = "answering-machine-detection" - AUTHY_AUTHENTICATIONS = "authy-authentications" - AUTHY_CALLS_OUTBOUND = "authy-calls-outbound" - AUTHY_MONTHLY_FEES = "authy-monthly-fees" - AUTHY_PHONE_INTELLIGENCE = "authy-phone-intelligence" - AUTHY_PHONE_VERIFICATIONS = "authy-phone-verifications" - AUTHY_SMS_OUTBOUND = "authy-sms-outbound" - CALL_PROGESS_EVENTS = "call-progess-events" - CALLERIDLOOKUPS = "calleridlookups" - CALLS = "calls" - CALLS_CLIENT = "calls-client" - CALLS_GLOBALCONFERENCE = "calls-globalconference" - CALLS_INBOUND = "calls-inbound" - CALLS_INBOUND_LOCAL = "calls-inbound-local" - CALLS_INBOUND_MOBILE = "calls-inbound-mobile" - CALLS_INBOUND_TOLLFREE = "calls-inbound-tollfree" - CALLS_OUTBOUND = "calls-outbound" - CALLS_RECORDINGS = "calls-recordings" - CALLS_SIP = "calls-sip" - CALLS_SIP_INBOUND = "calls-sip-inbound" - CALLS_SIP_OUTBOUND = "calls-sip-outbound" - CARRIER_LOOKUPS = "carrier-lookups" - CONVERSATIONS = "conversations" - CONVERSATIONS_API_REQUESTS = "conversations-api-requests" - CONVERSATIONS_CONVERSATION_EVENTS = "conversations-conversation-events" - CONVERSATIONS_ENDPOINT_CONNECTIVITY = "conversations-endpoint-connectivity" - CONVERSATIONS_EVENTS = "conversations-events" - CONVERSATIONS_PARTICIPANT_EVENTS = "conversations-participant-events" - CONVERSATIONS_PARTICIPANTS = "conversations-participants" - CPS = "cps" - GROUP_ROOMS = "group-rooms" - GROUP_ROOMS_DATA_TRACK = "group-rooms-data-track" - GROUP_ROOMS_ENCRYPTED_MEDIA_RECORDED = "group-rooms-encrypted-media-recorded" - GROUP_ROOMS_MEDIA_DOWNLOADED = "group-rooms-media-downloaded" - GROUP_ROOMS_MEDIA_RECORDED = "group-rooms-media-recorded" - GROUP_ROOMS_MEDIA_ROUTED = "group-rooms-media-routed" - GROUP_ROOMS_MEDIA_STORED = "group-rooms-media-stored" - GROUP_ROOMS_PARTICIPANT_MINUTES = "group-rooms-participant-minutes" - GROUP_ROOMS_RECORDED_MINUTES = "group-rooms-recorded-minutes" - IP_MESSAGING = "ip-messaging" - IP_MESSAGING_COMMANDS = "ip-messaging-commands" - IP_MESSAGING_DATA_STORAGE = "ip-messaging-data-storage" - IP_MESSAGING_DATA_TRANSFER = "ip-messaging-data-transfer" - IP_MESSAGING_ENDPOINT_CONNECTIVITY = "ip-messaging-endpoint-connectivity" - LOOKUPS = "lookups" - MARKETPLACE = "marketplace" - MARKETPLACE_ALGORITHMIA_NAMED_ENTITY_RECOGNITION = "marketplace-algorithmia-named-entity-recognition" - MARKETPLACE_DIGITAL_SEGMENT_BUSINESS_INFO = "marketplace-digital-segment-business-info" - MARKETPLACE_GOOGLE_SPEECH_TO_TEXT = "marketplace-google-speech-to-text" - MARKETPLACE_IBM_WATSON_MESSAGE_INSIGHTS = "marketplace-ibm-watson-message-insights" - MARKETPLACE_IBM_WATSON_MESSAGE_SENTIMENT = "marketplace-ibm-watson-message-sentiment" - MARKETPLACE_IBM_WATSON_RECORDING_ANALYSIS = "marketplace-ibm-watson-recording-analysis" - MARKETPLACE_ICEHOOK_SYSTEMS_SCOUT = "marketplace-icehook-systems-scout" - MARKETPLACE_INFOGROUP_DATAAXLE_BIZINFO = "marketplace-infogroup-dataaxle-bizinfo" - MARKETPLACE_CADENCE_TRANSCRIPTION = "marketplace-cadence-transcription" - MARKETPLACE_CADENCE_TRANSLATION = "marketplace-cadence-translation" - MARKETPLACE_CAPIO_SPEECH_TO_TEXT = "marketplace-capio-speech-to-text" - MARKETPLACE_FACEBOOK_OFFLINE_CONVERSIONS = "marketplace-facebook-offline-conversions" - MARKETPLACE_KEEN_IO_CONTACT_CENTER_ANALYTICS = "marketplace-keen-io-contact-center-analytics" - MARKETPLACE_MARCHEX_CLEANCALL = "marketplace-marchex-cleancall" - MARKETPLACE_MARCHEX_SENTIMENT_ANALYSIS_FOR_SMS = "marketplace-marchex-sentiment-analysis-for-sms" - MARKETPLACE_MARKETPLACE_NEXTCALLER_SOCIAL_ID = "marketplace-marketplace-nextcaller-social-id" - MARKETPLACE_MOBILE_COMMONS_OPT_OUT_CLASSIFIER = "marketplace-mobile-commons-opt-out-classifier" - MARKETPLACE_NEXIWAVE_VOICEMAIL_TO_TEXT = "marketplace-nexiwave-voicemail-to-text" - MARKETPLACE_NEXTCALLER_ADVANCED_CALLER_IDENTIFICATION = "marketplace-nextcaller-advanced-caller-identification" - MARKETPLACE_NOMOROBO_SPAM_SCORE = "marketplace-nomorobo-spam-score" - MARKETPLACE_PAYFONE_TCPA_COMPLIANCE = "marketplace-payfone-tcpa-compliance" - MARKETPLACE_TELO_OPENCNAM = "marketplace-telo-opencnam" - MARKETPLACE_TRUECNAM_TRUE_SPAM = "marketplace-truecnam-true-spam" - MARKETPLACE_TWILIO_CALLER_NAME_LOOKUP_US = "marketplace-twilio-caller-name-lookup-us" - MARKETPLACE_TWILIO_CARRIER_INFORMATION_LOOKUP = "marketplace-twilio-carrier-information-lookup" - MARKETPLACE_VOICEBASE_PCI = "marketplace-voicebase-pci" - MARKETPLACE_VOICEBASE_TRANSCRIPTION = "marketplace-voicebase-transcription" - MARKETPLACE_WHITEPAGES_PRO_CALLER_IDENTIFICATION = "marketplace-whitepages-pro-caller-identification" - MARKETPLACE_WHITEPAGES_PRO_PHONE_INTELLIGENCE = "marketplace-whitepages-pro-phone-intelligence" - MARKETPLACE_WHITEPAGES_PRO_PHONE_REPUTATION = "marketplace-whitepages-pro-phone-reputation" - MARKETPLACE_WOLFRAM_SHORT_ANSWER = "marketplace-wolfram-short-answer" - MARKETPLACE_WOLFARM_SPOKEN_RESULTS = "marketplace-wolfarm-spoken-results" - MARKETPLACE_DEEPGRAM_PHRASE_DETECTOR = "marketplace-deepgram-phrase-detector" - MARKETPLACE_CONVRIZA_ABABA = "marketplace-convriza-ababa" - MARKETPLACE_IBM_WATSON_TONE_ANALYZER = "marketplace-ibm-watson-tone-analyzer" - MARKETPLACE_REMEETING_AUTOMATIC_SPEECH_RECOGNITION = "marketplace-remeeting-automatic-speech-recognition" - MARKETPLACE_TCPA_DEFENSE_SOLUTIONS_BLACKLIST_FEED = "marketplace-tcpa-defense-solutions-blacklist-feed" - MARKETPLACE_VOICEBASE_TRANSCRIPTION_CUSTOM_VOCABULARY = "marketplace-voicebase-transcription-custom-vocabulary" - MARKETPLACE_YTICA_CONTACT_CENTER_REPORTING_ANALYTICS = "marketplace-ytica-contact-center-reporting-analytics" - MEDIASTORAGE = "mediastorage" - MMS = "mms" - MMS_INBOUND = "mms-inbound" - MMS_INBOUND_LONGCODE = "mms-inbound-longcode" - MMS_INBOUND_SHORTCODE = "mms-inbound-shortcode" - MMS_OUTBOUND = "mms-outbound" - MMS_OUTBOUND_LONGCODE = "mms-outbound-longcode" - MMS_OUTBOUND_SHORTCODE = "mms-outbound-shortcode" - MONITOR_READS = "monitor-reads" - MONITOR_STORAGE = "monitor-storage" - MONITOR_WRITES = "monitor-writes" - NOTIFY = "notify" - NOTIFY_ACTIONS_ATTEMPTS = "notify-actions-attempts" - NOTIFY_CHANNELS = "notify-channels" - NUMBER_FORMAT_LOOKUPS = "number-format-lookups" - PCHAT = "pchat" - PCHAT_ACTIONS = "pchat-actions" - PCHAT_APS = "pchat-aps" - PCHAT_NOTIFICATIONS = "pchat-notifications" - PCHAT_READS = "pchat-reads" - PCHAT_USERS = "pchat-users" - PCHAT_MESSAGES = "pchat-messages" - PEER_TO_PEER_ROOMS_PARTICIPANT_MINUTES = "peer-to-peer-rooms-participant-minutes" - PFAX = "pfax" - PFAX_MINUTES = "pfax-minutes" - PFAX_MINUTES_INBOUND = "pfax-minutes-inbound" - PFAX_MINUTES_OUTBOUND = "pfax-minutes-outbound" - PFAX_PAGES = "pfax-pages" - PHONENUMBERS = "phonenumbers" - PHONENUMBERS_CPS = "phonenumbers-cps" - PHONENUMBERS_EMERGENCY = "phonenumbers-emergency" - PHONENUMBERS_LOCAL = "phonenumbers-local" - PHONENUMBERS_MOBILE = "phonenumbers-mobile" - PHONENUMBERS_SETUPS = "phonenumbers-setups" - PHONENUMBERS_TOLLFREE = "phonenumbers-tollfree" - PREMIUMSUPPORT = "premiumsupport" - PROXY = "proxy" - PV = "pv" - PV_ROOM_PARTICIPANTS = "pv-room-participants" - PV_ROOM_PARTICIPANTS_AU1 = "pv-room-participants-au1" - PV_ROOM_PARTICIPANTS_BR1 = "pv-room-participants-br1" - PV_ROOM_PARTICIPANTS_IE1 = "pv-room-participants-ie1" - PV_ROOM_PARTICIPANTS_JP1 = "pv-room-participants-jp1" - PV_ROOM_PARTICIPANTS_SG1 = "pv-room-participants-sg1" - PV_ROOM_PARTICIPANTS_US1 = "pv-room-participants-us1" - PV_ROOM_PARTICIPANTS_US2 = "pv-room-participants-us2" - PV_ROOMS = "pv-rooms" - PV_SIP_ENDPOINT_REGISTRATIONS = "pv-sip-endpoint-registrations" - RECORDINGS = "recordings" - RECORDINGSTORAGE = "recordingstorage" - ROOMS_GROUP_MINUTES = "rooms-group-minutes" - ROOMS_GROUP_BANDWIDTH = "rooms-group-bandwidth" - ROOMS_PEER_TO_PEER_MINUTES = "rooms-peer-to-peer-minutes" - SHORTCODES = "shortcodes" - SHORTCODES_CUSTOMEROWNED = "shortcodes-customerowned" - SHORTCODES_MMS_ENABLEMENT = "shortcodes-mms-enablement" - SHORTCODES_MPS = "shortcodes-mps" - SHORTCODES_RANDOM = "shortcodes-random" - SHORTCODES_UK = "shortcodes-uk" - SHORTCODES_VANITY = "shortcodes-vanity" - SMS = "sms" - SMS_INBOUND = "sms-inbound" - SMS_INBOUND_LONGCODE = "sms-inbound-longcode" - SMS_INBOUND_SHORTCODE = "sms-inbound-shortcode" - SMS_OUTBOUND = "sms-outbound" - SMS_OUTBOUND_CONTENT_INSPECTION = "sms-outbound-content-inspection" - SMS_OUTBOUND_LONGCODE = "sms-outbound-longcode" - SMS_OUTBOUND_SHORTCODE = "sms-outbound-shortcode" - SMS_MESSAGES_FEATURES = "sms-messages-features" - SMS_MESSAGES_FEATURES_SENDERID = "sms-messages-features-senderid" - SPEECH_RECOGNITION = "speech-recognition" - STUDIO_ENGAGEMENTS = "studio-engagements" - SYNC = "sync" - SYNC_ACTIONS = "sync-actions" - SYNC_ENDPOINT_HOURS = "sync-endpoint-hours" - SYNC_ENDPOINT_HOURS_ABOVE_DAILY_CAP = "sync-endpoint-hours-above-daily-cap" - TASKROUTER_TASKS = "taskrouter-tasks" - TOTALPRICE = "totalprice" - TRANSCRIPTIONS = "transcriptions" - TRUNKING_CPS = "trunking-cps" - TRUNKING_EMERGENCY_CALLS = "trunking-emergency-calls" - TRUNKING_ORIGINATION = "trunking-origination" - TRUNKING_ORIGINATION_LOCAL = "trunking-origination-local" - TRUNKING_ORIGINATION_MOBILE = "trunking-origination-mobile" - TRUNKING_ORIGINATION_TOLLFREE = "trunking-origination-tollfree" - TRUNKING_RECORDINGS = "trunking-recordings" - TRUNKING_SECURE = "trunking-secure" - TRUNKING_TERMINATION = "trunking-termination" - TURNMEGABYTES = "turnmegabytes" - TURNMEGABYTES_AUSTRALIA = "turnmegabytes-australia" - TURNMEGABYTES_BRASIL = "turnmegabytes-brasil" - TURNMEGABYTES_INDIA = "turnmegabytes-india" - TURNMEGABYTES_IRELAND = "turnmegabytes-ireland" - TURNMEGABYTES_JAPAN = "turnmegabytes-japan" - TURNMEGABYTES_SINGAPORE = "turnmegabytes-singapore" - TURNMEGABYTES_USEAST = "turnmegabytes-useast" - TURNMEGABYTES_USWEST = "turnmegabytes-uswest" - TWILIO_INTERCONNECT = "twilio-interconnect" - VIDEO_RECORDINGS = "video-recordings" - VOICE_INSIGHTS = "voice-insights" - VOICE_INSIGHTS_AUDIO_TRACE = "voice-insights-audio-trace" - VOICE_INSIGHTS_CARRIER_CALLS = "voice-insights-carrier-calls" - WIRELESS = "wireless" - WIRELESS_ORDERS = "wireless-orders" - WIRELESS_ORDERS_ARTWORK = "wireless-orders-artwork" - WIRELESS_ORDERS_BULK = "wireless-orders-bulk" - WIRELESS_ORDERS_ESIM = "wireless-orders-esim" - WIRELESS_ORDERS_STARTER = "wireless-orders-starter" - WIRELESS_USAGE = "wireless-usage" - WIRELESS_USAGE_COMMANDS = "wireless-usage-commands" - WIRELESS_USAGE_COMMANDS_AFRICA = "wireless-usage-commands-africa" - WIRELESS_USAGE_COMMANDS_ASIA = "wireless-usage-commands-asia" - WIRELESS_USAGE_COMMANDS_CENTRALANDSOUTHAMERICA = "wireless-usage-commands-centralandsouthamerica" - WIRELESS_USAGE_COMMANDS_EUROPE = "wireless-usage-commands-europe" - WIRELESS_USAGE_COMMANDS_HOME = "wireless-usage-commands-home" - WIRELESS_USAGE_COMMANDS_NORTHAMERICA = "wireless-usage-commands-northamerica" - WIRELESS_USAGE_COMMANDS_OCEANIA = "wireless-usage-commands-oceania" - WIRELESS_USAGE_COMMANDS_ROAMING = "wireless-usage-commands-roaming" - WIRELESS_USAGE_DATA = "wireless-usage-data" - WIRELESS_USAGE_DATA_AFRICA = "wireless-usage-data-africa" - WIRELESS_USAGE_DATA_ASIA = "wireless-usage-data-asia" - WIRELESS_USAGE_DATA_CENTRALANDSOUTHAMERICA = "wireless-usage-data-centralandsouthamerica" - WIRELESS_USAGE_DATA_CUSTOM_ADDITIONALMB = "wireless-usage-data-custom-additionalmb" - WIRELESS_USAGE_DATA_CUSTOM_FIRST5MB = "wireless-usage-data-custom-first5mb" - WIRELESS_USAGE_DATA_DOMESTIC_ROAMING = "wireless-usage-data-domestic-roaming" - WIRELESS_USAGE_DATA_EUROPE = "wireless-usage-data-europe" - WIRELESS_USAGE_DATA_INDIVIDUAL_ADDITIONALGB = "wireless-usage-data-individual-additionalgb" - WIRELESS_USAGE_DATA_INDIVIDUAL_FIRSTGB = "wireless-usage-data-individual-firstgb" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_CANADA = "wireless-usage-data-international-roaming-canada" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_INDIA = "wireless-usage-data-international-roaming-india" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_MEXICO = "wireless-usage-data-international-roaming-mexico" - WIRELESS_USAGE_DATA_NORTHAMERICA = "wireless-usage-data-northamerica" - WIRELESS_USAGE_DATA_OCEANIA = "wireless-usage-data-oceania" - WIRELESS_USAGE_DATA_POOLED = "wireless-usage-data-pooled" - WIRELESS_USAGE_DATA_POOLED_DOWNLINK = "wireless-usage-data-pooled-downlink" - WIRELESS_USAGE_DATA_POOLED_UPLINK = "wireless-usage-data-pooled-uplink" - WIRELESS_USAGE_MRC = "wireless-usage-mrc" - WIRELESS_USAGE_MRC_CUSTOM = "wireless-usage-mrc-custom" - WIRELESS_USAGE_MRC_INDIVIDUAL = "wireless-usage-mrc-individual" - WIRELESS_USAGE_MRC_POOLED = "wireless-usage-mrc-pooled" - WIRELESS_USAGE_MRC_SUSPENDED = "wireless-usage-mrc-suspended" - WIRELESS_USAGE_VOICE = "wireless-usage-voice" - WIRELESS_USAGE_SMS = "wireless-usage-sms" - - def __init__(self, version, payload, account_sid): - """ - Initialize the RecordInstance - - :returns: twilio.rest.api.v2010.account.usage.record.RecordInstance - :rtype: twilio.rest.api.v2010.account.usage.record.RecordInstance - """ - super(RecordInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'api_version': payload['api_version'], - 'category': payload['category'], - 'count': payload['count'], - 'count_unit': payload['count_unit'], - 'description': payload['description'], - 'end_date': deserialize.iso8601_date(payload['end_date']), - 'price': deserialize.decimal(payload['price']), - 'price_unit': payload['price_unit'], - 'start_date': deserialize.iso8601_date(payload['start_date']), - 'subresource_uris': payload['subresource_uris'], - 'uri': payload['uri'], - 'usage': payload['usage'], - 'usage_unit': payload['usage_unit'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, } - - @property - def account_sid(self): - """ - :returns: The Account that accrued the usage - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def api_version(self): - """ - :returns: The api_version - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def category(self): - """ - :returns: The category of usage - :rtype: RecordInstance.Category - """ - return self._properties['category'] - - @property - def count(self): - """ - :returns: The number of usage events (e.g. the number of calls). - :rtype: unicode - """ - return self._properties['count'] - - @property - def count_unit(self): - """ - :returns: The unit in which `Count` is measured - :rtype: unicode - """ - return self._properties['count_unit'] - - @property - def description(self): - """ - :returns: A human-readable description of the usage category. - :rtype: unicode - """ - return self._properties['description'] - - @property - def end_date(self): - """ - :returns: The last date usage is included in this record - :rtype: date - """ - return self._properties['end_date'] - - @property - def price(self): - """ - :returns: The total price of the usage - :rtype: unicode - """ - return self._properties['price'] - - @property - def price_unit(self): - """ - :returns: The currency in which `Price` is measured - :rtype: unicode - """ - return self._properties['price_unit'] - - @property - def start_date(self): - """ - :returns: The first date usage is included in this record - :rtype: date - """ - return self._properties['start_date'] - - @property - def subresource_uris(self): - """ - :returns: Subresources Uris for this UsageRecord - :rtype: unicode - """ - return self._properties['subresource_uris'] - - @property - def uri(self): - """ - :returns: The URI for this resource - :rtype: unicode - """ - return self._properties['uri'] - - @property - def usage(self): - """ - :returns: The amount of usage - :rtype: unicode - """ - return self._properties['usage'] - - @property - def usage_unit(self): - """ - :returns: The units in which `Usage` is measured - :rtype: unicode - """ - return self._properties['usage_unit'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.RecordInstance>' diff --git a/twilio/rest/api/v2010/account/usage/record/__pycache__/__init__.cpython-36.pyc b/twilio/rest/api/v2010/account/usage/record/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index fce92861928f8e1ed9677d1ff92eca21442ef507..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29170 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 diff --git a/twilio/rest/api/v2010/account/usage/record/__pycache__/all_time.cpython-36.pyc b/twilio/rest/api/v2010/account/usage/record/__pycache__/all_time.cpython-36.pyc deleted file mode 100644 index a870de8a043cd2541cc4b94a8c22d672d7b22538..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24967 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 aS8wDi@T?g;a0wM=E8c%EdOALN=Klfnh!3a$ diff --git a/twilio/rest/api/v2010/account/usage/record/__pycache__/daily.cpython-36.pyc b/twilio/rest/api/v2010/account/usage/record/__pycache__/daily.cpython-36.pyc deleted file mode 100644 index b367a37482a5bc841f1d7e92f07187499ae48f43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24810 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 N5%)iYmQGBa`M=2T*DU}5 diff --git a/twilio/rest/api/v2010/account/usage/record/__pycache__/last_month.cpython-36.pyc b/twilio/rest/api/v2010/account/usage/record/__pycache__/last_month.cpython-36.pyc deleted file mode 100644 index 9af6eceffe0349689006e82548d106a5093c13e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25111 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 diff --git a/twilio/rest/api/v2010/account/usage/record/__pycache__/monthly.cpython-36.pyc b/twilio/rest/api/v2010/account/usage/record/__pycache__/monthly.cpython-36.pyc deleted file mode 100644 index 1615f3ae153178eef827ffcb45e9d205847e3a92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24954 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 S;QA@dR^0y(dO9(6_WuDW7aQ~d diff --git a/twilio/rest/api/v2010/account/usage/record/__pycache__/this_month.cpython-36.pyc b/twilio/rest/api/v2010/account/usage/record/__pycache__/this_month.cpython-36.pyc deleted file mode 100644 index e55c220180fc3476638abbbe8c0b4b64211d1083..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25111 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 diff --git a/twilio/rest/api/v2010/account/usage/record/__pycache__/today.cpython-36.pyc b/twilio/rest/api/v2010/account/usage/record/__pycache__/today.cpython-36.pyc deleted file mode 100644 index 6e40194468d8f006c2f9ac713de054821b19ab68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24810 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 OMBM)nS~@Xx=Klg0Pum>; diff --git a/twilio/rest/api/v2010/account/usage/record/__pycache__/yearly.cpython-36.pyc b/twilio/rest/api/v2010/account/usage/record/__pycache__/yearly.cpython-36.pyc deleted file mode 100644 index b861b2db71aac6387c5ec000a93c163ae27410ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24882 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 PFgJ1kL+I()#M%D~f06rv diff --git a/twilio/rest/api/v2010/account/usage/record/__pycache__/yesterday.cpython-36.pyc b/twilio/rest/api/v2010/account/usage/record/__pycache__/yesterday.cpython-36.pyc deleted file mode 100644 index bc2c03d6abcbe480c7b1230032bf48fbc9503da0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25098 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 diff --git a/twilio/rest/api/v2010/account/usage/record/all_time.py b/twilio/rest/api/v2010/account/usage/record/all_time.py deleted file mode 100644 index e99af74..0000000 --- a/twilio/rest/api/v2010/account/usage/record/all_time.py +++ /dev/null @@ -1,580 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class AllTimeList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the AllTimeList - - :param Version version: Version that contains the resource - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.usage.record.all_time.AllTimeList - :rtype: twilio.rest.api.v2010.account.usage.record.all_time.AllTimeList - """ - super(AllTimeList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/Usage/Records/AllTime.json'.format(**self._solution) - - def stream(self, category=values.unset, start_date=values.unset, - end_date=values.unset, limit=None, page_size=None): - """ - Streams AllTimeInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param AllTimeInstance.Category category: The category - :param date start_date: The start_date - :param date end_date: The end_date - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.usage.record.all_time.AllTimeInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - category=category, - start_date=start_date, - end_date=end_date, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, category=values.unset, start_date=values.unset, - end_date=values.unset, limit=None, page_size=None): - """ - Lists AllTimeInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param AllTimeInstance.Category category: The category - :param date start_date: The start_date - :param date end_date: The end_date - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.usage.record.all_time.AllTimeInstance] - """ - return list(self.stream( - category=category, - start_date=start_date, - end_date=end_date, - limit=limit, - page_size=page_size, - )) - - def page(self, category=values.unset, start_date=values.unset, - end_date=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of AllTimeInstance records from the API. - Request is executed immediately - - :param AllTimeInstance.Category category: The category - :param date start_date: The start_date - :param date end_date: The end_date - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of AllTimeInstance - :rtype: twilio.rest.api.v2010.account.usage.record.all_time.AllTimePage - """ - params = values.of({ - 'Category': category, - 'StartDate': serialize.iso8601_date(start_date), - 'EndDate': serialize.iso8601_date(end_date), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return AllTimePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of AllTimeInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of AllTimeInstance - :rtype: twilio.rest.api.v2010.account.usage.record.all_time.AllTimePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return AllTimePage(self._version, response, self._solution) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.AllTimeList>' - - -class AllTimePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the AllTimePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.usage.record.all_time.AllTimePage - :rtype: twilio.rest.api.v2010.account.usage.record.all_time.AllTimePage - """ - super(AllTimePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of AllTimeInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.usage.record.all_time.AllTimeInstance - :rtype: twilio.rest.api.v2010.account.usage.record.all_time.AllTimeInstance - """ - return AllTimeInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.AllTimePage>' - - -class AllTimeInstance(InstanceResource): - """ """ - - class Category(object): - ANSWERING_MACHINE_DETECTION = "answering-machine-detection" - AUTHY_AUTHENTICATIONS = "authy-authentications" - AUTHY_CALLS_OUTBOUND = "authy-calls-outbound" - AUTHY_MONTHLY_FEES = "authy-monthly-fees" - AUTHY_PHONE_INTELLIGENCE = "authy-phone-intelligence" - AUTHY_PHONE_VERIFICATIONS = "authy-phone-verifications" - AUTHY_SMS_OUTBOUND = "authy-sms-outbound" - CALL_PROGESS_EVENTS = "call-progess-events" - CALLERIDLOOKUPS = "calleridlookups" - CALLS = "calls" - CALLS_CLIENT = "calls-client" - CALLS_GLOBALCONFERENCE = "calls-globalconference" - CALLS_INBOUND = "calls-inbound" - CALLS_INBOUND_LOCAL = "calls-inbound-local" - CALLS_INBOUND_MOBILE = "calls-inbound-mobile" - CALLS_INBOUND_TOLLFREE = "calls-inbound-tollfree" - CALLS_OUTBOUND = "calls-outbound" - CALLS_RECORDINGS = "calls-recordings" - CALLS_SIP = "calls-sip" - CALLS_SIP_INBOUND = "calls-sip-inbound" - CALLS_SIP_OUTBOUND = "calls-sip-outbound" - CARRIER_LOOKUPS = "carrier-lookups" - CONVERSATIONS = "conversations" - CONVERSATIONS_API_REQUESTS = "conversations-api-requests" - CONVERSATIONS_CONVERSATION_EVENTS = "conversations-conversation-events" - CONVERSATIONS_ENDPOINT_CONNECTIVITY = "conversations-endpoint-connectivity" - CONVERSATIONS_EVENTS = "conversations-events" - CONVERSATIONS_PARTICIPANT_EVENTS = "conversations-participant-events" - CONVERSATIONS_PARTICIPANTS = "conversations-participants" - CPS = "cps" - GROUP_ROOMS = "group-rooms" - GROUP_ROOMS_DATA_TRACK = "group-rooms-data-track" - GROUP_ROOMS_ENCRYPTED_MEDIA_RECORDED = "group-rooms-encrypted-media-recorded" - GROUP_ROOMS_MEDIA_DOWNLOADED = "group-rooms-media-downloaded" - GROUP_ROOMS_MEDIA_RECORDED = "group-rooms-media-recorded" - GROUP_ROOMS_MEDIA_ROUTED = "group-rooms-media-routed" - GROUP_ROOMS_MEDIA_STORED = "group-rooms-media-stored" - GROUP_ROOMS_PARTICIPANT_MINUTES = "group-rooms-participant-minutes" - GROUP_ROOMS_RECORDED_MINUTES = "group-rooms-recorded-minutes" - IP_MESSAGING = "ip-messaging" - IP_MESSAGING_COMMANDS = "ip-messaging-commands" - IP_MESSAGING_DATA_STORAGE = "ip-messaging-data-storage" - IP_MESSAGING_DATA_TRANSFER = "ip-messaging-data-transfer" - IP_MESSAGING_ENDPOINT_CONNECTIVITY = "ip-messaging-endpoint-connectivity" - LOOKUPS = "lookups" - MARKETPLACE = "marketplace" - MARKETPLACE_ALGORITHMIA_NAMED_ENTITY_RECOGNITION = "marketplace-algorithmia-named-entity-recognition" - MARKETPLACE_DIGITAL_SEGMENT_BUSINESS_INFO = "marketplace-digital-segment-business-info" - MARKETPLACE_GOOGLE_SPEECH_TO_TEXT = "marketplace-google-speech-to-text" - MARKETPLACE_IBM_WATSON_MESSAGE_INSIGHTS = "marketplace-ibm-watson-message-insights" - MARKETPLACE_IBM_WATSON_MESSAGE_SENTIMENT = "marketplace-ibm-watson-message-sentiment" - MARKETPLACE_IBM_WATSON_RECORDING_ANALYSIS = "marketplace-ibm-watson-recording-analysis" - MARKETPLACE_ICEHOOK_SYSTEMS_SCOUT = "marketplace-icehook-systems-scout" - MARKETPLACE_INFOGROUP_DATAAXLE_BIZINFO = "marketplace-infogroup-dataaxle-bizinfo" - MARKETPLACE_CADENCE_TRANSCRIPTION = "marketplace-cadence-transcription" - MARKETPLACE_CADENCE_TRANSLATION = "marketplace-cadence-translation" - MARKETPLACE_CAPIO_SPEECH_TO_TEXT = "marketplace-capio-speech-to-text" - MARKETPLACE_FACEBOOK_OFFLINE_CONVERSIONS = "marketplace-facebook-offline-conversions" - MARKETPLACE_KEEN_IO_CONTACT_CENTER_ANALYTICS = "marketplace-keen-io-contact-center-analytics" - MARKETPLACE_MARCHEX_CLEANCALL = "marketplace-marchex-cleancall" - MARKETPLACE_MARCHEX_SENTIMENT_ANALYSIS_FOR_SMS = "marketplace-marchex-sentiment-analysis-for-sms" - MARKETPLACE_MARKETPLACE_NEXTCALLER_SOCIAL_ID = "marketplace-marketplace-nextcaller-social-id" - MARKETPLACE_MOBILE_COMMONS_OPT_OUT_CLASSIFIER = "marketplace-mobile-commons-opt-out-classifier" - MARKETPLACE_NEXIWAVE_VOICEMAIL_TO_TEXT = "marketplace-nexiwave-voicemail-to-text" - MARKETPLACE_NEXTCALLER_ADVANCED_CALLER_IDENTIFICATION = "marketplace-nextcaller-advanced-caller-identification" - MARKETPLACE_NOMOROBO_SPAM_SCORE = "marketplace-nomorobo-spam-score" - MARKETPLACE_PAYFONE_TCPA_COMPLIANCE = "marketplace-payfone-tcpa-compliance" - MARKETPLACE_TELO_OPENCNAM = "marketplace-telo-opencnam" - MARKETPLACE_TRUECNAM_TRUE_SPAM = "marketplace-truecnam-true-spam" - MARKETPLACE_TWILIO_CALLER_NAME_LOOKUP_US = "marketplace-twilio-caller-name-lookup-us" - MARKETPLACE_TWILIO_CARRIER_INFORMATION_LOOKUP = "marketplace-twilio-carrier-information-lookup" - MARKETPLACE_VOICEBASE_PCI = "marketplace-voicebase-pci" - MARKETPLACE_VOICEBASE_TRANSCRIPTION = "marketplace-voicebase-transcription" - MARKETPLACE_WHITEPAGES_PRO_CALLER_IDENTIFICATION = "marketplace-whitepages-pro-caller-identification" - MARKETPLACE_WHITEPAGES_PRO_PHONE_INTELLIGENCE = "marketplace-whitepages-pro-phone-intelligence" - MARKETPLACE_WHITEPAGES_PRO_PHONE_REPUTATION = "marketplace-whitepages-pro-phone-reputation" - MARKETPLACE_WOLFRAM_SHORT_ANSWER = "marketplace-wolfram-short-answer" - MARKETPLACE_WOLFARM_SPOKEN_RESULTS = "marketplace-wolfarm-spoken-results" - MARKETPLACE_DEEPGRAM_PHRASE_DETECTOR = "marketplace-deepgram-phrase-detector" - MARKETPLACE_CONVRIZA_ABABA = "marketplace-convriza-ababa" - MARKETPLACE_IBM_WATSON_TONE_ANALYZER = "marketplace-ibm-watson-tone-analyzer" - MARKETPLACE_REMEETING_AUTOMATIC_SPEECH_RECOGNITION = "marketplace-remeeting-automatic-speech-recognition" - MARKETPLACE_TCPA_DEFENSE_SOLUTIONS_BLACKLIST_FEED = "marketplace-tcpa-defense-solutions-blacklist-feed" - MARKETPLACE_VOICEBASE_TRANSCRIPTION_CUSTOM_VOCABULARY = "marketplace-voicebase-transcription-custom-vocabulary" - MARKETPLACE_YTICA_CONTACT_CENTER_REPORTING_ANALYTICS = "marketplace-ytica-contact-center-reporting-analytics" - MEDIASTORAGE = "mediastorage" - MMS = "mms" - MMS_INBOUND = "mms-inbound" - MMS_INBOUND_LONGCODE = "mms-inbound-longcode" - MMS_INBOUND_SHORTCODE = "mms-inbound-shortcode" - MMS_OUTBOUND = "mms-outbound" - MMS_OUTBOUND_LONGCODE = "mms-outbound-longcode" - MMS_OUTBOUND_SHORTCODE = "mms-outbound-shortcode" - MONITOR_READS = "monitor-reads" - MONITOR_STORAGE = "monitor-storage" - MONITOR_WRITES = "monitor-writes" - NOTIFY = "notify" - NOTIFY_ACTIONS_ATTEMPTS = "notify-actions-attempts" - NOTIFY_CHANNELS = "notify-channels" - NUMBER_FORMAT_LOOKUPS = "number-format-lookups" - PCHAT = "pchat" - PCHAT_ACTIONS = "pchat-actions" - PCHAT_APS = "pchat-aps" - PCHAT_NOTIFICATIONS = "pchat-notifications" - PCHAT_READS = "pchat-reads" - PCHAT_USERS = "pchat-users" - PCHAT_MESSAGES = "pchat-messages" - PEER_TO_PEER_ROOMS_PARTICIPANT_MINUTES = "peer-to-peer-rooms-participant-minutes" - PFAX = "pfax" - PFAX_MINUTES = "pfax-minutes" - PFAX_MINUTES_INBOUND = "pfax-minutes-inbound" - PFAX_MINUTES_OUTBOUND = "pfax-minutes-outbound" - PFAX_PAGES = "pfax-pages" - PHONENUMBERS = "phonenumbers" - PHONENUMBERS_CPS = "phonenumbers-cps" - PHONENUMBERS_EMERGENCY = "phonenumbers-emergency" - PHONENUMBERS_LOCAL = "phonenumbers-local" - PHONENUMBERS_MOBILE = "phonenumbers-mobile" - PHONENUMBERS_SETUPS = "phonenumbers-setups" - PHONENUMBERS_TOLLFREE = "phonenumbers-tollfree" - PREMIUMSUPPORT = "premiumsupport" - PROXY = "proxy" - PV = "pv" - PV_ROOM_PARTICIPANTS = "pv-room-participants" - PV_ROOM_PARTICIPANTS_AU1 = "pv-room-participants-au1" - PV_ROOM_PARTICIPANTS_BR1 = "pv-room-participants-br1" - PV_ROOM_PARTICIPANTS_IE1 = "pv-room-participants-ie1" - PV_ROOM_PARTICIPANTS_JP1 = "pv-room-participants-jp1" - PV_ROOM_PARTICIPANTS_SG1 = "pv-room-participants-sg1" - PV_ROOM_PARTICIPANTS_US1 = "pv-room-participants-us1" - PV_ROOM_PARTICIPANTS_US2 = "pv-room-participants-us2" - PV_ROOMS = "pv-rooms" - PV_SIP_ENDPOINT_REGISTRATIONS = "pv-sip-endpoint-registrations" - RECORDINGS = "recordings" - RECORDINGSTORAGE = "recordingstorage" - ROOMS_GROUP_MINUTES = "rooms-group-minutes" - ROOMS_GROUP_BANDWIDTH = "rooms-group-bandwidth" - ROOMS_PEER_TO_PEER_MINUTES = "rooms-peer-to-peer-minutes" - SHORTCODES = "shortcodes" - SHORTCODES_CUSTOMEROWNED = "shortcodes-customerowned" - SHORTCODES_MMS_ENABLEMENT = "shortcodes-mms-enablement" - SHORTCODES_MPS = "shortcodes-mps" - SHORTCODES_RANDOM = "shortcodes-random" - SHORTCODES_UK = "shortcodes-uk" - SHORTCODES_VANITY = "shortcodes-vanity" - SMS = "sms" - SMS_INBOUND = "sms-inbound" - SMS_INBOUND_LONGCODE = "sms-inbound-longcode" - SMS_INBOUND_SHORTCODE = "sms-inbound-shortcode" - SMS_OUTBOUND = "sms-outbound" - SMS_OUTBOUND_CONTENT_INSPECTION = "sms-outbound-content-inspection" - SMS_OUTBOUND_LONGCODE = "sms-outbound-longcode" - SMS_OUTBOUND_SHORTCODE = "sms-outbound-shortcode" - SMS_MESSAGES_FEATURES = "sms-messages-features" - SMS_MESSAGES_FEATURES_SENDERID = "sms-messages-features-senderid" - SPEECH_RECOGNITION = "speech-recognition" - STUDIO_ENGAGEMENTS = "studio-engagements" - SYNC = "sync" - SYNC_ACTIONS = "sync-actions" - SYNC_ENDPOINT_HOURS = "sync-endpoint-hours" - SYNC_ENDPOINT_HOURS_ABOVE_DAILY_CAP = "sync-endpoint-hours-above-daily-cap" - TASKROUTER_TASKS = "taskrouter-tasks" - TOTALPRICE = "totalprice" - TRANSCRIPTIONS = "transcriptions" - TRUNKING_CPS = "trunking-cps" - TRUNKING_EMERGENCY_CALLS = "trunking-emergency-calls" - TRUNKING_ORIGINATION = "trunking-origination" - TRUNKING_ORIGINATION_LOCAL = "trunking-origination-local" - TRUNKING_ORIGINATION_MOBILE = "trunking-origination-mobile" - TRUNKING_ORIGINATION_TOLLFREE = "trunking-origination-tollfree" - TRUNKING_RECORDINGS = "trunking-recordings" - TRUNKING_SECURE = "trunking-secure" - TRUNKING_TERMINATION = "trunking-termination" - TURNMEGABYTES = "turnmegabytes" - TURNMEGABYTES_AUSTRALIA = "turnmegabytes-australia" - TURNMEGABYTES_BRASIL = "turnmegabytes-brasil" - TURNMEGABYTES_INDIA = "turnmegabytes-india" - TURNMEGABYTES_IRELAND = "turnmegabytes-ireland" - TURNMEGABYTES_JAPAN = "turnmegabytes-japan" - TURNMEGABYTES_SINGAPORE = "turnmegabytes-singapore" - TURNMEGABYTES_USEAST = "turnmegabytes-useast" - TURNMEGABYTES_USWEST = "turnmegabytes-uswest" - TWILIO_INTERCONNECT = "twilio-interconnect" - VIDEO_RECORDINGS = "video-recordings" - VOICE_INSIGHTS = "voice-insights" - VOICE_INSIGHTS_AUDIO_TRACE = "voice-insights-audio-trace" - VOICE_INSIGHTS_CARRIER_CALLS = "voice-insights-carrier-calls" - WIRELESS = "wireless" - WIRELESS_ORDERS = "wireless-orders" - WIRELESS_ORDERS_ARTWORK = "wireless-orders-artwork" - WIRELESS_ORDERS_BULK = "wireless-orders-bulk" - WIRELESS_ORDERS_ESIM = "wireless-orders-esim" - WIRELESS_ORDERS_STARTER = "wireless-orders-starter" - WIRELESS_USAGE = "wireless-usage" - WIRELESS_USAGE_COMMANDS = "wireless-usage-commands" - WIRELESS_USAGE_COMMANDS_AFRICA = "wireless-usage-commands-africa" - WIRELESS_USAGE_COMMANDS_ASIA = "wireless-usage-commands-asia" - WIRELESS_USAGE_COMMANDS_CENTRALANDSOUTHAMERICA = "wireless-usage-commands-centralandsouthamerica" - WIRELESS_USAGE_COMMANDS_EUROPE = "wireless-usage-commands-europe" - WIRELESS_USAGE_COMMANDS_HOME = "wireless-usage-commands-home" - WIRELESS_USAGE_COMMANDS_NORTHAMERICA = "wireless-usage-commands-northamerica" - WIRELESS_USAGE_COMMANDS_OCEANIA = "wireless-usage-commands-oceania" - WIRELESS_USAGE_COMMANDS_ROAMING = "wireless-usage-commands-roaming" - WIRELESS_USAGE_DATA = "wireless-usage-data" - WIRELESS_USAGE_DATA_AFRICA = "wireless-usage-data-africa" - WIRELESS_USAGE_DATA_ASIA = "wireless-usage-data-asia" - WIRELESS_USAGE_DATA_CENTRALANDSOUTHAMERICA = "wireless-usage-data-centralandsouthamerica" - WIRELESS_USAGE_DATA_CUSTOM_ADDITIONALMB = "wireless-usage-data-custom-additionalmb" - WIRELESS_USAGE_DATA_CUSTOM_FIRST5MB = "wireless-usage-data-custom-first5mb" - WIRELESS_USAGE_DATA_DOMESTIC_ROAMING = "wireless-usage-data-domestic-roaming" - WIRELESS_USAGE_DATA_EUROPE = "wireless-usage-data-europe" - WIRELESS_USAGE_DATA_INDIVIDUAL_ADDITIONALGB = "wireless-usage-data-individual-additionalgb" - WIRELESS_USAGE_DATA_INDIVIDUAL_FIRSTGB = "wireless-usage-data-individual-firstgb" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_CANADA = "wireless-usage-data-international-roaming-canada" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_INDIA = "wireless-usage-data-international-roaming-india" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_MEXICO = "wireless-usage-data-international-roaming-mexico" - WIRELESS_USAGE_DATA_NORTHAMERICA = "wireless-usage-data-northamerica" - WIRELESS_USAGE_DATA_OCEANIA = "wireless-usage-data-oceania" - WIRELESS_USAGE_DATA_POOLED = "wireless-usage-data-pooled" - WIRELESS_USAGE_DATA_POOLED_DOWNLINK = "wireless-usage-data-pooled-downlink" - WIRELESS_USAGE_DATA_POOLED_UPLINK = "wireless-usage-data-pooled-uplink" - WIRELESS_USAGE_MRC = "wireless-usage-mrc" - WIRELESS_USAGE_MRC_CUSTOM = "wireless-usage-mrc-custom" - WIRELESS_USAGE_MRC_INDIVIDUAL = "wireless-usage-mrc-individual" - WIRELESS_USAGE_MRC_POOLED = "wireless-usage-mrc-pooled" - WIRELESS_USAGE_MRC_SUSPENDED = "wireless-usage-mrc-suspended" - WIRELESS_USAGE_VOICE = "wireless-usage-voice" - WIRELESS_USAGE_SMS = "wireless-usage-sms" - - def __init__(self, version, payload, account_sid): - """ - Initialize the AllTimeInstance - - :returns: twilio.rest.api.v2010.account.usage.record.all_time.AllTimeInstance - :rtype: twilio.rest.api.v2010.account.usage.record.all_time.AllTimeInstance - """ - super(AllTimeInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'api_version': payload['api_version'], - 'category': payload['category'], - 'count': payload['count'], - 'count_unit': payload['count_unit'], - 'description': payload['description'], - 'end_date': deserialize.iso8601_date(payload['end_date']), - 'price': deserialize.decimal(payload['price']), - 'price_unit': payload['price_unit'], - 'start_date': deserialize.iso8601_date(payload['start_date']), - 'subresource_uris': payload['subresource_uris'], - 'uri': payload['uri'], - 'usage': payload['usage'], - 'usage_unit': payload['usage_unit'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, } - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def api_version(self): - """ - :returns: The api_version - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def category(self): - """ - :returns: The category - :rtype: AllTimeInstance.Category - """ - return self._properties['category'] - - @property - def count(self): - """ - :returns: The count - :rtype: unicode - """ - return self._properties['count'] - - @property - def count_unit(self): - """ - :returns: The count_unit - :rtype: unicode - """ - return self._properties['count_unit'] - - @property - def description(self): - """ - :returns: The description - :rtype: unicode - """ - return self._properties['description'] - - @property - def end_date(self): - """ - :returns: The end_date - :rtype: date - """ - return self._properties['end_date'] - - @property - def price(self): - """ - :returns: The price - :rtype: unicode - """ - return self._properties['price'] - - @property - def price_unit(self): - """ - :returns: The price_unit - :rtype: unicode - """ - return self._properties['price_unit'] - - @property - def start_date(self): - """ - :returns: The start_date - :rtype: date - """ - return self._properties['start_date'] - - @property - def subresource_uris(self): - """ - :returns: The subresource_uris - :rtype: unicode - """ - return self._properties['subresource_uris'] - - @property - def uri(self): - """ - :returns: The uri - :rtype: unicode - """ - return self._properties['uri'] - - @property - def usage(self): - """ - :returns: The usage - :rtype: unicode - """ - return self._properties['usage'] - - @property - def usage_unit(self): - """ - :returns: The usage_unit - :rtype: unicode - """ - return self._properties['usage_unit'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.AllTimeInstance>' diff --git a/twilio/rest/api/v2010/account/usage/record/daily.py b/twilio/rest/api/v2010/account/usage/record/daily.py deleted file mode 100644 index 4bc83ac..0000000 --- a/twilio/rest/api/v2010/account/usage/record/daily.py +++ /dev/null @@ -1,580 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class DailyList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the DailyList - - :param Version version: Version that contains the resource - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.usage.record.daily.DailyList - :rtype: twilio.rest.api.v2010.account.usage.record.daily.DailyList - """ - super(DailyList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/Usage/Records/Daily.json'.format(**self._solution) - - def stream(self, category=values.unset, start_date=values.unset, - end_date=values.unset, limit=None, page_size=None): - """ - Streams DailyInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param DailyInstance.Category category: The category - :param date start_date: The start_date - :param date end_date: The end_date - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.usage.record.daily.DailyInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - category=category, - start_date=start_date, - end_date=end_date, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, category=values.unset, start_date=values.unset, - end_date=values.unset, limit=None, page_size=None): - """ - Lists DailyInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param DailyInstance.Category category: The category - :param date start_date: The start_date - :param date end_date: The end_date - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.usage.record.daily.DailyInstance] - """ - return list(self.stream( - category=category, - start_date=start_date, - end_date=end_date, - limit=limit, - page_size=page_size, - )) - - def page(self, category=values.unset, start_date=values.unset, - end_date=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of DailyInstance records from the API. - Request is executed immediately - - :param DailyInstance.Category category: The category - :param date start_date: The start_date - :param date end_date: The end_date - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of DailyInstance - :rtype: twilio.rest.api.v2010.account.usage.record.daily.DailyPage - """ - params = values.of({ - 'Category': category, - 'StartDate': serialize.iso8601_date(start_date), - 'EndDate': serialize.iso8601_date(end_date), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return DailyPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of DailyInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of DailyInstance - :rtype: twilio.rest.api.v2010.account.usage.record.daily.DailyPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return DailyPage(self._version, response, self._solution) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.DailyList>' - - -class DailyPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the DailyPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.usage.record.daily.DailyPage - :rtype: twilio.rest.api.v2010.account.usage.record.daily.DailyPage - """ - super(DailyPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of DailyInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.usage.record.daily.DailyInstance - :rtype: twilio.rest.api.v2010.account.usage.record.daily.DailyInstance - """ - return DailyInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.DailyPage>' - - -class DailyInstance(InstanceResource): - """ """ - - class Category(object): - ANSWERING_MACHINE_DETECTION = "answering-machine-detection" - AUTHY_AUTHENTICATIONS = "authy-authentications" - AUTHY_CALLS_OUTBOUND = "authy-calls-outbound" - AUTHY_MONTHLY_FEES = "authy-monthly-fees" - AUTHY_PHONE_INTELLIGENCE = "authy-phone-intelligence" - AUTHY_PHONE_VERIFICATIONS = "authy-phone-verifications" - AUTHY_SMS_OUTBOUND = "authy-sms-outbound" - CALL_PROGESS_EVENTS = "call-progess-events" - CALLERIDLOOKUPS = "calleridlookups" - CALLS = "calls" - CALLS_CLIENT = "calls-client" - CALLS_GLOBALCONFERENCE = "calls-globalconference" - CALLS_INBOUND = "calls-inbound" - CALLS_INBOUND_LOCAL = "calls-inbound-local" - CALLS_INBOUND_MOBILE = "calls-inbound-mobile" - CALLS_INBOUND_TOLLFREE = "calls-inbound-tollfree" - CALLS_OUTBOUND = "calls-outbound" - CALLS_RECORDINGS = "calls-recordings" - CALLS_SIP = "calls-sip" - CALLS_SIP_INBOUND = "calls-sip-inbound" - CALLS_SIP_OUTBOUND = "calls-sip-outbound" - CARRIER_LOOKUPS = "carrier-lookups" - CONVERSATIONS = "conversations" - CONVERSATIONS_API_REQUESTS = "conversations-api-requests" - CONVERSATIONS_CONVERSATION_EVENTS = "conversations-conversation-events" - CONVERSATIONS_ENDPOINT_CONNECTIVITY = "conversations-endpoint-connectivity" - CONVERSATIONS_EVENTS = "conversations-events" - CONVERSATIONS_PARTICIPANT_EVENTS = "conversations-participant-events" - CONVERSATIONS_PARTICIPANTS = "conversations-participants" - CPS = "cps" - GROUP_ROOMS = "group-rooms" - GROUP_ROOMS_DATA_TRACK = "group-rooms-data-track" - GROUP_ROOMS_ENCRYPTED_MEDIA_RECORDED = "group-rooms-encrypted-media-recorded" - GROUP_ROOMS_MEDIA_DOWNLOADED = "group-rooms-media-downloaded" - GROUP_ROOMS_MEDIA_RECORDED = "group-rooms-media-recorded" - GROUP_ROOMS_MEDIA_ROUTED = "group-rooms-media-routed" - GROUP_ROOMS_MEDIA_STORED = "group-rooms-media-stored" - GROUP_ROOMS_PARTICIPANT_MINUTES = "group-rooms-participant-minutes" - GROUP_ROOMS_RECORDED_MINUTES = "group-rooms-recorded-minutes" - IP_MESSAGING = "ip-messaging" - IP_MESSAGING_COMMANDS = "ip-messaging-commands" - IP_MESSAGING_DATA_STORAGE = "ip-messaging-data-storage" - IP_MESSAGING_DATA_TRANSFER = "ip-messaging-data-transfer" - IP_MESSAGING_ENDPOINT_CONNECTIVITY = "ip-messaging-endpoint-connectivity" - LOOKUPS = "lookups" - MARKETPLACE = "marketplace" - MARKETPLACE_ALGORITHMIA_NAMED_ENTITY_RECOGNITION = "marketplace-algorithmia-named-entity-recognition" - MARKETPLACE_DIGITAL_SEGMENT_BUSINESS_INFO = "marketplace-digital-segment-business-info" - MARKETPLACE_GOOGLE_SPEECH_TO_TEXT = "marketplace-google-speech-to-text" - MARKETPLACE_IBM_WATSON_MESSAGE_INSIGHTS = "marketplace-ibm-watson-message-insights" - MARKETPLACE_IBM_WATSON_MESSAGE_SENTIMENT = "marketplace-ibm-watson-message-sentiment" - MARKETPLACE_IBM_WATSON_RECORDING_ANALYSIS = "marketplace-ibm-watson-recording-analysis" - MARKETPLACE_ICEHOOK_SYSTEMS_SCOUT = "marketplace-icehook-systems-scout" - MARKETPLACE_INFOGROUP_DATAAXLE_BIZINFO = "marketplace-infogroup-dataaxle-bizinfo" - MARKETPLACE_CADENCE_TRANSCRIPTION = "marketplace-cadence-transcription" - MARKETPLACE_CADENCE_TRANSLATION = "marketplace-cadence-translation" - MARKETPLACE_CAPIO_SPEECH_TO_TEXT = "marketplace-capio-speech-to-text" - MARKETPLACE_FACEBOOK_OFFLINE_CONVERSIONS = "marketplace-facebook-offline-conversions" - MARKETPLACE_KEEN_IO_CONTACT_CENTER_ANALYTICS = "marketplace-keen-io-contact-center-analytics" - MARKETPLACE_MARCHEX_CLEANCALL = "marketplace-marchex-cleancall" - MARKETPLACE_MARCHEX_SENTIMENT_ANALYSIS_FOR_SMS = "marketplace-marchex-sentiment-analysis-for-sms" - MARKETPLACE_MARKETPLACE_NEXTCALLER_SOCIAL_ID = "marketplace-marketplace-nextcaller-social-id" - MARKETPLACE_MOBILE_COMMONS_OPT_OUT_CLASSIFIER = "marketplace-mobile-commons-opt-out-classifier" - MARKETPLACE_NEXIWAVE_VOICEMAIL_TO_TEXT = "marketplace-nexiwave-voicemail-to-text" - MARKETPLACE_NEXTCALLER_ADVANCED_CALLER_IDENTIFICATION = "marketplace-nextcaller-advanced-caller-identification" - MARKETPLACE_NOMOROBO_SPAM_SCORE = "marketplace-nomorobo-spam-score" - MARKETPLACE_PAYFONE_TCPA_COMPLIANCE = "marketplace-payfone-tcpa-compliance" - MARKETPLACE_TELO_OPENCNAM = "marketplace-telo-opencnam" - MARKETPLACE_TRUECNAM_TRUE_SPAM = "marketplace-truecnam-true-spam" - MARKETPLACE_TWILIO_CALLER_NAME_LOOKUP_US = "marketplace-twilio-caller-name-lookup-us" - MARKETPLACE_TWILIO_CARRIER_INFORMATION_LOOKUP = "marketplace-twilio-carrier-information-lookup" - MARKETPLACE_VOICEBASE_PCI = "marketplace-voicebase-pci" - MARKETPLACE_VOICEBASE_TRANSCRIPTION = "marketplace-voicebase-transcription" - MARKETPLACE_WHITEPAGES_PRO_CALLER_IDENTIFICATION = "marketplace-whitepages-pro-caller-identification" - MARKETPLACE_WHITEPAGES_PRO_PHONE_INTELLIGENCE = "marketplace-whitepages-pro-phone-intelligence" - MARKETPLACE_WHITEPAGES_PRO_PHONE_REPUTATION = "marketplace-whitepages-pro-phone-reputation" - MARKETPLACE_WOLFRAM_SHORT_ANSWER = "marketplace-wolfram-short-answer" - MARKETPLACE_WOLFARM_SPOKEN_RESULTS = "marketplace-wolfarm-spoken-results" - MARKETPLACE_DEEPGRAM_PHRASE_DETECTOR = "marketplace-deepgram-phrase-detector" - MARKETPLACE_CONVRIZA_ABABA = "marketplace-convriza-ababa" - MARKETPLACE_IBM_WATSON_TONE_ANALYZER = "marketplace-ibm-watson-tone-analyzer" - MARKETPLACE_REMEETING_AUTOMATIC_SPEECH_RECOGNITION = "marketplace-remeeting-automatic-speech-recognition" - MARKETPLACE_TCPA_DEFENSE_SOLUTIONS_BLACKLIST_FEED = "marketplace-tcpa-defense-solutions-blacklist-feed" - MARKETPLACE_VOICEBASE_TRANSCRIPTION_CUSTOM_VOCABULARY = "marketplace-voicebase-transcription-custom-vocabulary" - MARKETPLACE_YTICA_CONTACT_CENTER_REPORTING_ANALYTICS = "marketplace-ytica-contact-center-reporting-analytics" - MEDIASTORAGE = "mediastorage" - MMS = "mms" - MMS_INBOUND = "mms-inbound" - MMS_INBOUND_LONGCODE = "mms-inbound-longcode" - MMS_INBOUND_SHORTCODE = "mms-inbound-shortcode" - MMS_OUTBOUND = "mms-outbound" - MMS_OUTBOUND_LONGCODE = "mms-outbound-longcode" - MMS_OUTBOUND_SHORTCODE = "mms-outbound-shortcode" - MONITOR_READS = "monitor-reads" - MONITOR_STORAGE = "monitor-storage" - MONITOR_WRITES = "monitor-writes" - NOTIFY = "notify" - NOTIFY_ACTIONS_ATTEMPTS = "notify-actions-attempts" - NOTIFY_CHANNELS = "notify-channels" - NUMBER_FORMAT_LOOKUPS = "number-format-lookups" - PCHAT = "pchat" - PCHAT_ACTIONS = "pchat-actions" - PCHAT_APS = "pchat-aps" - PCHAT_NOTIFICATIONS = "pchat-notifications" - PCHAT_READS = "pchat-reads" - PCHAT_USERS = "pchat-users" - PCHAT_MESSAGES = "pchat-messages" - PEER_TO_PEER_ROOMS_PARTICIPANT_MINUTES = "peer-to-peer-rooms-participant-minutes" - PFAX = "pfax" - PFAX_MINUTES = "pfax-minutes" - PFAX_MINUTES_INBOUND = "pfax-minutes-inbound" - PFAX_MINUTES_OUTBOUND = "pfax-minutes-outbound" - PFAX_PAGES = "pfax-pages" - PHONENUMBERS = "phonenumbers" - PHONENUMBERS_CPS = "phonenumbers-cps" - PHONENUMBERS_EMERGENCY = "phonenumbers-emergency" - PHONENUMBERS_LOCAL = "phonenumbers-local" - PHONENUMBERS_MOBILE = "phonenumbers-mobile" - PHONENUMBERS_SETUPS = "phonenumbers-setups" - PHONENUMBERS_TOLLFREE = "phonenumbers-tollfree" - PREMIUMSUPPORT = "premiumsupport" - PROXY = "proxy" - PV = "pv" - PV_ROOM_PARTICIPANTS = "pv-room-participants" - PV_ROOM_PARTICIPANTS_AU1 = "pv-room-participants-au1" - PV_ROOM_PARTICIPANTS_BR1 = "pv-room-participants-br1" - PV_ROOM_PARTICIPANTS_IE1 = "pv-room-participants-ie1" - PV_ROOM_PARTICIPANTS_JP1 = "pv-room-participants-jp1" - PV_ROOM_PARTICIPANTS_SG1 = "pv-room-participants-sg1" - PV_ROOM_PARTICIPANTS_US1 = "pv-room-participants-us1" - PV_ROOM_PARTICIPANTS_US2 = "pv-room-participants-us2" - PV_ROOMS = "pv-rooms" - PV_SIP_ENDPOINT_REGISTRATIONS = "pv-sip-endpoint-registrations" - RECORDINGS = "recordings" - RECORDINGSTORAGE = "recordingstorage" - ROOMS_GROUP_MINUTES = "rooms-group-minutes" - ROOMS_GROUP_BANDWIDTH = "rooms-group-bandwidth" - ROOMS_PEER_TO_PEER_MINUTES = "rooms-peer-to-peer-minutes" - SHORTCODES = "shortcodes" - SHORTCODES_CUSTOMEROWNED = "shortcodes-customerowned" - SHORTCODES_MMS_ENABLEMENT = "shortcodes-mms-enablement" - SHORTCODES_MPS = "shortcodes-mps" - SHORTCODES_RANDOM = "shortcodes-random" - SHORTCODES_UK = "shortcodes-uk" - SHORTCODES_VANITY = "shortcodes-vanity" - SMS = "sms" - SMS_INBOUND = "sms-inbound" - SMS_INBOUND_LONGCODE = "sms-inbound-longcode" - SMS_INBOUND_SHORTCODE = "sms-inbound-shortcode" - SMS_OUTBOUND = "sms-outbound" - SMS_OUTBOUND_CONTENT_INSPECTION = "sms-outbound-content-inspection" - SMS_OUTBOUND_LONGCODE = "sms-outbound-longcode" - SMS_OUTBOUND_SHORTCODE = "sms-outbound-shortcode" - SMS_MESSAGES_FEATURES = "sms-messages-features" - SMS_MESSAGES_FEATURES_SENDERID = "sms-messages-features-senderid" - SPEECH_RECOGNITION = "speech-recognition" - STUDIO_ENGAGEMENTS = "studio-engagements" - SYNC = "sync" - SYNC_ACTIONS = "sync-actions" - SYNC_ENDPOINT_HOURS = "sync-endpoint-hours" - SYNC_ENDPOINT_HOURS_ABOVE_DAILY_CAP = "sync-endpoint-hours-above-daily-cap" - TASKROUTER_TASKS = "taskrouter-tasks" - TOTALPRICE = "totalprice" - TRANSCRIPTIONS = "transcriptions" - TRUNKING_CPS = "trunking-cps" - TRUNKING_EMERGENCY_CALLS = "trunking-emergency-calls" - TRUNKING_ORIGINATION = "trunking-origination" - TRUNKING_ORIGINATION_LOCAL = "trunking-origination-local" - TRUNKING_ORIGINATION_MOBILE = "trunking-origination-mobile" - TRUNKING_ORIGINATION_TOLLFREE = "trunking-origination-tollfree" - TRUNKING_RECORDINGS = "trunking-recordings" - TRUNKING_SECURE = "trunking-secure" - TRUNKING_TERMINATION = "trunking-termination" - TURNMEGABYTES = "turnmegabytes" - TURNMEGABYTES_AUSTRALIA = "turnmegabytes-australia" - TURNMEGABYTES_BRASIL = "turnmegabytes-brasil" - TURNMEGABYTES_INDIA = "turnmegabytes-india" - TURNMEGABYTES_IRELAND = "turnmegabytes-ireland" - TURNMEGABYTES_JAPAN = "turnmegabytes-japan" - TURNMEGABYTES_SINGAPORE = "turnmegabytes-singapore" - TURNMEGABYTES_USEAST = "turnmegabytes-useast" - TURNMEGABYTES_USWEST = "turnmegabytes-uswest" - TWILIO_INTERCONNECT = "twilio-interconnect" - VIDEO_RECORDINGS = "video-recordings" - VOICE_INSIGHTS = "voice-insights" - VOICE_INSIGHTS_AUDIO_TRACE = "voice-insights-audio-trace" - VOICE_INSIGHTS_CARRIER_CALLS = "voice-insights-carrier-calls" - WIRELESS = "wireless" - WIRELESS_ORDERS = "wireless-orders" - WIRELESS_ORDERS_ARTWORK = "wireless-orders-artwork" - WIRELESS_ORDERS_BULK = "wireless-orders-bulk" - WIRELESS_ORDERS_ESIM = "wireless-orders-esim" - WIRELESS_ORDERS_STARTER = "wireless-orders-starter" - WIRELESS_USAGE = "wireless-usage" - WIRELESS_USAGE_COMMANDS = "wireless-usage-commands" - WIRELESS_USAGE_COMMANDS_AFRICA = "wireless-usage-commands-africa" - WIRELESS_USAGE_COMMANDS_ASIA = "wireless-usage-commands-asia" - WIRELESS_USAGE_COMMANDS_CENTRALANDSOUTHAMERICA = "wireless-usage-commands-centralandsouthamerica" - WIRELESS_USAGE_COMMANDS_EUROPE = "wireless-usage-commands-europe" - WIRELESS_USAGE_COMMANDS_HOME = "wireless-usage-commands-home" - WIRELESS_USAGE_COMMANDS_NORTHAMERICA = "wireless-usage-commands-northamerica" - WIRELESS_USAGE_COMMANDS_OCEANIA = "wireless-usage-commands-oceania" - WIRELESS_USAGE_COMMANDS_ROAMING = "wireless-usage-commands-roaming" - WIRELESS_USAGE_DATA = "wireless-usage-data" - WIRELESS_USAGE_DATA_AFRICA = "wireless-usage-data-africa" - WIRELESS_USAGE_DATA_ASIA = "wireless-usage-data-asia" - WIRELESS_USAGE_DATA_CENTRALANDSOUTHAMERICA = "wireless-usage-data-centralandsouthamerica" - WIRELESS_USAGE_DATA_CUSTOM_ADDITIONALMB = "wireless-usage-data-custom-additionalmb" - WIRELESS_USAGE_DATA_CUSTOM_FIRST5MB = "wireless-usage-data-custom-first5mb" - WIRELESS_USAGE_DATA_DOMESTIC_ROAMING = "wireless-usage-data-domestic-roaming" - WIRELESS_USAGE_DATA_EUROPE = "wireless-usage-data-europe" - WIRELESS_USAGE_DATA_INDIVIDUAL_ADDITIONALGB = "wireless-usage-data-individual-additionalgb" - WIRELESS_USAGE_DATA_INDIVIDUAL_FIRSTGB = "wireless-usage-data-individual-firstgb" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_CANADA = "wireless-usage-data-international-roaming-canada" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_INDIA = "wireless-usage-data-international-roaming-india" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_MEXICO = "wireless-usage-data-international-roaming-mexico" - WIRELESS_USAGE_DATA_NORTHAMERICA = "wireless-usage-data-northamerica" - WIRELESS_USAGE_DATA_OCEANIA = "wireless-usage-data-oceania" - WIRELESS_USAGE_DATA_POOLED = "wireless-usage-data-pooled" - WIRELESS_USAGE_DATA_POOLED_DOWNLINK = "wireless-usage-data-pooled-downlink" - WIRELESS_USAGE_DATA_POOLED_UPLINK = "wireless-usage-data-pooled-uplink" - WIRELESS_USAGE_MRC = "wireless-usage-mrc" - WIRELESS_USAGE_MRC_CUSTOM = "wireless-usage-mrc-custom" - WIRELESS_USAGE_MRC_INDIVIDUAL = "wireless-usage-mrc-individual" - WIRELESS_USAGE_MRC_POOLED = "wireless-usage-mrc-pooled" - WIRELESS_USAGE_MRC_SUSPENDED = "wireless-usage-mrc-suspended" - WIRELESS_USAGE_VOICE = "wireless-usage-voice" - WIRELESS_USAGE_SMS = "wireless-usage-sms" - - def __init__(self, version, payload, account_sid): - """ - Initialize the DailyInstance - - :returns: twilio.rest.api.v2010.account.usage.record.daily.DailyInstance - :rtype: twilio.rest.api.v2010.account.usage.record.daily.DailyInstance - """ - super(DailyInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'api_version': payload['api_version'], - 'category': payload['category'], - 'count': payload['count'], - 'count_unit': payload['count_unit'], - 'description': payload['description'], - 'end_date': deserialize.iso8601_date(payload['end_date']), - 'price': deserialize.decimal(payload['price']), - 'price_unit': payload['price_unit'], - 'start_date': deserialize.iso8601_date(payload['start_date']), - 'subresource_uris': payload['subresource_uris'], - 'uri': payload['uri'], - 'usage': payload['usage'], - 'usage_unit': payload['usage_unit'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, } - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def api_version(self): - """ - :returns: The api_version - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def category(self): - """ - :returns: The category - :rtype: DailyInstance.Category - """ - return self._properties['category'] - - @property - def count(self): - """ - :returns: The count - :rtype: unicode - """ - return self._properties['count'] - - @property - def count_unit(self): - """ - :returns: The count_unit - :rtype: unicode - """ - return self._properties['count_unit'] - - @property - def description(self): - """ - :returns: The description - :rtype: unicode - """ - return self._properties['description'] - - @property - def end_date(self): - """ - :returns: The end_date - :rtype: date - """ - return self._properties['end_date'] - - @property - def price(self): - """ - :returns: The price - :rtype: unicode - """ - return self._properties['price'] - - @property - def price_unit(self): - """ - :returns: The price_unit - :rtype: unicode - """ - return self._properties['price_unit'] - - @property - def start_date(self): - """ - :returns: The start_date - :rtype: date - """ - return self._properties['start_date'] - - @property - def subresource_uris(self): - """ - :returns: The subresource_uris - :rtype: unicode - """ - return self._properties['subresource_uris'] - - @property - def uri(self): - """ - :returns: The uri - :rtype: unicode - """ - return self._properties['uri'] - - @property - def usage(self): - """ - :returns: The usage - :rtype: unicode - """ - return self._properties['usage'] - - @property - def usage_unit(self): - """ - :returns: The usage_unit - :rtype: unicode - """ - return self._properties['usage_unit'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.DailyInstance>' diff --git a/twilio/rest/api/v2010/account/usage/record/last_month.py b/twilio/rest/api/v2010/account/usage/record/last_month.py deleted file mode 100644 index 5bfc5aa..0000000 --- a/twilio/rest/api/v2010/account/usage/record/last_month.py +++ /dev/null @@ -1,580 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class LastMonthList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the LastMonthList - - :param Version version: Version that contains the resource - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.usage.record.last_month.LastMonthList - :rtype: twilio.rest.api.v2010.account.usage.record.last_month.LastMonthList - """ - super(LastMonthList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/Usage/Records/LastMonth.json'.format(**self._solution) - - def stream(self, category=values.unset, start_date=values.unset, - end_date=values.unset, limit=None, page_size=None): - """ - Streams LastMonthInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param LastMonthInstance.Category category: The category - :param date start_date: The start_date - :param date end_date: The end_date - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.usage.record.last_month.LastMonthInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - category=category, - start_date=start_date, - end_date=end_date, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, category=values.unset, start_date=values.unset, - end_date=values.unset, limit=None, page_size=None): - """ - Lists LastMonthInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param LastMonthInstance.Category category: The category - :param date start_date: The start_date - :param date end_date: The end_date - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.usage.record.last_month.LastMonthInstance] - """ - return list(self.stream( - category=category, - start_date=start_date, - end_date=end_date, - limit=limit, - page_size=page_size, - )) - - def page(self, category=values.unset, start_date=values.unset, - end_date=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of LastMonthInstance records from the API. - Request is executed immediately - - :param LastMonthInstance.Category category: The category - :param date start_date: The start_date - :param date end_date: The end_date - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of LastMonthInstance - :rtype: twilio.rest.api.v2010.account.usage.record.last_month.LastMonthPage - """ - params = values.of({ - 'Category': category, - 'StartDate': serialize.iso8601_date(start_date), - 'EndDate': serialize.iso8601_date(end_date), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return LastMonthPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of LastMonthInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of LastMonthInstance - :rtype: twilio.rest.api.v2010.account.usage.record.last_month.LastMonthPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return LastMonthPage(self._version, response, self._solution) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.LastMonthList>' - - -class LastMonthPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the LastMonthPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.usage.record.last_month.LastMonthPage - :rtype: twilio.rest.api.v2010.account.usage.record.last_month.LastMonthPage - """ - super(LastMonthPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of LastMonthInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.usage.record.last_month.LastMonthInstance - :rtype: twilio.rest.api.v2010.account.usage.record.last_month.LastMonthInstance - """ - return LastMonthInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.LastMonthPage>' - - -class LastMonthInstance(InstanceResource): - """ """ - - class Category(object): - ANSWERING_MACHINE_DETECTION = "answering-machine-detection" - AUTHY_AUTHENTICATIONS = "authy-authentications" - AUTHY_CALLS_OUTBOUND = "authy-calls-outbound" - AUTHY_MONTHLY_FEES = "authy-monthly-fees" - AUTHY_PHONE_INTELLIGENCE = "authy-phone-intelligence" - AUTHY_PHONE_VERIFICATIONS = "authy-phone-verifications" - AUTHY_SMS_OUTBOUND = "authy-sms-outbound" - CALL_PROGESS_EVENTS = "call-progess-events" - CALLERIDLOOKUPS = "calleridlookups" - CALLS = "calls" - CALLS_CLIENT = "calls-client" - CALLS_GLOBALCONFERENCE = "calls-globalconference" - CALLS_INBOUND = "calls-inbound" - CALLS_INBOUND_LOCAL = "calls-inbound-local" - CALLS_INBOUND_MOBILE = "calls-inbound-mobile" - CALLS_INBOUND_TOLLFREE = "calls-inbound-tollfree" - CALLS_OUTBOUND = "calls-outbound" - CALLS_RECORDINGS = "calls-recordings" - CALLS_SIP = "calls-sip" - CALLS_SIP_INBOUND = "calls-sip-inbound" - CALLS_SIP_OUTBOUND = "calls-sip-outbound" - CARRIER_LOOKUPS = "carrier-lookups" - CONVERSATIONS = "conversations" - CONVERSATIONS_API_REQUESTS = "conversations-api-requests" - CONVERSATIONS_CONVERSATION_EVENTS = "conversations-conversation-events" - CONVERSATIONS_ENDPOINT_CONNECTIVITY = "conversations-endpoint-connectivity" - CONVERSATIONS_EVENTS = "conversations-events" - CONVERSATIONS_PARTICIPANT_EVENTS = "conversations-participant-events" - CONVERSATIONS_PARTICIPANTS = "conversations-participants" - CPS = "cps" - GROUP_ROOMS = "group-rooms" - GROUP_ROOMS_DATA_TRACK = "group-rooms-data-track" - GROUP_ROOMS_ENCRYPTED_MEDIA_RECORDED = "group-rooms-encrypted-media-recorded" - GROUP_ROOMS_MEDIA_DOWNLOADED = "group-rooms-media-downloaded" - GROUP_ROOMS_MEDIA_RECORDED = "group-rooms-media-recorded" - GROUP_ROOMS_MEDIA_ROUTED = "group-rooms-media-routed" - GROUP_ROOMS_MEDIA_STORED = "group-rooms-media-stored" - GROUP_ROOMS_PARTICIPANT_MINUTES = "group-rooms-participant-minutes" - GROUP_ROOMS_RECORDED_MINUTES = "group-rooms-recorded-minutes" - IP_MESSAGING = "ip-messaging" - IP_MESSAGING_COMMANDS = "ip-messaging-commands" - IP_MESSAGING_DATA_STORAGE = "ip-messaging-data-storage" - IP_MESSAGING_DATA_TRANSFER = "ip-messaging-data-transfer" - IP_MESSAGING_ENDPOINT_CONNECTIVITY = "ip-messaging-endpoint-connectivity" - LOOKUPS = "lookups" - MARKETPLACE = "marketplace" - MARKETPLACE_ALGORITHMIA_NAMED_ENTITY_RECOGNITION = "marketplace-algorithmia-named-entity-recognition" - MARKETPLACE_DIGITAL_SEGMENT_BUSINESS_INFO = "marketplace-digital-segment-business-info" - MARKETPLACE_GOOGLE_SPEECH_TO_TEXT = "marketplace-google-speech-to-text" - MARKETPLACE_IBM_WATSON_MESSAGE_INSIGHTS = "marketplace-ibm-watson-message-insights" - MARKETPLACE_IBM_WATSON_MESSAGE_SENTIMENT = "marketplace-ibm-watson-message-sentiment" - MARKETPLACE_IBM_WATSON_RECORDING_ANALYSIS = "marketplace-ibm-watson-recording-analysis" - MARKETPLACE_ICEHOOK_SYSTEMS_SCOUT = "marketplace-icehook-systems-scout" - MARKETPLACE_INFOGROUP_DATAAXLE_BIZINFO = "marketplace-infogroup-dataaxle-bizinfo" - MARKETPLACE_CADENCE_TRANSCRIPTION = "marketplace-cadence-transcription" - MARKETPLACE_CADENCE_TRANSLATION = "marketplace-cadence-translation" - MARKETPLACE_CAPIO_SPEECH_TO_TEXT = "marketplace-capio-speech-to-text" - MARKETPLACE_FACEBOOK_OFFLINE_CONVERSIONS = "marketplace-facebook-offline-conversions" - MARKETPLACE_KEEN_IO_CONTACT_CENTER_ANALYTICS = "marketplace-keen-io-contact-center-analytics" - MARKETPLACE_MARCHEX_CLEANCALL = "marketplace-marchex-cleancall" - MARKETPLACE_MARCHEX_SENTIMENT_ANALYSIS_FOR_SMS = "marketplace-marchex-sentiment-analysis-for-sms" - MARKETPLACE_MARKETPLACE_NEXTCALLER_SOCIAL_ID = "marketplace-marketplace-nextcaller-social-id" - MARKETPLACE_MOBILE_COMMONS_OPT_OUT_CLASSIFIER = "marketplace-mobile-commons-opt-out-classifier" - MARKETPLACE_NEXIWAVE_VOICEMAIL_TO_TEXT = "marketplace-nexiwave-voicemail-to-text" - MARKETPLACE_NEXTCALLER_ADVANCED_CALLER_IDENTIFICATION = "marketplace-nextcaller-advanced-caller-identification" - MARKETPLACE_NOMOROBO_SPAM_SCORE = "marketplace-nomorobo-spam-score" - MARKETPLACE_PAYFONE_TCPA_COMPLIANCE = "marketplace-payfone-tcpa-compliance" - MARKETPLACE_TELO_OPENCNAM = "marketplace-telo-opencnam" - MARKETPLACE_TRUECNAM_TRUE_SPAM = "marketplace-truecnam-true-spam" - MARKETPLACE_TWILIO_CALLER_NAME_LOOKUP_US = "marketplace-twilio-caller-name-lookup-us" - MARKETPLACE_TWILIO_CARRIER_INFORMATION_LOOKUP = "marketplace-twilio-carrier-information-lookup" - MARKETPLACE_VOICEBASE_PCI = "marketplace-voicebase-pci" - MARKETPLACE_VOICEBASE_TRANSCRIPTION = "marketplace-voicebase-transcription" - MARKETPLACE_WHITEPAGES_PRO_CALLER_IDENTIFICATION = "marketplace-whitepages-pro-caller-identification" - MARKETPLACE_WHITEPAGES_PRO_PHONE_INTELLIGENCE = "marketplace-whitepages-pro-phone-intelligence" - MARKETPLACE_WHITEPAGES_PRO_PHONE_REPUTATION = "marketplace-whitepages-pro-phone-reputation" - MARKETPLACE_WOLFRAM_SHORT_ANSWER = "marketplace-wolfram-short-answer" - MARKETPLACE_WOLFARM_SPOKEN_RESULTS = "marketplace-wolfarm-spoken-results" - MARKETPLACE_DEEPGRAM_PHRASE_DETECTOR = "marketplace-deepgram-phrase-detector" - MARKETPLACE_CONVRIZA_ABABA = "marketplace-convriza-ababa" - MARKETPLACE_IBM_WATSON_TONE_ANALYZER = "marketplace-ibm-watson-tone-analyzer" - MARKETPLACE_REMEETING_AUTOMATIC_SPEECH_RECOGNITION = "marketplace-remeeting-automatic-speech-recognition" - MARKETPLACE_TCPA_DEFENSE_SOLUTIONS_BLACKLIST_FEED = "marketplace-tcpa-defense-solutions-blacklist-feed" - MARKETPLACE_VOICEBASE_TRANSCRIPTION_CUSTOM_VOCABULARY = "marketplace-voicebase-transcription-custom-vocabulary" - MARKETPLACE_YTICA_CONTACT_CENTER_REPORTING_ANALYTICS = "marketplace-ytica-contact-center-reporting-analytics" - MEDIASTORAGE = "mediastorage" - MMS = "mms" - MMS_INBOUND = "mms-inbound" - MMS_INBOUND_LONGCODE = "mms-inbound-longcode" - MMS_INBOUND_SHORTCODE = "mms-inbound-shortcode" - MMS_OUTBOUND = "mms-outbound" - MMS_OUTBOUND_LONGCODE = "mms-outbound-longcode" - MMS_OUTBOUND_SHORTCODE = "mms-outbound-shortcode" - MONITOR_READS = "monitor-reads" - MONITOR_STORAGE = "monitor-storage" - MONITOR_WRITES = "monitor-writes" - NOTIFY = "notify" - NOTIFY_ACTIONS_ATTEMPTS = "notify-actions-attempts" - NOTIFY_CHANNELS = "notify-channels" - NUMBER_FORMAT_LOOKUPS = "number-format-lookups" - PCHAT = "pchat" - PCHAT_ACTIONS = "pchat-actions" - PCHAT_APS = "pchat-aps" - PCHAT_NOTIFICATIONS = "pchat-notifications" - PCHAT_READS = "pchat-reads" - PCHAT_USERS = "pchat-users" - PCHAT_MESSAGES = "pchat-messages" - PEER_TO_PEER_ROOMS_PARTICIPANT_MINUTES = "peer-to-peer-rooms-participant-minutes" - PFAX = "pfax" - PFAX_MINUTES = "pfax-minutes" - PFAX_MINUTES_INBOUND = "pfax-minutes-inbound" - PFAX_MINUTES_OUTBOUND = "pfax-minutes-outbound" - PFAX_PAGES = "pfax-pages" - PHONENUMBERS = "phonenumbers" - PHONENUMBERS_CPS = "phonenumbers-cps" - PHONENUMBERS_EMERGENCY = "phonenumbers-emergency" - PHONENUMBERS_LOCAL = "phonenumbers-local" - PHONENUMBERS_MOBILE = "phonenumbers-mobile" - PHONENUMBERS_SETUPS = "phonenumbers-setups" - PHONENUMBERS_TOLLFREE = "phonenumbers-tollfree" - PREMIUMSUPPORT = "premiumsupport" - PROXY = "proxy" - PV = "pv" - PV_ROOM_PARTICIPANTS = "pv-room-participants" - PV_ROOM_PARTICIPANTS_AU1 = "pv-room-participants-au1" - PV_ROOM_PARTICIPANTS_BR1 = "pv-room-participants-br1" - PV_ROOM_PARTICIPANTS_IE1 = "pv-room-participants-ie1" - PV_ROOM_PARTICIPANTS_JP1 = "pv-room-participants-jp1" - PV_ROOM_PARTICIPANTS_SG1 = "pv-room-participants-sg1" - PV_ROOM_PARTICIPANTS_US1 = "pv-room-participants-us1" - PV_ROOM_PARTICIPANTS_US2 = "pv-room-participants-us2" - PV_ROOMS = "pv-rooms" - PV_SIP_ENDPOINT_REGISTRATIONS = "pv-sip-endpoint-registrations" - RECORDINGS = "recordings" - RECORDINGSTORAGE = "recordingstorage" - ROOMS_GROUP_MINUTES = "rooms-group-minutes" - ROOMS_GROUP_BANDWIDTH = "rooms-group-bandwidth" - ROOMS_PEER_TO_PEER_MINUTES = "rooms-peer-to-peer-minutes" - SHORTCODES = "shortcodes" - SHORTCODES_CUSTOMEROWNED = "shortcodes-customerowned" - SHORTCODES_MMS_ENABLEMENT = "shortcodes-mms-enablement" - SHORTCODES_MPS = "shortcodes-mps" - SHORTCODES_RANDOM = "shortcodes-random" - SHORTCODES_UK = "shortcodes-uk" - SHORTCODES_VANITY = "shortcodes-vanity" - SMS = "sms" - SMS_INBOUND = "sms-inbound" - SMS_INBOUND_LONGCODE = "sms-inbound-longcode" - SMS_INBOUND_SHORTCODE = "sms-inbound-shortcode" - SMS_OUTBOUND = "sms-outbound" - SMS_OUTBOUND_CONTENT_INSPECTION = "sms-outbound-content-inspection" - SMS_OUTBOUND_LONGCODE = "sms-outbound-longcode" - SMS_OUTBOUND_SHORTCODE = "sms-outbound-shortcode" - SMS_MESSAGES_FEATURES = "sms-messages-features" - SMS_MESSAGES_FEATURES_SENDERID = "sms-messages-features-senderid" - SPEECH_RECOGNITION = "speech-recognition" - STUDIO_ENGAGEMENTS = "studio-engagements" - SYNC = "sync" - SYNC_ACTIONS = "sync-actions" - SYNC_ENDPOINT_HOURS = "sync-endpoint-hours" - SYNC_ENDPOINT_HOURS_ABOVE_DAILY_CAP = "sync-endpoint-hours-above-daily-cap" - TASKROUTER_TASKS = "taskrouter-tasks" - TOTALPRICE = "totalprice" - TRANSCRIPTIONS = "transcriptions" - TRUNKING_CPS = "trunking-cps" - TRUNKING_EMERGENCY_CALLS = "trunking-emergency-calls" - TRUNKING_ORIGINATION = "trunking-origination" - TRUNKING_ORIGINATION_LOCAL = "trunking-origination-local" - TRUNKING_ORIGINATION_MOBILE = "trunking-origination-mobile" - TRUNKING_ORIGINATION_TOLLFREE = "trunking-origination-tollfree" - TRUNKING_RECORDINGS = "trunking-recordings" - TRUNKING_SECURE = "trunking-secure" - TRUNKING_TERMINATION = "trunking-termination" - TURNMEGABYTES = "turnmegabytes" - TURNMEGABYTES_AUSTRALIA = "turnmegabytes-australia" - TURNMEGABYTES_BRASIL = "turnmegabytes-brasil" - TURNMEGABYTES_INDIA = "turnmegabytes-india" - TURNMEGABYTES_IRELAND = "turnmegabytes-ireland" - TURNMEGABYTES_JAPAN = "turnmegabytes-japan" - TURNMEGABYTES_SINGAPORE = "turnmegabytes-singapore" - TURNMEGABYTES_USEAST = "turnmegabytes-useast" - TURNMEGABYTES_USWEST = "turnmegabytes-uswest" - TWILIO_INTERCONNECT = "twilio-interconnect" - VIDEO_RECORDINGS = "video-recordings" - VOICE_INSIGHTS = "voice-insights" - VOICE_INSIGHTS_AUDIO_TRACE = "voice-insights-audio-trace" - VOICE_INSIGHTS_CARRIER_CALLS = "voice-insights-carrier-calls" - WIRELESS = "wireless" - WIRELESS_ORDERS = "wireless-orders" - WIRELESS_ORDERS_ARTWORK = "wireless-orders-artwork" - WIRELESS_ORDERS_BULK = "wireless-orders-bulk" - WIRELESS_ORDERS_ESIM = "wireless-orders-esim" - WIRELESS_ORDERS_STARTER = "wireless-orders-starter" - WIRELESS_USAGE = "wireless-usage" - WIRELESS_USAGE_COMMANDS = "wireless-usage-commands" - WIRELESS_USAGE_COMMANDS_AFRICA = "wireless-usage-commands-africa" - WIRELESS_USAGE_COMMANDS_ASIA = "wireless-usage-commands-asia" - WIRELESS_USAGE_COMMANDS_CENTRALANDSOUTHAMERICA = "wireless-usage-commands-centralandsouthamerica" - WIRELESS_USAGE_COMMANDS_EUROPE = "wireless-usage-commands-europe" - WIRELESS_USAGE_COMMANDS_HOME = "wireless-usage-commands-home" - WIRELESS_USAGE_COMMANDS_NORTHAMERICA = "wireless-usage-commands-northamerica" - WIRELESS_USAGE_COMMANDS_OCEANIA = "wireless-usage-commands-oceania" - WIRELESS_USAGE_COMMANDS_ROAMING = "wireless-usage-commands-roaming" - WIRELESS_USAGE_DATA = "wireless-usage-data" - WIRELESS_USAGE_DATA_AFRICA = "wireless-usage-data-africa" - WIRELESS_USAGE_DATA_ASIA = "wireless-usage-data-asia" - WIRELESS_USAGE_DATA_CENTRALANDSOUTHAMERICA = "wireless-usage-data-centralandsouthamerica" - WIRELESS_USAGE_DATA_CUSTOM_ADDITIONALMB = "wireless-usage-data-custom-additionalmb" - WIRELESS_USAGE_DATA_CUSTOM_FIRST5MB = "wireless-usage-data-custom-first5mb" - WIRELESS_USAGE_DATA_DOMESTIC_ROAMING = "wireless-usage-data-domestic-roaming" - WIRELESS_USAGE_DATA_EUROPE = "wireless-usage-data-europe" - WIRELESS_USAGE_DATA_INDIVIDUAL_ADDITIONALGB = "wireless-usage-data-individual-additionalgb" - WIRELESS_USAGE_DATA_INDIVIDUAL_FIRSTGB = "wireless-usage-data-individual-firstgb" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_CANADA = "wireless-usage-data-international-roaming-canada" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_INDIA = "wireless-usage-data-international-roaming-india" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_MEXICO = "wireless-usage-data-international-roaming-mexico" - WIRELESS_USAGE_DATA_NORTHAMERICA = "wireless-usage-data-northamerica" - WIRELESS_USAGE_DATA_OCEANIA = "wireless-usage-data-oceania" - WIRELESS_USAGE_DATA_POOLED = "wireless-usage-data-pooled" - WIRELESS_USAGE_DATA_POOLED_DOWNLINK = "wireless-usage-data-pooled-downlink" - WIRELESS_USAGE_DATA_POOLED_UPLINK = "wireless-usage-data-pooled-uplink" - WIRELESS_USAGE_MRC = "wireless-usage-mrc" - WIRELESS_USAGE_MRC_CUSTOM = "wireless-usage-mrc-custom" - WIRELESS_USAGE_MRC_INDIVIDUAL = "wireless-usage-mrc-individual" - WIRELESS_USAGE_MRC_POOLED = "wireless-usage-mrc-pooled" - WIRELESS_USAGE_MRC_SUSPENDED = "wireless-usage-mrc-suspended" - WIRELESS_USAGE_VOICE = "wireless-usage-voice" - WIRELESS_USAGE_SMS = "wireless-usage-sms" - - def __init__(self, version, payload, account_sid): - """ - Initialize the LastMonthInstance - - :returns: twilio.rest.api.v2010.account.usage.record.last_month.LastMonthInstance - :rtype: twilio.rest.api.v2010.account.usage.record.last_month.LastMonthInstance - """ - super(LastMonthInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'api_version': payload['api_version'], - 'category': payload['category'], - 'count': payload['count'], - 'count_unit': payload['count_unit'], - 'description': payload['description'], - 'end_date': deserialize.iso8601_date(payload['end_date']), - 'price': deserialize.decimal(payload['price']), - 'price_unit': payload['price_unit'], - 'start_date': deserialize.iso8601_date(payload['start_date']), - 'subresource_uris': payload['subresource_uris'], - 'uri': payload['uri'], - 'usage': payload['usage'], - 'usage_unit': payload['usage_unit'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, } - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def api_version(self): - """ - :returns: The api_version - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def category(self): - """ - :returns: The category - :rtype: LastMonthInstance.Category - """ - return self._properties['category'] - - @property - def count(self): - """ - :returns: The count - :rtype: unicode - """ - return self._properties['count'] - - @property - def count_unit(self): - """ - :returns: The count_unit - :rtype: unicode - """ - return self._properties['count_unit'] - - @property - def description(self): - """ - :returns: The description - :rtype: unicode - """ - return self._properties['description'] - - @property - def end_date(self): - """ - :returns: The end_date - :rtype: date - """ - return self._properties['end_date'] - - @property - def price(self): - """ - :returns: The price - :rtype: unicode - """ - return self._properties['price'] - - @property - def price_unit(self): - """ - :returns: The price_unit - :rtype: unicode - """ - return self._properties['price_unit'] - - @property - def start_date(self): - """ - :returns: The start_date - :rtype: date - """ - return self._properties['start_date'] - - @property - def subresource_uris(self): - """ - :returns: The subresource_uris - :rtype: unicode - """ - return self._properties['subresource_uris'] - - @property - def uri(self): - """ - :returns: The uri - :rtype: unicode - """ - return self._properties['uri'] - - @property - def usage(self): - """ - :returns: The usage - :rtype: unicode - """ - return self._properties['usage'] - - @property - def usage_unit(self): - """ - :returns: The usage_unit - :rtype: unicode - """ - return self._properties['usage_unit'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.LastMonthInstance>' diff --git a/twilio/rest/api/v2010/account/usage/record/monthly.py b/twilio/rest/api/v2010/account/usage/record/monthly.py deleted file mode 100644 index c6a48bf..0000000 --- a/twilio/rest/api/v2010/account/usage/record/monthly.py +++ /dev/null @@ -1,580 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class MonthlyList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the MonthlyList - - :param Version version: Version that contains the resource - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.usage.record.monthly.MonthlyList - :rtype: twilio.rest.api.v2010.account.usage.record.monthly.MonthlyList - """ - super(MonthlyList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/Usage/Records/Monthly.json'.format(**self._solution) - - def stream(self, category=values.unset, start_date=values.unset, - end_date=values.unset, limit=None, page_size=None): - """ - Streams MonthlyInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param MonthlyInstance.Category category: The category - :param date start_date: The start_date - :param date end_date: The end_date - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.usage.record.monthly.MonthlyInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - category=category, - start_date=start_date, - end_date=end_date, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, category=values.unset, start_date=values.unset, - end_date=values.unset, limit=None, page_size=None): - """ - Lists MonthlyInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param MonthlyInstance.Category category: The category - :param date start_date: The start_date - :param date end_date: The end_date - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.usage.record.monthly.MonthlyInstance] - """ - return list(self.stream( - category=category, - start_date=start_date, - end_date=end_date, - limit=limit, - page_size=page_size, - )) - - def page(self, category=values.unset, start_date=values.unset, - end_date=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of MonthlyInstance records from the API. - Request is executed immediately - - :param MonthlyInstance.Category category: The category - :param date start_date: The start_date - :param date end_date: The end_date - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of MonthlyInstance - :rtype: twilio.rest.api.v2010.account.usage.record.monthly.MonthlyPage - """ - params = values.of({ - 'Category': category, - 'StartDate': serialize.iso8601_date(start_date), - 'EndDate': serialize.iso8601_date(end_date), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return MonthlyPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of MonthlyInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of MonthlyInstance - :rtype: twilio.rest.api.v2010.account.usage.record.monthly.MonthlyPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return MonthlyPage(self._version, response, self._solution) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.MonthlyList>' - - -class MonthlyPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the MonthlyPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.usage.record.monthly.MonthlyPage - :rtype: twilio.rest.api.v2010.account.usage.record.monthly.MonthlyPage - """ - super(MonthlyPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of MonthlyInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.usage.record.monthly.MonthlyInstance - :rtype: twilio.rest.api.v2010.account.usage.record.monthly.MonthlyInstance - """ - return MonthlyInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.MonthlyPage>' - - -class MonthlyInstance(InstanceResource): - """ """ - - class Category(object): - ANSWERING_MACHINE_DETECTION = "answering-machine-detection" - AUTHY_AUTHENTICATIONS = "authy-authentications" - AUTHY_CALLS_OUTBOUND = "authy-calls-outbound" - AUTHY_MONTHLY_FEES = "authy-monthly-fees" - AUTHY_PHONE_INTELLIGENCE = "authy-phone-intelligence" - AUTHY_PHONE_VERIFICATIONS = "authy-phone-verifications" - AUTHY_SMS_OUTBOUND = "authy-sms-outbound" - CALL_PROGESS_EVENTS = "call-progess-events" - CALLERIDLOOKUPS = "calleridlookups" - CALLS = "calls" - CALLS_CLIENT = "calls-client" - CALLS_GLOBALCONFERENCE = "calls-globalconference" - CALLS_INBOUND = "calls-inbound" - CALLS_INBOUND_LOCAL = "calls-inbound-local" - CALLS_INBOUND_MOBILE = "calls-inbound-mobile" - CALLS_INBOUND_TOLLFREE = "calls-inbound-tollfree" - CALLS_OUTBOUND = "calls-outbound" - CALLS_RECORDINGS = "calls-recordings" - CALLS_SIP = "calls-sip" - CALLS_SIP_INBOUND = "calls-sip-inbound" - CALLS_SIP_OUTBOUND = "calls-sip-outbound" - CARRIER_LOOKUPS = "carrier-lookups" - CONVERSATIONS = "conversations" - CONVERSATIONS_API_REQUESTS = "conversations-api-requests" - CONVERSATIONS_CONVERSATION_EVENTS = "conversations-conversation-events" - CONVERSATIONS_ENDPOINT_CONNECTIVITY = "conversations-endpoint-connectivity" - CONVERSATIONS_EVENTS = "conversations-events" - CONVERSATIONS_PARTICIPANT_EVENTS = "conversations-participant-events" - CONVERSATIONS_PARTICIPANTS = "conversations-participants" - CPS = "cps" - GROUP_ROOMS = "group-rooms" - GROUP_ROOMS_DATA_TRACK = "group-rooms-data-track" - GROUP_ROOMS_ENCRYPTED_MEDIA_RECORDED = "group-rooms-encrypted-media-recorded" - GROUP_ROOMS_MEDIA_DOWNLOADED = "group-rooms-media-downloaded" - GROUP_ROOMS_MEDIA_RECORDED = "group-rooms-media-recorded" - GROUP_ROOMS_MEDIA_ROUTED = "group-rooms-media-routed" - GROUP_ROOMS_MEDIA_STORED = "group-rooms-media-stored" - GROUP_ROOMS_PARTICIPANT_MINUTES = "group-rooms-participant-minutes" - GROUP_ROOMS_RECORDED_MINUTES = "group-rooms-recorded-minutes" - IP_MESSAGING = "ip-messaging" - IP_MESSAGING_COMMANDS = "ip-messaging-commands" - IP_MESSAGING_DATA_STORAGE = "ip-messaging-data-storage" - IP_MESSAGING_DATA_TRANSFER = "ip-messaging-data-transfer" - IP_MESSAGING_ENDPOINT_CONNECTIVITY = "ip-messaging-endpoint-connectivity" - LOOKUPS = "lookups" - MARKETPLACE = "marketplace" - MARKETPLACE_ALGORITHMIA_NAMED_ENTITY_RECOGNITION = "marketplace-algorithmia-named-entity-recognition" - MARKETPLACE_DIGITAL_SEGMENT_BUSINESS_INFO = "marketplace-digital-segment-business-info" - MARKETPLACE_GOOGLE_SPEECH_TO_TEXT = "marketplace-google-speech-to-text" - MARKETPLACE_IBM_WATSON_MESSAGE_INSIGHTS = "marketplace-ibm-watson-message-insights" - MARKETPLACE_IBM_WATSON_MESSAGE_SENTIMENT = "marketplace-ibm-watson-message-sentiment" - MARKETPLACE_IBM_WATSON_RECORDING_ANALYSIS = "marketplace-ibm-watson-recording-analysis" - MARKETPLACE_ICEHOOK_SYSTEMS_SCOUT = "marketplace-icehook-systems-scout" - MARKETPLACE_INFOGROUP_DATAAXLE_BIZINFO = "marketplace-infogroup-dataaxle-bizinfo" - MARKETPLACE_CADENCE_TRANSCRIPTION = "marketplace-cadence-transcription" - MARKETPLACE_CADENCE_TRANSLATION = "marketplace-cadence-translation" - MARKETPLACE_CAPIO_SPEECH_TO_TEXT = "marketplace-capio-speech-to-text" - MARKETPLACE_FACEBOOK_OFFLINE_CONVERSIONS = "marketplace-facebook-offline-conversions" - MARKETPLACE_KEEN_IO_CONTACT_CENTER_ANALYTICS = "marketplace-keen-io-contact-center-analytics" - MARKETPLACE_MARCHEX_CLEANCALL = "marketplace-marchex-cleancall" - MARKETPLACE_MARCHEX_SENTIMENT_ANALYSIS_FOR_SMS = "marketplace-marchex-sentiment-analysis-for-sms" - MARKETPLACE_MARKETPLACE_NEXTCALLER_SOCIAL_ID = "marketplace-marketplace-nextcaller-social-id" - MARKETPLACE_MOBILE_COMMONS_OPT_OUT_CLASSIFIER = "marketplace-mobile-commons-opt-out-classifier" - MARKETPLACE_NEXIWAVE_VOICEMAIL_TO_TEXT = "marketplace-nexiwave-voicemail-to-text" - MARKETPLACE_NEXTCALLER_ADVANCED_CALLER_IDENTIFICATION = "marketplace-nextcaller-advanced-caller-identification" - MARKETPLACE_NOMOROBO_SPAM_SCORE = "marketplace-nomorobo-spam-score" - MARKETPLACE_PAYFONE_TCPA_COMPLIANCE = "marketplace-payfone-tcpa-compliance" - MARKETPLACE_TELO_OPENCNAM = "marketplace-telo-opencnam" - MARKETPLACE_TRUECNAM_TRUE_SPAM = "marketplace-truecnam-true-spam" - MARKETPLACE_TWILIO_CALLER_NAME_LOOKUP_US = "marketplace-twilio-caller-name-lookup-us" - MARKETPLACE_TWILIO_CARRIER_INFORMATION_LOOKUP = "marketplace-twilio-carrier-information-lookup" - MARKETPLACE_VOICEBASE_PCI = "marketplace-voicebase-pci" - MARKETPLACE_VOICEBASE_TRANSCRIPTION = "marketplace-voicebase-transcription" - MARKETPLACE_WHITEPAGES_PRO_CALLER_IDENTIFICATION = "marketplace-whitepages-pro-caller-identification" - MARKETPLACE_WHITEPAGES_PRO_PHONE_INTELLIGENCE = "marketplace-whitepages-pro-phone-intelligence" - MARKETPLACE_WHITEPAGES_PRO_PHONE_REPUTATION = "marketplace-whitepages-pro-phone-reputation" - MARKETPLACE_WOLFRAM_SHORT_ANSWER = "marketplace-wolfram-short-answer" - MARKETPLACE_WOLFARM_SPOKEN_RESULTS = "marketplace-wolfarm-spoken-results" - MARKETPLACE_DEEPGRAM_PHRASE_DETECTOR = "marketplace-deepgram-phrase-detector" - MARKETPLACE_CONVRIZA_ABABA = "marketplace-convriza-ababa" - MARKETPLACE_IBM_WATSON_TONE_ANALYZER = "marketplace-ibm-watson-tone-analyzer" - MARKETPLACE_REMEETING_AUTOMATIC_SPEECH_RECOGNITION = "marketplace-remeeting-automatic-speech-recognition" - MARKETPLACE_TCPA_DEFENSE_SOLUTIONS_BLACKLIST_FEED = "marketplace-tcpa-defense-solutions-blacklist-feed" - MARKETPLACE_VOICEBASE_TRANSCRIPTION_CUSTOM_VOCABULARY = "marketplace-voicebase-transcription-custom-vocabulary" - MARKETPLACE_YTICA_CONTACT_CENTER_REPORTING_ANALYTICS = "marketplace-ytica-contact-center-reporting-analytics" - MEDIASTORAGE = "mediastorage" - MMS = "mms" - MMS_INBOUND = "mms-inbound" - MMS_INBOUND_LONGCODE = "mms-inbound-longcode" - MMS_INBOUND_SHORTCODE = "mms-inbound-shortcode" - MMS_OUTBOUND = "mms-outbound" - MMS_OUTBOUND_LONGCODE = "mms-outbound-longcode" - MMS_OUTBOUND_SHORTCODE = "mms-outbound-shortcode" - MONITOR_READS = "monitor-reads" - MONITOR_STORAGE = "monitor-storage" - MONITOR_WRITES = "monitor-writes" - NOTIFY = "notify" - NOTIFY_ACTIONS_ATTEMPTS = "notify-actions-attempts" - NOTIFY_CHANNELS = "notify-channels" - NUMBER_FORMAT_LOOKUPS = "number-format-lookups" - PCHAT = "pchat" - PCHAT_ACTIONS = "pchat-actions" - PCHAT_APS = "pchat-aps" - PCHAT_NOTIFICATIONS = "pchat-notifications" - PCHAT_READS = "pchat-reads" - PCHAT_USERS = "pchat-users" - PCHAT_MESSAGES = "pchat-messages" - PEER_TO_PEER_ROOMS_PARTICIPANT_MINUTES = "peer-to-peer-rooms-participant-minutes" - PFAX = "pfax" - PFAX_MINUTES = "pfax-minutes" - PFAX_MINUTES_INBOUND = "pfax-minutes-inbound" - PFAX_MINUTES_OUTBOUND = "pfax-minutes-outbound" - PFAX_PAGES = "pfax-pages" - PHONENUMBERS = "phonenumbers" - PHONENUMBERS_CPS = "phonenumbers-cps" - PHONENUMBERS_EMERGENCY = "phonenumbers-emergency" - PHONENUMBERS_LOCAL = "phonenumbers-local" - PHONENUMBERS_MOBILE = "phonenumbers-mobile" - PHONENUMBERS_SETUPS = "phonenumbers-setups" - PHONENUMBERS_TOLLFREE = "phonenumbers-tollfree" - PREMIUMSUPPORT = "premiumsupport" - PROXY = "proxy" - PV = "pv" - PV_ROOM_PARTICIPANTS = "pv-room-participants" - PV_ROOM_PARTICIPANTS_AU1 = "pv-room-participants-au1" - PV_ROOM_PARTICIPANTS_BR1 = "pv-room-participants-br1" - PV_ROOM_PARTICIPANTS_IE1 = "pv-room-participants-ie1" - PV_ROOM_PARTICIPANTS_JP1 = "pv-room-participants-jp1" - PV_ROOM_PARTICIPANTS_SG1 = "pv-room-participants-sg1" - PV_ROOM_PARTICIPANTS_US1 = "pv-room-participants-us1" - PV_ROOM_PARTICIPANTS_US2 = "pv-room-participants-us2" - PV_ROOMS = "pv-rooms" - PV_SIP_ENDPOINT_REGISTRATIONS = "pv-sip-endpoint-registrations" - RECORDINGS = "recordings" - RECORDINGSTORAGE = "recordingstorage" - ROOMS_GROUP_MINUTES = "rooms-group-minutes" - ROOMS_GROUP_BANDWIDTH = "rooms-group-bandwidth" - ROOMS_PEER_TO_PEER_MINUTES = "rooms-peer-to-peer-minutes" - SHORTCODES = "shortcodes" - SHORTCODES_CUSTOMEROWNED = "shortcodes-customerowned" - SHORTCODES_MMS_ENABLEMENT = "shortcodes-mms-enablement" - SHORTCODES_MPS = "shortcodes-mps" - SHORTCODES_RANDOM = "shortcodes-random" - SHORTCODES_UK = "shortcodes-uk" - SHORTCODES_VANITY = "shortcodes-vanity" - SMS = "sms" - SMS_INBOUND = "sms-inbound" - SMS_INBOUND_LONGCODE = "sms-inbound-longcode" - SMS_INBOUND_SHORTCODE = "sms-inbound-shortcode" - SMS_OUTBOUND = "sms-outbound" - SMS_OUTBOUND_CONTENT_INSPECTION = "sms-outbound-content-inspection" - SMS_OUTBOUND_LONGCODE = "sms-outbound-longcode" - SMS_OUTBOUND_SHORTCODE = "sms-outbound-shortcode" - SMS_MESSAGES_FEATURES = "sms-messages-features" - SMS_MESSAGES_FEATURES_SENDERID = "sms-messages-features-senderid" - SPEECH_RECOGNITION = "speech-recognition" - STUDIO_ENGAGEMENTS = "studio-engagements" - SYNC = "sync" - SYNC_ACTIONS = "sync-actions" - SYNC_ENDPOINT_HOURS = "sync-endpoint-hours" - SYNC_ENDPOINT_HOURS_ABOVE_DAILY_CAP = "sync-endpoint-hours-above-daily-cap" - TASKROUTER_TASKS = "taskrouter-tasks" - TOTALPRICE = "totalprice" - TRANSCRIPTIONS = "transcriptions" - TRUNKING_CPS = "trunking-cps" - TRUNKING_EMERGENCY_CALLS = "trunking-emergency-calls" - TRUNKING_ORIGINATION = "trunking-origination" - TRUNKING_ORIGINATION_LOCAL = "trunking-origination-local" - TRUNKING_ORIGINATION_MOBILE = "trunking-origination-mobile" - TRUNKING_ORIGINATION_TOLLFREE = "trunking-origination-tollfree" - TRUNKING_RECORDINGS = "trunking-recordings" - TRUNKING_SECURE = "trunking-secure" - TRUNKING_TERMINATION = "trunking-termination" - TURNMEGABYTES = "turnmegabytes" - TURNMEGABYTES_AUSTRALIA = "turnmegabytes-australia" - TURNMEGABYTES_BRASIL = "turnmegabytes-brasil" - TURNMEGABYTES_INDIA = "turnmegabytes-india" - TURNMEGABYTES_IRELAND = "turnmegabytes-ireland" - TURNMEGABYTES_JAPAN = "turnmegabytes-japan" - TURNMEGABYTES_SINGAPORE = "turnmegabytes-singapore" - TURNMEGABYTES_USEAST = "turnmegabytes-useast" - TURNMEGABYTES_USWEST = "turnmegabytes-uswest" - TWILIO_INTERCONNECT = "twilio-interconnect" - VIDEO_RECORDINGS = "video-recordings" - VOICE_INSIGHTS = "voice-insights" - VOICE_INSIGHTS_AUDIO_TRACE = "voice-insights-audio-trace" - VOICE_INSIGHTS_CARRIER_CALLS = "voice-insights-carrier-calls" - WIRELESS = "wireless" - WIRELESS_ORDERS = "wireless-orders" - WIRELESS_ORDERS_ARTWORK = "wireless-orders-artwork" - WIRELESS_ORDERS_BULK = "wireless-orders-bulk" - WIRELESS_ORDERS_ESIM = "wireless-orders-esim" - WIRELESS_ORDERS_STARTER = "wireless-orders-starter" - WIRELESS_USAGE = "wireless-usage" - WIRELESS_USAGE_COMMANDS = "wireless-usage-commands" - WIRELESS_USAGE_COMMANDS_AFRICA = "wireless-usage-commands-africa" - WIRELESS_USAGE_COMMANDS_ASIA = "wireless-usage-commands-asia" - WIRELESS_USAGE_COMMANDS_CENTRALANDSOUTHAMERICA = "wireless-usage-commands-centralandsouthamerica" - WIRELESS_USAGE_COMMANDS_EUROPE = "wireless-usage-commands-europe" - WIRELESS_USAGE_COMMANDS_HOME = "wireless-usage-commands-home" - WIRELESS_USAGE_COMMANDS_NORTHAMERICA = "wireless-usage-commands-northamerica" - WIRELESS_USAGE_COMMANDS_OCEANIA = "wireless-usage-commands-oceania" - WIRELESS_USAGE_COMMANDS_ROAMING = "wireless-usage-commands-roaming" - WIRELESS_USAGE_DATA = "wireless-usage-data" - WIRELESS_USAGE_DATA_AFRICA = "wireless-usage-data-africa" - WIRELESS_USAGE_DATA_ASIA = "wireless-usage-data-asia" - WIRELESS_USAGE_DATA_CENTRALANDSOUTHAMERICA = "wireless-usage-data-centralandsouthamerica" - WIRELESS_USAGE_DATA_CUSTOM_ADDITIONALMB = "wireless-usage-data-custom-additionalmb" - WIRELESS_USAGE_DATA_CUSTOM_FIRST5MB = "wireless-usage-data-custom-first5mb" - WIRELESS_USAGE_DATA_DOMESTIC_ROAMING = "wireless-usage-data-domestic-roaming" - WIRELESS_USAGE_DATA_EUROPE = "wireless-usage-data-europe" - WIRELESS_USAGE_DATA_INDIVIDUAL_ADDITIONALGB = "wireless-usage-data-individual-additionalgb" - WIRELESS_USAGE_DATA_INDIVIDUAL_FIRSTGB = "wireless-usage-data-individual-firstgb" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_CANADA = "wireless-usage-data-international-roaming-canada" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_INDIA = "wireless-usage-data-international-roaming-india" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_MEXICO = "wireless-usage-data-international-roaming-mexico" - WIRELESS_USAGE_DATA_NORTHAMERICA = "wireless-usage-data-northamerica" - WIRELESS_USAGE_DATA_OCEANIA = "wireless-usage-data-oceania" - WIRELESS_USAGE_DATA_POOLED = "wireless-usage-data-pooled" - WIRELESS_USAGE_DATA_POOLED_DOWNLINK = "wireless-usage-data-pooled-downlink" - WIRELESS_USAGE_DATA_POOLED_UPLINK = "wireless-usage-data-pooled-uplink" - WIRELESS_USAGE_MRC = "wireless-usage-mrc" - WIRELESS_USAGE_MRC_CUSTOM = "wireless-usage-mrc-custom" - WIRELESS_USAGE_MRC_INDIVIDUAL = "wireless-usage-mrc-individual" - WIRELESS_USAGE_MRC_POOLED = "wireless-usage-mrc-pooled" - WIRELESS_USAGE_MRC_SUSPENDED = "wireless-usage-mrc-suspended" - WIRELESS_USAGE_VOICE = "wireless-usage-voice" - WIRELESS_USAGE_SMS = "wireless-usage-sms" - - def __init__(self, version, payload, account_sid): - """ - Initialize the MonthlyInstance - - :returns: twilio.rest.api.v2010.account.usage.record.monthly.MonthlyInstance - :rtype: twilio.rest.api.v2010.account.usage.record.monthly.MonthlyInstance - """ - super(MonthlyInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'api_version': payload['api_version'], - 'category': payload['category'], - 'count': payload['count'], - 'count_unit': payload['count_unit'], - 'description': payload['description'], - 'end_date': deserialize.iso8601_date(payload['end_date']), - 'price': deserialize.decimal(payload['price']), - 'price_unit': payload['price_unit'], - 'start_date': deserialize.iso8601_date(payload['start_date']), - 'subresource_uris': payload['subresource_uris'], - 'uri': payload['uri'], - 'usage': payload['usage'], - 'usage_unit': payload['usage_unit'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, } - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def api_version(self): - """ - :returns: The api_version - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def category(self): - """ - :returns: The category - :rtype: MonthlyInstance.Category - """ - return self._properties['category'] - - @property - def count(self): - """ - :returns: The count - :rtype: unicode - """ - return self._properties['count'] - - @property - def count_unit(self): - """ - :returns: The count_unit - :rtype: unicode - """ - return self._properties['count_unit'] - - @property - def description(self): - """ - :returns: The description - :rtype: unicode - """ - return self._properties['description'] - - @property - def end_date(self): - """ - :returns: The end_date - :rtype: date - """ - return self._properties['end_date'] - - @property - def price(self): - """ - :returns: The price - :rtype: unicode - """ - return self._properties['price'] - - @property - def price_unit(self): - """ - :returns: The price_unit - :rtype: unicode - """ - return self._properties['price_unit'] - - @property - def start_date(self): - """ - :returns: The start_date - :rtype: date - """ - return self._properties['start_date'] - - @property - def subresource_uris(self): - """ - :returns: The subresource_uris - :rtype: unicode - """ - return self._properties['subresource_uris'] - - @property - def uri(self): - """ - :returns: The uri - :rtype: unicode - """ - return self._properties['uri'] - - @property - def usage(self): - """ - :returns: The usage - :rtype: unicode - """ - return self._properties['usage'] - - @property - def usage_unit(self): - """ - :returns: The usage_unit - :rtype: unicode - """ - return self._properties['usage_unit'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.MonthlyInstance>' diff --git a/twilio/rest/api/v2010/account/usage/record/this_month.py b/twilio/rest/api/v2010/account/usage/record/this_month.py deleted file mode 100644 index d48ff3e..0000000 --- a/twilio/rest/api/v2010/account/usage/record/this_month.py +++ /dev/null @@ -1,580 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class ThisMonthList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the ThisMonthList - - :param Version version: Version that contains the resource - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.usage.record.this_month.ThisMonthList - :rtype: twilio.rest.api.v2010.account.usage.record.this_month.ThisMonthList - """ - super(ThisMonthList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/Usage/Records/ThisMonth.json'.format(**self._solution) - - def stream(self, category=values.unset, start_date=values.unset, - end_date=values.unset, limit=None, page_size=None): - """ - Streams ThisMonthInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param ThisMonthInstance.Category category: The category - :param date start_date: The start_date - :param date end_date: The end_date - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.usage.record.this_month.ThisMonthInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - category=category, - start_date=start_date, - end_date=end_date, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, category=values.unset, start_date=values.unset, - end_date=values.unset, limit=None, page_size=None): - """ - Lists ThisMonthInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param ThisMonthInstance.Category category: The category - :param date start_date: The start_date - :param date end_date: The end_date - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.usage.record.this_month.ThisMonthInstance] - """ - return list(self.stream( - category=category, - start_date=start_date, - end_date=end_date, - limit=limit, - page_size=page_size, - )) - - def page(self, category=values.unset, start_date=values.unset, - end_date=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of ThisMonthInstance records from the API. - Request is executed immediately - - :param ThisMonthInstance.Category category: The category - :param date start_date: The start_date - :param date end_date: The end_date - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ThisMonthInstance - :rtype: twilio.rest.api.v2010.account.usage.record.this_month.ThisMonthPage - """ - params = values.of({ - 'Category': category, - 'StartDate': serialize.iso8601_date(start_date), - 'EndDate': serialize.iso8601_date(end_date), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ThisMonthPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ThisMonthInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ThisMonthInstance - :rtype: twilio.rest.api.v2010.account.usage.record.this_month.ThisMonthPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ThisMonthPage(self._version, response, self._solution) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.ThisMonthList>' - - -class ThisMonthPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the ThisMonthPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.usage.record.this_month.ThisMonthPage - :rtype: twilio.rest.api.v2010.account.usage.record.this_month.ThisMonthPage - """ - super(ThisMonthPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ThisMonthInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.usage.record.this_month.ThisMonthInstance - :rtype: twilio.rest.api.v2010.account.usage.record.this_month.ThisMonthInstance - """ - return ThisMonthInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.ThisMonthPage>' - - -class ThisMonthInstance(InstanceResource): - """ """ - - class Category(object): - ANSWERING_MACHINE_DETECTION = "answering-machine-detection" - AUTHY_AUTHENTICATIONS = "authy-authentications" - AUTHY_CALLS_OUTBOUND = "authy-calls-outbound" - AUTHY_MONTHLY_FEES = "authy-monthly-fees" - AUTHY_PHONE_INTELLIGENCE = "authy-phone-intelligence" - AUTHY_PHONE_VERIFICATIONS = "authy-phone-verifications" - AUTHY_SMS_OUTBOUND = "authy-sms-outbound" - CALL_PROGESS_EVENTS = "call-progess-events" - CALLERIDLOOKUPS = "calleridlookups" - CALLS = "calls" - CALLS_CLIENT = "calls-client" - CALLS_GLOBALCONFERENCE = "calls-globalconference" - CALLS_INBOUND = "calls-inbound" - CALLS_INBOUND_LOCAL = "calls-inbound-local" - CALLS_INBOUND_MOBILE = "calls-inbound-mobile" - CALLS_INBOUND_TOLLFREE = "calls-inbound-tollfree" - CALLS_OUTBOUND = "calls-outbound" - CALLS_RECORDINGS = "calls-recordings" - CALLS_SIP = "calls-sip" - CALLS_SIP_INBOUND = "calls-sip-inbound" - CALLS_SIP_OUTBOUND = "calls-sip-outbound" - CARRIER_LOOKUPS = "carrier-lookups" - CONVERSATIONS = "conversations" - CONVERSATIONS_API_REQUESTS = "conversations-api-requests" - CONVERSATIONS_CONVERSATION_EVENTS = "conversations-conversation-events" - CONVERSATIONS_ENDPOINT_CONNECTIVITY = "conversations-endpoint-connectivity" - CONVERSATIONS_EVENTS = "conversations-events" - CONVERSATIONS_PARTICIPANT_EVENTS = "conversations-participant-events" - CONVERSATIONS_PARTICIPANTS = "conversations-participants" - CPS = "cps" - GROUP_ROOMS = "group-rooms" - GROUP_ROOMS_DATA_TRACK = "group-rooms-data-track" - GROUP_ROOMS_ENCRYPTED_MEDIA_RECORDED = "group-rooms-encrypted-media-recorded" - GROUP_ROOMS_MEDIA_DOWNLOADED = "group-rooms-media-downloaded" - GROUP_ROOMS_MEDIA_RECORDED = "group-rooms-media-recorded" - GROUP_ROOMS_MEDIA_ROUTED = "group-rooms-media-routed" - GROUP_ROOMS_MEDIA_STORED = "group-rooms-media-stored" - GROUP_ROOMS_PARTICIPANT_MINUTES = "group-rooms-participant-minutes" - GROUP_ROOMS_RECORDED_MINUTES = "group-rooms-recorded-minutes" - IP_MESSAGING = "ip-messaging" - IP_MESSAGING_COMMANDS = "ip-messaging-commands" - IP_MESSAGING_DATA_STORAGE = "ip-messaging-data-storage" - IP_MESSAGING_DATA_TRANSFER = "ip-messaging-data-transfer" - IP_MESSAGING_ENDPOINT_CONNECTIVITY = "ip-messaging-endpoint-connectivity" - LOOKUPS = "lookups" - MARKETPLACE = "marketplace" - MARKETPLACE_ALGORITHMIA_NAMED_ENTITY_RECOGNITION = "marketplace-algorithmia-named-entity-recognition" - MARKETPLACE_DIGITAL_SEGMENT_BUSINESS_INFO = "marketplace-digital-segment-business-info" - MARKETPLACE_GOOGLE_SPEECH_TO_TEXT = "marketplace-google-speech-to-text" - MARKETPLACE_IBM_WATSON_MESSAGE_INSIGHTS = "marketplace-ibm-watson-message-insights" - MARKETPLACE_IBM_WATSON_MESSAGE_SENTIMENT = "marketplace-ibm-watson-message-sentiment" - MARKETPLACE_IBM_WATSON_RECORDING_ANALYSIS = "marketplace-ibm-watson-recording-analysis" - MARKETPLACE_ICEHOOK_SYSTEMS_SCOUT = "marketplace-icehook-systems-scout" - MARKETPLACE_INFOGROUP_DATAAXLE_BIZINFO = "marketplace-infogroup-dataaxle-bizinfo" - MARKETPLACE_CADENCE_TRANSCRIPTION = "marketplace-cadence-transcription" - MARKETPLACE_CADENCE_TRANSLATION = "marketplace-cadence-translation" - MARKETPLACE_CAPIO_SPEECH_TO_TEXT = "marketplace-capio-speech-to-text" - MARKETPLACE_FACEBOOK_OFFLINE_CONVERSIONS = "marketplace-facebook-offline-conversions" - MARKETPLACE_KEEN_IO_CONTACT_CENTER_ANALYTICS = "marketplace-keen-io-contact-center-analytics" - MARKETPLACE_MARCHEX_CLEANCALL = "marketplace-marchex-cleancall" - MARKETPLACE_MARCHEX_SENTIMENT_ANALYSIS_FOR_SMS = "marketplace-marchex-sentiment-analysis-for-sms" - MARKETPLACE_MARKETPLACE_NEXTCALLER_SOCIAL_ID = "marketplace-marketplace-nextcaller-social-id" - MARKETPLACE_MOBILE_COMMONS_OPT_OUT_CLASSIFIER = "marketplace-mobile-commons-opt-out-classifier" - MARKETPLACE_NEXIWAVE_VOICEMAIL_TO_TEXT = "marketplace-nexiwave-voicemail-to-text" - MARKETPLACE_NEXTCALLER_ADVANCED_CALLER_IDENTIFICATION = "marketplace-nextcaller-advanced-caller-identification" - MARKETPLACE_NOMOROBO_SPAM_SCORE = "marketplace-nomorobo-spam-score" - MARKETPLACE_PAYFONE_TCPA_COMPLIANCE = "marketplace-payfone-tcpa-compliance" - MARKETPLACE_TELO_OPENCNAM = "marketplace-telo-opencnam" - MARKETPLACE_TRUECNAM_TRUE_SPAM = "marketplace-truecnam-true-spam" - MARKETPLACE_TWILIO_CALLER_NAME_LOOKUP_US = "marketplace-twilio-caller-name-lookup-us" - MARKETPLACE_TWILIO_CARRIER_INFORMATION_LOOKUP = "marketplace-twilio-carrier-information-lookup" - MARKETPLACE_VOICEBASE_PCI = "marketplace-voicebase-pci" - MARKETPLACE_VOICEBASE_TRANSCRIPTION = "marketplace-voicebase-transcription" - MARKETPLACE_WHITEPAGES_PRO_CALLER_IDENTIFICATION = "marketplace-whitepages-pro-caller-identification" - MARKETPLACE_WHITEPAGES_PRO_PHONE_INTELLIGENCE = "marketplace-whitepages-pro-phone-intelligence" - MARKETPLACE_WHITEPAGES_PRO_PHONE_REPUTATION = "marketplace-whitepages-pro-phone-reputation" - MARKETPLACE_WOLFRAM_SHORT_ANSWER = "marketplace-wolfram-short-answer" - MARKETPLACE_WOLFARM_SPOKEN_RESULTS = "marketplace-wolfarm-spoken-results" - MARKETPLACE_DEEPGRAM_PHRASE_DETECTOR = "marketplace-deepgram-phrase-detector" - MARKETPLACE_CONVRIZA_ABABA = "marketplace-convriza-ababa" - MARKETPLACE_IBM_WATSON_TONE_ANALYZER = "marketplace-ibm-watson-tone-analyzer" - MARKETPLACE_REMEETING_AUTOMATIC_SPEECH_RECOGNITION = "marketplace-remeeting-automatic-speech-recognition" - MARKETPLACE_TCPA_DEFENSE_SOLUTIONS_BLACKLIST_FEED = "marketplace-tcpa-defense-solutions-blacklist-feed" - MARKETPLACE_VOICEBASE_TRANSCRIPTION_CUSTOM_VOCABULARY = "marketplace-voicebase-transcription-custom-vocabulary" - MARKETPLACE_YTICA_CONTACT_CENTER_REPORTING_ANALYTICS = "marketplace-ytica-contact-center-reporting-analytics" - MEDIASTORAGE = "mediastorage" - MMS = "mms" - MMS_INBOUND = "mms-inbound" - MMS_INBOUND_LONGCODE = "mms-inbound-longcode" - MMS_INBOUND_SHORTCODE = "mms-inbound-shortcode" - MMS_OUTBOUND = "mms-outbound" - MMS_OUTBOUND_LONGCODE = "mms-outbound-longcode" - MMS_OUTBOUND_SHORTCODE = "mms-outbound-shortcode" - MONITOR_READS = "monitor-reads" - MONITOR_STORAGE = "monitor-storage" - MONITOR_WRITES = "monitor-writes" - NOTIFY = "notify" - NOTIFY_ACTIONS_ATTEMPTS = "notify-actions-attempts" - NOTIFY_CHANNELS = "notify-channels" - NUMBER_FORMAT_LOOKUPS = "number-format-lookups" - PCHAT = "pchat" - PCHAT_ACTIONS = "pchat-actions" - PCHAT_APS = "pchat-aps" - PCHAT_NOTIFICATIONS = "pchat-notifications" - PCHAT_READS = "pchat-reads" - PCHAT_USERS = "pchat-users" - PCHAT_MESSAGES = "pchat-messages" - PEER_TO_PEER_ROOMS_PARTICIPANT_MINUTES = "peer-to-peer-rooms-participant-minutes" - PFAX = "pfax" - PFAX_MINUTES = "pfax-minutes" - PFAX_MINUTES_INBOUND = "pfax-minutes-inbound" - PFAX_MINUTES_OUTBOUND = "pfax-minutes-outbound" - PFAX_PAGES = "pfax-pages" - PHONENUMBERS = "phonenumbers" - PHONENUMBERS_CPS = "phonenumbers-cps" - PHONENUMBERS_EMERGENCY = "phonenumbers-emergency" - PHONENUMBERS_LOCAL = "phonenumbers-local" - PHONENUMBERS_MOBILE = "phonenumbers-mobile" - PHONENUMBERS_SETUPS = "phonenumbers-setups" - PHONENUMBERS_TOLLFREE = "phonenumbers-tollfree" - PREMIUMSUPPORT = "premiumsupport" - PROXY = "proxy" - PV = "pv" - PV_ROOM_PARTICIPANTS = "pv-room-participants" - PV_ROOM_PARTICIPANTS_AU1 = "pv-room-participants-au1" - PV_ROOM_PARTICIPANTS_BR1 = "pv-room-participants-br1" - PV_ROOM_PARTICIPANTS_IE1 = "pv-room-participants-ie1" - PV_ROOM_PARTICIPANTS_JP1 = "pv-room-participants-jp1" - PV_ROOM_PARTICIPANTS_SG1 = "pv-room-participants-sg1" - PV_ROOM_PARTICIPANTS_US1 = "pv-room-participants-us1" - PV_ROOM_PARTICIPANTS_US2 = "pv-room-participants-us2" - PV_ROOMS = "pv-rooms" - PV_SIP_ENDPOINT_REGISTRATIONS = "pv-sip-endpoint-registrations" - RECORDINGS = "recordings" - RECORDINGSTORAGE = "recordingstorage" - ROOMS_GROUP_MINUTES = "rooms-group-minutes" - ROOMS_GROUP_BANDWIDTH = "rooms-group-bandwidth" - ROOMS_PEER_TO_PEER_MINUTES = "rooms-peer-to-peer-minutes" - SHORTCODES = "shortcodes" - SHORTCODES_CUSTOMEROWNED = "shortcodes-customerowned" - SHORTCODES_MMS_ENABLEMENT = "shortcodes-mms-enablement" - SHORTCODES_MPS = "shortcodes-mps" - SHORTCODES_RANDOM = "shortcodes-random" - SHORTCODES_UK = "shortcodes-uk" - SHORTCODES_VANITY = "shortcodes-vanity" - SMS = "sms" - SMS_INBOUND = "sms-inbound" - SMS_INBOUND_LONGCODE = "sms-inbound-longcode" - SMS_INBOUND_SHORTCODE = "sms-inbound-shortcode" - SMS_OUTBOUND = "sms-outbound" - SMS_OUTBOUND_CONTENT_INSPECTION = "sms-outbound-content-inspection" - SMS_OUTBOUND_LONGCODE = "sms-outbound-longcode" - SMS_OUTBOUND_SHORTCODE = "sms-outbound-shortcode" - SMS_MESSAGES_FEATURES = "sms-messages-features" - SMS_MESSAGES_FEATURES_SENDERID = "sms-messages-features-senderid" - SPEECH_RECOGNITION = "speech-recognition" - STUDIO_ENGAGEMENTS = "studio-engagements" - SYNC = "sync" - SYNC_ACTIONS = "sync-actions" - SYNC_ENDPOINT_HOURS = "sync-endpoint-hours" - SYNC_ENDPOINT_HOURS_ABOVE_DAILY_CAP = "sync-endpoint-hours-above-daily-cap" - TASKROUTER_TASKS = "taskrouter-tasks" - TOTALPRICE = "totalprice" - TRANSCRIPTIONS = "transcriptions" - TRUNKING_CPS = "trunking-cps" - TRUNKING_EMERGENCY_CALLS = "trunking-emergency-calls" - TRUNKING_ORIGINATION = "trunking-origination" - TRUNKING_ORIGINATION_LOCAL = "trunking-origination-local" - TRUNKING_ORIGINATION_MOBILE = "trunking-origination-mobile" - TRUNKING_ORIGINATION_TOLLFREE = "trunking-origination-tollfree" - TRUNKING_RECORDINGS = "trunking-recordings" - TRUNKING_SECURE = "trunking-secure" - TRUNKING_TERMINATION = "trunking-termination" - TURNMEGABYTES = "turnmegabytes" - TURNMEGABYTES_AUSTRALIA = "turnmegabytes-australia" - TURNMEGABYTES_BRASIL = "turnmegabytes-brasil" - TURNMEGABYTES_INDIA = "turnmegabytes-india" - TURNMEGABYTES_IRELAND = "turnmegabytes-ireland" - TURNMEGABYTES_JAPAN = "turnmegabytes-japan" - TURNMEGABYTES_SINGAPORE = "turnmegabytes-singapore" - TURNMEGABYTES_USEAST = "turnmegabytes-useast" - TURNMEGABYTES_USWEST = "turnmegabytes-uswest" - TWILIO_INTERCONNECT = "twilio-interconnect" - VIDEO_RECORDINGS = "video-recordings" - VOICE_INSIGHTS = "voice-insights" - VOICE_INSIGHTS_AUDIO_TRACE = "voice-insights-audio-trace" - VOICE_INSIGHTS_CARRIER_CALLS = "voice-insights-carrier-calls" - WIRELESS = "wireless" - WIRELESS_ORDERS = "wireless-orders" - WIRELESS_ORDERS_ARTWORK = "wireless-orders-artwork" - WIRELESS_ORDERS_BULK = "wireless-orders-bulk" - WIRELESS_ORDERS_ESIM = "wireless-orders-esim" - WIRELESS_ORDERS_STARTER = "wireless-orders-starter" - WIRELESS_USAGE = "wireless-usage" - WIRELESS_USAGE_COMMANDS = "wireless-usage-commands" - WIRELESS_USAGE_COMMANDS_AFRICA = "wireless-usage-commands-africa" - WIRELESS_USAGE_COMMANDS_ASIA = "wireless-usage-commands-asia" - WIRELESS_USAGE_COMMANDS_CENTRALANDSOUTHAMERICA = "wireless-usage-commands-centralandsouthamerica" - WIRELESS_USAGE_COMMANDS_EUROPE = "wireless-usage-commands-europe" - WIRELESS_USAGE_COMMANDS_HOME = "wireless-usage-commands-home" - WIRELESS_USAGE_COMMANDS_NORTHAMERICA = "wireless-usage-commands-northamerica" - WIRELESS_USAGE_COMMANDS_OCEANIA = "wireless-usage-commands-oceania" - WIRELESS_USAGE_COMMANDS_ROAMING = "wireless-usage-commands-roaming" - WIRELESS_USAGE_DATA = "wireless-usage-data" - WIRELESS_USAGE_DATA_AFRICA = "wireless-usage-data-africa" - WIRELESS_USAGE_DATA_ASIA = "wireless-usage-data-asia" - WIRELESS_USAGE_DATA_CENTRALANDSOUTHAMERICA = "wireless-usage-data-centralandsouthamerica" - WIRELESS_USAGE_DATA_CUSTOM_ADDITIONALMB = "wireless-usage-data-custom-additionalmb" - WIRELESS_USAGE_DATA_CUSTOM_FIRST5MB = "wireless-usage-data-custom-first5mb" - WIRELESS_USAGE_DATA_DOMESTIC_ROAMING = "wireless-usage-data-domestic-roaming" - WIRELESS_USAGE_DATA_EUROPE = "wireless-usage-data-europe" - WIRELESS_USAGE_DATA_INDIVIDUAL_ADDITIONALGB = "wireless-usage-data-individual-additionalgb" - WIRELESS_USAGE_DATA_INDIVIDUAL_FIRSTGB = "wireless-usage-data-individual-firstgb" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_CANADA = "wireless-usage-data-international-roaming-canada" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_INDIA = "wireless-usage-data-international-roaming-india" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_MEXICO = "wireless-usage-data-international-roaming-mexico" - WIRELESS_USAGE_DATA_NORTHAMERICA = "wireless-usage-data-northamerica" - WIRELESS_USAGE_DATA_OCEANIA = "wireless-usage-data-oceania" - WIRELESS_USAGE_DATA_POOLED = "wireless-usage-data-pooled" - WIRELESS_USAGE_DATA_POOLED_DOWNLINK = "wireless-usage-data-pooled-downlink" - WIRELESS_USAGE_DATA_POOLED_UPLINK = "wireless-usage-data-pooled-uplink" - WIRELESS_USAGE_MRC = "wireless-usage-mrc" - WIRELESS_USAGE_MRC_CUSTOM = "wireless-usage-mrc-custom" - WIRELESS_USAGE_MRC_INDIVIDUAL = "wireless-usage-mrc-individual" - WIRELESS_USAGE_MRC_POOLED = "wireless-usage-mrc-pooled" - WIRELESS_USAGE_MRC_SUSPENDED = "wireless-usage-mrc-suspended" - WIRELESS_USAGE_VOICE = "wireless-usage-voice" - WIRELESS_USAGE_SMS = "wireless-usage-sms" - - def __init__(self, version, payload, account_sid): - """ - Initialize the ThisMonthInstance - - :returns: twilio.rest.api.v2010.account.usage.record.this_month.ThisMonthInstance - :rtype: twilio.rest.api.v2010.account.usage.record.this_month.ThisMonthInstance - """ - super(ThisMonthInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'api_version': payload['api_version'], - 'category': payload['category'], - 'count': payload['count'], - 'count_unit': payload['count_unit'], - 'description': payload['description'], - 'end_date': deserialize.iso8601_date(payload['end_date']), - 'price': deserialize.decimal(payload['price']), - 'price_unit': payload['price_unit'], - 'start_date': deserialize.iso8601_date(payload['start_date']), - 'subresource_uris': payload['subresource_uris'], - 'uri': payload['uri'], - 'usage': payload['usage'], - 'usage_unit': payload['usage_unit'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, } - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def api_version(self): - """ - :returns: The api_version - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def category(self): - """ - :returns: The category - :rtype: ThisMonthInstance.Category - """ - return self._properties['category'] - - @property - def count(self): - """ - :returns: The count - :rtype: unicode - """ - return self._properties['count'] - - @property - def count_unit(self): - """ - :returns: The count_unit - :rtype: unicode - """ - return self._properties['count_unit'] - - @property - def description(self): - """ - :returns: The description - :rtype: unicode - """ - return self._properties['description'] - - @property - def end_date(self): - """ - :returns: The end_date - :rtype: date - """ - return self._properties['end_date'] - - @property - def price(self): - """ - :returns: The price - :rtype: unicode - """ - return self._properties['price'] - - @property - def price_unit(self): - """ - :returns: The price_unit - :rtype: unicode - """ - return self._properties['price_unit'] - - @property - def start_date(self): - """ - :returns: The start_date - :rtype: date - """ - return self._properties['start_date'] - - @property - def subresource_uris(self): - """ - :returns: The subresource_uris - :rtype: unicode - """ - return self._properties['subresource_uris'] - - @property - def uri(self): - """ - :returns: The uri - :rtype: unicode - """ - return self._properties['uri'] - - @property - def usage(self): - """ - :returns: The usage - :rtype: unicode - """ - return self._properties['usage'] - - @property - def usage_unit(self): - """ - :returns: The usage_unit - :rtype: unicode - """ - return self._properties['usage_unit'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.ThisMonthInstance>' diff --git a/twilio/rest/api/v2010/account/usage/record/today.py b/twilio/rest/api/v2010/account/usage/record/today.py deleted file mode 100644 index d60c3bf..0000000 --- a/twilio/rest/api/v2010/account/usage/record/today.py +++ /dev/null @@ -1,580 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class TodayList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the TodayList - - :param Version version: Version that contains the resource - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.usage.record.today.TodayList - :rtype: twilio.rest.api.v2010.account.usage.record.today.TodayList - """ - super(TodayList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/Usage/Records/Today.json'.format(**self._solution) - - def stream(self, category=values.unset, start_date=values.unset, - end_date=values.unset, limit=None, page_size=None): - """ - Streams TodayInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param TodayInstance.Category category: The category - :param date start_date: The start_date - :param date end_date: The end_date - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.usage.record.today.TodayInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - category=category, - start_date=start_date, - end_date=end_date, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, category=values.unset, start_date=values.unset, - end_date=values.unset, limit=None, page_size=None): - """ - Lists TodayInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param TodayInstance.Category category: The category - :param date start_date: The start_date - :param date end_date: The end_date - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.usage.record.today.TodayInstance] - """ - return list(self.stream( - category=category, - start_date=start_date, - end_date=end_date, - limit=limit, - page_size=page_size, - )) - - def page(self, category=values.unset, start_date=values.unset, - end_date=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of TodayInstance records from the API. - Request is executed immediately - - :param TodayInstance.Category category: The category - :param date start_date: The start_date - :param date end_date: The end_date - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of TodayInstance - :rtype: twilio.rest.api.v2010.account.usage.record.today.TodayPage - """ - params = values.of({ - 'Category': category, - 'StartDate': serialize.iso8601_date(start_date), - 'EndDate': serialize.iso8601_date(end_date), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return TodayPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of TodayInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of TodayInstance - :rtype: twilio.rest.api.v2010.account.usage.record.today.TodayPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return TodayPage(self._version, response, self._solution) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.TodayList>' - - -class TodayPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the TodayPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.usage.record.today.TodayPage - :rtype: twilio.rest.api.v2010.account.usage.record.today.TodayPage - """ - super(TodayPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of TodayInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.usage.record.today.TodayInstance - :rtype: twilio.rest.api.v2010.account.usage.record.today.TodayInstance - """ - return TodayInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.TodayPage>' - - -class TodayInstance(InstanceResource): - """ """ - - class Category(object): - ANSWERING_MACHINE_DETECTION = "answering-machine-detection" - AUTHY_AUTHENTICATIONS = "authy-authentications" - AUTHY_CALLS_OUTBOUND = "authy-calls-outbound" - AUTHY_MONTHLY_FEES = "authy-monthly-fees" - AUTHY_PHONE_INTELLIGENCE = "authy-phone-intelligence" - AUTHY_PHONE_VERIFICATIONS = "authy-phone-verifications" - AUTHY_SMS_OUTBOUND = "authy-sms-outbound" - CALL_PROGESS_EVENTS = "call-progess-events" - CALLERIDLOOKUPS = "calleridlookups" - CALLS = "calls" - CALLS_CLIENT = "calls-client" - CALLS_GLOBALCONFERENCE = "calls-globalconference" - CALLS_INBOUND = "calls-inbound" - CALLS_INBOUND_LOCAL = "calls-inbound-local" - CALLS_INBOUND_MOBILE = "calls-inbound-mobile" - CALLS_INBOUND_TOLLFREE = "calls-inbound-tollfree" - CALLS_OUTBOUND = "calls-outbound" - CALLS_RECORDINGS = "calls-recordings" - CALLS_SIP = "calls-sip" - CALLS_SIP_INBOUND = "calls-sip-inbound" - CALLS_SIP_OUTBOUND = "calls-sip-outbound" - CARRIER_LOOKUPS = "carrier-lookups" - CONVERSATIONS = "conversations" - CONVERSATIONS_API_REQUESTS = "conversations-api-requests" - CONVERSATIONS_CONVERSATION_EVENTS = "conversations-conversation-events" - CONVERSATIONS_ENDPOINT_CONNECTIVITY = "conversations-endpoint-connectivity" - CONVERSATIONS_EVENTS = "conversations-events" - CONVERSATIONS_PARTICIPANT_EVENTS = "conversations-participant-events" - CONVERSATIONS_PARTICIPANTS = "conversations-participants" - CPS = "cps" - GROUP_ROOMS = "group-rooms" - GROUP_ROOMS_DATA_TRACK = "group-rooms-data-track" - GROUP_ROOMS_ENCRYPTED_MEDIA_RECORDED = "group-rooms-encrypted-media-recorded" - GROUP_ROOMS_MEDIA_DOWNLOADED = "group-rooms-media-downloaded" - GROUP_ROOMS_MEDIA_RECORDED = "group-rooms-media-recorded" - GROUP_ROOMS_MEDIA_ROUTED = "group-rooms-media-routed" - GROUP_ROOMS_MEDIA_STORED = "group-rooms-media-stored" - GROUP_ROOMS_PARTICIPANT_MINUTES = "group-rooms-participant-minutes" - GROUP_ROOMS_RECORDED_MINUTES = "group-rooms-recorded-minutes" - IP_MESSAGING = "ip-messaging" - IP_MESSAGING_COMMANDS = "ip-messaging-commands" - IP_MESSAGING_DATA_STORAGE = "ip-messaging-data-storage" - IP_MESSAGING_DATA_TRANSFER = "ip-messaging-data-transfer" - IP_MESSAGING_ENDPOINT_CONNECTIVITY = "ip-messaging-endpoint-connectivity" - LOOKUPS = "lookups" - MARKETPLACE = "marketplace" - MARKETPLACE_ALGORITHMIA_NAMED_ENTITY_RECOGNITION = "marketplace-algorithmia-named-entity-recognition" - MARKETPLACE_DIGITAL_SEGMENT_BUSINESS_INFO = "marketplace-digital-segment-business-info" - MARKETPLACE_GOOGLE_SPEECH_TO_TEXT = "marketplace-google-speech-to-text" - MARKETPLACE_IBM_WATSON_MESSAGE_INSIGHTS = "marketplace-ibm-watson-message-insights" - MARKETPLACE_IBM_WATSON_MESSAGE_SENTIMENT = "marketplace-ibm-watson-message-sentiment" - MARKETPLACE_IBM_WATSON_RECORDING_ANALYSIS = "marketplace-ibm-watson-recording-analysis" - MARKETPLACE_ICEHOOK_SYSTEMS_SCOUT = "marketplace-icehook-systems-scout" - MARKETPLACE_INFOGROUP_DATAAXLE_BIZINFO = "marketplace-infogroup-dataaxle-bizinfo" - MARKETPLACE_CADENCE_TRANSCRIPTION = "marketplace-cadence-transcription" - MARKETPLACE_CADENCE_TRANSLATION = "marketplace-cadence-translation" - MARKETPLACE_CAPIO_SPEECH_TO_TEXT = "marketplace-capio-speech-to-text" - MARKETPLACE_FACEBOOK_OFFLINE_CONVERSIONS = "marketplace-facebook-offline-conversions" - MARKETPLACE_KEEN_IO_CONTACT_CENTER_ANALYTICS = "marketplace-keen-io-contact-center-analytics" - MARKETPLACE_MARCHEX_CLEANCALL = "marketplace-marchex-cleancall" - MARKETPLACE_MARCHEX_SENTIMENT_ANALYSIS_FOR_SMS = "marketplace-marchex-sentiment-analysis-for-sms" - MARKETPLACE_MARKETPLACE_NEXTCALLER_SOCIAL_ID = "marketplace-marketplace-nextcaller-social-id" - MARKETPLACE_MOBILE_COMMONS_OPT_OUT_CLASSIFIER = "marketplace-mobile-commons-opt-out-classifier" - MARKETPLACE_NEXIWAVE_VOICEMAIL_TO_TEXT = "marketplace-nexiwave-voicemail-to-text" - MARKETPLACE_NEXTCALLER_ADVANCED_CALLER_IDENTIFICATION = "marketplace-nextcaller-advanced-caller-identification" - MARKETPLACE_NOMOROBO_SPAM_SCORE = "marketplace-nomorobo-spam-score" - MARKETPLACE_PAYFONE_TCPA_COMPLIANCE = "marketplace-payfone-tcpa-compliance" - MARKETPLACE_TELO_OPENCNAM = "marketplace-telo-opencnam" - MARKETPLACE_TRUECNAM_TRUE_SPAM = "marketplace-truecnam-true-spam" - MARKETPLACE_TWILIO_CALLER_NAME_LOOKUP_US = "marketplace-twilio-caller-name-lookup-us" - MARKETPLACE_TWILIO_CARRIER_INFORMATION_LOOKUP = "marketplace-twilio-carrier-information-lookup" - MARKETPLACE_VOICEBASE_PCI = "marketplace-voicebase-pci" - MARKETPLACE_VOICEBASE_TRANSCRIPTION = "marketplace-voicebase-transcription" - MARKETPLACE_WHITEPAGES_PRO_CALLER_IDENTIFICATION = "marketplace-whitepages-pro-caller-identification" - MARKETPLACE_WHITEPAGES_PRO_PHONE_INTELLIGENCE = "marketplace-whitepages-pro-phone-intelligence" - MARKETPLACE_WHITEPAGES_PRO_PHONE_REPUTATION = "marketplace-whitepages-pro-phone-reputation" - MARKETPLACE_WOLFRAM_SHORT_ANSWER = "marketplace-wolfram-short-answer" - MARKETPLACE_WOLFARM_SPOKEN_RESULTS = "marketplace-wolfarm-spoken-results" - MARKETPLACE_DEEPGRAM_PHRASE_DETECTOR = "marketplace-deepgram-phrase-detector" - MARKETPLACE_CONVRIZA_ABABA = "marketplace-convriza-ababa" - MARKETPLACE_IBM_WATSON_TONE_ANALYZER = "marketplace-ibm-watson-tone-analyzer" - MARKETPLACE_REMEETING_AUTOMATIC_SPEECH_RECOGNITION = "marketplace-remeeting-automatic-speech-recognition" - MARKETPLACE_TCPA_DEFENSE_SOLUTIONS_BLACKLIST_FEED = "marketplace-tcpa-defense-solutions-blacklist-feed" - MARKETPLACE_VOICEBASE_TRANSCRIPTION_CUSTOM_VOCABULARY = "marketplace-voicebase-transcription-custom-vocabulary" - MARKETPLACE_YTICA_CONTACT_CENTER_REPORTING_ANALYTICS = "marketplace-ytica-contact-center-reporting-analytics" - MEDIASTORAGE = "mediastorage" - MMS = "mms" - MMS_INBOUND = "mms-inbound" - MMS_INBOUND_LONGCODE = "mms-inbound-longcode" - MMS_INBOUND_SHORTCODE = "mms-inbound-shortcode" - MMS_OUTBOUND = "mms-outbound" - MMS_OUTBOUND_LONGCODE = "mms-outbound-longcode" - MMS_OUTBOUND_SHORTCODE = "mms-outbound-shortcode" - MONITOR_READS = "monitor-reads" - MONITOR_STORAGE = "monitor-storage" - MONITOR_WRITES = "monitor-writes" - NOTIFY = "notify" - NOTIFY_ACTIONS_ATTEMPTS = "notify-actions-attempts" - NOTIFY_CHANNELS = "notify-channels" - NUMBER_FORMAT_LOOKUPS = "number-format-lookups" - PCHAT = "pchat" - PCHAT_ACTIONS = "pchat-actions" - PCHAT_APS = "pchat-aps" - PCHAT_NOTIFICATIONS = "pchat-notifications" - PCHAT_READS = "pchat-reads" - PCHAT_USERS = "pchat-users" - PCHAT_MESSAGES = "pchat-messages" - PEER_TO_PEER_ROOMS_PARTICIPANT_MINUTES = "peer-to-peer-rooms-participant-minutes" - PFAX = "pfax" - PFAX_MINUTES = "pfax-minutes" - PFAX_MINUTES_INBOUND = "pfax-minutes-inbound" - PFAX_MINUTES_OUTBOUND = "pfax-minutes-outbound" - PFAX_PAGES = "pfax-pages" - PHONENUMBERS = "phonenumbers" - PHONENUMBERS_CPS = "phonenumbers-cps" - PHONENUMBERS_EMERGENCY = "phonenumbers-emergency" - PHONENUMBERS_LOCAL = "phonenumbers-local" - PHONENUMBERS_MOBILE = "phonenumbers-mobile" - PHONENUMBERS_SETUPS = "phonenumbers-setups" - PHONENUMBERS_TOLLFREE = "phonenumbers-tollfree" - PREMIUMSUPPORT = "premiumsupport" - PROXY = "proxy" - PV = "pv" - PV_ROOM_PARTICIPANTS = "pv-room-participants" - PV_ROOM_PARTICIPANTS_AU1 = "pv-room-participants-au1" - PV_ROOM_PARTICIPANTS_BR1 = "pv-room-participants-br1" - PV_ROOM_PARTICIPANTS_IE1 = "pv-room-participants-ie1" - PV_ROOM_PARTICIPANTS_JP1 = "pv-room-participants-jp1" - PV_ROOM_PARTICIPANTS_SG1 = "pv-room-participants-sg1" - PV_ROOM_PARTICIPANTS_US1 = "pv-room-participants-us1" - PV_ROOM_PARTICIPANTS_US2 = "pv-room-participants-us2" - PV_ROOMS = "pv-rooms" - PV_SIP_ENDPOINT_REGISTRATIONS = "pv-sip-endpoint-registrations" - RECORDINGS = "recordings" - RECORDINGSTORAGE = "recordingstorage" - ROOMS_GROUP_MINUTES = "rooms-group-minutes" - ROOMS_GROUP_BANDWIDTH = "rooms-group-bandwidth" - ROOMS_PEER_TO_PEER_MINUTES = "rooms-peer-to-peer-minutes" - SHORTCODES = "shortcodes" - SHORTCODES_CUSTOMEROWNED = "shortcodes-customerowned" - SHORTCODES_MMS_ENABLEMENT = "shortcodes-mms-enablement" - SHORTCODES_MPS = "shortcodes-mps" - SHORTCODES_RANDOM = "shortcodes-random" - SHORTCODES_UK = "shortcodes-uk" - SHORTCODES_VANITY = "shortcodes-vanity" - SMS = "sms" - SMS_INBOUND = "sms-inbound" - SMS_INBOUND_LONGCODE = "sms-inbound-longcode" - SMS_INBOUND_SHORTCODE = "sms-inbound-shortcode" - SMS_OUTBOUND = "sms-outbound" - SMS_OUTBOUND_CONTENT_INSPECTION = "sms-outbound-content-inspection" - SMS_OUTBOUND_LONGCODE = "sms-outbound-longcode" - SMS_OUTBOUND_SHORTCODE = "sms-outbound-shortcode" - SMS_MESSAGES_FEATURES = "sms-messages-features" - SMS_MESSAGES_FEATURES_SENDERID = "sms-messages-features-senderid" - SPEECH_RECOGNITION = "speech-recognition" - STUDIO_ENGAGEMENTS = "studio-engagements" - SYNC = "sync" - SYNC_ACTIONS = "sync-actions" - SYNC_ENDPOINT_HOURS = "sync-endpoint-hours" - SYNC_ENDPOINT_HOURS_ABOVE_DAILY_CAP = "sync-endpoint-hours-above-daily-cap" - TASKROUTER_TASKS = "taskrouter-tasks" - TOTALPRICE = "totalprice" - TRANSCRIPTIONS = "transcriptions" - TRUNKING_CPS = "trunking-cps" - TRUNKING_EMERGENCY_CALLS = "trunking-emergency-calls" - TRUNKING_ORIGINATION = "trunking-origination" - TRUNKING_ORIGINATION_LOCAL = "trunking-origination-local" - TRUNKING_ORIGINATION_MOBILE = "trunking-origination-mobile" - TRUNKING_ORIGINATION_TOLLFREE = "trunking-origination-tollfree" - TRUNKING_RECORDINGS = "trunking-recordings" - TRUNKING_SECURE = "trunking-secure" - TRUNKING_TERMINATION = "trunking-termination" - TURNMEGABYTES = "turnmegabytes" - TURNMEGABYTES_AUSTRALIA = "turnmegabytes-australia" - TURNMEGABYTES_BRASIL = "turnmegabytes-brasil" - TURNMEGABYTES_INDIA = "turnmegabytes-india" - TURNMEGABYTES_IRELAND = "turnmegabytes-ireland" - TURNMEGABYTES_JAPAN = "turnmegabytes-japan" - TURNMEGABYTES_SINGAPORE = "turnmegabytes-singapore" - TURNMEGABYTES_USEAST = "turnmegabytes-useast" - TURNMEGABYTES_USWEST = "turnmegabytes-uswest" - TWILIO_INTERCONNECT = "twilio-interconnect" - VIDEO_RECORDINGS = "video-recordings" - VOICE_INSIGHTS = "voice-insights" - VOICE_INSIGHTS_AUDIO_TRACE = "voice-insights-audio-trace" - VOICE_INSIGHTS_CARRIER_CALLS = "voice-insights-carrier-calls" - WIRELESS = "wireless" - WIRELESS_ORDERS = "wireless-orders" - WIRELESS_ORDERS_ARTWORK = "wireless-orders-artwork" - WIRELESS_ORDERS_BULK = "wireless-orders-bulk" - WIRELESS_ORDERS_ESIM = "wireless-orders-esim" - WIRELESS_ORDERS_STARTER = "wireless-orders-starter" - WIRELESS_USAGE = "wireless-usage" - WIRELESS_USAGE_COMMANDS = "wireless-usage-commands" - WIRELESS_USAGE_COMMANDS_AFRICA = "wireless-usage-commands-africa" - WIRELESS_USAGE_COMMANDS_ASIA = "wireless-usage-commands-asia" - WIRELESS_USAGE_COMMANDS_CENTRALANDSOUTHAMERICA = "wireless-usage-commands-centralandsouthamerica" - WIRELESS_USAGE_COMMANDS_EUROPE = "wireless-usage-commands-europe" - WIRELESS_USAGE_COMMANDS_HOME = "wireless-usage-commands-home" - WIRELESS_USAGE_COMMANDS_NORTHAMERICA = "wireless-usage-commands-northamerica" - WIRELESS_USAGE_COMMANDS_OCEANIA = "wireless-usage-commands-oceania" - WIRELESS_USAGE_COMMANDS_ROAMING = "wireless-usage-commands-roaming" - WIRELESS_USAGE_DATA = "wireless-usage-data" - WIRELESS_USAGE_DATA_AFRICA = "wireless-usage-data-africa" - WIRELESS_USAGE_DATA_ASIA = "wireless-usage-data-asia" - WIRELESS_USAGE_DATA_CENTRALANDSOUTHAMERICA = "wireless-usage-data-centralandsouthamerica" - WIRELESS_USAGE_DATA_CUSTOM_ADDITIONALMB = "wireless-usage-data-custom-additionalmb" - WIRELESS_USAGE_DATA_CUSTOM_FIRST5MB = "wireless-usage-data-custom-first5mb" - WIRELESS_USAGE_DATA_DOMESTIC_ROAMING = "wireless-usage-data-domestic-roaming" - WIRELESS_USAGE_DATA_EUROPE = "wireless-usage-data-europe" - WIRELESS_USAGE_DATA_INDIVIDUAL_ADDITIONALGB = "wireless-usage-data-individual-additionalgb" - WIRELESS_USAGE_DATA_INDIVIDUAL_FIRSTGB = "wireless-usage-data-individual-firstgb" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_CANADA = "wireless-usage-data-international-roaming-canada" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_INDIA = "wireless-usage-data-international-roaming-india" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_MEXICO = "wireless-usage-data-international-roaming-mexico" - WIRELESS_USAGE_DATA_NORTHAMERICA = "wireless-usage-data-northamerica" - WIRELESS_USAGE_DATA_OCEANIA = "wireless-usage-data-oceania" - WIRELESS_USAGE_DATA_POOLED = "wireless-usage-data-pooled" - WIRELESS_USAGE_DATA_POOLED_DOWNLINK = "wireless-usage-data-pooled-downlink" - WIRELESS_USAGE_DATA_POOLED_UPLINK = "wireless-usage-data-pooled-uplink" - WIRELESS_USAGE_MRC = "wireless-usage-mrc" - WIRELESS_USAGE_MRC_CUSTOM = "wireless-usage-mrc-custom" - WIRELESS_USAGE_MRC_INDIVIDUAL = "wireless-usage-mrc-individual" - WIRELESS_USAGE_MRC_POOLED = "wireless-usage-mrc-pooled" - WIRELESS_USAGE_MRC_SUSPENDED = "wireless-usage-mrc-suspended" - WIRELESS_USAGE_VOICE = "wireless-usage-voice" - WIRELESS_USAGE_SMS = "wireless-usage-sms" - - def __init__(self, version, payload, account_sid): - """ - Initialize the TodayInstance - - :returns: twilio.rest.api.v2010.account.usage.record.today.TodayInstance - :rtype: twilio.rest.api.v2010.account.usage.record.today.TodayInstance - """ - super(TodayInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'api_version': payload['api_version'], - 'category': payload['category'], - 'count': payload['count'], - 'count_unit': payload['count_unit'], - 'description': payload['description'], - 'end_date': deserialize.iso8601_date(payload['end_date']), - 'price': deserialize.decimal(payload['price']), - 'price_unit': payload['price_unit'], - 'start_date': deserialize.iso8601_date(payload['start_date']), - 'subresource_uris': payload['subresource_uris'], - 'uri': payload['uri'], - 'usage': payload['usage'], - 'usage_unit': payload['usage_unit'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, } - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def api_version(self): - """ - :returns: The api_version - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def category(self): - """ - :returns: The category - :rtype: TodayInstance.Category - """ - return self._properties['category'] - - @property - def count(self): - """ - :returns: The count - :rtype: unicode - """ - return self._properties['count'] - - @property - def count_unit(self): - """ - :returns: The count_unit - :rtype: unicode - """ - return self._properties['count_unit'] - - @property - def description(self): - """ - :returns: The description - :rtype: unicode - """ - return self._properties['description'] - - @property - def end_date(self): - """ - :returns: The end_date - :rtype: date - """ - return self._properties['end_date'] - - @property - def price(self): - """ - :returns: The price - :rtype: unicode - """ - return self._properties['price'] - - @property - def price_unit(self): - """ - :returns: The price_unit - :rtype: unicode - """ - return self._properties['price_unit'] - - @property - def start_date(self): - """ - :returns: The start_date - :rtype: date - """ - return self._properties['start_date'] - - @property - def subresource_uris(self): - """ - :returns: The subresource_uris - :rtype: unicode - """ - return self._properties['subresource_uris'] - - @property - def uri(self): - """ - :returns: The uri - :rtype: unicode - """ - return self._properties['uri'] - - @property - def usage(self): - """ - :returns: The usage - :rtype: unicode - """ - return self._properties['usage'] - - @property - def usage_unit(self): - """ - :returns: The usage_unit - :rtype: unicode - """ - return self._properties['usage_unit'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.TodayInstance>' diff --git a/twilio/rest/api/v2010/account/usage/record/yearly.py b/twilio/rest/api/v2010/account/usage/record/yearly.py deleted file mode 100644 index a19fff3..0000000 --- a/twilio/rest/api/v2010/account/usage/record/yearly.py +++ /dev/null @@ -1,580 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class YearlyList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the YearlyList - - :param Version version: Version that contains the resource - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.usage.record.yearly.YearlyList - :rtype: twilio.rest.api.v2010.account.usage.record.yearly.YearlyList - """ - super(YearlyList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/Usage/Records/Yearly.json'.format(**self._solution) - - def stream(self, category=values.unset, start_date=values.unset, - end_date=values.unset, limit=None, page_size=None): - """ - Streams YearlyInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param YearlyInstance.Category category: The category - :param date start_date: The start_date - :param date end_date: The end_date - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.usage.record.yearly.YearlyInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - category=category, - start_date=start_date, - end_date=end_date, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, category=values.unset, start_date=values.unset, - end_date=values.unset, limit=None, page_size=None): - """ - Lists YearlyInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param YearlyInstance.Category category: The category - :param date start_date: The start_date - :param date end_date: The end_date - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.usage.record.yearly.YearlyInstance] - """ - return list(self.stream( - category=category, - start_date=start_date, - end_date=end_date, - limit=limit, - page_size=page_size, - )) - - def page(self, category=values.unset, start_date=values.unset, - end_date=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of YearlyInstance records from the API. - Request is executed immediately - - :param YearlyInstance.Category category: The category - :param date start_date: The start_date - :param date end_date: The end_date - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of YearlyInstance - :rtype: twilio.rest.api.v2010.account.usage.record.yearly.YearlyPage - """ - params = values.of({ - 'Category': category, - 'StartDate': serialize.iso8601_date(start_date), - 'EndDate': serialize.iso8601_date(end_date), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return YearlyPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of YearlyInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of YearlyInstance - :rtype: twilio.rest.api.v2010.account.usage.record.yearly.YearlyPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return YearlyPage(self._version, response, self._solution) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.YearlyList>' - - -class YearlyPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the YearlyPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.usage.record.yearly.YearlyPage - :rtype: twilio.rest.api.v2010.account.usage.record.yearly.YearlyPage - """ - super(YearlyPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of YearlyInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.usage.record.yearly.YearlyInstance - :rtype: twilio.rest.api.v2010.account.usage.record.yearly.YearlyInstance - """ - return YearlyInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.YearlyPage>' - - -class YearlyInstance(InstanceResource): - """ """ - - class Category(object): - ANSWERING_MACHINE_DETECTION = "answering-machine-detection" - AUTHY_AUTHENTICATIONS = "authy-authentications" - AUTHY_CALLS_OUTBOUND = "authy-calls-outbound" - AUTHY_MONTHLY_FEES = "authy-monthly-fees" - AUTHY_PHONE_INTELLIGENCE = "authy-phone-intelligence" - AUTHY_PHONE_VERIFICATIONS = "authy-phone-verifications" - AUTHY_SMS_OUTBOUND = "authy-sms-outbound" - CALL_PROGESS_EVENTS = "call-progess-events" - CALLERIDLOOKUPS = "calleridlookups" - CALLS = "calls" - CALLS_CLIENT = "calls-client" - CALLS_GLOBALCONFERENCE = "calls-globalconference" - CALLS_INBOUND = "calls-inbound" - CALLS_INBOUND_LOCAL = "calls-inbound-local" - CALLS_INBOUND_MOBILE = "calls-inbound-mobile" - CALLS_INBOUND_TOLLFREE = "calls-inbound-tollfree" - CALLS_OUTBOUND = "calls-outbound" - CALLS_RECORDINGS = "calls-recordings" - CALLS_SIP = "calls-sip" - CALLS_SIP_INBOUND = "calls-sip-inbound" - CALLS_SIP_OUTBOUND = "calls-sip-outbound" - CARRIER_LOOKUPS = "carrier-lookups" - CONVERSATIONS = "conversations" - CONVERSATIONS_API_REQUESTS = "conversations-api-requests" - CONVERSATIONS_CONVERSATION_EVENTS = "conversations-conversation-events" - CONVERSATIONS_ENDPOINT_CONNECTIVITY = "conversations-endpoint-connectivity" - CONVERSATIONS_EVENTS = "conversations-events" - CONVERSATIONS_PARTICIPANT_EVENTS = "conversations-participant-events" - CONVERSATIONS_PARTICIPANTS = "conversations-participants" - CPS = "cps" - GROUP_ROOMS = "group-rooms" - GROUP_ROOMS_DATA_TRACK = "group-rooms-data-track" - GROUP_ROOMS_ENCRYPTED_MEDIA_RECORDED = "group-rooms-encrypted-media-recorded" - GROUP_ROOMS_MEDIA_DOWNLOADED = "group-rooms-media-downloaded" - GROUP_ROOMS_MEDIA_RECORDED = "group-rooms-media-recorded" - GROUP_ROOMS_MEDIA_ROUTED = "group-rooms-media-routed" - GROUP_ROOMS_MEDIA_STORED = "group-rooms-media-stored" - GROUP_ROOMS_PARTICIPANT_MINUTES = "group-rooms-participant-minutes" - GROUP_ROOMS_RECORDED_MINUTES = "group-rooms-recorded-minutes" - IP_MESSAGING = "ip-messaging" - IP_MESSAGING_COMMANDS = "ip-messaging-commands" - IP_MESSAGING_DATA_STORAGE = "ip-messaging-data-storage" - IP_MESSAGING_DATA_TRANSFER = "ip-messaging-data-transfer" - IP_MESSAGING_ENDPOINT_CONNECTIVITY = "ip-messaging-endpoint-connectivity" - LOOKUPS = "lookups" - MARKETPLACE = "marketplace" - MARKETPLACE_ALGORITHMIA_NAMED_ENTITY_RECOGNITION = "marketplace-algorithmia-named-entity-recognition" - MARKETPLACE_DIGITAL_SEGMENT_BUSINESS_INFO = "marketplace-digital-segment-business-info" - MARKETPLACE_GOOGLE_SPEECH_TO_TEXT = "marketplace-google-speech-to-text" - MARKETPLACE_IBM_WATSON_MESSAGE_INSIGHTS = "marketplace-ibm-watson-message-insights" - MARKETPLACE_IBM_WATSON_MESSAGE_SENTIMENT = "marketplace-ibm-watson-message-sentiment" - MARKETPLACE_IBM_WATSON_RECORDING_ANALYSIS = "marketplace-ibm-watson-recording-analysis" - MARKETPLACE_ICEHOOK_SYSTEMS_SCOUT = "marketplace-icehook-systems-scout" - MARKETPLACE_INFOGROUP_DATAAXLE_BIZINFO = "marketplace-infogroup-dataaxle-bizinfo" - MARKETPLACE_CADENCE_TRANSCRIPTION = "marketplace-cadence-transcription" - MARKETPLACE_CADENCE_TRANSLATION = "marketplace-cadence-translation" - MARKETPLACE_CAPIO_SPEECH_TO_TEXT = "marketplace-capio-speech-to-text" - MARKETPLACE_FACEBOOK_OFFLINE_CONVERSIONS = "marketplace-facebook-offline-conversions" - MARKETPLACE_KEEN_IO_CONTACT_CENTER_ANALYTICS = "marketplace-keen-io-contact-center-analytics" - MARKETPLACE_MARCHEX_CLEANCALL = "marketplace-marchex-cleancall" - MARKETPLACE_MARCHEX_SENTIMENT_ANALYSIS_FOR_SMS = "marketplace-marchex-sentiment-analysis-for-sms" - MARKETPLACE_MARKETPLACE_NEXTCALLER_SOCIAL_ID = "marketplace-marketplace-nextcaller-social-id" - MARKETPLACE_MOBILE_COMMONS_OPT_OUT_CLASSIFIER = "marketplace-mobile-commons-opt-out-classifier" - MARKETPLACE_NEXIWAVE_VOICEMAIL_TO_TEXT = "marketplace-nexiwave-voicemail-to-text" - MARKETPLACE_NEXTCALLER_ADVANCED_CALLER_IDENTIFICATION = "marketplace-nextcaller-advanced-caller-identification" - MARKETPLACE_NOMOROBO_SPAM_SCORE = "marketplace-nomorobo-spam-score" - MARKETPLACE_PAYFONE_TCPA_COMPLIANCE = "marketplace-payfone-tcpa-compliance" - MARKETPLACE_TELO_OPENCNAM = "marketplace-telo-opencnam" - MARKETPLACE_TRUECNAM_TRUE_SPAM = "marketplace-truecnam-true-spam" - MARKETPLACE_TWILIO_CALLER_NAME_LOOKUP_US = "marketplace-twilio-caller-name-lookup-us" - MARKETPLACE_TWILIO_CARRIER_INFORMATION_LOOKUP = "marketplace-twilio-carrier-information-lookup" - MARKETPLACE_VOICEBASE_PCI = "marketplace-voicebase-pci" - MARKETPLACE_VOICEBASE_TRANSCRIPTION = "marketplace-voicebase-transcription" - MARKETPLACE_WHITEPAGES_PRO_CALLER_IDENTIFICATION = "marketplace-whitepages-pro-caller-identification" - MARKETPLACE_WHITEPAGES_PRO_PHONE_INTELLIGENCE = "marketplace-whitepages-pro-phone-intelligence" - MARKETPLACE_WHITEPAGES_PRO_PHONE_REPUTATION = "marketplace-whitepages-pro-phone-reputation" - MARKETPLACE_WOLFRAM_SHORT_ANSWER = "marketplace-wolfram-short-answer" - MARKETPLACE_WOLFARM_SPOKEN_RESULTS = "marketplace-wolfarm-spoken-results" - MARKETPLACE_DEEPGRAM_PHRASE_DETECTOR = "marketplace-deepgram-phrase-detector" - MARKETPLACE_CONVRIZA_ABABA = "marketplace-convriza-ababa" - MARKETPLACE_IBM_WATSON_TONE_ANALYZER = "marketplace-ibm-watson-tone-analyzer" - MARKETPLACE_REMEETING_AUTOMATIC_SPEECH_RECOGNITION = "marketplace-remeeting-automatic-speech-recognition" - MARKETPLACE_TCPA_DEFENSE_SOLUTIONS_BLACKLIST_FEED = "marketplace-tcpa-defense-solutions-blacklist-feed" - MARKETPLACE_VOICEBASE_TRANSCRIPTION_CUSTOM_VOCABULARY = "marketplace-voicebase-transcription-custom-vocabulary" - MARKETPLACE_YTICA_CONTACT_CENTER_REPORTING_ANALYTICS = "marketplace-ytica-contact-center-reporting-analytics" - MEDIASTORAGE = "mediastorage" - MMS = "mms" - MMS_INBOUND = "mms-inbound" - MMS_INBOUND_LONGCODE = "mms-inbound-longcode" - MMS_INBOUND_SHORTCODE = "mms-inbound-shortcode" - MMS_OUTBOUND = "mms-outbound" - MMS_OUTBOUND_LONGCODE = "mms-outbound-longcode" - MMS_OUTBOUND_SHORTCODE = "mms-outbound-shortcode" - MONITOR_READS = "monitor-reads" - MONITOR_STORAGE = "monitor-storage" - MONITOR_WRITES = "monitor-writes" - NOTIFY = "notify" - NOTIFY_ACTIONS_ATTEMPTS = "notify-actions-attempts" - NOTIFY_CHANNELS = "notify-channels" - NUMBER_FORMAT_LOOKUPS = "number-format-lookups" - PCHAT = "pchat" - PCHAT_ACTIONS = "pchat-actions" - PCHAT_APS = "pchat-aps" - PCHAT_NOTIFICATIONS = "pchat-notifications" - PCHAT_READS = "pchat-reads" - PCHAT_USERS = "pchat-users" - PCHAT_MESSAGES = "pchat-messages" - PEER_TO_PEER_ROOMS_PARTICIPANT_MINUTES = "peer-to-peer-rooms-participant-minutes" - PFAX = "pfax" - PFAX_MINUTES = "pfax-minutes" - PFAX_MINUTES_INBOUND = "pfax-minutes-inbound" - PFAX_MINUTES_OUTBOUND = "pfax-minutes-outbound" - PFAX_PAGES = "pfax-pages" - PHONENUMBERS = "phonenumbers" - PHONENUMBERS_CPS = "phonenumbers-cps" - PHONENUMBERS_EMERGENCY = "phonenumbers-emergency" - PHONENUMBERS_LOCAL = "phonenumbers-local" - PHONENUMBERS_MOBILE = "phonenumbers-mobile" - PHONENUMBERS_SETUPS = "phonenumbers-setups" - PHONENUMBERS_TOLLFREE = "phonenumbers-tollfree" - PREMIUMSUPPORT = "premiumsupport" - PROXY = "proxy" - PV = "pv" - PV_ROOM_PARTICIPANTS = "pv-room-participants" - PV_ROOM_PARTICIPANTS_AU1 = "pv-room-participants-au1" - PV_ROOM_PARTICIPANTS_BR1 = "pv-room-participants-br1" - PV_ROOM_PARTICIPANTS_IE1 = "pv-room-participants-ie1" - PV_ROOM_PARTICIPANTS_JP1 = "pv-room-participants-jp1" - PV_ROOM_PARTICIPANTS_SG1 = "pv-room-participants-sg1" - PV_ROOM_PARTICIPANTS_US1 = "pv-room-participants-us1" - PV_ROOM_PARTICIPANTS_US2 = "pv-room-participants-us2" - PV_ROOMS = "pv-rooms" - PV_SIP_ENDPOINT_REGISTRATIONS = "pv-sip-endpoint-registrations" - RECORDINGS = "recordings" - RECORDINGSTORAGE = "recordingstorage" - ROOMS_GROUP_MINUTES = "rooms-group-minutes" - ROOMS_GROUP_BANDWIDTH = "rooms-group-bandwidth" - ROOMS_PEER_TO_PEER_MINUTES = "rooms-peer-to-peer-minutes" - SHORTCODES = "shortcodes" - SHORTCODES_CUSTOMEROWNED = "shortcodes-customerowned" - SHORTCODES_MMS_ENABLEMENT = "shortcodes-mms-enablement" - SHORTCODES_MPS = "shortcodes-mps" - SHORTCODES_RANDOM = "shortcodes-random" - SHORTCODES_UK = "shortcodes-uk" - SHORTCODES_VANITY = "shortcodes-vanity" - SMS = "sms" - SMS_INBOUND = "sms-inbound" - SMS_INBOUND_LONGCODE = "sms-inbound-longcode" - SMS_INBOUND_SHORTCODE = "sms-inbound-shortcode" - SMS_OUTBOUND = "sms-outbound" - SMS_OUTBOUND_CONTENT_INSPECTION = "sms-outbound-content-inspection" - SMS_OUTBOUND_LONGCODE = "sms-outbound-longcode" - SMS_OUTBOUND_SHORTCODE = "sms-outbound-shortcode" - SMS_MESSAGES_FEATURES = "sms-messages-features" - SMS_MESSAGES_FEATURES_SENDERID = "sms-messages-features-senderid" - SPEECH_RECOGNITION = "speech-recognition" - STUDIO_ENGAGEMENTS = "studio-engagements" - SYNC = "sync" - SYNC_ACTIONS = "sync-actions" - SYNC_ENDPOINT_HOURS = "sync-endpoint-hours" - SYNC_ENDPOINT_HOURS_ABOVE_DAILY_CAP = "sync-endpoint-hours-above-daily-cap" - TASKROUTER_TASKS = "taskrouter-tasks" - TOTALPRICE = "totalprice" - TRANSCRIPTIONS = "transcriptions" - TRUNKING_CPS = "trunking-cps" - TRUNKING_EMERGENCY_CALLS = "trunking-emergency-calls" - TRUNKING_ORIGINATION = "trunking-origination" - TRUNKING_ORIGINATION_LOCAL = "trunking-origination-local" - TRUNKING_ORIGINATION_MOBILE = "trunking-origination-mobile" - TRUNKING_ORIGINATION_TOLLFREE = "trunking-origination-tollfree" - TRUNKING_RECORDINGS = "trunking-recordings" - TRUNKING_SECURE = "trunking-secure" - TRUNKING_TERMINATION = "trunking-termination" - TURNMEGABYTES = "turnmegabytes" - TURNMEGABYTES_AUSTRALIA = "turnmegabytes-australia" - TURNMEGABYTES_BRASIL = "turnmegabytes-brasil" - TURNMEGABYTES_INDIA = "turnmegabytes-india" - TURNMEGABYTES_IRELAND = "turnmegabytes-ireland" - TURNMEGABYTES_JAPAN = "turnmegabytes-japan" - TURNMEGABYTES_SINGAPORE = "turnmegabytes-singapore" - TURNMEGABYTES_USEAST = "turnmegabytes-useast" - TURNMEGABYTES_USWEST = "turnmegabytes-uswest" - TWILIO_INTERCONNECT = "twilio-interconnect" - VIDEO_RECORDINGS = "video-recordings" - VOICE_INSIGHTS = "voice-insights" - VOICE_INSIGHTS_AUDIO_TRACE = "voice-insights-audio-trace" - VOICE_INSIGHTS_CARRIER_CALLS = "voice-insights-carrier-calls" - WIRELESS = "wireless" - WIRELESS_ORDERS = "wireless-orders" - WIRELESS_ORDERS_ARTWORK = "wireless-orders-artwork" - WIRELESS_ORDERS_BULK = "wireless-orders-bulk" - WIRELESS_ORDERS_ESIM = "wireless-orders-esim" - WIRELESS_ORDERS_STARTER = "wireless-orders-starter" - WIRELESS_USAGE = "wireless-usage" - WIRELESS_USAGE_COMMANDS = "wireless-usage-commands" - WIRELESS_USAGE_COMMANDS_AFRICA = "wireless-usage-commands-africa" - WIRELESS_USAGE_COMMANDS_ASIA = "wireless-usage-commands-asia" - WIRELESS_USAGE_COMMANDS_CENTRALANDSOUTHAMERICA = "wireless-usage-commands-centralandsouthamerica" - WIRELESS_USAGE_COMMANDS_EUROPE = "wireless-usage-commands-europe" - WIRELESS_USAGE_COMMANDS_HOME = "wireless-usage-commands-home" - WIRELESS_USAGE_COMMANDS_NORTHAMERICA = "wireless-usage-commands-northamerica" - WIRELESS_USAGE_COMMANDS_OCEANIA = "wireless-usage-commands-oceania" - WIRELESS_USAGE_COMMANDS_ROAMING = "wireless-usage-commands-roaming" - WIRELESS_USAGE_DATA = "wireless-usage-data" - WIRELESS_USAGE_DATA_AFRICA = "wireless-usage-data-africa" - WIRELESS_USAGE_DATA_ASIA = "wireless-usage-data-asia" - WIRELESS_USAGE_DATA_CENTRALANDSOUTHAMERICA = "wireless-usage-data-centralandsouthamerica" - WIRELESS_USAGE_DATA_CUSTOM_ADDITIONALMB = "wireless-usage-data-custom-additionalmb" - WIRELESS_USAGE_DATA_CUSTOM_FIRST5MB = "wireless-usage-data-custom-first5mb" - WIRELESS_USAGE_DATA_DOMESTIC_ROAMING = "wireless-usage-data-domestic-roaming" - WIRELESS_USAGE_DATA_EUROPE = "wireless-usage-data-europe" - WIRELESS_USAGE_DATA_INDIVIDUAL_ADDITIONALGB = "wireless-usage-data-individual-additionalgb" - WIRELESS_USAGE_DATA_INDIVIDUAL_FIRSTGB = "wireless-usage-data-individual-firstgb" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_CANADA = "wireless-usage-data-international-roaming-canada" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_INDIA = "wireless-usage-data-international-roaming-india" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_MEXICO = "wireless-usage-data-international-roaming-mexico" - WIRELESS_USAGE_DATA_NORTHAMERICA = "wireless-usage-data-northamerica" - WIRELESS_USAGE_DATA_OCEANIA = "wireless-usage-data-oceania" - WIRELESS_USAGE_DATA_POOLED = "wireless-usage-data-pooled" - WIRELESS_USAGE_DATA_POOLED_DOWNLINK = "wireless-usage-data-pooled-downlink" - WIRELESS_USAGE_DATA_POOLED_UPLINK = "wireless-usage-data-pooled-uplink" - WIRELESS_USAGE_MRC = "wireless-usage-mrc" - WIRELESS_USAGE_MRC_CUSTOM = "wireless-usage-mrc-custom" - WIRELESS_USAGE_MRC_INDIVIDUAL = "wireless-usage-mrc-individual" - WIRELESS_USAGE_MRC_POOLED = "wireless-usage-mrc-pooled" - WIRELESS_USAGE_MRC_SUSPENDED = "wireless-usage-mrc-suspended" - WIRELESS_USAGE_VOICE = "wireless-usage-voice" - WIRELESS_USAGE_SMS = "wireless-usage-sms" - - def __init__(self, version, payload, account_sid): - """ - Initialize the YearlyInstance - - :returns: twilio.rest.api.v2010.account.usage.record.yearly.YearlyInstance - :rtype: twilio.rest.api.v2010.account.usage.record.yearly.YearlyInstance - """ - super(YearlyInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'api_version': payload['api_version'], - 'category': payload['category'], - 'count': payload['count'], - 'count_unit': payload['count_unit'], - 'description': payload['description'], - 'end_date': deserialize.iso8601_date(payload['end_date']), - 'price': deserialize.decimal(payload['price']), - 'price_unit': payload['price_unit'], - 'start_date': deserialize.iso8601_date(payload['start_date']), - 'subresource_uris': payload['subresource_uris'], - 'uri': payload['uri'], - 'usage': payload['usage'], - 'usage_unit': payload['usage_unit'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, } - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def api_version(self): - """ - :returns: The api_version - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def category(self): - """ - :returns: The category - :rtype: YearlyInstance.Category - """ - return self._properties['category'] - - @property - def count(self): - """ - :returns: The count - :rtype: unicode - """ - return self._properties['count'] - - @property - def count_unit(self): - """ - :returns: The count_unit - :rtype: unicode - """ - return self._properties['count_unit'] - - @property - def description(self): - """ - :returns: The description - :rtype: unicode - """ - return self._properties['description'] - - @property - def end_date(self): - """ - :returns: The end_date - :rtype: date - """ - return self._properties['end_date'] - - @property - def price(self): - """ - :returns: The price - :rtype: unicode - """ - return self._properties['price'] - - @property - def price_unit(self): - """ - :returns: The price_unit - :rtype: unicode - """ - return self._properties['price_unit'] - - @property - def start_date(self): - """ - :returns: The start_date - :rtype: date - """ - return self._properties['start_date'] - - @property - def subresource_uris(self): - """ - :returns: The subresource_uris - :rtype: unicode - """ - return self._properties['subresource_uris'] - - @property - def uri(self): - """ - :returns: The uri - :rtype: unicode - """ - return self._properties['uri'] - - @property - def usage(self): - """ - :returns: The usage - :rtype: unicode - """ - return self._properties['usage'] - - @property - def usage_unit(self): - """ - :returns: The usage_unit - :rtype: unicode - """ - return self._properties['usage_unit'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.YearlyInstance>' diff --git a/twilio/rest/api/v2010/account/usage/record/yesterday.py b/twilio/rest/api/v2010/account/usage/record/yesterday.py deleted file mode 100644 index 045faed..0000000 --- a/twilio/rest/api/v2010/account/usage/record/yesterday.py +++ /dev/null @@ -1,580 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class YesterdayList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the YesterdayList - - :param Version version: Version that contains the resource - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.usage.record.yesterday.YesterdayList - :rtype: twilio.rest.api.v2010.account.usage.record.yesterday.YesterdayList - """ - super(YesterdayList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/Usage/Records/Yesterday.json'.format(**self._solution) - - def stream(self, category=values.unset, start_date=values.unset, - end_date=values.unset, limit=None, page_size=None): - """ - Streams YesterdayInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param YesterdayInstance.Category category: The category - :param date start_date: The start_date - :param date end_date: The end_date - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.usage.record.yesterday.YesterdayInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - category=category, - start_date=start_date, - end_date=end_date, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, category=values.unset, start_date=values.unset, - end_date=values.unset, limit=None, page_size=None): - """ - Lists YesterdayInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param YesterdayInstance.Category category: The category - :param date start_date: The start_date - :param date end_date: The end_date - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.usage.record.yesterday.YesterdayInstance] - """ - return list(self.stream( - category=category, - start_date=start_date, - end_date=end_date, - limit=limit, - page_size=page_size, - )) - - def page(self, category=values.unset, start_date=values.unset, - end_date=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of YesterdayInstance records from the API. - Request is executed immediately - - :param YesterdayInstance.Category category: The category - :param date start_date: The start_date - :param date end_date: The end_date - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of YesterdayInstance - :rtype: twilio.rest.api.v2010.account.usage.record.yesterday.YesterdayPage - """ - params = values.of({ - 'Category': category, - 'StartDate': serialize.iso8601_date(start_date), - 'EndDate': serialize.iso8601_date(end_date), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return YesterdayPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of YesterdayInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of YesterdayInstance - :rtype: twilio.rest.api.v2010.account.usage.record.yesterday.YesterdayPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return YesterdayPage(self._version, response, self._solution) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.YesterdayList>' - - -class YesterdayPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the YesterdayPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.usage.record.yesterday.YesterdayPage - :rtype: twilio.rest.api.v2010.account.usage.record.yesterday.YesterdayPage - """ - super(YesterdayPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of YesterdayInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.usage.record.yesterday.YesterdayInstance - :rtype: twilio.rest.api.v2010.account.usage.record.yesterday.YesterdayInstance - """ - return YesterdayInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.YesterdayPage>' - - -class YesterdayInstance(InstanceResource): - """ """ - - class Category(object): - ANSWERING_MACHINE_DETECTION = "answering-machine-detection" - AUTHY_AUTHENTICATIONS = "authy-authentications" - AUTHY_CALLS_OUTBOUND = "authy-calls-outbound" - AUTHY_MONTHLY_FEES = "authy-monthly-fees" - AUTHY_PHONE_INTELLIGENCE = "authy-phone-intelligence" - AUTHY_PHONE_VERIFICATIONS = "authy-phone-verifications" - AUTHY_SMS_OUTBOUND = "authy-sms-outbound" - CALL_PROGESS_EVENTS = "call-progess-events" - CALLERIDLOOKUPS = "calleridlookups" - CALLS = "calls" - CALLS_CLIENT = "calls-client" - CALLS_GLOBALCONFERENCE = "calls-globalconference" - CALLS_INBOUND = "calls-inbound" - CALLS_INBOUND_LOCAL = "calls-inbound-local" - CALLS_INBOUND_MOBILE = "calls-inbound-mobile" - CALLS_INBOUND_TOLLFREE = "calls-inbound-tollfree" - CALLS_OUTBOUND = "calls-outbound" - CALLS_RECORDINGS = "calls-recordings" - CALLS_SIP = "calls-sip" - CALLS_SIP_INBOUND = "calls-sip-inbound" - CALLS_SIP_OUTBOUND = "calls-sip-outbound" - CARRIER_LOOKUPS = "carrier-lookups" - CONVERSATIONS = "conversations" - CONVERSATIONS_API_REQUESTS = "conversations-api-requests" - CONVERSATIONS_CONVERSATION_EVENTS = "conversations-conversation-events" - CONVERSATIONS_ENDPOINT_CONNECTIVITY = "conversations-endpoint-connectivity" - CONVERSATIONS_EVENTS = "conversations-events" - CONVERSATIONS_PARTICIPANT_EVENTS = "conversations-participant-events" - CONVERSATIONS_PARTICIPANTS = "conversations-participants" - CPS = "cps" - GROUP_ROOMS = "group-rooms" - GROUP_ROOMS_DATA_TRACK = "group-rooms-data-track" - GROUP_ROOMS_ENCRYPTED_MEDIA_RECORDED = "group-rooms-encrypted-media-recorded" - GROUP_ROOMS_MEDIA_DOWNLOADED = "group-rooms-media-downloaded" - GROUP_ROOMS_MEDIA_RECORDED = "group-rooms-media-recorded" - GROUP_ROOMS_MEDIA_ROUTED = "group-rooms-media-routed" - GROUP_ROOMS_MEDIA_STORED = "group-rooms-media-stored" - GROUP_ROOMS_PARTICIPANT_MINUTES = "group-rooms-participant-minutes" - GROUP_ROOMS_RECORDED_MINUTES = "group-rooms-recorded-minutes" - IP_MESSAGING = "ip-messaging" - IP_MESSAGING_COMMANDS = "ip-messaging-commands" - IP_MESSAGING_DATA_STORAGE = "ip-messaging-data-storage" - IP_MESSAGING_DATA_TRANSFER = "ip-messaging-data-transfer" - IP_MESSAGING_ENDPOINT_CONNECTIVITY = "ip-messaging-endpoint-connectivity" - LOOKUPS = "lookups" - MARKETPLACE = "marketplace" - MARKETPLACE_ALGORITHMIA_NAMED_ENTITY_RECOGNITION = "marketplace-algorithmia-named-entity-recognition" - MARKETPLACE_DIGITAL_SEGMENT_BUSINESS_INFO = "marketplace-digital-segment-business-info" - MARKETPLACE_GOOGLE_SPEECH_TO_TEXT = "marketplace-google-speech-to-text" - MARKETPLACE_IBM_WATSON_MESSAGE_INSIGHTS = "marketplace-ibm-watson-message-insights" - MARKETPLACE_IBM_WATSON_MESSAGE_SENTIMENT = "marketplace-ibm-watson-message-sentiment" - MARKETPLACE_IBM_WATSON_RECORDING_ANALYSIS = "marketplace-ibm-watson-recording-analysis" - MARKETPLACE_ICEHOOK_SYSTEMS_SCOUT = "marketplace-icehook-systems-scout" - MARKETPLACE_INFOGROUP_DATAAXLE_BIZINFO = "marketplace-infogroup-dataaxle-bizinfo" - MARKETPLACE_CADENCE_TRANSCRIPTION = "marketplace-cadence-transcription" - MARKETPLACE_CADENCE_TRANSLATION = "marketplace-cadence-translation" - MARKETPLACE_CAPIO_SPEECH_TO_TEXT = "marketplace-capio-speech-to-text" - MARKETPLACE_FACEBOOK_OFFLINE_CONVERSIONS = "marketplace-facebook-offline-conversions" - MARKETPLACE_KEEN_IO_CONTACT_CENTER_ANALYTICS = "marketplace-keen-io-contact-center-analytics" - MARKETPLACE_MARCHEX_CLEANCALL = "marketplace-marchex-cleancall" - MARKETPLACE_MARCHEX_SENTIMENT_ANALYSIS_FOR_SMS = "marketplace-marchex-sentiment-analysis-for-sms" - MARKETPLACE_MARKETPLACE_NEXTCALLER_SOCIAL_ID = "marketplace-marketplace-nextcaller-social-id" - MARKETPLACE_MOBILE_COMMONS_OPT_OUT_CLASSIFIER = "marketplace-mobile-commons-opt-out-classifier" - MARKETPLACE_NEXIWAVE_VOICEMAIL_TO_TEXT = "marketplace-nexiwave-voicemail-to-text" - MARKETPLACE_NEXTCALLER_ADVANCED_CALLER_IDENTIFICATION = "marketplace-nextcaller-advanced-caller-identification" - MARKETPLACE_NOMOROBO_SPAM_SCORE = "marketplace-nomorobo-spam-score" - MARKETPLACE_PAYFONE_TCPA_COMPLIANCE = "marketplace-payfone-tcpa-compliance" - MARKETPLACE_TELO_OPENCNAM = "marketplace-telo-opencnam" - MARKETPLACE_TRUECNAM_TRUE_SPAM = "marketplace-truecnam-true-spam" - MARKETPLACE_TWILIO_CALLER_NAME_LOOKUP_US = "marketplace-twilio-caller-name-lookup-us" - MARKETPLACE_TWILIO_CARRIER_INFORMATION_LOOKUP = "marketplace-twilio-carrier-information-lookup" - MARKETPLACE_VOICEBASE_PCI = "marketplace-voicebase-pci" - MARKETPLACE_VOICEBASE_TRANSCRIPTION = "marketplace-voicebase-transcription" - MARKETPLACE_WHITEPAGES_PRO_CALLER_IDENTIFICATION = "marketplace-whitepages-pro-caller-identification" - MARKETPLACE_WHITEPAGES_PRO_PHONE_INTELLIGENCE = "marketplace-whitepages-pro-phone-intelligence" - MARKETPLACE_WHITEPAGES_PRO_PHONE_REPUTATION = "marketplace-whitepages-pro-phone-reputation" - MARKETPLACE_WOLFRAM_SHORT_ANSWER = "marketplace-wolfram-short-answer" - MARKETPLACE_WOLFARM_SPOKEN_RESULTS = "marketplace-wolfarm-spoken-results" - MARKETPLACE_DEEPGRAM_PHRASE_DETECTOR = "marketplace-deepgram-phrase-detector" - MARKETPLACE_CONVRIZA_ABABA = "marketplace-convriza-ababa" - MARKETPLACE_IBM_WATSON_TONE_ANALYZER = "marketplace-ibm-watson-tone-analyzer" - MARKETPLACE_REMEETING_AUTOMATIC_SPEECH_RECOGNITION = "marketplace-remeeting-automatic-speech-recognition" - MARKETPLACE_TCPA_DEFENSE_SOLUTIONS_BLACKLIST_FEED = "marketplace-tcpa-defense-solutions-blacklist-feed" - MARKETPLACE_VOICEBASE_TRANSCRIPTION_CUSTOM_VOCABULARY = "marketplace-voicebase-transcription-custom-vocabulary" - MARKETPLACE_YTICA_CONTACT_CENTER_REPORTING_ANALYTICS = "marketplace-ytica-contact-center-reporting-analytics" - MEDIASTORAGE = "mediastorage" - MMS = "mms" - MMS_INBOUND = "mms-inbound" - MMS_INBOUND_LONGCODE = "mms-inbound-longcode" - MMS_INBOUND_SHORTCODE = "mms-inbound-shortcode" - MMS_OUTBOUND = "mms-outbound" - MMS_OUTBOUND_LONGCODE = "mms-outbound-longcode" - MMS_OUTBOUND_SHORTCODE = "mms-outbound-shortcode" - MONITOR_READS = "monitor-reads" - MONITOR_STORAGE = "monitor-storage" - MONITOR_WRITES = "monitor-writes" - NOTIFY = "notify" - NOTIFY_ACTIONS_ATTEMPTS = "notify-actions-attempts" - NOTIFY_CHANNELS = "notify-channels" - NUMBER_FORMAT_LOOKUPS = "number-format-lookups" - PCHAT = "pchat" - PCHAT_ACTIONS = "pchat-actions" - PCHAT_APS = "pchat-aps" - PCHAT_NOTIFICATIONS = "pchat-notifications" - PCHAT_READS = "pchat-reads" - PCHAT_USERS = "pchat-users" - PCHAT_MESSAGES = "pchat-messages" - PEER_TO_PEER_ROOMS_PARTICIPANT_MINUTES = "peer-to-peer-rooms-participant-minutes" - PFAX = "pfax" - PFAX_MINUTES = "pfax-minutes" - PFAX_MINUTES_INBOUND = "pfax-minutes-inbound" - PFAX_MINUTES_OUTBOUND = "pfax-minutes-outbound" - PFAX_PAGES = "pfax-pages" - PHONENUMBERS = "phonenumbers" - PHONENUMBERS_CPS = "phonenumbers-cps" - PHONENUMBERS_EMERGENCY = "phonenumbers-emergency" - PHONENUMBERS_LOCAL = "phonenumbers-local" - PHONENUMBERS_MOBILE = "phonenumbers-mobile" - PHONENUMBERS_SETUPS = "phonenumbers-setups" - PHONENUMBERS_TOLLFREE = "phonenumbers-tollfree" - PREMIUMSUPPORT = "premiumsupport" - PROXY = "proxy" - PV = "pv" - PV_ROOM_PARTICIPANTS = "pv-room-participants" - PV_ROOM_PARTICIPANTS_AU1 = "pv-room-participants-au1" - PV_ROOM_PARTICIPANTS_BR1 = "pv-room-participants-br1" - PV_ROOM_PARTICIPANTS_IE1 = "pv-room-participants-ie1" - PV_ROOM_PARTICIPANTS_JP1 = "pv-room-participants-jp1" - PV_ROOM_PARTICIPANTS_SG1 = "pv-room-participants-sg1" - PV_ROOM_PARTICIPANTS_US1 = "pv-room-participants-us1" - PV_ROOM_PARTICIPANTS_US2 = "pv-room-participants-us2" - PV_ROOMS = "pv-rooms" - PV_SIP_ENDPOINT_REGISTRATIONS = "pv-sip-endpoint-registrations" - RECORDINGS = "recordings" - RECORDINGSTORAGE = "recordingstorage" - ROOMS_GROUP_MINUTES = "rooms-group-minutes" - ROOMS_GROUP_BANDWIDTH = "rooms-group-bandwidth" - ROOMS_PEER_TO_PEER_MINUTES = "rooms-peer-to-peer-minutes" - SHORTCODES = "shortcodes" - SHORTCODES_CUSTOMEROWNED = "shortcodes-customerowned" - SHORTCODES_MMS_ENABLEMENT = "shortcodes-mms-enablement" - SHORTCODES_MPS = "shortcodes-mps" - SHORTCODES_RANDOM = "shortcodes-random" - SHORTCODES_UK = "shortcodes-uk" - SHORTCODES_VANITY = "shortcodes-vanity" - SMS = "sms" - SMS_INBOUND = "sms-inbound" - SMS_INBOUND_LONGCODE = "sms-inbound-longcode" - SMS_INBOUND_SHORTCODE = "sms-inbound-shortcode" - SMS_OUTBOUND = "sms-outbound" - SMS_OUTBOUND_CONTENT_INSPECTION = "sms-outbound-content-inspection" - SMS_OUTBOUND_LONGCODE = "sms-outbound-longcode" - SMS_OUTBOUND_SHORTCODE = "sms-outbound-shortcode" - SMS_MESSAGES_FEATURES = "sms-messages-features" - SMS_MESSAGES_FEATURES_SENDERID = "sms-messages-features-senderid" - SPEECH_RECOGNITION = "speech-recognition" - STUDIO_ENGAGEMENTS = "studio-engagements" - SYNC = "sync" - SYNC_ACTIONS = "sync-actions" - SYNC_ENDPOINT_HOURS = "sync-endpoint-hours" - SYNC_ENDPOINT_HOURS_ABOVE_DAILY_CAP = "sync-endpoint-hours-above-daily-cap" - TASKROUTER_TASKS = "taskrouter-tasks" - TOTALPRICE = "totalprice" - TRANSCRIPTIONS = "transcriptions" - TRUNKING_CPS = "trunking-cps" - TRUNKING_EMERGENCY_CALLS = "trunking-emergency-calls" - TRUNKING_ORIGINATION = "trunking-origination" - TRUNKING_ORIGINATION_LOCAL = "trunking-origination-local" - TRUNKING_ORIGINATION_MOBILE = "trunking-origination-mobile" - TRUNKING_ORIGINATION_TOLLFREE = "trunking-origination-tollfree" - TRUNKING_RECORDINGS = "trunking-recordings" - TRUNKING_SECURE = "trunking-secure" - TRUNKING_TERMINATION = "trunking-termination" - TURNMEGABYTES = "turnmegabytes" - TURNMEGABYTES_AUSTRALIA = "turnmegabytes-australia" - TURNMEGABYTES_BRASIL = "turnmegabytes-brasil" - TURNMEGABYTES_INDIA = "turnmegabytes-india" - TURNMEGABYTES_IRELAND = "turnmegabytes-ireland" - TURNMEGABYTES_JAPAN = "turnmegabytes-japan" - TURNMEGABYTES_SINGAPORE = "turnmegabytes-singapore" - TURNMEGABYTES_USEAST = "turnmegabytes-useast" - TURNMEGABYTES_USWEST = "turnmegabytes-uswest" - TWILIO_INTERCONNECT = "twilio-interconnect" - VIDEO_RECORDINGS = "video-recordings" - VOICE_INSIGHTS = "voice-insights" - VOICE_INSIGHTS_AUDIO_TRACE = "voice-insights-audio-trace" - VOICE_INSIGHTS_CARRIER_CALLS = "voice-insights-carrier-calls" - WIRELESS = "wireless" - WIRELESS_ORDERS = "wireless-orders" - WIRELESS_ORDERS_ARTWORK = "wireless-orders-artwork" - WIRELESS_ORDERS_BULK = "wireless-orders-bulk" - WIRELESS_ORDERS_ESIM = "wireless-orders-esim" - WIRELESS_ORDERS_STARTER = "wireless-orders-starter" - WIRELESS_USAGE = "wireless-usage" - WIRELESS_USAGE_COMMANDS = "wireless-usage-commands" - WIRELESS_USAGE_COMMANDS_AFRICA = "wireless-usage-commands-africa" - WIRELESS_USAGE_COMMANDS_ASIA = "wireless-usage-commands-asia" - WIRELESS_USAGE_COMMANDS_CENTRALANDSOUTHAMERICA = "wireless-usage-commands-centralandsouthamerica" - WIRELESS_USAGE_COMMANDS_EUROPE = "wireless-usage-commands-europe" - WIRELESS_USAGE_COMMANDS_HOME = "wireless-usage-commands-home" - WIRELESS_USAGE_COMMANDS_NORTHAMERICA = "wireless-usage-commands-northamerica" - WIRELESS_USAGE_COMMANDS_OCEANIA = "wireless-usage-commands-oceania" - WIRELESS_USAGE_COMMANDS_ROAMING = "wireless-usage-commands-roaming" - WIRELESS_USAGE_DATA = "wireless-usage-data" - WIRELESS_USAGE_DATA_AFRICA = "wireless-usage-data-africa" - WIRELESS_USAGE_DATA_ASIA = "wireless-usage-data-asia" - WIRELESS_USAGE_DATA_CENTRALANDSOUTHAMERICA = "wireless-usage-data-centralandsouthamerica" - WIRELESS_USAGE_DATA_CUSTOM_ADDITIONALMB = "wireless-usage-data-custom-additionalmb" - WIRELESS_USAGE_DATA_CUSTOM_FIRST5MB = "wireless-usage-data-custom-first5mb" - WIRELESS_USAGE_DATA_DOMESTIC_ROAMING = "wireless-usage-data-domestic-roaming" - WIRELESS_USAGE_DATA_EUROPE = "wireless-usage-data-europe" - WIRELESS_USAGE_DATA_INDIVIDUAL_ADDITIONALGB = "wireless-usage-data-individual-additionalgb" - WIRELESS_USAGE_DATA_INDIVIDUAL_FIRSTGB = "wireless-usage-data-individual-firstgb" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_CANADA = "wireless-usage-data-international-roaming-canada" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_INDIA = "wireless-usage-data-international-roaming-india" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_MEXICO = "wireless-usage-data-international-roaming-mexico" - WIRELESS_USAGE_DATA_NORTHAMERICA = "wireless-usage-data-northamerica" - WIRELESS_USAGE_DATA_OCEANIA = "wireless-usage-data-oceania" - WIRELESS_USAGE_DATA_POOLED = "wireless-usage-data-pooled" - WIRELESS_USAGE_DATA_POOLED_DOWNLINK = "wireless-usage-data-pooled-downlink" - WIRELESS_USAGE_DATA_POOLED_UPLINK = "wireless-usage-data-pooled-uplink" - WIRELESS_USAGE_MRC = "wireless-usage-mrc" - WIRELESS_USAGE_MRC_CUSTOM = "wireless-usage-mrc-custom" - WIRELESS_USAGE_MRC_INDIVIDUAL = "wireless-usage-mrc-individual" - WIRELESS_USAGE_MRC_POOLED = "wireless-usage-mrc-pooled" - WIRELESS_USAGE_MRC_SUSPENDED = "wireless-usage-mrc-suspended" - WIRELESS_USAGE_VOICE = "wireless-usage-voice" - WIRELESS_USAGE_SMS = "wireless-usage-sms" - - def __init__(self, version, payload, account_sid): - """ - Initialize the YesterdayInstance - - :returns: twilio.rest.api.v2010.account.usage.record.yesterday.YesterdayInstance - :rtype: twilio.rest.api.v2010.account.usage.record.yesterday.YesterdayInstance - """ - super(YesterdayInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'api_version': payload['api_version'], - 'category': payload['category'], - 'count': payload['count'], - 'count_unit': payload['count_unit'], - 'description': payload['description'], - 'end_date': deserialize.iso8601_date(payload['end_date']), - 'price': deserialize.decimal(payload['price']), - 'price_unit': payload['price_unit'], - 'start_date': deserialize.iso8601_date(payload['start_date']), - 'subresource_uris': payload['subresource_uris'], - 'uri': payload['uri'], - 'usage': payload['usage'], - 'usage_unit': payload['usage_unit'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, } - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def api_version(self): - """ - :returns: The api_version - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def category(self): - """ - :returns: The category - :rtype: YesterdayInstance.Category - """ - return self._properties['category'] - - @property - def count(self): - """ - :returns: The count - :rtype: unicode - """ - return self._properties['count'] - - @property - def count_unit(self): - """ - :returns: The count_unit - :rtype: unicode - """ - return self._properties['count_unit'] - - @property - def description(self): - """ - :returns: The description - :rtype: unicode - """ - return self._properties['description'] - - @property - def end_date(self): - """ - :returns: The end_date - :rtype: date - """ - return self._properties['end_date'] - - @property - def price(self): - """ - :returns: The price - :rtype: unicode - """ - return self._properties['price'] - - @property - def price_unit(self): - """ - :returns: The price_unit - :rtype: unicode - """ - return self._properties['price_unit'] - - @property - def start_date(self): - """ - :returns: The start_date - :rtype: date - """ - return self._properties['start_date'] - - @property - def subresource_uris(self): - """ - :returns: The subresource_uris - :rtype: unicode - """ - return self._properties['subresource_uris'] - - @property - def uri(self): - """ - :returns: The uri - :rtype: unicode - """ - return self._properties['uri'] - - @property - def usage(self): - """ - :returns: The usage - :rtype: unicode - """ - return self._properties['usage'] - - @property - def usage_unit(self): - """ - :returns: The usage_unit - :rtype: unicode - """ - return self._properties['usage_unit'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.YesterdayInstance>' diff --git a/twilio/rest/api/v2010/account/usage/trigger.py b/twilio/rest/api/v2010/account/usage/trigger.py deleted file mode 100644 index e5c62f9..0000000 --- a/twilio/rest/api/v2010/account/usage/trigger.py +++ /dev/null @@ -1,813 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class TriggerList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the TriggerList - - :param Version version: Version that contains the resource - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.usage.trigger.TriggerList - :rtype: twilio.rest.api.v2010.account.usage.trigger.TriggerList - """ - super(TriggerList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/Usage/Triggers.json'.format(**self._solution) - - def create(self, callback_url, trigger_value, usage_category, - callback_method=values.unset, friendly_name=values.unset, - recurring=values.unset, trigger_by=values.unset): - """ - Create a new TriggerInstance - - :param unicode callback_url: URL Twilio will request when the trigger fires - :param unicode trigger_value: the value at which the trigger will fire - :param TriggerInstance.UsageCategory usage_category: The usage category the trigger watches - :param unicode callback_method: HTTP method to use with callback_url - :param unicode friendly_name: A user-specified, human-readable name for the trigger. - :param TriggerInstance.Recurring recurring: How this trigger recurs - :param TriggerInstance.TriggerField trigger_by: The field in the UsageRecord that fires the trigger - - :returns: Newly created TriggerInstance - :rtype: twilio.rest.api.v2010.account.usage.trigger.TriggerInstance - """ - data = values.of({ - 'CallbackUrl': callback_url, - 'TriggerValue': trigger_value, - 'UsageCategory': usage_category, - 'CallbackMethod': callback_method, - 'FriendlyName': friendly_name, - 'Recurring': recurring, - 'TriggerBy': trigger_by, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return TriggerInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def stream(self, recurring=values.unset, trigger_by=values.unset, - usage_category=values.unset, limit=None, page_size=None): - """ - Streams TriggerInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param TriggerInstance.Recurring recurring: Filter by recurring - :param TriggerInstance.TriggerField trigger_by: Filter by trigger by - :param TriggerInstance.UsageCategory usage_category: Filter by Usage Category - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.usage.trigger.TriggerInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - recurring=recurring, - trigger_by=trigger_by, - usage_category=usage_category, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, recurring=values.unset, trigger_by=values.unset, - usage_category=values.unset, limit=None, page_size=None): - """ - Lists TriggerInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param TriggerInstance.Recurring recurring: Filter by recurring - :param TriggerInstance.TriggerField trigger_by: Filter by trigger by - :param TriggerInstance.UsageCategory usage_category: Filter by Usage Category - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.api.v2010.account.usage.trigger.TriggerInstance] - """ - return list(self.stream( - recurring=recurring, - trigger_by=trigger_by, - usage_category=usage_category, - limit=limit, - page_size=page_size, - )) - - def page(self, recurring=values.unset, trigger_by=values.unset, - usage_category=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of TriggerInstance records from the API. - Request is executed immediately - - :param TriggerInstance.Recurring recurring: Filter by recurring - :param TriggerInstance.TriggerField trigger_by: Filter by trigger by - :param TriggerInstance.UsageCategory usage_category: Filter by Usage Category - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of TriggerInstance - :rtype: twilio.rest.api.v2010.account.usage.trigger.TriggerPage - """ - params = values.of({ - 'Recurring': recurring, - 'TriggerBy': trigger_by, - 'UsageCategory': usage_category, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return TriggerPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of TriggerInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of TriggerInstance - :rtype: twilio.rest.api.v2010.account.usage.trigger.TriggerPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return TriggerPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a TriggerContext - - :param sid: Fetch by unique usage-trigger Sid - - :returns: twilio.rest.api.v2010.account.usage.trigger.TriggerContext - :rtype: twilio.rest.api.v2010.account.usage.trigger.TriggerContext - """ - return TriggerContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a TriggerContext - - :param sid: Fetch by unique usage-trigger Sid - - :returns: twilio.rest.api.v2010.account.usage.trigger.TriggerContext - :rtype: twilio.rest.api.v2010.account.usage.trigger.TriggerContext - """ - return TriggerContext(self._version, account_sid=self._solution['account_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.TriggerList>' - - -class TriggerPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the TriggerPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: A 34 character string that uniquely identifies this resource. - - :returns: twilio.rest.api.v2010.account.usage.trigger.TriggerPage - :rtype: twilio.rest.api.v2010.account.usage.trigger.TriggerPage - """ - super(TriggerPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of TriggerInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.usage.trigger.TriggerInstance - :rtype: twilio.rest.api.v2010.account.usage.trigger.TriggerInstance - """ - return TriggerInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.TriggerPage>' - - -class TriggerContext(InstanceContext): - """ """ - - def __init__(self, version, account_sid, sid): - """ - Initialize the TriggerContext - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - :param sid: Fetch by unique usage-trigger Sid - - :returns: twilio.rest.api.v2010.account.usage.trigger.TriggerContext - :rtype: twilio.rest.api.v2010.account.usage.trigger.TriggerContext - """ - super(TriggerContext, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, 'sid': sid, } - self._uri = '/Accounts/{account_sid}/Usage/Triggers/{sid}.json'.format(**self._solution) - - def fetch(self): - """ - Fetch a TriggerInstance - - :returns: Fetched TriggerInstance - :rtype: twilio.rest.api.v2010.account.usage.trigger.TriggerInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return TriggerInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def update(self, callback_method=values.unset, callback_url=values.unset, - friendly_name=values.unset): - """ - Update the TriggerInstance - - :param unicode callback_method: HTTP method to use with callback_url - :param unicode callback_url: URL Twilio will request when the trigger fires - :param unicode friendly_name: A user-specified, human-readable name for the trigger. - - :returns: Updated TriggerInstance - :rtype: twilio.rest.api.v2010.account.usage.trigger.TriggerInstance - """ - data = values.of({ - 'CallbackMethod': callback_method, - 'CallbackUrl': callback_url, - 'FriendlyName': friendly_name, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return TriggerInstance( - self._version, - payload, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the TriggerInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.TriggerContext {}>'.format(context) - - -class TriggerInstance(InstanceResource): - """ """ - - class UsageCategory(object): - ANSWERING_MACHINE_DETECTION = "answering-machine-detection" - AUTHY_AUTHENTICATIONS = "authy-authentications" - AUTHY_CALLS_OUTBOUND = "authy-calls-outbound" - AUTHY_MONTHLY_FEES = "authy-monthly-fees" - AUTHY_PHONE_INTELLIGENCE = "authy-phone-intelligence" - AUTHY_PHONE_VERIFICATIONS = "authy-phone-verifications" - AUTHY_SMS_OUTBOUND = "authy-sms-outbound" - CALL_PROGESS_EVENTS = "call-progess-events" - CALLERIDLOOKUPS = "calleridlookups" - CALLS = "calls" - CALLS_CLIENT = "calls-client" - CALLS_GLOBALCONFERENCE = "calls-globalconference" - CALLS_INBOUND = "calls-inbound" - CALLS_INBOUND_LOCAL = "calls-inbound-local" - CALLS_INBOUND_MOBILE = "calls-inbound-mobile" - CALLS_INBOUND_TOLLFREE = "calls-inbound-tollfree" - CALLS_OUTBOUND = "calls-outbound" - CALLS_RECORDINGS = "calls-recordings" - CALLS_SIP = "calls-sip" - CALLS_SIP_INBOUND = "calls-sip-inbound" - CALLS_SIP_OUTBOUND = "calls-sip-outbound" - CARRIER_LOOKUPS = "carrier-lookups" - CONVERSATIONS = "conversations" - CONVERSATIONS_API_REQUESTS = "conversations-api-requests" - CONVERSATIONS_CONVERSATION_EVENTS = "conversations-conversation-events" - CONVERSATIONS_ENDPOINT_CONNECTIVITY = "conversations-endpoint-connectivity" - CONVERSATIONS_EVENTS = "conversations-events" - CONVERSATIONS_PARTICIPANT_EVENTS = "conversations-participant-events" - CONVERSATIONS_PARTICIPANTS = "conversations-participants" - CPS = "cps" - GROUP_ROOMS = "group-rooms" - GROUP_ROOMS_DATA_TRACK = "group-rooms-data-track" - GROUP_ROOMS_ENCRYPTED_MEDIA_RECORDED = "group-rooms-encrypted-media-recorded" - GROUP_ROOMS_MEDIA_DOWNLOADED = "group-rooms-media-downloaded" - GROUP_ROOMS_MEDIA_RECORDED = "group-rooms-media-recorded" - GROUP_ROOMS_MEDIA_ROUTED = "group-rooms-media-routed" - GROUP_ROOMS_MEDIA_STORED = "group-rooms-media-stored" - GROUP_ROOMS_PARTICIPANT_MINUTES = "group-rooms-participant-minutes" - GROUP_ROOMS_RECORDED_MINUTES = "group-rooms-recorded-minutes" - IP_MESSAGING = "ip-messaging" - IP_MESSAGING_COMMANDS = "ip-messaging-commands" - IP_MESSAGING_DATA_STORAGE = "ip-messaging-data-storage" - IP_MESSAGING_DATA_TRANSFER = "ip-messaging-data-transfer" - IP_MESSAGING_ENDPOINT_CONNECTIVITY = "ip-messaging-endpoint-connectivity" - LOOKUPS = "lookups" - MARKETPLACE = "marketplace" - MARKETPLACE_ALGORITHMIA_NAMED_ENTITY_RECOGNITION = "marketplace-algorithmia-named-entity-recognition" - MARKETPLACE_DIGITAL_SEGMENT_BUSINESS_INFO = "marketplace-digital-segment-business-info" - MARKETPLACE_GOOGLE_SPEECH_TO_TEXT = "marketplace-google-speech-to-text" - MARKETPLACE_IBM_WATSON_MESSAGE_INSIGHTS = "marketplace-ibm-watson-message-insights" - MARKETPLACE_IBM_WATSON_MESSAGE_SENTIMENT = "marketplace-ibm-watson-message-sentiment" - MARKETPLACE_IBM_WATSON_RECORDING_ANALYSIS = "marketplace-ibm-watson-recording-analysis" - MARKETPLACE_ICEHOOK_SYSTEMS_SCOUT = "marketplace-icehook-systems-scout" - MARKETPLACE_INFOGROUP_DATAAXLE_BIZINFO = "marketplace-infogroup-dataaxle-bizinfo" - MARKETPLACE_CADENCE_TRANSCRIPTION = "marketplace-cadence-transcription" - MARKETPLACE_CADENCE_TRANSLATION = "marketplace-cadence-translation" - MARKETPLACE_CAPIO_SPEECH_TO_TEXT = "marketplace-capio-speech-to-text" - MARKETPLACE_FACEBOOK_OFFLINE_CONVERSIONS = "marketplace-facebook-offline-conversions" - MARKETPLACE_KEEN_IO_CONTACT_CENTER_ANALYTICS = "marketplace-keen-io-contact-center-analytics" - MARKETPLACE_MARCHEX_CLEANCALL = "marketplace-marchex-cleancall" - MARKETPLACE_MARCHEX_SENTIMENT_ANALYSIS_FOR_SMS = "marketplace-marchex-sentiment-analysis-for-sms" - MARKETPLACE_MARKETPLACE_NEXTCALLER_SOCIAL_ID = "marketplace-marketplace-nextcaller-social-id" - MARKETPLACE_MOBILE_COMMONS_OPT_OUT_CLASSIFIER = "marketplace-mobile-commons-opt-out-classifier" - MARKETPLACE_NEXIWAVE_VOICEMAIL_TO_TEXT = "marketplace-nexiwave-voicemail-to-text" - MARKETPLACE_NEXTCALLER_ADVANCED_CALLER_IDENTIFICATION = "marketplace-nextcaller-advanced-caller-identification" - MARKETPLACE_NOMOROBO_SPAM_SCORE = "marketplace-nomorobo-spam-score" - MARKETPLACE_PAYFONE_TCPA_COMPLIANCE = "marketplace-payfone-tcpa-compliance" - MARKETPLACE_TELO_OPENCNAM = "marketplace-telo-opencnam" - MARKETPLACE_TRUECNAM_TRUE_SPAM = "marketplace-truecnam-true-spam" - MARKETPLACE_TWILIO_CALLER_NAME_LOOKUP_US = "marketplace-twilio-caller-name-lookup-us" - MARKETPLACE_TWILIO_CARRIER_INFORMATION_LOOKUP = "marketplace-twilio-carrier-information-lookup" - MARKETPLACE_VOICEBASE_PCI = "marketplace-voicebase-pci" - MARKETPLACE_VOICEBASE_TRANSCRIPTION = "marketplace-voicebase-transcription" - MARKETPLACE_WHITEPAGES_PRO_CALLER_IDENTIFICATION = "marketplace-whitepages-pro-caller-identification" - MARKETPLACE_WHITEPAGES_PRO_PHONE_INTELLIGENCE = "marketplace-whitepages-pro-phone-intelligence" - MARKETPLACE_WHITEPAGES_PRO_PHONE_REPUTATION = "marketplace-whitepages-pro-phone-reputation" - MARKETPLACE_WOLFRAM_SHORT_ANSWER = "marketplace-wolfram-short-answer" - MARKETPLACE_WOLFARM_SPOKEN_RESULTS = "marketplace-wolfarm-spoken-results" - MARKETPLACE_DEEPGRAM_PHRASE_DETECTOR = "marketplace-deepgram-phrase-detector" - MARKETPLACE_CONVRIZA_ABABA = "marketplace-convriza-ababa" - MARKETPLACE_IBM_WATSON_TONE_ANALYZER = "marketplace-ibm-watson-tone-analyzer" - MARKETPLACE_REMEETING_AUTOMATIC_SPEECH_RECOGNITION = "marketplace-remeeting-automatic-speech-recognition" - MARKETPLACE_TCPA_DEFENSE_SOLUTIONS_BLACKLIST_FEED = "marketplace-tcpa-defense-solutions-blacklist-feed" - MARKETPLACE_VOICEBASE_TRANSCRIPTION_CUSTOM_VOCABULARY = "marketplace-voicebase-transcription-custom-vocabulary" - MARKETPLACE_YTICA_CONTACT_CENTER_REPORTING_ANALYTICS = "marketplace-ytica-contact-center-reporting-analytics" - MEDIASTORAGE = "mediastorage" - MMS = "mms" - MMS_INBOUND = "mms-inbound" - MMS_INBOUND_LONGCODE = "mms-inbound-longcode" - MMS_INBOUND_SHORTCODE = "mms-inbound-shortcode" - MMS_OUTBOUND = "mms-outbound" - MMS_OUTBOUND_LONGCODE = "mms-outbound-longcode" - MMS_OUTBOUND_SHORTCODE = "mms-outbound-shortcode" - MONITOR_READS = "monitor-reads" - MONITOR_STORAGE = "monitor-storage" - MONITOR_WRITES = "monitor-writes" - NOTIFY = "notify" - NOTIFY_ACTIONS_ATTEMPTS = "notify-actions-attempts" - NOTIFY_CHANNELS = "notify-channels" - NUMBER_FORMAT_LOOKUPS = "number-format-lookups" - PCHAT = "pchat" - PCHAT_ACTIONS = "pchat-actions" - PCHAT_APS = "pchat-aps" - PCHAT_NOTIFICATIONS = "pchat-notifications" - PCHAT_READS = "pchat-reads" - PCHAT_USERS = "pchat-users" - PCHAT_MESSAGES = "pchat-messages" - PEER_TO_PEER_ROOMS_PARTICIPANT_MINUTES = "peer-to-peer-rooms-participant-minutes" - PFAX = "pfax" - PFAX_MINUTES = "pfax-minutes" - PFAX_MINUTES_INBOUND = "pfax-minutes-inbound" - PFAX_MINUTES_OUTBOUND = "pfax-minutes-outbound" - PFAX_PAGES = "pfax-pages" - PHONENUMBERS = "phonenumbers" - PHONENUMBERS_CPS = "phonenumbers-cps" - PHONENUMBERS_EMERGENCY = "phonenumbers-emergency" - PHONENUMBERS_LOCAL = "phonenumbers-local" - PHONENUMBERS_MOBILE = "phonenumbers-mobile" - PHONENUMBERS_SETUPS = "phonenumbers-setups" - PHONENUMBERS_TOLLFREE = "phonenumbers-tollfree" - PREMIUMSUPPORT = "premiumsupport" - PROXY = "proxy" - PV = "pv" - PV_ROOM_PARTICIPANTS = "pv-room-participants" - PV_ROOM_PARTICIPANTS_AU1 = "pv-room-participants-au1" - PV_ROOM_PARTICIPANTS_BR1 = "pv-room-participants-br1" - PV_ROOM_PARTICIPANTS_IE1 = "pv-room-participants-ie1" - PV_ROOM_PARTICIPANTS_JP1 = "pv-room-participants-jp1" - PV_ROOM_PARTICIPANTS_SG1 = "pv-room-participants-sg1" - PV_ROOM_PARTICIPANTS_US1 = "pv-room-participants-us1" - PV_ROOM_PARTICIPANTS_US2 = "pv-room-participants-us2" - PV_ROOMS = "pv-rooms" - PV_SIP_ENDPOINT_REGISTRATIONS = "pv-sip-endpoint-registrations" - RECORDINGS = "recordings" - RECORDINGSTORAGE = "recordingstorage" - ROOMS_GROUP_MINUTES = "rooms-group-minutes" - ROOMS_GROUP_BANDWIDTH = "rooms-group-bandwidth" - ROOMS_PEER_TO_PEER_MINUTES = "rooms-peer-to-peer-minutes" - SHORTCODES = "shortcodes" - SHORTCODES_CUSTOMEROWNED = "shortcodes-customerowned" - SHORTCODES_MMS_ENABLEMENT = "shortcodes-mms-enablement" - SHORTCODES_MPS = "shortcodes-mps" - SHORTCODES_RANDOM = "shortcodes-random" - SHORTCODES_UK = "shortcodes-uk" - SHORTCODES_VANITY = "shortcodes-vanity" - SMS = "sms" - SMS_INBOUND = "sms-inbound" - SMS_INBOUND_LONGCODE = "sms-inbound-longcode" - SMS_INBOUND_SHORTCODE = "sms-inbound-shortcode" - SMS_OUTBOUND = "sms-outbound" - SMS_OUTBOUND_CONTENT_INSPECTION = "sms-outbound-content-inspection" - SMS_OUTBOUND_LONGCODE = "sms-outbound-longcode" - SMS_OUTBOUND_SHORTCODE = "sms-outbound-shortcode" - SMS_MESSAGES_FEATURES = "sms-messages-features" - SMS_MESSAGES_FEATURES_SENDERID = "sms-messages-features-senderid" - SPEECH_RECOGNITION = "speech-recognition" - STUDIO_ENGAGEMENTS = "studio-engagements" - SYNC = "sync" - SYNC_ACTIONS = "sync-actions" - SYNC_ENDPOINT_HOURS = "sync-endpoint-hours" - SYNC_ENDPOINT_HOURS_ABOVE_DAILY_CAP = "sync-endpoint-hours-above-daily-cap" - TASKROUTER_TASKS = "taskrouter-tasks" - TOTALPRICE = "totalprice" - TRANSCRIPTIONS = "transcriptions" - TRUNKING_CPS = "trunking-cps" - TRUNKING_EMERGENCY_CALLS = "trunking-emergency-calls" - TRUNKING_ORIGINATION = "trunking-origination" - TRUNKING_ORIGINATION_LOCAL = "trunking-origination-local" - TRUNKING_ORIGINATION_MOBILE = "trunking-origination-mobile" - TRUNKING_ORIGINATION_TOLLFREE = "trunking-origination-tollfree" - TRUNKING_RECORDINGS = "trunking-recordings" - TRUNKING_SECURE = "trunking-secure" - TRUNKING_TERMINATION = "trunking-termination" - TURNMEGABYTES = "turnmegabytes" - TURNMEGABYTES_AUSTRALIA = "turnmegabytes-australia" - TURNMEGABYTES_BRASIL = "turnmegabytes-brasil" - TURNMEGABYTES_INDIA = "turnmegabytes-india" - TURNMEGABYTES_IRELAND = "turnmegabytes-ireland" - TURNMEGABYTES_JAPAN = "turnmegabytes-japan" - TURNMEGABYTES_SINGAPORE = "turnmegabytes-singapore" - TURNMEGABYTES_USEAST = "turnmegabytes-useast" - TURNMEGABYTES_USWEST = "turnmegabytes-uswest" - TWILIO_INTERCONNECT = "twilio-interconnect" - VIDEO_RECORDINGS = "video-recordings" - VOICE_INSIGHTS = "voice-insights" - VOICE_INSIGHTS_AUDIO_TRACE = "voice-insights-audio-trace" - VOICE_INSIGHTS_CARRIER_CALLS = "voice-insights-carrier-calls" - WIRELESS = "wireless" - WIRELESS_ORDERS = "wireless-orders" - WIRELESS_ORDERS_ARTWORK = "wireless-orders-artwork" - WIRELESS_ORDERS_BULK = "wireless-orders-bulk" - WIRELESS_ORDERS_ESIM = "wireless-orders-esim" - WIRELESS_ORDERS_STARTER = "wireless-orders-starter" - WIRELESS_USAGE = "wireless-usage" - WIRELESS_USAGE_COMMANDS = "wireless-usage-commands" - WIRELESS_USAGE_COMMANDS_AFRICA = "wireless-usage-commands-africa" - WIRELESS_USAGE_COMMANDS_ASIA = "wireless-usage-commands-asia" - WIRELESS_USAGE_COMMANDS_CENTRALANDSOUTHAMERICA = "wireless-usage-commands-centralandsouthamerica" - WIRELESS_USAGE_COMMANDS_EUROPE = "wireless-usage-commands-europe" - WIRELESS_USAGE_COMMANDS_HOME = "wireless-usage-commands-home" - WIRELESS_USAGE_COMMANDS_NORTHAMERICA = "wireless-usage-commands-northamerica" - WIRELESS_USAGE_COMMANDS_OCEANIA = "wireless-usage-commands-oceania" - WIRELESS_USAGE_COMMANDS_ROAMING = "wireless-usage-commands-roaming" - WIRELESS_USAGE_DATA = "wireless-usage-data" - WIRELESS_USAGE_DATA_AFRICA = "wireless-usage-data-africa" - WIRELESS_USAGE_DATA_ASIA = "wireless-usage-data-asia" - WIRELESS_USAGE_DATA_CENTRALANDSOUTHAMERICA = "wireless-usage-data-centralandsouthamerica" - WIRELESS_USAGE_DATA_CUSTOM_ADDITIONALMB = "wireless-usage-data-custom-additionalmb" - WIRELESS_USAGE_DATA_CUSTOM_FIRST5MB = "wireless-usage-data-custom-first5mb" - WIRELESS_USAGE_DATA_DOMESTIC_ROAMING = "wireless-usage-data-domestic-roaming" - WIRELESS_USAGE_DATA_EUROPE = "wireless-usage-data-europe" - WIRELESS_USAGE_DATA_INDIVIDUAL_ADDITIONALGB = "wireless-usage-data-individual-additionalgb" - WIRELESS_USAGE_DATA_INDIVIDUAL_FIRSTGB = "wireless-usage-data-individual-firstgb" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_CANADA = "wireless-usage-data-international-roaming-canada" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_INDIA = "wireless-usage-data-international-roaming-india" - WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_MEXICO = "wireless-usage-data-international-roaming-mexico" - WIRELESS_USAGE_DATA_NORTHAMERICA = "wireless-usage-data-northamerica" - WIRELESS_USAGE_DATA_OCEANIA = "wireless-usage-data-oceania" - WIRELESS_USAGE_DATA_POOLED = "wireless-usage-data-pooled" - WIRELESS_USAGE_DATA_POOLED_DOWNLINK = "wireless-usage-data-pooled-downlink" - WIRELESS_USAGE_DATA_POOLED_UPLINK = "wireless-usage-data-pooled-uplink" - WIRELESS_USAGE_MRC = "wireless-usage-mrc" - WIRELESS_USAGE_MRC_CUSTOM = "wireless-usage-mrc-custom" - WIRELESS_USAGE_MRC_INDIVIDUAL = "wireless-usage-mrc-individual" - WIRELESS_USAGE_MRC_POOLED = "wireless-usage-mrc-pooled" - WIRELESS_USAGE_MRC_SUSPENDED = "wireless-usage-mrc-suspended" - WIRELESS_USAGE_VOICE = "wireless-usage-voice" - WIRELESS_USAGE_SMS = "wireless-usage-sms" - - class Recurring(object): - DAILY = "daily" - MONTHLY = "monthly" - YEARLY = "yearly" - ALLTIME = "alltime" - - class TriggerField(object): - COUNT = "count" - USAGE = "usage" - PRICE = "price" - - def __init__(self, version, payload, account_sid, sid=None): - """ - Initialize the TriggerInstance - - :returns: twilio.rest.api.v2010.account.usage.trigger.TriggerInstance - :rtype: twilio.rest.api.v2010.account.usage.trigger.TriggerInstance - """ - super(TriggerInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'api_version': payload['api_version'], - 'callback_method': payload['callback_method'], - 'callback_url': payload['callback_url'], - 'current_value': payload['current_value'], - 'date_created': deserialize.rfc2822_datetime(payload['date_created']), - 'date_fired': deserialize.rfc2822_datetime(payload['date_fired']), - 'date_updated': deserialize.rfc2822_datetime(payload['date_updated']), - 'friendly_name': payload['friendly_name'], - 'recurring': payload['recurring'], - 'sid': payload['sid'], - 'trigger_by': payload['trigger_by'], - 'trigger_value': payload['trigger_value'], - 'uri': payload['uri'], - 'usage_category': payload['usage_category'], - 'usage_record_uri': payload['usage_record_uri'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: TriggerContext for this TriggerInstance - :rtype: twilio.rest.api.v2010.account.usage.trigger.TriggerContext - """ - if self._context is None: - self._context = TriggerContext( - self._version, - account_sid=self._solution['account_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account this trigger monitors. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def api_version(self): - """ - :returns: The api_version - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def callback_method(self): - """ - :returns: HTTP method to use with callback_url - :rtype: unicode - """ - return self._properties['callback_method'] - - @property - def callback_url(self): - """ - :returns: URL Twilio will request when the trigger fires - :rtype: unicode - """ - return self._properties['callback_url'] - - @property - def current_value(self): - """ - :returns: The current value of the field the trigger is watching. - :rtype: unicode - """ - return self._properties['current_value'] - - @property - def date_created(self): - """ - :returns: The date this resource was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_fired(self): - """ - :returns: The date the trigger was last fired - :rtype: datetime - """ - return self._properties['date_fired'] - - @property - def date_updated(self): - """ - :returns: The date this resource was last updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def friendly_name(self): - """ - :returns: A user-specified, human-readable name for the trigger. - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def recurring(self): - """ - :returns: How this trigger recurs - :rtype: TriggerInstance.Recurring - """ - return self._properties['recurring'] - - @property - def sid(self): - """ - :returns: The trigger's unique Sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def trigger_by(self): - """ - :returns: The field in the UsageRecord that fires the trigger - :rtype: TriggerInstance.TriggerField - """ - return self._properties['trigger_by'] - - @property - def trigger_value(self): - """ - :returns: the value at which the trigger will fire - :rtype: unicode - """ - return self._properties['trigger_value'] - - @property - def uri(self): - """ - :returns: The URI for this resource - :rtype: unicode - """ - return self._properties['uri'] - - @property - def usage_category(self): - """ - :returns: The usage category the trigger watches - :rtype: TriggerInstance.UsageCategory - """ - return self._properties['usage_category'] - - @property - def usage_record_uri(self): - """ - :returns: The URI of the UsageRecord this trigger is watching - :rtype: unicode - """ - return self._properties['usage_record_uri'] - - def fetch(self): - """ - Fetch a TriggerInstance - - :returns: Fetched TriggerInstance - :rtype: twilio.rest.api.v2010.account.usage.trigger.TriggerInstance - """ - return self._proxy.fetch() - - def update(self, callback_method=values.unset, callback_url=values.unset, - friendly_name=values.unset): - """ - Update the TriggerInstance - - :param unicode callback_method: HTTP method to use with callback_url - :param unicode callback_url: URL Twilio will request when the trigger fires - :param unicode friendly_name: A user-specified, human-readable name for the trigger. - - :returns: Updated TriggerInstance - :rtype: twilio.rest.api.v2010.account.usage.trigger.TriggerInstance - """ - return self._proxy.update( - callback_method=callback_method, - callback_url=callback_url, - friendly_name=friendly_name, - ) - - def delete(self): - """ - Deletes the TriggerInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Api.V2010.TriggerInstance {}>'.format(context) diff --git a/twilio/rest/api/v2010/account/validation_request.py b/twilio/rest/api/v2010/account/validation_request.py deleted file mode 100644 index cff599a..0000000 --- a/twilio/rest/api/v2010/account/validation_request.py +++ /dev/null @@ -1,190 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class ValidationRequestList(ListResource): - """ """ - - def __init__(self, version, account_sid): - """ - Initialize the ValidationRequestList - - :param Version version: Version that contains the resource - :param account_sid: The account_sid - - :returns: twilio.rest.api.v2010.account.validation_request.ValidationRequestList - :rtype: twilio.rest.api.v2010.account.validation_request.ValidationRequestList - """ - super(ValidationRequestList, self).__init__(version) - - # Path Solution - self._solution = {'account_sid': account_sid, } - self._uri = '/Accounts/{account_sid}/OutgoingCallerIds.json'.format(**self._solution) - - def create(self, phone_number, friendly_name=values.unset, - call_delay=values.unset, extension=values.unset, - status_callback=values.unset, status_callback_method=values.unset): - """ - Create a new ValidationRequestInstance - - :param unicode phone_number: The phone_number - :param unicode friendly_name: The friendly_name - :param unicode call_delay: The call_delay - :param unicode extension: The extension - :param unicode status_callback: The status_callback - :param unicode status_callback_method: The status_callback_method - - :returns: Newly created ValidationRequestInstance - :rtype: twilio.rest.api.v2010.account.validation_request.ValidationRequestInstance - """ - data = values.of({ - 'PhoneNumber': phone_number, - 'FriendlyName': friendly_name, - 'CallDelay': call_delay, - 'Extension': extension, - 'StatusCallback': status_callback, - 'StatusCallbackMethod': status_callback_method, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return ValidationRequestInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.ValidationRequestList>' - - -class ValidationRequestPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the ValidationRequestPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param account_sid: The account_sid - - :returns: twilio.rest.api.v2010.account.validation_request.ValidationRequestPage - :rtype: twilio.rest.api.v2010.account.validation_request.ValidationRequestPage - """ - super(ValidationRequestPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ValidationRequestInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.api.v2010.account.validation_request.ValidationRequestInstance - :rtype: twilio.rest.api.v2010.account.validation_request.ValidationRequestInstance - """ - return ValidationRequestInstance(self._version, payload, account_sid=self._solution['account_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.ValidationRequestPage>' - - -class ValidationRequestInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, account_sid): - """ - Initialize the ValidationRequestInstance - - :returns: twilio.rest.api.v2010.account.validation_request.ValidationRequestInstance - :rtype: twilio.rest.api.v2010.account.validation_request.ValidationRequestInstance - """ - super(ValidationRequestInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'phone_number': payload['phone_number'], - 'friendly_name': payload['friendly_name'], - 'validation_code': deserialize.integer(payload['validation_code']), - 'call_sid': payload['call_sid'], - } - - # Context - self._context = None - self._solution = {'account_sid': account_sid, } - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def phone_number(self): - """ - :returns: The phone_number - :rtype: unicode - """ - return self._properties['phone_number'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def validation_code(self): - """ - :returns: The validation_code - :rtype: unicode - """ - return self._properties['validation_code'] - - @property - def call_sid(self): - """ - :returns: The call_sid - :rtype: unicode - """ - return self._properties['call_sid'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Api.V2010.ValidationRequestInstance>' diff --git a/twilio/rest/chat/__init__.py b/twilio/rest/chat/__init__.py deleted file mode 100644 index e295113..0000000 --- a/twilio/rest/chat/__init__.py +++ /dev/null @@ -1,72 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.domain import Domain -from twilio.rest.chat.v1 import V1 -from twilio.rest.chat.v2 import V2 - - -class Chat(Domain): - - def __init__(self, twilio): - """ - Initialize the Chat Domain - - :returns: Domain for Chat - :rtype: twilio.rest.chat.Chat - """ - super(Chat, self).__init__(twilio) - - self.base_url = 'https://chat.twilio.com' - - # Versions - self._v1 = None - self._v2 = None - - @property - def v1(self): - """ - :returns: Version v1 of chat - :rtype: twilio.rest.chat.v1.V1 - """ - if self._v1 is None: - self._v1 = V1(self) - return self._v1 - - @property - def v2(self): - """ - :returns: Version v2 of chat - :rtype: twilio.rest.chat.v2.V2 - """ - if self._v2 is None: - self._v2 = V2(self) - return self._v2 - - @property - def credentials(self): - """ - :rtype: twilio.rest.chat.v2.credential.CredentialList - """ - return self.v2.credentials - - @property - def services(self): - """ - :rtype: twilio.rest.chat.v2.service.ServiceList - """ - return self.v2.services - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat>' diff --git a/twilio/rest/chat/__pycache__/__init__.cpython-36.pyc b/twilio/rest/chat/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index dfb7617b813d829abed0d59a1e8ed754bde306da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2045 zcmcIl&uimG6dp;oq$qYb-7OS)>6}V@Sb6Q-OjsJSuoSkTWwU__!JufyYo)TK&d3fH zz9q1KM$i3Qdg)o$o_g!Kr@l9m<t#X`J#>uTJoKJszW3|%Nx$#?{>QJu-(5ofBo9^x z^l#x&ryw{92sgNy8gnx+4b-jFns<VZ);no;ZU?qOUK8Hs_C4XYFz>9u;m%t!aLdTM zoF$6J85i_6QuMu82pJWE)9bYt(jjFO76`U!c8_l8F&l(K5XWp24mWgjJOq!`$baF# z@X(*ahxHnIe*s7`Fe>|1Hjk18Xy(;O%W;gR?Xnt0U4kM=U_fN%2QoD<x_dXUM2B0v zb5HJ!pbNT=26P*Ahr9Z{1Ns5?wC?gl-n%Ek!3WYIfd|p{tIqi>Dq^#_33t2|AN380 zf)vJv+?hA##<(*ue;dLqZi4J++2tmjW0lJ$N=m<5Bt;UXNhxSC6BN&<b)a7BGm)ZL z%7vOV7COzO_I%(`taCA;#ch%%nJ<MZ{1}e%@x0cn{Bl+lxta`z+SWM7+5BQ)S6#Kt zg_O`Mq;eTc02gDGdmSmkmNKm@wi=-r56r5gL^=)Z`T!`!0b_9*DaF`t<e#6;C*eCK zqzZpbf?1S>XL<fADx&aB7Ds7#Ddu^YC;9X1Ws>seCo0XRYjqpehix~EAViem7K)#* zr32uOFxf5$;vAW_WgBH5gY>t4v4J*NxMPLR;Za|K*pM5j$j`3)LRSfEqu)VA%<^5E zrCqkKAc!PeKx5KuN)gQir$-VFO?)+K-7W^EJb<euw#dMchp6{k@fm29xf*>9yRtzL z+cP|)baX_k(f<+4_&>xl_OHet#o_@(iS+SkEaL%K_rx;(C>E@Zt_v0t>vCg26^!zA zd)q`lmf*1;OTong$HqTz)i;USl?T#}eNr9nT-AQa@^kPzfk)}7?v_V7_Yc1NB;aSC z1RSPfmBhk-Tkm@zyN%Ohc%K5+$pgG~_isPi4;CxNF~eqAwm^T7*(w3nj_6b-V!_ij zl_H11gVaU^^!+{p`aX(h$wEB(NyFN7TRv6D_QJA%dRg-mrue0vgZ)K80zxc|owboV z?VQ(^!6AArqPYN?@)(<Ee3_!&W9*k@l-3qa8I_yM49Klm%O`N2ZVg>`iOH1DKveyP z!eWu8aCtkU0I-KnII5Z)QBnBHHG5Bb9{il1qb(N$w{jTcS<G1Qv|(4|PoL|5E{Po$ pJZlU)j$Vy4J?yiL^|0yFcaUmLbBB9chy4<nQL|#l>>2R0{sm@=-ogL? diff --git a/twilio/rest/chat/v1/__init__.py b/twilio/rest/chat/v1/__init__.py deleted file mode 100644 index 44d2dab..0000000 --- a/twilio/rest/chat/v1/__init__.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.chat.v1.credential import CredentialList -from twilio.rest.chat.v1.service import ServiceList - - -class V1(Version): - - def __init__(self, domain): - """ - Initialize the V1 version of Chat - - :returns: V1 version of Chat - :rtype: twilio.rest.chat.v1.V1.V1 - """ - super(V1, self).__init__(domain) - self.version = 'v1' - self._credentials = None - self._services = None - - @property - def credentials(self): - """ - :rtype: twilio.rest.chat.v1.credential.CredentialList - """ - if self._credentials is None: - self._credentials = CredentialList(self) - return self._credentials - - @property - def services(self): - """ - :rtype: twilio.rest.chat.v1.service.ServiceList - """ - if self._services is None: - self._services = ServiceList(self) - return self._services - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V1>' diff --git a/twilio/rest/chat/v1/__pycache__/__init__.cpython-36.pyc b/twilio/rest/chat/v1/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index bb468eb1619537e86eecf02d478044e1c7787d00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1690 zcmbVML2uhO6ecCvk`*V*ww|_O;AKO6s9d8rBPdp+KvAFzHZ;pY5I`s*U8|EVjg%eO z(9Hq*Gj`r@*`;S)ciLarY41_8k`74^qs+%=@{xSsd++1Z!$bei55I@BN625~PIEy2 z0lGc~AxKCB6;?(UR%lVw?aW>{p<{F>>n-|WpOTkE^hE!Lh`zLTcIXQC4H<dc*uR*k znkBiA>^j!$tz1eKmr}5+jUTZw;|v-IUbUmoDt5w0(HO)DucC3qs*^ETtS7;f;E9j+ z3^q1x?Eei;k`b-lOR034FF`#zQ&Pxfna0`cRF^Pw@J6b2nn?Vc;D&v(Tg70NB&2}X zdQWB)G2eKhEgfMC=Z5TP*aO{Q1idd@;oXqXeNP+`dVqCMTbGl>YR|(F&&IC52T_ue zR%B<rvnsly7`uvaTUa0+BYVPvQ|#@oMabBzWr`5etz_j~vdaluHxOAqV`uZY^gGk3 zlI2P*_4GcgHdJh?%1t4sth`RMG!K;2Wstxz0Yvr^f8BARwVs@h`gKpQ3aJzn2&p~J zQ*em$+HKvahdk*5t?L2TO_24-svRw}S=|@;B2F<S1J08y)|&G_$Uo89H2MXMb@X!@ z&f`3KUKB6lGLBy7Nt{I&a#2J@T0Fj5rI~pARA>2YqpzdJ@BM)8N9caEo<w`!f?}gw z@b(zP?tvigG3~>*JphDztAyeTG#oKgXVCRmAS&_>GV`ma9+_-mj?5fn#@fE@;`6CU z-i9RjxD319=OarE;4+29F{0`K^`lOF23mb^dyM`DCUhSJ>G{;B+arK-XZe4kdEWW+ zDKu?LgFF1`_8|@*yi)jJJb=U7*Ti>Va~A~WW54zh0?diY2c9aZiTt*^^Cy+BQ+P{a zHdCowifqG_ET9&E?r{n9zmF3?#>qTg$_Kanmms=S-G$rZ(~E{L$T%R$Gn1-^;Bt=c za2_CB^BA~o={584OaPIV@j?QTe9jlSSY@aWIsa`HXU&SK;o2)y4)iNG3d>o2j^Yat z^<hh<L}nRW*p&`Ab%;h-L58%rVrbx5!{Kl+9GKbjkypE%i#*{x{IY!wu3{~Nme>j% s55K+dow%(#Q@!EW_ZhW$HFaTbymhhBOo@A^4ftnBSmUK*4Jmx~zi9rT761SM diff --git a/twilio/rest/chat/v1/__pycache__/credential.cpython-36.pyc b/twilio/rest/chat/v1/__pycache__/credential.cpython-36.pyc deleted file mode 100644 index 164a3623b82132a6f3d4b93c2f657182ad2ab795..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15758 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 B&~*R+ diff --git a/twilio/rest/chat/v1/credential.py b/twilio/rest/chat/v1/credential.py deleted file mode 100644 index 74f6551..0000000 --- a/twilio/rest/chat/v1/credential.py +++ /dev/null @@ -1,472 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class CredentialList(ListResource): - """ """ - - def __init__(self, version): - """ - Initialize the CredentialList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.chat.v1.credential.CredentialList - :rtype: twilio.rest.chat.v1.credential.CredentialList - """ - super(CredentialList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Credentials'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams CredentialInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.credential.CredentialInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists CredentialInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.credential.CredentialInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of CredentialInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of CredentialInstance - :rtype: twilio.rest.chat.v1.credential.CredentialPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return CredentialPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of CredentialInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of CredentialInstance - :rtype: twilio.rest.chat.v1.credential.CredentialPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return CredentialPage(self._version, response, self._solution) - - def create(self, type, friendly_name=values.unset, certificate=values.unset, - private_key=values.unset, sandbox=values.unset, api_key=values.unset, - secret=values.unset): - """ - Create a new CredentialInstance - - :param CredentialInstance.PushService type: The type - :param unicode friendly_name: The friendly_name - :param unicode certificate: The certificate - :param unicode private_key: The private_key - :param bool sandbox: The sandbox - :param unicode api_key: The api_key - :param unicode secret: The secret - - :returns: Newly created CredentialInstance - :rtype: twilio.rest.chat.v1.credential.CredentialInstance - """ - data = values.of({ - 'Type': type, - 'FriendlyName': friendly_name, - 'Certificate': certificate, - 'PrivateKey': private_key, - 'Sandbox': sandbox, - 'ApiKey': api_key, - 'Secret': secret, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return CredentialInstance(self._version, payload, ) - - def get(self, sid): - """ - Constructs a CredentialContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.credential.CredentialContext - :rtype: twilio.rest.chat.v1.credential.CredentialContext - """ - return CredentialContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a CredentialContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.credential.CredentialContext - :rtype: twilio.rest.chat.v1.credential.CredentialContext - """ - return CredentialContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V1.CredentialList>' - - -class CredentialPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the CredentialPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.chat.v1.credential.CredentialPage - :rtype: twilio.rest.chat.v1.credential.CredentialPage - """ - super(CredentialPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of CredentialInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v1.credential.CredentialInstance - :rtype: twilio.rest.chat.v1.credential.CredentialInstance - """ - return CredentialInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V1.CredentialPage>' - - -class CredentialContext(InstanceContext): - """ """ - - def __init__(self, version, sid): - """ - Initialize the CredentialContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.chat.v1.credential.CredentialContext - :rtype: twilio.rest.chat.v1.credential.CredentialContext - """ - super(CredentialContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Credentials/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a CredentialInstance - - :returns: Fetched CredentialInstance - :rtype: twilio.rest.chat.v1.credential.CredentialInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return CredentialInstance(self._version, payload, sid=self._solution['sid'], ) - - def update(self, friendly_name=values.unset, certificate=values.unset, - private_key=values.unset, sandbox=values.unset, api_key=values.unset, - secret=values.unset): - """ - Update the CredentialInstance - - :param unicode friendly_name: The friendly_name - :param unicode certificate: The certificate - :param unicode private_key: The private_key - :param bool sandbox: The sandbox - :param unicode api_key: The api_key - :param unicode secret: The secret - - :returns: Updated CredentialInstance - :rtype: twilio.rest.chat.v1.credential.CredentialInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'Certificate': certificate, - 'PrivateKey': private_key, - 'Sandbox': sandbox, - 'ApiKey': api_key, - 'Secret': secret, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return CredentialInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the CredentialInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V1.CredentialContext {}>'.format(context) - - -class CredentialInstance(InstanceResource): - """ """ - - class PushService(object): - GCM = "gcm" - APN = "apn" - FCM = "fcm" - - def __init__(self, version, payload, sid=None): - """ - Initialize the CredentialInstance - - :returns: twilio.rest.chat.v1.credential.CredentialInstance - :rtype: twilio.rest.chat.v1.credential.CredentialInstance - """ - super(CredentialInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'friendly_name': payload['friendly_name'], - 'type': payload['type'], - 'sandbox': payload['sandbox'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: CredentialContext for this CredentialInstance - :rtype: twilio.rest.chat.v1.credential.CredentialContext - """ - if self._context is None: - self._context = CredentialContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def type(self): - """ - :returns: The type - :rtype: CredentialInstance.PushService - """ - return self._properties['type'] - - @property - def sandbox(self): - """ - :returns: The sandbox - :rtype: unicode - """ - return self._properties['sandbox'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a CredentialInstance - - :returns: Fetched CredentialInstance - :rtype: twilio.rest.chat.v1.credential.CredentialInstance - """ - return self._proxy.fetch() - - def update(self, friendly_name=values.unset, certificate=values.unset, - private_key=values.unset, sandbox=values.unset, api_key=values.unset, - secret=values.unset): - """ - Update the CredentialInstance - - :param unicode friendly_name: The friendly_name - :param unicode certificate: The certificate - :param unicode private_key: The private_key - :param bool sandbox: The sandbox - :param unicode api_key: The api_key - :param unicode secret: The secret - - :returns: Updated CredentialInstance - :rtype: twilio.rest.chat.v1.credential.CredentialInstance - """ - return self._proxy.update( - friendly_name=friendly_name, - certificate=certificate, - private_key=private_key, - sandbox=sandbox, - api_key=api_key, - secret=secret, - ) - - def delete(self): - """ - Deletes the CredentialInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V1.CredentialInstance {}>'.format(context) diff --git a/twilio/rest/chat/v1/service/__init__.py b/twilio/rest/chat/v1/service/__init__.py deleted file mode 100644 index f011097..0000000 --- a/twilio/rest/chat/v1/service/__init__.py +++ /dev/null @@ -1,1027 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.chat.v1.service.channel import ChannelList -from twilio.rest.chat.v1.service.role import RoleList -from twilio.rest.chat.v1.service.user import UserList - - -class ServiceList(ListResource): - """ """ - - def __init__(self, version): - """ - Initialize the ServiceList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.chat.v1.service.ServiceList - :rtype: twilio.rest.chat.v1.service.ServiceList - """ - super(ServiceList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Services'.format(**self._solution) - - def create(self, friendly_name): - """ - Create a new ServiceInstance - - :param unicode friendly_name: The friendly_name - - :returns: Newly created ServiceInstance - :rtype: twilio.rest.chat.v1.service.ServiceInstance - """ - data = values.of({'FriendlyName': friendly_name, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return ServiceInstance(self._version, payload, ) - - def stream(self, limit=None, page_size=None): - """ - Streams ServiceInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.ServiceInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists ServiceInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.ServiceInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of ServiceInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ServiceInstance - :rtype: twilio.rest.chat.v1.service.ServicePage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ServicePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ServiceInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ServiceInstance - :rtype: twilio.rest.chat.v1.service.ServicePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ServicePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a ServiceContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.ServiceContext - :rtype: twilio.rest.chat.v1.service.ServiceContext - """ - return ServiceContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a ServiceContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.ServiceContext - :rtype: twilio.rest.chat.v1.service.ServiceContext - """ - return ServiceContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V1.ServiceList>' - - -class ServicePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the ServicePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.chat.v1.service.ServicePage - :rtype: twilio.rest.chat.v1.service.ServicePage - """ - super(ServicePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ServiceInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v1.service.ServiceInstance - :rtype: twilio.rest.chat.v1.service.ServiceInstance - """ - return ServiceInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V1.ServicePage>' - - -class ServiceContext(InstanceContext): - """ """ - - def __init__(self, version, sid): - """ - Initialize the ServiceContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.ServiceContext - :rtype: twilio.rest.chat.v1.service.ServiceContext - """ - super(ServiceContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Services/{sid}'.format(**self._solution) - - # Dependents - self._channels = None - self._roles = None - self._users = None - - def fetch(self): - """ - Fetch a ServiceInstance - - :returns: Fetched ServiceInstance - :rtype: twilio.rest.chat.v1.service.ServiceInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ServiceInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the ServiceInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, friendly_name=values.unset, - default_service_role_sid=values.unset, - default_channel_role_sid=values.unset, - default_channel_creator_role_sid=values.unset, - read_status_enabled=values.unset, reachability_enabled=values.unset, - typing_indicator_timeout=values.unset, - consumption_report_interval=values.unset, - notifications_new_message_enabled=values.unset, - notifications_new_message_template=values.unset, - notifications_added_to_channel_enabled=values.unset, - notifications_added_to_channel_template=values.unset, - notifications_removed_from_channel_enabled=values.unset, - notifications_removed_from_channel_template=values.unset, - notifications_invited_to_channel_enabled=values.unset, - notifications_invited_to_channel_template=values.unset, - pre_webhook_url=values.unset, post_webhook_url=values.unset, - webhook_method=values.unset, webhook_filters=values.unset, - webhooks_on_message_send_url=values.unset, - webhooks_on_message_send_method=values.unset, - webhooks_on_message_send_format=values.unset, - webhooks_on_message_update_url=values.unset, - webhooks_on_message_update_method=values.unset, - webhooks_on_message_update_format=values.unset, - webhooks_on_message_remove_url=values.unset, - webhooks_on_message_remove_method=values.unset, - webhooks_on_message_remove_format=values.unset, - webhooks_on_channel_add_url=values.unset, - webhooks_on_channel_add_method=values.unset, - webhooks_on_channel_add_format=values.unset, - webhooks_on_channel_destroy_url=values.unset, - webhooks_on_channel_destroy_method=values.unset, - webhooks_on_channel_destroy_format=values.unset, - webhooks_on_channel_update_url=values.unset, - webhooks_on_channel_update_method=values.unset, - webhooks_on_channel_update_format=values.unset, - webhooks_on_member_add_url=values.unset, - webhooks_on_member_add_method=values.unset, - webhooks_on_member_add_format=values.unset, - webhooks_on_member_remove_url=values.unset, - webhooks_on_member_remove_method=values.unset, - webhooks_on_member_remove_format=values.unset, - webhooks_on_message_sent_url=values.unset, - webhooks_on_message_sent_method=values.unset, - webhooks_on_message_sent_format=values.unset, - webhooks_on_message_updated_url=values.unset, - webhooks_on_message_updated_method=values.unset, - webhooks_on_message_updated_format=values.unset, - webhooks_on_message_removed_url=values.unset, - webhooks_on_message_removed_method=values.unset, - webhooks_on_message_removed_format=values.unset, - webhooks_on_channel_added_url=values.unset, - webhooks_on_channel_added_method=values.unset, - webhooks_on_channel_added_format=values.unset, - webhooks_on_channel_destroyed_url=values.unset, - webhooks_on_channel_destroyed_method=values.unset, - webhooks_on_channel_destroyed_format=values.unset, - webhooks_on_channel_updated_url=values.unset, - webhooks_on_channel_updated_method=values.unset, - webhooks_on_channel_updated_format=values.unset, - webhooks_on_member_added_url=values.unset, - webhooks_on_member_added_method=values.unset, - webhooks_on_member_added_format=values.unset, - webhooks_on_member_removed_url=values.unset, - webhooks_on_member_removed_method=values.unset, - webhooks_on_member_removed_format=values.unset, - limits_channel_members=values.unset, - limits_user_channels=values.unset): - """ - Update the ServiceInstance - - :param unicode friendly_name: The friendly_name - :param unicode default_service_role_sid: The default_service_role_sid - :param unicode default_channel_role_sid: The default_channel_role_sid - :param unicode default_channel_creator_role_sid: The default_channel_creator_role_sid - :param bool read_status_enabled: The read_status_enabled - :param bool reachability_enabled: The reachability_enabled - :param unicode typing_indicator_timeout: The typing_indicator_timeout - :param unicode consumption_report_interval: The consumption_report_interval - :param bool notifications_new_message_enabled: The notifications.new_message.enabled - :param unicode notifications_new_message_template: The notifications.new_message.template - :param bool notifications_added_to_channel_enabled: The notifications.added_to_channel.enabled - :param unicode notifications_added_to_channel_template: The notifications.added_to_channel.template - :param bool notifications_removed_from_channel_enabled: The notifications.removed_from_channel.enabled - :param unicode notifications_removed_from_channel_template: The notifications.removed_from_channel.template - :param bool notifications_invited_to_channel_enabled: The notifications.invited_to_channel.enabled - :param unicode notifications_invited_to_channel_template: The notifications.invited_to_channel.template - :param unicode pre_webhook_url: The pre_webhook_url - :param unicode post_webhook_url: The post_webhook_url - :param unicode webhook_method: The webhook_method - :param unicode webhook_filters: The webhook_filters - :param unicode webhooks_on_message_send_url: The webhooks.on_message_send.url - :param unicode webhooks_on_message_send_method: The webhooks.on_message_send.method - :param unicode webhooks_on_message_send_format: The webhooks.on_message_send.format - :param unicode webhooks_on_message_update_url: The webhooks.on_message_update.url - :param unicode webhooks_on_message_update_method: The webhooks.on_message_update.method - :param unicode webhooks_on_message_update_format: The webhooks.on_message_update.format - :param unicode webhooks_on_message_remove_url: The webhooks.on_message_remove.url - :param unicode webhooks_on_message_remove_method: The webhooks.on_message_remove.method - :param unicode webhooks_on_message_remove_format: The webhooks.on_message_remove.format - :param unicode webhooks_on_channel_add_url: The webhooks.on_channel_add.url - :param unicode webhooks_on_channel_add_method: The webhooks.on_channel_add.method - :param unicode webhooks_on_channel_add_format: The webhooks.on_channel_add.format - :param unicode webhooks_on_channel_destroy_url: The webhooks.on_channel_destroy.url - :param unicode webhooks_on_channel_destroy_method: The webhooks.on_channel_destroy.method - :param unicode webhooks_on_channel_destroy_format: The webhooks.on_channel_destroy.format - :param unicode webhooks_on_channel_update_url: The webhooks.on_channel_update.url - :param unicode webhooks_on_channel_update_method: The webhooks.on_channel_update.method - :param unicode webhooks_on_channel_update_format: The webhooks.on_channel_update.format - :param unicode webhooks_on_member_add_url: The webhooks.on_member_add.url - :param unicode webhooks_on_member_add_method: The webhooks.on_member_add.method - :param unicode webhooks_on_member_add_format: The webhooks.on_member_add.format - :param unicode webhooks_on_member_remove_url: The webhooks.on_member_remove.url - :param unicode webhooks_on_member_remove_method: The webhooks.on_member_remove.method - :param unicode webhooks_on_member_remove_format: The webhooks.on_member_remove.format - :param unicode webhooks_on_message_sent_url: The webhooks.on_message_sent.url - :param unicode webhooks_on_message_sent_method: The webhooks.on_message_sent.method - :param unicode webhooks_on_message_sent_format: The webhooks.on_message_sent.format - :param unicode webhooks_on_message_updated_url: The webhooks.on_message_updated.url - :param unicode webhooks_on_message_updated_method: The webhooks.on_message_updated.method - :param unicode webhooks_on_message_updated_format: The webhooks.on_message_updated.format - :param unicode webhooks_on_message_removed_url: The webhooks.on_message_removed.url - :param unicode webhooks_on_message_removed_method: The webhooks.on_message_removed.method - :param unicode webhooks_on_message_removed_format: The webhooks.on_message_removed.format - :param unicode webhooks_on_channel_added_url: The webhooks.on_channel_added.url - :param unicode webhooks_on_channel_added_method: The webhooks.on_channel_added.method - :param unicode webhooks_on_channel_added_format: The webhooks.on_channel_added.format - :param unicode webhooks_on_channel_destroyed_url: The webhooks.on_channel_destroyed.url - :param unicode webhooks_on_channel_destroyed_method: The webhooks.on_channel_destroyed.method - :param unicode webhooks_on_channel_destroyed_format: The webhooks.on_channel_destroyed.format - :param unicode webhooks_on_channel_updated_url: The webhooks.on_channel_updated.url - :param unicode webhooks_on_channel_updated_method: The webhooks.on_channel_updated.method - :param unicode webhooks_on_channel_updated_format: The webhooks.on_channel_updated.format - :param unicode webhooks_on_member_added_url: The webhooks.on_member_added.url - :param unicode webhooks_on_member_added_method: The webhooks.on_member_added.method - :param unicode webhooks_on_member_added_format: The webhooks.on_member_added.format - :param unicode webhooks_on_member_removed_url: The webhooks.on_member_removed.url - :param unicode webhooks_on_member_removed_method: The webhooks.on_member_removed.method - :param unicode webhooks_on_member_removed_format: The webhooks.on_member_removed.format - :param unicode limits_channel_members: The limits.channel_members - :param unicode limits_user_channels: The limits.user_channels - - :returns: Updated ServiceInstance - :rtype: twilio.rest.chat.v1.service.ServiceInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'DefaultServiceRoleSid': default_service_role_sid, - 'DefaultChannelRoleSid': default_channel_role_sid, - 'DefaultChannelCreatorRoleSid': default_channel_creator_role_sid, - 'ReadStatusEnabled': read_status_enabled, - 'ReachabilityEnabled': reachability_enabled, - 'TypingIndicatorTimeout': typing_indicator_timeout, - 'ConsumptionReportInterval': consumption_report_interval, - 'Notifications.NewMessage.Enabled': notifications_new_message_enabled, - 'Notifications.NewMessage.Template': notifications_new_message_template, - 'Notifications.AddedToChannel.Enabled': notifications_added_to_channel_enabled, - 'Notifications.AddedToChannel.Template': notifications_added_to_channel_template, - 'Notifications.RemovedFromChannel.Enabled': notifications_removed_from_channel_enabled, - 'Notifications.RemovedFromChannel.Template': notifications_removed_from_channel_template, - 'Notifications.InvitedToChannel.Enabled': notifications_invited_to_channel_enabled, - 'Notifications.InvitedToChannel.Template': notifications_invited_to_channel_template, - 'PreWebhookUrl': pre_webhook_url, - 'PostWebhookUrl': post_webhook_url, - 'WebhookMethod': webhook_method, - 'WebhookFilters': serialize.map(webhook_filters, lambda e: e), - 'Webhooks.OnMessageSend.Url': webhooks_on_message_send_url, - 'Webhooks.OnMessageSend.Method': webhooks_on_message_send_method, - 'Webhooks.OnMessageSend.Format': webhooks_on_message_send_format, - 'Webhooks.OnMessageUpdate.Url': webhooks_on_message_update_url, - 'Webhooks.OnMessageUpdate.Method': webhooks_on_message_update_method, - 'Webhooks.OnMessageUpdate.Format': webhooks_on_message_update_format, - 'Webhooks.OnMessageRemove.Url': webhooks_on_message_remove_url, - 'Webhooks.OnMessageRemove.Method': webhooks_on_message_remove_method, - 'Webhooks.OnMessageRemove.Format': webhooks_on_message_remove_format, - 'Webhooks.OnChannelAdd.Url': webhooks_on_channel_add_url, - 'Webhooks.OnChannelAdd.Method': webhooks_on_channel_add_method, - 'Webhooks.OnChannelAdd.Format': webhooks_on_channel_add_format, - 'Webhooks.OnChannelDestroy.Url': webhooks_on_channel_destroy_url, - 'Webhooks.OnChannelDestroy.Method': webhooks_on_channel_destroy_method, - 'Webhooks.OnChannelDestroy.Format': webhooks_on_channel_destroy_format, - 'Webhooks.OnChannelUpdate.Url': webhooks_on_channel_update_url, - 'Webhooks.OnChannelUpdate.Method': webhooks_on_channel_update_method, - 'Webhooks.OnChannelUpdate.Format': webhooks_on_channel_update_format, - 'Webhooks.OnMemberAdd.Url': webhooks_on_member_add_url, - 'Webhooks.OnMemberAdd.Method': webhooks_on_member_add_method, - 'Webhooks.OnMemberAdd.Format': webhooks_on_member_add_format, - 'Webhooks.OnMemberRemove.Url': webhooks_on_member_remove_url, - 'Webhooks.OnMemberRemove.Method': webhooks_on_member_remove_method, - 'Webhooks.OnMemberRemove.Format': webhooks_on_member_remove_format, - 'Webhooks.OnMessageSent.Url': webhooks_on_message_sent_url, - 'Webhooks.OnMessageSent.Method': webhooks_on_message_sent_method, - 'Webhooks.OnMessageSent.Format': webhooks_on_message_sent_format, - 'Webhooks.OnMessageUpdated.Url': webhooks_on_message_updated_url, - 'Webhooks.OnMessageUpdated.Method': webhooks_on_message_updated_method, - 'Webhooks.OnMessageUpdated.Format': webhooks_on_message_updated_format, - 'Webhooks.OnMessageRemoved.Url': webhooks_on_message_removed_url, - 'Webhooks.OnMessageRemoved.Method': webhooks_on_message_removed_method, - 'Webhooks.OnMessageRemoved.Format': webhooks_on_message_removed_format, - 'Webhooks.OnChannelAdded.Url': webhooks_on_channel_added_url, - 'Webhooks.OnChannelAdded.Method': webhooks_on_channel_added_method, - 'Webhooks.OnChannelAdded.Format': webhooks_on_channel_added_format, - 'Webhooks.OnChannelDestroyed.Url': webhooks_on_channel_destroyed_url, - 'Webhooks.OnChannelDestroyed.Method': webhooks_on_channel_destroyed_method, - 'Webhooks.OnChannelDestroyed.Format': webhooks_on_channel_destroyed_format, - 'Webhooks.OnChannelUpdated.Url': webhooks_on_channel_updated_url, - 'Webhooks.OnChannelUpdated.Method': webhooks_on_channel_updated_method, - 'Webhooks.OnChannelUpdated.Format': webhooks_on_channel_updated_format, - 'Webhooks.OnMemberAdded.Url': webhooks_on_member_added_url, - 'Webhooks.OnMemberAdded.Method': webhooks_on_member_added_method, - 'Webhooks.OnMemberAdded.Format': webhooks_on_member_added_format, - 'Webhooks.OnMemberRemoved.Url': webhooks_on_member_removed_url, - 'Webhooks.OnMemberRemoved.Method': webhooks_on_member_removed_method, - 'Webhooks.OnMemberRemoved.Format': webhooks_on_member_removed_format, - 'Limits.ChannelMembers': limits_channel_members, - 'Limits.UserChannels': limits_user_channels, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ServiceInstance(self._version, payload, sid=self._solution['sid'], ) - - @property - def channels(self): - """ - Access the channels - - :returns: twilio.rest.chat.v1.service.channel.ChannelList - :rtype: twilio.rest.chat.v1.service.channel.ChannelList - """ - if self._channels is None: - self._channels = ChannelList(self._version, service_sid=self._solution['sid'], ) - return self._channels - - @property - def roles(self): - """ - Access the roles - - :returns: twilio.rest.chat.v1.service.role.RoleList - :rtype: twilio.rest.chat.v1.service.role.RoleList - """ - if self._roles is None: - self._roles = RoleList(self._version, service_sid=self._solution['sid'], ) - return self._roles - - @property - def users(self): - """ - Access the users - - :returns: twilio.rest.chat.v1.service.user.UserList - :rtype: twilio.rest.chat.v1.service.user.UserList - """ - if self._users is None: - self._users = UserList(self._version, service_sid=self._solution['sid'], ) - return self._users - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V1.ServiceContext {}>'.format(context) - - -class ServiceInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, sid=None): - """ - Initialize the ServiceInstance - - :returns: twilio.rest.chat.v1.service.ServiceInstance - :rtype: twilio.rest.chat.v1.service.ServiceInstance - """ - super(ServiceInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'friendly_name': payload['friendly_name'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'default_service_role_sid': payload['default_service_role_sid'], - 'default_channel_role_sid': payload['default_channel_role_sid'], - 'default_channel_creator_role_sid': payload['default_channel_creator_role_sid'], - 'read_status_enabled': payload['read_status_enabled'], - 'reachability_enabled': payload['reachability_enabled'], - 'typing_indicator_timeout': deserialize.integer(payload['typing_indicator_timeout']), - 'consumption_report_interval': deserialize.integer(payload['consumption_report_interval']), - 'limits': payload['limits'], - 'webhooks': payload['webhooks'], - 'pre_webhook_url': payload['pre_webhook_url'], - 'post_webhook_url': payload['post_webhook_url'], - 'webhook_method': payload['webhook_method'], - 'webhook_filters': payload['webhook_filters'], - 'notifications': payload['notifications'], - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ServiceContext for this ServiceInstance - :rtype: twilio.rest.chat.v1.service.ServiceContext - """ - if self._context is None: - self._context = ServiceContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def default_service_role_sid(self): - """ - :returns: The default_service_role_sid - :rtype: unicode - """ - return self._properties['default_service_role_sid'] - - @property - def default_channel_role_sid(self): - """ - :returns: The default_channel_role_sid - :rtype: unicode - """ - return self._properties['default_channel_role_sid'] - - @property - def default_channel_creator_role_sid(self): - """ - :returns: The default_channel_creator_role_sid - :rtype: unicode - """ - return self._properties['default_channel_creator_role_sid'] - - @property - def read_status_enabled(self): - """ - :returns: The read_status_enabled - :rtype: bool - """ - return self._properties['read_status_enabled'] - - @property - def reachability_enabled(self): - """ - :returns: The reachability_enabled - :rtype: bool - """ - return self._properties['reachability_enabled'] - - @property - def typing_indicator_timeout(self): - """ - :returns: The typing_indicator_timeout - :rtype: unicode - """ - return self._properties['typing_indicator_timeout'] - - @property - def consumption_report_interval(self): - """ - :returns: The consumption_report_interval - :rtype: unicode - """ - return self._properties['consumption_report_interval'] - - @property - def limits(self): - """ - :returns: The limits - :rtype: dict - """ - return self._properties['limits'] - - @property - def webhooks(self): - """ - :returns: The webhooks - :rtype: dict - """ - return self._properties['webhooks'] - - @property - def pre_webhook_url(self): - """ - :returns: The pre_webhook_url - :rtype: unicode - """ - return self._properties['pre_webhook_url'] - - @property - def post_webhook_url(self): - """ - :returns: The post_webhook_url - :rtype: unicode - """ - return self._properties['post_webhook_url'] - - @property - def webhook_method(self): - """ - :returns: The webhook_method - :rtype: unicode - """ - return self._properties['webhook_method'] - - @property - def webhook_filters(self): - """ - :returns: The webhook_filters - :rtype: unicode - """ - return self._properties['webhook_filters'] - - @property - def notifications(self): - """ - :returns: The notifications - :rtype: dict - """ - return self._properties['notifications'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a ServiceInstance - - :returns: Fetched ServiceInstance - :rtype: twilio.rest.chat.v1.service.ServiceInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the ServiceInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, friendly_name=values.unset, - default_service_role_sid=values.unset, - default_channel_role_sid=values.unset, - default_channel_creator_role_sid=values.unset, - read_status_enabled=values.unset, reachability_enabled=values.unset, - typing_indicator_timeout=values.unset, - consumption_report_interval=values.unset, - notifications_new_message_enabled=values.unset, - notifications_new_message_template=values.unset, - notifications_added_to_channel_enabled=values.unset, - notifications_added_to_channel_template=values.unset, - notifications_removed_from_channel_enabled=values.unset, - notifications_removed_from_channel_template=values.unset, - notifications_invited_to_channel_enabled=values.unset, - notifications_invited_to_channel_template=values.unset, - pre_webhook_url=values.unset, post_webhook_url=values.unset, - webhook_method=values.unset, webhook_filters=values.unset, - webhooks_on_message_send_url=values.unset, - webhooks_on_message_send_method=values.unset, - webhooks_on_message_send_format=values.unset, - webhooks_on_message_update_url=values.unset, - webhooks_on_message_update_method=values.unset, - webhooks_on_message_update_format=values.unset, - webhooks_on_message_remove_url=values.unset, - webhooks_on_message_remove_method=values.unset, - webhooks_on_message_remove_format=values.unset, - webhooks_on_channel_add_url=values.unset, - webhooks_on_channel_add_method=values.unset, - webhooks_on_channel_add_format=values.unset, - webhooks_on_channel_destroy_url=values.unset, - webhooks_on_channel_destroy_method=values.unset, - webhooks_on_channel_destroy_format=values.unset, - webhooks_on_channel_update_url=values.unset, - webhooks_on_channel_update_method=values.unset, - webhooks_on_channel_update_format=values.unset, - webhooks_on_member_add_url=values.unset, - webhooks_on_member_add_method=values.unset, - webhooks_on_member_add_format=values.unset, - webhooks_on_member_remove_url=values.unset, - webhooks_on_member_remove_method=values.unset, - webhooks_on_member_remove_format=values.unset, - webhooks_on_message_sent_url=values.unset, - webhooks_on_message_sent_method=values.unset, - webhooks_on_message_sent_format=values.unset, - webhooks_on_message_updated_url=values.unset, - webhooks_on_message_updated_method=values.unset, - webhooks_on_message_updated_format=values.unset, - webhooks_on_message_removed_url=values.unset, - webhooks_on_message_removed_method=values.unset, - webhooks_on_message_removed_format=values.unset, - webhooks_on_channel_added_url=values.unset, - webhooks_on_channel_added_method=values.unset, - webhooks_on_channel_added_format=values.unset, - webhooks_on_channel_destroyed_url=values.unset, - webhooks_on_channel_destroyed_method=values.unset, - webhooks_on_channel_destroyed_format=values.unset, - webhooks_on_channel_updated_url=values.unset, - webhooks_on_channel_updated_method=values.unset, - webhooks_on_channel_updated_format=values.unset, - webhooks_on_member_added_url=values.unset, - webhooks_on_member_added_method=values.unset, - webhooks_on_member_added_format=values.unset, - webhooks_on_member_removed_url=values.unset, - webhooks_on_member_removed_method=values.unset, - webhooks_on_member_removed_format=values.unset, - limits_channel_members=values.unset, - limits_user_channels=values.unset): - """ - Update the ServiceInstance - - :param unicode friendly_name: The friendly_name - :param unicode default_service_role_sid: The default_service_role_sid - :param unicode default_channel_role_sid: The default_channel_role_sid - :param unicode default_channel_creator_role_sid: The default_channel_creator_role_sid - :param bool read_status_enabled: The read_status_enabled - :param bool reachability_enabled: The reachability_enabled - :param unicode typing_indicator_timeout: The typing_indicator_timeout - :param unicode consumption_report_interval: The consumption_report_interval - :param bool notifications_new_message_enabled: The notifications.new_message.enabled - :param unicode notifications_new_message_template: The notifications.new_message.template - :param bool notifications_added_to_channel_enabled: The notifications.added_to_channel.enabled - :param unicode notifications_added_to_channel_template: The notifications.added_to_channel.template - :param bool notifications_removed_from_channel_enabled: The notifications.removed_from_channel.enabled - :param unicode notifications_removed_from_channel_template: The notifications.removed_from_channel.template - :param bool notifications_invited_to_channel_enabled: The notifications.invited_to_channel.enabled - :param unicode notifications_invited_to_channel_template: The notifications.invited_to_channel.template - :param unicode pre_webhook_url: The pre_webhook_url - :param unicode post_webhook_url: The post_webhook_url - :param unicode webhook_method: The webhook_method - :param unicode webhook_filters: The webhook_filters - :param unicode webhooks_on_message_send_url: The webhooks.on_message_send.url - :param unicode webhooks_on_message_send_method: The webhooks.on_message_send.method - :param unicode webhooks_on_message_send_format: The webhooks.on_message_send.format - :param unicode webhooks_on_message_update_url: The webhooks.on_message_update.url - :param unicode webhooks_on_message_update_method: The webhooks.on_message_update.method - :param unicode webhooks_on_message_update_format: The webhooks.on_message_update.format - :param unicode webhooks_on_message_remove_url: The webhooks.on_message_remove.url - :param unicode webhooks_on_message_remove_method: The webhooks.on_message_remove.method - :param unicode webhooks_on_message_remove_format: The webhooks.on_message_remove.format - :param unicode webhooks_on_channel_add_url: The webhooks.on_channel_add.url - :param unicode webhooks_on_channel_add_method: The webhooks.on_channel_add.method - :param unicode webhooks_on_channel_add_format: The webhooks.on_channel_add.format - :param unicode webhooks_on_channel_destroy_url: The webhooks.on_channel_destroy.url - :param unicode webhooks_on_channel_destroy_method: The webhooks.on_channel_destroy.method - :param unicode webhooks_on_channel_destroy_format: The webhooks.on_channel_destroy.format - :param unicode webhooks_on_channel_update_url: The webhooks.on_channel_update.url - :param unicode webhooks_on_channel_update_method: The webhooks.on_channel_update.method - :param unicode webhooks_on_channel_update_format: The webhooks.on_channel_update.format - :param unicode webhooks_on_member_add_url: The webhooks.on_member_add.url - :param unicode webhooks_on_member_add_method: The webhooks.on_member_add.method - :param unicode webhooks_on_member_add_format: The webhooks.on_member_add.format - :param unicode webhooks_on_member_remove_url: The webhooks.on_member_remove.url - :param unicode webhooks_on_member_remove_method: The webhooks.on_member_remove.method - :param unicode webhooks_on_member_remove_format: The webhooks.on_member_remove.format - :param unicode webhooks_on_message_sent_url: The webhooks.on_message_sent.url - :param unicode webhooks_on_message_sent_method: The webhooks.on_message_sent.method - :param unicode webhooks_on_message_sent_format: The webhooks.on_message_sent.format - :param unicode webhooks_on_message_updated_url: The webhooks.on_message_updated.url - :param unicode webhooks_on_message_updated_method: The webhooks.on_message_updated.method - :param unicode webhooks_on_message_updated_format: The webhooks.on_message_updated.format - :param unicode webhooks_on_message_removed_url: The webhooks.on_message_removed.url - :param unicode webhooks_on_message_removed_method: The webhooks.on_message_removed.method - :param unicode webhooks_on_message_removed_format: The webhooks.on_message_removed.format - :param unicode webhooks_on_channel_added_url: The webhooks.on_channel_added.url - :param unicode webhooks_on_channel_added_method: The webhooks.on_channel_added.method - :param unicode webhooks_on_channel_added_format: The webhooks.on_channel_added.format - :param unicode webhooks_on_channel_destroyed_url: The webhooks.on_channel_destroyed.url - :param unicode webhooks_on_channel_destroyed_method: The webhooks.on_channel_destroyed.method - :param unicode webhooks_on_channel_destroyed_format: The webhooks.on_channel_destroyed.format - :param unicode webhooks_on_channel_updated_url: The webhooks.on_channel_updated.url - :param unicode webhooks_on_channel_updated_method: The webhooks.on_channel_updated.method - :param unicode webhooks_on_channel_updated_format: The webhooks.on_channel_updated.format - :param unicode webhooks_on_member_added_url: The webhooks.on_member_added.url - :param unicode webhooks_on_member_added_method: The webhooks.on_member_added.method - :param unicode webhooks_on_member_added_format: The webhooks.on_member_added.format - :param unicode webhooks_on_member_removed_url: The webhooks.on_member_removed.url - :param unicode webhooks_on_member_removed_method: The webhooks.on_member_removed.method - :param unicode webhooks_on_member_removed_format: The webhooks.on_member_removed.format - :param unicode limits_channel_members: The limits.channel_members - :param unicode limits_user_channels: The limits.user_channels - - :returns: Updated ServiceInstance - :rtype: twilio.rest.chat.v1.service.ServiceInstance - """ - return self._proxy.update( - friendly_name=friendly_name, - default_service_role_sid=default_service_role_sid, - default_channel_role_sid=default_channel_role_sid, - default_channel_creator_role_sid=default_channel_creator_role_sid, - read_status_enabled=read_status_enabled, - reachability_enabled=reachability_enabled, - typing_indicator_timeout=typing_indicator_timeout, - consumption_report_interval=consumption_report_interval, - notifications_new_message_enabled=notifications_new_message_enabled, - notifications_new_message_template=notifications_new_message_template, - notifications_added_to_channel_enabled=notifications_added_to_channel_enabled, - notifications_added_to_channel_template=notifications_added_to_channel_template, - notifications_removed_from_channel_enabled=notifications_removed_from_channel_enabled, - notifications_removed_from_channel_template=notifications_removed_from_channel_template, - notifications_invited_to_channel_enabled=notifications_invited_to_channel_enabled, - notifications_invited_to_channel_template=notifications_invited_to_channel_template, - pre_webhook_url=pre_webhook_url, - post_webhook_url=post_webhook_url, - webhook_method=webhook_method, - webhook_filters=webhook_filters, - webhooks_on_message_send_url=webhooks_on_message_send_url, - webhooks_on_message_send_method=webhooks_on_message_send_method, - webhooks_on_message_send_format=webhooks_on_message_send_format, - webhooks_on_message_update_url=webhooks_on_message_update_url, - webhooks_on_message_update_method=webhooks_on_message_update_method, - webhooks_on_message_update_format=webhooks_on_message_update_format, - webhooks_on_message_remove_url=webhooks_on_message_remove_url, - webhooks_on_message_remove_method=webhooks_on_message_remove_method, - webhooks_on_message_remove_format=webhooks_on_message_remove_format, - webhooks_on_channel_add_url=webhooks_on_channel_add_url, - webhooks_on_channel_add_method=webhooks_on_channel_add_method, - webhooks_on_channel_add_format=webhooks_on_channel_add_format, - webhooks_on_channel_destroy_url=webhooks_on_channel_destroy_url, - webhooks_on_channel_destroy_method=webhooks_on_channel_destroy_method, - webhooks_on_channel_destroy_format=webhooks_on_channel_destroy_format, - webhooks_on_channel_update_url=webhooks_on_channel_update_url, - webhooks_on_channel_update_method=webhooks_on_channel_update_method, - webhooks_on_channel_update_format=webhooks_on_channel_update_format, - webhooks_on_member_add_url=webhooks_on_member_add_url, - webhooks_on_member_add_method=webhooks_on_member_add_method, - webhooks_on_member_add_format=webhooks_on_member_add_format, - webhooks_on_member_remove_url=webhooks_on_member_remove_url, - webhooks_on_member_remove_method=webhooks_on_member_remove_method, - webhooks_on_member_remove_format=webhooks_on_member_remove_format, - webhooks_on_message_sent_url=webhooks_on_message_sent_url, - webhooks_on_message_sent_method=webhooks_on_message_sent_method, - webhooks_on_message_sent_format=webhooks_on_message_sent_format, - webhooks_on_message_updated_url=webhooks_on_message_updated_url, - webhooks_on_message_updated_method=webhooks_on_message_updated_method, - webhooks_on_message_updated_format=webhooks_on_message_updated_format, - webhooks_on_message_removed_url=webhooks_on_message_removed_url, - webhooks_on_message_removed_method=webhooks_on_message_removed_method, - webhooks_on_message_removed_format=webhooks_on_message_removed_format, - webhooks_on_channel_added_url=webhooks_on_channel_added_url, - webhooks_on_channel_added_method=webhooks_on_channel_added_method, - webhooks_on_channel_added_format=webhooks_on_channel_added_format, - webhooks_on_channel_destroyed_url=webhooks_on_channel_destroyed_url, - webhooks_on_channel_destroyed_method=webhooks_on_channel_destroyed_method, - webhooks_on_channel_destroyed_format=webhooks_on_channel_destroyed_format, - webhooks_on_channel_updated_url=webhooks_on_channel_updated_url, - webhooks_on_channel_updated_method=webhooks_on_channel_updated_method, - webhooks_on_channel_updated_format=webhooks_on_channel_updated_format, - webhooks_on_member_added_url=webhooks_on_member_added_url, - webhooks_on_member_added_method=webhooks_on_member_added_method, - webhooks_on_member_added_format=webhooks_on_member_added_format, - webhooks_on_member_removed_url=webhooks_on_member_removed_url, - webhooks_on_member_removed_method=webhooks_on_member_removed_method, - webhooks_on_member_removed_format=webhooks_on_member_removed_format, - limits_channel_members=limits_channel_members, - limits_user_channels=limits_user_channels, - ) - - @property - def channels(self): - """ - Access the channels - - :returns: twilio.rest.chat.v1.service.channel.ChannelList - :rtype: twilio.rest.chat.v1.service.channel.ChannelList - """ - return self._proxy.channels - - @property - def roles(self): - """ - Access the roles - - :returns: twilio.rest.chat.v1.service.role.RoleList - :rtype: twilio.rest.chat.v1.service.role.RoleList - """ - return self._proxy.roles - - @property - def users(self): - """ - Access the users - - :returns: twilio.rest.chat.v1.service.user.UserList - :rtype: twilio.rest.chat.v1.service.user.UserList - """ - return self._proxy.users - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V1.ServiceInstance {}>'.format(context) diff --git a/twilio/rest/chat/v1/service/__pycache__/__init__.cpython-36.pyc b/twilio/rest/chat/v1/service/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 5f24dd7e48c7e88f5d0fbcc5a912efb90b0e4c19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38419 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 diff --git a/twilio/rest/chat/v1/service/__pycache__/role.cpython-36.pyc b/twilio/rest/chat/v1/service/__pycache__/role.cpython-36.pyc deleted file mode 100644 index a52a8868b8b27c5c7e0c6e4e886705c052520a8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15148 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­L&Yxv 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 E1HXo(?f?J) diff --git a/twilio/rest/chat/v1/service/channel/__init__.py b/twilio/rest/chat/v1/service/channel/__init__.py deleted file mode 100644 index 48e8424..0000000 --- a/twilio/rest/chat/v1/service/channel/__init__.py +++ /dev/null @@ -1,616 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.chat.v1.service.channel.invite import InviteList -from twilio.rest.chat.v1.service.channel.member import MemberList -from twilio.rest.chat.v1.service.channel.message import MessageList - - -class ChannelList(ListResource): - """ """ - - def __init__(self, version, service_sid): - """ - Initialize the ChannelList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v1.service.channel.ChannelList - :rtype: twilio.rest.chat.v1.service.channel.ChannelList - """ - super(ChannelList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Channels'.format(**self._solution) - - def create(self, friendly_name=values.unset, unique_name=values.unset, - attributes=values.unset, type=values.unset): - """ - Create a new ChannelInstance - - :param unicode friendly_name: The friendly_name - :param unicode unique_name: The unique_name - :param unicode attributes: The attributes - :param ChannelInstance.ChannelType type: The type - - :returns: Newly created ChannelInstance - :rtype: twilio.rest.chat.v1.service.channel.ChannelInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'UniqueName': unique_name, - 'Attributes': attributes, - 'Type': type, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return ChannelInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, type=values.unset, limit=None, page_size=None): - """ - Streams ChannelInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param ChannelInstance.ChannelType type: The type - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.channel.ChannelInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(type=type, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, type=values.unset, limit=None, page_size=None): - """ - Lists ChannelInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param ChannelInstance.ChannelType type: The type - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.channel.ChannelInstance] - """ - return list(self.stream(type=type, limit=limit, page_size=page_size, )) - - def page(self, type=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of ChannelInstance records from the API. - Request is executed immediately - - :param ChannelInstance.ChannelType type: The type - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ChannelInstance - :rtype: twilio.rest.chat.v1.service.channel.ChannelPage - """ - params = values.of({ - 'Type': serialize.map(type, lambda e: e), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ChannelPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ChannelInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ChannelInstance - :rtype: twilio.rest.chat.v1.service.channel.ChannelPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ChannelPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a ChannelContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.channel.ChannelContext - :rtype: twilio.rest.chat.v1.service.channel.ChannelContext - """ - return ChannelContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a ChannelContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.channel.ChannelContext - :rtype: twilio.rest.chat.v1.service.channel.ChannelContext - """ - return ChannelContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V1.ChannelList>' - - -class ChannelPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the ChannelPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v1.service.channel.ChannelPage - :rtype: twilio.rest.chat.v1.service.channel.ChannelPage - """ - super(ChannelPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ChannelInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v1.service.channel.ChannelInstance - :rtype: twilio.rest.chat.v1.service.channel.ChannelInstance - """ - return ChannelInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V1.ChannelPage>' - - -class ChannelContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the ChannelContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.channel.ChannelContext - :rtype: twilio.rest.chat.v1.service.channel.ChannelContext - """ - super(ChannelContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Channels/{sid}'.format(**self._solution) - - # Dependents - self._members = None - self._messages = None - self._invites = None - - def fetch(self): - """ - Fetch a ChannelInstance - - :returns: Fetched ChannelInstance - :rtype: twilio.rest.chat.v1.service.channel.ChannelInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ChannelInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the ChannelInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, friendly_name=values.unset, unique_name=values.unset, - attributes=values.unset): - """ - Update the ChannelInstance - - :param unicode friendly_name: The friendly_name - :param unicode unique_name: The unique_name - :param unicode attributes: The attributes - - :returns: Updated ChannelInstance - :rtype: twilio.rest.chat.v1.service.channel.ChannelInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'UniqueName': unique_name, - 'Attributes': attributes, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ChannelInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - @property - def members(self): - """ - Access the members - - :returns: twilio.rest.chat.v1.service.channel.member.MemberList - :rtype: twilio.rest.chat.v1.service.channel.member.MemberList - """ - if self._members is None: - self._members = MemberList( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['sid'], - ) - return self._members - - @property - def messages(self): - """ - Access the messages - - :returns: twilio.rest.chat.v1.service.channel.message.MessageList - :rtype: twilio.rest.chat.v1.service.channel.message.MessageList - """ - if self._messages is None: - self._messages = MessageList( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['sid'], - ) - return self._messages - - @property - def invites(self): - """ - Access the invites - - :returns: twilio.rest.chat.v1.service.channel.invite.InviteList - :rtype: twilio.rest.chat.v1.service.channel.invite.InviteList - """ - if self._invites is None: - self._invites = InviteList( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['sid'], - ) - return self._invites - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V1.ChannelContext {}>'.format(context) - - -class ChannelInstance(InstanceResource): - """ """ - - class ChannelType(object): - PUBLIC = "public" - PRIVATE = "private" - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the ChannelInstance - - :returns: twilio.rest.chat.v1.service.channel.ChannelInstance - :rtype: twilio.rest.chat.v1.service.channel.ChannelInstance - """ - super(ChannelInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'friendly_name': payload['friendly_name'], - 'unique_name': payload['unique_name'], - 'attributes': payload['attributes'], - 'type': payload['type'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'created_by': payload['created_by'], - 'members_count': deserialize.integer(payload['members_count']), - 'messages_count': deserialize.integer(payload['messages_count']), - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ChannelContext for this ChannelInstance - :rtype: twilio.rest.chat.v1.service.channel.ChannelContext - """ - if self._context is None: - self._context = ChannelContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def unique_name(self): - """ - :returns: The unique_name - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def attributes(self): - """ - :returns: The attributes - :rtype: unicode - """ - return self._properties['attributes'] - - @property - def type(self): - """ - :returns: The type - :rtype: ChannelInstance.ChannelType - """ - return self._properties['type'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def created_by(self): - """ - :returns: The created_by - :rtype: unicode - """ - return self._properties['created_by'] - - @property - def members_count(self): - """ - :returns: The members_count - :rtype: unicode - """ - return self._properties['members_count'] - - @property - def messages_count(self): - """ - :returns: The messages_count - :rtype: unicode - """ - return self._properties['messages_count'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a ChannelInstance - - :returns: Fetched ChannelInstance - :rtype: twilio.rest.chat.v1.service.channel.ChannelInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the ChannelInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, friendly_name=values.unset, unique_name=values.unset, - attributes=values.unset): - """ - Update the ChannelInstance - - :param unicode friendly_name: The friendly_name - :param unicode unique_name: The unique_name - :param unicode attributes: The attributes - - :returns: Updated ChannelInstance - :rtype: twilio.rest.chat.v1.service.channel.ChannelInstance - """ - return self._proxy.update( - friendly_name=friendly_name, - unique_name=unique_name, - attributes=attributes, - ) - - @property - def members(self): - """ - Access the members - - :returns: twilio.rest.chat.v1.service.channel.member.MemberList - :rtype: twilio.rest.chat.v1.service.channel.member.MemberList - """ - return self._proxy.members - - @property - def messages(self): - """ - Access the messages - - :returns: twilio.rest.chat.v1.service.channel.message.MessageList - :rtype: twilio.rest.chat.v1.service.channel.message.MessageList - """ - return self._proxy.messages - - @property - def invites(self): - """ - Access the invites - - :returns: twilio.rest.chat.v1.service.channel.invite.InviteList - :rtype: twilio.rest.chat.v1.service.channel.invite.InviteList - """ - return self._proxy.invites - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V1.ChannelInstance {}>'.format(context) diff --git a/twilio/rest/chat/v1/service/channel/__pycache__/__init__.cpython-36.pyc b/twilio/rest/chat/v1/service/channel/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index f2e9fc632af1ad538b0c7dd633138b22e88ea8aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19659 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 diff --git a/twilio/rest/chat/v1/service/channel/__pycache__/invite.cpython-36.pyc b/twilio/rest/chat/v1/service/channel/__pycache__/invite.cpython-36.pyc deleted file mode 100644 index 2db087a181f42625ba2c98914163bd3fce4edb8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15086 zcmeHOO>7)TcJA)!`QdO#jVQ~uY<b;wHi^cOhg2Lp8(OQ_rff%8Eu%=X0!+A=ZB8}C zre~(d-93~z8X`a_z?bzNf*f)XkV_5;kYf%(faDM$dkF&UX%BtaOMn2m<>%&8zW1uT zrlvWhei5yM9ipqNtE;PCy?XWj`Od;Z^<RGa7p=elj$!<pq5W*sKfo0|Kp~8lAxvR) z&7Re=OsW@9FSH6=w^6rSHrI>YVz1OHalO<n_bROl*UR0xUbR)_dZjzxtF>yT@u?x^ zMD@NQs$TV=&|1Lryr|*1=GE}Li01{di04JGgy$1@J|XIOu6q?c*Tu;jMq_E@R&Q?m zk<$r;=iG54=eF1PLO1q=v$<E@aF(66gCC0aIK5Y$v2(87*jPq!u07sZ9y{Z6%jmIt zp}EprsZxIjAIjfy^*?|FqhTiV!i&7ncf0<`!{eO(P}+67LoY(}i7WjmcKaP~E$GMI z-55>vtm(QJ1;emIU)QesQLH`N*WBA)hi1xtv<dW!euTm^S|&Ea5@xILrLl$W5QY1d zmhBaHN_etG@xIwA)04p8RzZ|S1uYe=g^+Ew=BP!#wrobb*{Vu(x8^09TQzY~EZsL+ z3*wY`0r$l(4clm)0Mbt<)hqp7KlW%1Bg=6*8LV_Kq*t_pN^HdD*f_9utg(4un#R}~ z7lir18XN6`uy*V%V{GgcevCftq9|Z&+r4EPM!E-%bEWUc65~$1?cp(-wyL_U4&2b~ zIk&tp@`Jv!EAOkSA>MXlkViju{eHxwgy}ZqhrovJ`W>$w`C`?%iRrY4eBaKt+wXhb zNnfo&gDv#pVc3sWo%oL5^@Ap+j+^KjH$iOa@bpY$HGN)PQ(I(8gU)Ig?+v`C9i?F< z^V*V<c@5^#d&@WE@}uQ@TBrTxH3=P>weI`N63S@3QA&!@aNvdE9QHe@wA()RtlduL z+ELIQ#@Lgjv=xLsH%{#KF!URCVn<$gD=DX26;|<KIFEu(RlD8kx>3|_|F!Y;&f4n6 zX8<PJ_yfPS?FJhk4hEOq*xk4qblmR7O|LiD82E#?H-~;#y!}qp4Yu~8I~x+$*^N-X z0np=(-3uG(%IKL;zLBDQuoo_1{?oXk5(;C!UZ|O)Q<JS|X6xz@ebcXqi~6qNiatUS z8$0IM9OH~Wunx@q0w~+s0hQx!gX#-k75448NUdWVWl7j)i26&Sc*YQ=uWV3%*##q= zQ2$!!fs;9|)A#PAw4bpOjm9MX5BomzKwo(M*pK%l1!qrr^38gOL06;q>`5D35%9Wq zr@QBL7$T7e=BepaEh`%dv|726E~Qnz4lr-{BC)Ui{*9ZU5?g=@G`g|0dO0L6lvu$Q zh%qIxq$B|k>-1_-ZfiDYxQNC^F+54{DjCL-N`{T_WqMH_xO?5e72ykbk_C}V_$rED z!xd4xQLS4g(=u(dQlQc@E9U5=Mnw{gb;U4=fQXQoh#-cEAc%~>CJ(HAA`>vqu`NuH zi1n4VPvirJIWD5D0P?Ykhz^Kx7Tx~_WvYF?5o4!%QEsE0(CY-Dh@7o3=rJ$+@Y)pz zQq#@kW)M0Nf7(<-v3w11!d*JdPS+jzpajB2q{hP#-qx1i@j-leiN`?@MgC^jbA}+t zF3;8Vdw#5jh0q3woo!F(Q+a5NhTRw-g;Xc@30Xc3;&~?uFd{~nfQ5&i*9*eE2_Q|4 zj-TX^`2E;nm{*<823Ws*aKOxXIsIX86OF-^!a^LR5I0jKo@=P(W`sSt-yTA6K}YZ) zl>!`b&}#a*gLQbA!v(epXHCbs>}|O~i-TqM1KFyEP9-3LJAf7enKXi|Sf2&nmKS%n z9a>B1eF23fKJVPw_WBqzhO~<vNU5$fj65~=1YEsFvRI@LvF1Zqcy}d31mL~0MQ|!` z2yT4fV=o^v^yV-IHS)5xkFeuRmFF4~L^qDX{9{5Kh)B?WJY-xs;vGNU=FRH`Q9Pj( z2Gk+Eop=1E*K~S*{~UjD-np={veM8fNpZwarKZW$02PB#x959Z;S2`^n4B>sX9Zm* z%Dd2={^+r_f{bVVK#iBoDI_<n@HMcI&_R(DdHPnB-*UZShp*sGYo0LH=B6mI>3vd? z*lm=U3CdC4$cAc_WZ&>jYRR#`UqRdN;*w%>Y0+A;rWl?aSn)ez%}Qv}P%&{l7Mr9P zepNUy!OJZ7Pjy~KYUX2bGQ#YHrF_=!`kzCUOUdUvc0bQIJfI+S+`f=|NSw|2A+Py| z8AUrdT!F%Q%4jw{u!4+9`Tg6^li$#yaX2PCMFFdyTUnQ^Mlq{javR?3DQ=UZlh5=F zUXx?Mhfz!||NnSRqmW|_(9&!|RY+_A{DoAgT$en<_%^!yA+E?mVVoSnUe0W~CJogg zb%=gtT#8j(#slfsF*NG2N$!aIuqsJSB1Pzd4SkzbBYUSPShpS*MG^XTDK1m%xP%f; z1F)8o`(L_-ecg*gACea$C&CGax<dSrq}jBNsQ7@cI8B($btz1VguJ_6XGrb`zt{7G z5B<Hnr%8_|(L;b=DM{ntbFaVZTmy(Vsp<^EU>6E2`8rstL7P+OKCcx>bwz%iDhDYu zloA}UM}BVr?Tr+iPM1_UuuUxB$RUqWG^CU~pJ@rK;=H?}Awr2!TFqgEPv(45)0f6o zqja$8{G&TvH*iHHjmD@p%ylMHSQe(2BiN*JvFr9Wg?nj_KEY*--q2{4=%snFO9p9l z2^HBFXW>QkY|W{?3M=$nq30XWGm^rmACo0hVuFYob8NMQXV58x>@$)=&mFM5mSUF; zm(=Y-V@RW=JUMZxq-PRo%@b5@x#O%3gy(3?3Y3vS(1#J6lj0=VcW_A~X3;hmVY*mm zwU8MzQ^%AB@9^=(Cj>0vag9Ewad6adP}%f_T!$57#dIXe^<(T5`4C#}`$rwZf!Fb2 zNBrL$LpoTnBX4^#924DD2gm2_iU07k>sOVopK8lEX_<LKNO*4K9R4~G4Q-9|xuhh5 zp6mBpC8<p&<rLWPExeU<Qjo@Nb+Xv-H|XUw86*|L1TE}Kyo`uojcOHiP%2EhLb6_p z28b3EtNs=qQmqcwD_O4CcS~5f!*k4T4tw--bu!^5#WoB(Wbvg;H}#xq*p*y!;+OM< z_EK?@$JVB^i8A?}>E=&8kmimkOzKGiD`*sw1<5|r+2tW;AA}{3GdWK4TT=ki{~YZR zIm?VWb}^81A@yZkC7l;tez_%H>Oalz?PMFE#VC(sNVrDB1>7EOBjDf!tM9hke}zx- zyD{xBl>H8g9_Ez9G6mZ@qmeob*Q7YdLD+&;(if1$p*H}>fhcC@%Pgw@K71&!tB?F7 zPuw_dYQoX07jH_(G`zfV^VS8;`Fx2<uwhD?%yWu%n;>hq|BkT0vY<T0BeM66I=O`V zZqI{DxY};_0x^Wkv7OY~?JtIIH+@rXw?)vwN92ZOQP?UDA*f>Zud#X=ew$vAgbA0a z_)RL_q2jktBnzqIxZ~00OpXs0aEdyyvyNQUOSmEu&K1+PY9|-ZEWNyRs$wpkt(>gX zD|L2bcko*M3Tcf48b<|UI0R#~iU_}y5iBWju%rytqQY$W=qSlqjIKvX#?}FXY|v{d zLL!afAM3($W<=!Lv@nwF^48NwM6Rd$0!ckq99A9Gq-(;8pi-q%3m`oIND3n-e+nL( z#ZQg04*jl%jgumlX_gsyY5@_6v4Cw=vKUB4hJ22g7U`>h#>HBwQCm_nmS&oS8~ALY z+fgzWp|fczo5@%gvDb+|_#+CDz{dech73>6P`UHFDEtn26xr=fb^})wDNOm0XECP7 zMseocn!xd-y8oe(CLAA5GR6JD`04l^X8f;HYmVjBNbSk6_cPkKi6~}2|4UM=^Y-a| zzlj2X7IB;aV4nN$goJ6{pVF?B4d8w65+dKD;<u@w2!~|xt5hS#9sUj#3fI{=;Un@E zUi}j;Rz)Sd27{*7*$kS7e^dr7Dq;?dy3CBa0!CeBC4d=q=7OL*32Kr65y=~!QD@<7 ziq1Tc?0R-U`<{LdXR_~1SD6t0GvnaTj1wyc`c2ct52<^ji%%BnMqJz%`v`bT*3T-V zV*TL>kOzks(@0{-LO`(^sc5FU$g~jnAEGWYpNv|)uxO56oH7q4k^p4HKcYr*j;-N} zE~6mFm~X%Z#<Bn*XS&<4wk){7tTg0I)^~|xhKEDXMUa1a^gxl{Cmbcp%rV7G)%#Ut za&b>s#S&!IQxVIvW8iG@n(W7zFz`%$&!Jg{fTc5qP2?iSy?A>h$7g9RtztRk42~bZ z58M`kb=DS*a`jMX7xq`G@uw%a$@5GxeA+GEDe~Z853pCfKTz|4b!)V*uzK0+dNBn9 zRicZ+r|L7o{LOIaIsO(LZ1j~A4Lcpr6VZ9+6F8#aP{SzU9bb#&WybAh5Omdea31jY zI3$Fq@FEoi>1@59-=8Ivq-_6%X<C(osr6GQwSH3Hg}H+`Hd2=e6Yvoo7?(k}M7hEy z$1X>IiqF#``r339_yjt!|A;PfYmAK_ytrZQoBNg^hZe&02i7gP6Tg6)gEzByZ~wdZ zz#>d$2Qc-m=1O9Io|wB63CEVm*K-%i(R6nZUOJzl(>6wpX>?{rl;&T|z8bwT+j2_@ z(Yd#Oi4tvg0>95LprnX=tzIPIl75Dy+>t42IoMb%|0+R6i#N)z%wS2WfS)^Bz|-N8 z<n%BpPmJ_Gaj`zdQhurOQe}?CaR=?{$Kc>8`bQMHoEL9!PFz9Q_va`lPQVO9e86lW z(~UFXsE+J7nQ(|Y^5SH&A?nD8lbLU*S5fCAL)7O{=L|U1Yp8P;9O?_GpB69j_=~8& zBwptF3DnPsSGZmmuZpwKE>4Qq#J6x?60Zvf_fxEGyZ~Bxllc&78|xkB{a6y+DGiF~ zF8UJ`ht&;sr%7iTjuBjH7H1JzltUC3!1OIqLPCg{*2`2!TZMbhaalzw$^3&VXWZ3L zmMDfYE)I5aB#WGAvcT$0S=0dM;^-%eS<KX3j^k0kP!<4rdXjm!(+QA~LV0_fawcU7 zh0T*1l8U@`n&Ff_4F}XHLOT6PHGS9K+)D~@7(->GLBo%!ppBah7JfpHpHe}ehQCL} z6%^}-)DdXOY)Y~v!ukZU&7|%}!FS$UxzHv6V!!7l^KFECkh&53UIeE~c6eEorGb0a zIarkCB;riP;~hHV1fEf@+a)vmtC=;fFWM!Gq5z}Ru*r7%uttJ$CjMX2_DRkO^Yco$ zLg}B#VM5Lldw}UqWJ`BsE+I&V*g%{6gV;*$1q`L=ElsfSrp(rK*~&BTr}iwxvOLc7 zMA9t<;yUiYrTn8{OAQF*Q6?e+ea@~M`oR!B=ME(`MaWqB5ScI8U|BOKApz@medss{ zm}^tavUsPscM2gOdDhBN%H!3t)*q@6+2K{}O5V#k+qG9BGP}EXorr^I%b24O05aO} zSGPu|r&rUIy_L))QXu+W!^I3;lEN8^vRR||70j9<Ly5L<=;w9DG(}OhXBzbPF!B-F z37tkka1#VZX|$As71KN-plfQ{X+Smhq4ki-xrYEIz5qy%0hoGpHGp5q0jy2;lz?lw zyAKDPc-irQQ;+x<z_sa~5^&9ceK_F6^^OOedW??&T$}C@0slY)E6eu237XClNwwEU z&<RPO<DsS=_cf^V966io5kdY~gGmQj7l2w933euj)C-nz$HPrh@JAZlujc4mpYU10 zo{DP)VrKIkhMh$7@vu{mKYJML>4c96`%$ElWf~uX`w&YZX?;A{)Z>8$cAiwSxgHVZ zk2IKcQkkeiT8AU(o0Om9fu<gRsR4Z^M<<in9ue%L1P!#dhr>&H+VSvGkH692%?lb# zGX*HRPD{ic^MLbCezBb{@Rffbkh3EM2;uB5<*AhsH8S)5R$-z%N*w}9S3K+xIT{zw z*A<d2mRul5ES6sVgSObbF7(ZJe}vz~5*6t_y#pk?gz-X35Dq_}B1b(RqU~QZgu?&v zR_@#%=Ky(gwgV)iJm~=mKcZPljSWd7)!iTAWopO)M81lj5J1ZHk>{ToNXQv$oIcY1 zkyKJ!ZBL${$F>vs%sra_gbc?Og4scZ{3naA*OqFP!+(`IcvYzPdgCOAVp{X5g}&)R z?;)j`bI)Y_{jBy5|C%PFhRW)s&`9gGnOzVo=KpdG$)C|WqxYc%Pb3bc@5}VQuD>53 y?8J$39EImdk2G2cYHhE0*C<4U>^zxKaES(sUPghSJ`7m(SE&E7aiQL<fAGI*?AD?H diff --git a/twilio/rest/chat/v1/service/channel/__pycache__/member.cpython-36.pyc b/twilio/rest/chat/v1/service/channel/__pycache__/member.cpython-36.pyc deleted file mode 100644 index d4cd9ce509510259afa7ae937670fb9211d6dff5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16560 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 ZSV*A<q-C)qCOPMp|G+x6+*tm>{{dL+Ob7q~ diff --git a/twilio/rest/chat/v1/service/channel/__pycache__/message.cpython-36.pyc b/twilio/rest/chat/v1/service/channel/__pycache__/message.cpython-36.pyc deleted file mode 100644 index 4198552e5dadea75b891d458ce457318e6051dcd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16970 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 diff --git a/twilio/rest/chat/v1/service/channel/invite.py b/twilio/rest/chat/v1/service/channel/invite.py deleted file mode 100644 index f12f4fe..0000000 --- a/twilio/rest/chat/v1/service/channel/invite.py +++ /dev/null @@ -1,462 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class InviteList(ListResource): - """ """ - - def __init__(self, version, service_sid, channel_sid): - """ - Initialize the InviteList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param channel_sid: The channel_sid - - :returns: twilio.rest.chat.v1.service.channel.invite.InviteList - :rtype: twilio.rest.chat.v1.service.channel.invite.InviteList - """ - super(InviteList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'channel_sid': channel_sid, } - self._uri = '/Services/{service_sid}/Channels/{channel_sid}/Invites'.format(**self._solution) - - def create(self, identity, role_sid=values.unset): - """ - Create a new InviteInstance - - :param unicode identity: The identity - :param unicode role_sid: The role_sid - - :returns: Newly created InviteInstance - :rtype: twilio.rest.chat.v1.service.channel.invite.InviteInstance - """ - data = values.of({'Identity': identity, 'RoleSid': role_sid, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return InviteInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - ) - - def stream(self, identity=values.unset, limit=None, page_size=None): - """ - Streams InviteInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode identity: The identity - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.channel.invite.InviteInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(identity=identity, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, identity=values.unset, limit=None, page_size=None): - """ - Lists InviteInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode identity: The identity - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.channel.invite.InviteInstance] - """ - return list(self.stream(identity=identity, limit=limit, page_size=page_size, )) - - def page(self, identity=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of InviteInstance records from the API. - Request is executed immediately - - :param unicode identity: The identity - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of InviteInstance - :rtype: twilio.rest.chat.v1.service.channel.invite.InvitePage - """ - params = values.of({ - 'Identity': serialize.map(identity, lambda e: e), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return InvitePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of InviteInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of InviteInstance - :rtype: twilio.rest.chat.v1.service.channel.invite.InvitePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return InvitePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a InviteContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.channel.invite.InviteContext - :rtype: twilio.rest.chat.v1.service.channel.invite.InviteContext - """ - return InviteContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a InviteContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.channel.invite.InviteContext - :rtype: twilio.rest.chat.v1.service.channel.invite.InviteContext - """ - return InviteContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V1.InviteList>' - - -class InvitePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the InvitePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - :param channel_sid: The channel_sid - - :returns: twilio.rest.chat.v1.service.channel.invite.InvitePage - :rtype: twilio.rest.chat.v1.service.channel.invite.InvitePage - """ - super(InvitePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of InviteInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v1.service.channel.invite.InviteInstance - :rtype: twilio.rest.chat.v1.service.channel.invite.InviteInstance - """ - return InviteInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V1.InvitePage>' - - -class InviteContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, channel_sid, sid): - """ - Initialize the InviteContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param channel_sid: The channel_sid - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.channel.invite.InviteContext - :rtype: twilio.rest.chat.v1.service.channel.invite.InviteContext - """ - super(InviteContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'channel_sid': channel_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Channels/{channel_sid}/Invites/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a InviteInstance - - :returns: Fetched InviteInstance - :rtype: twilio.rest.chat.v1.service.channel.invite.InviteInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return InviteInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the InviteInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V1.InviteContext {}>'.format(context) - - -class InviteInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, service_sid, channel_sid, sid=None): - """ - Initialize the InviteInstance - - :returns: twilio.rest.chat.v1.service.channel.invite.InviteInstance - :rtype: twilio.rest.chat.v1.service.channel.invite.InviteInstance - """ - super(InviteInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'channel_sid': payload['channel_sid'], - 'service_sid': payload['service_sid'], - 'identity': payload['identity'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'role_sid': payload['role_sid'], - 'created_by': payload['created_by'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'channel_sid': channel_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: InviteContext for this InviteInstance - :rtype: twilio.rest.chat.v1.service.channel.invite.InviteContext - """ - if self._context is None: - self._context = InviteContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def channel_sid(self): - """ - :returns: The channel_sid - :rtype: unicode - """ - return self._properties['channel_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def identity(self): - """ - :returns: The identity - :rtype: unicode - """ - return self._properties['identity'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def role_sid(self): - """ - :returns: The role_sid - :rtype: unicode - """ - return self._properties['role_sid'] - - @property - def created_by(self): - """ - :returns: The created_by - :rtype: unicode - """ - return self._properties['created_by'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a InviteInstance - - :returns: Fetched InviteInstance - :rtype: twilio.rest.chat.v1.service.channel.invite.InviteInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the InviteInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V1.InviteInstance {}>'.format(context) diff --git a/twilio/rest/chat/v1/service/channel/member.py b/twilio/rest/chat/v1/service/channel/member.py deleted file mode 100644 index 30a3f07..0000000 --- a/twilio/rest/chat/v1/service/channel/member.py +++ /dev/null @@ -1,514 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class MemberList(ListResource): - """ """ - - def __init__(self, version, service_sid, channel_sid): - """ - Initialize the MemberList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param channel_sid: The channel_sid - - :returns: twilio.rest.chat.v1.service.channel.member.MemberList - :rtype: twilio.rest.chat.v1.service.channel.member.MemberList - """ - super(MemberList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'channel_sid': channel_sid, } - self._uri = '/Services/{service_sid}/Channels/{channel_sid}/Members'.format(**self._solution) - - def create(self, identity, role_sid=values.unset): - """ - Create a new MemberInstance - - :param unicode identity: The identity - :param unicode role_sid: The role_sid - - :returns: Newly created MemberInstance - :rtype: twilio.rest.chat.v1.service.channel.member.MemberInstance - """ - data = values.of({'Identity': identity, 'RoleSid': role_sid, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return MemberInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - ) - - def stream(self, identity=values.unset, limit=None, page_size=None): - """ - Streams MemberInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode identity: The identity - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.channel.member.MemberInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(identity=identity, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, identity=values.unset, limit=None, page_size=None): - """ - Lists MemberInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode identity: The identity - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.channel.member.MemberInstance] - """ - return list(self.stream(identity=identity, limit=limit, page_size=page_size, )) - - def page(self, identity=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of MemberInstance records from the API. - Request is executed immediately - - :param unicode identity: The identity - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of MemberInstance - :rtype: twilio.rest.chat.v1.service.channel.member.MemberPage - """ - params = values.of({ - 'Identity': serialize.map(identity, lambda e: e), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return MemberPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of MemberInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of MemberInstance - :rtype: twilio.rest.chat.v1.service.channel.member.MemberPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return MemberPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a MemberContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.channel.member.MemberContext - :rtype: twilio.rest.chat.v1.service.channel.member.MemberContext - """ - return MemberContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a MemberContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.channel.member.MemberContext - :rtype: twilio.rest.chat.v1.service.channel.member.MemberContext - """ - return MemberContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V1.MemberList>' - - -class MemberPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the MemberPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - :param channel_sid: The channel_sid - - :returns: twilio.rest.chat.v1.service.channel.member.MemberPage - :rtype: twilio.rest.chat.v1.service.channel.member.MemberPage - """ - super(MemberPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of MemberInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v1.service.channel.member.MemberInstance - :rtype: twilio.rest.chat.v1.service.channel.member.MemberInstance - """ - return MemberInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V1.MemberPage>' - - -class MemberContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, channel_sid, sid): - """ - Initialize the MemberContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param channel_sid: The channel_sid - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.channel.member.MemberContext - :rtype: twilio.rest.chat.v1.service.channel.member.MemberContext - """ - super(MemberContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'channel_sid': channel_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Channels/{channel_sid}/Members/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a MemberInstance - - :returns: Fetched MemberInstance - :rtype: twilio.rest.chat.v1.service.channel.member.MemberInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return MemberInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the MemberInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, role_sid=values.unset, - last_consumed_message_index=values.unset): - """ - Update the MemberInstance - - :param unicode role_sid: The role_sid - :param unicode last_consumed_message_index: The last_consumed_message_index - - :returns: Updated MemberInstance - :rtype: twilio.rest.chat.v1.service.channel.member.MemberInstance - """ - data = values.of({'RoleSid': role_sid, 'LastConsumedMessageIndex': last_consumed_message_index, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return MemberInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V1.MemberContext {}>'.format(context) - - -class MemberInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, service_sid, channel_sid, sid=None): - """ - Initialize the MemberInstance - - :returns: twilio.rest.chat.v1.service.channel.member.MemberInstance - :rtype: twilio.rest.chat.v1.service.channel.member.MemberInstance - """ - super(MemberInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'channel_sid': payload['channel_sid'], - 'service_sid': payload['service_sid'], - 'identity': payload['identity'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'role_sid': payload['role_sid'], - 'last_consumed_message_index': deserialize.integer(payload['last_consumed_message_index']), - 'last_consumption_timestamp': deserialize.iso8601_datetime(payload['last_consumption_timestamp']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'channel_sid': channel_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: MemberContext for this MemberInstance - :rtype: twilio.rest.chat.v1.service.channel.member.MemberContext - """ - if self._context is None: - self._context = MemberContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def channel_sid(self): - """ - :returns: The channel_sid - :rtype: unicode - """ - return self._properties['channel_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def identity(self): - """ - :returns: The identity - :rtype: unicode - """ - return self._properties['identity'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def role_sid(self): - """ - :returns: The role_sid - :rtype: unicode - """ - return self._properties['role_sid'] - - @property - def last_consumed_message_index(self): - """ - :returns: The last_consumed_message_index - :rtype: unicode - """ - return self._properties['last_consumed_message_index'] - - @property - def last_consumption_timestamp(self): - """ - :returns: The last_consumption_timestamp - :rtype: datetime - """ - return self._properties['last_consumption_timestamp'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a MemberInstance - - :returns: Fetched MemberInstance - :rtype: twilio.rest.chat.v1.service.channel.member.MemberInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the MemberInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, role_sid=values.unset, - last_consumed_message_index=values.unset): - """ - Update the MemberInstance - - :param unicode role_sid: The role_sid - :param unicode last_consumed_message_index: The last_consumed_message_index - - :returns: Updated MemberInstance - :rtype: twilio.rest.chat.v1.service.channel.member.MemberInstance - """ - return self._proxy.update( - role_sid=role_sid, - last_consumed_message_index=last_consumed_message_index, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V1.MemberInstance {}>'.format(context) diff --git a/twilio/rest/chat/v1/service/channel/message.py b/twilio/rest/chat/v1/service/channel/message.py deleted file mode 100644 index 44d947b..0000000 --- a/twilio/rest/chat/v1/service/channel/message.py +++ /dev/null @@ -1,531 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class MessageList(ListResource): - """ """ - - def __init__(self, version, service_sid, channel_sid): - """ - Initialize the MessageList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param channel_sid: The channel_sid - - :returns: twilio.rest.chat.v1.service.channel.message.MessageList - :rtype: twilio.rest.chat.v1.service.channel.message.MessageList - """ - super(MessageList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'channel_sid': channel_sid, } - self._uri = '/Services/{service_sid}/Channels/{channel_sid}/Messages'.format(**self._solution) - - def create(self, body, from_=values.unset, attributes=values.unset): - """ - Create a new MessageInstance - - :param unicode body: The body - :param unicode from_: The from - :param unicode attributes: The attributes - - :returns: Newly created MessageInstance - :rtype: twilio.rest.chat.v1.service.channel.message.MessageInstance - """ - data = values.of({'Body': body, 'From': from_, 'Attributes': attributes, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return MessageInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - ) - - def stream(self, order=values.unset, limit=None, page_size=None): - """ - Streams MessageInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param MessageInstance.OrderType order: The order - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.channel.message.MessageInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(order=order, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, order=values.unset, limit=None, page_size=None): - """ - Lists MessageInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param MessageInstance.OrderType order: The order - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.channel.message.MessageInstance] - """ - return list(self.stream(order=order, limit=limit, page_size=page_size, )) - - def page(self, order=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of MessageInstance records from the API. - Request is executed immediately - - :param MessageInstance.OrderType order: The order - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of MessageInstance - :rtype: twilio.rest.chat.v1.service.channel.message.MessagePage - """ - params = values.of({ - 'Order': order, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return MessagePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of MessageInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of MessageInstance - :rtype: twilio.rest.chat.v1.service.channel.message.MessagePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return MessagePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a MessageContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.channel.message.MessageContext - :rtype: twilio.rest.chat.v1.service.channel.message.MessageContext - """ - return MessageContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a MessageContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.channel.message.MessageContext - :rtype: twilio.rest.chat.v1.service.channel.message.MessageContext - """ - return MessageContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V1.MessageList>' - - -class MessagePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the MessagePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - :param channel_sid: The channel_sid - - :returns: twilio.rest.chat.v1.service.channel.message.MessagePage - :rtype: twilio.rest.chat.v1.service.channel.message.MessagePage - """ - super(MessagePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of MessageInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v1.service.channel.message.MessageInstance - :rtype: twilio.rest.chat.v1.service.channel.message.MessageInstance - """ - return MessageInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V1.MessagePage>' - - -class MessageContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, channel_sid, sid): - """ - Initialize the MessageContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param channel_sid: The channel_sid - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.channel.message.MessageContext - :rtype: twilio.rest.chat.v1.service.channel.message.MessageContext - """ - super(MessageContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'channel_sid': channel_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Channels/{channel_sid}/Messages/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a MessageInstance - - :returns: Fetched MessageInstance - :rtype: twilio.rest.chat.v1.service.channel.message.MessageInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return MessageInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the MessageInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, body=values.unset, attributes=values.unset): - """ - Update the MessageInstance - - :param unicode body: The body - :param unicode attributes: The attributes - - :returns: Updated MessageInstance - :rtype: twilio.rest.chat.v1.service.channel.message.MessageInstance - """ - data = values.of({'Body': body, 'Attributes': attributes, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return MessageInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V1.MessageContext {}>'.format(context) - - -class MessageInstance(InstanceResource): - """ """ - - class OrderType(object): - ASC = "asc" - DESC = "desc" - - def __init__(self, version, payload, service_sid, channel_sid, sid=None): - """ - Initialize the MessageInstance - - :returns: twilio.rest.chat.v1.service.channel.message.MessageInstance - :rtype: twilio.rest.chat.v1.service.channel.message.MessageInstance - """ - super(MessageInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'attributes': payload['attributes'], - 'service_sid': payload['service_sid'], - 'to': payload['to'], - 'channel_sid': payload['channel_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'was_edited': payload['was_edited'], - 'from_': payload['from'], - 'body': payload['body'], - 'index': deserialize.integer(payload['index']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'channel_sid': channel_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: MessageContext for this MessageInstance - :rtype: twilio.rest.chat.v1.service.channel.message.MessageContext - """ - if self._context is None: - self._context = MessageContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def attributes(self): - """ - :returns: The attributes - :rtype: unicode - """ - return self._properties['attributes'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def to(self): - """ - :returns: The to - :rtype: unicode - """ - return self._properties['to'] - - @property - def channel_sid(self): - """ - :returns: The channel_sid - :rtype: unicode - """ - return self._properties['channel_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def was_edited(self): - """ - :returns: The was_edited - :rtype: bool - """ - return self._properties['was_edited'] - - @property - def from_(self): - """ - :returns: The from - :rtype: unicode - """ - return self._properties['from_'] - - @property - def body(self): - """ - :returns: The body - :rtype: unicode - """ - return self._properties['body'] - - @property - def index(self): - """ - :returns: The index - :rtype: unicode - """ - return self._properties['index'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a MessageInstance - - :returns: Fetched MessageInstance - :rtype: twilio.rest.chat.v1.service.channel.message.MessageInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the MessageInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, body=values.unset, attributes=values.unset): - """ - Update the MessageInstance - - :param unicode body: The body - :param unicode attributes: The attributes - - :returns: Updated MessageInstance - :rtype: twilio.rest.chat.v1.service.channel.message.MessageInstance - """ - return self._proxy.update(body=body, attributes=attributes, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V1.MessageInstance {}>'.format(context) diff --git a/twilio/rest/chat/v1/service/role.py b/twilio/rest/chat/v1/service/role.py deleted file mode 100644 index 1ec84b0..0000000 --- a/twilio/rest/chat/v1/service/role.py +++ /dev/null @@ -1,460 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class RoleList(ListResource): - """ """ - - def __init__(self, version, service_sid): - """ - Initialize the RoleList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v1.service.role.RoleList - :rtype: twilio.rest.chat.v1.service.role.RoleList - """ - super(RoleList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Roles'.format(**self._solution) - - def create(self, friendly_name, type, permission): - """ - Create a new RoleInstance - - :param unicode friendly_name: The friendly_name - :param RoleInstance.RoleType type: The type - :param unicode permission: The permission - - :returns: Newly created RoleInstance - :rtype: twilio.rest.chat.v1.service.role.RoleInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'Type': type, - 'Permission': serialize.map(permission, lambda e: e), - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return RoleInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, limit=None, page_size=None): - """ - Streams RoleInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.role.RoleInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists RoleInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.role.RoleInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of RoleInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of RoleInstance - :rtype: twilio.rest.chat.v1.service.role.RolePage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return RolePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of RoleInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of RoleInstance - :rtype: twilio.rest.chat.v1.service.role.RolePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return RolePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a RoleContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.role.RoleContext - :rtype: twilio.rest.chat.v1.service.role.RoleContext - """ - return RoleContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a RoleContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.role.RoleContext - :rtype: twilio.rest.chat.v1.service.role.RoleContext - """ - return RoleContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V1.RoleList>' - - -class RolePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the RolePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v1.service.role.RolePage - :rtype: twilio.rest.chat.v1.service.role.RolePage - """ - super(RolePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of RoleInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v1.service.role.RoleInstance - :rtype: twilio.rest.chat.v1.service.role.RoleInstance - """ - return RoleInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V1.RolePage>' - - -class RoleContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the RoleContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.role.RoleContext - :rtype: twilio.rest.chat.v1.service.role.RoleContext - """ - super(RoleContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Roles/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a RoleInstance - - :returns: Fetched RoleInstance - :rtype: twilio.rest.chat.v1.service.role.RoleInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return RoleInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the RoleInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, permission): - """ - Update the RoleInstance - - :param unicode permission: The permission - - :returns: Updated RoleInstance - :rtype: twilio.rest.chat.v1.service.role.RoleInstance - """ - data = values.of({'Permission': serialize.map(permission, lambda e: e), }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return RoleInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V1.RoleContext {}>'.format(context) - - -class RoleInstance(InstanceResource): - """ """ - - class RoleType(object): - CHANNEL = "channel" - DEPLOYMENT = "deployment" - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the RoleInstance - - :returns: twilio.rest.chat.v1.service.role.RoleInstance - :rtype: twilio.rest.chat.v1.service.role.RoleInstance - """ - super(RoleInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'friendly_name': payload['friendly_name'], - 'type': payload['type'], - 'permissions': payload['permissions'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: RoleContext for this RoleInstance - :rtype: twilio.rest.chat.v1.service.role.RoleContext - """ - if self._context is None: - self._context = RoleContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def type(self): - """ - :returns: The type - :rtype: RoleInstance.RoleType - """ - return self._properties['type'] - - @property - def permissions(self): - """ - :returns: The permissions - :rtype: unicode - """ - return self._properties['permissions'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a RoleInstance - - :returns: Fetched RoleInstance - :rtype: twilio.rest.chat.v1.service.role.RoleInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the RoleInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, permission): - """ - Update the RoleInstance - - :param unicode permission: The permission - - :returns: Updated RoleInstance - :rtype: twilio.rest.chat.v1.service.role.RoleInstance - """ - return self._proxy.update(permission, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V1.RoleInstance {}>'.format(context) diff --git a/twilio/rest/chat/v1/service/user/__init__.py b/twilio/rest/chat/v1/service/user/__init__.py deleted file mode 100644 index cc9af0b..0000000 --- a/twilio/rest/chat/v1/service/user/__init__.py +++ /dev/null @@ -1,539 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.chat.v1.service.user.user_channel import UserChannelList - - -class UserList(ListResource): - """ """ - - def __init__(self, version, service_sid): - """ - Initialize the UserList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v1.service.user.UserList - :rtype: twilio.rest.chat.v1.service.user.UserList - """ - super(UserList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Users'.format(**self._solution) - - def create(self, identity, role_sid=values.unset, attributes=values.unset, - friendly_name=values.unset): - """ - Create a new UserInstance - - :param unicode identity: The identity - :param unicode role_sid: The role_sid - :param unicode attributes: The attributes - :param unicode friendly_name: The friendly_name - - :returns: Newly created UserInstance - :rtype: twilio.rest.chat.v1.service.user.UserInstance - """ - data = values.of({ - 'Identity': identity, - 'RoleSid': role_sid, - 'Attributes': attributes, - 'FriendlyName': friendly_name, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return UserInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, limit=None, page_size=None): - """ - Streams UserInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.user.UserInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists UserInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.user.UserInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of UserInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of UserInstance - :rtype: twilio.rest.chat.v1.service.user.UserPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return UserPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of UserInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of UserInstance - :rtype: twilio.rest.chat.v1.service.user.UserPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return UserPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a UserContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.user.UserContext - :rtype: twilio.rest.chat.v1.service.user.UserContext - """ - return UserContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a UserContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.user.UserContext - :rtype: twilio.rest.chat.v1.service.user.UserContext - """ - return UserContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V1.UserList>' - - -class UserPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the UserPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v1.service.user.UserPage - :rtype: twilio.rest.chat.v1.service.user.UserPage - """ - super(UserPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of UserInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v1.service.user.UserInstance - :rtype: twilio.rest.chat.v1.service.user.UserInstance - """ - return UserInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V1.UserPage>' - - -class UserContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the UserContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.user.UserContext - :rtype: twilio.rest.chat.v1.service.user.UserContext - """ - super(UserContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Users/{sid}'.format(**self._solution) - - # Dependents - self._user_channels = None - - def fetch(self): - """ - Fetch a UserInstance - - :returns: Fetched UserInstance - :rtype: twilio.rest.chat.v1.service.user.UserInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return UserInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the UserInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, role_sid=values.unset, attributes=values.unset, - friendly_name=values.unset): - """ - Update the UserInstance - - :param unicode role_sid: The role_sid - :param unicode attributes: The attributes - :param unicode friendly_name: The friendly_name - - :returns: Updated UserInstance - :rtype: twilio.rest.chat.v1.service.user.UserInstance - """ - data = values.of({'RoleSid': role_sid, 'Attributes': attributes, 'FriendlyName': friendly_name, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return UserInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - @property - def user_channels(self): - """ - Access the user_channels - - :returns: twilio.rest.chat.v1.service.user.user_channel.UserChannelList - :rtype: twilio.rest.chat.v1.service.user.user_channel.UserChannelList - """ - if self._user_channels is None: - self._user_channels = UserChannelList( - self._version, - service_sid=self._solution['service_sid'], - user_sid=self._solution['sid'], - ) - return self._user_channels - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V1.UserContext {}>'.format(context) - - -class UserInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the UserInstance - - :returns: twilio.rest.chat.v1.service.user.UserInstance - :rtype: twilio.rest.chat.v1.service.user.UserInstance - """ - super(UserInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'attributes': payload['attributes'], - 'friendly_name': payload['friendly_name'], - 'role_sid': payload['role_sid'], - 'identity': payload['identity'], - 'is_online': payload['is_online'], - 'is_notifiable': payload['is_notifiable'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'joined_channels_count': deserialize.integer(payload['joined_channels_count']), - 'links': payload['links'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: UserContext for this UserInstance - :rtype: twilio.rest.chat.v1.service.user.UserContext - """ - if self._context is None: - self._context = UserContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def attributes(self): - """ - :returns: The attributes - :rtype: unicode - """ - return self._properties['attributes'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def role_sid(self): - """ - :returns: The role_sid - :rtype: unicode - """ - return self._properties['role_sid'] - - @property - def identity(self): - """ - :returns: The identity - :rtype: unicode - """ - return self._properties['identity'] - - @property - def is_online(self): - """ - :returns: The is_online - :rtype: bool - """ - return self._properties['is_online'] - - @property - def is_notifiable(self): - """ - :returns: The is_notifiable - :rtype: bool - """ - return self._properties['is_notifiable'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def joined_channels_count(self): - """ - :returns: The joined_channels_count - :rtype: unicode - """ - return self._properties['joined_channels_count'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a UserInstance - - :returns: Fetched UserInstance - :rtype: twilio.rest.chat.v1.service.user.UserInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the UserInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, role_sid=values.unset, attributes=values.unset, - friendly_name=values.unset): - """ - Update the UserInstance - - :param unicode role_sid: The role_sid - :param unicode attributes: The attributes - :param unicode friendly_name: The friendly_name - - :returns: Updated UserInstance - :rtype: twilio.rest.chat.v1.service.user.UserInstance - """ - return self._proxy.update(role_sid=role_sid, attributes=attributes, friendly_name=friendly_name, ) - - @property - def user_channels(self): - """ - Access the user_channels - - :returns: twilio.rest.chat.v1.service.user.user_channel.UserChannelList - :rtype: twilio.rest.chat.v1.service.user.user_channel.UserChannelList - """ - return self._proxy.user_channels - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V1.UserInstance {}>'.format(context) diff --git a/twilio/rest/chat/v1/service/user/__pycache__/__init__.cpython-36.pyc b/twilio/rest/chat/v1/service/user/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index cc09811269c2c3bd7d3e2699fc81678374aae96f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17067 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 diff --git a/twilio/rest/chat/v1/service/user/__pycache__/user_channel.cpython-36.pyc b/twilio/rest/chat/v1/service/user/__pycache__/user_channel.cpython-36.pyc deleted file mode 100644 index 0f3d240096538f8eec1996c1ab68065a89717d1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10037 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 VOH|wvg)Nk|5Uq$mb1_=%{2R{>RaXE2 diff --git a/twilio/rest/chat/v1/service/user/user_channel.py b/twilio/rest/chat/v1/service/user/user_channel.py deleted file mode 100644 index 32990f4..0000000 --- a/twilio/rest/chat/v1/service/user/user_channel.py +++ /dev/null @@ -1,277 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class UserChannelList(ListResource): - """ """ - - def __init__(self, version, service_sid, user_sid): - """ - Initialize the UserChannelList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param user_sid: The sid - - :returns: twilio.rest.chat.v1.service.user.user_channel.UserChannelList - :rtype: twilio.rest.chat.v1.service.user.user_channel.UserChannelList - """ - super(UserChannelList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'user_sid': user_sid, } - self._uri = '/Services/{service_sid}/Users/{user_sid}/Channels'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams UserChannelInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.user.user_channel.UserChannelInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists UserChannelInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.user.user_channel.UserChannelInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of UserChannelInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of UserChannelInstance - :rtype: twilio.rest.chat.v1.service.user.user_channel.UserChannelPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return UserChannelPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of UserChannelInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of UserChannelInstance - :rtype: twilio.rest.chat.v1.service.user.user_channel.UserChannelPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return UserChannelPage(self._version, response, self._solution) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V1.UserChannelList>' - - -class UserChannelPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the UserChannelPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - :param user_sid: The sid - - :returns: twilio.rest.chat.v1.service.user.user_channel.UserChannelPage - :rtype: twilio.rest.chat.v1.service.user.user_channel.UserChannelPage - """ - super(UserChannelPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of UserChannelInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v1.service.user.user_channel.UserChannelInstance - :rtype: twilio.rest.chat.v1.service.user.user_channel.UserChannelInstance - """ - return UserChannelInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - user_sid=self._solution['user_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V1.UserChannelPage>' - - -class UserChannelInstance(InstanceResource): - """ """ - - class ChannelStatus(object): - JOINED = "joined" - INVITED = "invited" - NOT_PARTICIPATING = "not_participating" - - def __init__(self, version, payload, service_sid, user_sid): - """ - Initialize the UserChannelInstance - - :returns: twilio.rest.chat.v1.service.user.user_channel.UserChannelInstance - :rtype: twilio.rest.chat.v1.service.user.user_channel.UserChannelInstance - """ - super(UserChannelInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'channel_sid': payload['channel_sid'], - 'member_sid': payload['member_sid'], - 'status': payload['status'], - 'last_consumed_message_index': deserialize.integer(payload['last_consumed_message_index']), - 'unread_messages_count': deserialize.integer(payload['unread_messages_count']), - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'user_sid': user_sid, } - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def channel_sid(self): - """ - :returns: The channel_sid - :rtype: unicode - """ - return self._properties['channel_sid'] - - @property - def member_sid(self): - """ - :returns: The member_sid - :rtype: unicode - """ - return self._properties['member_sid'] - - @property - def status(self): - """ - :returns: The status - :rtype: UserChannelInstance.ChannelStatus - """ - return self._properties['status'] - - @property - def last_consumed_message_index(self): - """ - :returns: The last_consumed_message_index - :rtype: unicode - """ - return self._properties['last_consumed_message_index'] - - @property - def unread_messages_count(self): - """ - :returns: The unread_messages_count - :rtype: unicode - """ - return self._properties['unread_messages_count'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V1.UserChannelInstance>' diff --git a/twilio/rest/chat/v2/__init__.py b/twilio/rest/chat/v2/__init__.py deleted file mode 100644 index 099c5d8..0000000 --- a/twilio/rest/chat/v2/__init__.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.chat.v2.credential import CredentialList -from twilio.rest.chat.v2.service import ServiceList - - -class V2(Version): - - def __init__(self, domain): - """ - Initialize the V2 version of Chat - - :returns: V2 version of Chat - :rtype: twilio.rest.chat.v2.V2.V2 - """ - super(V2, self).__init__(domain) - self.version = 'v2' - self._credentials = None - self._services = None - - @property - def credentials(self): - """ - :rtype: twilio.rest.chat.v2.credential.CredentialList - """ - if self._credentials is None: - self._credentials = CredentialList(self) - return self._credentials - - @property - def services(self): - """ - :rtype: twilio.rest.chat.v2.service.ServiceList - """ - if self._services is None: - self._services = ServiceList(self) - return self._services - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V2>' diff --git a/twilio/rest/chat/v2/__pycache__/__init__.cpython-36.pyc b/twilio/rest/chat/v2/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index dd540c37622a5369f90b0483651dce73cd61c8c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1690 zcmbVMPjA~c6elIwk`*V*{+za9;AKO6sNA_XBPdp+Krx^THZ;pY5I`s*J*$%~jg%eO z(9Hq*F?#N2>1AhKciLCjY41_8k`74^qs+%=@{xSM_uh|B4iEkJf4&WAkC4B}o#uf4 z19W`~LXeOMDy)nytk9yU+nK#^LdWP%)?4($J|!=R=!yOf5q)Xx?9dhND>Cx7v41g7 zHA`|K*>$YhZ*nPBTuQ;NHh#p$j5BB;c-4+RtJn!2MPm>ryo$yZt4_vXvHm`I96a{X zp25bZjs3sDNiw3fdnuJp^ChT9XG#jWEYmo9nd%Z|4qi#MP7{fL6Wp+GcB>eyl7tlS zT5rgVBIX+}w520#;oOiN4SS#)jG*_0E4&*Lx^IX>LJzPGYU^^6SnYW@;@Q~scOXhq z(u(Y?*H%S$6k}HrZVL;fV`NWQaEiU%wFnveahW27bSqgom+W%F)(u3K&)C^KF8$7Q zs${uROFg~MstpyJs&Z4vDJ!qjEX@NYbr~dZOt78=m-y?B3$69!eAKUddR0iJpg>6N zah`%hoY!vaMm^+77ie7%xNd^1M^^1<na%3H$QN;nDH(8{WU<zqza#%dXVd6cFxJs8 zX*iGb=vh%bkIOiEnI~};UC2cd6>0J4YL#Z<(G#8JvyHxv8o&1gx*wtY(Rvc?eG7_> za>3hU47&${xW}{)-}V3y?yVAvE6{MnOr1g3UxKK}Ysk#+p8CRM3v*=VAT!qXMHios zMe;Tz!G~qo?LHq_Y5<ohERGRX2dE!);uFy7gWF^D*D#^`AV|-rKHVMxlsn7+6V0>E zpO2wwQySdiPqz<o_~4bo2jc-8-o7Tj1)IAdFdzH14-jBZOg`{bK~3bh-JL(He4WBu z60?~~<x*rDrep!N0CbN_p#OcG_$f~2=~6zp<-Y{crRpx+9-m$`d_l$mNuHWiJp`9? zbcgc*;hM+5ZA-72hi3waw2T)Lh~#s=$i*r{eaQJAt2k>`Obypwp>m*Kxlvfo>QfY- zfv68#G9@z0;KHtSz^Owt!U{5^#T7#X&l(PggW<r;o{zlR<y_<m=i%q=Yj7278MMS! u=y>?eeec9=-I?kQzq-$;&8w*kbK|Xxjb=*RJ8i%}MZy{{9cxJ8v;PI3e4r-) diff --git a/twilio/rest/chat/v2/__pycache__/credential.cpython-36.pyc b/twilio/rest/chat/v2/__pycache__/credential.cpython-36.pyc deleted file mode 100644 index 293184b3e7d73f223d95d5209da2d0c94dc36328..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15758 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 D*Rjx& diff --git a/twilio/rest/chat/v2/credential.py b/twilio/rest/chat/v2/credential.py deleted file mode 100644 index df2e268..0000000 --- a/twilio/rest/chat/v2/credential.py +++ /dev/null @@ -1,472 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class CredentialList(ListResource): - """ """ - - def __init__(self, version): - """ - Initialize the CredentialList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.chat.v2.credential.CredentialList - :rtype: twilio.rest.chat.v2.credential.CredentialList - """ - super(CredentialList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Credentials'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams CredentialInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.credential.CredentialInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists CredentialInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.credential.CredentialInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of CredentialInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of CredentialInstance - :rtype: twilio.rest.chat.v2.credential.CredentialPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return CredentialPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of CredentialInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of CredentialInstance - :rtype: twilio.rest.chat.v2.credential.CredentialPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return CredentialPage(self._version, response, self._solution) - - def create(self, type, friendly_name=values.unset, certificate=values.unset, - private_key=values.unset, sandbox=values.unset, api_key=values.unset, - secret=values.unset): - """ - Create a new CredentialInstance - - :param CredentialInstance.PushService type: The type - :param unicode friendly_name: The friendly_name - :param unicode certificate: The certificate - :param unicode private_key: The private_key - :param bool sandbox: The sandbox - :param unicode api_key: The api_key - :param unicode secret: The secret - - :returns: Newly created CredentialInstance - :rtype: twilio.rest.chat.v2.credential.CredentialInstance - """ - data = values.of({ - 'Type': type, - 'FriendlyName': friendly_name, - 'Certificate': certificate, - 'PrivateKey': private_key, - 'Sandbox': sandbox, - 'ApiKey': api_key, - 'Secret': secret, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return CredentialInstance(self._version, payload, ) - - def get(self, sid): - """ - Constructs a CredentialContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.credential.CredentialContext - :rtype: twilio.rest.chat.v2.credential.CredentialContext - """ - return CredentialContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a CredentialContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.credential.CredentialContext - :rtype: twilio.rest.chat.v2.credential.CredentialContext - """ - return CredentialContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V2.CredentialList>' - - -class CredentialPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the CredentialPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.chat.v2.credential.CredentialPage - :rtype: twilio.rest.chat.v2.credential.CredentialPage - """ - super(CredentialPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of CredentialInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v2.credential.CredentialInstance - :rtype: twilio.rest.chat.v2.credential.CredentialInstance - """ - return CredentialInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V2.CredentialPage>' - - -class CredentialContext(InstanceContext): - """ """ - - def __init__(self, version, sid): - """ - Initialize the CredentialContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.chat.v2.credential.CredentialContext - :rtype: twilio.rest.chat.v2.credential.CredentialContext - """ - super(CredentialContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Credentials/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a CredentialInstance - - :returns: Fetched CredentialInstance - :rtype: twilio.rest.chat.v2.credential.CredentialInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return CredentialInstance(self._version, payload, sid=self._solution['sid'], ) - - def update(self, friendly_name=values.unset, certificate=values.unset, - private_key=values.unset, sandbox=values.unset, api_key=values.unset, - secret=values.unset): - """ - Update the CredentialInstance - - :param unicode friendly_name: The friendly_name - :param unicode certificate: The certificate - :param unicode private_key: The private_key - :param bool sandbox: The sandbox - :param unicode api_key: The api_key - :param unicode secret: The secret - - :returns: Updated CredentialInstance - :rtype: twilio.rest.chat.v2.credential.CredentialInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'Certificate': certificate, - 'PrivateKey': private_key, - 'Sandbox': sandbox, - 'ApiKey': api_key, - 'Secret': secret, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return CredentialInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the CredentialInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V2.CredentialContext {}>'.format(context) - - -class CredentialInstance(InstanceResource): - """ """ - - class PushService(object): - GCM = "gcm" - APN = "apn" - FCM = "fcm" - - def __init__(self, version, payload, sid=None): - """ - Initialize the CredentialInstance - - :returns: twilio.rest.chat.v2.credential.CredentialInstance - :rtype: twilio.rest.chat.v2.credential.CredentialInstance - """ - super(CredentialInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'friendly_name': payload['friendly_name'], - 'type': payload['type'], - 'sandbox': payload['sandbox'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: CredentialContext for this CredentialInstance - :rtype: twilio.rest.chat.v2.credential.CredentialContext - """ - if self._context is None: - self._context = CredentialContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def type(self): - """ - :returns: The type - :rtype: CredentialInstance.PushService - """ - return self._properties['type'] - - @property - def sandbox(self): - """ - :returns: The sandbox - :rtype: unicode - """ - return self._properties['sandbox'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a CredentialInstance - - :returns: Fetched CredentialInstance - :rtype: twilio.rest.chat.v2.credential.CredentialInstance - """ - return self._proxy.fetch() - - def update(self, friendly_name=values.unset, certificate=values.unset, - private_key=values.unset, sandbox=values.unset, api_key=values.unset, - secret=values.unset): - """ - Update the CredentialInstance - - :param unicode friendly_name: The friendly_name - :param unicode certificate: The certificate - :param unicode private_key: The private_key - :param bool sandbox: The sandbox - :param unicode api_key: The api_key - :param unicode secret: The secret - - :returns: Updated CredentialInstance - :rtype: twilio.rest.chat.v2.credential.CredentialInstance - """ - return self._proxy.update( - friendly_name=friendly_name, - certificate=certificate, - private_key=private_key, - sandbox=sandbox, - api_key=api_key, - secret=secret, - ) - - def delete(self): - """ - Deletes the CredentialInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V2.CredentialInstance {}>'.format(context) diff --git a/twilio/rest/chat/v2/service/__init__.py b/twilio/rest/chat/v2/service/__init__.py deleted file mode 100644 index 80b9947..0000000 --- a/twilio/rest/chat/v2/service/__init__.py +++ /dev/null @@ -1,835 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.chat.v2.service.binding import BindingList -from twilio.rest.chat.v2.service.channel import ChannelList -from twilio.rest.chat.v2.service.role import RoleList -from twilio.rest.chat.v2.service.user import UserList - - -class ServiceList(ListResource): - """ """ - - def __init__(self, version): - """ - Initialize the ServiceList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.chat.v2.service.ServiceList - :rtype: twilio.rest.chat.v2.service.ServiceList - """ - super(ServiceList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Services'.format(**self._solution) - - def create(self, friendly_name): - """ - Create a new ServiceInstance - - :param unicode friendly_name: The friendly_name - - :returns: Newly created ServiceInstance - :rtype: twilio.rest.chat.v2.service.ServiceInstance - """ - data = values.of({'FriendlyName': friendly_name, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return ServiceInstance(self._version, payload, ) - - def stream(self, limit=None, page_size=None): - """ - Streams ServiceInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.ServiceInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists ServiceInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.ServiceInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of ServiceInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ServiceInstance - :rtype: twilio.rest.chat.v2.service.ServicePage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ServicePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ServiceInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ServiceInstance - :rtype: twilio.rest.chat.v2.service.ServicePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ServicePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a ServiceContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.ServiceContext - :rtype: twilio.rest.chat.v2.service.ServiceContext - """ - return ServiceContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a ServiceContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.ServiceContext - :rtype: twilio.rest.chat.v2.service.ServiceContext - """ - return ServiceContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V2.ServiceList>' - - -class ServicePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the ServicePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.chat.v2.service.ServicePage - :rtype: twilio.rest.chat.v2.service.ServicePage - """ - super(ServicePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ServiceInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v2.service.ServiceInstance - :rtype: twilio.rest.chat.v2.service.ServiceInstance - """ - return ServiceInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V2.ServicePage>' - - -class ServiceContext(InstanceContext): - """ """ - - def __init__(self, version, sid): - """ - Initialize the ServiceContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.ServiceContext - :rtype: twilio.rest.chat.v2.service.ServiceContext - """ - super(ServiceContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Services/{sid}'.format(**self._solution) - - # Dependents - self._channels = None - self._roles = None - self._users = None - self._bindings = None - - def fetch(self): - """ - Fetch a ServiceInstance - - :returns: Fetched ServiceInstance - :rtype: twilio.rest.chat.v2.service.ServiceInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ServiceInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the ServiceInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, friendly_name=values.unset, - default_service_role_sid=values.unset, - default_channel_role_sid=values.unset, - default_channel_creator_role_sid=values.unset, - read_status_enabled=values.unset, reachability_enabled=values.unset, - typing_indicator_timeout=values.unset, - consumption_report_interval=values.unset, - notifications_new_message_enabled=values.unset, - notifications_new_message_template=values.unset, - notifications_new_message_sound=values.unset, - notifications_new_message_badge_count_enabled=values.unset, - notifications_added_to_channel_enabled=values.unset, - notifications_added_to_channel_template=values.unset, - notifications_added_to_channel_sound=values.unset, - notifications_removed_from_channel_enabled=values.unset, - notifications_removed_from_channel_template=values.unset, - notifications_removed_from_channel_sound=values.unset, - notifications_invited_to_channel_enabled=values.unset, - notifications_invited_to_channel_template=values.unset, - notifications_invited_to_channel_sound=values.unset, - pre_webhook_url=values.unset, post_webhook_url=values.unset, - webhook_method=values.unset, webhook_filters=values.unset, - limits_channel_members=values.unset, - limits_user_channels=values.unset, - media_compatibility_message=values.unset, - pre_webhook_retry_count=values.unset, - post_webhook_retry_count=values.unset, - notifications_log_enabled=values.unset): - """ - Update the ServiceInstance - - :param unicode friendly_name: The friendly_name - :param unicode default_service_role_sid: The default_service_role_sid - :param unicode default_channel_role_sid: The default_channel_role_sid - :param unicode default_channel_creator_role_sid: The default_channel_creator_role_sid - :param bool read_status_enabled: The read_status_enabled - :param bool reachability_enabled: The reachability_enabled - :param unicode typing_indicator_timeout: The typing_indicator_timeout - :param unicode consumption_report_interval: The consumption_report_interval - :param bool notifications_new_message_enabled: The notifications.new_message.enabled - :param unicode notifications_new_message_template: The notifications.new_message.template - :param unicode notifications_new_message_sound: The notifications.new_message.sound - :param bool notifications_new_message_badge_count_enabled: The notifications.new_message.badge_count_enabled - :param bool notifications_added_to_channel_enabled: The notifications.added_to_channel.enabled - :param unicode notifications_added_to_channel_template: The notifications.added_to_channel.template - :param unicode notifications_added_to_channel_sound: The notifications.added_to_channel.sound - :param bool notifications_removed_from_channel_enabled: The notifications.removed_from_channel.enabled - :param unicode notifications_removed_from_channel_template: The notifications.removed_from_channel.template - :param unicode notifications_removed_from_channel_sound: The notifications.removed_from_channel.sound - :param bool notifications_invited_to_channel_enabled: The notifications.invited_to_channel.enabled - :param unicode notifications_invited_to_channel_template: The notifications.invited_to_channel.template - :param unicode notifications_invited_to_channel_sound: The notifications.invited_to_channel.sound - :param unicode pre_webhook_url: The pre_webhook_url - :param unicode post_webhook_url: The post_webhook_url - :param unicode webhook_method: The webhook_method - :param unicode webhook_filters: The webhook_filters - :param unicode limits_channel_members: The limits.channel_members - :param unicode limits_user_channels: The limits.user_channels - :param unicode media_compatibility_message: The media.compatibility_message - :param unicode pre_webhook_retry_count: The pre_webhook_retry_count - :param unicode post_webhook_retry_count: The post_webhook_retry_count - :param bool notifications_log_enabled: The notifications.log_enabled - - :returns: Updated ServiceInstance - :rtype: twilio.rest.chat.v2.service.ServiceInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'DefaultServiceRoleSid': default_service_role_sid, - 'DefaultChannelRoleSid': default_channel_role_sid, - 'DefaultChannelCreatorRoleSid': default_channel_creator_role_sid, - 'ReadStatusEnabled': read_status_enabled, - 'ReachabilityEnabled': reachability_enabled, - 'TypingIndicatorTimeout': typing_indicator_timeout, - 'ConsumptionReportInterval': consumption_report_interval, - 'Notifications.NewMessage.Enabled': notifications_new_message_enabled, - 'Notifications.NewMessage.Template': notifications_new_message_template, - 'Notifications.NewMessage.Sound': notifications_new_message_sound, - 'Notifications.NewMessage.BadgeCountEnabled': notifications_new_message_badge_count_enabled, - 'Notifications.AddedToChannel.Enabled': notifications_added_to_channel_enabled, - 'Notifications.AddedToChannel.Template': notifications_added_to_channel_template, - 'Notifications.AddedToChannel.Sound': notifications_added_to_channel_sound, - 'Notifications.RemovedFromChannel.Enabled': notifications_removed_from_channel_enabled, - 'Notifications.RemovedFromChannel.Template': notifications_removed_from_channel_template, - 'Notifications.RemovedFromChannel.Sound': notifications_removed_from_channel_sound, - 'Notifications.InvitedToChannel.Enabled': notifications_invited_to_channel_enabled, - 'Notifications.InvitedToChannel.Template': notifications_invited_to_channel_template, - 'Notifications.InvitedToChannel.Sound': notifications_invited_to_channel_sound, - 'PreWebhookUrl': pre_webhook_url, - 'PostWebhookUrl': post_webhook_url, - 'WebhookMethod': webhook_method, - 'WebhookFilters': serialize.map(webhook_filters, lambda e: e), - 'Limits.ChannelMembers': limits_channel_members, - 'Limits.UserChannels': limits_user_channels, - 'Media.CompatibilityMessage': media_compatibility_message, - 'PreWebhookRetryCount': pre_webhook_retry_count, - 'PostWebhookRetryCount': post_webhook_retry_count, - 'Notifications.LogEnabled': notifications_log_enabled, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ServiceInstance(self._version, payload, sid=self._solution['sid'], ) - - @property - def channels(self): - """ - Access the channels - - :returns: twilio.rest.chat.v2.service.channel.ChannelList - :rtype: twilio.rest.chat.v2.service.channel.ChannelList - """ - if self._channels is None: - self._channels = ChannelList(self._version, service_sid=self._solution['sid'], ) - return self._channels - - @property - def roles(self): - """ - Access the roles - - :returns: twilio.rest.chat.v2.service.role.RoleList - :rtype: twilio.rest.chat.v2.service.role.RoleList - """ - if self._roles is None: - self._roles = RoleList(self._version, service_sid=self._solution['sid'], ) - return self._roles - - @property - def users(self): - """ - Access the users - - :returns: twilio.rest.chat.v2.service.user.UserList - :rtype: twilio.rest.chat.v2.service.user.UserList - """ - if self._users is None: - self._users = UserList(self._version, service_sid=self._solution['sid'], ) - return self._users - - @property - def bindings(self): - """ - Access the bindings - - :returns: twilio.rest.chat.v2.service.binding.BindingList - :rtype: twilio.rest.chat.v2.service.binding.BindingList - """ - if self._bindings is None: - self._bindings = BindingList(self._version, service_sid=self._solution['sid'], ) - return self._bindings - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V2.ServiceContext {}>'.format(context) - - -class ServiceInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, sid=None): - """ - Initialize the ServiceInstance - - :returns: twilio.rest.chat.v2.service.ServiceInstance - :rtype: twilio.rest.chat.v2.service.ServiceInstance - """ - super(ServiceInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'friendly_name': payload['friendly_name'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'default_service_role_sid': payload['default_service_role_sid'], - 'default_channel_role_sid': payload['default_channel_role_sid'], - 'default_channel_creator_role_sid': payload['default_channel_creator_role_sid'], - 'read_status_enabled': payload['read_status_enabled'], - 'reachability_enabled': payload['reachability_enabled'], - 'typing_indicator_timeout': deserialize.integer(payload['typing_indicator_timeout']), - 'consumption_report_interval': deserialize.integer(payload['consumption_report_interval']), - 'limits': payload['limits'], - 'pre_webhook_url': payload['pre_webhook_url'], - 'post_webhook_url': payload['post_webhook_url'], - 'webhook_method': payload['webhook_method'], - 'webhook_filters': payload['webhook_filters'], - 'pre_webhook_retry_count': deserialize.integer(payload['pre_webhook_retry_count']), - 'post_webhook_retry_count': deserialize.integer(payload['post_webhook_retry_count']), - 'notifications': payload['notifications'], - 'media': payload['media'], - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ServiceContext for this ServiceInstance - :rtype: twilio.rest.chat.v2.service.ServiceContext - """ - if self._context is None: - self._context = ServiceContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def default_service_role_sid(self): - """ - :returns: The default_service_role_sid - :rtype: unicode - """ - return self._properties['default_service_role_sid'] - - @property - def default_channel_role_sid(self): - """ - :returns: The default_channel_role_sid - :rtype: unicode - """ - return self._properties['default_channel_role_sid'] - - @property - def default_channel_creator_role_sid(self): - """ - :returns: The default_channel_creator_role_sid - :rtype: unicode - """ - return self._properties['default_channel_creator_role_sid'] - - @property - def read_status_enabled(self): - """ - :returns: The read_status_enabled - :rtype: bool - """ - return self._properties['read_status_enabled'] - - @property - def reachability_enabled(self): - """ - :returns: The reachability_enabled - :rtype: bool - """ - return self._properties['reachability_enabled'] - - @property - def typing_indicator_timeout(self): - """ - :returns: The typing_indicator_timeout - :rtype: unicode - """ - return self._properties['typing_indicator_timeout'] - - @property - def consumption_report_interval(self): - """ - :returns: The consumption_report_interval - :rtype: unicode - """ - return self._properties['consumption_report_interval'] - - @property - def limits(self): - """ - :returns: The limits - :rtype: dict - """ - return self._properties['limits'] - - @property - def pre_webhook_url(self): - """ - :returns: The pre_webhook_url - :rtype: unicode - """ - return self._properties['pre_webhook_url'] - - @property - def post_webhook_url(self): - """ - :returns: The post_webhook_url - :rtype: unicode - """ - return self._properties['post_webhook_url'] - - @property - def webhook_method(self): - """ - :returns: The webhook_method - :rtype: unicode - """ - return self._properties['webhook_method'] - - @property - def webhook_filters(self): - """ - :returns: The webhook_filters - :rtype: unicode - """ - return self._properties['webhook_filters'] - - @property - def pre_webhook_retry_count(self): - """ - :returns: The pre_webhook_retry_count - :rtype: unicode - """ - return self._properties['pre_webhook_retry_count'] - - @property - def post_webhook_retry_count(self): - """ - :returns: The post_webhook_retry_count - :rtype: unicode - """ - return self._properties['post_webhook_retry_count'] - - @property - def notifications(self): - """ - :returns: The notifications - :rtype: dict - """ - return self._properties['notifications'] - - @property - def media(self): - """ - :returns: The media - :rtype: dict - """ - return self._properties['media'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a ServiceInstance - - :returns: Fetched ServiceInstance - :rtype: twilio.rest.chat.v2.service.ServiceInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the ServiceInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, friendly_name=values.unset, - default_service_role_sid=values.unset, - default_channel_role_sid=values.unset, - default_channel_creator_role_sid=values.unset, - read_status_enabled=values.unset, reachability_enabled=values.unset, - typing_indicator_timeout=values.unset, - consumption_report_interval=values.unset, - notifications_new_message_enabled=values.unset, - notifications_new_message_template=values.unset, - notifications_new_message_sound=values.unset, - notifications_new_message_badge_count_enabled=values.unset, - notifications_added_to_channel_enabled=values.unset, - notifications_added_to_channel_template=values.unset, - notifications_added_to_channel_sound=values.unset, - notifications_removed_from_channel_enabled=values.unset, - notifications_removed_from_channel_template=values.unset, - notifications_removed_from_channel_sound=values.unset, - notifications_invited_to_channel_enabled=values.unset, - notifications_invited_to_channel_template=values.unset, - notifications_invited_to_channel_sound=values.unset, - pre_webhook_url=values.unset, post_webhook_url=values.unset, - webhook_method=values.unset, webhook_filters=values.unset, - limits_channel_members=values.unset, - limits_user_channels=values.unset, - media_compatibility_message=values.unset, - pre_webhook_retry_count=values.unset, - post_webhook_retry_count=values.unset, - notifications_log_enabled=values.unset): - """ - Update the ServiceInstance - - :param unicode friendly_name: The friendly_name - :param unicode default_service_role_sid: The default_service_role_sid - :param unicode default_channel_role_sid: The default_channel_role_sid - :param unicode default_channel_creator_role_sid: The default_channel_creator_role_sid - :param bool read_status_enabled: The read_status_enabled - :param bool reachability_enabled: The reachability_enabled - :param unicode typing_indicator_timeout: The typing_indicator_timeout - :param unicode consumption_report_interval: The consumption_report_interval - :param bool notifications_new_message_enabled: The notifications.new_message.enabled - :param unicode notifications_new_message_template: The notifications.new_message.template - :param unicode notifications_new_message_sound: The notifications.new_message.sound - :param bool notifications_new_message_badge_count_enabled: The notifications.new_message.badge_count_enabled - :param bool notifications_added_to_channel_enabled: The notifications.added_to_channel.enabled - :param unicode notifications_added_to_channel_template: The notifications.added_to_channel.template - :param unicode notifications_added_to_channel_sound: The notifications.added_to_channel.sound - :param bool notifications_removed_from_channel_enabled: The notifications.removed_from_channel.enabled - :param unicode notifications_removed_from_channel_template: The notifications.removed_from_channel.template - :param unicode notifications_removed_from_channel_sound: The notifications.removed_from_channel.sound - :param bool notifications_invited_to_channel_enabled: The notifications.invited_to_channel.enabled - :param unicode notifications_invited_to_channel_template: The notifications.invited_to_channel.template - :param unicode notifications_invited_to_channel_sound: The notifications.invited_to_channel.sound - :param unicode pre_webhook_url: The pre_webhook_url - :param unicode post_webhook_url: The post_webhook_url - :param unicode webhook_method: The webhook_method - :param unicode webhook_filters: The webhook_filters - :param unicode limits_channel_members: The limits.channel_members - :param unicode limits_user_channels: The limits.user_channels - :param unicode media_compatibility_message: The media.compatibility_message - :param unicode pre_webhook_retry_count: The pre_webhook_retry_count - :param unicode post_webhook_retry_count: The post_webhook_retry_count - :param bool notifications_log_enabled: The notifications.log_enabled - - :returns: Updated ServiceInstance - :rtype: twilio.rest.chat.v2.service.ServiceInstance - """ - return self._proxy.update( - friendly_name=friendly_name, - default_service_role_sid=default_service_role_sid, - default_channel_role_sid=default_channel_role_sid, - default_channel_creator_role_sid=default_channel_creator_role_sid, - read_status_enabled=read_status_enabled, - reachability_enabled=reachability_enabled, - typing_indicator_timeout=typing_indicator_timeout, - consumption_report_interval=consumption_report_interval, - notifications_new_message_enabled=notifications_new_message_enabled, - notifications_new_message_template=notifications_new_message_template, - notifications_new_message_sound=notifications_new_message_sound, - notifications_new_message_badge_count_enabled=notifications_new_message_badge_count_enabled, - notifications_added_to_channel_enabled=notifications_added_to_channel_enabled, - notifications_added_to_channel_template=notifications_added_to_channel_template, - notifications_added_to_channel_sound=notifications_added_to_channel_sound, - notifications_removed_from_channel_enabled=notifications_removed_from_channel_enabled, - notifications_removed_from_channel_template=notifications_removed_from_channel_template, - notifications_removed_from_channel_sound=notifications_removed_from_channel_sound, - notifications_invited_to_channel_enabled=notifications_invited_to_channel_enabled, - notifications_invited_to_channel_template=notifications_invited_to_channel_template, - notifications_invited_to_channel_sound=notifications_invited_to_channel_sound, - pre_webhook_url=pre_webhook_url, - post_webhook_url=post_webhook_url, - webhook_method=webhook_method, - webhook_filters=webhook_filters, - limits_channel_members=limits_channel_members, - limits_user_channels=limits_user_channels, - media_compatibility_message=media_compatibility_message, - pre_webhook_retry_count=pre_webhook_retry_count, - post_webhook_retry_count=post_webhook_retry_count, - notifications_log_enabled=notifications_log_enabled, - ) - - @property - def channels(self): - """ - Access the channels - - :returns: twilio.rest.chat.v2.service.channel.ChannelList - :rtype: twilio.rest.chat.v2.service.channel.ChannelList - """ - return self._proxy.channels - - @property - def roles(self): - """ - Access the roles - - :returns: twilio.rest.chat.v2.service.role.RoleList - :rtype: twilio.rest.chat.v2.service.role.RoleList - """ - return self._proxy.roles - - @property - def users(self): - """ - Access the users - - :returns: twilio.rest.chat.v2.service.user.UserList - :rtype: twilio.rest.chat.v2.service.user.UserList - """ - return self._proxy.users - - @property - def bindings(self): - """ - Access the bindings - - :returns: twilio.rest.chat.v2.service.binding.BindingList - :rtype: twilio.rest.chat.v2.service.binding.BindingList - """ - return self._proxy.bindings - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V2.ServiceInstance {}>'.format(context) diff --git a/twilio/rest/chat/v2/service/__pycache__/__init__.cpython-36.pyc b/twilio/rest/chat/v2/service/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index daec75f77d82132d99e470444c1191ec668ff56e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28723 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 diff --git a/twilio/rest/chat/v2/service/__pycache__/binding.cpython-36.pyc b/twilio/rest/chat/v2/service/__pycache__/binding.cpython-36.pyc deleted file mode 100644 index 87b4932d4744aa0d8232cabb64b8664505c5c0aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15179 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 diff --git a/twilio/rest/chat/v2/service/__pycache__/role.cpython-36.pyc b/twilio/rest/chat/v2/service/__pycache__/role.cpython-36.pyc deleted file mode 100644 index 7225f5c42cecf109b64ebe85a5ac2f6b8d496592..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15148 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 Go&N((?WGF< diff --git a/twilio/rest/chat/v2/service/binding.py b/twilio/rest/chat/v2/service/binding.py deleted file mode 100644 index 720f394..0000000 --- a/twilio/rest/chat/v2/service/binding.py +++ /dev/null @@ -1,448 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class BindingList(ListResource): - """ """ - - def __init__(self, version, service_sid): - """ - Initialize the BindingList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v2.service.binding.BindingList - :rtype: twilio.rest.chat.v2.service.binding.BindingList - """ - super(BindingList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Bindings'.format(**self._solution) - - def stream(self, binding_type=values.unset, identity=values.unset, limit=None, - page_size=None): - """ - Streams BindingInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param BindingInstance.BindingType binding_type: The binding_type - :param unicode identity: The identity - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.binding.BindingInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(binding_type=binding_type, identity=identity, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, binding_type=values.unset, identity=values.unset, limit=None, - page_size=None): - """ - Lists BindingInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param BindingInstance.BindingType binding_type: The binding_type - :param unicode identity: The identity - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.binding.BindingInstance] - """ - return list(self.stream( - binding_type=binding_type, - identity=identity, - limit=limit, - page_size=page_size, - )) - - def page(self, binding_type=values.unset, identity=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of BindingInstance records from the API. - Request is executed immediately - - :param BindingInstance.BindingType binding_type: The binding_type - :param unicode identity: The identity - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of BindingInstance - :rtype: twilio.rest.chat.v2.service.binding.BindingPage - """ - params = values.of({ - 'BindingType': serialize.map(binding_type, lambda e: e), - 'Identity': serialize.map(identity, lambda e: e), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return BindingPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of BindingInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of BindingInstance - :rtype: twilio.rest.chat.v2.service.binding.BindingPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return BindingPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a BindingContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.binding.BindingContext - :rtype: twilio.rest.chat.v2.service.binding.BindingContext - """ - return BindingContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a BindingContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.binding.BindingContext - :rtype: twilio.rest.chat.v2.service.binding.BindingContext - """ - return BindingContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V2.BindingList>' - - -class BindingPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the BindingPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v2.service.binding.BindingPage - :rtype: twilio.rest.chat.v2.service.binding.BindingPage - """ - super(BindingPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of BindingInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v2.service.binding.BindingInstance - :rtype: twilio.rest.chat.v2.service.binding.BindingInstance - """ - return BindingInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V2.BindingPage>' - - -class BindingContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the BindingContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.binding.BindingContext - :rtype: twilio.rest.chat.v2.service.binding.BindingContext - """ - super(BindingContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Bindings/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a BindingInstance - - :returns: Fetched BindingInstance - :rtype: twilio.rest.chat.v2.service.binding.BindingInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return BindingInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the BindingInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V2.BindingContext {}>'.format(context) - - -class BindingInstance(InstanceResource): - """ """ - - class BindingType(object): - GCM = "gcm" - APN = "apn" - FCM = "fcm" - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the BindingInstance - - :returns: twilio.rest.chat.v2.service.binding.BindingInstance - :rtype: twilio.rest.chat.v2.service.binding.BindingInstance - """ - super(BindingInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'endpoint': payload['endpoint'], - 'identity': payload['identity'], - 'credential_sid': payload['credential_sid'], - 'binding_type': payload['binding_type'], - 'message_types': payload['message_types'], - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: BindingContext for this BindingInstance - :rtype: twilio.rest.chat.v2.service.binding.BindingContext - """ - if self._context is None: - self._context = BindingContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def endpoint(self): - """ - :returns: The endpoint - :rtype: unicode - """ - return self._properties['endpoint'] - - @property - def identity(self): - """ - :returns: The identity - :rtype: unicode - """ - return self._properties['identity'] - - @property - def credential_sid(self): - """ - :returns: The credential_sid - :rtype: unicode - """ - return self._properties['credential_sid'] - - @property - def binding_type(self): - """ - :returns: The binding_type - :rtype: BindingInstance.BindingType - """ - return self._properties['binding_type'] - - @property - def message_types(self): - """ - :returns: The message_types - :rtype: unicode - """ - return self._properties['message_types'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a BindingInstance - - :returns: Fetched BindingInstance - :rtype: twilio.rest.chat.v2.service.binding.BindingInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the BindingInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V2.BindingInstance {}>'.format(context) diff --git a/twilio/rest/chat/v2/service/channel/__init__.py b/twilio/rest/chat/v2/service/channel/__init__.py deleted file mode 100644 index e770ca1..0000000 --- a/twilio/rest/chat/v2/service/channel/__init__.py +++ /dev/null @@ -1,638 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.chat.v2.service.channel.invite import InviteList -from twilio.rest.chat.v2.service.channel.member import MemberList -from twilio.rest.chat.v2.service.channel.message import MessageList - - -class ChannelList(ListResource): - """ """ - - def __init__(self, version, service_sid): - """ - Initialize the ChannelList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v2.service.channel.ChannelList - :rtype: twilio.rest.chat.v2.service.channel.ChannelList - """ - super(ChannelList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Channels'.format(**self._solution) - - def create(self, friendly_name=values.unset, unique_name=values.unset, - attributes=values.unset, type=values.unset, - date_created=values.unset, date_updated=values.unset, - created_by=values.unset): - """ - Create a new ChannelInstance - - :param unicode friendly_name: The friendly_name - :param unicode unique_name: The unique_name - :param unicode attributes: The attributes - :param ChannelInstance.ChannelType type: The type - :param datetime date_created: The date_created - :param datetime date_updated: The date_updated - :param unicode created_by: The created_by - - :returns: Newly created ChannelInstance - :rtype: twilio.rest.chat.v2.service.channel.ChannelInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'UniqueName': unique_name, - 'Attributes': attributes, - 'Type': type, - 'DateCreated': serialize.iso8601_datetime(date_created), - 'DateUpdated': serialize.iso8601_datetime(date_updated), - 'CreatedBy': created_by, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return ChannelInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, type=values.unset, limit=None, page_size=None): - """ - Streams ChannelInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param ChannelInstance.ChannelType type: The type - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.channel.ChannelInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(type=type, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, type=values.unset, limit=None, page_size=None): - """ - Lists ChannelInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param ChannelInstance.ChannelType type: The type - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.channel.ChannelInstance] - """ - return list(self.stream(type=type, limit=limit, page_size=page_size, )) - - def page(self, type=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of ChannelInstance records from the API. - Request is executed immediately - - :param ChannelInstance.ChannelType type: The type - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ChannelInstance - :rtype: twilio.rest.chat.v2.service.channel.ChannelPage - """ - params = values.of({ - 'Type': serialize.map(type, lambda e: e), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ChannelPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ChannelInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ChannelInstance - :rtype: twilio.rest.chat.v2.service.channel.ChannelPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ChannelPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a ChannelContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.channel.ChannelContext - :rtype: twilio.rest.chat.v2.service.channel.ChannelContext - """ - return ChannelContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a ChannelContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.channel.ChannelContext - :rtype: twilio.rest.chat.v2.service.channel.ChannelContext - """ - return ChannelContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V2.ChannelList>' - - -class ChannelPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the ChannelPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v2.service.channel.ChannelPage - :rtype: twilio.rest.chat.v2.service.channel.ChannelPage - """ - super(ChannelPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ChannelInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v2.service.channel.ChannelInstance - :rtype: twilio.rest.chat.v2.service.channel.ChannelInstance - """ - return ChannelInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V2.ChannelPage>' - - -class ChannelContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the ChannelContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.channel.ChannelContext - :rtype: twilio.rest.chat.v2.service.channel.ChannelContext - """ - super(ChannelContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Channels/{sid}'.format(**self._solution) - - # Dependents - self._members = None - self._messages = None - self._invites = None - - def fetch(self): - """ - Fetch a ChannelInstance - - :returns: Fetched ChannelInstance - :rtype: twilio.rest.chat.v2.service.channel.ChannelInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ChannelInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the ChannelInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, friendly_name=values.unset, unique_name=values.unset, - attributes=values.unset, date_created=values.unset, - date_updated=values.unset, created_by=values.unset): - """ - Update the ChannelInstance - - :param unicode friendly_name: The friendly_name - :param unicode unique_name: The unique_name - :param unicode attributes: The attributes - :param datetime date_created: The date_created - :param datetime date_updated: The date_updated - :param unicode created_by: The created_by - - :returns: Updated ChannelInstance - :rtype: twilio.rest.chat.v2.service.channel.ChannelInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'UniqueName': unique_name, - 'Attributes': attributes, - 'DateCreated': serialize.iso8601_datetime(date_created), - 'DateUpdated': serialize.iso8601_datetime(date_updated), - 'CreatedBy': created_by, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ChannelInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - @property - def members(self): - """ - Access the members - - :returns: twilio.rest.chat.v2.service.channel.member.MemberList - :rtype: twilio.rest.chat.v2.service.channel.member.MemberList - """ - if self._members is None: - self._members = MemberList( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['sid'], - ) - return self._members - - @property - def messages(self): - """ - Access the messages - - :returns: twilio.rest.chat.v2.service.channel.message.MessageList - :rtype: twilio.rest.chat.v2.service.channel.message.MessageList - """ - if self._messages is None: - self._messages = MessageList( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['sid'], - ) - return self._messages - - @property - def invites(self): - """ - Access the invites - - :returns: twilio.rest.chat.v2.service.channel.invite.InviteList - :rtype: twilio.rest.chat.v2.service.channel.invite.InviteList - """ - if self._invites is None: - self._invites = InviteList( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['sid'], - ) - return self._invites - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V2.ChannelContext {}>'.format(context) - - -class ChannelInstance(InstanceResource): - """ """ - - class ChannelType(object): - PUBLIC = "public" - PRIVATE = "private" - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the ChannelInstance - - :returns: twilio.rest.chat.v2.service.channel.ChannelInstance - :rtype: twilio.rest.chat.v2.service.channel.ChannelInstance - """ - super(ChannelInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'friendly_name': payload['friendly_name'], - 'unique_name': payload['unique_name'], - 'attributes': payload['attributes'], - 'type': payload['type'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'created_by': payload['created_by'], - 'members_count': deserialize.integer(payload['members_count']), - 'messages_count': deserialize.integer(payload['messages_count']), - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ChannelContext for this ChannelInstance - :rtype: twilio.rest.chat.v2.service.channel.ChannelContext - """ - if self._context is None: - self._context = ChannelContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def unique_name(self): - """ - :returns: The unique_name - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def attributes(self): - """ - :returns: The attributes - :rtype: unicode - """ - return self._properties['attributes'] - - @property - def type(self): - """ - :returns: The type - :rtype: ChannelInstance.ChannelType - """ - return self._properties['type'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def created_by(self): - """ - :returns: The created_by - :rtype: unicode - """ - return self._properties['created_by'] - - @property - def members_count(self): - """ - :returns: The members_count - :rtype: unicode - """ - return self._properties['members_count'] - - @property - def messages_count(self): - """ - :returns: The messages_count - :rtype: unicode - """ - return self._properties['messages_count'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a ChannelInstance - - :returns: Fetched ChannelInstance - :rtype: twilio.rest.chat.v2.service.channel.ChannelInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the ChannelInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, friendly_name=values.unset, unique_name=values.unset, - attributes=values.unset, date_created=values.unset, - date_updated=values.unset, created_by=values.unset): - """ - Update the ChannelInstance - - :param unicode friendly_name: The friendly_name - :param unicode unique_name: The unique_name - :param unicode attributes: The attributes - :param datetime date_created: The date_created - :param datetime date_updated: The date_updated - :param unicode created_by: The created_by - - :returns: Updated ChannelInstance - :rtype: twilio.rest.chat.v2.service.channel.ChannelInstance - """ - return self._proxy.update( - friendly_name=friendly_name, - unique_name=unique_name, - attributes=attributes, - date_created=date_created, - date_updated=date_updated, - created_by=created_by, - ) - - @property - def members(self): - """ - Access the members - - :returns: twilio.rest.chat.v2.service.channel.member.MemberList - :rtype: twilio.rest.chat.v2.service.channel.member.MemberList - """ - return self._proxy.members - - @property - def messages(self): - """ - Access the messages - - :returns: twilio.rest.chat.v2.service.channel.message.MessageList - :rtype: twilio.rest.chat.v2.service.channel.message.MessageList - """ - return self._proxy.messages - - @property - def invites(self): - """ - Access the invites - - :returns: twilio.rest.chat.v2.service.channel.invite.InviteList - :rtype: twilio.rest.chat.v2.service.channel.invite.InviteList - """ - return self._proxy.invites - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V2.ChannelInstance {}>'.format(context) diff --git a/twilio/rest/chat/v2/service/channel/__pycache__/__init__.cpython-36.pyc b/twilio/rest/chat/v2/service/channel/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 3c9a7b851fe52f9ccd4b91e1dd8712bacf265488..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20375 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 W625QYNX1B*D*q^Pp?n(UvHt~+h9k)U diff --git a/twilio/rest/chat/v2/service/channel/__pycache__/invite.cpython-36.pyc b/twilio/rest/chat/v2/service/channel/__pycache__/invite.cpython-36.pyc deleted file mode 100644 index 071bd1b4dc4119e2ce43558b78df03060b93dd8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15086 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 Ay#N3J diff --git a/twilio/rest/chat/v2/service/channel/__pycache__/member.cpython-36.pyc b/twilio/rest/chat/v2/service/channel/__pycache__/member.cpython-36.pyc deleted file mode 100644 index 96ae6f41ec3899c1542e077aeb4713e2cb52da0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17518 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 P%`N<q@uP*>!p8pq9xrg; diff --git a/twilio/rest/chat/v2/service/channel/__pycache__/message.cpython-36.pyc b/twilio/rest/chat/v2/service/channel/__pycache__/message.cpython-36.pyc deleted file mode 100644 index 83dd44e06999fc5a84cf3b374a1993f9576a2b5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18522 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 CPa5g~ diff --git a/twilio/rest/chat/v2/service/channel/invite.py b/twilio/rest/chat/v2/service/channel/invite.py deleted file mode 100644 index d92770a..0000000 --- a/twilio/rest/chat/v2/service/channel/invite.py +++ /dev/null @@ -1,462 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class InviteList(ListResource): - """ """ - - def __init__(self, version, service_sid, channel_sid): - """ - Initialize the InviteList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param channel_sid: The channel_sid - - :returns: twilio.rest.chat.v2.service.channel.invite.InviteList - :rtype: twilio.rest.chat.v2.service.channel.invite.InviteList - """ - super(InviteList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'channel_sid': channel_sid, } - self._uri = '/Services/{service_sid}/Channels/{channel_sid}/Invites'.format(**self._solution) - - def create(self, identity, role_sid=values.unset): - """ - Create a new InviteInstance - - :param unicode identity: The identity - :param unicode role_sid: The role_sid - - :returns: Newly created InviteInstance - :rtype: twilio.rest.chat.v2.service.channel.invite.InviteInstance - """ - data = values.of({'Identity': identity, 'RoleSid': role_sid, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return InviteInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - ) - - def stream(self, identity=values.unset, limit=None, page_size=None): - """ - Streams InviteInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode identity: The identity - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.channel.invite.InviteInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(identity=identity, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, identity=values.unset, limit=None, page_size=None): - """ - Lists InviteInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode identity: The identity - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.channel.invite.InviteInstance] - """ - return list(self.stream(identity=identity, limit=limit, page_size=page_size, )) - - def page(self, identity=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of InviteInstance records from the API. - Request is executed immediately - - :param unicode identity: The identity - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of InviteInstance - :rtype: twilio.rest.chat.v2.service.channel.invite.InvitePage - """ - params = values.of({ - 'Identity': serialize.map(identity, lambda e: e), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return InvitePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of InviteInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of InviteInstance - :rtype: twilio.rest.chat.v2.service.channel.invite.InvitePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return InvitePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a InviteContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.channel.invite.InviteContext - :rtype: twilio.rest.chat.v2.service.channel.invite.InviteContext - """ - return InviteContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a InviteContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.channel.invite.InviteContext - :rtype: twilio.rest.chat.v2.service.channel.invite.InviteContext - """ - return InviteContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V2.InviteList>' - - -class InvitePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the InvitePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - :param channel_sid: The channel_sid - - :returns: twilio.rest.chat.v2.service.channel.invite.InvitePage - :rtype: twilio.rest.chat.v2.service.channel.invite.InvitePage - """ - super(InvitePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of InviteInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v2.service.channel.invite.InviteInstance - :rtype: twilio.rest.chat.v2.service.channel.invite.InviteInstance - """ - return InviteInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V2.InvitePage>' - - -class InviteContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, channel_sid, sid): - """ - Initialize the InviteContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param channel_sid: The channel_sid - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.channel.invite.InviteContext - :rtype: twilio.rest.chat.v2.service.channel.invite.InviteContext - """ - super(InviteContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'channel_sid': channel_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Channels/{channel_sid}/Invites/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a InviteInstance - - :returns: Fetched InviteInstance - :rtype: twilio.rest.chat.v2.service.channel.invite.InviteInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return InviteInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the InviteInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V2.InviteContext {}>'.format(context) - - -class InviteInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, service_sid, channel_sid, sid=None): - """ - Initialize the InviteInstance - - :returns: twilio.rest.chat.v2.service.channel.invite.InviteInstance - :rtype: twilio.rest.chat.v2.service.channel.invite.InviteInstance - """ - super(InviteInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'channel_sid': payload['channel_sid'], - 'service_sid': payload['service_sid'], - 'identity': payload['identity'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'role_sid': payload['role_sid'], - 'created_by': payload['created_by'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'channel_sid': channel_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: InviteContext for this InviteInstance - :rtype: twilio.rest.chat.v2.service.channel.invite.InviteContext - """ - if self._context is None: - self._context = InviteContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def channel_sid(self): - """ - :returns: The channel_sid - :rtype: unicode - """ - return self._properties['channel_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def identity(self): - """ - :returns: The identity - :rtype: unicode - """ - return self._properties['identity'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def role_sid(self): - """ - :returns: The role_sid - :rtype: unicode - """ - return self._properties['role_sid'] - - @property - def created_by(self): - """ - :returns: The created_by - :rtype: unicode - """ - return self._properties['created_by'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a InviteInstance - - :returns: Fetched InviteInstance - :rtype: twilio.rest.chat.v2.service.channel.invite.InviteInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the InviteInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V2.InviteInstance {}>'.format(context) diff --git a/twilio/rest/chat/v2/service/channel/member.py b/twilio/rest/chat/v2/service/channel/member.py deleted file mode 100644 index 50f701d..0000000 --- a/twilio/rest/chat/v2/service/channel/member.py +++ /dev/null @@ -1,547 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class MemberList(ListResource): - """ """ - - def __init__(self, version, service_sid, channel_sid): - """ - Initialize the MemberList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param channel_sid: The channel_sid - - :returns: twilio.rest.chat.v2.service.channel.member.MemberList - :rtype: twilio.rest.chat.v2.service.channel.member.MemberList - """ - super(MemberList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'channel_sid': channel_sid, } - self._uri = '/Services/{service_sid}/Channels/{channel_sid}/Members'.format(**self._solution) - - def create(self, identity, role_sid=values.unset, - last_consumed_message_index=values.unset, - last_consumption_timestamp=values.unset, date_created=values.unset, - date_updated=values.unset): - """ - Create a new MemberInstance - - :param unicode identity: The identity - :param unicode role_sid: The role_sid - :param unicode last_consumed_message_index: The last_consumed_message_index - :param datetime last_consumption_timestamp: The last_consumption_timestamp - :param datetime date_created: The date_created - :param datetime date_updated: The date_updated - - :returns: Newly created MemberInstance - :rtype: twilio.rest.chat.v2.service.channel.member.MemberInstance - """ - data = values.of({ - 'Identity': identity, - 'RoleSid': role_sid, - 'LastConsumedMessageIndex': last_consumed_message_index, - 'LastConsumptionTimestamp': serialize.iso8601_datetime(last_consumption_timestamp), - 'DateCreated': serialize.iso8601_datetime(date_created), - 'DateUpdated': serialize.iso8601_datetime(date_updated), - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return MemberInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - ) - - def stream(self, identity=values.unset, limit=None, page_size=None): - """ - Streams MemberInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode identity: The identity - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.channel.member.MemberInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(identity=identity, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, identity=values.unset, limit=None, page_size=None): - """ - Lists MemberInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode identity: The identity - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.channel.member.MemberInstance] - """ - return list(self.stream(identity=identity, limit=limit, page_size=page_size, )) - - def page(self, identity=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of MemberInstance records from the API. - Request is executed immediately - - :param unicode identity: The identity - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of MemberInstance - :rtype: twilio.rest.chat.v2.service.channel.member.MemberPage - """ - params = values.of({ - 'Identity': serialize.map(identity, lambda e: e), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return MemberPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of MemberInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of MemberInstance - :rtype: twilio.rest.chat.v2.service.channel.member.MemberPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return MemberPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a MemberContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.channel.member.MemberContext - :rtype: twilio.rest.chat.v2.service.channel.member.MemberContext - """ - return MemberContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a MemberContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.channel.member.MemberContext - :rtype: twilio.rest.chat.v2.service.channel.member.MemberContext - """ - return MemberContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V2.MemberList>' - - -class MemberPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the MemberPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - :param channel_sid: The channel_sid - - :returns: twilio.rest.chat.v2.service.channel.member.MemberPage - :rtype: twilio.rest.chat.v2.service.channel.member.MemberPage - """ - super(MemberPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of MemberInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v2.service.channel.member.MemberInstance - :rtype: twilio.rest.chat.v2.service.channel.member.MemberInstance - """ - return MemberInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V2.MemberPage>' - - -class MemberContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, channel_sid, sid): - """ - Initialize the MemberContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param channel_sid: The channel_sid - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.channel.member.MemberContext - :rtype: twilio.rest.chat.v2.service.channel.member.MemberContext - """ - super(MemberContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'channel_sid': channel_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Channels/{channel_sid}/Members/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a MemberInstance - - :returns: Fetched MemberInstance - :rtype: twilio.rest.chat.v2.service.channel.member.MemberInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return MemberInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the MemberInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, role_sid=values.unset, - last_consumed_message_index=values.unset, - last_consumption_timestamp=values.unset, date_created=values.unset, - date_updated=values.unset): - """ - Update the MemberInstance - - :param unicode role_sid: The role_sid - :param unicode last_consumed_message_index: The last_consumed_message_index - :param datetime last_consumption_timestamp: The last_consumption_timestamp - :param datetime date_created: The date_created - :param datetime date_updated: The date_updated - - :returns: Updated MemberInstance - :rtype: twilio.rest.chat.v2.service.channel.member.MemberInstance - """ - data = values.of({ - 'RoleSid': role_sid, - 'LastConsumedMessageIndex': last_consumed_message_index, - 'LastConsumptionTimestamp': serialize.iso8601_datetime(last_consumption_timestamp), - 'DateCreated': serialize.iso8601_datetime(date_created), - 'DateUpdated': serialize.iso8601_datetime(date_updated), - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return MemberInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V2.MemberContext {}>'.format(context) - - -class MemberInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, service_sid, channel_sid, sid=None): - """ - Initialize the MemberInstance - - :returns: twilio.rest.chat.v2.service.channel.member.MemberInstance - :rtype: twilio.rest.chat.v2.service.channel.member.MemberInstance - """ - super(MemberInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'channel_sid': payload['channel_sid'], - 'service_sid': payload['service_sid'], - 'identity': payload['identity'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'role_sid': payload['role_sid'], - 'last_consumed_message_index': deserialize.integer(payload['last_consumed_message_index']), - 'last_consumption_timestamp': deserialize.iso8601_datetime(payload['last_consumption_timestamp']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'channel_sid': channel_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: MemberContext for this MemberInstance - :rtype: twilio.rest.chat.v2.service.channel.member.MemberContext - """ - if self._context is None: - self._context = MemberContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def channel_sid(self): - """ - :returns: The channel_sid - :rtype: unicode - """ - return self._properties['channel_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def identity(self): - """ - :returns: The identity - :rtype: unicode - """ - return self._properties['identity'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def role_sid(self): - """ - :returns: The role_sid - :rtype: unicode - """ - return self._properties['role_sid'] - - @property - def last_consumed_message_index(self): - """ - :returns: The last_consumed_message_index - :rtype: unicode - """ - return self._properties['last_consumed_message_index'] - - @property - def last_consumption_timestamp(self): - """ - :returns: The last_consumption_timestamp - :rtype: datetime - """ - return self._properties['last_consumption_timestamp'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a MemberInstance - - :returns: Fetched MemberInstance - :rtype: twilio.rest.chat.v2.service.channel.member.MemberInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the MemberInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, role_sid=values.unset, - last_consumed_message_index=values.unset, - last_consumption_timestamp=values.unset, date_created=values.unset, - date_updated=values.unset): - """ - Update the MemberInstance - - :param unicode role_sid: The role_sid - :param unicode last_consumed_message_index: The last_consumed_message_index - :param datetime last_consumption_timestamp: The last_consumption_timestamp - :param datetime date_created: The date_created - :param datetime date_updated: The date_updated - - :returns: Updated MemberInstance - :rtype: twilio.rest.chat.v2.service.channel.member.MemberInstance - """ - return self._proxy.update( - role_sid=role_sid, - last_consumed_message_index=last_consumed_message_index, - last_consumption_timestamp=last_consumption_timestamp, - date_created=date_created, - date_updated=date_updated, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V2.MemberInstance {}>'.format(context) diff --git a/twilio/rest/chat/v2/service/channel/message.py b/twilio/rest/chat/v2/service/channel/message.py deleted file mode 100644 index 4e3bf4d..0000000 --- a/twilio/rest/chat/v2/service/channel/message.py +++ /dev/null @@ -1,596 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class MessageList(ListResource): - """ """ - - def __init__(self, version, service_sid, channel_sid): - """ - Initialize the MessageList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param channel_sid: The channel_sid - - :returns: twilio.rest.chat.v2.service.channel.message.MessageList - :rtype: twilio.rest.chat.v2.service.channel.message.MessageList - """ - super(MessageList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'channel_sid': channel_sid, } - self._uri = '/Services/{service_sid}/Channels/{channel_sid}/Messages'.format(**self._solution) - - def create(self, from_=values.unset, attributes=values.unset, - date_created=values.unset, date_updated=values.unset, - last_updated_by=values.unset, body=values.unset, - media_sid=values.unset): - """ - Create a new MessageInstance - - :param unicode from_: The from - :param unicode attributes: The attributes - :param datetime date_created: The date_created - :param datetime date_updated: The date_updated - :param unicode last_updated_by: The last_updated_by - :param unicode body: The body - :param unicode media_sid: The media_sid - - :returns: Newly created MessageInstance - :rtype: twilio.rest.chat.v2.service.channel.message.MessageInstance - """ - data = values.of({ - 'From': from_, - 'Attributes': attributes, - 'DateCreated': serialize.iso8601_datetime(date_created), - 'DateUpdated': serialize.iso8601_datetime(date_updated), - 'LastUpdatedBy': last_updated_by, - 'Body': body, - 'MediaSid': media_sid, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return MessageInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - ) - - def stream(self, order=values.unset, limit=None, page_size=None): - """ - Streams MessageInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param MessageInstance.OrderType order: The order - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.channel.message.MessageInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(order=order, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, order=values.unset, limit=None, page_size=None): - """ - Lists MessageInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param MessageInstance.OrderType order: The order - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.channel.message.MessageInstance] - """ - return list(self.stream(order=order, limit=limit, page_size=page_size, )) - - def page(self, order=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of MessageInstance records from the API. - Request is executed immediately - - :param MessageInstance.OrderType order: The order - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of MessageInstance - :rtype: twilio.rest.chat.v2.service.channel.message.MessagePage - """ - params = values.of({ - 'Order': order, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return MessagePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of MessageInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of MessageInstance - :rtype: twilio.rest.chat.v2.service.channel.message.MessagePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return MessagePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a MessageContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.channel.message.MessageContext - :rtype: twilio.rest.chat.v2.service.channel.message.MessageContext - """ - return MessageContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a MessageContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.channel.message.MessageContext - :rtype: twilio.rest.chat.v2.service.channel.message.MessageContext - """ - return MessageContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V2.MessageList>' - - -class MessagePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the MessagePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - :param channel_sid: The channel_sid - - :returns: twilio.rest.chat.v2.service.channel.message.MessagePage - :rtype: twilio.rest.chat.v2.service.channel.message.MessagePage - """ - super(MessagePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of MessageInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v2.service.channel.message.MessageInstance - :rtype: twilio.rest.chat.v2.service.channel.message.MessageInstance - """ - return MessageInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V2.MessagePage>' - - -class MessageContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, channel_sid, sid): - """ - Initialize the MessageContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param channel_sid: The channel_sid - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.channel.message.MessageContext - :rtype: twilio.rest.chat.v2.service.channel.message.MessageContext - """ - super(MessageContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'channel_sid': channel_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Channels/{channel_sid}/Messages/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a MessageInstance - - :returns: Fetched MessageInstance - :rtype: twilio.rest.chat.v2.service.channel.message.MessageInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return MessageInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the MessageInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, body=values.unset, attributes=values.unset, - date_created=values.unset, date_updated=values.unset, - last_updated_by=values.unset): - """ - Update the MessageInstance - - :param unicode body: The body - :param unicode attributes: The attributes - :param datetime date_created: The date_created - :param datetime date_updated: The date_updated - :param unicode last_updated_by: The last_updated_by - - :returns: Updated MessageInstance - :rtype: twilio.rest.chat.v2.service.channel.message.MessageInstance - """ - data = values.of({ - 'Body': body, - 'Attributes': attributes, - 'DateCreated': serialize.iso8601_datetime(date_created), - 'DateUpdated': serialize.iso8601_datetime(date_updated), - 'LastUpdatedBy': last_updated_by, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return MessageInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V2.MessageContext {}>'.format(context) - - -class MessageInstance(InstanceResource): - """ """ - - class OrderType(object): - ASC = "asc" - DESC = "desc" - - def __init__(self, version, payload, service_sid, channel_sid, sid=None): - """ - Initialize the MessageInstance - - :returns: twilio.rest.chat.v2.service.channel.message.MessageInstance - :rtype: twilio.rest.chat.v2.service.channel.message.MessageInstance - """ - super(MessageInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'attributes': payload['attributes'], - 'service_sid': payload['service_sid'], - 'to': payload['to'], - 'channel_sid': payload['channel_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'last_updated_by': payload['last_updated_by'], - 'was_edited': payload['was_edited'], - 'from_': payload['from'], - 'body': payload['body'], - 'index': deserialize.integer(payload['index']), - 'type': payload['type'], - 'media': payload['media'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'channel_sid': channel_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: MessageContext for this MessageInstance - :rtype: twilio.rest.chat.v2.service.channel.message.MessageContext - """ - if self._context is None: - self._context = MessageContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def attributes(self): - """ - :returns: The attributes - :rtype: unicode - """ - return self._properties['attributes'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def to(self): - """ - :returns: The to - :rtype: unicode - """ - return self._properties['to'] - - @property - def channel_sid(self): - """ - :returns: The channel_sid - :rtype: unicode - """ - return self._properties['channel_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def last_updated_by(self): - """ - :returns: The last_updated_by - :rtype: unicode - """ - return self._properties['last_updated_by'] - - @property - def was_edited(self): - """ - :returns: The was_edited - :rtype: bool - """ - return self._properties['was_edited'] - - @property - def from_(self): - """ - :returns: The from - :rtype: unicode - """ - return self._properties['from_'] - - @property - def body(self): - """ - :returns: The body - :rtype: unicode - """ - return self._properties['body'] - - @property - def index(self): - """ - :returns: The index - :rtype: unicode - """ - return self._properties['index'] - - @property - def type(self): - """ - :returns: The type - :rtype: unicode - """ - return self._properties['type'] - - @property - def media(self): - """ - :returns: The media - :rtype: dict - """ - return self._properties['media'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a MessageInstance - - :returns: Fetched MessageInstance - :rtype: twilio.rest.chat.v2.service.channel.message.MessageInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the MessageInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, body=values.unset, attributes=values.unset, - date_created=values.unset, date_updated=values.unset, - last_updated_by=values.unset): - """ - Update the MessageInstance - - :param unicode body: The body - :param unicode attributes: The attributes - :param datetime date_created: The date_created - :param datetime date_updated: The date_updated - :param unicode last_updated_by: The last_updated_by - - :returns: Updated MessageInstance - :rtype: twilio.rest.chat.v2.service.channel.message.MessageInstance - """ - return self._proxy.update( - body=body, - attributes=attributes, - date_created=date_created, - date_updated=date_updated, - last_updated_by=last_updated_by, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V2.MessageInstance {}>'.format(context) diff --git a/twilio/rest/chat/v2/service/role.py b/twilio/rest/chat/v2/service/role.py deleted file mode 100644 index d0257a9..0000000 --- a/twilio/rest/chat/v2/service/role.py +++ /dev/null @@ -1,460 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class RoleList(ListResource): - """ """ - - def __init__(self, version, service_sid): - """ - Initialize the RoleList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v2.service.role.RoleList - :rtype: twilio.rest.chat.v2.service.role.RoleList - """ - super(RoleList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Roles'.format(**self._solution) - - def create(self, friendly_name, type, permission): - """ - Create a new RoleInstance - - :param unicode friendly_name: The friendly_name - :param RoleInstance.RoleType type: The type - :param unicode permission: The permission - - :returns: Newly created RoleInstance - :rtype: twilio.rest.chat.v2.service.role.RoleInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'Type': type, - 'Permission': serialize.map(permission, lambda e: e), - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return RoleInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, limit=None, page_size=None): - """ - Streams RoleInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.role.RoleInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists RoleInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.role.RoleInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of RoleInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of RoleInstance - :rtype: twilio.rest.chat.v2.service.role.RolePage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return RolePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of RoleInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of RoleInstance - :rtype: twilio.rest.chat.v2.service.role.RolePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return RolePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a RoleContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.role.RoleContext - :rtype: twilio.rest.chat.v2.service.role.RoleContext - """ - return RoleContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a RoleContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.role.RoleContext - :rtype: twilio.rest.chat.v2.service.role.RoleContext - """ - return RoleContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V2.RoleList>' - - -class RolePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the RolePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v2.service.role.RolePage - :rtype: twilio.rest.chat.v2.service.role.RolePage - """ - super(RolePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of RoleInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v2.service.role.RoleInstance - :rtype: twilio.rest.chat.v2.service.role.RoleInstance - """ - return RoleInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V2.RolePage>' - - -class RoleContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the RoleContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.role.RoleContext - :rtype: twilio.rest.chat.v2.service.role.RoleContext - """ - super(RoleContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Roles/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a RoleInstance - - :returns: Fetched RoleInstance - :rtype: twilio.rest.chat.v2.service.role.RoleInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return RoleInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the RoleInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, permission): - """ - Update the RoleInstance - - :param unicode permission: The permission - - :returns: Updated RoleInstance - :rtype: twilio.rest.chat.v2.service.role.RoleInstance - """ - data = values.of({'Permission': serialize.map(permission, lambda e: e), }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return RoleInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V2.RoleContext {}>'.format(context) - - -class RoleInstance(InstanceResource): - """ """ - - class RoleType(object): - CHANNEL = "channel" - DEPLOYMENT = "deployment" - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the RoleInstance - - :returns: twilio.rest.chat.v2.service.role.RoleInstance - :rtype: twilio.rest.chat.v2.service.role.RoleInstance - """ - super(RoleInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'friendly_name': payload['friendly_name'], - 'type': payload['type'], - 'permissions': payload['permissions'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: RoleContext for this RoleInstance - :rtype: twilio.rest.chat.v2.service.role.RoleContext - """ - if self._context is None: - self._context = RoleContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def type(self): - """ - :returns: The type - :rtype: RoleInstance.RoleType - """ - return self._properties['type'] - - @property - def permissions(self): - """ - :returns: The permissions - :rtype: unicode - """ - return self._properties['permissions'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a RoleInstance - - :returns: Fetched RoleInstance - :rtype: twilio.rest.chat.v2.service.role.RoleInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the RoleInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, permission): - """ - Update the RoleInstance - - :param unicode permission: The permission - - :returns: Updated RoleInstance - :rtype: twilio.rest.chat.v2.service.role.RoleInstance - """ - return self._proxy.update(permission, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V2.RoleInstance {}>'.format(context) diff --git a/twilio/rest/chat/v2/service/user/__init__.py b/twilio/rest/chat/v2/service/user/__init__.py deleted file mode 100644 index c9b5085..0000000 --- a/twilio/rest/chat/v2/service/user/__init__.py +++ /dev/null @@ -1,567 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.chat.v2.service.user.user_binding import UserBindingList -from twilio.rest.chat.v2.service.user.user_channel import UserChannelList - - -class UserList(ListResource): - """ """ - - def __init__(self, version, service_sid): - """ - Initialize the UserList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v2.service.user.UserList - :rtype: twilio.rest.chat.v2.service.user.UserList - """ - super(UserList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Users'.format(**self._solution) - - def create(self, identity, role_sid=values.unset, attributes=values.unset, - friendly_name=values.unset): - """ - Create a new UserInstance - - :param unicode identity: The identity - :param unicode role_sid: The role_sid - :param unicode attributes: The attributes - :param unicode friendly_name: The friendly_name - - :returns: Newly created UserInstance - :rtype: twilio.rest.chat.v2.service.user.UserInstance - """ - data = values.of({ - 'Identity': identity, - 'RoleSid': role_sid, - 'Attributes': attributes, - 'FriendlyName': friendly_name, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return UserInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, limit=None, page_size=None): - """ - Streams UserInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.user.UserInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists UserInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.user.UserInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of UserInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of UserInstance - :rtype: twilio.rest.chat.v2.service.user.UserPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return UserPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of UserInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of UserInstance - :rtype: twilio.rest.chat.v2.service.user.UserPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return UserPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a UserContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.user.UserContext - :rtype: twilio.rest.chat.v2.service.user.UserContext - """ - return UserContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a UserContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.user.UserContext - :rtype: twilio.rest.chat.v2.service.user.UserContext - """ - return UserContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V2.UserList>' - - -class UserPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the UserPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v2.service.user.UserPage - :rtype: twilio.rest.chat.v2.service.user.UserPage - """ - super(UserPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of UserInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v2.service.user.UserInstance - :rtype: twilio.rest.chat.v2.service.user.UserInstance - """ - return UserInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V2.UserPage>' - - -class UserContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the UserContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.user.UserContext - :rtype: twilio.rest.chat.v2.service.user.UserContext - """ - super(UserContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Users/{sid}'.format(**self._solution) - - # Dependents - self._user_channels = None - self._user_bindings = None - - def fetch(self): - """ - Fetch a UserInstance - - :returns: Fetched UserInstance - :rtype: twilio.rest.chat.v2.service.user.UserInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return UserInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the UserInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, role_sid=values.unset, attributes=values.unset, - friendly_name=values.unset): - """ - Update the UserInstance - - :param unicode role_sid: The role_sid - :param unicode attributes: The attributes - :param unicode friendly_name: The friendly_name - - :returns: Updated UserInstance - :rtype: twilio.rest.chat.v2.service.user.UserInstance - """ - data = values.of({'RoleSid': role_sid, 'Attributes': attributes, 'FriendlyName': friendly_name, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return UserInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - @property - def user_channels(self): - """ - Access the user_channels - - :returns: twilio.rest.chat.v2.service.user.user_channel.UserChannelList - :rtype: twilio.rest.chat.v2.service.user.user_channel.UserChannelList - """ - if self._user_channels is None: - self._user_channels = UserChannelList( - self._version, - service_sid=self._solution['service_sid'], - user_sid=self._solution['sid'], - ) - return self._user_channels - - @property - def user_bindings(self): - """ - Access the user_bindings - - :returns: twilio.rest.chat.v2.service.user.user_binding.UserBindingList - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingList - """ - if self._user_bindings is None: - self._user_bindings = UserBindingList( - self._version, - service_sid=self._solution['service_sid'], - user_sid=self._solution['sid'], - ) - return self._user_bindings - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V2.UserContext {}>'.format(context) - - -class UserInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the UserInstance - - :returns: twilio.rest.chat.v2.service.user.UserInstance - :rtype: twilio.rest.chat.v2.service.user.UserInstance - """ - super(UserInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'attributes': payload['attributes'], - 'friendly_name': payload['friendly_name'], - 'role_sid': payload['role_sid'], - 'identity': payload['identity'], - 'is_online': payload['is_online'], - 'is_notifiable': payload['is_notifiable'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'joined_channels_count': deserialize.integer(payload['joined_channels_count']), - 'links': payload['links'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: UserContext for this UserInstance - :rtype: twilio.rest.chat.v2.service.user.UserContext - """ - if self._context is None: - self._context = UserContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def attributes(self): - """ - :returns: The attributes - :rtype: unicode - """ - return self._properties['attributes'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def role_sid(self): - """ - :returns: The role_sid - :rtype: unicode - """ - return self._properties['role_sid'] - - @property - def identity(self): - """ - :returns: The identity - :rtype: unicode - """ - return self._properties['identity'] - - @property - def is_online(self): - """ - :returns: The is_online - :rtype: bool - """ - return self._properties['is_online'] - - @property - def is_notifiable(self): - """ - :returns: The is_notifiable - :rtype: bool - """ - return self._properties['is_notifiable'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def joined_channels_count(self): - """ - :returns: The joined_channels_count - :rtype: unicode - """ - return self._properties['joined_channels_count'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a UserInstance - - :returns: Fetched UserInstance - :rtype: twilio.rest.chat.v2.service.user.UserInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the UserInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, role_sid=values.unset, attributes=values.unset, - friendly_name=values.unset): - """ - Update the UserInstance - - :param unicode role_sid: The role_sid - :param unicode attributes: The attributes - :param unicode friendly_name: The friendly_name - - :returns: Updated UserInstance - :rtype: twilio.rest.chat.v2.service.user.UserInstance - """ - return self._proxy.update(role_sid=role_sid, attributes=attributes, friendly_name=friendly_name, ) - - @property - def user_channels(self): - """ - Access the user_channels - - :returns: twilio.rest.chat.v2.service.user.user_channel.UserChannelList - :rtype: twilio.rest.chat.v2.service.user.user_channel.UserChannelList - """ - return self._proxy.user_channels - - @property - def user_bindings(self): - """ - Access the user_bindings - - :returns: twilio.rest.chat.v2.service.user.user_binding.UserBindingList - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingList - """ - return self._proxy.user_bindings - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V2.UserInstance {}>'.format(context) diff --git a/twilio/rest/chat/v2/service/user/__pycache__/__init__.cpython-36.pyc b/twilio/rest/chat/v2/service/user/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index edb1493cba0f327faac587eeebbf9dae4f2a3649..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17938 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 diff --git a/twilio/rest/chat/v2/service/user/__pycache__/user_binding.cpython-36.pyc b/twilio/rest/chat/v2/service/user/__pycache__/user_binding.cpython-36.pyc deleted file mode 100644 index 0319764d2dc891a3cbcf1f96da1b571498f48b07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15786 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 Hb65Tw2BXDY diff --git a/twilio/rest/chat/v2/service/user/__pycache__/user_channel.cpython-36.pyc b/twilio/rest/chat/v2/service/user/__pycache__/user_channel.cpython-36.pyc deleted file mode 100644 index bc9b28a5900c782143b23e8809e03a0a35fe15eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10037 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 XM0=TvTcWUqvKFEh@n<eZi`{<%7u!{5 diff --git a/twilio/rest/chat/v2/service/user/user_binding.py b/twilio/rest/chat/v2/service/user/user_binding.py deleted file mode 100644 index 47a7c63..0000000 --- a/twilio/rest/chat/v2/service/user/user_binding.py +++ /dev/null @@ -1,460 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class UserBindingList(ListResource): - """ """ - - def __init__(self, version, service_sid, user_sid): - """ - Initialize the UserBindingList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param user_sid: The user_sid - - :returns: twilio.rest.chat.v2.service.user.user_binding.UserBindingList - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingList - """ - super(UserBindingList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'user_sid': user_sid, } - self._uri = '/Services/{service_sid}/Users/{user_sid}/Bindings'.format(**self._solution) - - def stream(self, binding_type=values.unset, limit=None, page_size=None): - """ - Streams UserBindingInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param UserBindingInstance.BindingType binding_type: The binding_type - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.user.user_binding.UserBindingInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(binding_type=binding_type, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, binding_type=values.unset, limit=None, page_size=None): - """ - Lists UserBindingInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param UserBindingInstance.BindingType binding_type: The binding_type - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.user.user_binding.UserBindingInstance] - """ - return list(self.stream(binding_type=binding_type, limit=limit, page_size=page_size, )) - - def page(self, binding_type=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of UserBindingInstance records from the API. - Request is executed immediately - - :param UserBindingInstance.BindingType binding_type: The binding_type - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of UserBindingInstance - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingPage - """ - params = values.of({ - 'BindingType': serialize.map(binding_type, lambda e: e), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return UserBindingPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of UserBindingInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of UserBindingInstance - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return UserBindingPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a UserBindingContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.user.user_binding.UserBindingContext - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingContext - """ - return UserBindingContext( - self._version, - service_sid=self._solution['service_sid'], - user_sid=self._solution['user_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a UserBindingContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.user.user_binding.UserBindingContext - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingContext - """ - return UserBindingContext( - self._version, - service_sid=self._solution['service_sid'], - user_sid=self._solution['user_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V2.UserBindingList>' - - -class UserBindingPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the UserBindingPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - :param user_sid: The user_sid - - :returns: twilio.rest.chat.v2.service.user.user_binding.UserBindingPage - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingPage - """ - super(UserBindingPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of UserBindingInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v2.service.user.user_binding.UserBindingInstance - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingInstance - """ - return UserBindingInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - user_sid=self._solution['user_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V2.UserBindingPage>' - - -class UserBindingContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, user_sid, sid): - """ - Initialize the UserBindingContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param user_sid: The user_sid - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.user.user_binding.UserBindingContext - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingContext - """ - super(UserBindingContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'user_sid': user_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Users/{user_sid}/Bindings/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a UserBindingInstance - - :returns: Fetched UserBindingInstance - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return UserBindingInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - user_sid=self._solution['user_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the UserBindingInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V2.UserBindingContext {}>'.format(context) - - -class UserBindingInstance(InstanceResource): - """ """ - - class BindingType(object): - GCM = "gcm" - APN = "apn" - FCM = "fcm" - - def __init__(self, version, payload, service_sid, user_sid, sid=None): - """ - Initialize the UserBindingInstance - - :returns: twilio.rest.chat.v2.service.user.user_binding.UserBindingInstance - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingInstance - """ - super(UserBindingInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'endpoint': payload['endpoint'], - 'identity': payload['identity'], - 'user_sid': payload['user_sid'], - 'credential_sid': payload['credential_sid'], - 'binding_type': payload['binding_type'], - 'message_types': payload['message_types'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'user_sid': user_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: UserBindingContext for this UserBindingInstance - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingContext - """ - if self._context is None: - self._context = UserBindingContext( - self._version, - service_sid=self._solution['service_sid'], - user_sid=self._solution['user_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def endpoint(self): - """ - :returns: The endpoint - :rtype: unicode - """ - return self._properties['endpoint'] - - @property - def identity(self): - """ - :returns: The identity - :rtype: unicode - """ - return self._properties['identity'] - - @property - def user_sid(self): - """ - :returns: The user_sid - :rtype: unicode - """ - return self._properties['user_sid'] - - @property - def credential_sid(self): - """ - :returns: The credential_sid - :rtype: unicode - """ - return self._properties['credential_sid'] - - @property - def binding_type(self): - """ - :returns: The binding_type - :rtype: UserBindingInstance.BindingType - """ - return self._properties['binding_type'] - - @property - def message_types(self): - """ - :returns: The message_types - :rtype: unicode - """ - return self._properties['message_types'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a UserBindingInstance - - :returns: Fetched UserBindingInstance - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the UserBindingInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Chat.V2.UserBindingInstance {}>'.format(context) diff --git a/twilio/rest/chat/v2/service/user/user_channel.py b/twilio/rest/chat/v2/service/user/user_channel.py deleted file mode 100644 index 7439674..0000000 --- a/twilio/rest/chat/v2/service/user/user_channel.py +++ /dev/null @@ -1,277 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class UserChannelList(ListResource): - """ """ - - def __init__(self, version, service_sid, user_sid): - """ - Initialize the UserChannelList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param user_sid: The sid - - :returns: twilio.rest.chat.v2.service.user.user_channel.UserChannelList - :rtype: twilio.rest.chat.v2.service.user.user_channel.UserChannelList - """ - super(UserChannelList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'user_sid': user_sid, } - self._uri = '/Services/{service_sid}/Users/{user_sid}/Channels'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams UserChannelInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.user.user_channel.UserChannelInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists UserChannelInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.user.user_channel.UserChannelInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of UserChannelInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of UserChannelInstance - :rtype: twilio.rest.chat.v2.service.user.user_channel.UserChannelPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return UserChannelPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of UserChannelInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of UserChannelInstance - :rtype: twilio.rest.chat.v2.service.user.user_channel.UserChannelPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return UserChannelPage(self._version, response, self._solution) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V2.UserChannelList>' - - -class UserChannelPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the UserChannelPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - :param user_sid: The sid - - :returns: twilio.rest.chat.v2.service.user.user_channel.UserChannelPage - :rtype: twilio.rest.chat.v2.service.user.user_channel.UserChannelPage - """ - super(UserChannelPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of UserChannelInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v2.service.user.user_channel.UserChannelInstance - :rtype: twilio.rest.chat.v2.service.user.user_channel.UserChannelInstance - """ - return UserChannelInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - user_sid=self._solution['user_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V2.UserChannelPage>' - - -class UserChannelInstance(InstanceResource): - """ """ - - class ChannelStatus(object): - JOINED = "joined" - INVITED = "invited" - NOT_PARTICIPATING = "not_participating" - - def __init__(self, version, payload, service_sid, user_sid): - """ - Initialize the UserChannelInstance - - :returns: twilio.rest.chat.v2.service.user.user_channel.UserChannelInstance - :rtype: twilio.rest.chat.v2.service.user.user_channel.UserChannelInstance - """ - super(UserChannelInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'channel_sid': payload['channel_sid'], - 'member_sid': payload['member_sid'], - 'status': payload['status'], - 'last_consumed_message_index': deserialize.integer(payload['last_consumed_message_index']), - 'unread_messages_count': deserialize.integer(payload['unread_messages_count']), - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'user_sid': user_sid, } - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def channel_sid(self): - """ - :returns: The channel_sid - :rtype: unicode - """ - return self._properties['channel_sid'] - - @property - def member_sid(self): - """ - :returns: The member_sid - :rtype: unicode - """ - return self._properties['member_sid'] - - @property - def status(self): - """ - :returns: The status - :rtype: UserChannelInstance.ChannelStatus - """ - return self._properties['status'] - - @property - def last_consumed_message_index(self): - """ - :returns: The last_consumed_message_index - :rtype: unicode - """ - return self._properties['last_consumed_message_index'] - - @property - def unread_messages_count(self): - """ - :returns: The unread_messages_count - :rtype: unicode - """ - return self._properties['unread_messages_count'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Chat.V2.UserChannelInstance>' diff --git a/twilio/rest/fax/__init__.py b/twilio/rest/fax/__init__.py deleted file mode 100644 index d7edde4..0000000 --- a/twilio/rest/fax/__init__.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.domain import Domain -from twilio.rest.fax.v1 import V1 - - -class Fax(Domain): - - def __init__(self, twilio): - """ - Initialize the Fax Domain - - :returns: Domain for Fax - :rtype: twilio.rest.fax.Fax - """ - super(Fax, self).__init__(twilio) - - self.base_url = 'https://fax.twilio.com' - - # Versions - self._v1 = None - - @property - def v1(self): - """ - :returns: Version v1 of fax - :rtype: twilio.rest.fax.v1.V1 - """ - if self._v1 is None: - self._v1 = V1(self) - return self._v1 - - @property - def faxes(self): - """ - :rtype: twilio.rest.fax.v1.fax.FaxList - """ - return self.v1.faxes - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Fax>' diff --git a/twilio/rest/fax/__pycache__/__init__.cpython-36.pyc b/twilio/rest/fax/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 3ce67e2cb79aae98a38dc90a1236240e9e6f53fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1529 zcmZ`(Pm9||6rUN%vR2imC6pctEpzMo5P3~5#VjEup{0;6E!i$b2nMZY9BV6E%8cxd zg>Ji$kI{2KOD{d^+Ec$mPkm34RTrFrnR(WG^WN|G{`l$XsrSd9zlC4gg#1Mg7W^j9 zVViR}BngS6l4W$oLPk-xGHYdrHYMK?Y0J?Akt4<Kt#Blr*JLuTV()618lL1*@w?dY zH)^ePTq?<Lc3#A%TyR)$h`PT$Uh^|CiKcLzi8`9rygr+P#da2)2j?Ezb9mUTsrNSk zBNN&<FY{HLu0dkgvjjixm(>gA0t7`u3Ov|*vY^Q2!3`~COH0}h<er8jkO6xuJ8~@D z2NI6o6PtuC@HuI$Z{v3f>mA~a&T$(KM@dRrlY4f{YI;vGK{XMUWN_M&fdi|0+Y{jY z`*m8Tah6t!mrKRLG4CjNgUMX0a--K~-fQ?G*JyZPQ0@vf=jC0RrFo#0DT77)E;zKQ zK3kS$Vdm2*YI@5gUtLZ{&B$yDr8QQ$afL_$k`Rr16B{KqI%_PkolRI{8<j0Wr+W(- zJ`p0xVq=8(o&595i+S|3QQAa5rQtHpqi>4hWn9M5t2~Lb=t`}Ms7Q+^H=8t*PoA1A zU+m0X)H&N<h&%#((H=xl?6d>0K89^jAmdM%V^uy-3-(3{MFlLpu^KO6o6q5>$t`66 zS66@9Rs`$NeuEmY>h(eX_6fcQ0%^X6F5~%v1Cj%q<2i<Yyq*nKmlLL42&}OgCRCrG z{LyguAT?||`vUHcj^j~}Ru0nH&i+RP$+Se!9}>Bx0Gn1{55ea8gOC6@R{vFM%E26< zonrhED3v)5PCo*RuV9<DyGPXtB5NNU2Zuc)5g4ngA<~aJ-=;9?F<<CZt!1|3S`|=S zwJzfl@_Veee~6Q1x>g^2(vLddvo@t30#^RTRoD9f_gS0p<NUC_5sDDOKytkArcMFl z4MyvDrC<g;Ay&EEWGMSWyxqiEr)j&gaSNTp<dnNMvu*M;wrX?Qk4B=h3?dF40H{3B zYixve-moGDE9^4=k?;BA_Uq-uX~sgxJP{&%+z%^`V<6kVH;vU96vMo4XKmlLF8+(z VNp0)77af~tV+@P)WHX=o*1z&BX(Rvu diff --git a/twilio/rest/fax/v1/__init__.py b/twilio/rest/fax/v1/__init__.py deleted file mode 100644 index 8ce0420..0000000 --- a/twilio/rest/fax/v1/__init__.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.fax.v1.fax import FaxList - - -class V1(Version): - - def __init__(self, domain): - """ - Initialize the V1 version of Fax - - :returns: V1 version of Fax - :rtype: twilio.rest.fax.v1.V1.V1 - """ - super(V1, self).__init__(domain) - self.version = 'v1' - self._faxes = None - - @property - def faxes(self): - """ - :rtype: twilio.rest.fax.v1.fax.FaxList - """ - if self._faxes is None: - self._faxes = FaxList(self) - return self._faxes - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Fax.V1>' diff --git a/twilio/rest/fax/v1/__pycache__/__init__.cpython-36.pyc b/twilio/rest/fax/v1/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 20000e8f016ed10bf2895bd9c77fcb6fe4ddc3e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1342 zcmaJ=O^@3)5G5(u)@r>?ffPCPM4*?|A@&-%1V#`fNRgmGvS^Xb9#jDYSERez%9cXP z-q_F~!7h-W(Q|)GE<NkoQ~yFwouOps1Dg)S;eZ;FZ{|JTJ2(hG{Pjot&LiY+@`?En zKZ0S8z$p?FMHS2GoW+b{?B(9vk9|s>5#_7iHBmjyuDrOX`Y%Z|*vRnYJhMD4l;)Sx z^567A8(C?^&(>kW$6RnQaH8(!kk|ZBM9CQ3p{SE_&FjN4WUMBmqtQ`_`5ZR3HV*#* zU?if=;8Yu%6$=cX$~Vt5Tc!AGYfzapSBWMug=*M)GNV}0br5^nSDx~($rT0kfd87r z{rAKt@c=7n*y$u?-5EIJc{nTwSCNX=<ceLenqE=tOihHR7<gYX*zaxLcE~yZX^~Z# z%(IQ=)w$-U6TWJp^J2yUdbrD+8eJ{T!cK2U>KeeOrdpSJ%B#yP&x(=Jwi?akn-R3@ z6u;eJF<VWJqh8aq%TgPI%r=1#8K4oO8FUz$zJT4@My&Cz&Sy<u6?2(kTla)Wb7`#* zf0BQHeKJj6S-_qAlEvq;NFJBvkFt`<^CFdba-!#DQfB4dvt^d6yZ3Bf%+~fYX;E$` z1e?Hh$!d~pk&Mc<=>xV~Ff0aS@Gb4r%|2AK%}FV)gW-&1Jb_`q2Un8|X#Vek`OXo7 zG`KaOfNk#YdhtI^!`?k@^|MPqj+hDHbc2LP)a+qA+_?jYnx1PLVrWtKLK@Od0I1!M z&mbdg2N_9F)PdXVZu{93s|?<Y<TI1$h0535=n{IR7nQ6);x`H8g-p-0h5qW6FXdt@ zv%7F}>%mE@9w;0n^U&4yl{!H(h(?GXuvGUV1|2!=dK93n7ILmZR-q8{LM?NQheEtw z%DnyKIBtT{6d=ZGZN7oi407HabTUhIp2J<cHUpl0Ou}wE^<v<99kAj4aL=tBNBw3X ygep=Y;@jPuIFnY7I(-{N9N)R&wE#_yUw6*OYum_C96V@ic{teK?6V;qdjA2mp+%ek diff --git a/twilio/rest/fax/v1/fax/__init__.py b/twilio/rest/fax/v1/fax/__init__.py deleted file mode 100644 index 79200ea..0000000 --- a/twilio/rest/fax/v1/fax/__init__.py +++ /dev/null @@ -1,628 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.fax.v1.fax.fax_media import FaxMediaList - - -class FaxList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version): - """ - Initialize the FaxList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.fax.v1.fax.FaxList - :rtype: twilio.rest.fax.v1.fax.FaxList - """ - super(FaxList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Faxes'.format(**self._solution) - - def stream(self, from_=values.unset, to=values.unset, - date_created_on_or_before=values.unset, - date_created_after=values.unset, limit=None, page_size=None): - """ - Streams FaxInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode from_: Include only faxes sent from - :param unicode to: Include only faxes sent to - :param datetime date_created_on_or_before: Include only faxes created on or before - :param datetime date_created_after: Include only faxes created after - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.fax.v1.fax.FaxInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - from_=from_, - to=to, - date_created_on_or_before=date_created_on_or_before, - date_created_after=date_created_after, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, from_=values.unset, to=values.unset, - date_created_on_or_before=values.unset, - date_created_after=values.unset, limit=None, page_size=None): - """ - Lists FaxInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode from_: Include only faxes sent from - :param unicode to: Include only faxes sent to - :param datetime date_created_on_or_before: Include only faxes created on or before - :param datetime date_created_after: Include only faxes created after - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.fax.v1.fax.FaxInstance] - """ - return list(self.stream( - from_=from_, - to=to, - date_created_on_or_before=date_created_on_or_before, - date_created_after=date_created_after, - limit=limit, - page_size=page_size, - )) - - def page(self, from_=values.unset, to=values.unset, - date_created_on_or_before=values.unset, - date_created_after=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of FaxInstance records from the API. - Request is executed immediately - - :param unicode from_: Include only faxes sent from - :param unicode to: Include only faxes sent to - :param datetime date_created_on_or_before: Include only faxes created on or before - :param datetime date_created_after: Include only faxes created after - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of FaxInstance - :rtype: twilio.rest.fax.v1.fax.FaxPage - """ - params = values.of({ - 'From': from_, - 'To': to, - 'DateCreatedOnOrBefore': serialize.iso8601_datetime(date_created_on_or_before), - 'DateCreatedAfter': serialize.iso8601_datetime(date_created_after), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return FaxPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of FaxInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of FaxInstance - :rtype: twilio.rest.fax.v1.fax.FaxPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return FaxPage(self._version, response, self._solution) - - def create(self, to, media_url, quality=values.unset, - status_callback=values.unset, from_=values.unset, - sip_auth_username=values.unset, sip_auth_password=values.unset, - store_media=values.unset, ttl=values.unset): - """ - Create a new FaxInstance - - :param unicode to: The phone number or SIP address to send the fax to - :param unicode media_url: URL that points to the fax media - :param FaxInstance.Quality quality: The quality of this fax - :param unicode status_callback: URL for fax status callbacks - :param unicode from_: Twilio number from which to originate the fax - :param unicode sip_auth_username: Username for SIP authentication - :param unicode sip_auth_password: Password for SIP authentication - :param bool store_media: Whether or not to store media - :param unicode ttl: How many minutes to attempt a fax - - :returns: Newly created FaxInstance - :rtype: twilio.rest.fax.v1.fax.FaxInstance - """ - data = values.of({ - 'To': to, - 'MediaUrl': media_url, - 'Quality': quality, - 'StatusCallback': status_callback, - 'From': from_, - 'SipAuthUsername': sip_auth_username, - 'SipAuthPassword': sip_auth_password, - 'StoreMedia': store_media, - 'Ttl': ttl, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return FaxInstance(self._version, payload, ) - - def get(self, sid): - """ - Constructs a FaxContext - - :param sid: A string that uniquely identifies this fax. - - :returns: twilio.rest.fax.v1.fax.FaxContext - :rtype: twilio.rest.fax.v1.fax.FaxContext - """ - return FaxContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a FaxContext - - :param sid: A string that uniquely identifies this fax. - - :returns: twilio.rest.fax.v1.fax.FaxContext - :rtype: twilio.rest.fax.v1.fax.FaxContext - """ - return FaxContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Fax.V1.FaxList>' - - -class FaxPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the FaxPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.fax.v1.fax.FaxPage - :rtype: twilio.rest.fax.v1.fax.FaxPage - """ - super(FaxPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of FaxInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.fax.v1.fax.FaxInstance - :rtype: twilio.rest.fax.v1.fax.FaxInstance - """ - return FaxInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Fax.V1.FaxPage>' - - -class FaxContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, sid): - """ - Initialize the FaxContext - - :param Version version: Version that contains the resource - :param sid: A string that uniquely identifies this fax. - - :returns: twilio.rest.fax.v1.fax.FaxContext - :rtype: twilio.rest.fax.v1.fax.FaxContext - """ - super(FaxContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Faxes/{sid}'.format(**self._solution) - - # Dependents - self._media = None - - def fetch(self): - """ - Fetch a FaxInstance - - :returns: Fetched FaxInstance - :rtype: twilio.rest.fax.v1.fax.FaxInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return FaxInstance(self._version, payload, sid=self._solution['sid'], ) - - def update(self, status=values.unset): - """ - Update the FaxInstance - - :param FaxInstance.UpdateStatus status: The updated status of this fax - - :returns: Updated FaxInstance - :rtype: twilio.rest.fax.v1.fax.FaxInstance - """ - data = values.of({'Status': status, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return FaxInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the FaxInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - @property - def media(self): - """ - Access the media - - :returns: twilio.rest.fax.v1.fax.fax_media.FaxMediaList - :rtype: twilio.rest.fax.v1.fax.fax_media.FaxMediaList - """ - if self._media is None: - self._media = FaxMediaList(self._version, fax_sid=self._solution['sid'], ) - return self._media - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Fax.V1.FaxContext {}>'.format(context) - - -class FaxInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - class Direction(object): - INBOUND = "inbound" - OUTBOUND = "outbound" - - class Quality(object): - STANDARD = "standard" - FINE = "fine" - SUPERFINE = "superfine" - - class Status(object): - QUEUED = "queued" - PROCESSING = "processing" - SENDING = "sending" - DELIVERED = "delivered" - RECEIVING = "receiving" - RECEIVED = "received" - NO_ANSWER = "no-answer" - BUSY = "busy" - FAILED = "failed" - CANCELED = "canceled" - - class UpdateStatus(object): - CANCELED = "canceled" - - def __init__(self, version, payload, sid=None): - """ - Initialize the FaxInstance - - :returns: twilio.rest.fax.v1.fax.FaxInstance - :rtype: twilio.rest.fax.v1.fax.FaxInstance - """ - super(FaxInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'from_': payload['from'], - 'to': payload['to'], - 'quality': payload['quality'], - 'media_sid': payload['media_sid'], - 'media_url': payload['media_url'], - 'num_pages': deserialize.integer(payload['num_pages']), - 'duration': deserialize.integer(payload['duration']), - 'status': payload['status'], - 'direction': payload['direction'], - 'api_version': payload['api_version'], - 'price': deserialize.decimal(payload['price']), - 'price_unit': payload['price_unit'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'links': payload['links'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: FaxContext for this FaxInstance - :rtype: twilio.rest.fax.v1.fax.FaxContext - """ - if self._context is None: - self._context = FaxContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this fax. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: Account SID - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def from_(self): - """ - :returns: The party that sent the fax - :rtype: unicode - """ - return self._properties['from_'] - - @property - def to(self): - """ - :returns: The party that received the fax - :rtype: unicode - """ - return self._properties['to'] - - @property - def quality(self): - """ - :returns: The quality of this fax - :rtype: FaxInstance.Quality - """ - return self._properties['quality'] - - @property - def media_sid(self): - """ - :returns: Media SID - :rtype: unicode - """ - return self._properties['media_sid'] - - @property - def media_url(self): - """ - :returns: URL pointing to fax media - :rtype: unicode - """ - return self._properties['media_url'] - - @property - def num_pages(self): - """ - :returns: Number of pages - :rtype: unicode - """ - return self._properties['num_pages'] - - @property - def duration(self): - """ - :returns: The time taken to transmit the fax - :rtype: unicode - """ - return self._properties['duration'] - - @property - def status(self): - """ - :returns: The status of this fax - :rtype: FaxInstance.Status - """ - return self._properties['status'] - - @property - def direction(self): - """ - :returns: The direction of this fax - :rtype: FaxInstance.Direction - """ - return self._properties['direction'] - - @property - def api_version(self): - """ - :returns: The API version used - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def price(self): - """ - :returns: Fax transmission price - :rtype: unicode - """ - return self._properties['price'] - - @property - def price_unit(self): - """ - :returns: Currency used for billing - :rtype: unicode - """ - return self._properties['price_unit'] - - @property - def date_created(self): - """ - :returns: The date this fax was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this fax was updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def links(self): - """ - :returns: Nested resource URLs - :rtype: unicode - """ - return self._properties['links'] - - @property - def url(self): - """ - :returns: The URL of this resource - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a FaxInstance - - :returns: Fetched FaxInstance - :rtype: twilio.rest.fax.v1.fax.FaxInstance - """ - return self._proxy.fetch() - - def update(self, status=values.unset): - """ - Update the FaxInstance - - :param FaxInstance.UpdateStatus status: The updated status of this fax - - :returns: Updated FaxInstance - :rtype: twilio.rest.fax.v1.fax.FaxInstance - """ - return self._proxy.update(status=status, ) - - def delete(self): - """ - Deletes the FaxInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - @property - def media(self): - """ - Access the media - - :returns: twilio.rest.fax.v1.fax.fax_media.FaxMediaList - :rtype: twilio.rest.fax.v1.fax.fax_media.FaxMediaList - """ - return self._proxy.media - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Fax.V1.FaxInstance {}>'.format(context) diff --git a/twilio/rest/fax/v1/fax/__pycache__/__init__.cpython-36.pyc b/twilio/rest/fax/v1/fax/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 30de4e77ff5ed8c6326dfb762c333e1a821cd468..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20308 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 diff --git a/twilio/rest/fax/v1/fax/__pycache__/fax_media.cpython-36.pyc b/twilio/rest/fax/v1/fax/__pycache__/fax_media.cpython-36.pyc deleted file mode 100644 index 7bc070d8c4aeaf4fe47a652c9685c736a4bc4214..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13648 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 diff --git a/twilio/rest/fax/v1/fax/fax_media.py b/twilio/rest/fax/v1/fax/fax_media.py deleted file mode 100644 index de42773..0000000 --- a/twilio/rest/fax/v1/fax/fax_media.py +++ /dev/null @@ -1,381 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class FaxMediaList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, fax_sid): - """ - Initialize the FaxMediaList - - :param Version version: Version that contains the resource - :param fax_sid: Fax SID - - :returns: twilio.rest.fax.v1.fax.fax_media.FaxMediaList - :rtype: twilio.rest.fax.v1.fax.fax_media.FaxMediaList - """ - super(FaxMediaList, self).__init__(version) - - # Path Solution - self._solution = {'fax_sid': fax_sid, } - self._uri = '/Faxes/{fax_sid}/Media'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams FaxMediaInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.fax.v1.fax.fax_media.FaxMediaInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists FaxMediaInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.fax.v1.fax.fax_media.FaxMediaInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of FaxMediaInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of FaxMediaInstance - :rtype: twilio.rest.fax.v1.fax.fax_media.FaxMediaPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return FaxMediaPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of FaxMediaInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of FaxMediaInstance - :rtype: twilio.rest.fax.v1.fax.fax_media.FaxMediaPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return FaxMediaPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a FaxMediaContext - - :param sid: A string that uniquely identifies this fax media - - :returns: twilio.rest.fax.v1.fax.fax_media.FaxMediaContext - :rtype: twilio.rest.fax.v1.fax.fax_media.FaxMediaContext - """ - return FaxMediaContext(self._version, fax_sid=self._solution['fax_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a FaxMediaContext - - :param sid: A string that uniquely identifies this fax media - - :returns: twilio.rest.fax.v1.fax.fax_media.FaxMediaContext - :rtype: twilio.rest.fax.v1.fax.fax_media.FaxMediaContext - """ - return FaxMediaContext(self._version, fax_sid=self._solution['fax_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Fax.V1.FaxMediaList>' - - -class FaxMediaPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the FaxMediaPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param fax_sid: Fax SID - - :returns: twilio.rest.fax.v1.fax.fax_media.FaxMediaPage - :rtype: twilio.rest.fax.v1.fax.fax_media.FaxMediaPage - """ - super(FaxMediaPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of FaxMediaInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.fax.v1.fax.fax_media.FaxMediaInstance - :rtype: twilio.rest.fax.v1.fax.fax_media.FaxMediaInstance - """ - return FaxMediaInstance(self._version, payload, fax_sid=self._solution['fax_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Fax.V1.FaxMediaPage>' - - -class FaxMediaContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, fax_sid, sid): - """ - Initialize the FaxMediaContext - - :param Version version: Version that contains the resource - :param fax_sid: Fax SID - :param sid: A string that uniquely identifies this fax media - - :returns: twilio.rest.fax.v1.fax.fax_media.FaxMediaContext - :rtype: twilio.rest.fax.v1.fax.fax_media.FaxMediaContext - """ - super(FaxMediaContext, self).__init__(version) - - # Path Solution - self._solution = {'fax_sid': fax_sid, 'sid': sid, } - self._uri = '/Faxes/{fax_sid}/Media/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a FaxMediaInstance - - :returns: Fetched FaxMediaInstance - :rtype: twilio.rest.fax.v1.fax.fax_media.FaxMediaInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return FaxMediaInstance( - self._version, - payload, - fax_sid=self._solution['fax_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the FaxMediaInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Fax.V1.FaxMediaContext {}>'.format(context) - - -class FaxMediaInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, payload, fax_sid, sid=None): - """ - Initialize the FaxMediaInstance - - :returns: twilio.rest.fax.v1.fax.fax_media.FaxMediaInstance - :rtype: twilio.rest.fax.v1.fax.fax_media.FaxMediaInstance - """ - super(FaxMediaInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'fax_sid': payload['fax_sid'], - 'content_type': payload['content_type'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'fax_sid': fax_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: FaxMediaContext for this FaxMediaInstance - :rtype: twilio.rest.fax.v1.fax.fax_media.FaxMediaContext - """ - if self._context is None: - self._context = FaxMediaContext( - self._version, - fax_sid=self._solution['fax_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this fax media - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: Account SID - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def fax_sid(self): - """ - :returns: Fax SID - :rtype: unicode - """ - return self._properties['fax_sid'] - - @property - def content_type(self): - """ - :returns: Media content type - :rtype: unicode - """ - return self._properties['content_type'] - - @property - def date_created(self): - """ - :returns: The date this fax media was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this fax media was updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The URL of this resource - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a FaxMediaInstance - - :returns: Fetched FaxMediaInstance - :rtype: twilio.rest.fax.v1.fax.fax_media.FaxMediaInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the FaxMediaInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Fax.V1.FaxMediaInstance {}>'.format(context) diff --git a/twilio/rest/ip_messaging/__init__.py b/twilio/rest/ip_messaging/__init__.py deleted file mode 100644 index a425384..0000000 --- a/twilio/rest/ip_messaging/__init__.py +++ /dev/null @@ -1,72 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.domain import Domain -from twilio.rest.ip_messaging.v1 import V1 -from twilio.rest.ip_messaging.v2 import V2 - - -class IpMessaging(Domain): - - def __init__(self, twilio): - """ - Initialize the IpMessaging Domain - - :returns: Domain for IpMessaging - :rtype: twilio.rest.ip_messaging.IpMessaging - """ - super(IpMessaging, self).__init__(twilio) - - self.base_url = 'https://ip-messaging.twilio.com' - - # Versions - self._v1 = None - self._v2 = None - - @property - def v1(self): - """ - :returns: Version v1 of ip_messaging - :rtype: twilio.rest.ip_messaging.v1.V1 - """ - if self._v1 is None: - self._v1 = V1(self) - return self._v1 - - @property - def v2(self): - """ - :returns: Version v2 of ip_messaging - :rtype: twilio.rest.ip_messaging.v2.V2 - """ - if self._v2 is None: - self._v2 = V2(self) - return self._v2 - - @property - def credentials(self): - """ - :rtype: twilio.rest.chat.v2.credential.CredentialList - """ - return self.v2.credentials - - @property - def services(self): - """ - :rtype: twilio.rest.chat.v2.service.ServiceList - """ - return self.v2.services - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging>' diff --git a/twilio/rest/ip_messaging/__pycache__/__init__.cpython-36.pyc b/twilio/rest/ip_messaging/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 99678e922e898da811428bd0ed1fb81a90d2c54f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2194 zcmcIlL2uhO6s9CwQe?aBx&Q;VLwOpaL*?4J89}ii1&RV~u%THFf&fAh=~$U;X{7AH zf^P}X`~JYr`z^cdtm{tu3p?$Rk`-ljx&gx|=<z{(B)^Xz-_zk>;QadA&%SRW^gC*` z4*1`|D~`ZW<Rhw4J<;a6uWQmb5@X)+JIe1Q-MQ(T8hVXrmzuYTnoPeje2ZG|k!u&B zb2f_wj#A3-btv#9TQDBxjN*&66W}2x7#bL|se1=+@BwjyA(#WQ35FZIIT%93YUI7} zUN|xy!^El$oj(91a<$TYmCnO>0iJ$7Qg$54p=~p2N1TDfkgowV{R5h6lHINC8>~YO z+POtHn%@Oqu>s!%-=enqZh^l?9p&4!NBg(P-}`_%$ajG4pzOWL-Z3G<%Xo1a>Gg)P zmz&F1d<`Z?xwb(!`jx)XZZvs}8$=AMgY78Wr8+EU6hGBuF@Cd%^Egc6g5i9|aBCY} z(RP~931|6|FT|uC!PAttC$s|db;c$*zmAhQ^*9r`7iVO?CE&GoX(koVW_g~8$#58F z&+kI(HKKHW>Y8O&EHlP=7r2%-Au)g_q_i(W!N`&)r9oCBX~wQzb_7eNzF92*vh5KP zC7}?6{DS@rPbR_lf^iXi7yGj?4UV(yRhWmt+cXN3;Ec_)AOj#5%Q&IW4@Htr*Wx;; z7Tb1`SkNXGY$18snp*(!iB!f0gRCdIX_#8E-{S6V!y`?GK$E>x^#oq=C72Dm0u_I- z`My$C>Z!hgih9AC!@HB_95}`40`4?Ur??HS75oqKKt7z0n($Ls=X(H!%WLLpyeIuZ zV;+H5>Z{Q+=mjJ^LZ+iRTJfk&bT#@vD31RF#j$rjzDLmk<Xjf02PuwS7=4)H_#Q>6 zq*76;FIBwKKr^j)-E2DHAIlKU!rWVpy@)f)7BVrtlg51;i@cc)qR7it_U=N(Zshzk zh&zN=sJhWDzGy4cn*OiwA2$d-g&6-Uf_U-dhY+jY=Gu%80tNelM9%-PP}jakY_ z<$3Ex(ct}-r>hu#79pPUm@R0s#++r4!*I}H4mq={(!C3#S-fBmPN{zuczYNk=go%2 z{?S=g0b2+DQl-vrrDREykO(<$cw2w37*&AVlfjE{&Y=D|gv?XAOr+l@<i};0R3oYe zm3GEcsG9kjKZa%1wNZD1%M<3GgDD4fZH!ow0EQ;J0cT$Z$s|`*S2{v|vi1Jsz5|cd zx75g~YnK)wG>r)HpVnnt7G{sC-zS&1&;P0(`1qf&8mR*Fsfe-4Pqo_}#L81u$Udr$ Q;iW9Ss_b_3z6Ou+7p>D9;s5{u diff --git a/twilio/rest/ip_messaging/v1/__init__.py b/twilio/rest/ip_messaging/v1/__init__.py deleted file mode 100644 index 811bc82..0000000 --- a/twilio/rest/ip_messaging/v1/__init__.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.ip_messaging.v1.credential import CredentialList -from twilio.rest.ip_messaging.v1.service import ServiceList - - -class V1(Version): - - def __init__(self, domain): - """ - Initialize the V1 version of IpMessaging - - :returns: V1 version of IpMessaging - :rtype: twilio.rest.ip_messaging.v1.V1.V1 - """ - super(V1, self).__init__(domain) - self.version = 'v1' - self._credentials = None - self._services = None - - @property - def credentials(self): - """ - :rtype: twilio.rest.chat.v1.credential.CredentialList - """ - if self._credentials is None: - self._credentials = CredentialList(self) - return self._credentials - - @property - def services(self): - """ - :rtype: twilio.rest.chat.v1.service.ServiceList - """ - if self._services is None: - self._services = ServiceList(self) - return self._services - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V1>' diff --git a/twilio/rest/ip_messaging/v1/__pycache__/__init__.cpython-36.pyc b/twilio/rest/ip_messaging/v1/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 052660556540825e71e98b15088fb595e26e5d45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1743 zcmbVM&2QT_6sJBc$%>P8AHaZN2Li*2_)xh<Z$?n8$bh0i8*FHngCKxlL^@_COByLV zu%TN5^l#W{=lw0a?5yif`xkcFBPA>D(Bv@6e0(M!AK&kNJv%%M|M>H_I2s`I7up*x z@ZZ5yCqNjA5wn<`SxY;%EzLWbvvgzE@NPC(da-Armxv9RcZ-<E?Hecdng14zgDnlu z7ee8*U>sjlg|B$dC9OEamzyxb6HG7+Af)cr5ZCyajFSnFV^SxR8rR1YkXTQnr_s|; z%VW6Mj!F187>UMK<6m&8M3Dn~bSgRHc_nD}TBr(k4&HLP7Ae<%Q+;7KoQ^SAIf^a7 zYrjWxOJlwbVu!oTVeT!uvEl*n1|#qu^I33<V*fpIQ5*o)VPjuRQ@hirSFKx5^%zKn zDyv2}_B*?_ZY=G)8WD%tKwU!z%myva_SX&}#;<arA&4!<)q>-TDPFe_aWTiQ$~Rmo zdL{C!u)i^ryjsaz%^nc$9EWGJ+LU~Tt80;oB9dHHktoS>r!@k9U+7=2J+{}=v$59< z)T-oCLfW7vAVh$fgfxC<Tr(nR?|#(`iE3T1#&+W>p3NJN6-z2~poWB`8C8mq-_bwp zbe8-C!YcVu#0y#^FUs<JTG8Znk<u(V=gTrFMfv1%B{KHpnaYa!MqMYZ{kuiONcLeQ z>uIvHF)BCG2df|HpaejW|H$&-+a3VYom6V+6Bv5caXf{oz5-ICcM!Lq1NnuCrH-K4 zgSgq-m%X1p=Gk;XEA7!c*F+yCX@C1{Y|9}$CUxqJEqS2%qn>;MTyt=zMtuz%$^(K1 zp%q%&BY?7Z{6EpW=<Rt3O&8i|ue$ns8b=6LN!?EF!4d3o<6Dr~2chG!JNp2Ej){qf z*2*m7`ECE^53*Pb=rk11rQkWsHdyi!asrwGt)Mx4tW@66bRlwn@0I@+jH+b+;P%Ut z^R|BW>Je(@xrx|)s0q<l5fW+CrepYB2DbaqOQ5cDy5vw-AtB3xtuoDz2>E42v-ZTK zaubxYfNHEZQfIaNRFltuG>2Vnr98{v!9Ih)s6#EJ6Uo%DJ~7o0*rU;CI2xMWvvJV) zgs>tdB>uc>5|>o*sH=0S4UZo`)IRRg&?IyG%|pUnxJ|kk3+_yAIg|OpN$ZT~x{i(2 Ku068gbN&Uw<hE4+ diff --git a/twilio/rest/ip_messaging/v1/__pycache__/credential.cpython-36.pyc b/twilio/rest/ip_messaging/v1/__pycache__/credential.cpython-36.pyc deleted file mode 100644 index b6947f683c52bc4cf009ef588f74e668e3a9c774..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15794 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 Lz211e@!S6cb41@~ diff --git a/twilio/rest/ip_messaging/v1/credential.py b/twilio/rest/ip_messaging/v1/credential.py deleted file mode 100644 index e5d99ac..0000000 --- a/twilio/rest/ip_messaging/v1/credential.py +++ /dev/null @@ -1,472 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class CredentialList(ListResource): - """ """ - - def __init__(self, version): - """ - Initialize the CredentialList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.chat.v1.credential.CredentialList - :rtype: twilio.rest.chat.v1.credential.CredentialList - """ - super(CredentialList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Credentials'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams CredentialInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.credential.CredentialInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists CredentialInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.credential.CredentialInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of CredentialInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of CredentialInstance - :rtype: twilio.rest.chat.v1.credential.CredentialPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return CredentialPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of CredentialInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of CredentialInstance - :rtype: twilio.rest.chat.v1.credential.CredentialPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return CredentialPage(self._version, response, self._solution) - - def create(self, type, friendly_name=values.unset, certificate=values.unset, - private_key=values.unset, sandbox=values.unset, api_key=values.unset, - secret=values.unset): - """ - Create a new CredentialInstance - - :param CredentialInstance.PushService type: The type - :param unicode friendly_name: The friendly_name - :param unicode certificate: The certificate - :param unicode private_key: The private_key - :param bool sandbox: The sandbox - :param unicode api_key: The api_key - :param unicode secret: The secret - - :returns: Newly created CredentialInstance - :rtype: twilio.rest.chat.v1.credential.CredentialInstance - """ - data = values.of({ - 'Type': type, - 'FriendlyName': friendly_name, - 'Certificate': certificate, - 'PrivateKey': private_key, - 'Sandbox': sandbox, - 'ApiKey': api_key, - 'Secret': secret, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return CredentialInstance(self._version, payload, ) - - def get(self, sid): - """ - Constructs a CredentialContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.credential.CredentialContext - :rtype: twilio.rest.chat.v1.credential.CredentialContext - """ - return CredentialContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a CredentialContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.credential.CredentialContext - :rtype: twilio.rest.chat.v1.credential.CredentialContext - """ - return CredentialContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V1.CredentialList>' - - -class CredentialPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the CredentialPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.chat.v1.credential.CredentialPage - :rtype: twilio.rest.chat.v1.credential.CredentialPage - """ - super(CredentialPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of CredentialInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v1.credential.CredentialInstance - :rtype: twilio.rest.chat.v1.credential.CredentialInstance - """ - return CredentialInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V1.CredentialPage>' - - -class CredentialContext(InstanceContext): - """ """ - - def __init__(self, version, sid): - """ - Initialize the CredentialContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.chat.v1.credential.CredentialContext - :rtype: twilio.rest.chat.v1.credential.CredentialContext - """ - super(CredentialContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Credentials/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a CredentialInstance - - :returns: Fetched CredentialInstance - :rtype: twilio.rest.chat.v1.credential.CredentialInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return CredentialInstance(self._version, payload, sid=self._solution['sid'], ) - - def update(self, friendly_name=values.unset, certificate=values.unset, - private_key=values.unset, sandbox=values.unset, api_key=values.unset, - secret=values.unset): - """ - Update the CredentialInstance - - :param unicode friendly_name: The friendly_name - :param unicode certificate: The certificate - :param unicode private_key: The private_key - :param bool sandbox: The sandbox - :param unicode api_key: The api_key - :param unicode secret: The secret - - :returns: Updated CredentialInstance - :rtype: twilio.rest.chat.v1.credential.CredentialInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'Certificate': certificate, - 'PrivateKey': private_key, - 'Sandbox': sandbox, - 'ApiKey': api_key, - 'Secret': secret, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return CredentialInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the CredentialInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V1.CredentialContext {}>'.format(context) - - -class CredentialInstance(InstanceResource): - """ """ - - class PushService(object): - GCM = "gcm" - APN = "apn" - FCM = "fcm" - - def __init__(self, version, payload, sid=None): - """ - Initialize the CredentialInstance - - :returns: twilio.rest.chat.v1.credential.CredentialInstance - :rtype: twilio.rest.chat.v1.credential.CredentialInstance - """ - super(CredentialInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'friendly_name': payload['friendly_name'], - 'type': payload['type'], - 'sandbox': payload['sandbox'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: CredentialContext for this CredentialInstance - :rtype: twilio.rest.chat.v1.credential.CredentialContext - """ - if self._context is None: - self._context = CredentialContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def type(self): - """ - :returns: The type - :rtype: CredentialInstance.PushService - """ - return self._properties['type'] - - @property - def sandbox(self): - """ - :returns: The sandbox - :rtype: unicode - """ - return self._properties['sandbox'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a CredentialInstance - - :returns: Fetched CredentialInstance - :rtype: twilio.rest.chat.v1.credential.CredentialInstance - """ - return self._proxy.fetch() - - def update(self, friendly_name=values.unset, certificate=values.unset, - private_key=values.unset, sandbox=values.unset, api_key=values.unset, - secret=values.unset): - """ - Update the CredentialInstance - - :param unicode friendly_name: The friendly_name - :param unicode certificate: The certificate - :param unicode private_key: The private_key - :param bool sandbox: The sandbox - :param unicode api_key: The api_key - :param unicode secret: The secret - - :returns: Updated CredentialInstance - :rtype: twilio.rest.chat.v1.credential.CredentialInstance - """ - return self._proxy.update( - friendly_name=friendly_name, - certificate=certificate, - private_key=private_key, - sandbox=sandbox, - api_key=api_key, - secret=secret, - ) - - def delete(self): - """ - Deletes the CredentialInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V1.CredentialInstance {}>'.format(context) diff --git a/twilio/rest/ip_messaging/v1/service/__init__.py b/twilio/rest/ip_messaging/v1/service/__init__.py deleted file mode 100644 index 76df879..0000000 --- a/twilio/rest/ip_messaging/v1/service/__init__.py +++ /dev/null @@ -1,1027 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.ip_messaging.v1.service.channel import ChannelList -from twilio.rest.ip_messaging.v1.service.role import RoleList -from twilio.rest.ip_messaging.v1.service.user import UserList - - -class ServiceList(ListResource): - """ """ - - def __init__(self, version): - """ - Initialize the ServiceList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.chat.v1.service.ServiceList - :rtype: twilio.rest.chat.v1.service.ServiceList - """ - super(ServiceList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Services'.format(**self._solution) - - def create(self, friendly_name): - """ - Create a new ServiceInstance - - :param unicode friendly_name: The friendly_name - - :returns: Newly created ServiceInstance - :rtype: twilio.rest.chat.v1.service.ServiceInstance - """ - data = values.of({'FriendlyName': friendly_name, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return ServiceInstance(self._version, payload, ) - - def stream(self, limit=None, page_size=None): - """ - Streams ServiceInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.ServiceInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists ServiceInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.ServiceInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of ServiceInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ServiceInstance - :rtype: twilio.rest.chat.v1.service.ServicePage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ServicePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ServiceInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ServiceInstance - :rtype: twilio.rest.chat.v1.service.ServicePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ServicePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a ServiceContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.ServiceContext - :rtype: twilio.rest.chat.v1.service.ServiceContext - """ - return ServiceContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a ServiceContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.ServiceContext - :rtype: twilio.rest.chat.v1.service.ServiceContext - """ - return ServiceContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V1.ServiceList>' - - -class ServicePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the ServicePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.chat.v1.service.ServicePage - :rtype: twilio.rest.chat.v1.service.ServicePage - """ - super(ServicePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ServiceInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v1.service.ServiceInstance - :rtype: twilio.rest.chat.v1.service.ServiceInstance - """ - return ServiceInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V1.ServicePage>' - - -class ServiceContext(InstanceContext): - """ """ - - def __init__(self, version, sid): - """ - Initialize the ServiceContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.ServiceContext - :rtype: twilio.rest.chat.v1.service.ServiceContext - """ - super(ServiceContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Services/{sid}'.format(**self._solution) - - # Dependents - self._channels = None - self._roles = None - self._users = None - - def fetch(self): - """ - Fetch a ServiceInstance - - :returns: Fetched ServiceInstance - :rtype: twilio.rest.chat.v1.service.ServiceInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ServiceInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the ServiceInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, friendly_name=values.unset, - default_service_role_sid=values.unset, - default_channel_role_sid=values.unset, - default_channel_creator_role_sid=values.unset, - read_status_enabled=values.unset, reachability_enabled=values.unset, - typing_indicator_timeout=values.unset, - consumption_report_interval=values.unset, - notifications_new_message_enabled=values.unset, - notifications_new_message_template=values.unset, - notifications_added_to_channel_enabled=values.unset, - notifications_added_to_channel_template=values.unset, - notifications_removed_from_channel_enabled=values.unset, - notifications_removed_from_channel_template=values.unset, - notifications_invited_to_channel_enabled=values.unset, - notifications_invited_to_channel_template=values.unset, - pre_webhook_url=values.unset, post_webhook_url=values.unset, - webhook_method=values.unset, webhook_filters=values.unset, - webhooks_on_message_send_url=values.unset, - webhooks_on_message_send_method=values.unset, - webhooks_on_message_send_format=values.unset, - webhooks_on_message_update_url=values.unset, - webhooks_on_message_update_method=values.unset, - webhooks_on_message_update_format=values.unset, - webhooks_on_message_remove_url=values.unset, - webhooks_on_message_remove_method=values.unset, - webhooks_on_message_remove_format=values.unset, - webhooks_on_channel_add_url=values.unset, - webhooks_on_channel_add_method=values.unset, - webhooks_on_channel_add_format=values.unset, - webhooks_on_channel_destroy_url=values.unset, - webhooks_on_channel_destroy_method=values.unset, - webhooks_on_channel_destroy_format=values.unset, - webhooks_on_channel_update_url=values.unset, - webhooks_on_channel_update_method=values.unset, - webhooks_on_channel_update_format=values.unset, - webhooks_on_member_add_url=values.unset, - webhooks_on_member_add_method=values.unset, - webhooks_on_member_add_format=values.unset, - webhooks_on_member_remove_url=values.unset, - webhooks_on_member_remove_method=values.unset, - webhooks_on_member_remove_format=values.unset, - webhooks_on_message_sent_url=values.unset, - webhooks_on_message_sent_method=values.unset, - webhooks_on_message_sent_format=values.unset, - webhooks_on_message_updated_url=values.unset, - webhooks_on_message_updated_method=values.unset, - webhooks_on_message_updated_format=values.unset, - webhooks_on_message_removed_url=values.unset, - webhooks_on_message_removed_method=values.unset, - webhooks_on_message_removed_format=values.unset, - webhooks_on_channel_added_url=values.unset, - webhooks_on_channel_added_method=values.unset, - webhooks_on_channel_added_format=values.unset, - webhooks_on_channel_destroyed_url=values.unset, - webhooks_on_channel_destroyed_method=values.unset, - webhooks_on_channel_destroyed_format=values.unset, - webhooks_on_channel_updated_url=values.unset, - webhooks_on_channel_updated_method=values.unset, - webhooks_on_channel_updated_format=values.unset, - webhooks_on_member_added_url=values.unset, - webhooks_on_member_added_method=values.unset, - webhooks_on_member_added_format=values.unset, - webhooks_on_member_removed_url=values.unset, - webhooks_on_member_removed_method=values.unset, - webhooks_on_member_removed_format=values.unset, - limits_channel_members=values.unset, - limits_user_channels=values.unset): - """ - Update the ServiceInstance - - :param unicode friendly_name: The friendly_name - :param unicode default_service_role_sid: The default_service_role_sid - :param unicode default_channel_role_sid: The default_channel_role_sid - :param unicode default_channel_creator_role_sid: The default_channel_creator_role_sid - :param bool read_status_enabled: The read_status_enabled - :param bool reachability_enabled: The reachability_enabled - :param unicode typing_indicator_timeout: The typing_indicator_timeout - :param unicode consumption_report_interval: The consumption_report_interval - :param bool notifications_new_message_enabled: The notifications.new_message.enabled - :param unicode notifications_new_message_template: The notifications.new_message.template - :param bool notifications_added_to_channel_enabled: The notifications.added_to_channel.enabled - :param unicode notifications_added_to_channel_template: The notifications.added_to_channel.template - :param bool notifications_removed_from_channel_enabled: The notifications.removed_from_channel.enabled - :param unicode notifications_removed_from_channel_template: The notifications.removed_from_channel.template - :param bool notifications_invited_to_channel_enabled: The notifications.invited_to_channel.enabled - :param unicode notifications_invited_to_channel_template: The notifications.invited_to_channel.template - :param unicode pre_webhook_url: The pre_webhook_url - :param unicode post_webhook_url: The post_webhook_url - :param unicode webhook_method: The webhook_method - :param unicode webhook_filters: The webhook_filters - :param unicode webhooks_on_message_send_url: The webhooks.on_message_send.url - :param unicode webhooks_on_message_send_method: The webhooks.on_message_send.method - :param unicode webhooks_on_message_send_format: The webhooks.on_message_send.format - :param unicode webhooks_on_message_update_url: The webhooks.on_message_update.url - :param unicode webhooks_on_message_update_method: The webhooks.on_message_update.method - :param unicode webhooks_on_message_update_format: The webhooks.on_message_update.format - :param unicode webhooks_on_message_remove_url: The webhooks.on_message_remove.url - :param unicode webhooks_on_message_remove_method: The webhooks.on_message_remove.method - :param unicode webhooks_on_message_remove_format: The webhooks.on_message_remove.format - :param unicode webhooks_on_channel_add_url: The webhooks.on_channel_add.url - :param unicode webhooks_on_channel_add_method: The webhooks.on_channel_add.method - :param unicode webhooks_on_channel_add_format: The webhooks.on_channel_add.format - :param unicode webhooks_on_channel_destroy_url: The webhooks.on_channel_destroy.url - :param unicode webhooks_on_channel_destroy_method: The webhooks.on_channel_destroy.method - :param unicode webhooks_on_channel_destroy_format: The webhooks.on_channel_destroy.format - :param unicode webhooks_on_channel_update_url: The webhooks.on_channel_update.url - :param unicode webhooks_on_channel_update_method: The webhooks.on_channel_update.method - :param unicode webhooks_on_channel_update_format: The webhooks.on_channel_update.format - :param unicode webhooks_on_member_add_url: The webhooks.on_member_add.url - :param unicode webhooks_on_member_add_method: The webhooks.on_member_add.method - :param unicode webhooks_on_member_add_format: The webhooks.on_member_add.format - :param unicode webhooks_on_member_remove_url: The webhooks.on_member_remove.url - :param unicode webhooks_on_member_remove_method: The webhooks.on_member_remove.method - :param unicode webhooks_on_member_remove_format: The webhooks.on_member_remove.format - :param unicode webhooks_on_message_sent_url: The webhooks.on_message_sent.url - :param unicode webhooks_on_message_sent_method: The webhooks.on_message_sent.method - :param unicode webhooks_on_message_sent_format: The webhooks.on_message_sent.format - :param unicode webhooks_on_message_updated_url: The webhooks.on_message_updated.url - :param unicode webhooks_on_message_updated_method: The webhooks.on_message_updated.method - :param unicode webhooks_on_message_updated_format: The webhooks.on_message_updated.format - :param unicode webhooks_on_message_removed_url: The webhooks.on_message_removed.url - :param unicode webhooks_on_message_removed_method: The webhooks.on_message_removed.method - :param unicode webhooks_on_message_removed_format: The webhooks.on_message_removed.format - :param unicode webhooks_on_channel_added_url: The webhooks.on_channel_added.url - :param unicode webhooks_on_channel_added_method: The webhooks.on_channel_added.method - :param unicode webhooks_on_channel_added_format: The webhooks.on_channel_added.format - :param unicode webhooks_on_channel_destroyed_url: The webhooks.on_channel_destroyed.url - :param unicode webhooks_on_channel_destroyed_method: The webhooks.on_channel_destroyed.method - :param unicode webhooks_on_channel_destroyed_format: The webhooks.on_channel_destroyed.format - :param unicode webhooks_on_channel_updated_url: The webhooks.on_channel_updated.url - :param unicode webhooks_on_channel_updated_method: The webhooks.on_channel_updated.method - :param unicode webhooks_on_channel_updated_format: The webhooks.on_channel_updated.format - :param unicode webhooks_on_member_added_url: The webhooks.on_member_added.url - :param unicode webhooks_on_member_added_method: The webhooks.on_member_added.method - :param unicode webhooks_on_member_added_format: The webhooks.on_member_added.format - :param unicode webhooks_on_member_removed_url: The webhooks.on_member_removed.url - :param unicode webhooks_on_member_removed_method: The webhooks.on_member_removed.method - :param unicode webhooks_on_member_removed_format: The webhooks.on_member_removed.format - :param unicode limits_channel_members: The limits.channel_members - :param unicode limits_user_channels: The limits.user_channels - - :returns: Updated ServiceInstance - :rtype: twilio.rest.chat.v1.service.ServiceInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'DefaultServiceRoleSid': default_service_role_sid, - 'DefaultChannelRoleSid': default_channel_role_sid, - 'DefaultChannelCreatorRoleSid': default_channel_creator_role_sid, - 'ReadStatusEnabled': read_status_enabled, - 'ReachabilityEnabled': reachability_enabled, - 'TypingIndicatorTimeout': typing_indicator_timeout, - 'ConsumptionReportInterval': consumption_report_interval, - 'Notifications.NewMessage.Enabled': notifications_new_message_enabled, - 'Notifications.NewMessage.Template': notifications_new_message_template, - 'Notifications.AddedToChannel.Enabled': notifications_added_to_channel_enabled, - 'Notifications.AddedToChannel.Template': notifications_added_to_channel_template, - 'Notifications.RemovedFromChannel.Enabled': notifications_removed_from_channel_enabled, - 'Notifications.RemovedFromChannel.Template': notifications_removed_from_channel_template, - 'Notifications.InvitedToChannel.Enabled': notifications_invited_to_channel_enabled, - 'Notifications.InvitedToChannel.Template': notifications_invited_to_channel_template, - 'PreWebhookUrl': pre_webhook_url, - 'PostWebhookUrl': post_webhook_url, - 'WebhookMethod': webhook_method, - 'WebhookFilters': serialize.map(webhook_filters, lambda e: e), - 'Webhooks.OnMessageSend.Url': webhooks_on_message_send_url, - 'Webhooks.OnMessageSend.Method': webhooks_on_message_send_method, - 'Webhooks.OnMessageSend.Format': webhooks_on_message_send_format, - 'Webhooks.OnMessageUpdate.Url': webhooks_on_message_update_url, - 'Webhooks.OnMessageUpdate.Method': webhooks_on_message_update_method, - 'Webhooks.OnMessageUpdate.Format': webhooks_on_message_update_format, - 'Webhooks.OnMessageRemove.Url': webhooks_on_message_remove_url, - 'Webhooks.OnMessageRemove.Method': webhooks_on_message_remove_method, - 'Webhooks.OnMessageRemove.Format': webhooks_on_message_remove_format, - 'Webhooks.OnChannelAdd.Url': webhooks_on_channel_add_url, - 'Webhooks.OnChannelAdd.Method': webhooks_on_channel_add_method, - 'Webhooks.OnChannelAdd.Format': webhooks_on_channel_add_format, - 'Webhooks.OnChannelDestroy.Url': webhooks_on_channel_destroy_url, - 'Webhooks.OnChannelDestroy.Method': webhooks_on_channel_destroy_method, - 'Webhooks.OnChannelDestroy.Format': webhooks_on_channel_destroy_format, - 'Webhooks.OnChannelUpdate.Url': webhooks_on_channel_update_url, - 'Webhooks.OnChannelUpdate.Method': webhooks_on_channel_update_method, - 'Webhooks.OnChannelUpdate.Format': webhooks_on_channel_update_format, - 'Webhooks.OnMemberAdd.Url': webhooks_on_member_add_url, - 'Webhooks.OnMemberAdd.Method': webhooks_on_member_add_method, - 'Webhooks.OnMemberAdd.Format': webhooks_on_member_add_format, - 'Webhooks.OnMemberRemove.Url': webhooks_on_member_remove_url, - 'Webhooks.OnMemberRemove.Method': webhooks_on_member_remove_method, - 'Webhooks.OnMemberRemove.Format': webhooks_on_member_remove_format, - 'Webhooks.OnMessageSent.Url': webhooks_on_message_sent_url, - 'Webhooks.OnMessageSent.Method': webhooks_on_message_sent_method, - 'Webhooks.OnMessageSent.Format': webhooks_on_message_sent_format, - 'Webhooks.OnMessageUpdated.Url': webhooks_on_message_updated_url, - 'Webhooks.OnMessageUpdated.Method': webhooks_on_message_updated_method, - 'Webhooks.OnMessageUpdated.Format': webhooks_on_message_updated_format, - 'Webhooks.OnMessageRemoved.Url': webhooks_on_message_removed_url, - 'Webhooks.OnMessageRemoved.Method': webhooks_on_message_removed_method, - 'Webhooks.OnMessageRemoved.Format': webhooks_on_message_removed_format, - 'Webhooks.OnChannelAdded.Url': webhooks_on_channel_added_url, - 'Webhooks.OnChannelAdded.Method': webhooks_on_channel_added_method, - 'Webhooks.OnChannelAdded.Format': webhooks_on_channel_added_format, - 'Webhooks.OnChannelDestroyed.Url': webhooks_on_channel_destroyed_url, - 'Webhooks.OnChannelDestroyed.Method': webhooks_on_channel_destroyed_method, - 'Webhooks.OnChannelDestroyed.Format': webhooks_on_channel_destroyed_format, - 'Webhooks.OnChannelUpdated.Url': webhooks_on_channel_updated_url, - 'Webhooks.OnChannelUpdated.Method': webhooks_on_channel_updated_method, - 'Webhooks.OnChannelUpdated.Format': webhooks_on_channel_updated_format, - 'Webhooks.OnMemberAdded.Url': webhooks_on_member_added_url, - 'Webhooks.OnMemberAdded.Method': webhooks_on_member_added_method, - 'Webhooks.OnMemberAdded.Format': webhooks_on_member_added_format, - 'Webhooks.OnMemberRemoved.Url': webhooks_on_member_removed_url, - 'Webhooks.OnMemberRemoved.Method': webhooks_on_member_removed_method, - 'Webhooks.OnMemberRemoved.Format': webhooks_on_member_removed_format, - 'Limits.ChannelMembers': limits_channel_members, - 'Limits.UserChannels': limits_user_channels, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ServiceInstance(self._version, payload, sid=self._solution['sid'], ) - - @property - def channels(self): - """ - Access the channels - - :returns: twilio.rest.chat.v1.service.channel.ChannelList - :rtype: twilio.rest.chat.v1.service.channel.ChannelList - """ - if self._channels is None: - self._channels = ChannelList(self._version, service_sid=self._solution['sid'], ) - return self._channels - - @property - def roles(self): - """ - Access the roles - - :returns: twilio.rest.chat.v1.service.role.RoleList - :rtype: twilio.rest.chat.v1.service.role.RoleList - """ - if self._roles is None: - self._roles = RoleList(self._version, service_sid=self._solution['sid'], ) - return self._roles - - @property - def users(self): - """ - Access the users - - :returns: twilio.rest.chat.v1.service.user.UserList - :rtype: twilio.rest.chat.v1.service.user.UserList - """ - if self._users is None: - self._users = UserList(self._version, service_sid=self._solution['sid'], ) - return self._users - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V1.ServiceContext {}>'.format(context) - - -class ServiceInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, sid=None): - """ - Initialize the ServiceInstance - - :returns: twilio.rest.chat.v1.service.ServiceInstance - :rtype: twilio.rest.chat.v1.service.ServiceInstance - """ - super(ServiceInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'friendly_name': payload['friendly_name'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'default_service_role_sid': payload['default_service_role_sid'], - 'default_channel_role_sid': payload['default_channel_role_sid'], - 'default_channel_creator_role_sid': payload['default_channel_creator_role_sid'], - 'read_status_enabled': payload['read_status_enabled'], - 'reachability_enabled': payload['reachability_enabled'], - 'typing_indicator_timeout': deserialize.integer(payload['typing_indicator_timeout']), - 'consumption_report_interval': deserialize.integer(payload['consumption_report_interval']), - 'limits': payload['limits'], - 'webhooks': payload['webhooks'], - 'pre_webhook_url': payload['pre_webhook_url'], - 'post_webhook_url': payload['post_webhook_url'], - 'webhook_method': payload['webhook_method'], - 'webhook_filters': payload['webhook_filters'], - 'notifications': payload['notifications'], - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ServiceContext for this ServiceInstance - :rtype: twilio.rest.chat.v1.service.ServiceContext - """ - if self._context is None: - self._context = ServiceContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def default_service_role_sid(self): - """ - :returns: The default_service_role_sid - :rtype: unicode - """ - return self._properties['default_service_role_sid'] - - @property - def default_channel_role_sid(self): - """ - :returns: The default_channel_role_sid - :rtype: unicode - """ - return self._properties['default_channel_role_sid'] - - @property - def default_channel_creator_role_sid(self): - """ - :returns: The default_channel_creator_role_sid - :rtype: unicode - """ - return self._properties['default_channel_creator_role_sid'] - - @property - def read_status_enabled(self): - """ - :returns: The read_status_enabled - :rtype: bool - """ - return self._properties['read_status_enabled'] - - @property - def reachability_enabled(self): - """ - :returns: The reachability_enabled - :rtype: bool - """ - return self._properties['reachability_enabled'] - - @property - def typing_indicator_timeout(self): - """ - :returns: The typing_indicator_timeout - :rtype: unicode - """ - return self._properties['typing_indicator_timeout'] - - @property - def consumption_report_interval(self): - """ - :returns: The consumption_report_interval - :rtype: unicode - """ - return self._properties['consumption_report_interval'] - - @property - def limits(self): - """ - :returns: The limits - :rtype: dict - """ - return self._properties['limits'] - - @property - def webhooks(self): - """ - :returns: The webhooks - :rtype: dict - """ - return self._properties['webhooks'] - - @property - def pre_webhook_url(self): - """ - :returns: The pre_webhook_url - :rtype: unicode - """ - return self._properties['pre_webhook_url'] - - @property - def post_webhook_url(self): - """ - :returns: The post_webhook_url - :rtype: unicode - """ - return self._properties['post_webhook_url'] - - @property - def webhook_method(self): - """ - :returns: The webhook_method - :rtype: unicode - """ - return self._properties['webhook_method'] - - @property - def webhook_filters(self): - """ - :returns: The webhook_filters - :rtype: unicode - """ - return self._properties['webhook_filters'] - - @property - def notifications(self): - """ - :returns: The notifications - :rtype: dict - """ - return self._properties['notifications'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a ServiceInstance - - :returns: Fetched ServiceInstance - :rtype: twilio.rest.chat.v1.service.ServiceInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the ServiceInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, friendly_name=values.unset, - default_service_role_sid=values.unset, - default_channel_role_sid=values.unset, - default_channel_creator_role_sid=values.unset, - read_status_enabled=values.unset, reachability_enabled=values.unset, - typing_indicator_timeout=values.unset, - consumption_report_interval=values.unset, - notifications_new_message_enabled=values.unset, - notifications_new_message_template=values.unset, - notifications_added_to_channel_enabled=values.unset, - notifications_added_to_channel_template=values.unset, - notifications_removed_from_channel_enabled=values.unset, - notifications_removed_from_channel_template=values.unset, - notifications_invited_to_channel_enabled=values.unset, - notifications_invited_to_channel_template=values.unset, - pre_webhook_url=values.unset, post_webhook_url=values.unset, - webhook_method=values.unset, webhook_filters=values.unset, - webhooks_on_message_send_url=values.unset, - webhooks_on_message_send_method=values.unset, - webhooks_on_message_send_format=values.unset, - webhooks_on_message_update_url=values.unset, - webhooks_on_message_update_method=values.unset, - webhooks_on_message_update_format=values.unset, - webhooks_on_message_remove_url=values.unset, - webhooks_on_message_remove_method=values.unset, - webhooks_on_message_remove_format=values.unset, - webhooks_on_channel_add_url=values.unset, - webhooks_on_channel_add_method=values.unset, - webhooks_on_channel_add_format=values.unset, - webhooks_on_channel_destroy_url=values.unset, - webhooks_on_channel_destroy_method=values.unset, - webhooks_on_channel_destroy_format=values.unset, - webhooks_on_channel_update_url=values.unset, - webhooks_on_channel_update_method=values.unset, - webhooks_on_channel_update_format=values.unset, - webhooks_on_member_add_url=values.unset, - webhooks_on_member_add_method=values.unset, - webhooks_on_member_add_format=values.unset, - webhooks_on_member_remove_url=values.unset, - webhooks_on_member_remove_method=values.unset, - webhooks_on_member_remove_format=values.unset, - webhooks_on_message_sent_url=values.unset, - webhooks_on_message_sent_method=values.unset, - webhooks_on_message_sent_format=values.unset, - webhooks_on_message_updated_url=values.unset, - webhooks_on_message_updated_method=values.unset, - webhooks_on_message_updated_format=values.unset, - webhooks_on_message_removed_url=values.unset, - webhooks_on_message_removed_method=values.unset, - webhooks_on_message_removed_format=values.unset, - webhooks_on_channel_added_url=values.unset, - webhooks_on_channel_added_method=values.unset, - webhooks_on_channel_added_format=values.unset, - webhooks_on_channel_destroyed_url=values.unset, - webhooks_on_channel_destroyed_method=values.unset, - webhooks_on_channel_destroyed_format=values.unset, - webhooks_on_channel_updated_url=values.unset, - webhooks_on_channel_updated_method=values.unset, - webhooks_on_channel_updated_format=values.unset, - webhooks_on_member_added_url=values.unset, - webhooks_on_member_added_method=values.unset, - webhooks_on_member_added_format=values.unset, - webhooks_on_member_removed_url=values.unset, - webhooks_on_member_removed_method=values.unset, - webhooks_on_member_removed_format=values.unset, - limits_channel_members=values.unset, - limits_user_channels=values.unset): - """ - Update the ServiceInstance - - :param unicode friendly_name: The friendly_name - :param unicode default_service_role_sid: The default_service_role_sid - :param unicode default_channel_role_sid: The default_channel_role_sid - :param unicode default_channel_creator_role_sid: The default_channel_creator_role_sid - :param bool read_status_enabled: The read_status_enabled - :param bool reachability_enabled: The reachability_enabled - :param unicode typing_indicator_timeout: The typing_indicator_timeout - :param unicode consumption_report_interval: The consumption_report_interval - :param bool notifications_new_message_enabled: The notifications.new_message.enabled - :param unicode notifications_new_message_template: The notifications.new_message.template - :param bool notifications_added_to_channel_enabled: The notifications.added_to_channel.enabled - :param unicode notifications_added_to_channel_template: The notifications.added_to_channel.template - :param bool notifications_removed_from_channel_enabled: The notifications.removed_from_channel.enabled - :param unicode notifications_removed_from_channel_template: The notifications.removed_from_channel.template - :param bool notifications_invited_to_channel_enabled: The notifications.invited_to_channel.enabled - :param unicode notifications_invited_to_channel_template: The notifications.invited_to_channel.template - :param unicode pre_webhook_url: The pre_webhook_url - :param unicode post_webhook_url: The post_webhook_url - :param unicode webhook_method: The webhook_method - :param unicode webhook_filters: The webhook_filters - :param unicode webhooks_on_message_send_url: The webhooks.on_message_send.url - :param unicode webhooks_on_message_send_method: The webhooks.on_message_send.method - :param unicode webhooks_on_message_send_format: The webhooks.on_message_send.format - :param unicode webhooks_on_message_update_url: The webhooks.on_message_update.url - :param unicode webhooks_on_message_update_method: The webhooks.on_message_update.method - :param unicode webhooks_on_message_update_format: The webhooks.on_message_update.format - :param unicode webhooks_on_message_remove_url: The webhooks.on_message_remove.url - :param unicode webhooks_on_message_remove_method: The webhooks.on_message_remove.method - :param unicode webhooks_on_message_remove_format: The webhooks.on_message_remove.format - :param unicode webhooks_on_channel_add_url: The webhooks.on_channel_add.url - :param unicode webhooks_on_channel_add_method: The webhooks.on_channel_add.method - :param unicode webhooks_on_channel_add_format: The webhooks.on_channel_add.format - :param unicode webhooks_on_channel_destroy_url: The webhooks.on_channel_destroy.url - :param unicode webhooks_on_channel_destroy_method: The webhooks.on_channel_destroy.method - :param unicode webhooks_on_channel_destroy_format: The webhooks.on_channel_destroy.format - :param unicode webhooks_on_channel_update_url: The webhooks.on_channel_update.url - :param unicode webhooks_on_channel_update_method: The webhooks.on_channel_update.method - :param unicode webhooks_on_channel_update_format: The webhooks.on_channel_update.format - :param unicode webhooks_on_member_add_url: The webhooks.on_member_add.url - :param unicode webhooks_on_member_add_method: The webhooks.on_member_add.method - :param unicode webhooks_on_member_add_format: The webhooks.on_member_add.format - :param unicode webhooks_on_member_remove_url: The webhooks.on_member_remove.url - :param unicode webhooks_on_member_remove_method: The webhooks.on_member_remove.method - :param unicode webhooks_on_member_remove_format: The webhooks.on_member_remove.format - :param unicode webhooks_on_message_sent_url: The webhooks.on_message_sent.url - :param unicode webhooks_on_message_sent_method: The webhooks.on_message_sent.method - :param unicode webhooks_on_message_sent_format: The webhooks.on_message_sent.format - :param unicode webhooks_on_message_updated_url: The webhooks.on_message_updated.url - :param unicode webhooks_on_message_updated_method: The webhooks.on_message_updated.method - :param unicode webhooks_on_message_updated_format: The webhooks.on_message_updated.format - :param unicode webhooks_on_message_removed_url: The webhooks.on_message_removed.url - :param unicode webhooks_on_message_removed_method: The webhooks.on_message_removed.method - :param unicode webhooks_on_message_removed_format: The webhooks.on_message_removed.format - :param unicode webhooks_on_channel_added_url: The webhooks.on_channel_added.url - :param unicode webhooks_on_channel_added_method: The webhooks.on_channel_added.method - :param unicode webhooks_on_channel_added_format: The webhooks.on_channel_added.format - :param unicode webhooks_on_channel_destroyed_url: The webhooks.on_channel_destroyed.url - :param unicode webhooks_on_channel_destroyed_method: The webhooks.on_channel_destroyed.method - :param unicode webhooks_on_channel_destroyed_format: The webhooks.on_channel_destroyed.format - :param unicode webhooks_on_channel_updated_url: The webhooks.on_channel_updated.url - :param unicode webhooks_on_channel_updated_method: The webhooks.on_channel_updated.method - :param unicode webhooks_on_channel_updated_format: The webhooks.on_channel_updated.format - :param unicode webhooks_on_member_added_url: The webhooks.on_member_added.url - :param unicode webhooks_on_member_added_method: The webhooks.on_member_added.method - :param unicode webhooks_on_member_added_format: The webhooks.on_member_added.format - :param unicode webhooks_on_member_removed_url: The webhooks.on_member_removed.url - :param unicode webhooks_on_member_removed_method: The webhooks.on_member_removed.method - :param unicode webhooks_on_member_removed_format: The webhooks.on_member_removed.format - :param unicode limits_channel_members: The limits.channel_members - :param unicode limits_user_channels: The limits.user_channels - - :returns: Updated ServiceInstance - :rtype: twilio.rest.chat.v1.service.ServiceInstance - """ - return self._proxy.update( - friendly_name=friendly_name, - default_service_role_sid=default_service_role_sid, - default_channel_role_sid=default_channel_role_sid, - default_channel_creator_role_sid=default_channel_creator_role_sid, - read_status_enabled=read_status_enabled, - reachability_enabled=reachability_enabled, - typing_indicator_timeout=typing_indicator_timeout, - consumption_report_interval=consumption_report_interval, - notifications_new_message_enabled=notifications_new_message_enabled, - notifications_new_message_template=notifications_new_message_template, - notifications_added_to_channel_enabled=notifications_added_to_channel_enabled, - notifications_added_to_channel_template=notifications_added_to_channel_template, - notifications_removed_from_channel_enabled=notifications_removed_from_channel_enabled, - notifications_removed_from_channel_template=notifications_removed_from_channel_template, - notifications_invited_to_channel_enabled=notifications_invited_to_channel_enabled, - notifications_invited_to_channel_template=notifications_invited_to_channel_template, - pre_webhook_url=pre_webhook_url, - post_webhook_url=post_webhook_url, - webhook_method=webhook_method, - webhook_filters=webhook_filters, - webhooks_on_message_send_url=webhooks_on_message_send_url, - webhooks_on_message_send_method=webhooks_on_message_send_method, - webhooks_on_message_send_format=webhooks_on_message_send_format, - webhooks_on_message_update_url=webhooks_on_message_update_url, - webhooks_on_message_update_method=webhooks_on_message_update_method, - webhooks_on_message_update_format=webhooks_on_message_update_format, - webhooks_on_message_remove_url=webhooks_on_message_remove_url, - webhooks_on_message_remove_method=webhooks_on_message_remove_method, - webhooks_on_message_remove_format=webhooks_on_message_remove_format, - webhooks_on_channel_add_url=webhooks_on_channel_add_url, - webhooks_on_channel_add_method=webhooks_on_channel_add_method, - webhooks_on_channel_add_format=webhooks_on_channel_add_format, - webhooks_on_channel_destroy_url=webhooks_on_channel_destroy_url, - webhooks_on_channel_destroy_method=webhooks_on_channel_destroy_method, - webhooks_on_channel_destroy_format=webhooks_on_channel_destroy_format, - webhooks_on_channel_update_url=webhooks_on_channel_update_url, - webhooks_on_channel_update_method=webhooks_on_channel_update_method, - webhooks_on_channel_update_format=webhooks_on_channel_update_format, - webhooks_on_member_add_url=webhooks_on_member_add_url, - webhooks_on_member_add_method=webhooks_on_member_add_method, - webhooks_on_member_add_format=webhooks_on_member_add_format, - webhooks_on_member_remove_url=webhooks_on_member_remove_url, - webhooks_on_member_remove_method=webhooks_on_member_remove_method, - webhooks_on_member_remove_format=webhooks_on_member_remove_format, - webhooks_on_message_sent_url=webhooks_on_message_sent_url, - webhooks_on_message_sent_method=webhooks_on_message_sent_method, - webhooks_on_message_sent_format=webhooks_on_message_sent_format, - webhooks_on_message_updated_url=webhooks_on_message_updated_url, - webhooks_on_message_updated_method=webhooks_on_message_updated_method, - webhooks_on_message_updated_format=webhooks_on_message_updated_format, - webhooks_on_message_removed_url=webhooks_on_message_removed_url, - webhooks_on_message_removed_method=webhooks_on_message_removed_method, - webhooks_on_message_removed_format=webhooks_on_message_removed_format, - webhooks_on_channel_added_url=webhooks_on_channel_added_url, - webhooks_on_channel_added_method=webhooks_on_channel_added_method, - webhooks_on_channel_added_format=webhooks_on_channel_added_format, - webhooks_on_channel_destroyed_url=webhooks_on_channel_destroyed_url, - webhooks_on_channel_destroyed_method=webhooks_on_channel_destroyed_method, - webhooks_on_channel_destroyed_format=webhooks_on_channel_destroyed_format, - webhooks_on_channel_updated_url=webhooks_on_channel_updated_url, - webhooks_on_channel_updated_method=webhooks_on_channel_updated_method, - webhooks_on_channel_updated_format=webhooks_on_channel_updated_format, - webhooks_on_member_added_url=webhooks_on_member_added_url, - webhooks_on_member_added_method=webhooks_on_member_added_method, - webhooks_on_member_added_format=webhooks_on_member_added_format, - webhooks_on_member_removed_url=webhooks_on_member_removed_url, - webhooks_on_member_removed_method=webhooks_on_member_removed_method, - webhooks_on_member_removed_format=webhooks_on_member_removed_format, - limits_channel_members=limits_channel_members, - limits_user_channels=limits_user_channels, - ) - - @property - def channels(self): - """ - Access the channels - - :returns: twilio.rest.chat.v1.service.channel.ChannelList - :rtype: twilio.rest.chat.v1.service.channel.ChannelList - """ - return self._proxy.channels - - @property - def roles(self): - """ - Access the roles - - :returns: twilio.rest.chat.v1.service.role.RoleList - :rtype: twilio.rest.chat.v1.service.role.RoleList - """ - return self._proxy.roles - - @property - def users(self): - """ - Access the users - - :returns: twilio.rest.chat.v1.service.user.UserList - :rtype: twilio.rest.chat.v1.service.user.UserList - """ - return self._proxy.users - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V1.ServiceInstance {}>'.format(context) diff --git a/twilio/rest/ip_messaging/v1/service/__pycache__/__init__.cpython-36.pyc b/twilio/rest/ip_messaging/v1/service/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 1545327e2c8e914d98fdeb0ecf940208f055e41f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38479 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 DsmaP& diff --git a/twilio/rest/ip_messaging/v1/service/__pycache__/role.cpython-36.pyc b/twilio/rest/ip_messaging/v1/service/__pycache__/role.cpython-36.pyc deleted file mode 100644 index ddcec71c8f024bd456b0da78e464e8378af90e8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15184 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 Qu=>k2er&wjSZv(=KbsG;-~a#s diff --git a/twilio/rest/ip_messaging/v1/service/channel/__init__.py b/twilio/rest/ip_messaging/v1/service/channel/__init__.py deleted file mode 100644 index 4be634d..0000000 --- a/twilio/rest/ip_messaging/v1/service/channel/__init__.py +++ /dev/null @@ -1,616 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.ip_messaging.v1.service.channel.invite import InviteList -from twilio.rest.ip_messaging.v1.service.channel.member import MemberList -from twilio.rest.ip_messaging.v1.service.channel.message import MessageList - - -class ChannelList(ListResource): - """ """ - - def __init__(self, version, service_sid): - """ - Initialize the ChannelList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v1.service.channel.ChannelList - :rtype: twilio.rest.chat.v1.service.channel.ChannelList - """ - super(ChannelList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Channels'.format(**self._solution) - - def create(self, friendly_name=values.unset, unique_name=values.unset, - attributes=values.unset, type=values.unset): - """ - Create a new ChannelInstance - - :param unicode friendly_name: The friendly_name - :param unicode unique_name: The unique_name - :param unicode attributes: The attributes - :param ChannelInstance.ChannelType type: The type - - :returns: Newly created ChannelInstance - :rtype: twilio.rest.chat.v1.service.channel.ChannelInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'UniqueName': unique_name, - 'Attributes': attributes, - 'Type': type, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return ChannelInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, type=values.unset, limit=None, page_size=None): - """ - Streams ChannelInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param ChannelInstance.ChannelType type: The type - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.channel.ChannelInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(type=type, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, type=values.unset, limit=None, page_size=None): - """ - Lists ChannelInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param ChannelInstance.ChannelType type: The type - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.channel.ChannelInstance] - """ - return list(self.stream(type=type, limit=limit, page_size=page_size, )) - - def page(self, type=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of ChannelInstance records from the API. - Request is executed immediately - - :param ChannelInstance.ChannelType type: The type - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ChannelInstance - :rtype: twilio.rest.chat.v1.service.channel.ChannelPage - """ - params = values.of({ - 'Type': serialize.map(type, lambda e: e), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ChannelPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ChannelInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ChannelInstance - :rtype: twilio.rest.chat.v1.service.channel.ChannelPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ChannelPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a ChannelContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.channel.ChannelContext - :rtype: twilio.rest.chat.v1.service.channel.ChannelContext - """ - return ChannelContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a ChannelContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.channel.ChannelContext - :rtype: twilio.rest.chat.v1.service.channel.ChannelContext - """ - return ChannelContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V1.ChannelList>' - - -class ChannelPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the ChannelPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v1.service.channel.ChannelPage - :rtype: twilio.rest.chat.v1.service.channel.ChannelPage - """ - super(ChannelPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ChannelInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v1.service.channel.ChannelInstance - :rtype: twilio.rest.chat.v1.service.channel.ChannelInstance - """ - return ChannelInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V1.ChannelPage>' - - -class ChannelContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the ChannelContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.channel.ChannelContext - :rtype: twilio.rest.chat.v1.service.channel.ChannelContext - """ - super(ChannelContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Channels/{sid}'.format(**self._solution) - - # Dependents - self._members = None - self._messages = None - self._invites = None - - def fetch(self): - """ - Fetch a ChannelInstance - - :returns: Fetched ChannelInstance - :rtype: twilio.rest.chat.v1.service.channel.ChannelInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ChannelInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the ChannelInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, friendly_name=values.unset, unique_name=values.unset, - attributes=values.unset): - """ - Update the ChannelInstance - - :param unicode friendly_name: The friendly_name - :param unicode unique_name: The unique_name - :param unicode attributes: The attributes - - :returns: Updated ChannelInstance - :rtype: twilio.rest.chat.v1.service.channel.ChannelInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'UniqueName': unique_name, - 'Attributes': attributes, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ChannelInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - @property - def members(self): - """ - Access the members - - :returns: twilio.rest.chat.v1.service.channel.member.MemberList - :rtype: twilio.rest.chat.v1.service.channel.member.MemberList - """ - if self._members is None: - self._members = MemberList( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['sid'], - ) - return self._members - - @property - def messages(self): - """ - Access the messages - - :returns: twilio.rest.chat.v1.service.channel.message.MessageList - :rtype: twilio.rest.chat.v1.service.channel.message.MessageList - """ - if self._messages is None: - self._messages = MessageList( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['sid'], - ) - return self._messages - - @property - def invites(self): - """ - Access the invites - - :returns: twilio.rest.chat.v1.service.channel.invite.InviteList - :rtype: twilio.rest.chat.v1.service.channel.invite.InviteList - """ - if self._invites is None: - self._invites = InviteList( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['sid'], - ) - return self._invites - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V1.ChannelContext {}>'.format(context) - - -class ChannelInstance(InstanceResource): - """ """ - - class ChannelType(object): - PUBLIC = "public" - PRIVATE = "private" - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the ChannelInstance - - :returns: twilio.rest.chat.v1.service.channel.ChannelInstance - :rtype: twilio.rest.chat.v1.service.channel.ChannelInstance - """ - super(ChannelInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'friendly_name': payload['friendly_name'], - 'unique_name': payload['unique_name'], - 'attributes': payload['attributes'], - 'type': payload['type'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'created_by': payload['created_by'], - 'members_count': deserialize.integer(payload['members_count']), - 'messages_count': deserialize.integer(payload['messages_count']), - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ChannelContext for this ChannelInstance - :rtype: twilio.rest.chat.v1.service.channel.ChannelContext - """ - if self._context is None: - self._context = ChannelContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def unique_name(self): - """ - :returns: The unique_name - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def attributes(self): - """ - :returns: The attributes - :rtype: unicode - """ - return self._properties['attributes'] - - @property - def type(self): - """ - :returns: The type - :rtype: ChannelInstance.ChannelType - """ - return self._properties['type'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def created_by(self): - """ - :returns: The created_by - :rtype: unicode - """ - return self._properties['created_by'] - - @property - def members_count(self): - """ - :returns: The members_count - :rtype: unicode - """ - return self._properties['members_count'] - - @property - def messages_count(self): - """ - :returns: The messages_count - :rtype: unicode - """ - return self._properties['messages_count'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a ChannelInstance - - :returns: Fetched ChannelInstance - :rtype: twilio.rest.chat.v1.service.channel.ChannelInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the ChannelInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, friendly_name=values.unset, unique_name=values.unset, - attributes=values.unset): - """ - Update the ChannelInstance - - :param unicode friendly_name: The friendly_name - :param unicode unique_name: The unique_name - :param unicode attributes: The attributes - - :returns: Updated ChannelInstance - :rtype: twilio.rest.chat.v1.service.channel.ChannelInstance - """ - return self._proxy.update( - friendly_name=friendly_name, - unique_name=unique_name, - attributes=attributes, - ) - - @property - def members(self): - """ - Access the members - - :returns: twilio.rest.chat.v1.service.channel.member.MemberList - :rtype: twilio.rest.chat.v1.service.channel.member.MemberList - """ - return self._proxy.members - - @property - def messages(self): - """ - Access the messages - - :returns: twilio.rest.chat.v1.service.channel.message.MessageList - :rtype: twilio.rest.chat.v1.service.channel.message.MessageList - """ - return self._proxy.messages - - @property - def invites(self): - """ - Access the invites - - :returns: twilio.rest.chat.v1.service.channel.invite.InviteList - :rtype: twilio.rest.chat.v1.service.channel.invite.InviteList - """ - return self._proxy.invites - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V1.ChannelInstance {}>'.format(context) diff --git a/twilio/rest/ip_messaging/v1/service/channel/__pycache__/__init__.cpython-36.pyc b/twilio/rest/ip_messaging/v1/service/channel/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 0892eb161df571008b045bf7636aa88296a5ac2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19719 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 KRLZAO9{gXM_-)<* diff --git a/twilio/rest/ip_messaging/v1/service/channel/__pycache__/invite.cpython-36.pyc b/twilio/rest/ip_messaging/v1/service/channel/__pycache__/invite.cpython-36.pyc deleted file mode 100644 index c5d3c2c7570f244ecad4a45d0ef4d1cda6f0045f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15122 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 Ge(=8$ish65 diff --git a/twilio/rest/ip_messaging/v1/service/channel/__pycache__/member.cpython-36.pyc b/twilio/rest/ip_messaging/v1/service/channel/__pycache__/member.cpython-36.pyc deleted file mode 100644 index 97182cbf66ded0f3871234637372afa69a8958b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16596 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 diff --git a/twilio/rest/ip_messaging/v1/service/channel/__pycache__/message.cpython-36.pyc b/twilio/rest/ip_messaging/v1/service/channel/__pycache__/message.cpython-36.pyc deleted file mode 100644 index 9913166b98c6bdfc22815dd83030067713860ca0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17006 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 diff --git a/twilio/rest/ip_messaging/v1/service/channel/invite.py b/twilio/rest/ip_messaging/v1/service/channel/invite.py deleted file mode 100644 index 3f6e695..0000000 --- a/twilio/rest/ip_messaging/v1/service/channel/invite.py +++ /dev/null @@ -1,462 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class InviteList(ListResource): - """ """ - - def __init__(self, version, service_sid, channel_sid): - """ - Initialize the InviteList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param channel_sid: The channel_sid - - :returns: twilio.rest.chat.v1.service.channel.invite.InviteList - :rtype: twilio.rest.chat.v1.service.channel.invite.InviteList - """ - super(InviteList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'channel_sid': channel_sid, } - self._uri = '/Services/{service_sid}/Channels/{channel_sid}/Invites'.format(**self._solution) - - def create(self, identity, role_sid=values.unset): - """ - Create a new InviteInstance - - :param unicode identity: The identity - :param unicode role_sid: The role_sid - - :returns: Newly created InviteInstance - :rtype: twilio.rest.chat.v1.service.channel.invite.InviteInstance - """ - data = values.of({'Identity': identity, 'RoleSid': role_sid, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return InviteInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - ) - - def stream(self, identity=values.unset, limit=None, page_size=None): - """ - Streams InviteInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode identity: The identity - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.channel.invite.InviteInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(identity=identity, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, identity=values.unset, limit=None, page_size=None): - """ - Lists InviteInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode identity: The identity - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.channel.invite.InviteInstance] - """ - return list(self.stream(identity=identity, limit=limit, page_size=page_size, )) - - def page(self, identity=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of InviteInstance records from the API. - Request is executed immediately - - :param unicode identity: The identity - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of InviteInstance - :rtype: twilio.rest.chat.v1.service.channel.invite.InvitePage - """ - params = values.of({ - 'Identity': serialize.map(identity, lambda e: e), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return InvitePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of InviteInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of InviteInstance - :rtype: twilio.rest.chat.v1.service.channel.invite.InvitePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return InvitePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a InviteContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.channel.invite.InviteContext - :rtype: twilio.rest.chat.v1.service.channel.invite.InviteContext - """ - return InviteContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a InviteContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.channel.invite.InviteContext - :rtype: twilio.rest.chat.v1.service.channel.invite.InviteContext - """ - return InviteContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V1.InviteList>' - - -class InvitePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the InvitePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - :param channel_sid: The channel_sid - - :returns: twilio.rest.chat.v1.service.channel.invite.InvitePage - :rtype: twilio.rest.chat.v1.service.channel.invite.InvitePage - """ - super(InvitePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of InviteInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v1.service.channel.invite.InviteInstance - :rtype: twilio.rest.chat.v1.service.channel.invite.InviteInstance - """ - return InviteInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V1.InvitePage>' - - -class InviteContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, channel_sid, sid): - """ - Initialize the InviteContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param channel_sid: The channel_sid - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.channel.invite.InviteContext - :rtype: twilio.rest.chat.v1.service.channel.invite.InviteContext - """ - super(InviteContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'channel_sid': channel_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Channels/{channel_sid}/Invites/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a InviteInstance - - :returns: Fetched InviteInstance - :rtype: twilio.rest.chat.v1.service.channel.invite.InviteInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return InviteInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the InviteInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V1.InviteContext {}>'.format(context) - - -class InviteInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, service_sid, channel_sid, sid=None): - """ - Initialize the InviteInstance - - :returns: twilio.rest.chat.v1.service.channel.invite.InviteInstance - :rtype: twilio.rest.chat.v1.service.channel.invite.InviteInstance - """ - super(InviteInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'channel_sid': payload['channel_sid'], - 'service_sid': payload['service_sid'], - 'identity': payload['identity'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'role_sid': payload['role_sid'], - 'created_by': payload['created_by'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'channel_sid': channel_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: InviteContext for this InviteInstance - :rtype: twilio.rest.chat.v1.service.channel.invite.InviteContext - """ - if self._context is None: - self._context = InviteContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def channel_sid(self): - """ - :returns: The channel_sid - :rtype: unicode - """ - return self._properties['channel_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def identity(self): - """ - :returns: The identity - :rtype: unicode - """ - return self._properties['identity'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def role_sid(self): - """ - :returns: The role_sid - :rtype: unicode - """ - return self._properties['role_sid'] - - @property - def created_by(self): - """ - :returns: The created_by - :rtype: unicode - """ - return self._properties['created_by'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a InviteInstance - - :returns: Fetched InviteInstance - :rtype: twilio.rest.chat.v1.service.channel.invite.InviteInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the InviteInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V1.InviteInstance {}>'.format(context) diff --git a/twilio/rest/ip_messaging/v1/service/channel/member.py b/twilio/rest/ip_messaging/v1/service/channel/member.py deleted file mode 100644 index a2cfe54..0000000 --- a/twilio/rest/ip_messaging/v1/service/channel/member.py +++ /dev/null @@ -1,514 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class MemberList(ListResource): - """ """ - - def __init__(self, version, service_sid, channel_sid): - """ - Initialize the MemberList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param channel_sid: The channel_sid - - :returns: twilio.rest.chat.v1.service.channel.member.MemberList - :rtype: twilio.rest.chat.v1.service.channel.member.MemberList - """ - super(MemberList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'channel_sid': channel_sid, } - self._uri = '/Services/{service_sid}/Channels/{channel_sid}/Members'.format(**self._solution) - - def create(self, identity, role_sid=values.unset): - """ - Create a new MemberInstance - - :param unicode identity: The identity - :param unicode role_sid: The role_sid - - :returns: Newly created MemberInstance - :rtype: twilio.rest.chat.v1.service.channel.member.MemberInstance - """ - data = values.of({'Identity': identity, 'RoleSid': role_sid, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return MemberInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - ) - - def stream(self, identity=values.unset, limit=None, page_size=None): - """ - Streams MemberInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode identity: The identity - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.channel.member.MemberInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(identity=identity, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, identity=values.unset, limit=None, page_size=None): - """ - Lists MemberInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode identity: The identity - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.channel.member.MemberInstance] - """ - return list(self.stream(identity=identity, limit=limit, page_size=page_size, )) - - def page(self, identity=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of MemberInstance records from the API. - Request is executed immediately - - :param unicode identity: The identity - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of MemberInstance - :rtype: twilio.rest.chat.v1.service.channel.member.MemberPage - """ - params = values.of({ - 'Identity': serialize.map(identity, lambda e: e), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return MemberPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of MemberInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of MemberInstance - :rtype: twilio.rest.chat.v1.service.channel.member.MemberPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return MemberPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a MemberContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.channel.member.MemberContext - :rtype: twilio.rest.chat.v1.service.channel.member.MemberContext - """ - return MemberContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a MemberContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.channel.member.MemberContext - :rtype: twilio.rest.chat.v1.service.channel.member.MemberContext - """ - return MemberContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V1.MemberList>' - - -class MemberPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the MemberPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - :param channel_sid: The channel_sid - - :returns: twilio.rest.chat.v1.service.channel.member.MemberPage - :rtype: twilio.rest.chat.v1.service.channel.member.MemberPage - """ - super(MemberPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of MemberInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v1.service.channel.member.MemberInstance - :rtype: twilio.rest.chat.v1.service.channel.member.MemberInstance - """ - return MemberInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V1.MemberPage>' - - -class MemberContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, channel_sid, sid): - """ - Initialize the MemberContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param channel_sid: The channel_sid - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.channel.member.MemberContext - :rtype: twilio.rest.chat.v1.service.channel.member.MemberContext - """ - super(MemberContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'channel_sid': channel_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Channels/{channel_sid}/Members/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a MemberInstance - - :returns: Fetched MemberInstance - :rtype: twilio.rest.chat.v1.service.channel.member.MemberInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return MemberInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the MemberInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, role_sid=values.unset, - last_consumed_message_index=values.unset): - """ - Update the MemberInstance - - :param unicode role_sid: The role_sid - :param unicode last_consumed_message_index: The last_consumed_message_index - - :returns: Updated MemberInstance - :rtype: twilio.rest.chat.v1.service.channel.member.MemberInstance - """ - data = values.of({'RoleSid': role_sid, 'LastConsumedMessageIndex': last_consumed_message_index, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return MemberInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V1.MemberContext {}>'.format(context) - - -class MemberInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, service_sid, channel_sid, sid=None): - """ - Initialize the MemberInstance - - :returns: twilio.rest.chat.v1.service.channel.member.MemberInstance - :rtype: twilio.rest.chat.v1.service.channel.member.MemberInstance - """ - super(MemberInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'channel_sid': payload['channel_sid'], - 'service_sid': payload['service_sid'], - 'identity': payload['identity'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'role_sid': payload['role_sid'], - 'last_consumed_message_index': deserialize.integer(payload['last_consumed_message_index']), - 'last_consumption_timestamp': deserialize.iso8601_datetime(payload['last_consumption_timestamp']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'channel_sid': channel_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: MemberContext for this MemberInstance - :rtype: twilio.rest.chat.v1.service.channel.member.MemberContext - """ - if self._context is None: - self._context = MemberContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def channel_sid(self): - """ - :returns: The channel_sid - :rtype: unicode - """ - return self._properties['channel_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def identity(self): - """ - :returns: The identity - :rtype: unicode - """ - return self._properties['identity'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def role_sid(self): - """ - :returns: The role_sid - :rtype: unicode - """ - return self._properties['role_sid'] - - @property - def last_consumed_message_index(self): - """ - :returns: The last_consumed_message_index - :rtype: unicode - """ - return self._properties['last_consumed_message_index'] - - @property - def last_consumption_timestamp(self): - """ - :returns: The last_consumption_timestamp - :rtype: datetime - """ - return self._properties['last_consumption_timestamp'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a MemberInstance - - :returns: Fetched MemberInstance - :rtype: twilio.rest.chat.v1.service.channel.member.MemberInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the MemberInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, role_sid=values.unset, - last_consumed_message_index=values.unset): - """ - Update the MemberInstance - - :param unicode role_sid: The role_sid - :param unicode last_consumed_message_index: The last_consumed_message_index - - :returns: Updated MemberInstance - :rtype: twilio.rest.chat.v1.service.channel.member.MemberInstance - """ - return self._proxy.update( - role_sid=role_sid, - last_consumed_message_index=last_consumed_message_index, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V1.MemberInstance {}>'.format(context) diff --git a/twilio/rest/ip_messaging/v1/service/channel/message.py b/twilio/rest/ip_messaging/v1/service/channel/message.py deleted file mode 100644 index cf450af..0000000 --- a/twilio/rest/ip_messaging/v1/service/channel/message.py +++ /dev/null @@ -1,531 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class MessageList(ListResource): - """ """ - - def __init__(self, version, service_sid, channel_sid): - """ - Initialize the MessageList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param channel_sid: The channel_sid - - :returns: twilio.rest.chat.v1.service.channel.message.MessageList - :rtype: twilio.rest.chat.v1.service.channel.message.MessageList - """ - super(MessageList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'channel_sid': channel_sid, } - self._uri = '/Services/{service_sid}/Channels/{channel_sid}/Messages'.format(**self._solution) - - def create(self, body, from_=values.unset, attributes=values.unset): - """ - Create a new MessageInstance - - :param unicode body: The body - :param unicode from_: The from - :param unicode attributes: The attributes - - :returns: Newly created MessageInstance - :rtype: twilio.rest.chat.v1.service.channel.message.MessageInstance - """ - data = values.of({'Body': body, 'From': from_, 'Attributes': attributes, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return MessageInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - ) - - def stream(self, order=values.unset, limit=None, page_size=None): - """ - Streams MessageInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param MessageInstance.OrderType order: The order - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.channel.message.MessageInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(order=order, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, order=values.unset, limit=None, page_size=None): - """ - Lists MessageInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param MessageInstance.OrderType order: The order - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.channel.message.MessageInstance] - """ - return list(self.stream(order=order, limit=limit, page_size=page_size, )) - - def page(self, order=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of MessageInstance records from the API. - Request is executed immediately - - :param MessageInstance.OrderType order: The order - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of MessageInstance - :rtype: twilio.rest.chat.v1.service.channel.message.MessagePage - """ - params = values.of({ - 'Order': order, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return MessagePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of MessageInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of MessageInstance - :rtype: twilio.rest.chat.v1.service.channel.message.MessagePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return MessagePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a MessageContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.channel.message.MessageContext - :rtype: twilio.rest.chat.v1.service.channel.message.MessageContext - """ - return MessageContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a MessageContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.channel.message.MessageContext - :rtype: twilio.rest.chat.v1.service.channel.message.MessageContext - """ - return MessageContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V1.MessageList>' - - -class MessagePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the MessagePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - :param channel_sid: The channel_sid - - :returns: twilio.rest.chat.v1.service.channel.message.MessagePage - :rtype: twilio.rest.chat.v1.service.channel.message.MessagePage - """ - super(MessagePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of MessageInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v1.service.channel.message.MessageInstance - :rtype: twilio.rest.chat.v1.service.channel.message.MessageInstance - """ - return MessageInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V1.MessagePage>' - - -class MessageContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, channel_sid, sid): - """ - Initialize the MessageContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param channel_sid: The channel_sid - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.channel.message.MessageContext - :rtype: twilio.rest.chat.v1.service.channel.message.MessageContext - """ - super(MessageContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'channel_sid': channel_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Channels/{channel_sid}/Messages/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a MessageInstance - - :returns: Fetched MessageInstance - :rtype: twilio.rest.chat.v1.service.channel.message.MessageInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return MessageInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the MessageInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, body=values.unset, attributes=values.unset): - """ - Update the MessageInstance - - :param unicode body: The body - :param unicode attributes: The attributes - - :returns: Updated MessageInstance - :rtype: twilio.rest.chat.v1.service.channel.message.MessageInstance - """ - data = values.of({'Body': body, 'Attributes': attributes, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return MessageInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V1.MessageContext {}>'.format(context) - - -class MessageInstance(InstanceResource): - """ """ - - class OrderType(object): - ASC = "asc" - DESC = "desc" - - def __init__(self, version, payload, service_sid, channel_sid, sid=None): - """ - Initialize the MessageInstance - - :returns: twilio.rest.chat.v1.service.channel.message.MessageInstance - :rtype: twilio.rest.chat.v1.service.channel.message.MessageInstance - """ - super(MessageInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'attributes': payload['attributes'], - 'service_sid': payload['service_sid'], - 'to': payload['to'], - 'channel_sid': payload['channel_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'was_edited': payload['was_edited'], - 'from_': payload['from'], - 'body': payload['body'], - 'index': deserialize.integer(payload['index']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'channel_sid': channel_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: MessageContext for this MessageInstance - :rtype: twilio.rest.chat.v1.service.channel.message.MessageContext - """ - if self._context is None: - self._context = MessageContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def attributes(self): - """ - :returns: The attributes - :rtype: unicode - """ - return self._properties['attributes'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def to(self): - """ - :returns: The to - :rtype: unicode - """ - return self._properties['to'] - - @property - def channel_sid(self): - """ - :returns: The channel_sid - :rtype: unicode - """ - return self._properties['channel_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def was_edited(self): - """ - :returns: The was_edited - :rtype: bool - """ - return self._properties['was_edited'] - - @property - def from_(self): - """ - :returns: The from - :rtype: unicode - """ - return self._properties['from_'] - - @property - def body(self): - """ - :returns: The body - :rtype: unicode - """ - return self._properties['body'] - - @property - def index(self): - """ - :returns: The index - :rtype: unicode - """ - return self._properties['index'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a MessageInstance - - :returns: Fetched MessageInstance - :rtype: twilio.rest.chat.v1.service.channel.message.MessageInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the MessageInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, body=values.unset, attributes=values.unset): - """ - Update the MessageInstance - - :param unicode body: The body - :param unicode attributes: The attributes - - :returns: Updated MessageInstance - :rtype: twilio.rest.chat.v1.service.channel.message.MessageInstance - """ - return self._proxy.update(body=body, attributes=attributes, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V1.MessageInstance {}>'.format(context) diff --git a/twilio/rest/ip_messaging/v1/service/role.py b/twilio/rest/ip_messaging/v1/service/role.py deleted file mode 100644 index ff62493..0000000 --- a/twilio/rest/ip_messaging/v1/service/role.py +++ /dev/null @@ -1,460 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class RoleList(ListResource): - """ """ - - def __init__(self, version, service_sid): - """ - Initialize the RoleList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v1.service.role.RoleList - :rtype: twilio.rest.chat.v1.service.role.RoleList - """ - super(RoleList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Roles'.format(**self._solution) - - def create(self, friendly_name, type, permission): - """ - Create a new RoleInstance - - :param unicode friendly_name: The friendly_name - :param RoleInstance.RoleType type: The type - :param unicode permission: The permission - - :returns: Newly created RoleInstance - :rtype: twilio.rest.chat.v1.service.role.RoleInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'Type': type, - 'Permission': serialize.map(permission, lambda e: e), - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return RoleInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, limit=None, page_size=None): - """ - Streams RoleInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.role.RoleInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists RoleInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.role.RoleInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of RoleInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of RoleInstance - :rtype: twilio.rest.chat.v1.service.role.RolePage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return RolePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of RoleInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of RoleInstance - :rtype: twilio.rest.chat.v1.service.role.RolePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return RolePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a RoleContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.role.RoleContext - :rtype: twilio.rest.chat.v1.service.role.RoleContext - """ - return RoleContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a RoleContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.role.RoleContext - :rtype: twilio.rest.chat.v1.service.role.RoleContext - """ - return RoleContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V1.RoleList>' - - -class RolePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the RolePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v1.service.role.RolePage - :rtype: twilio.rest.chat.v1.service.role.RolePage - """ - super(RolePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of RoleInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v1.service.role.RoleInstance - :rtype: twilio.rest.chat.v1.service.role.RoleInstance - """ - return RoleInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V1.RolePage>' - - -class RoleContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the RoleContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.role.RoleContext - :rtype: twilio.rest.chat.v1.service.role.RoleContext - """ - super(RoleContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Roles/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a RoleInstance - - :returns: Fetched RoleInstance - :rtype: twilio.rest.chat.v1.service.role.RoleInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return RoleInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the RoleInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, permission): - """ - Update the RoleInstance - - :param unicode permission: The permission - - :returns: Updated RoleInstance - :rtype: twilio.rest.chat.v1.service.role.RoleInstance - """ - data = values.of({'Permission': serialize.map(permission, lambda e: e), }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return RoleInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V1.RoleContext {}>'.format(context) - - -class RoleInstance(InstanceResource): - """ """ - - class RoleType(object): - CHANNEL = "channel" - DEPLOYMENT = "deployment" - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the RoleInstance - - :returns: twilio.rest.chat.v1.service.role.RoleInstance - :rtype: twilio.rest.chat.v1.service.role.RoleInstance - """ - super(RoleInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'friendly_name': payload['friendly_name'], - 'type': payload['type'], - 'permissions': payload['permissions'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: RoleContext for this RoleInstance - :rtype: twilio.rest.chat.v1.service.role.RoleContext - """ - if self._context is None: - self._context = RoleContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def type(self): - """ - :returns: The type - :rtype: RoleInstance.RoleType - """ - return self._properties['type'] - - @property - def permissions(self): - """ - :returns: The permissions - :rtype: unicode - """ - return self._properties['permissions'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a RoleInstance - - :returns: Fetched RoleInstance - :rtype: twilio.rest.chat.v1.service.role.RoleInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the RoleInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, permission): - """ - Update the RoleInstance - - :param unicode permission: The permission - - :returns: Updated RoleInstance - :rtype: twilio.rest.chat.v1.service.role.RoleInstance - """ - return self._proxy.update(permission, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V1.RoleInstance {}>'.format(context) diff --git a/twilio/rest/ip_messaging/v1/service/user/__init__.py b/twilio/rest/ip_messaging/v1/service/user/__init__.py deleted file mode 100644 index 01e1a45..0000000 --- a/twilio/rest/ip_messaging/v1/service/user/__init__.py +++ /dev/null @@ -1,539 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.ip_messaging.v1.service.user.user_channel import UserChannelList - - -class UserList(ListResource): - """ """ - - def __init__(self, version, service_sid): - """ - Initialize the UserList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v1.service.user.UserList - :rtype: twilio.rest.chat.v1.service.user.UserList - """ - super(UserList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Users'.format(**self._solution) - - def create(self, identity, role_sid=values.unset, attributes=values.unset, - friendly_name=values.unset): - """ - Create a new UserInstance - - :param unicode identity: The identity - :param unicode role_sid: The role_sid - :param unicode attributes: The attributes - :param unicode friendly_name: The friendly_name - - :returns: Newly created UserInstance - :rtype: twilio.rest.chat.v1.service.user.UserInstance - """ - data = values.of({ - 'Identity': identity, - 'RoleSid': role_sid, - 'Attributes': attributes, - 'FriendlyName': friendly_name, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return UserInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, limit=None, page_size=None): - """ - Streams UserInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.user.UserInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists UserInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.user.UserInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of UserInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of UserInstance - :rtype: twilio.rest.chat.v1.service.user.UserPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return UserPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of UserInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of UserInstance - :rtype: twilio.rest.chat.v1.service.user.UserPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return UserPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a UserContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.user.UserContext - :rtype: twilio.rest.chat.v1.service.user.UserContext - """ - return UserContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a UserContext - - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.user.UserContext - :rtype: twilio.rest.chat.v1.service.user.UserContext - """ - return UserContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V1.UserList>' - - -class UserPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the UserPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v1.service.user.UserPage - :rtype: twilio.rest.chat.v1.service.user.UserPage - """ - super(UserPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of UserInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v1.service.user.UserInstance - :rtype: twilio.rest.chat.v1.service.user.UserInstance - """ - return UserInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V1.UserPage>' - - -class UserContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the UserContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.chat.v1.service.user.UserContext - :rtype: twilio.rest.chat.v1.service.user.UserContext - """ - super(UserContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Users/{sid}'.format(**self._solution) - - # Dependents - self._user_channels = None - - def fetch(self): - """ - Fetch a UserInstance - - :returns: Fetched UserInstance - :rtype: twilio.rest.chat.v1.service.user.UserInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return UserInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the UserInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, role_sid=values.unset, attributes=values.unset, - friendly_name=values.unset): - """ - Update the UserInstance - - :param unicode role_sid: The role_sid - :param unicode attributes: The attributes - :param unicode friendly_name: The friendly_name - - :returns: Updated UserInstance - :rtype: twilio.rest.chat.v1.service.user.UserInstance - """ - data = values.of({'RoleSid': role_sid, 'Attributes': attributes, 'FriendlyName': friendly_name, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return UserInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - @property - def user_channels(self): - """ - Access the user_channels - - :returns: twilio.rest.chat.v1.service.user.user_channel.UserChannelList - :rtype: twilio.rest.chat.v1.service.user.user_channel.UserChannelList - """ - if self._user_channels is None: - self._user_channels = UserChannelList( - self._version, - service_sid=self._solution['service_sid'], - user_sid=self._solution['sid'], - ) - return self._user_channels - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V1.UserContext {}>'.format(context) - - -class UserInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the UserInstance - - :returns: twilio.rest.chat.v1.service.user.UserInstance - :rtype: twilio.rest.chat.v1.service.user.UserInstance - """ - super(UserInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'attributes': payload['attributes'], - 'friendly_name': payload['friendly_name'], - 'role_sid': payload['role_sid'], - 'identity': payload['identity'], - 'is_online': payload['is_online'], - 'is_notifiable': payload['is_notifiable'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'joined_channels_count': deserialize.integer(payload['joined_channels_count']), - 'links': payload['links'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: UserContext for this UserInstance - :rtype: twilio.rest.chat.v1.service.user.UserContext - """ - if self._context is None: - self._context = UserContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def attributes(self): - """ - :returns: The attributes - :rtype: unicode - """ - return self._properties['attributes'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def role_sid(self): - """ - :returns: The role_sid - :rtype: unicode - """ - return self._properties['role_sid'] - - @property - def identity(self): - """ - :returns: The identity - :rtype: unicode - """ - return self._properties['identity'] - - @property - def is_online(self): - """ - :returns: The is_online - :rtype: bool - """ - return self._properties['is_online'] - - @property - def is_notifiable(self): - """ - :returns: The is_notifiable - :rtype: bool - """ - return self._properties['is_notifiable'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def joined_channels_count(self): - """ - :returns: The joined_channels_count - :rtype: unicode - """ - return self._properties['joined_channels_count'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a UserInstance - - :returns: Fetched UserInstance - :rtype: twilio.rest.chat.v1.service.user.UserInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the UserInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, role_sid=values.unset, attributes=values.unset, - friendly_name=values.unset): - """ - Update the UserInstance - - :param unicode role_sid: The role_sid - :param unicode attributes: The attributes - :param unicode friendly_name: The friendly_name - - :returns: Updated UserInstance - :rtype: twilio.rest.chat.v1.service.user.UserInstance - """ - return self._proxy.update(role_sid=role_sid, attributes=attributes, friendly_name=friendly_name, ) - - @property - def user_channels(self): - """ - Access the user_channels - - :returns: twilio.rest.chat.v1.service.user.user_channel.UserChannelList - :rtype: twilio.rest.chat.v1.service.user.user_channel.UserChannelList - """ - return self._proxy.user_channels - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V1.UserInstance {}>'.format(context) diff --git a/twilio/rest/ip_messaging/v1/service/user/__pycache__/__init__.cpython-36.pyc b/twilio/rest/ip_messaging/v1/service/user/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 9dc7dc30cb421214a61f516efedf15bebe178ea8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17111 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 LH%?X;s_p*;G}faJ diff --git a/twilio/rest/ip_messaging/v1/service/user/__pycache__/user_channel.cpython-36.pyc b/twilio/rest/ip_messaging/v1/service/user/__pycache__/user_channel.cpython-36.pyc deleted file mode 100644 index 7996f2eed43c025649721833aada5f683b7f127d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10066 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 diff --git a/twilio/rest/ip_messaging/v1/service/user/user_channel.py b/twilio/rest/ip_messaging/v1/service/user/user_channel.py deleted file mode 100644 index 9941c0b..0000000 --- a/twilio/rest/ip_messaging/v1/service/user/user_channel.py +++ /dev/null @@ -1,277 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class UserChannelList(ListResource): - """ """ - - def __init__(self, version, service_sid, user_sid): - """ - Initialize the UserChannelList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param user_sid: The sid - - :returns: twilio.rest.chat.v1.service.user.user_channel.UserChannelList - :rtype: twilio.rest.chat.v1.service.user.user_channel.UserChannelList - """ - super(UserChannelList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'user_sid': user_sid, } - self._uri = '/Services/{service_sid}/Users/{user_sid}/Channels'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams UserChannelInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.user.user_channel.UserChannelInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists UserChannelInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v1.service.user.user_channel.UserChannelInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of UserChannelInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of UserChannelInstance - :rtype: twilio.rest.chat.v1.service.user.user_channel.UserChannelPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return UserChannelPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of UserChannelInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of UserChannelInstance - :rtype: twilio.rest.chat.v1.service.user.user_channel.UserChannelPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return UserChannelPage(self._version, response, self._solution) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V1.UserChannelList>' - - -class UserChannelPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the UserChannelPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - :param user_sid: The sid - - :returns: twilio.rest.chat.v1.service.user.user_channel.UserChannelPage - :rtype: twilio.rest.chat.v1.service.user.user_channel.UserChannelPage - """ - super(UserChannelPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of UserChannelInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v1.service.user.user_channel.UserChannelInstance - :rtype: twilio.rest.chat.v1.service.user.user_channel.UserChannelInstance - """ - return UserChannelInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - user_sid=self._solution['user_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V1.UserChannelPage>' - - -class UserChannelInstance(InstanceResource): - """ """ - - class ChannelStatus(object): - JOINED = "joined" - INVITED = "invited" - NOT_PARTICIPATING = "not_participating" - - def __init__(self, version, payload, service_sid, user_sid): - """ - Initialize the UserChannelInstance - - :returns: twilio.rest.chat.v1.service.user.user_channel.UserChannelInstance - :rtype: twilio.rest.chat.v1.service.user.user_channel.UserChannelInstance - """ - super(UserChannelInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'channel_sid': payload['channel_sid'], - 'member_sid': payload['member_sid'], - 'status': payload['status'], - 'last_consumed_message_index': deserialize.integer(payload['last_consumed_message_index']), - 'unread_messages_count': deserialize.integer(payload['unread_messages_count']), - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'user_sid': user_sid, } - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def channel_sid(self): - """ - :returns: The channel_sid - :rtype: unicode - """ - return self._properties['channel_sid'] - - @property - def member_sid(self): - """ - :returns: The member_sid - :rtype: unicode - """ - return self._properties['member_sid'] - - @property - def status(self): - """ - :returns: The status - :rtype: UserChannelInstance.ChannelStatus - """ - return self._properties['status'] - - @property - def last_consumed_message_index(self): - """ - :returns: The last_consumed_message_index - :rtype: unicode - """ - return self._properties['last_consumed_message_index'] - - @property - def unread_messages_count(self): - """ - :returns: The unread_messages_count - :rtype: unicode - """ - return self._properties['unread_messages_count'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V1.UserChannelInstance>' diff --git a/twilio/rest/ip_messaging/v2/__init__.py b/twilio/rest/ip_messaging/v2/__init__.py deleted file mode 100644 index 7a7a438..0000000 --- a/twilio/rest/ip_messaging/v2/__init__.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.ip_messaging.v2.credential import CredentialList -from twilio.rest.ip_messaging.v2.service import ServiceList - - -class V2(Version): - - def __init__(self, domain): - """ - Initialize the V2 version of IpMessaging - - :returns: V2 version of IpMessaging - :rtype: twilio.rest.ip_messaging.v2.V2.V2 - """ - super(V2, self).__init__(domain) - self.version = 'v2' - self._credentials = None - self._services = None - - @property - def credentials(self): - """ - :rtype: twilio.rest.chat.v2.credential.CredentialList - """ - if self._credentials is None: - self._credentials = CredentialList(self) - return self._credentials - - @property - def services(self): - """ - :rtype: twilio.rest.chat.v2.service.ServiceList - """ - if self._services is None: - self._services = ServiceList(self) - return self._services - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V2>' diff --git a/twilio/rest/ip_messaging/v2/__pycache__/__init__.cpython-36.pyc b/twilio/rest/ip_messaging/v2/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 5faf7ce8b80da1ff41cbbc32aa18907515d38a3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1743 zcmbVMPjA~c6elIwk`*Uyw*do&9S967;zQ-my%|BVA_a;9ZLpzP4uSwe5$TwnEUBdI zz=m!K(9h6Q&;2aB?5yif`wBblk&+d6XmS{3K0cF=kMH;XJ=x#)|M>G`81xYO3+)UC z_@7~_BOnZgh+$@>cwvPW*1VnC3nz38@1(s&KkQ@l0<j+JUnAD%)|DN)%zcAK-X``> z=R%PrXPjKdid^uF%edr>oUi?ej0q($fY7R4eNvG_I*P_X4rvvQD^eYfL1Oh&@Hlwv zYk2|}n=$tP1|!i3*X|jYO5_=^2gi~#o|Pg_UkO#h&fXg?S0ds1Z=x@3huty;D@P#) zyw-a(!y5Co7uwumHgm4g6%KpA8;rpBnajLu6uR$`gF+9m4r=Rcl31-iy=vWhs)s;I zRN@L<S#PZhUt#UL3Q?O`KpjJS%mOX;=0l5+ke8Xz5X6R)a?Z)wgsd8fB%hI&#cQrq zd?B(6zq>J&yj;pmP45tH9Y?0JTo-&w%1e=oJdj+Kfhg!=t2J0nf;0W=w1?Jeax&`I zJ+&;jl#n*4_9zu#CZ)C88dnc#(z##N1F9O=tC3YZil?)>&+<hqbf5;5CTXk`rJvA0 z?06de2Er=(RfO|6kDe99^SF$oS9ubr(J5aPQ6Y*)=Sz{YM^99m&(`WPYV6-G8b-7W zBU(+Ot&KskmM&O*UkAklg53MK58q}FkZz?CtWRL*Rmbrdruq&@h2BEke)r@zCYCya zW)I?KZC-SK`jTgpd0c9b-nb_CJW0FTCnHM^;4!IFXN2XR<_|h@54d{oMveL&HdG%7 z>iO8mn*)HdbNoNiJnQVa3r!o^V5hpedm4uiR!QAXZo%PgbK^&l*#)8Fu|4|?fsToZ zht|rl@%*NH^B0+~1az91%%tEMOV>p50&)VHL0m#}_)@97j+42__^ns|TQI7W-GiHN zk4~HV*{MgUnWrXVx1pv~TSaN0QJaq8wi(#$Lob24%Hjowy7DPq<ZPL0en{!NWt=uA zCY5WikU3Oixt2Ps<pWK=0#fg{wUzKRg$KI~0;Be|kWM61!}`QjgJ%tg!@+Q1c27oL z?NZ9}gwpWqwn?1FiU)0-OKo`g@UHf8lZGal!yoPvZo_TT#aM7-a>JR-_l_E8Jk@n< Ltahv+hR^;N`zW?% diff --git a/twilio/rest/ip_messaging/v2/__pycache__/credential.cpython-36.pyc b/twilio/rest/ip_messaging/v2/__pycache__/credential.cpython-36.pyc deleted file mode 100644 index f3048a170c5e948f8bb939c529c79b46a34b23ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15794 zcmeHOO^n<|b|#zb|Cv!swj_^#>Gfu<c1Ep{9q(?&UfJ@<Qk0cuC(_7BI<shVSZobP z-OV=19%<Sm1c9{JOBCc1?8S=!0dmM8xdzxv0^|?`xh#SJ33vz)<dkD_G;+xIUXj)8 zpBas{cI-{u0~U*9vH0rMtMC2Pn>Xg?EC2BGKWVP5XxhJPnV*UJyEwu>LLs!KCUlYO z=-pg1r&HZP-DnzIH#=rG-^_D8-zjv9%_7$eol>{lEOWissdTH&s;*tpL`jq%YNG6x z9~jL!TvtRD*HyQQ>v>$yiFsVlyLntM;CewE!}T$@i0fmbc2lb#AKI0TZ7;MOU%1v? zJG5@QJvXo;S6Ewnl}+oM)w1wI(b`YW6>Hx*)2eTtLvg0Hzj<!o+COs+Eq2d0mK)0z zYH#61`8!wn4-8zZ>v2`Mp&NL1#~Zr1EbQ8yfg7TB>}oHJ?4IMU`n|}#7vWYdy>-J4 z{XyW+3v<`JFv?t;>-KHeq0ZA^A*qCafQqX%b?`eU^rrD+tqraV<6)_3ijyKQ3J>*W zUYrs|Q9`ZY7I#YN(KbX`RB*Q}s$%Y;)~uvYCeQ7Hm=_CZSry<WTF!~%;snm~;wkYo z&I>=*Os#ngd_Em7tOl-ddlAM@;~3^F%gH75(%DFk@HJE-Ez<Y32f3ZxzWzYhHBZ~u zT87Yf%r<H}#vkHoD=%{B*%<y;!g0&G+ViM?@YjmAU2FV{71eB|ZwGeQ`oIlB&+l2g z^1PyMMB8=*f#^lH*9*C)Aen_sAAuVUf?l{{MR&c9=Qq$KYB+eavHN<%QDbdP5RpiQ zwGu>oefLS<9?qQ`^&76$3voUi^xYsRfq8MM)$+iJRx2*ILccSJFv_^l_Jgh+#b#>| zc=cRthHj@F7n8w5yvnVX)3L*_)%tVo)As7h<}FBTxcOUNbKCYeFZTPF?8x4{<~w$0 zbHnZSH~U`y?AE~Rh_i2m9lyO7-rbbENKeF)O|ReTx?yPF_IkHBcVFMku%^EkR6y_3 zI6@ZPa?L2{!_%Xok)$-z(X2TnBlOEB$12X@w^2YQv>kn4-_JeB-8XQR+lRC)Y9jYY zzi;wWW8cI*V^KqCE@}@9$WGq=8+57U;${@Mb~nt(O}YxLz;*mUgjPH7yDSkG*RNVY z3p>RNKd?f6y`j2eT=6k0Hcf!lv4>t~&+7O#`bqmk7jC=lIUZI99^$g^hoQICajgN? zN{7GI@w#55x&>H)OlR8_*-yE+84fxTND8P<!U+r;CvnLNee{SPMr7fl>vsKMZ$wBV zBj$3cc)iGCDpsspeT+z6SP&^Dus7&#;ilhK<BI%*hDO4cGj%n9bP0^kw+C2|fIb(i z&9{0kgfe;E0%f$AZSaq{(6FpaZrjE{EfC)G<z3Zvva*TXKESaR0t!~FwOQn~-N@Ot zXe@#I5pXzKvhHrXJ@gq_p&MCP)g5aPx~lIHx!D@wj7TVAKqoG|xtuZr^j>Wfor)Zy z8!vd6oyT;&HHaWzJnYO%m_wGcGj&O#9Yt7-5it&8A!t4x)35CDt`}|d<aPZp8qGZu zY7yU-EU)1<tghEP!*48E=a-k4>lxWl5O_uEOqK>fC$nzPb34Ks^ocO}#Y8|AbtwdP zu*iS+$S9gF$sekI;<93HT@RiD9K?D4Vza^zxL!8_iwW2@tHh}m-w$Jx8pQ?4)p|Zy zKnDR~5_i=s$Y#MQx^r9=C#ZHB#Va@@dL3WL)pEm=6X+%TRnP^zVfb35*Qk?-z>A?v z=#O#_bih*1{t(U7_y`0)BPbC|N9b^?*YWPSN^X`g?UNATf(L<R_k^500x9c59{Go< zC|g)nz9K5Yj4c-!km3yx{_}+n8V2Ni1P|)-*(E6J5;YX=d<`5tdt<<nu#=bP4A_{! z(rFgco&P(qQO}K5IoU(R9bVCOV*&#vm;EzXws3Q_knPvn@TrL<Pdz#0_t1|F8?sk; z!IP~LCCi;GluwKY(mu)U7$OHCF!xPiJTmU*qdZ$NR2JA)G3~$AGoWz8jRFsf(y{^8 zz1y%C2*ybHjEG60Qmx>u^)iBo8&dy~sJQoBXF$G>*X_E(gB#S@%K*MK2EZn%&LaPg z+gq{L@!<`sTK&M^^#r?4tXg0ssTDh^nx)Mk-%d1i0!&hkf|}6l_F)u}mEm;ALIQ+= zqyxJ=MB7VMwUnxAwlm&b&J0cIG8)ZnHjcjgS#5XfQ@vd`nq|eZpa_X*mgxE>bZ%^1 zd4B`8c!4<`){6lYffncdc5o6Esf6a~R>qy8mxC&9)(b4SiQ41YX;%Aq+LFv>g%&(Z zua}^V`+g4={)9>+HFph1IEO-;KanfwIo;Gt#*~y($I62vGD+fD%D;gM<Q8(iLvjt} z2CF<5u^qloQVxHd)!bVLNp#<JJXpp5yD}Zw!EHB!d(>I6Ah~Bpk$_t_t|?nLu@)iZ zsliQ*_);V(SOlXn=_DF)LHJ$xtIdM6q~c;iXz)CqO7W1m7FR|C4PKy!<0253hzmTs zco>pLsZ}bFf`T#SnyHrDiW=f5<6t=;j2xjI{IC3eVZR8}D+2XOgl`J<N{o8t1og@f z$g?+X69B8$4R8&M-?HH!+?@e(nHi8UHI0Lf^+C9O(+ze#2R;S6-y1OBsiwY?z|^4U zaYU#MknM@iUaMz!;Ym>Qv0Ded=eR*c5)6vvTbUaNz0(i8U9@lAarfjqnH!VuZ25l2 z3SqBp`S)bw<YKa6IuN_>jXF*)4r&{^4&X59mg^bjDxh3*?*g3B5;Tih6OtMbsh$6s zO?*XPy%?Jtn5B5`axx!ln2xx*I^uF%S(ohlzPlF}Z%WR@g^PWUZWM0vFk*B42R8{{ zO@UYjRt~{d@EjF#4aw02jIbxB1*l$OfQ?NOnRtFo65?uRisNc#?&4xHH*qmxJiHC2 zC!knYT<qI>WN=Tc!{AqW`CthWVr$1uEWy!V1(A{jm?u3BIS2*KWTYr)Cg&#gILO~1 z7#{wkVl)Df(C!0=!U&luP2!RnDM%~<Pb5;}iOfSKB1fL_^aD>UGLs!(j*ZY0u<MSG zrZH*6a}Dc{9lbZfkO{`e24L+cxG(Ly@-QO_*T}KL<Nxp64Tx{xAsMuf<tO5i2pV=; ztv}5$bvnu?+c>ZZ_(x|tSe1|f3-*nNLnW>2(%giorYjLTxev7rQ;}nCvt;r*LT3oR z9Qewl2x2{`4-UWe_J)l1UhQ8`gPM&GUY`i^USNSjEP^F$QoFWVL}aV=7Z{S1u;P?n zP21FSYioSeD5y(12tnOStJU?zphNY!R_mjI-ASGlTP@)`c$w5N`!WIfD$<C|4`A*^ z(u91O?h?KP-=X5WRQx)Mcs>aNJ1))FXklP5HEP6R4^s9tDh8&KZsz8WRZdq<l=OvD zrQ;=iPG5MrR4r9G810~)`WZ<rTt?-<{Rva#v3Gzy3Q@$lz<UTq09A=i8QwTZohv$1 zr*wp5=wvqzC>X3G+$*;Z*x-B(0;Oj2z}<rNaf41`-3L#wTcBh~c5x%Ixyf>5<9o$Y zx3aF;EU`T@lrr(^!@rQHvQ{?(GUlWS$uh-mhA9R67(F5bvRO)Z8B#G}nP*v{w|<5r z<SDD17_%XXRu$eKgH)Q(ReFuwkW^u@Rj3dDTg~8mwEKXl6+%;T1ML9EO}&s<cfxZh zK+IZ~JW#HvSs4rR|3Y(-I^d)4f7bb!>H(O$1eT0p?yu2}37DB9(>!I%-xDXv4$#WO z=SKRF*`ICqOOCxXp2M)0A?}|PFUDXu5k(2jfEw~$g14x6n~LvI!7Jchsu5NO?@*!G zo{Bz8Jwef5;b8AcA|&vT?m9TsPwm$>aqDq-=oWU0vkvUS5>o2TlH3o+zAf*AH!F;s zRRG@{>uE+#T3Ga>b9#ggTx5}xwp`)1=RDeGMPO=T+m)Pm(>{G9EKLow(GvLF;1u@V zSJe7s>u7i)yGMKOV~~3vJGBx~*=|yZ8W75{*OA5^8C%)LN)+!nqW&A&%T0$$&8X<Z zXGe=VVfYAEF-`oV*;au_f(&xaJq@lnW;qGePyiB%0ti6n5?7qUH3ix>73L$}G97-R zrt&gxp=BKf1y`!gigE_H^%w0a%8-c8K`v>d>hdHbX&GNH&l`Zubcv{}+LF*Od0fE^ zSPd@X!GGeA;jv<66dudiv*{G@7aWT4(T_AKSx&1s!uL>2hDHz=DPT5=V}X$(2S!TC zY*5goK-<?M&$Cgm|2n%0Z}s8VPUb$$m=n1K)6hU_JbxYINX({@%u0rS(b0`U@Cw8s z_$C#<LdCbJc$JDXRMb&Gy}U;C1QYl)CDVlg3&5mMm!-W%C?A}og3RyWJQc4~@dg## z`z(<sQH33?h2%<TwQLw76NGqX8i6D+V>Sh05X(O~6Od&f5cCYthfTZO@b?vNTyi^Z zMEL+?c|0>@S>ek@FmNrejSxS*X@vvFaa|EES(oijh>$*d3hsKD4gEAOMX@yXUBprO zeE{)E&=?T45}9YZbNu`j;trcv#o-J-$PN`BsG;Hm%{kJVkf?&>EZzwQFSJWQWx{1) z?iiE+1$~?UGX369bxV;?q?0Wl((xjSeeH**Hgos&`#FILl{q*cz;piynP=p54f7x0 z|K7(?eLAbTx)J9Z%dvhZ)^|tN6FZilmfxnB`@Mc};f<7~rZzk~En2C6+<3b~`AFe~ zhI(_j^jIG~!Ds8^`xlTFVD9){j|1d!-a{@$D9M!Zp}6SCoV*EA*#cZ5BH6DgK6`); zPVC9KgYC(SV4;jdUZ5JSHYs$EvoXnp_*WbuttGZGYl-*$QmM=apMwYLr)<rC!L6*V ziM&V_K4G{f@*?x%WzH6)9KkYW26B!d1hR<?LCy@MdKq=j4n!UKft&|O_p7LLE+Fc2 zsB=Cb>hq{`P9W+FsGk(49#VVcVv5t^8LrpFqIeb_|8e)k&Qr4vSh~-N=V9qSEnW~W zqUA~PlCW?-#g^`ANZU79m$Rj-Mve+5N_!UvV_0_ZB8P-X8nnr4?8T9&rBIXIG-w*P zoo>^x`@N>ocDiKEjr$2r<I3vwrg3q7t!Z3dy`B*oWxvJM%r3+VNf6Bp<_~|tHB{Hs z)-j0|Sq-%0!T`mjjlPd1hJ?19$Z<)@Z8@?IQ05o4$bdDM69pu@=}Emvb=)h#f+&9i zYXV7>6_f>_u+iTJ66dK$w)=~s0-jWdKU3IvV8A5h)mP0~W^EZ)ZO8GEO^0kS5wH?G z3tqDRi|5E-YB_QfBe{}#OT-3t0^tdgstvAFG5&6_M)!U|#X5>LG^NRs#w45eg!FOE z3;pkYd-;5ez7%=1ZPCI$ITFtz&kYgQO95sow8F|b(f72*r8KFi$~z=Gv|XzeYi2=D z|K=$EhU=`OpU%&;Q$P!Y#B3EuNM;8qWuf0GA+e7YGp^wPLR^eTa0OcY9AaVG=kcnN zj3fcf9gD>z15-PvUJ|6CZGM;YYmw_rSqF~Yw<+V%Z>tW$9?DlmW`nhB2cAE`hJ-_D zlp!+eE+R88?JT{`X^-IRJr6DhvVbz5m?f2?b)G5%nac=jMvqdqDXLP7;mE<bq;u85 z+L--j1~<X+Q4C$~($2Iq;sOcHy}jQ~0YfWS^i%q9ahlqOY^fABO)*I#Pcg}*oZ>|d z)0i8+rDz*jy&ISwtd-0YxmlVx4C;P5m>cL6+I<114C1k%lK8qrGf|)whNouGi%%Vq z*j4rEabhzIJk#O;qG>6E+Czw@7TpZdv$R6ylSd@}{S0Yo?l^IJ%>Bx=Ie>fup~K0i z7K04=GbFk(_R%8_;AV!n>;Q<+%p*znjCs!JJ=HuQC_a2R)Z%_-I2lJfU7!v6<`GBn zj{5ev3{CByC!yLYp(nrTaEhtLk1`ZzqBDx(<a0+P`XJfKYOl<=<P@X|M?GMTbvWsy z(;j6=e`&@%W<UCQ(4XjAMP`b!)AW<FJ)C}O@yAD@Kl$hp=|2c1VIfSBJtZ(?9UM+I zwfJd<>RBj>PmK|a=HrmQqdy=>*T32UI_zI;fN~C`fhn_e#zj2;GsTTDms%~K@z5HD z*i>kZ!W5+9WKuP@|2Xdm$qoflcwYz1@Sjg<<nQxO3cAGss4qTXMmp}mSXL@y@1YS= zC|Sl1ePPmSp%?#>B#>U!YLsb{{>`+wB$ym=d4BmZu9QDy5gxDx>CxY1*5E8V^Orxa z6<oqF)wCJ7AYbUoBU{1ycs;mG#T6>p=~teA@Ef@I&nZ(8*vh1hC}2A*vUT>ck*%~F z8QKc25)tHA2ER!K?J{BRc|CleZcNZe5vQLMeZ&QgVp^Ha;<Rh{kV#NWU#mYe5&z(Q z(zxJn?YK_F(G1=+jZ2BgyC=c_h%PlNi6@GU(H8l4Xe8f6g<@m1{KDeg{9I}LuT<u2 zmD7lq(Hm>^8V{gZO&q)}8wt|nxiAsU=QFn(UgFIv|DBlDd|_r2<a_Wx@dmX2)?CcC zq5l;CLzCwe3ToD}&->WZ<|J{>rjeN#ym?3jXC_cdSzLNsW(Qp$t;hiaB<LV0ko+07 N-_u^Ly;}R7{{b~8--G}F diff --git a/twilio/rest/ip_messaging/v2/credential.py b/twilio/rest/ip_messaging/v2/credential.py deleted file mode 100644 index fe38d5e..0000000 --- a/twilio/rest/ip_messaging/v2/credential.py +++ /dev/null @@ -1,472 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class CredentialList(ListResource): - """ """ - - def __init__(self, version): - """ - Initialize the CredentialList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.chat.v2.credential.CredentialList - :rtype: twilio.rest.chat.v2.credential.CredentialList - """ - super(CredentialList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Credentials'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams CredentialInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.credential.CredentialInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists CredentialInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.credential.CredentialInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of CredentialInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of CredentialInstance - :rtype: twilio.rest.chat.v2.credential.CredentialPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return CredentialPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of CredentialInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of CredentialInstance - :rtype: twilio.rest.chat.v2.credential.CredentialPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return CredentialPage(self._version, response, self._solution) - - def create(self, type, friendly_name=values.unset, certificate=values.unset, - private_key=values.unset, sandbox=values.unset, api_key=values.unset, - secret=values.unset): - """ - Create a new CredentialInstance - - :param CredentialInstance.PushService type: The type - :param unicode friendly_name: The friendly_name - :param unicode certificate: The certificate - :param unicode private_key: The private_key - :param bool sandbox: The sandbox - :param unicode api_key: The api_key - :param unicode secret: The secret - - :returns: Newly created CredentialInstance - :rtype: twilio.rest.chat.v2.credential.CredentialInstance - """ - data = values.of({ - 'Type': type, - 'FriendlyName': friendly_name, - 'Certificate': certificate, - 'PrivateKey': private_key, - 'Sandbox': sandbox, - 'ApiKey': api_key, - 'Secret': secret, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return CredentialInstance(self._version, payload, ) - - def get(self, sid): - """ - Constructs a CredentialContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.credential.CredentialContext - :rtype: twilio.rest.chat.v2.credential.CredentialContext - """ - return CredentialContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a CredentialContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.credential.CredentialContext - :rtype: twilio.rest.chat.v2.credential.CredentialContext - """ - return CredentialContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V2.CredentialList>' - - -class CredentialPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the CredentialPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.chat.v2.credential.CredentialPage - :rtype: twilio.rest.chat.v2.credential.CredentialPage - """ - super(CredentialPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of CredentialInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v2.credential.CredentialInstance - :rtype: twilio.rest.chat.v2.credential.CredentialInstance - """ - return CredentialInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V2.CredentialPage>' - - -class CredentialContext(InstanceContext): - """ """ - - def __init__(self, version, sid): - """ - Initialize the CredentialContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.chat.v2.credential.CredentialContext - :rtype: twilio.rest.chat.v2.credential.CredentialContext - """ - super(CredentialContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Credentials/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a CredentialInstance - - :returns: Fetched CredentialInstance - :rtype: twilio.rest.chat.v2.credential.CredentialInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return CredentialInstance(self._version, payload, sid=self._solution['sid'], ) - - def update(self, friendly_name=values.unset, certificate=values.unset, - private_key=values.unset, sandbox=values.unset, api_key=values.unset, - secret=values.unset): - """ - Update the CredentialInstance - - :param unicode friendly_name: The friendly_name - :param unicode certificate: The certificate - :param unicode private_key: The private_key - :param bool sandbox: The sandbox - :param unicode api_key: The api_key - :param unicode secret: The secret - - :returns: Updated CredentialInstance - :rtype: twilio.rest.chat.v2.credential.CredentialInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'Certificate': certificate, - 'PrivateKey': private_key, - 'Sandbox': sandbox, - 'ApiKey': api_key, - 'Secret': secret, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return CredentialInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the CredentialInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V2.CredentialContext {}>'.format(context) - - -class CredentialInstance(InstanceResource): - """ """ - - class PushService(object): - GCM = "gcm" - APN = "apn" - FCM = "fcm" - - def __init__(self, version, payload, sid=None): - """ - Initialize the CredentialInstance - - :returns: twilio.rest.chat.v2.credential.CredentialInstance - :rtype: twilio.rest.chat.v2.credential.CredentialInstance - """ - super(CredentialInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'friendly_name': payload['friendly_name'], - 'type': payload['type'], - 'sandbox': payload['sandbox'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: CredentialContext for this CredentialInstance - :rtype: twilio.rest.chat.v2.credential.CredentialContext - """ - if self._context is None: - self._context = CredentialContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def type(self): - """ - :returns: The type - :rtype: CredentialInstance.PushService - """ - return self._properties['type'] - - @property - def sandbox(self): - """ - :returns: The sandbox - :rtype: unicode - """ - return self._properties['sandbox'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a CredentialInstance - - :returns: Fetched CredentialInstance - :rtype: twilio.rest.chat.v2.credential.CredentialInstance - """ - return self._proxy.fetch() - - def update(self, friendly_name=values.unset, certificate=values.unset, - private_key=values.unset, sandbox=values.unset, api_key=values.unset, - secret=values.unset): - """ - Update the CredentialInstance - - :param unicode friendly_name: The friendly_name - :param unicode certificate: The certificate - :param unicode private_key: The private_key - :param bool sandbox: The sandbox - :param unicode api_key: The api_key - :param unicode secret: The secret - - :returns: Updated CredentialInstance - :rtype: twilio.rest.chat.v2.credential.CredentialInstance - """ - return self._proxy.update( - friendly_name=friendly_name, - certificate=certificate, - private_key=private_key, - sandbox=sandbox, - api_key=api_key, - secret=secret, - ) - - def delete(self): - """ - Deletes the CredentialInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V2.CredentialInstance {}>'.format(context) diff --git a/twilio/rest/ip_messaging/v2/service/__init__.py b/twilio/rest/ip_messaging/v2/service/__init__.py deleted file mode 100644 index 8c305bc..0000000 --- a/twilio/rest/ip_messaging/v2/service/__init__.py +++ /dev/null @@ -1,835 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.ip_messaging.v2.service.binding import BindingList -from twilio.rest.ip_messaging.v2.service.channel import ChannelList -from twilio.rest.ip_messaging.v2.service.role import RoleList -from twilio.rest.ip_messaging.v2.service.user import UserList - - -class ServiceList(ListResource): - """ """ - - def __init__(self, version): - """ - Initialize the ServiceList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.chat.v2.service.ServiceList - :rtype: twilio.rest.chat.v2.service.ServiceList - """ - super(ServiceList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Services'.format(**self._solution) - - def create(self, friendly_name): - """ - Create a new ServiceInstance - - :param unicode friendly_name: The friendly_name - - :returns: Newly created ServiceInstance - :rtype: twilio.rest.chat.v2.service.ServiceInstance - """ - data = values.of({'FriendlyName': friendly_name, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return ServiceInstance(self._version, payload, ) - - def stream(self, limit=None, page_size=None): - """ - Streams ServiceInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.ServiceInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists ServiceInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.ServiceInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of ServiceInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ServiceInstance - :rtype: twilio.rest.chat.v2.service.ServicePage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ServicePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ServiceInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ServiceInstance - :rtype: twilio.rest.chat.v2.service.ServicePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ServicePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a ServiceContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.ServiceContext - :rtype: twilio.rest.chat.v2.service.ServiceContext - """ - return ServiceContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a ServiceContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.ServiceContext - :rtype: twilio.rest.chat.v2.service.ServiceContext - """ - return ServiceContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V2.ServiceList>' - - -class ServicePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the ServicePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.chat.v2.service.ServicePage - :rtype: twilio.rest.chat.v2.service.ServicePage - """ - super(ServicePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ServiceInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v2.service.ServiceInstance - :rtype: twilio.rest.chat.v2.service.ServiceInstance - """ - return ServiceInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V2.ServicePage>' - - -class ServiceContext(InstanceContext): - """ """ - - def __init__(self, version, sid): - """ - Initialize the ServiceContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.ServiceContext - :rtype: twilio.rest.chat.v2.service.ServiceContext - """ - super(ServiceContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Services/{sid}'.format(**self._solution) - - # Dependents - self._channels = None - self._roles = None - self._users = None - self._bindings = None - - def fetch(self): - """ - Fetch a ServiceInstance - - :returns: Fetched ServiceInstance - :rtype: twilio.rest.chat.v2.service.ServiceInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ServiceInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the ServiceInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, friendly_name=values.unset, - default_service_role_sid=values.unset, - default_channel_role_sid=values.unset, - default_channel_creator_role_sid=values.unset, - read_status_enabled=values.unset, reachability_enabled=values.unset, - typing_indicator_timeout=values.unset, - consumption_report_interval=values.unset, - notifications_new_message_enabled=values.unset, - notifications_new_message_template=values.unset, - notifications_new_message_sound=values.unset, - notifications_new_message_badge_count_enabled=values.unset, - notifications_added_to_channel_enabled=values.unset, - notifications_added_to_channel_template=values.unset, - notifications_added_to_channel_sound=values.unset, - notifications_removed_from_channel_enabled=values.unset, - notifications_removed_from_channel_template=values.unset, - notifications_removed_from_channel_sound=values.unset, - notifications_invited_to_channel_enabled=values.unset, - notifications_invited_to_channel_template=values.unset, - notifications_invited_to_channel_sound=values.unset, - pre_webhook_url=values.unset, post_webhook_url=values.unset, - webhook_method=values.unset, webhook_filters=values.unset, - limits_channel_members=values.unset, - limits_user_channels=values.unset, - media_compatibility_message=values.unset, - pre_webhook_retry_count=values.unset, - post_webhook_retry_count=values.unset, - notifications_log_enabled=values.unset): - """ - Update the ServiceInstance - - :param unicode friendly_name: The friendly_name - :param unicode default_service_role_sid: The default_service_role_sid - :param unicode default_channel_role_sid: The default_channel_role_sid - :param unicode default_channel_creator_role_sid: The default_channel_creator_role_sid - :param bool read_status_enabled: The read_status_enabled - :param bool reachability_enabled: The reachability_enabled - :param unicode typing_indicator_timeout: The typing_indicator_timeout - :param unicode consumption_report_interval: The consumption_report_interval - :param bool notifications_new_message_enabled: The notifications.new_message.enabled - :param unicode notifications_new_message_template: The notifications.new_message.template - :param unicode notifications_new_message_sound: The notifications.new_message.sound - :param bool notifications_new_message_badge_count_enabled: The notifications.new_message.badge_count_enabled - :param bool notifications_added_to_channel_enabled: The notifications.added_to_channel.enabled - :param unicode notifications_added_to_channel_template: The notifications.added_to_channel.template - :param unicode notifications_added_to_channel_sound: The notifications.added_to_channel.sound - :param bool notifications_removed_from_channel_enabled: The notifications.removed_from_channel.enabled - :param unicode notifications_removed_from_channel_template: The notifications.removed_from_channel.template - :param unicode notifications_removed_from_channel_sound: The notifications.removed_from_channel.sound - :param bool notifications_invited_to_channel_enabled: The notifications.invited_to_channel.enabled - :param unicode notifications_invited_to_channel_template: The notifications.invited_to_channel.template - :param unicode notifications_invited_to_channel_sound: The notifications.invited_to_channel.sound - :param unicode pre_webhook_url: The pre_webhook_url - :param unicode post_webhook_url: The post_webhook_url - :param unicode webhook_method: The webhook_method - :param unicode webhook_filters: The webhook_filters - :param unicode limits_channel_members: The limits.channel_members - :param unicode limits_user_channels: The limits.user_channels - :param unicode media_compatibility_message: The media.compatibility_message - :param unicode pre_webhook_retry_count: The pre_webhook_retry_count - :param unicode post_webhook_retry_count: The post_webhook_retry_count - :param bool notifications_log_enabled: The notifications.log_enabled - - :returns: Updated ServiceInstance - :rtype: twilio.rest.chat.v2.service.ServiceInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'DefaultServiceRoleSid': default_service_role_sid, - 'DefaultChannelRoleSid': default_channel_role_sid, - 'DefaultChannelCreatorRoleSid': default_channel_creator_role_sid, - 'ReadStatusEnabled': read_status_enabled, - 'ReachabilityEnabled': reachability_enabled, - 'TypingIndicatorTimeout': typing_indicator_timeout, - 'ConsumptionReportInterval': consumption_report_interval, - 'Notifications.NewMessage.Enabled': notifications_new_message_enabled, - 'Notifications.NewMessage.Template': notifications_new_message_template, - 'Notifications.NewMessage.Sound': notifications_new_message_sound, - 'Notifications.NewMessage.BadgeCountEnabled': notifications_new_message_badge_count_enabled, - 'Notifications.AddedToChannel.Enabled': notifications_added_to_channel_enabled, - 'Notifications.AddedToChannel.Template': notifications_added_to_channel_template, - 'Notifications.AddedToChannel.Sound': notifications_added_to_channel_sound, - 'Notifications.RemovedFromChannel.Enabled': notifications_removed_from_channel_enabled, - 'Notifications.RemovedFromChannel.Template': notifications_removed_from_channel_template, - 'Notifications.RemovedFromChannel.Sound': notifications_removed_from_channel_sound, - 'Notifications.InvitedToChannel.Enabled': notifications_invited_to_channel_enabled, - 'Notifications.InvitedToChannel.Template': notifications_invited_to_channel_template, - 'Notifications.InvitedToChannel.Sound': notifications_invited_to_channel_sound, - 'PreWebhookUrl': pre_webhook_url, - 'PostWebhookUrl': post_webhook_url, - 'WebhookMethod': webhook_method, - 'WebhookFilters': serialize.map(webhook_filters, lambda e: e), - 'Limits.ChannelMembers': limits_channel_members, - 'Limits.UserChannels': limits_user_channels, - 'Media.CompatibilityMessage': media_compatibility_message, - 'PreWebhookRetryCount': pre_webhook_retry_count, - 'PostWebhookRetryCount': post_webhook_retry_count, - 'Notifications.LogEnabled': notifications_log_enabled, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ServiceInstance(self._version, payload, sid=self._solution['sid'], ) - - @property - def channels(self): - """ - Access the channels - - :returns: twilio.rest.chat.v2.service.channel.ChannelList - :rtype: twilio.rest.chat.v2.service.channel.ChannelList - """ - if self._channels is None: - self._channels = ChannelList(self._version, service_sid=self._solution['sid'], ) - return self._channels - - @property - def roles(self): - """ - Access the roles - - :returns: twilio.rest.chat.v2.service.role.RoleList - :rtype: twilio.rest.chat.v2.service.role.RoleList - """ - if self._roles is None: - self._roles = RoleList(self._version, service_sid=self._solution['sid'], ) - return self._roles - - @property - def users(self): - """ - Access the users - - :returns: twilio.rest.chat.v2.service.user.UserList - :rtype: twilio.rest.chat.v2.service.user.UserList - """ - if self._users is None: - self._users = UserList(self._version, service_sid=self._solution['sid'], ) - return self._users - - @property - def bindings(self): - """ - Access the bindings - - :returns: twilio.rest.chat.v2.service.binding.BindingList - :rtype: twilio.rest.chat.v2.service.binding.BindingList - """ - if self._bindings is None: - self._bindings = BindingList(self._version, service_sid=self._solution['sid'], ) - return self._bindings - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V2.ServiceContext {}>'.format(context) - - -class ServiceInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, sid=None): - """ - Initialize the ServiceInstance - - :returns: twilio.rest.chat.v2.service.ServiceInstance - :rtype: twilio.rest.chat.v2.service.ServiceInstance - """ - super(ServiceInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'friendly_name': payload['friendly_name'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'default_service_role_sid': payload['default_service_role_sid'], - 'default_channel_role_sid': payload['default_channel_role_sid'], - 'default_channel_creator_role_sid': payload['default_channel_creator_role_sid'], - 'read_status_enabled': payload['read_status_enabled'], - 'reachability_enabled': payload['reachability_enabled'], - 'typing_indicator_timeout': deserialize.integer(payload['typing_indicator_timeout']), - 'consumption_report_interval': deserialize.integer(payload['consumption_report_interval']), - 'limits': payload['limits'], - 'pre_webhook_url': payload['pre_webhook_url'], - 'post_webhook_url': payload['post_webhook_url'], - 'webhook_method': payload['webhook_method'], - 'webhook_filters': payload['webhook_filters'], - 'pre_webhook_retry_count': deserialize.integer(payload['pre_webhook_retry_count']), - 'post_webhook_retry_count': deserialize.integer(payload['post_webhook_retry_count']), - 'notifications': payload['notifications'], - 'media': payload['media'], - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ServiceContext for this ServiceInstance - :rtype: twilio.rest.chat.v2.service.ServiceContext - """ - if self._context is None: - self._context = ServiceContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def default_service_role_sid(self): - """ - :returns: The default_service_role_sid - :rtype: unicode - """ - return self._properties['default_service_role_sid'] - - @property - def default_channel_role_sid(self): - """ - :returns: The default_channel_role_sid - :rtype: unicode - """ - return self._properties['default_channel_role_sid'] - - @property - def default_channel_creator_role_sid(self): - """ - :returns: The default_channel_creator_role_sid - :rtype: unicode - """ - return self._properties['default_channel_creator_role_sid'] - - @property - def read_status_enabled(self): - """ - :returns: The read_status_enabled - :rtype: bool - """ - return self._properties['read_status_enabled'] - - @property - def reachability_enabled(self): - """ - :returns: The reachability_enabled - :rtype: bool - """ - return self._properties['reachability_enabled'] - - @property - def typing_indicator_timeout(self): - """ - :returns: The typing_indicator_timeout - :rtype: unicode - """ - return self._properties['typing_indicator_timeout'] - - @property - def consumption_report_interval(self): - """ - :returns: The consumption_report_interval - :rtype: unicode - """ - return self._properties['consumption_report_interval'] - - @property - def limits(self): - """ - :returns: The limits - :rtype: dict - """ - return self._properties['limits'] - - @property - def pre_webhook_url(self): - """ - :returns: The pre_webhook_url - :rtype: unicode - """ - return self._properties['pre_webhook_url'] - - @property - def post_webhook_url(self): - """ - :returns: The post_webhook_url - :rtype: unicode - """ - return self._properties['post_webhook_url'] - - @property - def webhook_method(self): - """ - :returns: The webhook_method - :rtype: unicode - """ - return self._properties['webhook_method'] - - @property - def webhook_filters(self): - """ - :returns: The webhook_filters - :rtype: unicode - """ - return self._properties['webhook_filters'] - - @property - def pre_webhook_retry_count(self): - """ - :returns: The pre_webhook_retry_count - :rtype: unicode - """ - return self._properties['pre_webhook_retry_count'] - - @property - def post_webhook_retry_count(self): - """ - :returns: The post_webhook_retry_count - :rtype: unicode - """ - return self._properties['post_webhook_retry_count'] - - @property - def notifications(self): - """ - :returns: The notifications - :rtype: dict - """ - return self._properties['notifications'] - - @property - def media(self): - """ - :returns: The media - :rtype: dict - """ - return self._properties['media'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a ServiceInstance - - :returns: Fetched ServiceInstance - :rtype: twilio.rest.chat.v2.service.ServiceInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the ServiceInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, friendly_name=values.unset, - default_service_role_sid=values.unset, - default_channel_role_sid=values.unset, - default_channel_creator_role_sid=values.unset, - read_status_enabled=values.unset, reachability_enabled=values.unset, - typing_indicator_timeout=values.unset, - consumption_report_interval=values.unset, - notifications_new_message_enabled=values.unset, - notifications_new_message_template=values.unset, - notifications_new_message_sound=values.unset, - notifications_new_message_badge_count_enabled=values.unset, - notifications_added_to_channel_enabled=values.unset, - notifications_added_to_channel_template=values.unset, - notifications_added_to_channel_sound=values.unset, - notifications_removed_from_channel_enabled=values.unset, - notifications_removed_from_channel_template=values.unset, - notifications_removed_from_channel_sound=values.unset, - notifications_invited_to_channel_enabled=values.unset, - notifications_invited_to_channel_template=values.unset, - notifications_invited_to_channel_sound=values.unset, - pre_webhook_url=values.unset, post_webhook_url=values.unset, - webhook_method=values.unset, webhook_filters=values.unset, - limits_channel_members=values.unset, - limits_user_channels=values.unset, - media_compatibility_message=values.unset, - pre_webhook_retry_count=values.unset, - post_webhook_retry_count=values.unset, - notifications_log_enabled=values.unset): - """ - Update the ServiceInstance - - :param unicode friendly_name: The friendly_name - :param unicode default_service_role_sid: The default_service_role_sid - :param unicode default_channel_role_sid: The default_channel_role_sid - :param unicode default_channel_creator_role_sid: The default_channel_creator_role_sid - :param bool read_status_enabled: The read_status_enabled - :param bool reachability_enabled: The reachability_enabled - :param unicode typing_indicator_timeout: The typing_indicator_timeout - :param unicode consumption_report_interval: The consumption_report_interval - :param bool notifications_new_message_enabled: The notifications.new_message.enabled - :param unicode notifications_new_message_template: The notifications.new_message.template - :param unicode notifications_new_message_sound: The notifications.new_message.sound - :param bool notifications_new_message_badge_count_enabled: The notifications.new_message.badge_count_enabled - :param bool notifications_added_to_channel_enabled: The notifications.added_to_channel.enabled - :param unicode notifications_added_to_channel_template: The notifications.added_to_channel.template - :param unicode notifications_added_to_channel_sound: The notifications.added_to_channel.sound - :param bool notifications_removed_from_channel_enabled: The notifications.removed_from_channel.enabled - :param unicode notifications_removed_from_channel_template: The notifications.removed_from_channel.template - :param unicode notifications_removed_from_channel_sound: The notifications.removed_from_channel.sound - :param bool notifications_invited_to_channel_enabled: The notifications.invited_to_channel.enabled - :param unicode notifications_invited_to_channel_template: The notifications.invited_to_channel.template - :param unicode notifications_invited_to_channel_sound: The notifications.invited_to_channel.sound - :param unicode pre_webhook_url: The pre_webhook_url - :param unicode post_webhook_url: The post_webhook_url - :param unicode webhook_method: The webhook_method - :param unicode webhook_filters: The webhook_filters - :param unicode limits_channel_members: The limits.channel_members - :param unicode limits_user_channels: The limits.user_channels - :param unicode media_compatibility_message: The media.compatibility_message - :param unicode pre_webhook_retry_count: The pre_webhook_retry_count - :param unicode post_webhook_retry_count: The post_webhook_retry_count - :param bool notifications_log_enabled: The notifications.log_enabled - - :returns: Updated ServiceInstance - :rtype: twilio.rest.chat.v2.service.ServiceInstance - """ - return self._proxy.update( - friendly_name=friendly_name, - default_service_role_sid=default_service_role_sid, - default_channel_role_sid=default_channel_role_sid, - default_channel_creator_role_sid=default_channel_creator_role_sid, - read_status_enabled=read_status_enabled, - reachability_enabled=reachability_enabled, - typing_indicator_timeout=typing_indicator_timeout, - consumption_report_interval=consumption_report_interval, - notifications_new_message_enabled=notifications_new_message_enabled, - notifications_new_message_template=notifications_new_message_template, - notifications_new_message_sound=notifications_new_message_sound, - notifications_new_message_badge_count_enabled=notifications_new_message_badge_count_enabled, - notifications_added_to_channel_enabled=notifications_added_to_channel_enabled, - notifications_added_to_channel_template=notifications_added_to_channel_template, - notifications_added_to_channel_sound=notifications_added_to_channel_sound, - notifications_removed_from_channel_enabled=notifications_removed_from_channel_enabled, - notifications_removed_from_channel_template=notifications_removed_from_channel_template, - notifications_removed_from_channel_sound=notifications_removed_from_channel_sound, - notifications_invited_to_channel_enabled=notifications_invited_to_channel_enabled, - notifications_invited_to_channel_template=notifications_invited_to_channel_template, - notifications_invited_to_channel_sound=notifications_invited_to_channel_sound, - pre_webhook_url=pre_webhook_url, - post_webhook_url=post_webhook_url, - webhook_method=webhook_method, - webhook_filters=webhook_filters, - limits_channel_members=limits_channel_members, - limits_user_channels=limits_user_channels, - media_compatibility_message=media_compatibility_message, - pre_webhook_retry_count=pre_webhook_retry_count, - post_webhook_retry_count=post_webhook_retry_count, - notifications_log_enabled=notifications_log_enabled, - ) - - @property - def channels(self): - """ - Access the channels - - :returns: twilio.rest.chat.v2.service.channel.ChannelList - :rtype: twilio.rest.chat.v2.service.channel.ChannelList - """ - return self._proxy.channels - - @property - def roles(self): - """ - Access the roles - - :returns: twilio.rest.chat.v2.service.role.RoleList - :rtype: twilio.rest.chat.v2.service.role.RoleList - """ - return self._proxy.roles - - @property - def users(self): - """ - Access the users - - :returns: twilio.rest.chat.v2.service.user.UserList - :rtype: twilio.rest.chat.v2.service.user.UserList - """ - return self._proxy.users - - @property - def bindings(self): - """ - Access the bindings - - :returns: twilio.rest.chat.v2.service.binding.BindingList - :rtype: twilio.rest.chat.v2.service.binding.BindingList - """ - return self._proxy.bindings - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V2.ServiceInstance {}>'.format(context) diff --git a/twilio/rest/ip_messaging/v2/service/__pycache__/__init__.cpython-36.pyc b/twilio/rest/ip_messaging/v2/service/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 1549cce5f088ae00d4564f93b11abce56ef94293..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28791 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 D&?5Vs diff --git a/twilio/rest/ip_messaging/v2/service/__pycache__/binding.cpython-36.pyc b/twilio/rest/ip_messaging/v2/service/__pycache__/binding.cpython-36.pyc deleted file mode 100644 index 00fa337ceed9a52fe646bf2f74e10c1be255aa4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15215 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 Hsu%wknx*1J diff --git a/twilio/rest/ip_messaging/v2/service/__pycache__/role.cpython-36.pyc b/twilio/rest/ip_messaging/v2/service/__pycache__/role.cpython-36.pyc deleted file mode 100644 index 6d2786a156d7ecf41f103afb869593b37a26a2d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15184 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 SfF-Q{a*ZDwFE<t%cmEG7ue1FC diff --git a/twilio/rest/ip_messaging/v2/service/binding.py b/twilio/rest/ip_messaging/v2/service/binding.py deleted file mode 100644 index b0c9b8f..0000000 --- a/twilio/rest/ip_messaging/v2/service/binding.py +++ /dev/null @@ -1,448 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class BindingList(ListResource): - """ """ - - def __init__(self, version, service_sid): - """ - Initialize the BindingList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v2.service.binding.BindingList - :rtype: twilio.rest.chat.v2.service.binding.BindingList - """ - super(BindingList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Bindings'.format(**self._solution) - - def stream(self, binding_type=values.unset, identity=values.unset, limit=None, - page_size=None): - """ - Streams BindingInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param BindingInstance.BindingType binding_type: The binding_type - :param unicode identity: The identity - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.binding.BindingInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(binding_type=binding_type, identity=identity, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, binding_type=values.unset, identity=values.unset, limit=None, - page_size=None): - """ - Lists BindingInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param BindingInstance.BindingType binding_type: The binding_type - :param unicode identity: The identity - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.binding.BindingInstance] - """ - return list(self.stream( - binding_type=binding_type, - identity=identity, - limit=limit, - page_size=page_size, - )) - - def page(self, binding_type=values.unset, identity=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of BindingInstance records from the API. - Request is executed immediately - - :param BindingInstance.BindingType binding_type: The binding_type - :param unicode identity: The identity - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of BindingInstance - :rtype: twilio.rest.chat.v2.service.binding.BindingPage - """ - params = values.of({ - 'BindingType': serialize.map(binding_type, lambda e: e), - 'Identity': serialize.map(identity, lambda e: e), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return BindingPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of BindingInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of BindingInstance - :rtype: twilio.rest.chat.v2.service.binding.BindingPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return BindingPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a BindingContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.binding.BindingContext - :rtype: twilio.rest.chat.v2.service.binding.BindingContext - """ - return BindingContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a BindingContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.binding.BindingContext - :rtype: twilio.rest.chat.v2.service.binding.BindingContext - """ - return BindingContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V2.BindingList>' - - -class BindingPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the BindingPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v2.service.binding.BindingPage - :rtype: twilio.rest.chat.v2.service.binding.BindingPage - """ - super(BindingPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of BindingInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v2.service.binding.BindingInstance - :rtype: twilio.rest.chat.v2.service.binding.BindingInstance - """ - return BindingInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V2.BindingPage>' - - -class BindingContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the BindingContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.binding.BindingContext - :rtype: twilio.rest.chat.v2.service.binding.BindingContext - """ - super(BindingContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Bindings/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a BindingInstance - - :returns: Fetched BindingInstance - :rtype: twilio.rest.chat.v2.service.binding.BindingInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return BindingInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the BindingInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V2.BindingContext {}>'.format(context) - - -class BindingInstance(InstanceResource): - """ """ - - class BindingType(object): - GCM = "gcm" - APN = "apn" - FCM = "fcm" - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the BindingInstance - - :returns: twilio.rest.chat.v2.service.binding.BindingInstance - :rtype: twilio.rest.chat.v2.service.binding.BindingInstance - """ - super(BindingInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'endpoint': payload['endpoint'], - 'identity': payload['identity'], - 'credential_sid': payload['credential_sid'], - 'binding_type': payload['binding_type'], - 'message_types': payload['message_types'], - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: BindingContext for this BindingInstance - :rtype: twilio.rest.chat.v2.service.binding.BindingContext - """ - if self._context is None: - self._context = BindingContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def endpoint(self): - """ - :returns: The endpoint - :rtype: unicode - """ - return self._properties['endpoint'] - - @property - def identity(self): - """ - :returns: The identity - :rtype: unicode - """ - return self._properties['identity'] - - @property - def credential_sid(self): - """ - :returns: The credential_sid - :rtype: unicode - """ - return self._properties['credential_sid'] - - @property - def binding_type(self): - """ - :returns: The binding_type - :rtype: BindingInstance.BindingType - """ - return self._properties['binding_type'] - - @property - def message_types(self): - """ - :returns: The message_types - :rtype: unicode - """ - return self._properties['message_types'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a BindingInstance - - :returns: Fetched BindingInstance - :rtype: twilio.rest.chat.v2.service.binding.BindingInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the BindingInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V2.BindingInstance {}>'.format(context) diff --git a/twilio/rest/ip_messaging/v2/service/channel/__init__.py b/twilio/rest/ip_messaging/v2/service/channel/__init__.py deleted file mode 100644 index a6111e3..0000000 --- a/twilio/rest/ip_messaging/v2/service/channel/__init__.py +++ /dev/null @@ -1,638 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.ip_messaging.v2.service.channel.invite import InviteList -from twilio.rest.ip_messaging.v2.service.channel.member import MemberList -from twilio.rest.ip_messaging.v2.service.channel.message import MessageList - - -class ChannelList(ListResource): - """ """ - - def __init__(self, version, service_sid): - """ - Initialize the ChannelList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v2.service.channel.ChannelList - :rtype: twilio.rest.chat.v2.service.channel.ChannelList - """ - super(ChannelList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Channels'.format(**self._solution) - - def create(self, friendly_name=values.unset, unique_name=values.unset, - attributes=values.unset, type=values.unset, - date_created=values.unset, date_updated=values.unset, - created_by=values.unset): - """ - Create a new ChannelInstance - - :param unicode friendly_name: The friendly_name - :param unicode unique_name: The unique_name - :param unicode attributes: The attributes - :param ChannelInstance.ChannelType type: The type - :param datetime date_created: The date_created - :param datetime date_updated: The date_updated - :param unicode created_by: The created_by - - :returns: Newly created ChannelInstance - :rtype: twilio.rest.chat.v2.service.channel.ChannelInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'UniqueName': unique_name, - 'Attributes': attributes, - 'Type': type, - 'DateCreated': serialize.iso8601_datetime(date_created), - 'DateUpdated': serialize.iso8601_datetime(date_updated), - 'CreatedBy': created_by, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return ChannelInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, type=values.unset, limit=None, page_size=None): - """ - Streams ChannelInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param ChannelInstance.ChannelType type: The type - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.channel.ChannelInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(type=type, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, type=values.unset, limit=None, page_size=None): - """ - Lists ChannelInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param ChannelInstance.ChannelType type: The type - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.channel.ChannelInstance] - """ - return list(self.stream(type=type, limit=limit, page_size=page_size, )) - - def page(self, type=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of ChannelInstance records from the API. - Request is executed immediately - - :param ChannelInstance.ChannelType type: The type - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ChannelInstance - :rtype: twilio.rest.chat.v2.service.channel.ChannelPage - """ - params = values.of({ - 'Type': serialize.map(type, lambda e: e), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ChannelPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ChannelInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ChannelInstance - :rtype: twilio.rest.chat.v2.service.channel.ChannelPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ChannelPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a ChannelContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.channel.ChannelContext - :rtype: twilio.rest.chat.v2.service.channel.ChannelContext - """ - return ChannelContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a ChannelContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.channel.ChannelContext - :rtype: twilio.rest.chat.v2.service.channel.ChannelContext - """ - return ChannelContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V2.ChannelList>' - - -class ChannelPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the ChannelPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v2.service.channel.ChannelPage - :rtype: twilio.rest.chat.v2.service.channel.ChannelPage - """ - super(ChannelPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ChannelInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v2.service.channel.ChannelInstance - :rtype: twilio.rest.chat.v2.service.channel.ChannelInstance - """ - return ChannelInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V2.ChannelPage>' - - -class ChannelContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the ChannelContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.channel.ChannelContext - :rtype: twilio.rest.chat.v2.service.channel.ChannelContext - """ - super(ChannelContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Channels/{sid}'.format(**self._solution) - - # Dependents - self._members = None - self._messages = None - self._invites = None - - def fetch(self): - """ - Fetch a ChannelInstance - - :returns: Fetched ChannelInstance - :rtype: twilio.rest.chat.v2.service.channel.ChannelInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ChannelInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the ChannelInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, friendly_name=values.unset, unique_name=values.unset, - attributes=values.unset, date_created=values.unset, - date_updated=values.unset, created_by=values.unset): - """ - Update the ChannelInstance - - :param unicode friendly_name: The friendly_name - :param unicode unique_name: The unique_name - :param unicode attributes: The attributes - :param datetime date_created: The date_created - :param datetime date_updated: The date_updated - :param unicode created_by: The created_by - - :returns: Updated ChannelInstance - :rtype: twilio.rest.chat.v2.service.channel.ChannelInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'UniqueName': unique_name, - 'Attributes': attributes, - 'DateCreated': serialize.iso8601_datetime(date_created), - 'DateUpdated': serialize.iso8601_datetime(date_updated), - 'CreatedBy': created_by, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ChannelInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - @property - def members(self): - """ - Access the members - - :returns: twilio.rest.chat.v2.service.channel.member.MemberList - :rtype: twilio.rest.chat.v2.service.channel.member.MemberList - """ - if self._members is None: - self._members = MemberList( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['sid'], - ) - return self._members - - @property - def messages(self): - """ - Access the messages - - :returns: twilio.rest.chat.v2.service.channel.message.MessageList - :rtype: twilio.rest.chat.v2.service.channel.message.MessageList - """ - if self._messages is None: - self._messages = MessageList( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['sid'], - ) - return self._messages - - @property - def invites(self): - """ - Access the invites - - :returns: twilio.rest.chat.v2.service.channel.invite.InviteList - :rtype: twilio.rest.chat.v2.service.channel.invite.InviteList - """ - if self._invites is None: - self._invites = InviteList( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['sid'], - ) - return self._invites - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V2.ChannelContext {}>'.format(context) - - -class ChannelInstance(InstanceResource): - """ """ - - class ChannelType(object): - PUBLIC = "public" - PRIVATE = "private" - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the ChannelInstance - - :returns: twilio.rest.chat.v2.service.channel.ChannelInstance - :rtype: twilio.rest.chat.v2.service.channel.ChannelInstance - """ - super(ChannelInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'friendly_name': payload['friendly_name'], - 'unique_name': payload['unique_name'], - 'attributes': payload['attributes'], - 'type': payload['type'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'created_by': payload['created_by'], - 'members_count': deserialize.integer(payload['members_count']), - 'messages_count': deserialize.integer(payload['messages_count']), - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ChannelContext for this ChannelInstance - :rtype: twilio.rest.chat.v2.service.channel.ChannelContext - """ - if self._context is None: - self._context = ChannelContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def unique_name(self): - """ - :returns: The unique_name - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def attributes(self): - """ - :returns: The attributes - :rtype: unicode - """ - return self._properties['attributes'] - - @property - def type(self): - """ - :returns: The type - :rtype: ChannelInstance.ChannelType - """ - return self._properties['type'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def created_by(self): - """ - :returns: The created_by - :rtype: unicode - """ - return self._properties['created_by'] - - @property - def members_count(self): - """ - :returns: The members_count - :rtype: unicode - """ - return self._properties['members_count'] - - @property - def messages_count(self): - """ - :returns: The messages_count - :rtype: unicode - """ - return self._properties['messages_count'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a ChannelInstance - - :returns: Fetched ChannelInstance - :rtype: twilio.rest.chat.v2.service.channel.ChannelInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the ChannelInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, friendly_name=values.unset, unique_name=values.unset, - attributes=values.unset, date_created=values.unset, - date_updated=values.unset, created_by=values.unset): - """ - Update the ChannelInstance - - :param unicode friendly_name: The friendly_name - :param unicode unique_name: The unique_name - :param unicode attributes: The attributes - :param datetime date_created: The date_created - :param datetime date_updated: The date_updated - :param unicode created_by: The created_by - - :returns: Updated ChannelInstance - :rtype: twilio.rest.chat.v2.service.channel.ChannelInstance - """ - return self._proxy.update( - friendly_name=friendly_name, - unique_name=unique_name, - attributes=attributes, - date_created=date_created, - date_updated=date_updated, - created_by=created_by, - ) - - @property - def members(self): - """ - Access the members - - :returns: twilio.rest.chat.v2.service.channel.member.MemberList - :rtype: twilio.rest.chat.v2.service.channel.member.MemberList - """ - return self._proxy.members - - @property - def messages(self): - """ - Access the messages - - :returns: twilio.rest.chat.v2.service.channel.message.MessageList - :rtype: twilio.rest.chat.v2.service.channel.message.MessageList - """ - return self._proxy.messages - - @property - def invites(self): - """ - Access the invites - - :returns: twilio.rest.chat.v2.service.channel.invite.InviteList - :rtype: twilio.rest.chat.v2.service.channel.invite.InviteList - """ - return self._proxy.invites - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V2.ChannelInstance {}>'.format(context) diff --git a/twilio/rest/ip_messaging/v2/service/channel/__pycache__/__init__.cpython-36.pyc b/twilio/rest/ip_messaging/v2/service/channel/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 69a332a08b02fad32d4657ec0cd52be634cac532..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20435 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 diff --git a/twilio/rest/ip_messaging/v2/service/channel/__pycache__/invite.cpython-36.pyc b/twilio/rest/ip_messaging/v2/service/channel/__pycache__/invite.cpython-36.pyc deleted file mode 100644 index bcf9a238be7b807dcb87ca1c6f526645b718c8b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15122 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 IY&YNkUtt>MuK)l5 diff --git a/twilio/rest/ip_messaging/v2/service/channel/__pycache__/member.cpython-36.pyc b/twilio/rest/ip_messaging/v2/service/channel/__pycache__/member.cpython-36.pyc deleted file mode 100644 index 9664a6c0ac5bc9cbcc2a9281008a77344a02bc01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17554 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 V1xa=seoD&R!k-#HSg0**{0~Kgf6)K{ diff --git a/twilio/rest/ip_messaging/v2/service/channel/__pycache__/message.cpython-36.pyc b/twilio/rest/ip_messaging/v2/service/channel/__pycache__/message.cpython-36.pyc deleted file mode 100644 index c84dc4d1bd57c3ba2de2ec38f86d19649290ea5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18558 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 D4Du-5 diff --git a/twilio/rest/ip_messaging/v2/service/channel/invite.py b/twilio/rest/ip_messaging/v2/service/channel/invite.py deleted file mode 100644 index 205135f..0000000 --- a/twilio/rest/ip_messaging/v2/service/channel/invite.py +++ /dev/null @@ -1,462 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class InviteList(ListResource): - """ """ - - def __init__(self, version, service_sid, channel_sid): - """ - Initialize the InviteList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param channel_sid: The channel_sid - - :returns: twilio.rest.chat.v2.service.channel.invite.InviteList - :rtype: twilio.rest.chat.v2.service.channel.invite.InviteList - """ - super(InviteList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'channel_sid': channel_sid, } - self._uri = '/Services/{service_sid}/Channels/{channel_sid}/Invites'.format(**self._solution) - - def create(self, identity, role_sid=values.unset): - """ - Create a new InviteInstance - - :param unicode identity: The identity - :param unicode role_sid: The role_sid - - :returns: Newly created InviteInstance - :rtype: twilio.rest.chat.v2.service.channel.invite.InviteInstance - """ - data = values.of({'Identity': identity, 'RoleSid': role_sid, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return InviteInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - ) - - def stream(self, identity=values.unset, limit=None, page_size=None): - """ - Streams InviteInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode identity: The identity - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.channel.invite.InviteInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(identity=identity, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, identity=values.unset, limit=None, page_size=None): - """ - Lists InviteInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode identity: The identity - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.channel.invite.InviteInstance] - """ - return list(self.stream(identity=identity, limit=limit, page_size=page_size, )) - - def page(self, identity=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of InviteInstance records from the API. - Request is executed immediately - - :param unicode identity: The identity - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of InviteInstance - :rtype: twilio.rest.chat.v2.service.channel.invite.InvitePage - """ - params = values.of({ - 'Identity': serialize.map(identity, lambda e: e), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return InvitePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of InviteInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of InviteInstance - :rtype: twilio.rest.chat.v2.service.channel.invite.InvitePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return InvitePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a InviteContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.channel.invite.InviteContext - :rtype: twilio.rest.chat.v2.service.channel.invite.InviteContext - """ - return InviteContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a InviteContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.channel.invite.InviteContext - :rtype: twilio.rest.chat.v2.service.channel.invite.InviteContext - """ - return InviteContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V2.InviteList>' - - -class InvitePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the InvitePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - :param channel_sid: The channel_sid - - :returns: twilio.rest.chat.v2.service.channel.invite.InvitePage - :rtype: twilio.rest.chat.v2.service.channel.invite.InvitePage - """ - super(InvitePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of InviteInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v2.service.channel.invite.InviteInstance - :rtype: twilio.rest.chat.v2.service.channel.invite.InviteInstance - """ - return InviteInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V2.InvitePage>' - - -class InviteContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, channel_sid, sid): - """ - Initialize the InviteContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param channel_sid: The channel_sid - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.channel.invite.InviteContext - :rtype: twilio.rest.chat.v2.service.channel.invite.InviteContext - """ - super(InviteContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'channel_sid': channel_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Channels/{channel_sid}/Invites/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a InviteInstance - - :returns: Fetched InviteInstance - :rtype: twilio.rest.chat.v2.service.channel.invite.InviteInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return InviteInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the InviteInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V2.InviteContext {}>'.format(context) - - -class InviteInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, service_sid, channel_sid, sid=None): - """ - Initialize the InviteInstance - - :returns: twilio.rest.chat.v2.service.channel.invite.InviteInstance - :rtype: twilio.rest.chat.v2.service.channel.invite.InviteInstance - """ - super(InviteInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'channel_sid': payload['channel_sid'], - 'service_sid': payload['service_sid'], - 'identity': payload['identity'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'role_sid': payload['role_sid'], - 'created_by': payload['created_by'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'channel_sid': channel_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: InviteContext for this InviteInstance - :rtype: twilio.rest.chat.v2.service.channel.invite.InviteContext - """ - if self._context is None: - self._context = InviteContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def channel_sid(self): - """ - :returns: The channel_sid - :rtype: unicode - """ - return self._properties['channel_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def identity(self): - """ - :returns: The identity - :rtype: unicode - """ - return self._properties['identity'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def role_sid(self): - """ - :returns: The role_sid - :rtype: unicode - """ - return self._properties['role_sid'] - - @property - def created_by(self): - """ - :returns: The created_by - :rtype: unicode - """ - return self._properties['created_by'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a InviteInstance - - :returns: Fetched InviteInstance - :rtype: twilio.rest.chat.v2.service.channel.invite.InviteInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the InviteInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V2.InviteInstance {}>'.format(context) diff --git a/twilio/rest/ip_messaging/v2/service/channel/member.py b/twilio/rest/ip_messaging/v2/service/channel/member.py deleted file mode 100644 index d79cd49..0000000 --- a/twilio/rest/ip_messaging/v2/service/channel/member.py +++ /dev/null @@ -1,547 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class MemberList(ListResource): - """ """ - - def __init__(self, version, service_sid, channel_sid): - """ - Initialize the MemberList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param channel_sid: The channel_sid - - :returns: twilio.rest.chat.v2.service.channel.member.MemberList - :rtype: twilio.rest.chat.v2.service.channel.member.MemberList - """ - super(MemberList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'channel_sid': channel_sid, } - self._uri = '/Services/{service_sid}/Channels/{channel_sid}/Members'.format(**self._solution) - - def create(self, identity, role_sid=values.unset, - last_consumed_message_index=values.unset, - last_consumption_timestamp=values.unset, date_created=values.unset, - date_updated=values.unset): - """ - Create a new MemberInstance - - :param unicode identity: The identity - :param unicode role_sid: The role_sid - :param unicode last_consumed_message_index: The last_consumed_message_index - :param datetime last_consumption_timestamp: The last_consumption_timestamp - :param datetime date_created: The date_created - :param datetime date_updated: The date_updated - - :returns: Newly created MemberInstance - :rtype: twilio.rest.chat.v2.service.channel.member.MemberInstance - """ - data = values.of({ - 'Identity': identity, - 'RoleSid': role_sid, - 'LastConsumedMessageIndex': last_consumed_message_index, - 'LastConsumptionTimestamp': serialize.iso8601_datetime(last_consumption_timestamp), - 'DateCreated': serialize.iso8601_datetime(date_created), - 'DateUpdated': serialize.iso8601_datetime(date_updated), - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return MemberInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - ) - - def stream(self, identity=values.unset, limit=None, page_size=None): - """ - Streams MemberInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode identity: The identity - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.channel.member.MemberInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(identity=identity, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, identity=values.unset, limit=None, page_size=None): - """ - Lists MemberInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode identity: The identity - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.channel.member.MemberInstance] - """ - return list(self.stream(identity=identity, limit=limit, page_size=page_size, )) - - def page(self, identity=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of MemberInstance records from the API. - Request is executed immediately - - :param unicode identity: The identity - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of MemberInstance - :rtype: twilio.rest.chat.v2.service.channel.member.MemberPage - """ - params = values.of({ - 'Identity': serialize.map(identity, lambda e: e), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return MemberPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of MemberInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of MemberInstance - :rtype: twilio.rest.chat.v2.service.channel.member.MemberPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return MemberPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a MemberContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.channel.member.MemberContext - :rtype: twilio.rest.chat.v2.service.channel.member.MemberContext - """ - return MemberContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a MemberContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.channel.member.MemberContext - :rtype: twilio.rest.chat.v2.service.channel.member.MemberContext - """ - return MemberContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V2.MemberList>' - - -class MemberPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the MemberPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - :param channel_sid: The channel_sid - - :returns: twilio.rest.chat.v2.service.channel.member.MemberPage - :rtype: twilio.rest.chat.v2.service.channel.member.MemberPage - """ - super(MemberPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of MemberInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v2.service.channel.member.MemberInstance - :rtype: twilio.rest.chat.v2.service.channel.member.MemberInstance - """ - return MemberInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V2.MemberPage>' - - -class MemberContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, channel_sid, sid): - """ - Initialize the MemberContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param channel_sid: The channel_sid - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.channel.member.MemberContext - :rtype: twilio.rest.chat.v2.service.channel.member.MemberContext - """ - super(MemberContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'channel_sid': channel_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Channels/{channel_sid}/Members/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a MemberInstance - - :returns: Fetched MemberInstance - :rtype: twilio.rest.chat.v2.service.channel.member.MemberInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return MemberInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the MemberInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, role_sid=values.unset, - last_consumed_message_index=values.unset, - last_consumption_timestamp=values.unset, date_created=values.unset, - date_updated=values.unset): - """ - Update the MemberInstance - - :param unicode role_sid: The role_sid - :param unicode last_consumed_message_index: The last_consumed_message_index - :param datetime last_consumption_timestamp: The last_consumption_timestamp - :param datetime date_created: The date_created - :param datetime date_updated: The date_updated - - :returns: Updated MemberInstance - :rtype: twilio.rest.chat.v2.service.channel.member.MemberInstance - """ - data = values.of({ - 'RoleSid': role_sid, - 'LastConsumedMessageIndex': last_consumed_message_index, - 'LastConsumptionTimestamp': serialize.iso8601_datetime(last_consumption_timestamp), - 'DateCreated': serialize.iso8601_datetime(date_created), - 'DateUpdated': serialize.iso8601_datetime(date_updated), - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return MemberInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V2.MemberContext {}>'.format(context) - - -class MemberInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, service_sid, channel_sid, sid=None): - """ - Initialize the MemberInstance - - :returns: twilio.rest.chat.v2.service.channel.member.MemberInstance - :rtype: twilio.rest.chat.v2.service.channel.member.MemberInstance - """ - super(MemberInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'channel_sid': payload['channel_sid'], - 'service_sid': payload['service_sid'], - 'identity': payload['identity'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'role_sid': payload['role_sid'], - 'last_consumed_message_index': deserialize.integer(payload['last_consumed_message_index']), - 'last_consumption_timestamp': deserialize.iso8601_datetime(payload['last_consumption_timestamp']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'channel_sid': channel_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: MemberContext for this MemberInstance - :rtype: twilio.rest.chat.v2.service.channel.member.MemberContext - """ - if self._context is None: - self._context = MemberContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def channel_sid(self): - """ - :returns: The channel_sid - :rtype: unicode - """ - return self._properties['channel_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def identity(self): - """ - :returns: The identity - :rtype: unicode - """ - return self._properties['identity'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def role_sid(self): - """ - :returns: The role_sid - :rtype: unicode - """ - return self._properties['role_sid'] - - @property - def last_consumed_message_index(self): - """ - :returns: The last_consumed_message_index - :rtype: unicode - """ - return self._properties['last_consumed_message_index'] - - @property - def last_consumption_timestamp(self): - """ - :returns: The last_consumption_timestamp - :rtype: datetime - """ - return self._properties['last_consumption_timestamp'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a MemberInstance - - :returns: Fetched MemberInstance - :rtype: twilio.rest.chat.v2.service.channel.member.MemberInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the MemberInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, role_sid=values.unset, - last_consumed_message_index=values.unset, - last_consumption_timestamp=values.unset, date_created=values.unset, - date_updated=values.unset): - """ - Update the MemberInstance - - :param unicode role_sid: The role_sid - :param unicode last_consumed_message_index: The last_consumed_message_index - :param datetime last_consumption_timestamp: The last_consumption_timestamp - :param datetime date_created: The date_created - :param datetime date_updated: The date_updated - - :returns: Updated MemberInstance - :rtype: twilio.rest.chat.v2.service.channel.member.MemberInstance - """ - return self._proxy.update( - role_sid=role_sid, - last_consumed_message_index=last_consumed_message_index, - last_consumption_timestamp=last_consumption_timestamp, - date_created=date_created, - date_updated=date_updated, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V2.MemberInstance {}>'.format(context) diff --git a/twilio/rest/ip_messaging/v2/service/channel/message.py b/twilio/rest/ip_messaging/v2/service/channel/message.py deleted file mode 100644 index 8a39633..0000000 --- a/twilio/rest/ip_messaging/v2/service/channel/message.py +++ /dev/null @@ -1,596 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class MessageList(ListResource): - """ """ - - def __init__(self, version, service_sid, channel_sid): - """ - Initialize the MessageList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param channel_sid: The channel_sid - - :returns: twilio.rest.chat.v2.service.channel.message.MessageList - :rtype: twilio.rest.chat.v2.service.channel.message.MessageList - """ - super(MessageList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'channel_sid': channel_sid, } - self._uri = '/Services/{service_sid}/Channels/{channel_sid}/Messages'.format(**self._solution) - - def create(self, from_=values.unset, attributes=values.unset, - date_created=values.unset, date_updated=values.unset, - last_updated_by=values.unset, body=values.unset, - media_sid=values.unset): - """ - Create a new MessageInstance - - :param unicode from_: The from - :param unicode attributes: The attributes - :param datetime date_created: The date_created - :param datetime date_updated: The date_updated - :param unicode last_updated_by: The last_updated_by - :param unicode body: The body - :param unicode media_sid: The media_sid - - :returns: Newly created MessageInstance - :rtype: twilio.rest.chat.v2.service.channel.message.MessageInstance - """ - data = values.of({ - 'From': from_, - 'Attributes': attributes, - 'DateCreated': serialize.iso8601_datetime(date_created), - 'DateUpdated': serialize.iso8601_datetime(date_updated), - 'LastUpdatedBy': last_updated_by, - 'Body': body, - 'MediaSid': media_sid, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return MessageInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - ) - - def stream(self, order=values.unset, limit=None, page_size=None): - """ - Streams MessageInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param MessageInstance.OrderType order: The order - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.channel.message.MessageInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(order=order, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, order=values.unset, limit=None, page_size=None): - """ - Lists MessageInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param MessageInstance.OrderType order: The order - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.channel.message.MessageInstance] - """ - return list(self.stream(order=order, limit=limit, page_size=page_size, )) - - def page(self, order=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of MessageInstance records from the API. - Request is executed immediately - - :param MessageInstance.OrderType order: The order - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of MessageInstance - :rtype: twilio.rest.chat.v2.service.channel.message.MessagePage - """ - params = values.of({ - 'Order': order, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return MessagePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of MessageInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of MessageInstance - :rtype: twilio.rest.chat.v2.service.channel.message.MessagePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return MessagePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a MessageContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.channel.message.MessageContext - :rtype: twilio.rest.chat.v2.service.channel.message.MessageContext - """ - return MessageContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a MessageContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.channel.message.MessageContext - :rtype: twilio.rest.chat.v2.service.channel.message.MessageContext - """ - return MessageContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V2.MessageList>' - - -class MessagePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the MessagePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - :param channel_sid: The channel_sid - - :returns: twilio.rest.chat.v2.service.channel.message.MessagePage - :rtype: twilio.rest.chat.v2.service.channel.message.MessagePage - """ - super(MessagePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of MessageInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v2.service.channel.message.MessageInstance - :rtype: twilio.rest.chat.v2.service.channel.message.MessageInstance - """ - return MessageInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V2.MessagePage>' - - -class MessageContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, channel_sid, sid): - """ - Initialize the MessageContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param channel_sid: The channel_sid - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.channel.message.MessageContext - :rtype: twilio.rest.chat.v2.service.channel.message.MessageContext - """ - super(MessageContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'channel_sid': channel_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Channels/{channel_sid}/Messages/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a MessageInstance - - :returns: Fetched MessageInstance - :rtype: twilio.rest.chat.v2.service.channel.message.MessageInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return MessageInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the MessageInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, body=values.unset, attributes=values.unset, - date_created=values.unset, date_updated=values.unset, - last_updated_by=values.unset): - """ - Update the MessageInstance - - :param unicode body: The body - :param unicode attributes: The attributes - :param datetime date_created: The date_created - :param datetime date_updated: The date_updated - :param unicode last_updated_by: The last_updated_by - - :returns: Updated MessageInstance - :rtype: twilio.rest.chat.v2.service.channel.message.MessageInstance - """ - data = values.of({ - 'Body': body, - 'Attributes': attributes, - 'DateCreated': serialize.iso8601_datetime(date_created), - 'DateUpdated': serialize.iso8601_datetime(date_updated), - 'LastUpdatedBy': last_updated_by, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return MessageInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V2.MessageContext {}>'.format(context) - - -class MessageInstance(InstanceResource): - """ """ - - class OrderType(object): - ASC = "asc" - DESC = "desc" - - def __init__(self, version, payload, service_sid, channel_sid, sid=None): - """ - Initialize the MessageInstance - - :returns: twilio.rest.chat.v2.service.channel.message.MessageInstance - :rtype: twilio.rest.chat.v2.service.channel.message.MessageInstance - """ - super(MessageInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'attributes': payload['attributes'], - 'service_sid': payload['service_sid'], - 'to': payload['to'], - 'channel_sid': payload['channel_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'last_updated_by': payload['last_updated_by'], - 'was_edited': payload['was_edited'], - 'from_': payload['from'], - 'body': payload['body'], - 'index': deserialize.integer(payload['index']), - 'type': payload['type'], - 'media': payload['media'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'channel_sid': channel_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: MessageContext for this MessageInstance - :rtype: twilio.rest.chat.v2.service.channel.message.MessageContext - """ - if self._context is None: - self._context = MessageContext( - self._version, - service_sid=self._solution['service_sid'], - channel_sid=self._solution['channel_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def attributes(self): - """ - :returns: The attributes - :rtype: unicode - """ - return self._properties['attributes'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def to(self): - """ - :returns: The to - :rtype: unicode - """ - return self._properties['to'] - - @property - def channel_sid(self): - """ - :returns: The channel_sid - :rtype: unicode - """ - return self._properties['channel_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def last_updated_by(self): - """ - :returns: The last_updated_by - :rtype: unicode - """ - return self._properties['last_updated_by'] - - @property - def was_edited(self): - """ - :returns: The was_edited - :rtype: bool - """ - return self._properties['was_edited'] - - @property - def from_(self): - """ - :returns: The from - :rtype: unicode - """ - return self._properties['from_'] - - @property - def body(self): - """ - :returns: The body - :rtype: unicode - """ - return self._properties['body'] - - @property - def index(self): - """ - :returns: The index - :rtype: unicode - """ - return self._properties['index'] - - @property - def type(self): - """ - :returns: The type - :rtype: unicode - """ - return self._properties['type'] - - @property - def media(self): - """ - :returns: The media - :rtype: dict - """ - return self._properties['media'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a MessageInstance - - :returns: Fetched MessageInstance - :rtype: twilio.rest.chat.v2.service.channel.message.MessageInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the MessageInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, body=values.unset, attributes=values.unset, - date_created=values.unset, date_updated=values.unset, - last_updated_by=values.unset): - """ - Update the MessageInstance - - :param unicode body: The body - :param unicode attributes: The attributes - :param datetime date_created: The date_created - :param datetime date_updated: The date_updated - :param unicode last_updated_by: The last_updated_by - - :returns: Updated MessageInstance - :rtype: twilio.rest.chat.v2.service.channel.message.MessageInstance - """ - return self._proxy.update( - body=body, - attributes=attributes, - date_created=date_created, - date_updated=date_updated, - last_updated_by=last_updated_by, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V2.MessageInstance {}>'.format(context) diff --git a/twilio/rest/ip_messaging/v2/service/role.py b/twilio/rest/ip_messaging/v2/service/role.py deleted file mode 100644 index d4145d3..0000000 --- a/twilio/rest/ip_messaging/v2/service/role.py +++ /dev/null @@ -1,460 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class RoleList(ListResource): - """ """ - - def __init__(self, version, service_sid): - """ - Initialize the RoleList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v2.service.role.RoleList - :rtype: twilio.rest.chat.v2.service.role.RoleList - """ - super(RoleList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Roles'.format(**self._solution) - - def create(self, friendly_name, type, permission): - """ - Create a new RoleInstance - - :param unicode friendly_name: The friendly_name - :param RoleInstance.RoleType type: The type - :param unicode permission: The permission - - :returns: Newly created RoleInstance - :rtype: twilio.rest.chat.v2.service.role.RoleInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'Type': type, - 'Permission': serialize.map(permission, lambda e: e), - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return RoleInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, limit=None, page_size=None): - """ - Streams RoleInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.role.RoleInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists RoleInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.role.RoleInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of RoleInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of RoleInstance - :rtype: twilio.rest.chat.v2.service.role.RolePage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return RolePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of RoleInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of RoleInstance - :rtype: twilio.rest.chat.v2.service.role.RolePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return RolePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a RoleContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.role.RoleContext - :rtype: twilio.rest.chat.v2.service.role.RoleContext - """ - return RoleContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a RoleContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.role.RoleContext - :rtype: twilio.rest.chat.v2.service.role.RoleContext - """ - return RoleContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V2.RoleList>' - - -class RolePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the RolePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v2.service.role.RolePage - :rtype: twilio.rest.chat.v2.service.role.RolePage - """ - super(RolePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of RoleInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v2.service.role.RoleInstance - :rtype: twilio.rest.chat.v2.service.role.RoleInstance - """ - return RoleInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V2.RolePage>' - - -class RoleContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the RoleContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.role.RoleContext - :rtype: twilio.rest.chat.v2.service.role.RoleContext - """ - super(RoleContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Roles/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a RoleInstance - - :returns: Fetched RoleInstance - :rtype: twilio.rest.chat.v2.service.role.RoleInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return RoleInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the RoleInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, permission): - """ - Update the RoleInstance - - :param unicode permission: The permission - - :returns: Updated RoleInstance - :rtype: twilio.rest.chat.v2.service.role.RoleInstance - """ - data = values.of({'Permission': serialize.map(permission, lambda e: e), }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return RoleInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V2.RoleContext {}>'.format(context) - - -class RoleInstance(InstanceResource): - """ """ - - class RoleType(object): - CHANNEL = "channel" - DEPLOYMENT = "deployment" - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the RoleInstance - - :returns: twilio.rest.chat.v2.service.role.RoleInstance - :rtype: twilio.rest.chat.v2.service.role.RoleInstance - """ - super(RoleInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'friendly_name': payload['friendly_name'], - 'type': payload['type'], - 'permissions': payload['permissions'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: RoleContext for this RoleInstance - :rtype: twilio.rest.chat.v2.service.role.RoleContext - """ - if self._context is None: - self._context = RoleContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def type(self): - """ - :returns: The type - :rtype: RoleInstance.RoleType - """ - return self._properties['type'] - - @property - def permissions(self): - """ - :returns: The permissions - :rtype: unicode - """ - return self._properties['permissions'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a RoleInstance - - :returns: Fetched RoleInstance - :rtype: twilio.rest.chat.v2.service.role.RoleInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the RoleInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, permission): - """ - Update the RoleInstance - - :param unicode permission: The permission - - :returns: Updated RoleInstance - :rtype: twilio.rest.chat.v2.service.role.RoleInstance - """ - return self._proxy.update(permission, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V2.RoleInstance {}>'.format(context) diff --git a/twilio/rest/ip_messaging/v2/service/user/__init__.py b/twilio/rest/ip_messaging/v2/service/user/__init__.py deleted file mode 100644 index bd5acc2..0000000 --- a/twilio/rest/ip_messaging/v2/service/user/__init__.py +++ /dev/null @@ -1,567 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.ip_messaging.v2.service.user.user_binding import UserBindingList -from twilio.rest.ip_messaging.v2.service.user.user_channel import UserChannelList - - -class UserList(ListResource): - """ """ - - def __init__(self, version, service_sid): - """ - Initialize the UserList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v2.service.user.UserList - :rtype: twilio.rest.chat.v2.service.user.UserList - """ - super(UserList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Users'.format(**self._solution) - - def create(self, identity, role_sid=values.unset, attributes=values.unset, - friendly_name=values.unset): - """ - Create a new UserInstance - - :param unicode identity: The identity - :param unicode role_sid: The role_sid - :param unicode attributes: The attributes - :param unicode friendly_name: The friendly_name - - :returns: Newly created UserInstance - :rtype: twilio.rest.chat.v2.service.user.UserInstance - """ - data = values.of({ - 'Identity': identity, - 'RoleSid': role_sid, - 'Attributes': attributes, - 'FriendlyName': friendly_name, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return UserInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, limit=None, page_size=None): - """ - Streams UserInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.user.UserInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists UserInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.user.UserInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of UserInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of UserInstance - :rtype: twilio.rest.chat.v2.service.user.UserPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return UserPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of UserInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of UserInstance - :rtype: twilio.rest.chat.v2.service.user.UserPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return UserPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a UserContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.user.UserContext - :rtype: twilio.rest.chat.v2.service.user.UserContext - """ - return UserContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a UserContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.user.UserContext - :rtype: twilio.rest.chat.v2.service.user.UserContext - """ - return UserContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V2.UserList>' - - -class UserPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the UserPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.chat.v2.service.user.UserPage - :rtype: twilio.rest.chat.v2.service.user.UserPage - """ - super(UserPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of UserInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v2.service.user.UserInstance - :rtype: twilio.rest.chat.v2.service.user.UserInstance - """ - return UserInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V2.UserPage>' - - -class UserContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the UserContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.user.UserContext - :rtype: twilio.rest.chat.v2.service.user.UserContext - """ - super(UserContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Users/{sid}'.format(**self._solution) - - # Dependents - self._user_channels = None - self._user_bindings = None - - def fetch(self): - """ - Fetch a UserInstance - - :returns: Fetched UserInstance - :rtype: twilio.rest.chat.v2.service.user.UserInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return UserInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the UserInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, role_sid=values.unset, attributes=values.unset, - friendly_name=values.unset): - """ - Update the UserInstance - - :param unicode role_sid: The role_sid - :param unicode attributes: The attributes - :param unicode friendly_name: The friendly_name - - :returns: Updated UserInstance - :rtype: twilio.rest.chat.v2.service.user.UserInstance - """ - data = values.of({'RoleSid': role_sid, 'Attributes': attributes, 'FriendlyName': friendly_name, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return UserInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - @property - def user_channels(self): - """ - Access the user_channels - - :returns: twilio.rest.chat.v2.service.user.user_channel.UserChannelList - :rtype: twilio.rest.chat.v2.service.user.user_channel.UserChannelList - """ - if self._user_channels is None: - self._user_channels = UserChannelList( - self._version, - service_sid=self._solution['service_sid'], - user_sid=self._solution['sid'], - ) - return self._user_channels - - @property - def user_bindings(self): - """ - Access the user_bindings - - :returns: twilio.rest.chat.v2.service.user.user_binding.UserBindingList - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingList - """ - if self._user_bindings is None: - self._user_bindings = UserBindingList( - self._version, - service_sid=self._solution['service_sid'], - user_sid=self._solution['sid'], - ) - return self._user_bindings - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V2.UserContext {}>'.format(context) - - -class UserInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the UserInstance - - :returns: twilio.rest.chat.v2.service.user.UserInstance - :rtype: twilio.rest.chat.v2.service.user.UserInstance - """ - super(UserInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'attributes': payload['attributes'], - 'friendly_name': payload['friendly_name'], - 'role_sid': payload['role_sid'], - 'identity': payload['identity'], - 'is_online': payload['is_online'], - 'is_notifiable': payload['is_notifiable'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'joined_channels_count': deserialize.integer(payload['joined_channels_count']), - 'links': payload['links'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: UserContext for this UserInstance - :rtype: twilio.rest.chat.v2.service.user.UserContext - """ - if self._context is None: - self._context = UserContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def attributes(self): - """ - :returns: The attributes - :rtype: unicode - """ - return self._properties['attributes'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def role_sid(self): - """ - :returns: The role_sid - :rtype: unicode - """ - return self._properties['role_sid'] - - @property - def identity(self): - """ - :returns: The identity - :rtype: unicode - """ - return self._properties['identity'] - - @property - def is_online(self): - """ - :returns: The is_online - :rtype: bool - """ - return self._properties['is_online'] - - @property - def is_notifiable(self): - """ - :returns: The is_notifiable - :rtype: bool - """ - return self._properties['is_notifiable'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def joined_channels_count(self): - """ - :returns: The joined_channels_count - :rtype: unicode - """ - return self._properties['joined_channels_count'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a UserInstance - - :returns: Fetched UserInstance - :rtype: twilio.rest.chat.v2.service.user.UserInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the UserInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, role_sid=values.unset, attributes=values.unset, - friendly_name=values.unset): - """ - Update the UserInstance - - :param unicode role_sid: The role_sid - :param unicode attributes: The attributes - :param unicode friendly_name: The friendly_name - - :returns: Updated UserInstance - :rtype: twilio.rest.chat.v2.service.user.UserInstance - """ - return self._proxy.update(role_sid=role_sid, attributes=attributes, friendly_name=friendly_name, ) - - @property - def user_channels(self): - """ - Access the user_channels - - :returns: twilio.rest.chat.v2.service.user.user_channel.UserChannelList - :rtype: twilio.rest.chat.v2.service.user.user_channel.UserChannelList - """ - return self._proxy.user_channels - - @property - def user_bindings(self): - """ - Access the user_bindings - - :returns: twilio.rest.chat.v2.service.user.user_binding.UserBindingList - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingList - """ - return self._proxy.user_bindings - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V2.UserInstance {}>'.format(context) diff --git a/twilio/rest/ip_messaging/v2/service/user/__pycache__/__init__.cpython-36.pyc b/twilio/rest/ip_messaging/v2/service/user/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 8244cac67d73ca485f9a995dca5d9a040083a6b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17990 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 diff --git a/twilio/rest/ip_messaging/v2/service/user/__pycache__/user_binding.cpython-36.pyc b/twilio/rest/ip_messaging/v2/service/user/__pycache__/user_binding.cpython-36.pyc deleted file mode 100644 index 9c747c1298f65723a3c0ed9bc21e94375c94771f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15822 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 S!-0@AHRpb!9iMB=UHWgJ)YMM^ diff --git a/twilio/rest/ip_messaging/v2/service/user/__pycache__/user_channel.cpython-36.pyc b/twilio/rest/ip_messaging/v2/service/user/__pycache__/user_channel.cpython-36.pyc deleted file mode 100644 index 45ec0acd3321cdd029aa649d1d1cb837468522b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10066 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 diff --git a/twilio/rest/ip_messaging/v2/service/user/user_binding.py b/twilio/rest/ip_messaging/v2/service/user/user_binding.py deleted file mode 100644 index cfa607f..0000000 --- a/twilio/rest/ip_messaging/v2/service/user/user_binding.py +++ /dev/null @@ -1,460 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class UserBindingList(ListResource): - """ """ - - def __init__(self, version, service_sid, user_sid): - """ - Initialize the UserBindingList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param user_sid: The user_sid - - :returns: twilio.rest.chat.v2.service.user.user_binding.UserBindingList - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingList - """ - super(UserBindingList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'user_sid': user_sid, } - self._uri = '/Services/{service_sid}/Users/{user_sid}/Bindings'.format(**self._solution) - - def stream(self, binding_type=values.unset, limit=None, page_size=None): - """ - Streams UserBindingInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param UserBindingInstance.BindingType binding_type: The binding_type - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.user.user_binding.UserBindingInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(binding_type=binding_type, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, binding_type=values.unset, limit=None, page_size=None): - """ - Lists UserBindingInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param UserBindingInstance.BindingType binding_type: The binding_type - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.user.user_binding.UserBindingInstance] - """ - return list(self.stream(binding_type=binding_type, limit=limit, page_size=page_size, )) - - def page(self, binding_type=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of UserBindingInstance records from the API. - Request is executed immediately - - :param UserBindingInstance.BindingType binding_type: The binding_type - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of UserBindingInstance - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingPage - """ - params = values.of({ - 'BindingType': serialize.map(binding_type, lambda e: e), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return UserBindingPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of UserBindingInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of UserBindingInstance - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return UserBindingPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a UserBindingContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.user.user_binding.UserBindingContext - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingContext - """ - return UserBindingContext( - self._version, - service_sid=self._solution['service_sid'], - user_sid=self._solution['user_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a UserBindingContext - - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.user.user_binding.UserBindingContext - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingContext - """ - return UserBindingContext( - self._version, - service_sid=self._solution['service_sid'], - user_sid=self._solution['user_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V2.UserBindingList>' - - -class UserBindingPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the UserBindingPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - :param user_sid: The user_sid - - :returns: twilio.rest.chat.v2.service.user.user_binding.UserBindingPage - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingPage - """ - super(UserBindingPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of UserBindingInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v2.service.user.user_binding.UserBindingInstance - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingInstance - """ - return UserBindingInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - user_sid=self._solution['user_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V2.UserBindingPage>' - - -class UserBindingContext(InstanceContext): - """ """ - - def __init__(self, version, service_sid, user_sid, sid): - """ - Initialize the UserBindingContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param user_sid: The user_sid - :param sid: The sid - - :returns: twilio.rest.chat.v2.service.user.user_binding.UserBindingContext - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingContext - """ - super(UserBindingContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'user_sid': user_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Users/{user_sid}/Bindings/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a UserBindingInstance - - :returns: Fetched UserBindingInstance - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return UserBindingInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - user_sid=self._solution['user_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the UserBindingInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V2.UserBindingContext {}>'.format(context) - - -class UserBindingInstance(InstanceResource): - """ """ - - class BindingType(object): - GCM = "gcm" - APN = "apn" - FCM = "fcm" - - def __init__(self, version, payload, service_sid, user_sid, sid=None): - """ - Initialize the UserBindingInstance - - :returns: twilio.rest.chat.v2.service.user.user_binding.UserBindingInstance - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingInstance - """ - super(UserBindingInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'endpoint': payload['endpoint'], - 'identity': payload['identity'], - 'user_sid': payload['user_sid'], - 'credential_sid': payload['credential_sid'], - 'binding_type': payload['binding_type'], - 'message_types': payload['message_types'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'user_sid': user_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: UserBindingContext for this UserBindingInstance - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingContext - """ - if self._context is None: - self._context = UserBindingContext( - self._version, - service_sid=self._solution['service_sid'], - user_sid=self._solution['user_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def endpoint(self): - """ - :returns: The endpoint - :rtype: unicode - """ - return self._properties['endpoint'] - - @property - def identity(self): - """ - :returns: The identity - :rtype: unicode - """ - return self._properties['identity'] - - @property - def user_sid(self): - """ - :returns: The user_sid - :rtype: unicode - """ - return self._properties['user_sid'] - - @property - def credential_sid(self): - """ - :returns: The credential_sid - :rtype: unicode - """ - return self._properties['credential_sid'] - - @property - def binding_type(self): - """ - :returns: The binding_type - :rtype: UserBindingInstance.BindingType - """ - return self._properties['binding_type'] - - @property - def message_types(self): - """ - :returns: The message_types - :rtype: unicode - """ - return self._properties['message_types'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a UserBindingInstance - - :returns: Fetched UserBindingInstance - :rtype: twilio.rest.chat.v2.service.user.user_binding.UserBindingInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the UserBindingInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.IpMessaging.V2.UserBindingInstance {}>'.format(context) diff --git a/twilio/rest/ip_messaging/v2/service/user/user_channel.py b/twilio/rest/ip_messaging/v2/service/user/user_channel.py deleted file mode 100644 index a17aa43..0000000 --- a/twilio/rest/ip_messaging/v2/service/user/user_channel.py +++ /dev/null @@ -1,277 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class UserChannelList(ListResource): - """ """ - - def __init__(self, version, service_sid, user_sid): - """ - Initialize the UserChannelList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param user_sid: The sid - - :returns: twilio.rest.chat.v2.service.user.user_channel.UserChannelList - :rtype: twilio.rest.chat.v2.service.user.user_channel.UserChannelList - """ - super(UserChannelList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'user_sid': user_sid, } - self._uri = '/Services/{service_sid}/Users/{user_sid}/Channels'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams UserChannelInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.user.user_channel.UserChannelInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists UserChannelInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.chat.v2.service.user.user_channel.UserChannelInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of UserChannelInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of UserChannelInstance - :rtype: twilio.rest.chat.v2.service.user.user_channel.UserChannelPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return UserChannelPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of UserChannelInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of UserChannelInstance - :rtype: twilio.rest.chat.v2.service.user.user_channel.UserChannelPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return UserChannelPage(self._version, response, self._solution) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V2.UserChannelList>' - - -class UserChannelPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the UserChannelPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - :param user_sid: The sid - - :returns: twilio.rest.chat.v2.service.user.user_channel.UserChannelPage - :rtype: twilio.rest.chat.v2.service.user.user_channel.UserChannelPage - """ - super(UserChannelPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of UserChannelInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.chat.v2.service.user.user_channel.UserChannelInstance - :rtype: twilio.rest.chat.v2.service.user.user_channel.UserChannelInstance - """ - return UserChannelInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - user_sid=self._solution['user_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V2.UserChannelPage>' - - -class UserChannelInstance(InstanceResource): - """ """ - - class ChannelStatus(object): - JOINED = "joined" - INVITED = "invited" - NOT_PARTICIPATING = "not_participating" - - def __init__(self, version, payload, service_sid, user_sid): - """ - Initialize the UserChannelInstance - - :returns: twilio.rest.chat.v2.service.user.user_channel.UserChannelInstance - :rtype: twilio.rest.chat.v2.service.user.user_channel.UserChannelInstance - """ - super(UserChannelInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'channel_sid': payload['channel_sid'], - 'member_sid': payload['member_sid'], - 'status': payload['status'], - 'last_consumed_message_index': deserialize.integer(payload['last_consumed_message_index']), - 'unread_messages_count': deserialize.integer(payload['unread_messages_count']), - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'user_sid': user_sid, } - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def channel_sid(self): - """ - :returns: The channel_sid - :rtype: unicode - """ - return self._properties['channel_sid'] - - @property - def member_sid(self): - """ - :returns: The member_sid - :rtype: unicode - """ - return self._properties['member_sid'] - - @property - def status(self): - """ - :returns: The status - :rtype: UserChannelInstance.ChannelStatus - """ - return self._properties['status'] - - @property - def last_consumed_message_index(self): - """ - :returns: The last_consumed_message_index - :rtype: unicode - """ - return self._properties['last_consumed_message_index'] - - @property - def unread_messages_count(self): - """ - :returns: The unread_messages_count - :rtype: unicode - """ - return self._properties['unread_messages_count'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.IpMessaging.V2.UserChannelInstance>' diff --git a/twilio/rest/lookups/__init__.py b/twilio/rest/lookups/__init__.py deleted file mode 100644 index c0cf6e3..0000000 --- a/twilio/rest/lookups/__init__.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.domain import Domain -from twilio.rest.lookups.v1 import V1 - - -class Lookups(Domain): - - def __init__(self, twilio): - """ - Initialize the Lookups Domain - - :returns: Domain for Lookups - :rtype: twilio.rest.lookups.Lookups - """ - super(Lookups, self).__init__(twilio) - - self.base_url = 'https://lookups.twilio.com' - - # Versions - self._v1 = None - - @property - def v1(self): - """ - :returns: Version v1 of lookups - :rtype: twilio.rest.lookups.v1.V1 - """ - if self._v1 is None: - self._v1 = V1(self) - return self._v1 - - @property - def phone_numbers(self): - """ - :rtype: twilio.rest.lookups.v1.phone_number.PhoneNumberList - """ - return self.v1.phone_numbers - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Lookups>' diff --git a/twilio/rest/lookups/__pycache__/__init__.cpython-36.pyc b/twilio/rest/lookups/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 2bbdd01b3e7f96ace8b070580834350b1ff08322..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1626 zcmaJ>PjA~c6elU!QZ%~@hHZxe19)3}s2rm=BPcesKrtW<IxNdU6F?{;Ju8((jg%c& z(4|O#evF;>S$5f3*PZqicG{!<)dA8GAo(OdzW4jRKYTu&dVl`)dmwFu{zeA_zR`Cu z^(ibI1&Cu#QoJDn!A7=HYhwpCMz0aK`RE?;ksx<gFyiB%(99_#?{b}J8cQzdZKUb1 zA`>bq1gF<~FQjwIC=6Iw)$Jaw=n0#Jb68GT70xSKoy<XFxA0H>Q_tvAxY&-l_YVL= zGhB~f$xW1GAd#y@Y<~8`>I8iTf<OTV9^?aBVZ-I#4J=`Ei`)0;4hJKU0ed5lxx?Li z6gVG{jRF_=9M#Ubl<&5=j!9?K?8bqan!-|`0$1pc+>i?2VH2bZF^dyeZBD?5Rle^? zQ2Ilb6iJjOrJ%)H(9Sq*sd$6hQi)=#GQI3h=t`<y`9P`I=VD2V+ayh-uY@lAv_<Q8 zh6mm9>AEO#y`0Z`jqX+~Hy5)}J<{7;C}px=yNo3Old;;pj<jG~mDU#9EoP*)wMbXN zxV;OJKVmFSBdr<x1N|GmT!ueup>+6T609Q`exK*Bq9O{<WgMm9rP$<Qp5)K2w@J#M zJ=dvR?e%Tg8tXU1BJ41RJrF<Nt1&?P9Huq`a*oN^Dvvvwey<o~a|pxiCQ~nA>Zh<& z=ms+L&Q)JF*)ln5{y~07`O6TekAc4eB8kkP3aMPt4$*<$r(+Lwd$kxeFJ?r!06>|7 znPGKg<j;m>0#Z$Oi*I0Wsf|7C;nM4=?G_J68Db47W7Ckj!9W3*Zw7};^}o>awaf&| zwwr6A{I}-gqLI%NT?{q=^V9&F9%}2y(W@t*`7KP{w8*IZs)zpI^5ZN_!EwWYl;z<4 zt&+P0-j9f`R3b8-?x_+vREEfksDPwA)+leHc%5Y8lUKU;gZAOkg&G`|$7h#q6LrvE zG#PrFujvm1hcSO3?Hrb3dkAj_C}z<{KqGmKZ6x2OMxHSC+crwulcua|H&+tcuh=(H zZvv`Jt=H48zhaT5;B_b)K<2@@GS$;Gt;v=)CE=3ElZiKRn!gvbaqTe1Wz1OcMc47B tr+wbMoyue^__{lI@PO<VO~E#1KKgB?re@u<meC8xxHe5`lL?+!{{i>Jlz9LE diff --git a/twilio/rest/lookups/v1/__init__.py b/twilio/rest/lookups/v1/__init__.py deleted file mode 100644 index 7ea2239..0000000 --- a/twilio/rest/lookups/v1/__init__.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.lookups.v1.phone_number import PhoneNumberList - - -class V1(Version): - - def __init__(self, domain): - """ - Initialize the V1 version of Lookups - - :returns: V1 version of Lookups - :rtype: twilio.rest.lookups.v1.V1.V1 - """ - super(V1, self).__init__(domain) - self.version = 'v1' - self._phone_numbers = None - - @property - def phone_numbers(self): - """ - :rtype: twilio.rest.lookups.v1.phone_number.PhoneNumberList - """ - if self._phone_numbers is None: - self._phone_numbers = PhoneNumberList(self) - return self._phone_numbers - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Lookups.V1>' diff --git a/twilio/rest/lookups/v1/__pycache__/__init__.cpython-36.pyc b/twilio/rest/lookups/v1/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index c651823a44ffb62926e0cfbbd8ca6b2233148b2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1428 zcmah|&u`N(6t<o8$FdfX;Ka$&F3W*-6}M`dKp-Kctr}wV5Jj@G*rkCq33l44Rc@WM z3;zRW{uVBrbLE8i4><Acq-C3!u<GY0_vQKf-uvFuZrAzt{fqa@Lg)v&wrud9!Bz)g zIPwt3oWyuWJc6}v#n#OBY>ZwZZu7<^;tfI8me=6Tx5#a+0_SWRDH^6+(2GFP_aYH8 z$OWh8OUI{u$|x)_tf)_i7IdGvejm&}EBt;zi~T-CEC#)U-hrdzDSTM1zVj1+As3ge zv5+cC6L9aJPSZq;=CgAlk0X_bI%Knep;?BJKpqBG<O)r&W_H>3EMaqt+m~pKfd%lm zL|*d>*~n{YMkN^!LQ?0@r_QIhqF{2A;{vV82U6fQ))gucvp4~3a{}L6tIst9N?#{Y z9tCl<5;UI*Iv&tPMS-RhdYq;o=b3W0(L*WnxlGjXj=;JgbSU#>CWbV>h~g;iNulyy zTqWy43CH@kP3n=wVB|K+hMH$WO5N?U%~%A;7%N*fp7I{cbVXTWN~&B^+DgQevdPm~ z5b2WdFc!vvQjC2?zuAkS|4soH|4rmggVcYXWiNv~@Q>3li2XA$%ls_Lo}AC4m_K={ z;&if97k-6!b7<gx4cuQ0{0*vJwv<i4c^|gY4r)EXO}yF#W}BE0>w8%G)J=K;TRjF- zpbyZLk8SzLG)lL}+(B!|>SSA&{}l0hHF~$iw#_keiEP7@Qmezoa!31}t?7bScCTkL z04quj2RnH604UuExWP+vGrV-yI5rGc+t*KJx`<%t0y>eANO-)YQe;q6k>o)RbMh}` zodn@DO2nO?+}4=N<@UkV!^5*ma<z0pXGezb9o#`@8WCfAfM1!BYSmq=?%lT5ViL>* zXwhM8mhyS5{SITF=0RNjW5iIlGns;d^QF88*`yXn*{wAhia3V1wxtI=yE;gBz(`&@ zrtWRh+3oC@yOG;0Ta58EWXyY557T*|M6VtSsS$g7cZ}KfwiyAKq<=9~p3y-2up)NU L+Q6_$2Y0MLCOm5< diff --git a/twilio/rest/lookups/v1/__pycache__/phone_number.cpython-36.pyc b/twilio/rest/lookups/v1/__pycache__/phone_number.cpython-36.pyc deleted file mode 100644 index 69282e5d59569d21bcbb206010868644afa97d8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10211 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 B?OXr= diff --git a/twilio/rest/lookups/v1/phone_number.py b/twilio/rest/lookups/v1/phone_number.py deleted file mode 100644 index 3a8047c..0000000 --- a/twilio/rest/lookups/v1/phone_number.py +++ /dev/null @@ -1,301 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class PhoneNumberList(ListResource): - """ """ - - def __init__(self, version): - """ - Initialize the PhoneNumberList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.lookups.v1.phone_number.PhoneNumberList - :rtype: twilio.rest.lookups.v1.phone_number.PhoneNumberList - """ - super(PhoneNumberList, self).__init__(version) - - # Path Solution - self._solution = {} - - def get(self, phone_number): - """ - Constructs a PhoneNumberContext - - :param phone_number: The phone_number - - :returns: twilio.rest.lookups.v1.phone_number.PhoneNumberContext - :rtype: twilio.rest.lookups.v1.phone_number.PhoneNumberContext - """ - return PhoneNumberContext(self._version, phone_number=phone_number, ) - - def __call__(self, phone_number): - """ - Constructs a PhoneNumberContext - - :param phone_number: The phone_number - - :returns: twilio.rest.lookups.v1.phone_number.PhoneNumberContext - :rtype: twilio.rest.lookups.v1.phone_number.PhoneNumberContext - """ - return PhoneNumberContext(self._version, phone_number=phone_number, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Lookups.V1.PhoneNumberList>' - - -class PhoneNumberPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the PhoneNumberPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.lookups.v1.phone_number.PhoneNumberPage - :rtype: twilio.rest.lookups.v1.phone_number.PhoneNumberPage - """ - super(PhoneNumberPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of PhoneNumberInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.lookups.v1.phone_number.PhoneNumberInstance - :rtype: twilio.rest.lookups.v1.phone_number.PhoneNumberInstance - """ - return PhoneNumberInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Lookups.V1.PhoneNumberPage>' - - -class PhoneNumberContext(InstanceContext): - """ """ - - def __init__(self, version, phone_number): - """ - Initialize the PhoneNumberContext - - :param Version version: Version that contains the resource - :param phone_number: The phone_number - - :returns: twilio.rest.lookups.v1.phone_number.PhoneNumberContext - :rtype: twilio.rest.lookups.v1.phone_number.PhoneNumberContext - """ - super(PhoneNumberContext, self).__init__(version) - - # Path Solution - self._solution = {'phone_number': phone_number, } - self._uri = '/PhoneNumbers/{phone_number}'.format(**self._solution) - - def fetch(self, country_code=values.unset, type=values.unset, - add_ons=values.unset, add_ons_data=values.unset): - """ - Fetch a PhoneNumberInstance - - :param unicode country_code: The country_code - :param unicode type: The type - :param unicode add_ons: The add_ons - :param dict add_ons_data: The add_ons_data - - :returns: Fetched PhoneNumberInstance - :rtype: twilio.rest.lookups.v1.phone_number.PhoneNumberInstance - """ - params = values.of({ - 'CountryCode': country_code, - 'Type': serialize.map(type, lambda e: e), - 'AddOns': serialize.map(add_ons, lambda e: e), - }) - - params.update(serialize.prefixed_collapsible_map(add_ons_data, 'AddOns')) - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return PhoneNumberInstance(self._version, payload, phone_number=self._solution['phone_number'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Lookups.V1.PhoneNumberContext {}>'.format(context) - - -class PhoneNumberInstance(InstanceResource): - """ """ - - class Type(object): - LANDLINE = "landline" - MOBILE = "mobile" - VOIP = "voip" - - def __init__(self, version, payload, phone_number=None): - """ - Initialize the PhoneNumberInstance - - :returns: twilio.rest.lookups.v1.phone_number.PhoneNumberInstance - :rtype: twilio.rest.lookups.v1.phone_number.PhoneNumberInstance - """ - super(PhoneNumberInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'caller_name': payload['caller_name'], - 'country_code': payload['country_code'], - 'phone_number': payload['phone_number'], - 'national_format': payload['national_format'], - 'carrier': payload['carrier'], - 'fraud': payload['fraud'], - 'add_ons': payload['add_ons'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'phone_number': phone_number or self._properties['phone_number'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: PhoneNumberContext for this PhoneNumberInstance - :rtype: twilio.rest.lookups.v1.phone_number.PhoneNumberContext - """ - if self._context is None: - self._context = PhoneNumberContext(self._version, phone_number=self._solution['phone_number'], ) - return self._context - - @property - def caller_name(self): - """ - :returns: The caller_name - :rtype: unicode - """ - return self._properties['caller_name'] - - @property - def country_code(self): - """ - :returns: The country_code - :rtype: unicode - """ - return self._properties['country_code'] - - @property - def phone_number(self): - """ - :returns: The phone_number - :rtype: unicode - """ - return self._properties['phone_number'] - - @property - def national_format(self): - """ - :returns: The national_format - :rtype: unicode - """ - return self._properties['national_format'] - - @property - def carrier(self): - """ - :returns: The carrier - :rtype: unicode - """ - return self._properties['carrier'] - - @property - def fraud(self): - """ - :returns: The fraud - :rtype: unicode - """ - return self._properties['fraud'] - - @property - def add_ons(self): - """ - :returns: The add_ons - :rtype: dict - """ - return self._properties['add_ons'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self, country_code=values.unset, type=values.unset, - add_ons=values.unset, add_ons_data=values.unset): - """ - Fetch a PhoneNumberInstance - - :param unicode country_code: The country_code - :param unicode type: The type - :param unicode add_ons: The add_ons - :param dict add_ons_data: The add_ons_data - - :returns: Fetched PhoneNumberInstance - :rtype: twilio.rest.lookups.v1.phone_number.PhoneNumberInstance - """ - return self._proxy.fetch( - country_code=country_code, - type=type, - add_ons=add_ons, - add_ons_data=add_ons_data, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Lookups.V1.PhoneNumberInstance {}>'.format(context) diff --git a/twilio/rest/messaging/__init__.py b/twilio/rest/messaging/__init__.py deleted file mode 100644 index aa5f3db..0000000 --- a/twilio/rest/messaging/__init__.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.domain import Domain -from twilio.rest.messaging.v1 import V1 - - -class Messaging(Domain): - - def __init__(self, twilio): - """ - Initialize the Messaging Domain - - :returns: Domain for Messaging - :rtype: twilio.rest.messaging.Messaging - """ - super(Messaging, self).__init__(twilio) - - self.base_url = 'https://messaging.twilio.com' - - # Versions - self._v1 = None - - @property - def v1(self): - """ - :returns: Version v1 of messaging - :rtype: twilio.rest.messaging.v1.V1 - """ - if self._v1 is None: - self._v1 = V1(self) - return self._v1 - - @property - def services(self): - """ - :rtype: twilio.rest.messaging.v1.service.ServiceList - """ - return self.v1.services - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Messaging>' diff --git a/twilio/rest/messaging/__pycache__/__init__.cpython-36.pyc b/twilio/rest/messaging/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index f7e1286c8fd7ac9e485c51a90b617f05c2180278..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1639 zcmah}L674!6t<nT&4kW^MjQ|V$v38lO{dyhHCpXzS0JR_5om`wL=jddcBdZFB-n08 zjdGijR{RRi{1z^pbLGTe;KXy1rUeaP$@WY9{QQ0X-t)8LWB=FReh!U`(C_G=!8dvV zU7x|gQHVI^B*iNd5^QZJbyjZZV)PZ_E+0G~J`m*I2?u=m4oya7>|ZXWrb*5Py^A%y z5t&f25u9Fc{fJH}qtIYrRX6*zqNi*UO<_1?RWz+=bvgx)%`7+z&V1`nVPo5-{vQAg zO>jMYov&h<fkm!niT$~2PG{(IFa!!Q@F4He0$VN*Ug!vyJKTLh_c$DY4cHrd$Vc3J zK;h^;a#833pQHNdt<XBYk=ac`y0CV(N7$|@3<eoop?h*mDtwRaHC2c?oWSUE0%4r; zr;Y}tUuV+DIF+TKW+`YNp0;%S-f^ykS*uLXyA`^~)!zNU&1?%Xr{+$kG7pr{CRpt- z2YvY7zx-@zOrht~>E5f`o8+sD$)FzSbs?0pnNWL-NdU}P?On%Ou(e8ShizsPQoCBD zi*VTP1r?4MOVU_t#(qJ6e*bD7eW!)e(YG>O#(DIzC|<`Vj^5-+oJN;oRYZj>o?fqI z%AY>dX};L%yQmGen=F^8M;Yy)1jSYj0o;eswKdS_BQkW#lb&p_b4{>ahGu80+bih$ zQy40A3p)MasgE1&tYXbSP>YnTzpcFpS3pMQ8Du5R7qmxp;Q3!VKrUa+df$r)Q67L$ zHiafw9a;N>ei(yQlg;dNm|KEFAN#l*?+I>Zf1_sUHPmcWOYIf|5nO)RA30b50}sU7 z$V3G1+WC#trr!*3k1ZyzbJCAvR!_j`3+TEjmBFDRyPc22wz<YFWKx#>so$u4BjFi| z=|V}7@pMa-C?F|BW?}<cJXR}j<76o_@vmFDXN2zVLmSl}Se~3;wpG+$^z%lR$LZSQ zuz(l~dd{Om&bwuJM!+?TR|4wDXKa=8b!zP~V?VCrv|VX(y7mf{L-m<$bK}j8Dx2u_ zaaUf6NK**hXA5BSVO`mzX=>IgrEMN~Wc+08k4Meli^;GaF~;+RvGAlTcw5o|Z=O+Q nB?~|47XI;yY-UZSHi7mhw^oy^-g(RE`N$q_YtkiSJa+y9*cg}A diff --git a/twilio/rest/messaging/v1/__init__.py b/twilio/rest/messaging/v1/__init__.py deleted file mode 100644 index d816dfa..0000000 --- a/twilio/rest/messaging/v1/__init__.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.messaging.v1.service import ServiceList - - -class V1(Version): - - def __init__(self, domain): - """ - Initialize the V1 version of Messaging - - :returns: V1 version of Messaging - :rtype: twilio.rest.messaging.v1.V1.V1 - """ - super(V1, self).__init__(domain) - self.version = 'v1' - self._services = None - - @property - def services(self): - """ - :rtype: twilio.rest.messaging.v1.service.ServiceList - """ - if self._services is None: - self._services = ServiceList(self) - return self._services - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Messaging.V1>' diff --git a/twilio/rest/messaging/v1/__pycache__/__init__.cpython-36.pyc b/twilio/rest/messaging/v1/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index b646eee2c699fbac57d0431bc3b23266a2dd8cfc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1409 zcmah|O>fjN5Vf7`N7F4J0T)h|xHJcLyW+O0Do_y!iB_PN9->H=8+%(rHVJlit6k;R zO5FJaocSk6TsY^-iNC;!agq%mqQZ*DBWG;CH}mG<)|U6>>&M`;gU~nh+i<~u1k>z* z5hy?c3lifQ2?(~n6FW0Ea4~v@gey8%NOUB*bb^lP9wEQC;@<JOGBiqsq!--KGnq)u zb1CTQ(hKQ`G719>E1K1#1>I(TI0CcHif~lWVtWJ;i}7%0xZ~M)3J2>k^1cHw<m0k; zBDGOz0`BIK)C(2K7s}+3{k<N*t{N2^i2@9a$a^%!meo~1aHK07;a;Ij3=Dw76$-lV zk&A+!WmA%qaYULs>}v0`(@-!u%5i}%$s1DOOKh`KAm#`H))fTKJF5>3dP<)sDpx#K zD@pTnNl(UfQNyR{lpaW9_?b%1yf%KKWj@!5nOqy%B!o_MzRcu=<`*hf=}=3P4`=HO zhmgb*`?VJbWHCPUJ7verGpV($ciCr50Y1jcUW2OKV5ZKg@k!|#8BfcuNM~Hxd~Yxo z#oQRiKA|6ce-gfiU=zMl!8uRE$65A-=RACoMm!FW<tz&`l|49}t5`gEXySCbG#6nF zcfDBDVT(FkjKejgVYbv=0C^Lpu@36p!d<-D1X}Bu2-|%acC~fdhiUGCDbO3J%iF%b zQ`O2=sM>?-kk!*RDgVu3lZ@eSLTe8n`b78PEp3(IW4&ShL2I_aEBotgT2M8Oj)%RP z#`@nMG%S^hhOLmm72s9-=1ZL}6tozpQ>|no;w9BGgDlD<=Q(u6zm#;qqjQzWYmfY` zD3j~<!PVW}<62;?SV2{L70>H9GiEU{cHeTY+Njr*t={+hR(T1ZNl>20*en(E*!ly; z-pzSj|Ea29_A{M=Uh}2C0k>(ZhH|TsVI<=i-fB}0cs6a2&3q+r>r_ealfmX-quM+4 zyJe3tkw%OKx0~iU<wg#h7SI-PaD7`fRjaCA-S`VY?bU_fty%5$))-tezys$e(?eoT diff --git a/twilio/rest/messaging/v1/service/__init__.py b/twilio/rest/messaging/v1/service/__init__.py deleted file mode 100644 index 49d9d08..0000000 --- a/twilio/rest/messaging/v1/service/__init__.py +++ /dev/null @@ -1,716 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.messaging.v1.service.alpha_sender import AlphaSenderList -from twilio.rest.messaging.v1.service.phone_number import PhoneNumberList -from twilio.rest.messaging.v1.service.short_code import ShortCodeList - - -class ServiceList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version): - """ - Initialize the ServiceList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.messaging.v1.service.ServiceList - :rtype: twilio.rest.messaging.v1.service.ServiceList - """ - super(ServiceList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Services'.format(**self._solution) - - def create(self, friendly_name, inbound_request_url=values.unset, - inbound_method=values.unset, fallback_url=values.unset, - fallback_method=values.unset, status_callback=values.unset, - sticky_sender=values.unset, mms_converter=values.unset, - smart_encoding=values.unset, scan_message_content=values.unset, - fallback_to_long_code=values.unset, area_code_geomatch=values.unset, - validity_period=values.unset, synchronous_validation=values.unset): - """ - Create a new ServiceInstance - - :param unicode friendly_name: The friendly_name - :param unicode inbound_request_url: The inbound_request_url - :param unicode inbound_method: The inbound_method - :param unicode fallback_url: The fallback_url - :param unicode fallback_method: The fallback_method - :param unicode status_callback: The status_callback - :param bool sticky_sender: The sticky_sender - :param bool mms_converter: The mms_converter - :param bool smart_encoding: The smart_encoding - :param ServiceInstance.ScanMessageContent scan_message_content: The scan_message_content - :param bool fallback_to_long_code: The fallback_to_long_code - :param bool area_code_geomatch: The area_code_geomatch - :param unicode validity_period: The validity_period - :param bool synchronous_validation: The synchronous_validation - - :returns: Newly created ServiceInstance - :rtype: twilio.rest.messaging.v1.service.ServiceInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'InboundRequestUrl': inbound_request_url, - 'InboundMethod': inbound_method, - 'FallbackUrl': fallback_url, - 'FallbackMethod': fallback_method, - 'StatusCallback': status_callback, - 'StickySender': sticky_sender, - 'MmsConverter': mms_converter, - 'SmartEncoding': smart_encoding, - 'ScanMessageContent': scan_message_content, - 'FallbackToLongCode': fallback_to_long_code, - 'AreaCodeGeomatch': area_code_geomatch, - 'ValidityPeriod': validity_period, - 'SynchronousValidation': synchronous_validation, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return ServiceInstance(self._version, payload, ) - - def stream(self, limit=None, page_size=None): - """ - Streams ServiceInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.messaging.v1.service.ServiceInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists ServiceInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.messaging.v1.service.ServiceInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of ServiceInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ServiceInstance - :rtype: twilio.rest.messaging.v1.service.ServicePage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ServicePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ServiceInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ServiceInstance - :rtype: twilio.rest.messaging.v1.service.ServicePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ServicePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a ServiceContext - - :param sid: The sid - - :returns: twilio.rest.messaging.v1.service.ServiceContext - :rtype: twilio.rest.messaging.v1.service.ServiceContext - """ - return ServiceContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a ServiceContext - - :param sid: The sid - - :returns: twilio.rest.messaging.v1.service.ServiceContext - :rtype: twilio.rest.messaging.v1.service.ServiceContext - """ - return ServiceContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Messaging.V1.ServiceList>' - - -class ServicePage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the ServicePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.messaging.v1.service.ServicePage - :rtype: twilio.rest.messaging.v1.service.ServicePage - """ - super(ServicePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ServiceInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.messaging.v1.service.ServiceInstance - :rtype: twilio.rest.messaging.v1.service.ServiceInstance - """ - return ServiceInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Messaging.V1.ServicePage>' - - -class ServiceContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, sid): - """ - Initialize the ServiceContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.messaging.v1.service.ServiceContext - :rtype: twilio.rest.messaging.v1.service.ServiceContext - """ - super(ServiceContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Services/{sid}'.format(**self._solution) - - # Dependents - self._phone_numbers = None - self._short_codes = None - self._alpha_senders = None - - def update(self, friendly_name=values.unset, inbound_request_url=values.unset, - inbound_method=values.unset, fallback_url=values.unset, - fallback_method=values.unset, status_callback=values.unset, - sticky_sender=values.unset, mms_converter=values.unset, - smart_encoding=values.unset, scan_message_content=values.unset, - fallback_to_long_code=values.unset, area_code_geomatch=values.unset, - validity_period=values.unset, synchronous_validation=values.unset): - """ - Update the ServiceInstance - - :param unicode friendly_name: The friendly_name - :param unicode inbound_request_url: The inbound_request_url - :param unicode inbound_method: The inbound_method - :param unicode fallback_url: The fallback_url - :param unicode fallback_method: The fallback_method - :param unicode status_callback: The status_callback - :param bool sticky_sender: The sticky_sender - :param bool mms_converter: The mms_converter - :param bool smart_encoding: The smart_encoding - :param ServiceInstance.ScanMessageContent scan_message_content: The scan_message_content - :param bool fallback_to_long_code: The fallback_to_long_code - :param bool area_code_geomatch: The area_code_geomatch - :param unicode validity_period: The validity_period - :param bool synchronous_validation: The synchronous_validation - - :returns: Updated ServiceInstance - :rtype: twilio.rest.messaging.v1.service.ServiceInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'InboundRequestUrl': inbound_request_url, - 'InboundMethod': inbound_method, - 'FallbackUrl': fallback_url, - 'FallbackMethod': fallback_method, - 'StatusCallback': status_callback, - 'StickySender': sticky_sender, - 'MmsConverter': mms_converter, - 'SmartEncoding': smart_encoding, - 'ScanMessageContent': scan_message_content, - 'FallbackToLongCode': fallback_to_long_code, - 'AreaCodeGeomatch': area_code_geomatch, - 'ValidityPeriod': validity_period, - 'SynchronousValidation': synchronous_validation, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ServiceInstance(self._version, payload, sid=self._solution['sid'], ) - - def fetch(self): - """ - Fetch a ServiceInstance - - :returns: Fetched ServiceInstance - :rtype: twilio.rest.messaging.v1.service.ServiceInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ServiceInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the ServiceInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - @property - def phone_numbers(self): - """ - Access the phone_numbers - - :returns: twilio.rest.messaging.v1.service.phone_number.PhoneNumberList - :rtype: twilio.rest.messaging.v1.service.phone_number.PhoneNumberList - """ - if self._phone_numbers is None: - self._phone_numbers = PhoneNumberList(self._version, service_sid=self._solution['sid'], ) - return self._phone_numbers - - @property - def short_codes(self): - """ - Access the short_codes - - :returns: twilio.rest.messaging.v1.service.short_code.ShortCodeList - :rtype: twilio.rest.messaging.v1.service.short_code.ShortCodeList - """ - if self._short_codes is None: - self._short_codes = ShortCodeList(self._version, service_sid=self._solution['sid'], ) - return self._short_codes - - @property - def alpha_senders(self): - """ - Access the alpha_senders - - :returns: twilio.rest.messaging.v1.service.alpha_sender.AlphaSenderList - :rtype: twilio.rest.messaging.v1.service.alpha_sender.AlphaSenderList - """ - if self._alpha_senders is None: - self._alpha_senders = AlphaSenderList(self._version, service_sid=self._solution['sid'], ) - return self._alpha_senders - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Messaging.V1.ServiceContext {}>'.format(context) - - -class ServiceInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - class ScanMessageContent(object): - INHERIT = "inherit" - ENABLE = "enable" - DISABLE = "disable" - - def __init__(self, version, payload, sid=None): - """ - Initialize the ServiceInstance - - :returns: twilio.rest.messaging.v1.service.ServiceInstance - :rtype: twilio.rest.messaging.v1.service.ServiceInstance - """ - super(ServiceInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'friendly_name': payload['friendly_name'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'inbound_request_url': payload['inbound_request_url'], - 'inbound_method': payload['inbound_method'], - 'fallback_url': payload['fallback_url'], - 'fallback_method': payload['fallback_method'], - 'status_callback': payload['status_callback'], - 'sticky_sender': payload['sticky_sender'], - 'mms_converter': payload['mms_converter'], - 'smart_encoding': payload['smart_encoding'], - 'scan_message_content': payload['scan_message_content'], - 'fallback_to_long_code': payload['fallback_to_long_code'], - 'area_code_geomatch': payload['area_code_geomatch'], - 'synchronous_validation': payload['synchronous_validation'], - 'validity_period': deserialize.integer(payload['validity_period']), - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ServiceContext for this ServiceInstance - :rtype: twilio.rest.messaging.v1.service.ServiceContext - """ - if self._context is None: - self._context = ServiceContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def inbound_request_url(self): - """ - :returns: The inbound_request_url - :rtype: unicode - """ - return self._properties['inbound_request_url'] - - @property - def inbound_method(self): - """ - :returns: The inbound_method - :rtype: unicode - """ - return self._properties['inbound_method'] - - @property - def fallback_url(self): - """ - :returns: The fallback_url - :rtype: unicode - """ - return self._properties['fallback_url'] - - @property - def fallback_method(self): - """ - :returns: The fallback_method - :rtype: unicode - """ - return self._properties['fallback_method'] - - @property - def status_callback(self): - """ - :returns: The status_callback - :rtype: unicode - """ - return self._properties['status_callback'] - - @property - def sticky_sender(self): - """ - :returns: The sticky_sender - :rtype: bool - """ - return self._properties['sticky_sender'] - - @property - def mms_converter(self): - """ - :returns: The mms_converter - :rtype: bool - """ - return self._properties['mms_converter'] - - @property - def smart_encoding(self): - """ - :returns: The smart_encoding - :rtype: bool - """ - return self._properties['smart_encoding'] - - @property - def scan_message_content(self): - """ - :returns: The scan_message_content - :rtype: ServiceInstance.ScanMessageContent - """ - return self._properties['scan_message_content'] - - @property - def fallback_to_long_code(self): - """ - :returns: The fallback_to_long_code - :rtype: bool - """ - return self._properties['fallback_to_long_code'] - - @property - def area_code_geomatch(self): - """ - :returns: The area_code_geomatch - :rtype: bool - """ - return self._properties['area_code_geomatch'] - - @property - def synchronous_validation(self): - """ - :returns: The synchronous_validation - :rtype: bool - """ - return self._properties['synchronous_validation'] - - @property - def validity_period(self): - """ - :returns: The validity_period - :rtype: unicode - """ - return self._properties['validity_period'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def update(self, friendly_name=values.unset, inbound_request_url=values.unset, - inbound_method=values.unset, fallback_url=values.unset, - fallback_method=values.unset, status_callback=values.unset, - sticky_sender=values.unset, mms_converter=values.unset, - smart_encoding=values.unset, scan_message_content=values.unset, - fallback_to_long_code=values.unset, area_code_geomatch=values.unset, - validity_period=values.unset, synchronous_validation=values.unset): - """ - Update the ServiceInstance - - :param unicode friendly_name: The friendly_name - :param unicode inbound_request_url: The inbound_request_url - :param unicode inbound_method: The inbound_method - :param unicode fallback_url: The fallback_url - :param unicode fallback_method: The fallback_method - :param unicode status_callback: The status_callback - :param bool sticky_sender: The sticky_sender - :param bool mms_converter: The mms_converter - :param bool smart_encoding: The smart_encoding - :param ServiceInstance.ScanMessageContent scan_message_content: The scan_message_content - :param bool fallback_to_long_code: The fallback_to_long_code - :param bool area_code_geomatch: The area_code_geomatch - :param unicode validity_period: The validity_period - :param bool synchronous_validation: The synchronous_validation - - :returns: Updated ServiceInstance - :rtype: twilio.rest.messaging.v1.service.ServiceInstance - """ - return self._proxy.update( - friendly_name=friendly_name, - inbound_request_url=inbound_request_url, - inbound_method=inbound_method, - fallback_url=fallback_url, - fallback_method=fallback_method, - status_callback=status_callback, - sticky_sender=sticky_sender, - mms_converter=mms_converter, - smart_encoding=smart_encoding, - scan_message_content=scan_message_content, - fallback_to_long_code=fallback_to_long_code, - area_code_geomatch=area_code_geomatch, - validity_period=validity_period, - synchronous_validation=synchronous_validation, - ) - - def fetch(self): - """ - Fetch a ServiceInstance - - :returns: Fetched ServiceInstance - :rtype: twilio.rest.messaging.v1.service.ServiceInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the ServiceInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - @property - def phone_numbers(self): - """ - Access the phone_numbers - - :returns: twilio.rest.messaging.v1.service.phone_number.PhoneNumberList - :rtype: twilio.rest.messaging.v1.service.phone_number.PhoneNumberList - """ - return self._proxy.phone_numbers - - @property - def short_codes(self): - """ - Access the short_codes - - :returns: twilio.rest.messaging.v1.service.short_code.ShortCodeList - :rtype: twilio.rest.messaging.v1.service.short_code.ShortCodeList - """ - return self._proxy.short_codes - - @property - def alpha_senders(self): - """ - Access the alpha_senders - - :returns: twilio.rest.messaging.v1.service.alpha_sender.AlphaSenderList - :rtype: twilio.rest.messaging.v1.service.alpha_sender.AlphaSenderList - """ - return self._proxy.alpha_senders - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Messaging.V1.ServiceInstance {}>'.format(context) diff --git a/twilio/rest/messaging/v1/service/__pycache__/__init__.cpython-36.pyc b/twilio/rest/messaging/v1/service/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 55c6b05388408e761485a2857d1e754b949815c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23779 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 diff --git a/twilio/rest/messaging/v1/service/__pycache__/alpha_sender.cpython-36.pyc b/twilio/rest/messaging/v1/service/__pycache__/alpha_sender.cpython-36.pyc deleted file mode 100644 index 0b14df566d464f61a5d4efcf1ab28b7b0a8ffc0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14803 zcmeHO&5s<%b?=_<kKN^xlt`^U>~?Ge9Ge<0qeyYqG$ndT2?VGWLsAMbS!3KgRm<&V z&-AFehvbfyFc1=Oa$t}EIpiR~w*WrG|AFrTa!CRtht4sFAh!Uy2?&tid(~Z2J3IRk zl2)X^v*_yT>guXj@4b4TwQtSOH~#(~e$lz{w&VPpWBp2~zlSUS3lzfXIKmZ$(CrsG z1()hY)Qg=W*GplkU+$E-UJfh$YNyKeN?7aHJ9VyC!$!Z^X}Zn_j;M+H6Gzl#{c*7~ zhv$Z9;<+iCc%H}eoS4V+ye#8+0nZEK1fEaGDxOb>#oJEn<k)ZA*$QH>7YXS-@MG_; z97yFSQg|CXjdkyW*Y)s2(cR7N4R6;w*KMs|Kyj|SyMAHU+dX#yJ?>v@FSnN))ZfF0 z`gfu6A6U54a?_@eu~dN{24jiG%6&f^$r!a0*9URp4|;Mn8YJ>zf~Lj1>6VP6k?PS0 zb2oxGv7Spe{kyV9gXh0uR*4lV(&@OscR{$F;?JE;U|kfS)H)?m66GgOrz~C;RZ)B5 zb}HhGsEY<_Rax7v=htRYG{qcR8)9B8;ESdJ&TyX-C&ek;=f!F967CB>cS=s@1h9EF zJ#i%*Zuz(6KuAU4j_-LlZ(O@_`<l1*(Vc5vvgIcz2;ZR}6V?Zb9}Hq|LngjARFN3< zl2~{1mGt7##<uL?lZdg}+wuo@W!w8Wmgpn<-h&|7@_PO#38F#U>*edGdw#`jJS0xy z?mCYP+l5{Cu}gfkTL{q7EsDZ+Y17$twu^sG&t*}>I!gY#uH$5c^t|hXAkk!_S-q(x zHcY>jp|AYD_lZ<7;PLM3`-*Ac)te>LP%5MD^bp{a`$123<3Ox<chJ#lu;x=T8L2_M z;w2A)Fo@b1E@}5=9Q${J!QD3aG5fCV6Ir@3)1^JVfQ(bU6_xA^<%=3EZCXH&zjNWX zUQ>MGGpqg41q+yXtyM|O@n|TOs)1^0t=kQN`))U_cjG8zGN+ZzNcH_BEp<mKXcf~^ zEW^#Tnqgbj@gX)#z1w9L>vn(Xe9>QBSqIOkc>NE9&XymoUl|Us`iZ}OBkK9#`W@LH zt`CFZn;WAb6mPy2htcLv{9s*UHNO#Z*9~&l?_XTc*0H_^xx*dR1PCwViYq9b#$vJI zj$g6XNgJb`FRfRgPWX|aEaO_m75@N5;%vKMR5t+2J}Q7k3)^5<+)KOI%1?`rib<JT zcZ(=1qO|0Q@>62p%J@GGL#-+aVdnYXKt8ZJH<vFKH)-x24FZ;h_M$Wo+AY>+h6&f? zgK)>|@q}XLTrZ5#4D|Vkou-A~v~=^M+jqbOB>^I59HDPjMRFl6M4Mo)jAhb_hFLAp ztJBs%`7~+{Z(1dFf;!CEcu+*=v^w;6!pIlu6rOZ(nrg40_%5!PzIW;ig^F8nOKz<= zK4Z<o?4UtdGa`&Q!EnPncmR#T54#Xtj|-28;-I^5LG!{>_fd)87I#Z%D=s-G!3~dz z7s~!WV#S6XZYLm5Kb}P$2%}!4MC@&<sILXx&FdaCqMz%;NO>`T-!|j1?u@WueG<W5 z=#K;N0O2Aw<6#K7xf%2VIY{slkHaXAgN;ynqd^jcJXaX>gTxFA1pzpFTT<9lvAi6G zP!OaWG~Yo_?*;L^7e^QoBTT@;LtpkIwKD;vZE>(>{9urH48@A~@enK04<4iq12`D< zH_#Yunsp^n217eT%ej_WK+czw``r<g1Jt{OdW*0d!F<{09v~xq<^z9(g|_Eim76{m z>H+XUq+89<nU*1NhcE!3BgT-~YqP-Hlu2*PqqQjcDQu18y!T*B4lrf{jgmlphM_l# zr5Sqyu3aNdB{GQEXdx`Ty__Qg@Lt~}I1M-iH$DgkQXDb##wY=Q@v^OtKttxUb1e;` zpCk~`WCmbPUl2Wx7*~(T<^e(9kK$xPdj`}ayq))gHtdOhFgV9wocAs+FE6(&-Z0Yb z18o;FH^7Kt)a?W^6y9h^faw{bB#1!`bh%0mA@cwDnYDB-hkjzlP3s2PEmyq``H+?w zf=+{9a2*osEZ%gQgtRU<#c7G&rxlIhR+(j*dIQ~fluku=Q{SMLDRK5qw2@-cdhO&w zVX?4Zkm-Sq93ydS<QR>YkR)R{Cfuim$1Y@4!T;2jQ6vxlw-So*I}sHh55nLcjHZl< z&d-ns5?D~4KM<OdB(c1o^4foz^R<U9rtMDJ44DAgkPryD@F641;+5x@BeV=K{X|w6 zg4_F1*R=>SLg=?rgsHbjie%{Iy*fjNObOQgD5jSGzcQp%nC$yjAuSQM6z%a=aY`yo z3jz<FKEf5V?YcOAY1*2hp?YM{(vPfQBLc{jA;Xpo88To#FT%Jb^JQY(me{y0XT~j= zxD_^KO8!6FUfC^~r~qmd`Xk0hgf&5ujZ~8bO)fdjp0<sfiNLs})gv*Fd?<S(a{q&V zUy1<6bGWl_j{{L!+a=LGIau*-V&*$kB_H;FAUJx!X2X@6*UcWD*4)~p&|hZ?JQGz~ z%L1A>=nr8tkrC1h$$)}T14suBd5AHfHQD)Gld~D}_Oi7!qv~ii2jFos@$>qMG>I9l zRqWIa4pkLA(y7t&ZRqH<_`x+Y<|`~-<CZqz)fseR^`=!7+wOMsfj-xEdxg0<Q;bZo zPIHL2U5$U%d+K*ETv~(r9!3NBbyJ#;w4skn8}jp~CWibz)~At;Pe<C1w!tcWOH;6& z?lQAu3&4^uBy785GdSA_Q?WMu@E|rH%3c6N`b%bXxKMXx0&hE9@xab+P9kI<-@0M! z<IKVY=Vvw$L;2NUFZC^;zExp%Nh>1iBj(hpXmc#BW{|6Iqm$+sE&tNSWaa8R^l~p( zq%}ed(fc7@#uTw|8Vz`OmEwMPKksT-gG8s1ip0#BVFXD?Zrv{8b?nR+$Ny!v3F3p0 zJRBnPZ7G+<4J~AAQ)Ci83WW92Z1iU~Nb?DEm6@BlFKj^Vtrz%~7O@TldQMq#Jp(`s z0QSxcT4%L@$!R(jf&4#1yH;2AvF+mDAj1*we@mB{@xf_A+jLQcYuF0kBb1Y)p*PPV zgg`tG@wTwr{VR(aGa_TUQx9U0e{`pdr6`G0!Cu37Y&OPCt#v&g!3$_f0hOub5P}FA zlOq$exc@^07~rBF_{lVLW9yj-$KSnlN5@=0G~w1yE>1^QFEb~?L8HLYG*<!{1Y@`R z3%t~<S=}!;@=mS7+8SSr6cru#eTk@OqucExWFAs|uG{@|<cHatYPTz*9zLd6B*&rH zvQr*C7EyG{Bj~wAE6;P(`h6<SQ}HH>bUq89_9PK(0z6i8k~(pKi)0=>#U#LLg;HT| zv39y~wsETFE}W^ItTk&*j^y_6+WcsG`o+sAj?7Y2L=`!P3g;NAP>(g1(_e00A-81d zPSDd8lhbYI6(}(0BJ{>t1?|>80M{CpIXH_zri#U&T6TZ({8@xsnKeTina!FN&otR~ zumLeMP_6j<Z#MhD3!mO*&#XiCjJAg0M*|enTAg=+6~tAG^on$Pr<Nxca>iyQ&)iL4 z{VlGT>EArHSFO`@`=j^=sdXfmv|`WIy8njF96zSa1HuuAIp|d2LH74FtwezISQdUJ zPlDsnhTwZ*xfY8(zXgyxRug!h*CE(9qSiI8z7^FHk!+uud5v19?6NsBwsJ)Nng~c# zaq8pOEenFlXLtO1s~cL*Vd{p3`rjE`?A0_GD{FNG2}>zcb%6>J(dr@<yoKJP8mR~M zyHpsw=X-~@&A0LDm$=v>&Xhuv_hApM=0`%5ew^z%t{TuO|4x<FK@IAl!RE(TKphaK zY;{0s<}Abk-|oOfv#_PW!73uR!zSD9g=vXHrM(f(Uw4NB!LB+e#5U{rd&fyeBTpTO zM@UI)J;GM5(IaY}2BV-umKM|+#Y~ZJh`q|>U(jC%&zp<IId}Y;C66)+Pc#Zyy!4}e zLLszOT=69o6g~?agw0r|ASX=sl6DvoPtZAGiYHV!7dXicm#|+d<6jvbdY{undpt=a zgiWUvqbs;O{Cf*%)7|jNi`N3*!jgebik?hJXp?haL?|tD;)}_n)ds8nEUL)^%}^Wa z_b|i1<BDHG;Zz$Y$U`~Xf?M00#Lwx)Q|-|mL@*{685tl0$i*areMsS*@t+vnUX`It zC?SXx)hw)<juRr>Q6uREn~37kr#K+f>q#l%^WOV@h*L2UhEfj#E2Wpa<{MEIn(+_> z;qT$Su|~zAt&E#z`YMXv|2MAOO<A&_%@LtTG?*ZjYcN5UmT<R`ti~B6P5^Be9y?dT z#Kgv;v|XfgIlxZ&|I(@Z!u1UJ1Ui|0F<lh?+jV|&X1(wTCou#_s`K!lz%Bh0;Tk4u z`Ljnq`V8{IW!ZpuMWMZ%y7yA|{zOl**YrjG5{1wn4%Ov(Y;wkF$r;<uV~*3@`)gkc z>7+`0xotijfBz^CG#kYG?9t^`DJ^YB!GJyVv>YIv8f!4Mx1Lse`smpdsI2QN1SFfl z)mIOaS()ijKiG7j-Nk%#r2RmW_MZstWWTfhaI$u$R%b=uLzDS2On8d_28C@wh&TAa z8%{wysdq}UEXtzt1kBc{piYP0s9r^#j=fR6hB_T~qk0{6KJbQm19d+1hI$iqKKO?E z9O``d4RstZ#8J94{Oy7`D_()SdO|FTS8-nyuZh=jKgssWDe%cRSRj3=_R3n1;*9j8 zJE<sQ?l?iQ-(ca`V?h)Ufy7>2a*`q+H=^StZdNZ-9d9e#r^;mw2T|&u*Z2fo17!t% zaA~*&=~w1MD$UQy2&#$(P%t<CS0jiHws?$cF?}aO@R?miGw5$nU$ubOwCVSH5l*+z z2|m_Z=^V}?$!>N!Dtj6YsZpp`>65vhKlC?njxPyhoE8yohb2yfsmoNbY4I-A-lKv( zQCFz=F$#o+EZtbs77IH}Y_X6mP8WkX`oTNP7rQiP67*%->>^u*(;+-zt(%JgR+ibp z08(L!l_k$l;LJ8{UM3+yQ6Q(fSgN@6H-|sEFW`BP>y=YszpaBoCP8uXLP&iI_g+n% zqXV2c^Mr$%%$#%wdy3Li3b=4TQXl>*hA<qHo!O9k9P4bECUFsD9yg`lB%esd5nRdy zGCh!1j5f`HKo*@oM7q(t@2emh;V4p%PCmsr1ak$4Y4XAHW<IF|EI$ljI3ZVWO)<+I z->+6PFaeJBE=Qn&D_8Q*yfHFeVFp~Y*vV$ClDY<}Oox1D8VzZM*z4g=n>d4b%BfRw z1jpZ8oEv#{#&X*F1EYh98;EsRaj`Pc+_2=ZzWt#Ab|M(=fP&a@)*F4IH9OR3+I8sK zRaY@G_<2TnmV3}CU~TeL#%E^%jJb{p?W&o3FSM4NuzDN-H3<TMdkECj;{yxoZ_a|+ zn)5lKw|vK=p(hD)IP}!xqobg=<~%0!*DTob6Vt>gwnVnNXyoTo(!5Y4d=H18di;?E z|ExXRwr7123&@m+fisr{`xo%ukqe+6-D52voAsCrxN1RXQ^2>5rCVJNV1LqihZBH$ z+&v0@d(vaVf5igMhTm4%R+o%}5SlfOtg8<P{tAGPjso7E@tD9LBq(8F81QnY*(WH; zx;Pwc>OqN)Lj@(~+5;{6?-lFY?qd?`?$<3m0mJKktc8OIz|$;ELY~jh41%g-+j-74 zd3%2t;b0Vf1p)~9vMDfdz_RJppIXbFsqw%5K?C&;)@gYA`NIb4_c5NLW47uKs4y{h zopD`3+h6BcMbyCl{~5zfhlLH!9~CypN6~Qu^+N)J%r`}`M>}YsenbsZ@KJK$F9|*q zFtC#@`Pi`hvxtGa);fJ)&>*d44$6++WaNGv!yDqwc)VBx`A8=TT*~HBtYKkk?&Mr; z?_aHs=mYg!Yb|mzq|?j{?F}E+2$`rlr~bOt+zv9o!uVB$k<J@4yC6Z!|K+F1L+>ov zeds79kd?isKyYW#em_LwhfmCLqFtvuIabZ?--J3`qx?)-yQB{dT&8n&?6V<n&)yoB O#l@dFON*_=cmD?*H5mZ_ diff --git a/twilio/rest/messaging/v1/service/__pycache__/phone_number.cpython-36.pyc b/twilio/rest/messaging/v1/service/__pycache__/phone_number.cpython-36.pyc deleted file mode 100644 index b3dae44fbca070383fb271734f2c6c518193a2f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15068 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 Cb!QF$ diff --git a/twilio/rest/messaging/v1/service/__pycache__/short_code.cpython-36.pyc b/twilio/rest/messaging/v1/service/__pycache__/short_code.cpython-36.pyc deleted file mode 100644 index 7c71791fce942988eef1b8d99afd80d1f43c4f75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14831 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 NH~!38Xfzu?{2$-@0$cz9 diff --git a/twilio/rest/messaging/v1/service/alpha_sender.py b/twilio/rest/messaging/v1/service/alpha_sender.py deleted file mode 100644 index e096bd8..0000000 --- a/twilio/rest/messaging/v1/service/alpha_sender.py +++ /dev/null @@ -1,409 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class AlphaSenderList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid): - """ - Initialize the AlphaSenderList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.messaging.v1.service.alpha_sender.AlphaSenderList - :rtype: twilio.rest.messaging.v1.service.alpha_sender.AlphaSenderList - """ - super(AlphaSenderList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/AlphaSenders'.format(**self._solution) - - def create(self, alpha_sender): - """ - Create a new AlphaSenderInstance - - :param unicode alpha_sender: The alpha_sender - - :returns: Newly created AlphaSenderInstance - :rtype: twilio.rest.messaging.v1.service.alpha_sender.AlphaSenderInstance - """ - data = values.of({'AlphaSender': alpha_sender, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return AlphaSenderInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, limit=None, page_size=None): - """ - Streams AlphaSenderInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.messaging.v1.service.alpha_sender.AlphaSenderInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists AlphaSenderInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.messaging.v1.service.alpha_sender.AlphaSenderInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of AlphaSenderInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of AlphaSenderInstance - :rtype: twilio.rest.messaging.v1.service.alpha_sender.AlphaSenderPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return AlphaSenderPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of AlphaSenderInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of AlphaSenderInstance - :rtype: twilio.rest.messaging.v1.service.alpha_sender.AlphaSenderPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return AlphaSenderPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a AlphaSenderContext - - :param sid: The sid - - :returns: twilio.rest.messaging.v1.service.alpha_sender.AlphaSenderContext - :rtype: twilio.rest.messaging.v1.service.alpha_sender.AlphaSenderContext - """ - return AlphaSenderContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a AlphaSenderContext - - :param sid: The sid - - :returns: twilio.rest.messaging.v1.service.alpha_sender.AlphaSenderContext - :rtype: twilio.rest.messaging.v1.service.alpha_sender.AlphaSenderContext - """ - return AlphaSenderContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Messaging.V1.AlphaSenderList>' - - -class AlphaSenderPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the AlphaSenderPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.messaging.v1.service.alpha_sender.AlphaSenderPage - :rtype: twilio.rest.messaging.v1.service.alpha_sender.AlphaSenderPage - """ - super(AlphaSenderPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of AlphaSenderInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.messaging.v1.service.alpha_sender.AlphaSenderInstance - :rtype: twilio.rest.messaging.v1.service.alpha_sender.AlphaSenderInstance - """ - return AlphaSenderInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Messaging.V1.AlphaSenderPage>' - - -class AlphaSenderContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the AlphaSenderContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.messaging.v1.service.alpha_sender.AlphaSenderContext - :rtype: twilio.rest.messaging.v1.service.alpha_sender.AlphaSenderContext - """ - super(AlphaSenderContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/AlphaSenders/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a AlphaSenderInstance - - :returns: Fetched AlphaSenderInstance - :rtype: twilio.rest.messaging.v1.service.alpha_sender.AlphaSenderInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return AlphaSenderInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the AlphaSenderInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Messaging.V1.AlphaSenderContext {}>'.format(context) - - -class AlphaSenderInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the AlphaSenderInstance - - :returns: twilio.rest.messaging.v1.service.alpha_sender.AlphaSenderInstance - :rtype: twilio.rest.messaging.v1.service.alpha_sender.AlphaSenderInstance - """ - super(AlphaSenderInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'alpha_sender': payload['alpha_sender'], - 'capabilities': payload['capabilities'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: AlphaSenderContext for this AlphaSenderInstance - :rtype: twilio.rest.messaging.v1.service.alpha_sender.AlphaSenderContext - """ - if self._context is None: - self._context = AlphaSenderContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def alpha_sender(self): - """ - :returns: The alpha_sender - :rtype: unicode - """ - return self._properties['alpha_sender'] - - @property - def capabilities(self): - """ - :returns: The capabilities - :rtype: dict - """ - return self._properties['capabilities'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a AlphaSenderInstance - - :returns: Fetched AlphaSenderInstance - :rtype: twilio.rest.messaging.v1.service.alpha_sender.AlphaSenderInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the AlphaSenderInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Messaging.V1.AlphaSenderInstance {}>'.format(context) diff --git a/twilio/rest/messaging/v1/service/phone_number.py b/twilio/rest/messaging/v1/service/phone_number.py deleted file mode 100644 index 01b1624..0000000 --- a/twilio/rest/messaging/v1/service/phone_number.py +++ /dev/null @@ -1,418 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class PhoneNumberList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid): - """ - Initialize the PhoneNumberList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.messaging.v1.service.phone_number.PhoneNumberList - :rtype: twilio.rest.messaging.v1.service.phone_number.PhoneNumberList - """ - super(PhoneNumberList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/PhoneNumbers'.format(**self._solution) - - def create(self, phone_number_sid): - """ - Create a new PhoneNumberInstance - - :param unicode phone_number_sid: The phone_number_sid - - :returns: Newly created PhoneNumberInstance - :rtype: twilio.rest.messaging.v1.service.phone_number.PhoneNumberInstance - """ - data = values.of({'PhoneNumberSid': phone_number_sid, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return PhoneNumberInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, limit=None, page_size=None): - """ - Streams PhoneNumberInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.messaging.v1.service.phone_number.PhoneNumberInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists PhoneNumberInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.messaging.v1.service.phone_number.PhoneNumberInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of PhoneNumberInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of PhoneNumberInstance - :rtype: twilio.rest.messaging.v1.service.phone_number.PhoneNumberPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return PhoneNumberPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of PhoneNumberInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of PhoneNumberInstance - :rtype: twilio.rest.messaging.v1.service.phone_number.PhoneNumberPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return PhoneNumberPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a PhoneNumberContext - - :param sid: The sid - - :returns: twilio.rest.messaging.v1.service.phone_number.PhoneNumberContext - :rtype: twilio.rest.messaging.v1.service.phone_number.PhoneNumberContext - """ - return PhoneNumberContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a PhoneNumberContext - - :param sid: The sid - - :returns: twilio.rest.messaging.v1.service.phone_number.PhoneNumberContext - :rtype: twilio.rest.messaging.v1.service.phone_number.PhoneNumberContext - """ - return PhoneNumberContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Messaging.V1.PhoneNumberList>' - - -class PhoneNumberPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the PhoneNumberPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.messaging.v1.service.phone_number.PhoneNumberPage - :rtype: twilio.rest.messaging.v1.service.phone_number.PhoneNumberPage - """ - super(PhoneNumberPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of PhoneNumberInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.messaging.v1.service.phone_number.PhoneNumberInstance - :rtype: twilio.rest.messaging.v1.service.phone_number.PhoneNumberInstance - """ - return PhoneNumberInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Messaging.V1.PhoneNumberPage>' - - -class PhoneNumberContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the PhoneNumberContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.messaging.v1.service.phone_number.PhoneNumberContext - :rtype: twilio.rest.messaging.v1.service.phone_number.PhoneNumberContext - """ - super(PhoneNumberContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/PhoneNumbers/{sid}'.format(**self._solution) - - def delete(self): - """ - Deletes the PhoneNumberInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def fetch(self): - """ - Fetch a PhoneNumberInstance - - :returns: Fetched PhoneNumberInstance - :rtype: twilio.rest.messaging.v1.service.phone_number.PhoneNumberInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return PhoneNumberInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Messaging.V1.PhoneNumberContext {}>'.format(context) - - -class PhoneNumberInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the PhoneNumberInstance - - :returns: twilio.rest.messaging.v1.service.phone_number.PhoneNumberInstance - :rtype: twilio.rest.messaging.v1.service.phone_number.PhoneNumberInstance - """ - super(PhoneNumberInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'phone_number': payload['phone_number'], - 'country_code': payload['country_code'], - 'capabilities': payload['capabilities'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: PhoneNumberContext for this PhoneNumberInstance - :rtype: twilio.rest.messaging.v1.service.phone_number.PhoneNumberContext - """ - if self._context is None: - self._context = PhoneNumberContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def phone_number(self): - """ - :returns: The phone_number - :rtype: unicode - """ - return self._properties['phone_number'] - - @property - def country_code(self): - """ - :returns: The country_code - :rtype: unicode - """ - return self._properties['country_code'] - - @property - def capabilities(self): - """ - :returns: The capabilities - :rtype: unicode - """ - return self._properties['capabilities'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def delete(self): - """ - Deletes the PhoneNumberInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def fetch(self): - """ - Fetch a PhoneNumberInstance - - :returns: Fetched PhoneNumberInstance - :rtype: twilio.rest.messaging.v1.service.phone_number.PhoneNumberInstance - """ - return self._proxy.fetch() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Messaging.V1.PhoneNumberInstance {}>'.format(context) diff --git a/twilio/rest/messaging/v1/service/short_code.py b/twilio/rest/messaging/v1/service/short_code.py deleted file mode 100644 index 05cbbb7..0000000 --- a/twilio/rest/messaging/v1/service/short_code.py +++ /dev/null @@ -1,418 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class ShortCodeList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid): - """ - Initialize the ShortCodeList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.messaging.v1.service.short_code.ShortCodeList - :rtype: twilio.rest.messaging.v1.service.short_code.ShortCodeList - """ - super(ShortCodeList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/ShortCodes'.format(**self._solution) - - def create(self, short_code_sid): - """ - Create a new ShortCodeInstance - - :param unicode short_code_sid: The short_code_sid - - :returns: Newly created ShortCodeInstance - :rtype: twilio.rest.messaging.v1.service.short_code.ShortCodeInstance - """ - data = values.of({'ShortCodeSid': short_code_sid, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return ShortCodeInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, limit=None, page_size=None): - """ - Streams ShortCodeInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.messaging.v1.service.short_code.ShortCodeInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists ShortCodeInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.messaging.v1.service.short_code.ShortCodeInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of ShortCodeInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ShortCodeInstance - :rtype: twilio.rest.messaging.v1.service.short_code.ShortCodePage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ShortCodePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ShortCodeInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ShortCodeInstance - :rtype: twilio.rest.messaging.v1.service.short_code.ShortCodePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ShortCodePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a ShortCodeContext - - :param sid: The sid - - :returns: twilio.rest.messaging.v1.service.short_code.ShortCodeContext - :rtype: twilio.rest.messaging.v1.service.short_code.ShortCodeContext - """ - return ShortCodeContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a ShortCodeContext - - :param sid: The sid - - :returns: twilio.rest.messaging.v1.service.short_code.ShortCodeContext - :rtype: twilio.rest.messaging.v1.service.short_code.ShortCodeContext - """ - return ShortCodeContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Messaging.V1.ShortCodeList>' - - -class ShortCodePage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the ShortCodePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.messaging.v1.service.short_code.ShortCodePage - :rtype: twilio.rest.messaging.v1.service.short_code.ShortCodePage - """ - super(ShortCodePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ShortCodeInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.messaging.v1.service.short_code.ShortCodeInstance - :rtype: twilio.rest.messaging.v1.service.short_code.ShortCodeInstance - """ - return ShortCodeInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Messaging.V1.ShortCodePage>' - - -class ShortCodeContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the ShortCodeContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.messaging.v1.service.short_code.ShortCodeContext - :rtype: twilio.rest.messaging.v1.service.short_code.ShortCodeContext - """ - super(ShortCodeContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/ShortCodes/{sid}'.format(**self._solution) - - def delete(self): - """ - Deletes the ShortCodeInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def fetch(self): - """ - Fetch a ShortCodeInstance - - :returns: Fetched ShortCodeInstance - :rtype: twilio.rest.messaging.v1.service.short_code.ShortCodeInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ShortCodeInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Messaging.V1.ShortCodeContext {}>'.format(context) - - -class ShortCodeInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the ShortCodeInstance - - :returns: twilio.rest.messaging.v1.service.short_code.ShortCodeInstance - :rtype: twilio.rest.messaging.v1.service.short_code.ShortCodeInstance - """ - super(ShortCodeInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'short_code': payload['short_code'], - 'country_code': payload['country_code'], - 'capabilities': payload['capabilities'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ShortCodeContext for this ShortCodeInstance - :rtype: twilio.rest.messaging.v1.service.short_code.ShortCodeContext - """ - if self._context is None: - self._context = ShortCodeContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def short_code(self): - """ - :returns: The short_code - :rtype: unicode - """ - return self._properties['short_code'] - - @property - def country_code(self): - """ - :returns: The country_code - :rtype: unicode - """ - return self._properties['country_code'] - - @property - def capabilities(self): - """ - :returns: The capabilities - :rtype: dict - """ - return self._properties['capabilities'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def delete(self): - """ - Deletes the ShortCodeInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def fetch(self): - """ - Fetch a ShortCodeInstance - - :returns: Fetched ShortCodeInstance - :rtype: twilio.rest.messaging.v1.service.short_code.ShortCodeInstance - """ - return self._proxy.fetch() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Messaging.V1.ShortCodeInstance {}>'.format(context) diff --git a/twilio/rest/monitor/__init__.py b/twilio/rest/monitor/__init__.py deleted file mode 100644 index c686ca9..0000000 --- a/twilio/rest/monitor/__init__.py +++ /dev/null @@ -1,60 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.domain import Domain -from twilio.rest.monitor.v1 import V1 - - -class Monitor(Domain): - - def __init__(self, twilio): - """ - Initialize the Monitor Domain - - :returns: Domain for Monitor - :rtype: twilio.rest.monitor.Monitor - """ - super(Monitor, self).__init__(twilio) - - self.base_url = 'https://monitor.twilio.com' - - # Versions - self._v1 = None - - @property - def v1(self): - """ - :returns: Version v1 of monitor - :rtype: twilio.rest.monitor.v1.V1 - """ - if self._v1 is None: - self._v1 = V1(self) - return self._v1 - - @property - def alerts(self): - """ - :rtype: twilio.rest.monitor.v1.alert.AlertList - """ - return self.v1.alerts - - @property - def events(self): - """ - :rtype: twilio.rest.monitor.v1.event.EventList - """ - return self.v1.events - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Monitor>' diff --git a/twilio/rest/monitor/__pycache__/__init__.cpython-36.pyc b/twilio/rest/monitor/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 5b23acfac0c0b6387f088a4d3617d7fd11c4f203..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1789 zcmb_cPix#p6d#SWD_L2)CWIaWg}K#xh}KK!WeFi6DQzJ!Ep>fR1%s@a&C1nE>Wp^H z3SEi~`4~O-v-Hxlu7yIsLQj29|Kh;9rw+`UC(WCg-|zi<dU)vm{>QKWUlt*Mk~;&w z$qShJ6oeo?5r&|Nv8FyXP&X5EZTXf#z9PaBqgx_IlHQp9NQ}QHQ@ae^^Hr=_lnKeM zL(SgFRI0F$f?e+1fXx_ZFhKCCTU}PM6Fv=QAWnD{%qmu$%)nwh_fEZ27ws7wY{$&~ z8-S6iQIB6|>o871qZjiCfA+)d6#X?QlK2Mjpzq1jKrXkAZ%Rv;!n!3lhCc!wus8Y` zbXz!$Zi@rq-V)z=Pb}ge0JjIV{WeSEB2y9V9>5hJ!>JjFf)qwYZs--Qj2i<TRuOIr z3epl3E-}krIzo(n1DC~N5|@${E6KXcSxd_u%oa)(8<pxsx5Jj1>W%Lh6}wz6SaBUE zapozh3vb<`^}34(+w$?MD001+&3cRORFtjHrlWeKH@Q>_Gof}kj{zp<wR0J2$u}yg zO}?E^X>DnlEd6nN7NT&#d6a}&bN(CoCwR38e$Z0s;Jesgg<0@2&tHc{7`(}%FbU4( zIuG(Ve{#8r6Y=D!PO{}rUkB}F{emol4r9;*@$#J-1GG<IYE+1QOvh$<+|l%U!^pr* z7`S4jUcuClK~&@lBJ-1@9yQUz7&ZSOKD7LC@Y4s!UjUIfOCcj!wqzZmJ9hW`9&-3% zK3JYjsd4~-!i1R`>HzfzgP4F;)9w5-SX*ji*Km!}?Wt|&ACW?04Jo`6NnII0!6;u0 z4=&VyLJJeA3hyP#H?b~;V*v9Iv5Xr7y&tJM0+Y{S>ZTk<<xvl_J@x-Wm0Ot>-j^u% zLv0N1gNn)G?StB$+7A^AK%hrySq`rGR%P25dRxerDwe58c1+0}G8KS@1tiJ7!hIV? zt2mYS9_e};>%*lBH9S}zKRa)Wx^wUICS&%;1nU*yaQ?->*1lUB?dH@)!!%q=C~TMW zbtX0m>J!d?-h@fJ)0A25<SK)9Q0$tNXo9ZLo$44web^O!B$EW59&#DrxoCtb-E<Pn zCyl=xIysuS6MJGe|Ieo5+U8tj5$FEHt`T9Y@kG<!6(*PeX}9rFU)#=`I%=-@@N%m) UrQ|$oi9NURaqJZqofs4IU#$YMg8%>k diff --git a/twilio/rest/monitor/v1/__init__.py b/twilio/rest/monitor/v1/__init__.py deleted file mode 100644 index efa1a5a..0000000 --- a/twilio/rest/monitor/v1/__init__.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.monitor.v1.alert import AlertList -from twilio.rest.monitor.v1.event import EventList - - -class V1(Version): - - def __init__(self, domain): - """ - Initialize the V1 version of Monitor - - :returns: V1 version of Monitor - :rtype: twilio.rest.monitor.v1.V1.V1 - """ - super(V1, self).__init__(domain) - self.version = 'v1' - self._alerts = None - self._events = None - - @property - def alerts(self): - """ - :rtype: twilio.rest.monitor.v1.alert.AlertList - """ - if self._alerts is None: - self._alerts = AlertList(self) - return self._alerts - - @property - def events(self): - """ - :rtype: twilio.rest.monitor.v1.event.EventList - """ - if self._events is None: - self._events = EventList(self) - return self._events - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Monitor.V1>' diff --git a/twilio/rest/monitor/v1/__pycache__/__init__.cpython-36.pyc b/twilio/rest/monitor/v1/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 474483efb9ce1b9f0f6a7485d8310828d98d90f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1668 zcmcIk&yUkM6t<l-NkeBB7EXwRFRZ2qQYvoM2!YrYLV^*i9p(^4vOKZ76E<yvop#hJ zw;74c{tuk_Teu)`%as%V0w<oGO!%R#_Ox#E@)Ez;-+S--d~a_reE0rM{J}-&Bl>2* zGkO4*J^&+7j06@W#|sh@Y<wqo7H;fX-^~XLFZM8cjKn~A7f5)LoI9~E{6En+*z)k` zG}AOKgrsL&)4$|WDqcxJPc~sfCzMebU|8MVLt4{)HclpB_F0`wYFh74AYwg@?nZY* z6Hnp8c1*%g01}OH;~z_<vtkME@L?`h^)%C!dH8)Tm-Znwk(a~i9Gj#>F@{9RYc$6u z*^3}{q$?cZUZ8Uv55Tv{f$s@l1Q#gwUn3XA0VFwW$ni8K-FoJ3);5>^6-<RHT%&XH zlGOMdo1)c-If8(7tsMvgt2o<#y3{CrvdpTC=h;@$>QvI>DP6a@(PB=Y6);<<u#cW8 zS*_Gk&vpcMm7+6MZAv+#)mfHjMWm#zqD8w{1hqXj|9;V!tfz-#uNml7DU}*PB2B<p z275Es_#K|cXWW!pgCk9u^_VoSmifH#M6uwR?FM6M&b4OjE&9wJ&5{=yvPu5P;!|EE z56kj5Uh(8<k@7q_l8Z7av+~Z#D$B*4dpa-X8-13vm@jVzdeT8p*3;w?S5$744@j?? z+6Q2ee-(T1+g^d}E~8RxW?-1RY1bpT^i41|dI|0MJ5V=l%S@x}J7^EtKIm)nABD6P ziFyk5pB;{g8p1BhP-BeM732TZo1ejJytbUTz}FraGzf8sw?ly6&ivotZ5N|nGT(s@ z0gp0=!!GbG1#UyckKo&x@4%bt+sd021-3Qb_WM0o#X5sCgVVXn<Wl4ts$>a`2a@p$ zWd3jbf5y|(Y$<ns@}m-TrTPuG*AI?bVRQlmHQcxD*^w=%!60HRGWlBh`yJ2P_i!*k z%#tr8C?;fVQHWJ;{1IcXRy=QKEMc3VR0Zg)+9<<ab<LPxz%+ZEcv6|?uwhRZ0JUd= z3~Q`9&5Y%IKt`j{a5S`U561yWlZhf_EWX|;|AcE9bqZDnczkQenP53*`MNX2cGj}O ZZuk{p>seL@2W{^6jW{hxmy9s{oG<wsnY#c0 diff --git a/twilio/rest/monitor/v1/__pycache__/alert.cpython-36.pyc b/twilio/rest/monitor/v1/__pycache__/alert.cpython-36.pyc deleted file mode 100644 index 60a3067d1625d2676c3e56342bd61aaab2b541d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15450 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 diff --git a/twilio/rest/monitor/v1/__pycache__/event.cpython-36.pyc b/twilio/rest/monitor/v1/__pycache__/event.cpython-36.pyc deleted file mode 100644 index 757a2b0ba5d527f0b02ec01fae7c1b86811f746d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14847 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 Kb>S-u%l`+_wUny> diff --git a/twilio/rest/monitor/v1/alert.py b/twilio/rest/monitor/v1/alert.py deleted file mode 100644 index 07b023a..0000000 --- a/twilio/rest/monitor/v1/alert.py +++ /dev/null @@ -1,486 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class AlertList(ListResource): - """ """ - - def __init__(self, version): - """ - Initialize the AlertList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.monitor.v1.alert.AlertList - :rtype: twilio.rest.monitor.v1.alert.AlertList - """ - super(AlertList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Alerts'.format(**self._solution) - - def stream(self, log_level=values.unset, start_date=values.unset, - end_date=values.unset, limit=None, page_size=None): - """ - Streams AlertInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode log_level: The log_level - :param date start_date: The start_date - :param date end_date: The end_date - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.monitor.v1.alert.AlertInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - log_level=log_level, - start_date=start_date, - end_date=end_date, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, log_level=values.unset, start_date=values.unset, - end_date=values.unset, limit=None, page_size=None): - """ - Lists AlertInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode log_level: The log_level - :param date start_date: The start_date - :param date end_date: The end_date - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.monitor.v1.alert.AlertInstance] - """ - return list(self.stream( - log_level=log_level, - start_date=start_date, - end_date=end_date, - limit=limit, - page_size=page_size, - )) - - def page(self, log_level=values.unset, start_date=values.unset, - end_date=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of AlertInstance records from the API. - Request is executed immediately - - :param unicode log_level: The log_level - :param date start_date: The start_date - :param date end_date: The end_date - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of AlertInstance - :rtype: twilio.rest.monitor.v1.alert.AlertPage - """ - params = values.of({ - 'LogLevel': log_level, - 'StartDate': serialize.iso8601_date(start_date), - 'EndDate': serialize.iso8601_date(end_date), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return AlertPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of AlertInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of AlertInstance - :rtype: twilio.rest.monitor.v1.alert.AlertPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return AlertPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a AlertContext - - :param sid: The sid - - :returns: twilio.rest.monitor.v1.alert.AlertContext - :rtype: twilio.rest.monitor.v1.alert.AlertContext - """ - return AlertContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a AlertContext - - :param sid: The sid - - :returns: twilio.rest.monitor.v1.alert.AlertContext - :rtype: twilio.rest.monitor.v1.alert.AlertContext - """ - return AlertContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Monitor.V1.AlertList>' - - -class AlertPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the AlertPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.monitor.v1.alert.AlertPage - :rtype: twilio.rest.monitor.v1.alert.AlertPage - """ - super(AlertPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of AlertInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.monitor.v1.alert.AlertInstance - :rtype: twilio.rest.monitor.v1.alert.AlertInstance - """ - return AlertInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Monitor.V1.AlertPage>' - - -class AlertContext(InstanceContext): - """ """ - - def __init__(self, version, sid): - """ - Initialize the AlertContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.monitor.v1.alert.AlertContext - :rtype: twilio.rest.monitor.v1.alert.AlertContext - """ - super(AlertContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Alerts/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a AlertInstance - - :returns: Fetched AlertInstance - :rtype: twilio.rest.monitor.v1.alert.AlertInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return AlertInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the AlertInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Monitor.V1.AlertContext {}>'.format(context) - - -class AlertInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, sid=None): - """ - Initialize the AlertInstance - - :returns: twilio.rest.monitor.v1.alert.AlertInstance - :rtype: twilio.rest.monitor.v1.alert.AlertInstance - """ - super(AlertInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'alert_text': payload['alert_text'], - 'api_version': payload['api_version'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_generated': deserialize.iso8601_datetime(payload['date_generated']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'error_code': payload['error_code'], - 'log_level': payload['log_level'], - 'more_info': payload['more_info'], - 'request_method': payload['request_method'], - 'request_url': payload['request_url'], - 'resource_sid': payload['resource_sid'], - 'sid': payload['sid'], - 'url': payload['url'], - 'request_variables': payload.get('request_variables'), - 'response_body': payload.get('response_body'), - 'response_headers': payload.get('response_headers'), - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: AlertContext for this AlertInstance - :rtype: twilio.rest.monitor.v1.alert.AlertContext - """ - if self._context is None: - self._context = AlertContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def alert_text(self): - """ - :returns: The alert_text - :rtype: unicode - """ - return self._properties['alert_text'] - - @property - def api_version(self): - """ - :returns: The api_version - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_generated(self): - """ - :returns: The date_generated - :rtype: datetime - """ - return self._properties['date_generated'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def error_code(self): - """ - :returns: The error_code - :rtype: unicode - """ - return self._properties['error_code'] - - @property - def log_level(self): - """ - :returns: The log_level - :rtype: unicode - """ - return self._properties['log_level'] - - @property - def more_info(self): - """ - :returns: The more_info - :rtype: unicode - """ - return self._properties['more_info'] - - @property - def request_method(self): - """ - :returns: The request_method - :rtype: unicode - """ - return self._properties['request_method'] - - @property - def request_url(self): - """ - :returns: The request_url - :rtype: unicode - """ - return self._properties['request_url'] - - @property - def request_variables(self): - """ - :returns: The request_variables - :rtype: unicode - """ - return self._properties['request_variables'] - - @property - def resource_sid(self): - """ - :returns: The resource_sid - :rtype: unicode - """ - return self._properties['resource_sid'] - - @property - def response_body(self): - """ - :returns: The response_body - :rtype: unicode - """ - return self._properties['response_body'] - - @property - def response_headers(self): - """ - :returns: The response_headers - :rtype: unicode - """ - return self._properties['response_headers'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a AlertInstance - - :returns: Fetched AlertInstance - :rtype: twilio.rest.monitor.v1.alert.AlertInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the AlertInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Monitor.V1.AlertInstance {}>'.format(context) diff --git a/twilio/rest/monitor/v1/event.py b/twilio/rest/monitor/v1/event.py deleted file mode 100644 index b10f74a..0000000 --- a/twilio/rest/monitor/v1/event.py +++ /dev/null @@ -1,465 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class EventList(ListResource): - """ """ - - def __init__(self, version): - """ - Initialize the EventList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.monitor.v1.event.EventList - :rtype: twilio.rest.monitor.v1.event.EventList - """ - super(EventList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Events'.format(**self._solution) - - def stream(self, actor_sid=values.unset, event_type=values.unset, - resource_sid=values.unset, source_ip_address=values.unset, - start_date=values.unset, end_date=values.unset, limit=None, - page_size=None): - """ - Streams EventInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode actor_sid: The actor_sid - :param unicode event_type: The event_type - :param unicode resource_sid: The resource_sid - :param unicode source_ip_address: The source_ip_address - :param date start_date: The start_date - :param date end_date: The end_date - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.monitor.v1.event.EventInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - actor_sid=actor_sid, - event_type=event_type, - resource_sid=resource_sid, - source_ip_address=source_ip_address, - start_date=start_date, - end_date=end_date, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, actor_sid=values.unset, event_type=values.unset, - resource_sid=values.unset, source_ip_address=values.unset, - start_date=values.unset, end_date=values.unset, limit=None, - page_size=None): - """ - Lists EventInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode actor_sid: The actor_sid - :param unicode event_type: The event_type - :param unicode resource_sid: The resource_sid - :param unicode source_ip_address: The source_ip_address - :param date start_date: The start_date - :param date end_date: The end_date - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.monitor.v1.event.EventInstance] - """ - return list(self.stream( - actor_sid=actor_sid, - event_type=event_type, - resource_sid=resource_sid, - source_ip_address=source_ip_address, - start_date=start_date, - end_date=end_date, - limit=limit, - page_size=page_size, - )) - - def page(self, actor_sid=values.unset, event_type=values.unset, - resource_sid=values.unset, source_ip_address=values.unset, - start_date=values.unset, end_date=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of EventInstance records from the API. - Request is executed immediately - - :param unicode actor_sid: The actor_sid - :param unicode event_type: The event_type - :param unicode resource_sid: The resource_sid - :param unicode source_ip_address: The source_ip_address - :param date start_date: The start_date - :param date end_date: The end_date - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of EventInstance - :rtype: twilio.rest.monitor.v1.event.EventPage - """ - params = values.of({ - 'ActorSid': actor_sid, - 'EventType': event_type, - 'ResourceSid': resource_sid, - 'SourceIpAddress': source_ip_address, - 'StartDate': serialize.iso8601_date(start_date), - 'EndDate': serialize.iso8601_date(end_date), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return EventPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of EventInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of EventInstance - :rtype: twilio.rest.monitor.v1.event.EventPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return EventPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a EventContext - - :param sid: The sid - - :returns: twilio.rest.monitor.v1.event.EventContext - :rtype: twilio.rest.monitor.v1.event.EventContext - """ - return EventContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a EventContext - - :param sid: The sid - - :returns: twilio.rest.monitor.v1.event.EventContext - :rtype: twilio.rest.monitor.v1.event.EventContext - """ - return EventContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Monitor.V1.EventList>' - - -class EventPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the EventPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.monitor.v1.event.EventPage - :rtype: twilio.rest.monitor.v1.event.EventPage - """ - super(EventPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of EventInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.monitor.v1.event.EventInstance - :rtype: twilio.rest.monitor.v1.event.EventInstance - """ - return EventInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Monitor.V1.EventPage>' - - -class EventContext(InstanceContext): - """ """ - - def __init__(self, version, sid): - """ - Initialize the EventContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.monitor.v1.event.EventContext - :rtype: twilio.rest.monitor.v1.event.EventContext - """ - super(EventContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Events/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a EventInstance - - :returns: Fetched EventInstance - :rtype: twilio.rest.monitor.v1.event.EventInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return EventInstance(self._version, payload, sid=self._solution['sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Monitor.V1.EventContext {}>'.format(context) - - -class EventInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, sid=None): - """ - Initialize the EventInstance - - :returns: twilio.rest.monitor.v1.event.EventInstance - :rtype: twilio.rest.monitor.v1.event.EventInstance - """ - super(EventInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'actor_sid': payload['actor_sid'], - 'actor_type': payload['actor_type'], - 'description': payload['description'], - 'event_data': payload['event_data'], - 'event_date': deserialize.iso8601_datetime(payload['event_date']), - 'event_type': payload['event_type'], - 'resource_sid': payload['resource_sid'], - 'resource_type': payload['resource_type'], - 'sid': payload['sid'], - 'source': payload['source'], - 'source_ip_address': payload['source_ip_address'], - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: EventContext for this EventInstance - :rtype: twilio.rest.monitor.v1.event.EventContext - """ - if self._context is None: - self._context = EventContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def actor_sid(self): - """ - :returns: The actor_sid - :rtype: unicode - """ - return self._properties['actor_sid'] - - @property - def actor_type(self): - """ - :returns: The actor_type - :rtype: unicode - """ - return self._properties['actor_type'] - - @property - def description(self): - """ - :returns: The description - :rtype: unicode - """ - return self._properties['description'] - - @property - def event_data(self): - """ - :returns: The event_data - :rtype: dict - """ - return self._properties['event_data'] - - @property - def event_date(self): - """ - :returns: The event_date - :rtype: datetime - """ - return self._properties['event_date'] - - @property - def event_type(self): - """ - :returns: The event_type - :rtype: unicode - """ - return self._properties['event_type'] - - @property - def resource_sid(self): - """ - :returns: The resource_sid - :rtype: unicode - """ - return self._properties['resource_sid'] - - @property - def resource_type(self): - """ - :returns: The resource_type - :rtype: unicode - """ - return self._properties['resource_type'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def source(self): - """ - :returns: The source - :rtype: unicode - """ - return self._properties['source'] - - @property - def source_ip_address(self): - """ - :returns: The source_ip_address - :rtype: unicode - """ - return self._properties['source_ip_address'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a EventInstance - - :returns: Fetched EventInstance - :rtype: twilio.rest.monitor.v1.event.EventInstance - """ - return self._proxy.fetch() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Monitor.V1.EventInstance {}>'.format(context) diff --git a/twilio/rest/notify/__init__.py b/twilio/rest/notify/__init__.py deleted file mode 100644 index 5dabaa6..0000000 --- a/twilio/rest/notify/__init__.py +++ /dev/null @@ -1,60 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.domain import Domain -from twilio.rest.notify.v1 import V1 - - -class Notify(Domain): - - def __init__(self, twilio): - """ - Initialize the Notify Domain - - :returns: Domain for Notify - :rtype: twilio.rest.notify.Notify - """ - super(Notify, self).__init__(twilio) - - self.base_url = 'https://notify.twilio.com' - - # Versions - self._v1 = None - - @property - def v1(self): - """ - :returns: Version v1 of notify - :rtype: twilio.rest.notify.v1.V1 - """ - if self._v1 is None: - self._v1 = V1(self) - return self._v1 - - @property - def credentials(self): - """ - :rtype: twilio.rest.notify.v1.credential.CredentialList - """ - return self.v1.credentials - - @property - def services(self): - """ - :rtype: twilio.rest.notify.v1.service.ServiceList - """ - return self.v1.services - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Notify>' diff --git a/twilio/rest/notify/__pycache__/__init__.cpython-36.pyc b/twilio/rest/notify/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 2502d92632f9430c24aea09337b4804ff0c3c1af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1799 zcma)6L5tf)6dsLaOV)a`A+(1S3UllF5P41L#e|Tsfh3SFE!i$q6%1O<xYkyd)EU`} zg>%}4{EVLaTYBkP*Pi+Vdg-a}NwU@jZ|K0hdD6U@_q{jYdruD!-QWNC)&JWf<WI6Q z;G4XFsZT%%;uB#Anivb}Qv-D~F&CC^8RRt)mgwCQ(UbJX^n0TJo{a1=bkFCpW>F?2 zyACz`Nv2YTg%s>^?FMYjID-L#Z`##m8+Ob`!5G9b-vr|g+Z>O<Vm0wjyb~Ag860fJ z*!>HDk&#jLUuBChPC=s=lL&uqhuJFn4JeZM2E;)>l9_?A+&aD~Eny1lmfRSA4|Kp@ z>wVB|;ncb<2Ex51zVne-#2-Lx2UY(pE8^KYqV4^-qA#49fhb5}Y{(70q8sDJz<g~8 zHw6W02?}?Z<%c#N#@?oJ5r;`!N><DzYwl)EP;O^6RkB#BR8QL-Hp^6NyJJ(Vb2(+j zb)3YRr=%{tw1(<6w|180<9Si!dO9Ar`|Xh^Tbzx0RZlN-sT6XcayX9xA?KBI8EVOw zDydAqnv7^=X_?IYesdP`Kj1t{LajOfjr{ZD=`{FWOQnPFVt*cH!OJ{<6&7LeE{nn> zIG2k&$m9IU<uXphlcze#W@~*NG?#4`3?XPB23s6nzE*ueb_7$SLhOgMZ<a?*jNaBR zGH?$DuJ}Z!F!dK8HslJP<Yz~HRzDLyPW=xahL%5cNxDn<1%wf2DKL>`GuGhQF}pYG zz}$;TXLvTE$^rKZc``E80QG}T3_+{tYVswlO<aA~aE)@%#<iOKCnAihjtH;Bh^`F4 zZ<KF4e^d1-V3CqSrpP?+v{T>3y6DaW+(X24aA&Ib!&VQ#?kkwOE{R_GsKvZ<@_&Ip z?VNuaJn(82N78%Wtb1WQt<im$kw4xJ<}H7=$Myrpnh=<2T9zHyZ&kL6q0xnGrec|j zWX+V!fxM95umI-ltK)CNXdb8X-Xm?JW7|yVLUj(yqi5$$kvEBcUh`=G<6s3N8qUA& zqP2IbrP&*~XqScy36<`0zR1KfL4C;iFUv4#cIv{boLptlABuI&kNWWyW>Y-`Q608j zAd*P}o;!jAIv0(Q=XGmAa%ueK(BXrjJG6&({r_y#uWZgm7IE%BYC9A59#7PrULnc+ k&)bdNF1MQ0wN>A8=eW`8@^YRvaXq)uH#QH84vnGtFJ$bs761SM diff --git a/twilio/rest/notify/v1/__init__.py b/twilio/rest/notify/v1/__init__.py deleted file mode 100644 index 2003033..0000000 --- a/twilio/rest/notify/v1/__init__.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.notify.v1.credential import CredentialList -from twilio.rest.notify.v1.service import ServiceList - - -class V1(Version): - - def __init__(self, domain): - """ - Initialize the V1 version of Notify - - :returns: V1 version of Notify - :rtype: twilio.rest.notify.v1.V1.V1 - """ - super(V1, self).__init__(domain) - self.version = 'v1' - self._credentials = None - self._services = None - - @property - def credentials(self): - """ - :rtype: twilio.rest.notify.v1.credential.CredentialList - """ - if self._credentials is None: - self._credentials = CredentialList(self) - return self._credentials - - @property - def services(self): - """ - :rtype: twilio.rest.notify.v1.service.ServiceList - """ - if self._services is None: - self._services = ServiceList(self) - return self._services - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Notify.V1>' diff --git a/twilio/rest/notify/v1/__pycache__/__init__.cpython-36.pyc b/twilio/rest/notify/v1/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 367f03f51fa13623d3d0e1ffb2f46218264c3a75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1708 zcmbVMPjA~c6elHFk`*WYvz>+w;H5)+s9d8rBPcecz)+wIIyB2c5Jo5>-LRD<jg%eO z&@BOqeu|#^S$gSN*PZqicIqP~E9sE*P|A9GCLhW7d++_;<K5lh<EQu0y#Yf1plibc z{TF!E0SJa7#4ximys#n*Yu(Q5g%deOce264ja-a=Lu|m@OT=7mUD%Pwyq9R~Z<65n zOem5TjFa<3kykwDGO0Ktr|Tdl6G90L5VY>T0jbG89mf+8`?QWHHL3R}V6mEpkHSZR zwkNQ$9h2Z+a1xDi<DGD+M3IBKcPKgIc_otUxlk3%?7ZZ1B~q^crh3D6*qvgqaui{} zYrREttTA8uk<A@uGv^Xr;AjB4!3es`Jmz1b$a{+%6#0O4*jOji)auUDUwyWI)z2U* zRN)$3Sg)-bUtk@(8c~~BARQwI%z{(w&ASdEA<uH5A&3np)fp!zQ?hCyl44Gdib~Aa zL2o>hyjsd!&2F~q!bN7XT9<rAs&kQvB9vTJVQ!8JA-*U2*B=>KtLf3$Z3b#taw(xq zP~%f7z%5D}uXCmu(X<b@YKBy`p;lw7aTL$yjmwHfB6MPgl%`pt6r~@~e}5g$;y=My z#eazCEGgn&%kpVbCGqnjO|tlyFUq(S<-^mZ$k@ZjDl6t|bso2#Z$BD9+yaPK(|GG$ zSgxf9{@&H$_dy`<E_UJB>;T5CRf_cr4E@y^JA_yL0HQ{(AwzF``Mt@S&Xt*i3|X6J zeT2Rq&8x74UlwG)|7dK<AzUYQnT)aA(fVF5?ts?pTpgo+gbC$>K!X4Wc(Vs!t}TBf zp2OasujA<w8(!m5zf&U#z%Qwr$1O<wZDl+Fo9i%iPPS`bV9<FnInk#wY@)yE?|dPP zm4LpIkhv5*XW5!aUP46x^^*!(!A<P=JxR|*&TrlFf1;>L_7`sM9~`&5Y1s#4d1BIa z8(>PcLzIRZuxSlmSAgw2Gz}nBo-8;JDxh>xuw|z85v6}GldN4amE8EHEP#g9TI!;f z_q4bVqS@_8mGUfu3;Xf`r*^fGt|CKTy<*7VTcgovI2xMSqp{z3l(HhFH2SXV3#W<V xVMlPO9glA57+2M2YB>7o=El-x*HnkO^~%jwGo|hyv;lacscSrStPzIC{tV`ksQCZ@ diff --git a/twilio/rest/notify/v1/__pycache__/credential.cpython-36.pyc b/twilio/rest/notify/v1/__pycache__/credential.cpython-36.pyc deleted file mode 100644 index 4276a112d4954cdf033e309074c85bafb2f156c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16239 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 diff --git a/twilio/rest/notify/v1/credential.py b/twilio/rest/notify/v1/credential.py deleted file mode 100644 index 969bff6..0000000 --- a/twilio/rest/notify/v1/credential.py +++ /dev/null @@ -1,476 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class CredentialList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version): - """ - Initialize the CredentialList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.notify.v1.credential.CredentialList - :rtype: twilio.rest.notify.v1.credential.CredentialList - """ - super(CredentialList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Credentials'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams CredentialInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.notify.v1.credential.CredentialInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists CredentialInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.notify.v1.credential.CredentialInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of CredentialInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of CredentialInstance - :rtype: twilio.rest.notify.v1.credential.CredentialPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return CredentialPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of CredentialInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of CredentialInstance - :rtype: twilio.rest.notify.v1.credential.CredentialPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return CredentialPage(self._version, response, self._solution) - - def create(self, type, friendly_name=values.unset, certificate=values.unset, - private_key=values.unset, sandbox=values.unset, api_key=values.unset, - secret=values.unset): - """ - Create a new CredentialInstance - - :param CredentialInstance.PushService type: The type - :param unicode friendly_name: The friendly_name - :param unicode certificate: The certificate - :param unicode private_key: The private_key - :param bool sandbox: The sandbox - :param unicode api_key: The api_key - :param unicode secret: The secret - - :returns: Newly created CredentialInstance - :rtype: twilio.rest.notify.v1.credential.CredentialInstance - """ - data = values.of({ - 'Type': type, - 'FriendlyName': friendly_name, - 'Certificate': certificate, - 'PrivateKey': private_key, - 'Sandbox': sandbox, - 'ApiKey': api_key, - 'Secret': secret, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return CredentialInstance(self._version, payload, ) - - def get(self, sid): - """ - Constructs a CredentialContext - - :param sid: The sid - - :returns: twilio.rest.notify.v1.credential.CredentialContext - :rtype: twilio.rest.notify.v1.credential.CredentialContext - """ - return CredentialContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a CredentialContext - - :param sid: The sid - - :returns: twilio.rest.notify.v1.credential.CredentialContext - :rtype: twilio.rest.notify.v1.credential.CredentialContext - """ - return CredentialContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Notify.V1.CredentialList>' - - -class CredentialPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the CredentialPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.notify.v1.credential.CredentialPage - :rtype: twilio.rest.notify.v1.credential.CredentialPage - """ - super(CredentialPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of CredentialInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.notify.v1.credential.CredentialInstance - :rtype: twilio.rest.notify.v1.credential.CredentialInstance - """ - return CredentialInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Notify.V1.CredentialPage>' - - -class CredentialContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, sid): - """ - Initialize the CredentialContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.notify.v1.credential.CredentialContext - :rtype: twilio.rest.notify.v1.credential.CredentialContext - """ - super(CredentialContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Credentials/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a CredentialInstance - - :returns: Fetched CredentialInstance - :rtype: twilio.rest.notify.v1.credential.CredentialInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return CredentialInstance(self._version, payload, sid=self._solution['sid'], ) - - def update(self, friendly_name=values.unset, certificate=values.unset, - private_key=values.unset, sandbox=values.unset, api_key=values.unset, - secret=values.unset): - """ - Update the CredentialInstance - - :param unicode friendly_name: The friendly_name - :param unicode certificate: The certificate - :param unicode private_key: The private_key - :param bool sandbox: The sandbox - :param unicode api_key: The api_key - :param unicode secret: The secret - - :returns: Updated CredentialInstance - :rtype: twilio.rest.notify.v1.credential.CredentialInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'Certificate': certificate, - 'PrivateKey': private_key, - 'Sandbox': sandbox, - 'ApiKey': api_key, - 'Secret': secret, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return CredentialInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the CredentialInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Notify.V1.CredentialContext {}>'.format(context) - - -class CredentialInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - class PushService(object): - GCM = "gcm" - APN = "apn" - FCM = "fcm" - - def __init__(self, version, payload, sid=None): - """ - Initialize the CredentialInstance - - :returns: twilio.rest.notify.v1.credential.CredentialInstance - :rtype: twilio.rest.notify.v1.credential.CredentialInstance - """ - super(CredentialInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'friendly_name': payload['friendly_name'], - 'type': payload['type'], - 'sandbox': payload['sandbox'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: CredentialContext for this CredentialInstance - :rtype: twilio.rest.notify.v1.credential.CredentialContext - """ - if self._context is None: - self._context = CredentialContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def type(self): - """ - :returns: The type - :rtype: CredentialInstance.PushService - """ - return self._properties['type'] - - @property - def sandbox(self): - """ - :returns: The sandbox - :rtype: unicode - """ - return self._properties['sandbox'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a CredentialInstance - - :returns: Fetched CredentialInstance - :rtype: twilio.rest.notify.v1.credential.CredentialInstance - """ - return self._proxy.fetch() - - def update(self, friendly_name=values.unset, certificate=values.unset, - private_key=values.unset, sandbox=values.unset, api_key=values.unset, - secret=values.unset): - """ - Update the CredentialInstance - - :param unicode friendly_name: The friendly_name - :param unicode certificate: The certificate - :param unicode private_key: The private_key - :param bool sandbox: The sandbox - :param unicode api_key: The api_key - :param unicode secret: The secret - - :returns: Updated CredentialInstance - :rtype: twilio.rest.notify.v1.credential.CredentialInstance - """ - return self._proxy.update( - friendly_name=friendly_name, - certificate=certificate, - private_key=private_key, - sandbox=sandbox, - api_key=api_key, - secret=secret, - ) - - def delete(self): - """ - Deletes the CredentialInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Notify.V1.CredentialInstance {}>'.format(context) diff --git a/twilio/rest/notify/v1/service/__init__.py b/twilio/rest/notify/v1/service/__init__.py deleted file mode 100644 index 6c96faf..0000000 --- a/twilio/rest/notify/v1/service/__init__.py +++ /dev/null @@ -1,719 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.notify.v1.service.binding import BindingList -from twilio.rest.notify.v1.service.notification import NotificationList -from twilio.rest.notify.v1.service.segment import SegmentList -from twilio.rest.notify.v1.service.user import UserList - - -class ServiceList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version): - """ - Initialize the ServiceList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.notify.v1.service.ServiceList - :rtype: twilio.rest.notify.v1.service.ServiceList - """ - super(ServiceList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Services'.format(**self._solution) - - def create(self, friendly_name=values.unset, apn_credential_sid=values.unset, - gcm_credential_sid=values.unset, messaging_service_sid=values.unset, - facebook_messenger_page_id=values.unset, - default_apn_notification_protocol_version=values.unset, - default_gcm_notification_protocol_version=values.unset, - fcm_credential_sid=values.unset, - default_fcm_notification_protocol_version=values.unset, - log_enabled=values.unset, alexa_skill_id=values.unset, - default_alexa_notification_protocol_version=values.unset): - """ - Create a new ServiceInstance - - :param unicode friendly_name: The friendly_name - :param unicode apn_credential_sid: The apn_credential_sid - :param unicode gcm_credential_sid: The gcm_credential_sid - :param unicode messaging_service_sid: The messaging_service_sid - :param unicode facebook_messenger_page_id: The facebook_messenger_page_id - :param unicode default_apn_notification_protocol_version: The default_apn_notification_protocol_version - :param unicode default_gcm_notification_protocol_version: The default_gcm_notification_protocol_version - :param unicode fcm_credential_sid: The fcm_credential_sid - :param unicode default_fcm_notification_protocol_version: The default_fcm_notification_protocol_version - :param bool log_enabled: The log_enabled - :param unicode alexa_skill_id: The alexa_skill_id - :param unicode default_alexa_notification_protocol_version: The default_alexa_notification_protocol_version - - :returns: Newly created ServiceInstance - :rtype: twilio.rest.notify.v1.service.ServiceInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'ApnCredentialSid': apn_credential_sid, - 'GcmCredentialSid': gcm_credential_sid, - 'MessagingServiceSid': messaging_service_sid, - 'FacebookMessengerPageId': facebook_messenger_page_id, - 'DefaultApnNotificationProtocolVersion': default_apn_notification_protocol_version, - 'DefaultGcmNotificationProtocolVersion': default_gcm_notification_protocol_version, - 'FcmCredentialSid': fcm_credential_sid, - 'DefaultFcmNotificationProtocolVersion': default_fcm_notification_protocol_version, - 'LogEnabled': log_enabled, - 'AlexaSkillId': alexa_skill_id, - 'DefaultAlexaNotificationProtocolVersion': default_alexa_notification_protocol_version, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return ServiceInstance(self._version, payload, ) - - def stream(self, friendly_name=values.unset, limit=None, page_size=None): - """ - Streams ServiceInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode friendly_name: The friendly_name - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.notify.v1.service.ServiceInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(friendly_name=friendly_name, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, friendly_name=values.unset, limit=None, page_size=None): - """ - Lists ServiceInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode friendly_name: The friendly_name - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.notify.v1.service.ServiceInstance] - """ - return list(self.stream(friendly_name=friendly_name, limit=limit, page_size=page_size, )) - - def page(self, friendly_name=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of ServiceInstance records from the API. - Request is executed immediately - - :param unicode friendly_name: The friendly_name - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ServiceInstance - :rtype: twilio.rest.notify.v1.service.ServicePage - """ - params = values.of({ - 'FriendlyName': friendly_name, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ServicePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ServiceInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ServiceInstance - :rtype: twilio.rest.notify.v1.service.ServicePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ServicePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a ServiceContext - - :param sid: The sid - - :returns: twilio.rest.notify.v1.service.ServiceContext - :rtype: twilio.rest.notify.v1.service.ServiceContext - """ - return ServiceContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a ServiceContext - - :param sid: The sid - - :returns: twilio.rest.notify.v1.service.ServiceContext - :rtype: twilio.rest.notify.v1.service.ServiceContext - """ - return ServiceContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Notify.V1.ServiceList>' - - -class ServicePage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the ServicePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.notify.v1.service.ServicePage - :rtype: twilio.rest.notify.v1.service.ServicePage - """ - super(ServicePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ServiceInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.notify.v1.service.ServiceInstance - :rtype: twilio.rest.notify.v1.service.ServiceInstance - """ - return ServiceInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Notify.V1.ServicePage>' - - -class ServiceContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, sid): - """ - Initialize the ServiceContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.notify.v1.service.ServiceContext - :rtype: twilio.rest.notify.v1.service.ServiceContext - """ - super(ServiceContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Services/{sid}'.format(**self._solution) - - # Dependents - self._bindings = None - self._notifications = None - self._users = None - self._segments = None - - def delete(self): - """ - Deletes the ServiceInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def fetch(self): - """ - Fetch a ServiceInstance - - :returns: Fetched ServiceInstance - :rtype: twilio.rest.notify.v1.service.ServiceInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ServiceInstance(self._version, payload, sid=self._solution['sid'], ) - - def update(self, friendly_name=values.unset, apn_credential_sid=values.unset, - gcm_credential_sid=values.unset, messaging_service_sid=values.unset, - facebook_messenger_page_id=values.unset, - default_apn_notification_protocol_version=values.unset, - default_gcm_notification_protocol_version=values.unset, - fcm_credential_sid=values.unset, - default_fcm_notification_protocol_version=values.unset, - log_enabled=values.unset, alexa_skill_id=values.unset, - default_alexa_notification_protocol_version=values.unset): - """ - Update the ServiceInstance - - :param unicode friendly_name: The friendly_name - :param unicode apn_credential_sid: The apn_credential_sid - :param unicode gcm_credential_sid: The gcm_credential_sid - :param unicode messaging_service_sid: The messaging_service_sid - :param unicode facebook_messenger_page_id: The facebook_messenger_page_id - :param unicode default_apn_notification_protocol_version: The default_apn_notification_protocol_version - :param unicode default_gcm_notification_protocol_version: The default_gcm_notification_protocol_version - :param unicode fcm_credential_sid: The fcm_credential_sid - :param unicode default_fcm_notification_protocol_version: The default_fcm_notification_protocol_version - :param bool log_enabled: The log_enabled - :param unicode alexa_skill_id: The alexa_skill_id - :param unicode default_alexa_notification_protocol_version: The default_alexa_notification_protocol_version - - :returns: Updated ServiceInstance - :rtype: twilio.rest.notify.v1.service.ServiceInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'ApnCredentialSid': apn_credential_sid, - 'GcmCredentialSid': gcm_credential_sid, - 'MessagingServiceSid': messaging_service_sid, - 'FacebookMessengerPageId': facebook_messenger_page_id, - 'DefaultApnNotificationProtocolVersion': default_apn_notification_protocol_version, - 'DefaultGcmNotificationProtocolVersion': default_gcm_notification_protocol_version, - 'FcmCredentialSid': fcm_credential_sid, - 'DefaultFcmNotificationProtocolVersion': default_fcm_notification_protocol_version, - 'LogEnabled': log_enabled, - 'AlexaSkillId': alexa_skill_id, - 'DefaultAlexaNotificationProtocolVersion': default_alexa_notification_protocol_version, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ServiceInstance(self._version, payload, sid=self._solution['sid'], ) - - @property - def bindings(self): - """ - Access the bindings - - :returns: twilio.rest.notify.v1.service.binding.BindingList - :rtype: twilio.rest.notify.v1.service.binding.BindingList - """ - if self._bindings is None: - self._bindings = BindingList(self._version, service_sid=self._solution['sid'], ) - return self._bindings - - @property - def notifications(self): - """ - Access the notifications - - :returns: twilio.rest.notify.v1.service.notification.NotificationList - :rtype: twilio.rest.notify.v1.service.notification.NotificationList - """ - if self._notifications is None: - self._notifications = NotificationList(self._version, service_sid=self._solution['sid'], ) - return self._notifications - - @property - def users(self): - """ - Access the users - - :returns: twilio.rest.notify.v1.service.user.UserList - :rtype: twilio.rest.notify.v1.service.user.UserList - """ - if self._users is None: - self._users = UserList(self._version, service_sid=self._solution['sid'], ) - return self._users - - @property - def segments(self): - """ - Access the segments - - :returns: twilio.rest.notify.v1.service.segment.SegmentList - :rtype: twilio.rest.notify.v1.service.segment.SegmentList - """ - if self._segments is None: - self._segments = SegmentList(self._version, service_sid=self._solution['sid'], ) - return self._segments - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Notify.V1.ServiceContext {}>'.format(context) - - -class ServiceInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, payload, sid=None): - """ - Initialize the ServiceInstance - - :returns: twilio.rest.notify.v1.service.ServiceInstance - :rtype: twilio.rest.notify.v1.service.ServiceInstance - """ - super(ServiceInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'friendly_name': payload['friendly_name'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'apn_credential_sid': payload['apn_credential_sid'], - 'gcm_credential_sid': payload['gcm_credential_sid'], - 'fcm_credential_sid': payload['fcm_credential_sid'], - 'messaging_service_sid': payload['messaging_service_sid'], - 'facebook_messenger_page_id': payload['facebook_messenger_page_id'], - 'default_apn_notification_protocol_version': payload['default_apn_notification_protocol_version'], - 'default_gcm_notification_protocol_version': payload['default_gcm_notification_protocol_version'], - 'default_fcm_notification_protocol_version': payload['default_fcm_notification_protocol_version'], - 'log_enabled': payload['log_enabled'], - 'url': payload['url'], - 'links': payload['links'], - 'alexa_skill_id': payload['alexa_skill_id'], - 'default_alexa_notification_protocol_version': payload['default_alexa_notification_protocol_version'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ServiceContext for this ServiceInstance - :rtype: twilio.rest.notify.v1.service.ServiceContext - """ - if self._context is None: - self._context = ServiceContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def apn_credential_sid(self): - """ - :returns: The apn_credential_sid - :rtype: unicode - """ - return self._properties['apn_credential_sid'] - - @property - def gcm_credential_sid(self): - """ - :returns: The gcm_credential_sid - :rtype: unicode - """ - return self._properties['gcm_credential_sid'] - - @property - def fcm_credential_sid(self): - """ - :returns: The fcm_credential_sid - :rtype: unicode - """ - return self._properties['fcm_credential_sid'] - - @property - def messaging_service_sid(self): - """ - :returns: The messaging_service_sid - :rtype: unicode - """ - return self._properties['messaging_service_sid'] - - @property - def facebook_messenger_page_id(self): - """ - :returns: The facebook_messenger_page_id - :rtype: unicode - """ - return self._properties['facebook_messenger_page_id'] - - @property - def default_apn_notification_protocol_version(self): - """ - :returns: The default_apn_notification_protocol_version - :rtype: unicode - """ - return self._properties['default_apn_notification_protocol_version'] - - @property - def default_gcm_notification_protocol_version(self): - """ - :returns: The default_gcm_notification_protocol_version - :rtype: unicode - """ - return self._properties['default_gcm_notification_protocol_version'] - - @property - def default_fcm_notification_protocol_version(self): - """ - :returns: The default_fcm_notification_protocol_version - :rtype: unicode - """ - return self._properties['default_fcm_notification_protocol_version'] - - @property - def log_enabled(self): - """ - :returns: The log_enabled - :rtype: bool - """ - return self._properties['log_enabled'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - @property - def alexa_skill_id(self): - """ - :returns: The alexa_skill_id - :rtype: unicode - """ - return self._properties['alexa_skill_id'] - - @property - def default_alexa_notification_protocol_version(self): - """ - :returns: The default_alexa_notification_protocol_version - :rtype: unicode - """ - return self._properties['default_alexa_notification_protocol_version'] - - def delete(self): - """ - Deletes the ServiceInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def fetch(self): - """ - Fetch a ServiceInstance - - :returns: Fetched ServiceInstance - :rtype: twilio.rest.notify.v1.service.ServiceInstance - """ - return self._proxy.fetch() - - def update(self, friendly_name=values.unset, apn_credential_sid=values.unset, - gcm_credential_sid=values.unset, messaging_service_sid=values.unset, - facebook_messenger_page_id=values.unset, - default_apn_notification_protocol_version=values.unset, - default_gcm_notification_protocol_version=values.unset, - fcm_credential_sid=values.unset, - default_fcm_notification_protocol_version=values.unset, - log_enabled=values.unset, alexa_skill_id=values.unset, - default_alexa_notification_protocol_version=values.unset): - """ - Update the ServiceInstance - - :param unicode friendly_name: The friendly_name - :param unicode apn_credential_sid: The apn_credential_sid - :param unicode gcm_credential_sid: The gcm_credential_sid - :param unicode messaging_service_sid: The messaging_service_sid - :param unicode facebook_messenger_page_id: The facebook_messenger_page_id - :param unicode default_apn_notification_protocol_version: The default_apn_notification_protocol_version - :param unicode default_gcm_notification_protocol_version: The default_gcm_notification_protocol_version - :param unicode fcm_credential_sid: The fcm_credential_sid - :param unicode default_fcm_notification_protocol_version: The default_fcm_notification_protocol_version - :param bool log_enabled: The log_enabled - :param unicode alexa_skill_id: The alexa_skill_id - :param unicode default_alexa_notification_protocol_version: The default_alexa_notification_protocol_version - - :returns: Updated ServiceInstance - :rtype: twilio.rest.notify.v1.service.ServiceInstance - """ - return self._proxy.update( - friendly_name=friendly_name, - apn_credential_sid=apn_credential_sid, - gcm_credential_sid=gcm_credential_sid, - messaging_service_sid=messaging_service_sid, - facebook_messenger_page_id=facebook_messenger_page_id, - default_apn_notification_protocol_version=default_apn_notification_protocol_version, - default_gcm_notification_protocol_version=default_gcm_notification_protocol_version, - fcm_credential_sid=fcm_credential_sid, - default_fcm_notification_protocol_version=default_fcm_notification_protocol_version, - log_enabled=log_enabled, - alexa_skill_id=alexa_skill_id, - default_alexa_notification_protocol_version=default_alexa_notification_protocol_version, - ) - - @property - def bindings(self): - """ - Access the bindings - - :returns: twilio.rest.notify.v1.service.binding.BindingList - :rtype: twilio.rest.notify.v1.service.binding.BindingList - """ - return self._proxy.bindings - - @property - def notifications(self): - """ - Access the notifications - - :returns: twilio.rest.notify.v1.service.notification.NotificationList - :rtype: twilio.rest.notify.v1.service.notification.NotificationList - """ - return self._proxy.notifications - - @property - def users(self): - """ - Access the users - - :returns: twilio.rest.notify.v1.service.user.UserList - :rtype: twilio.rest.notify.v1.service.user.UserList - """ - return self._proxy.users - - @property - def segments(self): - """ - Access the segments - - :returns: twilio.rest.notify.v1.service.segment.SegmentList - :rtype: twilio.rest.notify.v1.service.segment.SegmentList - """ - return self._proxy.segments - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Notify.V1.ServiceInstance {}>'.format(context) diff --git a/twilio/rest/notify/v1/service/__pycache__/__init__.cpython-36.pyc b/twilio/rest/notify/v1/service/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 409a2bbf79e85683fda0f01479e9326b2a64470b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24312 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 S*&*_mT>Smm>x(B)KJowXp?E3) diff --git a/twilio/rest/notify/v1/service/__pycache__/binding.cpython-36.pyc b/twilio/rest/notify/v1/service/__pycache__/binding.cpython-36.pyc deleted file mode 100644 index d3cfd0255367fa7e3848e202447539fb65898e4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17614 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 QNBvpV-!raNYt{Gu7v<t|>i_@% diff --git a/twilio/rest/notify/v1/service/__pycache__/notification.cpython-36.pyc b/twilio/rest/notify/v1/service/__pycache__/notification.cpython-36.pyc deleted file mode 100644 index 1fda5808bf6b41a048873bf18936174e546a389b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11036 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 diff --git a/twilio/rest/notify/v1/service/__pycache__/segment.cpython-36.pyc b/twilio/rest/notify/v1/service/__pycache__/segment.cpython-36.pyc deleted file mode 100644 index c0e002f38655c44e0800b66d11352b6a68d5eafb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9119 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 V!N99cv{bT=RNc(~?B#g5_ix0GZ}$KI diff --git a/twilio/rest/notify/v1/service/binding.py b/twilio/rest/notify/v1/service/binding.py deleted file mode 100644 index a3769ce..0000000 --- a/twilio/rest/notify/v1/service/binding.py +++ /dev/null @@ -1,524 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class BindingList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid): - """ - Initialize the BindingList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.notify.v1.service.binding.BindingList - :rtype: twilio.rest.notify.v1.service.binding.BindingList - """ - super(BindingList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Bindings'.format(**self._solution) - - def create(self, identity, binding_type, address, tag=values.unset, - notification_protocol_version=values.unset, - credential_sid=values.unset, endpoint=values.unset): - """ - Create a new BindingInstance - - :param unicode identity: The identity - :param BindingInstance.BindingType binding_type: The binding_type - :param unicode address: The address - :param unicode tag: The tag - :param unicode notification_protocol_version: The notification_protocol_version - :param unicode credential_sid: The credential_sid - :param unicode endpoint: The endpoint - - :returns: Newly created BindingInstance - :rtype: twilio.rest.notify.v1.service.binding.BindingInstance - """ - data = values.of({ - 'Identity': identity, - 'BindingType': binding_type, - 'Address': address, - 'Tag': serialize.map(tag, lambda e: e), - 'NotificationProtocolVersion': notification_protocol_version, - 'CredentialSid': credential_sid, - 'Endpoint': endpoint, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return BindingInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, start_date=values.unset, end_date=values.unset, - identity=values.unset, tag=values.unset, limit=None, page_size=None): - """ - Streams BindingInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param date start_date: The start_date - :param date end_date: The end_date - :param unicode identity: The identity - :param unicode tag: The tag - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.notify.v1.service.binding.BindingInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - start_date=start_date, - end_date=end_date, - identity=identity, - tag=tag, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, start_date=values.unset, end_date=values.unset, - identity=values.unset, tag=values.unset, limit=None, page_size=None): - """ - Lists BindingInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param date start_date: The start_date - :param date end_date: The end_date - :param unicode identity: The identity - :param unicode tag: The tag - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.notify.v1.service.binding.BindingInstance] - """ - return list(self.stream( - start_date=start_date, - end_date=end_date, - identity=identity, - tag=tag, - limit=limit, - page_size=page_size, - )) - - def page(self, start_date=values.unset, end_date=values.unset, - identity=values.unset, tag=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of BindingInstance records from the API. - Request is executed immediately - - :param date start_date: The start_date - :param date end_date: The end_date - :param unicode identity: The identity - :param unicode tag: The tag - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of BindingInstance - :rtype: twilio.rest.notify.v1.service.binding.BindingPage - """ - params = values.of({ - 'StartDate': serialize.iso8601_date(start_date), - 'EndDate': serialize.iso8601_date(end_date), - 'Identity': serialize.map(identity, lambda e: e), - 'Tag': serialize.map(tag, lambda e: e), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return BindingPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of BindingInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of BindingInstance - :rtype: twilio.rest.notify.v1.service.binding.BindingPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return BindingPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a BindingContext - - :param sid: The sid - - :returns: twilio.rest.notify.v1.service.binding.BindingContext - :rtype: twilio.rest.notify.v1.service.binding.BindingContext - """ - return BindingContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a BindingContext - - :param sid: The sid - - :returns: twilio.rest.notify.v1.service.binding.BindingContext - :rtype: twilio.rest.notify.v1.service.binding.BindingContext - """ - return BindingContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Notify.V1.BindingList>' - - -class BindingPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the BindingPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.notify.v1.service.binding.BindingPage - :rtype: twilio.rest.notify.v1.service.binding.BindingPage - """ - super(BindingPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of BindingInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.notify.v1.service.binding.BindingInstance - :rtype: twilio.rest.notify.v1.service.binding.BindingInstance - """ - return BindingInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Notify.V1.BindingPage>' - - -class BindingContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the BindingContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.notify.v1.service.binding.BindingContext - :rtype: twilio.rest.notify.v1.service.binding.BindingContext - """ - super(BindingContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Bindings/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a BindingInstance - - :returns: Fetched BindingInstance - :rtype: twilio.rest.notify.v1.service.binding.BindingInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return BindingInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the BindingInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Notify.V1.BindingContext {}>'.format(context) - - -class BindingInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - class BindingType(object): - APN = "apn" - GCM = "gcm" - SMS = "sms" - FCM = "fcm" - FACEBOOK_MESSENGER = "facebook-messenger" - ALEXA = "alexa" - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the BindingInstance - - :returns: twilio.rest.notify.v1.service.binding.BindingInstance - :rtype: twilio.rest.notify.v1.service.binding.BindingInstance - """ - super(BindingInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'credential_sid': payload['credential_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'notification_protocol_version': payload['notification_protocol_version'], - 'endpoint': payload['endpoint'], - 'identity': payload['identity'], - 'binding_type': payload['binding_type'], - 'address': payload['address'], - 'tags': payload['tags'], - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: BindingContext for this BindingInstance - :rtype: twilio.rest.notify.v1.service.binding.BindingContext - """ - if self._context is None: - self._context = BindingContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def credential_sid(self): - """ - :returns: The credential_sid - :rtype: unicode - """ - return self._properties['credential_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def notification_protocol_version(self): - """ - :returns: The notification_protocol_version - :rtype: unicode - """ - return self._properties['notification_protocol_version'] - - @property - def endpoint(self): - """ - :returns: The endpoint - :rtype: unicode - """ - return self._properties['endpoint'] - - @property - def identity(self): - """ - :returns: The identity - :rtype: unicode - """ - return self._properties['identity'] - - @property - def binding_type(self): - """ - :returns: The binding_type - :rtype: unicode - """ - return self._properties['binding_type'] - - @property - def address(self): - """ - :returns: The address - :rtype: unicode - """ - return self._properties['address'] - - @property - def tags(self): - """ - :returns: The tags - :rtype: unicode - """ - return self._properties['tags'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a BindingInstance - - :returns: Fetched BindingInstance - :rtype: twilio.rest.notify.v1.service.binding.BindingInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the BindingInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Notify.V1.BindingInstance {}>'.format(context) diff --git a/twilio/rest/notify/v1/service/notification.py b/twilio/rest/notify/v1/service/notification.py deleted file mode 100644 index aebfd21..0000000 --- a/twilio/rest/notify/v1/service/notification.py +++ /dev/null @@ -1,358 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class NotificationList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid): - """ - Initialize the NotificationList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.notify.v1.service.notification.NotificationList - :rtype: twilio.rest.notify.v1.service.notification.NotificationList - """ - super(NotificationList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Notifications'.format(**self._solution) - - def create(self, body=values.unset, priority=values.unset, ttl=values.unset, - title=values.unset, sound=values.unset, action=values.unset, - data=values.unset, apn=values.unset, gcm=values.unset, - sms=values.unset, facebook_messenger=values.unset, fcm=values.unset, - segment=values.unset, alexa=values.unset, to_binding=values.unset, - identity=values.unset, tag=values.unset): - """ - Create a new NotificationInstance - - :param unicode body: The body - :param NotificationInstance.Priority priority: The priority - :param unicode ttl: The ttl - :param unicode title: The title - :param unicode sound: The sound - :param unicode action: The action - :param dict data: The data - :param dict apn: The apn - :param dict gcm: The gcm - :param dict sms: The sms - :param dict facebook_messenger: The facebook_messenger - :param dict fcm: The fcm - :param unicode segment: The segment - :param dict alexa: The alexa - :param unicode to_binding: The to_binding - :param unicode identity: The identity - :param unicode tag: The tag - - :returns: Newly created NotificationInstance - :rtype: twilio.rest.notify.v1.service.notification.NotificationInstance - """ - data = values.of({ - 'Identity': serialize.map(identity, lambda e: e), - 'Tag': serialize.map(tag, lambda e: e), - 'Body': body, - 'Priority': priority, - 'Ttl': ttl, - 'Title': title, - 'Sound': sound, - 'Action': action, - 'Data': serialize.object(data), - 'Apn': serialize.object(apn), - 'Gcm': serialize.object(gcm), - 'Sms': serialize.object(sms), - 'FacebookMessenger': serialize.object(facebook_messenger), - 'Fcm': serialize.object(fcm), - 'Segment': serialize.map(segment, lambda e: e), - 'Alexa': serialize.object(alexa), - 'ToBinding': serialize.map(to_binding, lambda e: e), - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return NotificationInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Notify.V1.NotificationList>' - - -class NotificationPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the NotificationPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.notify.v1.service.notification.NotificationPage - :rtype: twilio.rest.notify.v1.service.notification.NotificationPage - """ - super(NotificationPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of NotificationInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.notify.v1.service.notification.NotificationInstance - :rtype: twilio.rest.notify.v1.service.notification.NotificationInstance - """ - return NotificationInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Notify.V1.NotificationPage>' - - -class NotificationInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - class Priority(object): - HIGH = "high" - LOW = "low" - - def __init__(self, version, payload, service_sid): - """ - Initialize the NotificationInstance - - :returns: twilio.rest.notify.v1.service.notification.NotificationInstance - :rtype: twilio.rest.notify.v1.service.notification.NotificationInstance - """ - super(NotificationInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'identities': payload['identities'], - 'tags': payload['tags'], - 'segments': payload['segments'], - 'priority': payload['priority'], - 'ttl': deserialize.integer(payload['ttl']), - 'title': payload['title'], - 'body': payload['body'], - 'sound': payload['sound'], - 'action': payload['action'], - 'data': payload['data'], - 'apn': payload['apn'], - 'gcm': payload['gcm'], - 'fcm': payload['fcm'], - 'sms': payload['sms'], - 'facebook_messenger': payload['facebook_messenger'], - 'alexa': payload['alexa'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, } - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def identities(self): - """ - :returns: The identities - :rtype: unicode - """ - return self._properties['identities'] - - @property - def tags(self): - """ - :returns: The tags - :rtype: unicode - """ - return self._properties['tags'] - - @property - def segments(self): - """ - :returns: The segments - :rtype: unicode - """ - return self._properties['segments'] - - @property - def priority(self): - """ - :returns: The priority - :rtype: NotificationInstance.Priority - """ - return self._properties['priority'] - - @property - def ttl(self): - """ - :returns: The ttl - :rtype: unicode - """ - return self._properties['ttl'] - - @property - def title(self): - """ - :returns: The title - :rtype: unicode - """ - return self._properties['title'] - - @property - def body(self): - """ - :returns: The body - :rtype: unicode - """ - return self._properties['body'] - - @property - def sound(self): - """ - :returns: The sound - :rtype: unicode - """ - return self._properties['sound'] - - @property - def action(self): - """ - :returns: The action - :rtype: unicode - """ - return self._properties['action'] - - @property - def data(self): - """ - :returns: The data - :rtype: dict - """ - return self._properties['data'] - - @property - def apn(self): - """ - :returns: The apn - :rtype: dict - """ - return self._properties['apn'] - - @property - def gcm(self): - """ - :returns: The gcm - :rtype: dict - """ - return self._properties['gcm'] - - @property - def fcm(self): - """ - :returns: The fcm - :rtype: dict - """ - return self._properties['fcm'] - - @property - def sms(self): - """ - :returns: The sms - :rtype: dict - """ - return self._properties['sms'] - - @property - def facebook_messenger(self): - """ - :returns: The facebook_messenger - :rtype: dict - """ - return self._properties['facebook_messenger'] - - @property - def alexa(self): - """ - :returns: The alexa - :rtype: dict - """ - return self._properties['alexa'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Notify.V1.NotificationInstance>' diff --git a/twilio/rest/notify/v1/service/segment.py b/twilio/rest/notify/v1/service/segment.py deleted file mode 100644 index 270f563..0000000 --- a/twilio/rest/notify/v1/service/segment.py +++ /dev/null @@ -1,250 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class SegmentList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid): - """ - Initialize the SegmentList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.notify.v1.service.segment.SegmentList - :rtype: twilio.rest.notify.v1.service.segment.SegmentList - """ - super(SegmentList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Segments'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams SegmentInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.notify.v1.service.segment.SegmentInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists SegmentInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.notify.v1.service.segment.SegmentInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of SegmentInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of SegmentInstance - :rtype: twilio.rest.notify.v1.service.segment.SegmentPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return SegmentPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of SegmentInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of SegmentInstance - :rtype: twilio.rest.notify.v1.service.segment.SegmentPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return SegmentPage(self._version, response, self._solution) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Notify.V1.SegmentList>' - - -class SegmentPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the SegmentPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.notify.v1.service.segment.SegmentPage - :rtype: twilio.rest.notify.v1.service.segment.SegmentPage - """ - super(SegmentPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of SegmentInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.notify.v1.service.segment.SegmentInstance - :rtype: twilio.rest.notify.v1.service.segment.SegmentInstance - """ - return SegmentInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Notify.V1.SegmentPage>' - - -class SegmentInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, payload, service_sid): - """ - Initialize the SegmentInstance - - :returns: twilio.rest.notify.v1.service.segment.SegmentInstance - :rtype: twilio.rest.notify.v1.service.segment.SegmentInstance - """ - super(SegmentInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'unique_name': payload['unique_name'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, } - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def unique_name(self): - """ - :returns: The unique_name - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Notify.V1.SegmentInstance>' diff --git a/twilio/rest/notify/v1/service/user/__init__.py b/twilio/rest/notify/v1/service/user/__init__.py deleted file mode 100644 index ee79f66..0000000 --- a/twilio/rest/notify/v1/service/user/__init__.py +++ /dev/null @@ -1,493 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.notify.v1.service.user.segment_memberships import SegmentMembershipList -from twilio.rest.notify.v1.service.user.user_binding import UserBindingList - - -class UserList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid): - """ - Initialize the UserList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.notify.v1.service.user.UserList - :rtype: twilio.rest.notify.v1.service.user.UserList - """ - super(UserList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Users'.format(**self._solution) - - def create(self, identity, segment=values.unset): - """ - Create a new UserInstance - - :param unicode identity: The identity - :param unicode segment: The segment - - :returns: Newly created UserInstance - :rtype: twilio.rest.notify.v1.service.user.UserInstance - """ - data = values.of({'Identity': identity, 'Segment': serialize.map(segment, lambda e: e), }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return UserInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, identity=values.unset, segment=values.unset, limit=None, - page_size=None): - """ - Streams UserInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode identity: The identity - :param unicode segment: The segment - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.notify.v1.service.user.UserInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(identity=identity, segment=segment, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, identity=values.unset, segment=values.unset, limit=None, - page_size=None): - """ - Lists UserInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode identity: The identity - :param unicode segment: The segment - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.notify.v1.service.user.UserInstance] - """ - return list(self.stream(identity=identity, segment=segment, limit=limit, page_size=page_size, )) - - def page(self, identity=values.unset, segment=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of UserInstance records from the API. - Request is executed immediately - - :param unicode identity: The identity - :param unicode segment: The segment - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of UserInstance - :rtype: twilio.rest.notify.v1.service.user.UserPage - """ - params = values.of({ - 'Identity': serialize.map(identity, lambda e: e), - 'Segment': segment, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return UserPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of UserInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of UserInstance - :rtype: twilio.rest.notify.v1.service.user.UserPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return UserPage(self._version, response, self._solution) - - def get(self, identity): - """ - Constructs a UserContext - - :param identity: The identity - - :returns: twilio.rest.notify.v1.service.user.UserContext - :rtype: twilio.rest.notify.v1.service.user.UserContext - """ - return UserContext(self._version, service_sid=self._solution['service_sid'], identity=identity, ) - - def __call__(self, identity): - """ - Constructs a UserContext - - :param identity: The identity - - :returns: twilio.rest.notify.v1.service.user.UserContext - :rtype: twilio.rest.notify.v1.service.user.UserContext - """ - return UserContext(self._version, service_sid=self._solution['service_sid'], identity=identity, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Notify.V1.UserList>' - - -class UserPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the UserPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.notify.v1.service.user.UserPage - :rtype: twilio.rest.notify.v1.service.user.UserPage - """ - super(UserPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of UserInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.notify.v1.service.user.UserInstance - :rtype: twilio.rest.notify.v1.service.user.UserInstance - """ - return UserInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Notify.V1.UserPage>' - - -class UserContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, identity): - """ - Initialize the UserContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param identity: The identity - - :returns: twilio.rest.notify.v1.service.user.UserContext - :rtype: twilio.rest.notify.v1.service.user.UserContext - """ - super(UserContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'identity': identity, } - self._uri = '/Services/{service_sid}/Users/{identity}'.format(**self._solution) - - # Dependents - self._bindings = None - self._segment_memberships = None - - def delete(self): - """ - Deletes the UserInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def fetch(self): - """ - Fetch a UserInstance - - :returns: Fetched UserInstance - :rtype: twilio.rest.notify.v1.service.user.UserInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return UserInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - identity=self._solution['identity'], - ) - - @property - def bindings(self): - """ - Access the bindings - - :returns: twilio.rest.notify.v1.service.user.user_binding.UserBindingList - :rtype: twilio.rest.notify.v1.service.user.user_binding.UserBindingList - """ - if self._bindings is None: - self._bindings = UserBindingList( - self._version, - service_sid=self._solution['service_sid'], - identity=self._solution['identity'], - ) - return self._bindings - - @property - def segment_memberships(self): - """ - Access the segment_memberships - - :returns: twilio.rest.notify.v1.service.user.segment_memberships.SegmentMembershipList - :rtype: twilio.rest.notify.v1.service.user.segment_memberships.SegmentMembershipList - """ - if self._segment_memberships is None: - self._segment_memberships = SegmentMembershipList( - self._version, - service_sid=self._solution['service_sid'], - identity=self._solution['identity'], - ) - return self._segment_memberships - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Notify.V1.UserContext {}>'.format(context) - - -class UserInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, payload, service_sid, identity=None): - """ - Initialize the UserInstance - - :returns: twilio.rest.notify.v1.service.user.UserInstance - :rtype: twilio.rest.notify.v1.service.user.UserInstance - """ - super(UserInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'identity': payload['identity'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'segments': payload['segments'], - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'identity': identity or self._properties['identity'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: UserContext for this UserInstance - :rtype: twilio.rest.notify.v1.service.user.UserContext - """ - if self._context is None: - self._context = UserContext( - self._version, - service_sid=self._solution['service_sid'], - identity=self._solution['identity'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def identity(self): - """ - :returns: The identity - :rtype: unicode - """ - return self._properties['identity'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def segments(self): - """ - :returns: The segments - :rtype: unicode - """ - return self._properties['segments'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def delete(self): - """ - Deletes the UserInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def fetch(self): - """ - Fetch a UserInstance - - :returns: Fetched UserInstance - :rtype: twilio.rest.notify.v1.service.user.UserInstance - """ - return self._proxy.fetch() - - @property - def bindings(self): - """ - Access the bindings - - :returns: twilio.rest.notify.v1.service.user.user_binding.UserBindingList - :rtype: twilio.rest.notify.v1.service.user.user_binding.UserBindingList - """ - return self._proxy.bindings - - @property - def segment_memberships(self): - """ - Access the segment_memberships - - :returns: twilio.rest.notify.v1.service.user.segment_memberships.SegmentMembershipList - :rtype: twilio.rest.notify.v1.service.user.segment_memberships.SegmentMembershipList - """ - return self._proxy.segment_memberships - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Notify.V1.UserInstance {}>'.format(context) diff --git a/twilio/rest/notify/v1/service/user/__pycache__/__init__.cpython-36.pyc b/twilio/rest/notify/v1/service/user/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 5aa551b889b8b8abc462a6cc6d066bba95655208..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16742 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 Y`uUU+4rd{FG4_|L{J^MIs+H#d0Yp#0*8l(j diff --git a/twilio/rest/notify/v1/service/user/__pycache__/segment_memberships.cpython-36.pyc b/twilio/rest/notify/v1/service/user/__pycache__/segment_memberships.cpython-36.pyc deleted file mode 100644 index 9a7da2bb4c7ed24d3878fde11a76e29ef6660463..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11315 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 UHlOaJ7OuvBdhL6)<=T~h0sX6){r~^~ diff --git a/twilio/rest/notify/v1/service/user/__pycache__/user_binding.cpython-36.pyc b/twilio/rest/notify/v1/service/user/__pycache__/user_binding.cpython-36.pyc deleted file mode 100644 index 5f586be84ca4e15c0060a874ac9a8d05e355c0e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18203 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 AH~;_u diff --git a/twilio/rest/notify/v1/service/user/segment_memberships.py b/twilio/rest/notify/v1/service/user/segment_memberships.py deleted file mode 100644 index c34dbf3..0000000 --- a/twilio/rest/notify/v1/service/user/segment_memberships.py +++ /dev/null @@ -1,329 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class SegmentMembershipList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, identity): - """ - Initialize the SegmentMembershipList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param identity: The identity - - :returns: twilio.rest.notify.v1.service.user.segment_memberships.SegmentMembershipList - :rtype: twilio.rest.notify.v1.service.user.segment_memberships.SegmentMembershipList - """ - super(SegmentMembershipList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'identity': identity, } - self._uri = '/Services/{service_sid}/Users/{identity}/SegmentMemberships'.format(**self._solution) - - def create(self, segment): - """ - Create a new SegmentMembershipInstance - - :param unicode segment: The segment - - :returns: Newly created SegmentMembershipInstance - :rtype: twilio.rest.notify.v1.service.user.segment_memberships.SegmentMembershipInstance - """ - data = values.of({'Segment': segment, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return SegmentMembershipInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - identity=self._solution['identity'], - ) - - def get(self, segment): - """ - Constructs a SegmentMembershipContext - - :param segment: The segment - - :returns: twilio.rest.notify.v1.service.user.segment_memberships.SegmentMembershipContext - :rtype: twilio.rest.notify.v1.service.user.segment_memberships.SegmentMembershipContext - """ - return SegmentMembershipContext( - self._version, - service_sid=self._solution['service_sid'], - identity=self._solution['identity'], - segment=segment, - ) - - def __call__(self, segment): - """ - Constructs a SegmentMembershipContext - - :param segment: The segment - - :returns: twilio.rest.notify.v1.service.user.segment_memberships.SegmentMembershipContext - :rtype: twilio.rest.notify.v1.service.user.segment_memberships.SegmentMembershipContext - """ - return SegmentMembershipContext( - self._version, - service_sid=self._solution['service_sid'], - identity=self._solution['identity'], - segment=segment, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Notify.V1.SegmentMembershipList>' - - -class SegmentMembershipPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the SegmentMembershipPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - :param identity: The identity - - :returns: twilio.rest.notify.v1.service.user.segment_memberships.SegmentMembershipPage - :rtype: twilio.rest.notify.v1.service.user.segment_memberships.SegmentMembershipPage - """ - super(SegmentMembershipPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of SegmentMembershipInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.notify.v1.service.user.segment_memberships.SegmentMembershipInstance - :rtype: twilio.rest.notify.v1.service.user.segment_memberships.SegmentMembershipInstance - """ - return SegmentMembershipInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - identity=self._solution['identity'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Notify.V1.SegmentMembershipPage>' - - -class SegmentMembershipContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, identity, segment): - """ - Initialize the SegmentMembershipContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param identity: The identity - :param segment: The segment - - :returns: twilio.rest.notify.v1.service.user.segment_memberships.SegmentMembershipContext - :rtype: twilio.rest.notify.v1.service.user.segment_memberships.SegmentMembershipContext - """ - super(SegmentMembershipContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'identity': identity, 'segment': segment, } - self._uri = '/Services/{service_sid}/Users/{identity}/SegmentMemberships/{segment}'.format(**self._solution) - - def delete(self): - """ - Deletes the SegmentMembershipInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def fetch(self): - """ - Fetch a SegmentMembershipInstance - - :returns: Fetched SegmentMembershipInstance - :rtype: twilio.rest.notify.v1.service.user.segment_memberships.SegmentMembershipInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return SegmentMembershipInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - identity=self._solution['identity'], - segment=self._solution['segment'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Notify.V1.SegmentMembershipContext {}>'.format(context) - - -class SegmentMembershipInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, payload, service_sid, identity, segment=None): - """ - Initialize the SegmentMembershipInstance - - :returns: twilio.rest.notify.v1.service.user.segment_memberships.SegmentMembershipInstance - :rtype: twilio.rest.notify.v1.service.user.segment_memberships.SegmentMembershipInstance - """ - super(SegmentMembershipInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'identity': payload['identity'], - 'segment': payload['segment'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'identity': identity, - 'segment': segment or self._properties['segment'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: SegmentMembershipContext for this SegmentMembershipInstance - :rtype: twilio.rest.notify.v1.service.user.segment_memberships.SegmentMembershipContext - """ - if self._context is None: - self._context = SegmentMembershipContext( - self._version, - service_sid=self._solution['service_sid'], - identity=self._solution['identity'], - segment=self._solution['segment'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def identity(self): - """ - :returns: The identity - :rtype: unicode - """ - return self._properties['identity'] - - @property - def segment(self): - """ - :returns: The segment - :rtype: unicode - """ - return self._properties['segment'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def delete(self): - """ - Deletes the SegmentMembershipInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def fetch(self): - """ - Fetch a SegmentMembershipInstance - - :returns: Fetched SegmentMembershipInstance - :rtype: twilio.rest.notify.v1.service.user.segment_memberships.SegmentMembershipInstance - """ - return self._proxy.fetch() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Notify.V1.SegmentMembershipInstance {}>'.format(context) diff --git a/twilio/rest/notify/v1/service/user/user_binding.py b/twilio/rest/notify/v1/service/user/user_binding.py deleted file mode 100644 index 8112af6..0000000 --- a/twilio/rest/notify/v1/service/user/user_binding.py +++ /dev/null @@ -1,540 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class UserBindingList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, identity): - """ - Initialize the UserBindingList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param identity: The identity - - :returns: twilio.rest.notify.v1.service.user.user_binding.UserBindingList - :rtype: twilio.rest.notify.v1.service.user.user_binding.UserBindingList - """ - super(UserBindingList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'identity': identity, } - self._uri = '/Services/{service_sid}/Users/{identity}/Bindings'.format(**self._solution) - - def create(self, binding_type, address, tag=values.unset, - notification_protocol_version=values.unset, - credential_sid=values.unset, endpoint=values.unset): - """ - Create a new UserBindingInstance - - :param UserBindingInstance.BindingType binding_type: The binding_type - :param unicode address: The address - :param unicode tag: The tag - :param unicode notification_protocol_version: The notification_protocol_version - :param unicode credential_sid: The credential_sid - :param unicode endpoint: The endpoint - - :returns: Newly created UserBindingInstance - :rtype: twilio.rest.notify.v1.service.user.user_binding.UserBindingInstance - """ - data = values.of({ - 'BindingType': binding_type, - 'Address': address, - 'Tag': serialize.map(tag, lambda e: e), - 'NotificationProtocolVersion': notification_protocol_version, - 'CredentialSid': credential_sid, - 'Endpoint': endpoint, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return UserBindingInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - identity=self._solution['identity'], - ) - - def stream(self, start_date=values.unset, end_date=values.unset, - tag=values.unset, limit=None, page_size=None): - """ - Streams UserBindingInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param date start_date: The start_date - :param date end_date: The end_date - :param unicode tag: The tag - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.notify.v1.service.user.user_binding.UserBindingInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(start_date=start_date, end_date=end_date, tag=tag, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, start_date=values.unset, end_date=values.unset, tag=values.unset, - limit=None, page_size=None): - """ - Lists UserBindingInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param date start_date: The start_date - :param date end_date: The end_date - :param unicode tag: The tag - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.notify.v1.service.user.user_binding.UserBindingInstance] - """ - return list(self.stream( - start_date=start_date, - end_date=end_date, - tag=tag, - limit=limit, - page_size=page_size, - )) - - def page(self, start_date=values.unset, end_date=values.unset, tag=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of UserBindingInstance records from the API. - Request is executed immediately - - :param date start_date: The start_date - :param date end_date: The end_date - :param unicode tag: The tag - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of UserBindingInstance - :rtype: twilio.rest.notify.v1.service.user.user_binding.UserBindingPage - """ - params = values.of({ - 'StartDate': serialize.iso8601_date(start_date), - 'EndDate': serialize.iso8601_date(end_date), - 'Tag': serialize.map(tag, lambda e: e), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return UserBindingPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of UserBindingInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of UserBindingInstance - :rtype: twilio.rest.notify.v1.service.user.user_binding.UserBindingPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return UserBindingPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a UserBindingContext - - :param sid: The sid - - :returns: twilio.rest.notify.v1.service.user.user_binding.UserBindingContext - :rtype: twilio.rest.notify.v1.service.user.user_binding.UserBindingContext - """ - return UserBindingContext( - self._version, - service_sid=self._solution['service_sid'], - identity=self._solution['identity'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a UserBindingContext - - :param sid: The sid - - :returns: twilio.rest.notify.v1.service.user.user_binding.UserBindingContext - :rtype: twilio.rest.notify.v1.service.user.user_binding.UserBindingContext - """ - return UserBindingContext( - self._version, - service_sid=self._solution['service_sid'], - identity=self._solution['identity'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Notify.V1.UserBindingList>' - - -class UserBindingPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the UserBindingPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - :param identity: The identity - - :returns: twilio.rest.notify.v1.service.user.user_binding.UserBindingPage - :rtype: twilio.rest.notify.v1.service.user.user_binding.UserBindingPage - """ - super(UserBindingPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of UserBindingInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.notify.v1.service.user.user_binding.UserBindingInstance - :rtype: twilio.rest.notify.v1.service.user.user_binding.UserBindingInstance - """ - return UserBindingInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - identity=self._solution['identity'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Notify.V1.UserBindingPage>' - - -class UserBindingContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, identity, sid): - """ - Initialize the UserBindingContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param identity: The identity - :param sid: The sid - - :returns: twilio.rest.notify.v1.service.user.user_binding.UserBindingContext - :rtype: twilio.rest.notify.v1.service.user.user_binding.UserBindingContext - """ - super(UserBindingContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'identity': identity, 'sid': sid, } - self._uri = '/Services/{service_sid}/Users/{identity}/Bindings/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a UserBindingInstance - - :returns: Fetched UserBindingInstance - :rtype: twilio.rest.notify.v1.service.user.user_binding.UserBindingInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return UserBindingInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - identity=self._solution['identity'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the UserBindingInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Notify.V1.UserBindingContext {}>'.format(context) - - -class UserBindingInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - class BindingType(object): - APN = "apn" - GCM = "gcm" - SMS = "sms" - FCM = "fcm" - FACEBOOK_MESSENGER = "facebook-messenger" - ALEXA = "alexa" - - def __init__(self, version, payload, service_sid, identity, sid=None): - """ - Initialize the UserBindingInstance - - :returns: twilio.rest.notify.v1.service.user.user_binding.UserBindingInstance - :rtype: twilio.rest.notify.v1.service.user.user_binding.UserBindingInstance - """ - super(UserBindingInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'credential_sid': payload['credential_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'notification_protocol_version': payload['notification_protocol_version'], - 'endpoint': payload['endpoint'], - 'identity': payload['identity'], - 'binding_type': payload['binding_type'], - 'address': payload['address'], - 'tags': payload['tags'], - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'identity': identity, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: UserBindingContext for this UserBindingInstance - :rtype: twilio.rest.notify.v1.service.user.user_binding.UserBindingContext - """ - if self._context is None: - self._context = UserBindingContext( - self._version, - service_sid=self._solution['service_sid'], - identity=self._solution['identity'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def credential_sid(self): - """ - :returns: The credential_sid - :rtype: unicode - """ - return self._properties['credential_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def notification_protocol_version(self): - """ - :returns: The notification_protocol_version - :rtype: unicode - """ - return self._properties['notification_protocol_version'] - - @property - def endpoint(self): - """ - :returns: The endpoint - :rtype: unicode - """ - return self._properties['endpoint'] - - @property - def identity(self): - """ - :returns: The identity - :rtype: unicode - """ - return self._properties['identity'] - - @property - def binding_type(self): - """ - :returns: The binding_type - :rtype: unicode - """ - return self._properties['binding_type'] - - @property - def address(self): - """ - :returns: The address - :rtype: unicode - """ - return self._properties['address'] - - @property - def tags(self): - """ - :returns: The tags - :rtype: unicode - """ - return self._properties['tags'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a UserBindingInstance - - :returns: Fetched UserBindingInstance - :rtype: twilio.rest.notify.v1.service.user.user_binding.UserBindingInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the UserBindingInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Notify.V1.UserBindingInstance {}>'.format(context) diff --git a/twilio/rest/preview/__init__.py b/twilio/rest/preview/__init__.py deleted file mode 100644 index c0f6291..0000000 --- a/twilio/rest/preview/__init__.py +++ /dev/null @@ -1,238 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.domain import Domain -from twilio.rest.preview.acc_security import AccSecurity -from twilio.rest.preview.bulk_exports import BulkExports -from twilio.rest.preview.deployed_devices import DeployedDevices -from twilio.rest.preview.hosted_numbers import HostedNumbers -from twilio.rest.preview.marketplace import Marketplace -from twilio.rest.preview.proxy import Proxy -from twilio.rest.preview.studio import Studio -from twilio.rest.preview.sync import Sync -from twilio.rest.preview.understand import Understand -from twilio.rest.preview.wireless import Wireless - - -class Preview(Domain): - - def __init__(self, twilio): - """ - Initialize the Preview Domain - - :returns: Domain for Preview - :rtype: twilio.rest.preview.Preview - """ - super(Preview, self).__init__(twilio) - - self.base_url = 'https://preview.twilio.com' - - # Versions - self._bulk_exports = None - self._deployed_devices = None - self._hosted_numbers = None - self._marketplace = None - self._proxy = None - self._studio = None - self._acc_security = None - self._sync = None - self._understand = None - self._wireless = None - - @property - def bulk_exports(self): - """ - :returns: Version bulk_exports of preview - :rtype: twilio.rest.preview.bulk_exports.BulkExports - """ - if self._bulk_exports is None: - self._bulk_exports = BulkExports(self) - return self._bulk_exports - - @property - def deployed_devices(self): - """ - :returns: Version deployed_devices of preview - :rtype: twilio.rest.preview.deployed_devices.DeployedDevices - """ - if self._deployed_devices is None: - self._deployed_devices = DeployedDevices(self) - return self._deployed_devices - - @property - def hosted_numbers(self): - """ - :returns: Version hosted_numbers of preview - :rtype: twilio.rest.preview.hosted_numbers.HostedNumbers - """ - if self._hosted_numbers is None: - self._hosted_numbers = HostedNumbers(self) - return self._hosted_numbers - - @property - def marketplace(self): - """ - :returns: Version marketplace of preview - :rtype: twilio.rest.preview.marketplace.Marketplace - """ - if self._marketplace is None: - self._marketplace = Marketplace(self) - return self._marketplace - - @property - def proxy(self): - """ - :returns: Version proxy of preview - :rtype: twilio.rest.preview.proxy.Proxy - """ - if self._proxy is None: - self._proxy = Proxy(self) - return self._proxy - - @property - def studio(self): - """ - :returns: Version studio of preview - :rtype: twilio.rest.preview.studio.Studio - """ - if self._studio is None: - self._studio = Studio(self) - return self._studio - - @property - def acc_security(self): - """ - :returns: Version acc_security of preview - :rtype: twilio.rest.preview.acc_security.AccSecurity - """ - if self._acc_security is None: - self._acc_security = AccSecurity(self) - return self._acc_security - - @property - def sync(self): - """ - :returns: Version sync of preview - :rtype: twilio.rest.preview.sync.Sync - """ - if self._sync is None: - self._sync = Sync(self) - return self._sync - - @property - def understand(self): - """ - :returns: Version understand of preview - :rtype: twilio.rest.preview.understand.Understand - """ - if self._understand is None: - self._understand = Understand(self) - return self._understand - - @property - def wireless(self): - """ - :returns: Version wireless of preview - :rtype: twilio.rest.preview.wireless.Wireless - """ - if self._wireless is None: - self._wireless = Wireless(self) - return self._wireless - - @property - def exports(self): - """ - :rtype: twilio.rest.preview.bulk_exports.export.ExportList - """ - return self.bulk_exports.exports - - @property - def export_configuration(self): - """ - :rtype: twilio.rest.preview.bulk_exports.export_configuration.ExportConfigurationList - """ - return self.bulk_exports.export_configuration - - @property - def fleets(self): - """ - :rtype: twilio.rest.preview.deployed_devices.fleet.FleetList - """ - return self.deployed_devices.fleets - - @property - def authorization_documents(self): - """ - :rtype: twilio.rest.preview.hosted_numbers.authorization_document.AuthorizationDocumentList - """ - return self.hosted_numbers.authorization_documents - - @property - def hosted_number_orders(self): - """ - :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderList - """ - return self.hosted_numbers.hosted_number_orders - - @property - def available_add_ons(self): - """ - :rtype: twilio.rest.preview.marketplace.available_add_on.AvailableAddOnList - """ - return self.marketplace.available_add_ons - - @property - def installed_add_ons(self): - """ - :rtype: twilio.rest.preview.marketplace.installed_add_on.InstalledAddOnList - """ - return self.marketplace.installed_add_ons - - @property - def services(self): - """ - :rtype: twilio.rest.preview.understand.service.ServiceList - """ - return self.understand.services - - @property - def flows(self): - """ - :rtype: twilio.rest.preview.studio.flow.FlowList - """ - return self.studio.flows - - @property - def commands(self): - """ - :rtype: twilio.rest.preview.wireless.command.CommandList - """ - return self.wireless.commands - - @property - def rate_plans(self): - """ - :rtype: twilio.rest.preview.wireless.rate_plan.RatePlanList - """ - return self.wireless.rate_plans - - @property - def sims(self): - """ - :rtype: twilio.rest.preview.wireless.sim.SimList - """ - return self.wireless.sims - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview>' diff --git a/twilio/rest/preview/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 54042ee45fc2170f0461e34f4a5fa5cdbc26e7bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7342 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 ZAznGIe;5VqM>QOEJb9Ok%|gbz^go^YSs?%b diff --git a/twilio/rest/preview/acc_security/__init__.py b/twilio/rest/preview/acc_security/__init__.py deleted file mode 100644 index e63b8d9..0000000 --- a/twilio/rest/preview/acc_security/__init__.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.preview.acc_security.service import ServiceList - - -class AccSecurity(Version): - - def __init__(self, domain): - """ - Initialize the AccSecurity version of Preview - - :returns: AccSecurity version of Preview - :rtype: twilio.rest.preview.acc_security.AccSecurity.AccSecurity - """ - super(AccSecurity, self).__init__(domain) - self.version = 'Verification' - self._services = None - - @property - def services(self): - """ - :rtype: twilio.rest.preview.acc_security.service.ServiceList - """ - if self._services is None: - self._services = ServiceList(self) - return self._services - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.AccSecurity>' diff --git a/twilio/rest/preview/acc_security/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/acc_security/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index c373c4b7b8ee5295ba0a5f2dba970e7550d3bc58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1526 zcma)5&2G~`5Z<+&KQ{#=dO{pl>ZLx^DdHAY6;+WCQi+OMI9QfeTknQ$abmOUq)Oyl zBlR&j^9sBI7tX$N;uSbCYdaxSRAr@|oy4=V^Ue3o^UY27+xO4Gwu8_Qw6@?kdI4MS zf#E1X9CItiBP+15@$J|iIe~-GE5se%SRmdI*0mipc=Hr_tvPegE~F+=!UefvntTvr zp;#t3IiI;9=@Cj`fuVVQx+Et%)C+rHc4!{<a+2@#AY%H=-}Coe6Hnk`wR-MPC=7YH zXuTIo%VZ4h#;H(K8Hr=5v&ej2F1vP0Gy(+}5Lq{9hz+VmJFtbrZSE}4H3kHLVS$3? z4RTP>GH8m8!zelx(L~8?7Fl&NbDG3vYXT-i8P3tQb!p}J8k;udh}zr&>u?Ja+4HY8 z3_@OyWhPlH=YnJxf~-A2rWGKP49STSQz@?8)wRA7*+h+X|Gpb_pGaS2vsCm+b|qt( z_)6%^Pphmxiz2FPSpHfC>;CHHpbL$bLm9CQx;^k3MMF<gp_GwI(WX=aB1(%^U4GGl z+$9~_vkFIxcvv)fGGfwD)uA+snbwqkLBHftKYRzlI(#dG3zme3Y5J07EIdvk7KdkI zl!mEHch4s>=DW{zoD66BDy$$a4}&bMk%jBX!ewcGI#W$3_91L-9MpP*n|Qvp4t*IM zVG{t$oQCQn*!l^W99;snAKPlHq}z~O{s#nG^TDcL|K0eyOa7X8S4jq*rP}bOG9vS^ z>KMPfGMnHP?PZ%yaTTtHi``qemO+2vGT2I7hC_}^1oPG7Cn}jrm|sSQN{TU$XG96; zuomO26v4k_`G!RoaxCt=a$A==Q>zE(PxsF%nbx{r7ve#Q`>q~PYD%MY+w`EE(AI5U zs{pTUv^r)Z0a|q_9VL7c8^25GrwNOzFQrb3cB&Fkcs5fHAgwaGDK=~2Mk0>k(G?d^ z*oFx*l$0Z3oRW>U)!pcJ%KrvlvuIJulZevbaXpgfObfpr8f8ikcJ3Y4n$1!cW#&JH UR9>Zw{R-VdYgvn9b#d4J4ZCQSD*ylh diff --git a/twilio/rest/preview/acc_security/service/__init__.py b/twilio/rest/preview/acc_security/service/__init__.py deleted file mode 100644 index eebdb94..0000000 --- a/twilio/rest/preview/acc_security/service/__init__.py +++ /dev/null @@ -1,466 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.preview.acc_security.service.verification import VerificationList -from twilio.rest.preview.acc_security.service.verification_check import VerificationCheckList - - -class ServiceList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version): - """ - Initialize the ServiceList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.preview.acc_security.service.ServiceList - :rtype: twilio.rest.preview.acc_security.service.ServiceList - """ - super(ServiceList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Services'.format(**self._solution) - - def create(self, name, code_length=values.unset): - """ - Create a new ServiceInstance - - :param unicode name: Friendly name of the service - :param unicode code_length: Length of verification code. Valid values are 4-10 - - :returns: Newly created ServiceInstance - :rtype: twilio.rest.preview.acc_security.service.ServiceInstance - """ - data = values.of({'Name': name, 'CodeLength': code_length, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return ServiceInstance(self._version, payload, ) - - def stream(self, limit=None, page_size=None): - """ - Streams ServiceInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.acc_security.service.ServiceInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists ServiceInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.acc_security.service.ServiceInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of ServiceInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ServiceInstance - :rtype: twilio.rest.preview.acc_security.service.ServicePage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ServicePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ServiceInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ServiceInstance - :rtype: twilio.rest.preview.acc_security.service.ServicePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ServicePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a ServiceContext - - :param sid: Verification Service Instance SID. - - :returns: twilio.rest.preview.acc_security.service.ServiceContext - :rtype: twilio.rest.preview.acc_security.service.ServiceContext - """ - return ServiceContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a ServiceContext - - :param sid: Verification Service Instance SID. - - :returns: twilio.rest.preview.acc_security.service.ServiceContext - :rtype: twilio.rest.preview.acc_security.service.ServiceContext - """ - return ServiceContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.AccSecurity.ServiceList>' - - -class ServicePage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the ServicePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.preview.acc_security.service.ServicePage - :rtype: twilio.rest.preview.acc_security.service.ServicePage - """ - super(ServicePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ServiceInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.acc_security.service.ServiceInstance - :rtype: twilio.rest.preview.acc_security.service.ServiceInstance - """ - return ServiceInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.AccSecurity.ServicePage>' - - -class ServiceContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, sid): - """ - Initialize the ServiceContext - - :param Version version: Version that contains the resource - :param sid: Verification Service Instance SID. - - :returns: twilio.rest.preview.acc_security.service.ServiceContext - :rtype: twilio.rest.preview.acc_security.service.ServiceContext - """ - super(ServiceContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Services/{sid}'.format(**self._solution) - - # Dependents - self._verifications = None - self._verification_checks = None - - def fetch(self): - """ - Fetch a ServiceInstance - - :returns: Fetched ServiceInstance - :rtype: twilio.rest.preview.acc_security.service.ServiceInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ServiceInstance(self._version, payload, sid=self._solution['sid'], ) - - def update(self, name=values.unset, code_length=values.unset): - """ - Update the ServiceInstance - - :param unicode name: Friendly name of the service - :param unicode code_length: Length of verification code. Valid values are 4-10 - - :returns: Updated ServiceInstance - :rtype: twilio.rest.preview.acc_security.service.ServiceInstance - """ - data = values.of({'Name': name, 'CodeLength': code_length, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ServiceInstance(self._version, payload, sid=self._solution['sid'], ) - - @property - def verifications(self): - """ - Access the verifications - - :returns: twilio.rest.preview.acc_security.service.verification.VerificationList - :rtype: twilio.rest.preview.acc_security.service.verification.VerificationList - """ - if self._verifications is None: - self._verifications = VerificationList(self._version, service_sid=self._solution['sid'], ) - return self._verifications - - @property - def verification_checks(self): - """ - Access the verification_checks - - :returns: twilio.rest.preview.acc_security.service.verification_check.VerificationCheckList - :rtype: twilio.rest.preview.acc_security.service.verification_check.VerificationCheckList - """ - if self._verification_checks is None: - self._verification_checks = VerificationCheckList(self._version, service_sid=self._solution['sid'], ) - return self._verification_checks - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.AccSecurity.ServiceContext {}>'.format(context) - - -class ServiceInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, sid=None): - """ - Initialize the ServiceInstance - - :returns: twilio.rest.preview.acc_security.service.ServiceInstance - :rtype: twilio.rest.preview.acc_security.service.ServiceInstance - """ - super(ServiceInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'name': payload['name'], - 'code_length': deserialize.integer(payload['code_length']), - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ServiceContext for this ServiceInstance - :rtype: twilio.rest.preview.acc_security.service.ServiceContext - """ - if self._context is None: - self._context = ServiceContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Service. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: Account Sid. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def name(self): - """ - :returns: Friendly name of the service - :rtype: unicode - """ - return self._properties['name'] - - @property - def code_length(self): - """ - :returns: Length of verification code. Valid values are 4-10 - :rtype: unicode - """ - return self._properties['code_length'] - - @property - def date_created(self): - """ - :returns: The date this Service was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this Service was updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a ServiceInstance - - :returns: Fetched ServiceInstance - :rtype: twilio.rest.preview.acc_security.service.ServiceInstance - """ - return self._proxy.fetch() - - def update(self, name=values.unset, code_length=values.unset): - """ - Update the ServiceInstance - - :param unicode name: Friendly name of the service - :param unicode code_length: Length of verification code. Valid values are 4-10 - - :returns: Updated ServiceInstance - :rtype: twilio.rest.preview.acc_security.service.ServiceInstance - """ - return self._proxy.update(name=name, code_length=code_length, ) - - @property - def verifications(self): - """ - Access the verifications - - :returns: twilio.rest.preview.acc_security.service.verification.VerificationList - :rtype: twilio.rest.preview.acc_security.service.verification.VerificationList - """ - return self._proxy.verifications - - @property - def verification_checks(self): - """ - Access the verification_checks - - :returns: twilio.rest.preview.acc_security.service.verification_check.VerificationCheckList - :rtype: twilio.rest.preview.acc_security.service.verification_check.VerificationCheckList - """ - return self._proxy.verification_checks - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.AccSecurity.ServiceInstance {}>'.format(context) diff --git a/twilio/rest/preview/acc_security/service/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/acc_security/service/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index cc4af05b9b74a15a517a5aabdab718fec3ed981c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17130 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 KaeTfxZ~rg*4Cw{{ diff --git a/twilio/rest/preview/acc_security/service/__pycache__/verification.cpython-36.pyc b/twilio/rest/preview/acc_security/service/__pycache__/verification.cpython-36.pyc deleted file mode 100644 index 64e6b22af75a3a92f08266d89e106a16d6a1464b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7849 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 diff --git a/twilio/rest/preview/acc_security/service/__pycache__/verification_check.cpython-36.pyc b/twilio/rest/preview/acc_security/service/__pycache__/verification_check.cpython-36.pyc deleted file mode 100644 index c491664523b29f8417a508ee86cdd33e9611d271..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8034 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 P21>hn{xjRR+i(8|B>_!` diff --git a/twilio/rest/preview/acc_security/service/verification.py b/twilio/rest/preview/acc_security/service/verification.py deleted file mode 100644 index eefc462..0000000 --- a/twilio/rest/preview/acc_security/service/verification.py +++ /dev/null @@ -1,224 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class VerificationList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid): - """ - Initialize the VerificationList - - :param Version version: Version that contains the resource - :param service_sid: Service Sid. - - :returns: twilio.rest.preview.acc_security.service.verification.VerificationList - :rtype: twilio.rest.preview.acc_security.service.verification.VerificationList - """ - super(VerificationList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Verifications'.format(**self._solution) - - def create(self, to, channel, custom_message=values.unset): - """ - Create a new VerificationInstance - - :param unicode to: To phonenumber - :param unicode channel: sms or call - :param unicode custom_message: A custom message for this verification - - :returns: Newly created VerificationInstance - :rtype: twilio.rest.preview.acc_security.service.verification.VerificationInstance - """ - data = values.of({'To': to, 'Channel': channel, 'CustomMessage': custom_message, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return VerificationInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.AccSecurity.VerificationList>' - - -class VerificationPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the VerificationPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: Service Sid. - - :returns: twilio.rest.preview.acc_security.service.verification.VerificationPage - :rtype: twilio.rest.preview.acc_security.service.verification.VerificationPage - """ - super(VerificationPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of VerificationInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.acc_security.service.verification.VerificationInstance - :rtype: twilio.rest.preview.acc_security.service.verification.VerificationInstance - """ - return VerificationInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.AccSecurity.VerificationPage>' - - -class VerificationInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - class Channel(object): - SMS = "sms" - CALL = "call" - - def __init__(self, version, payload, service_sid): - """ - Initialize the VerificationInstance - - :returns: twilio.rest.preview.acc_security.service.verification.VerificationInstance - :rtype: twilio.rest.preview.acc_security.service.verification.VerificationInstance - """ - super(VerificationInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'service_sid': payload['service_sid'], - 'account_sid': payload['account_sid'], - 'to': payload['to'], - 'channel': payload['channel'], - 'status': payload['status'], - 'valid': payload['valid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, } - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Verification. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def service_sid(self): - """ - :returns: Service Sid. - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def account_sid(self): - """ - :returns: Account Sid. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def to(self): - """ - :returns: To phonenumber - :rtype: unicode - """ - return self._properties['to'] - - @property - def channel(self): - """ - :returns: sms or call - :rtype: VerificationInstance.Channel - """ - return self._properties['channel'] - - @property - def status(self): - """ - :returns: pending, approved, denied or expired - :rtype: unicode - """ - return self._properties['status'] - - @property - def valid(self): - """ - :returns: successful verification - :rtype: bool - """ - return self._properties['valid'] - - @property - def date_created(self): - """ - :returns: The date this Verification was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this Verification was updated - :rtype: datetime - """ - return self._properties['date_updated'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.AccSecurity.VerificationInstance>' diff --git a/twilio/rest/preview/acc_security/service/verification_check.py b/twilio/rest/preview/acc_security/service/verification_check.py deleted file mode 100644 index d739987..0000000 --- a/twilio/rest/preview/acc_security/service/verification_check.py +++ /dev/null @@ -1,223 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class VerificationCheckList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid): - """ - Initialize the VerificationCheckList - - :param Version version: Version that contains the resource - :param service_sid: Service Sid. - - :returns: twilio.rest.preview.acc_security.service.verification_check.VerificationCheckList - :rtype: twilio.rest.preview.acc_security.service.verification_check.VerificationCheckList - """ - super(VerificationCheckList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/VerificationCheck'.format(**self._solution) - - def create(self, code, to=values.unset): - """ - Create a new VerificationCheckInstance - - :param unicode code: The verification string - :param unicode to: To phonenumber - - :returns: Newly created VerificationCheckInstance - :rtype: twilio.rest.preview.acc_security.service.verification_check.VerificationCheckInstance - """ - data = values.of({'Code': code, 'To': to, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return VerificationCheckInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.AccSecurity.VerificationCheckList>' - - -class VerificationCheckPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the VerificationCheckPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: Service Sid. - - :returns: twilio.rest.preview.acc_security.service.verification_check.VerificationCheckPage - :rtype: twilio.rest.preview.acc_security.service.verification_check.VerificationCheckPage - """ - super(VerificationCheckPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of VerificationCheckInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.acc_security.service.verification_check.VerificationCheckInstance - :rtype: twilio.rest.preview.acc_security.service.verification_check.VerificationCheckInstance - """ - return VerificationCheckInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.AccSecurity.VerificationCheckPage>' - - -class VerificationCheckInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - class Channel(object): - SMS = "sms" - CALL = "call" - - def __init__(self, version, payload, service_sid): - """ - Initialize the VerificationCheckInstance - - :returns: twilio.rest.preview.acc_security.service.verification_check.VerificationCheckInstance - :rtype: twilio.rest.preview.acc_security.service.verification_check.VerificationCheckInstance - """ - super(VerificationCheckInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'service_sid': payload['service_sid'], - 'account_sid': payload['account_sid'], - 'to': payload['to'], - 'channel': payload['channel'], - 'status': payload['status'], - 'valid': payload['valid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, } - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Verification Check. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def service_sid(self): - """ - :returns: Service Sid. - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def account_sid(self): - """ - :returns: Account Sid. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def to(self): - """ - :returns: To phonenumber - :rtype: unicode - """ - return self._properties['to'] - - @property - def channel(self): - """ - :returns: sms or call - :rtype: VerificationCheckInstance.Channel - """ - return self._properties['channel'] - - @property - def status(self): - """ - :returns: pending, approved, denied or expired - :rtype: unicode - """ - return self._properties['status'] - - @property - def valid(self): - """ - :returns: successful verification - :rtype: bool - """ - return self._properties['valid'] - - @property - def date_created(self): - """ - :returns: The date this Verification Check was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this Verification Check was updated - :rtype: datetime - """ - return self._properties['date_updated'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.AccSecurity.VerificationCheckInstance>' diff --git a/twilio/rest/preview/bulk_exports/__init__.py b/twilio/rest/preview/bulk_exports/__init__.py deleted file mode 100644 index cab14d8..0000000 --- a/twilio/rest/preview/bulk_exports/__init__.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.preview.bulk_exports.export import ExportList -from twilio.rest.preview.bulk_exports.export_configuration import ExportConfigurationList - - -class BulkExports(Version): - - def __init__(self, domain): - """ - Initialize the BulkExports version of Preview - - :returns: BulkExports version of Preview - :rtype: twilio.rest.preview.bulk_exports.BulkExports.BulkExports - """ - super(BulkExports, self).__init__(domain) - self.version = 'BulkExports' - self._exports = None - self._export_configuration = None - - @property - def exports(self): - """ - :rtype: twilio.rest.preview.bulk_exports.export.ExportList - """ - if self._exports is None: - self._exports = ExportList(self) - return self._exports - - @property - def export_configuration(self): - """ - :rtype: twilio.rest.preview.bulk_exports.export_configuration.ExportConfigurationList - """ - if self._export_configuration is None: - self._export_configuration = ExportConfigurationList(self) - return self._export_configuration - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.BulkExports>' diff --git a/twilio/rest/preview/bulk_exports/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/bulk_exports/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 28dd51296fe50e5eb948a20b40eec8fd37fef0d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1926 zcmbVM&2HQ_5GEz9q*c~!ejF4ia^R({_YiH0AeV&^q;-p;fE%Q!+k+s0kVUS|L@Ozz z*3K?;vw=KD&V7ZvLM}b)TJ+FY=&3_WR^>EC(o)cHC=F-ko4@;8Tfv*(UPXV55c(Yr zmIM4Fc-1Zth9bl;vogH2A`5HY&g`WVIfi$#(bA1vjJ`u`#N2blTyCA&k;lBB(A3`~ z!NIXmBrO;xr->p*Jm)g0I3tJaASN?H2`nJA?)HGxWQR`U8IT=X$FrK$J2Q|t`7*p0 z-V3xmfs5^$1%HB*Xo?%}7cP}3a$tjRUzCNc_Jyk8^htZ#EAoXnT7hv8(!WxD@nYE> zV=!|RVZd#@L<_93pZk%`9cDA<9G&541iZltyvsc1pQFfoi5wL9fO*_p`+Ai<YmKVZ z>J;l;8_}=&97u&KT%$AVsa4}Mtb<u2YBLL{W9W!kpw8aB?jRHLeJ(1IWMacfb<D}Y z3^{4RlVU-hNPZ&tY0zJrOJ1#HuIBH%(Z!U^WwkE(oK&YG6GbSws=~6>8Xf{R%1wM# zIPhS|_m(A;7J58&n~_?TT$*F!Qz`%mrH$8l4WBxV&Fzk(=`dYWt8o<17LCh_Wg>Kr z$CRd7q7<dSqQAu6JpNfh2;v__bet6NS7rH4QYG<zktSJuz?WrQit_H^N@VQreU%l9 zwK|Pkd>5OB8Fw(_A<X!~;jmmw4-j3~IrM=b?>ctj*=!FZaUq^!EdopLI{$m{s!xH` z=qcp;nJ>3Z4d~39Z;)?mv)_mBgY(cvFKla0*LJVs@zj!IuqbuiO|iVD`Hy<?F>sC7 z1^*5llnVrn0vzDYts$sR=6_;3>K*!zm@d~rhwxvm+-uix0{|fP47&pEb_?aQ=FdQW zh<(^9;kzze3WQFuNv<}_uu0>lcj}2OP6W)qge;`sIm^~Waws&#^U6%4ceUydNqQ`D ze&v<7dsS7kH@La8d(gISHw%W%`Ou{Qir7GJYS$<Ybv(@M^4>1)RsiN42<OR?Ln8;2 zE(^BGG(VyA`6|iUKc-z8zmx^Ef3=pnbL0(8ZUSkxx+YF}mVxEIF2TDkEu_oS3=RFq zbewNZCX?}G+)Wn0@hD|QN@;Yfn^uR3;$b&fq(%^Z@!mPsCfM{y^xy-fFV~MLIOEhm XC|b_6n7`Y`=b;`S28d%#Fg*6(kmw4g diff --git a/twilio/rest/preview/bulk_exports/__pycache__/export_configuration.cpython-36.pyc b/twilio/rest/preview/bulk_exports/__pycache__/export_configuration.cpython-36.pyc deleted file mode 100644 index cb5d2e5529d0032a0d5844b60c0708accf2e91cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11368 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 diff --git a/twilio/rest/preview/bulk_exports/export/__init__.py b/twilio/rest/preview/bulk_exports/export/__init__.py deleted file mode 100644 index b43caf4..0000000 --- a/twilio/rest/preview/bulk_exports/export/__init__.py +++ /dev/null @@ -1,262 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.preview.bulk_exports.export.day import DayList - - -class ExportList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version): - """ - Initialize the ExportList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.preview.bulk_exports.export.ExportList - :rtype: twilio.rest.preview.bulk_exports.export.ExportList - """ - super(ExportList, self).__init__(version) - - # Path Solution - self._solution = {} - - def get(self, resource_type): - """ - Constructs a ExportContext - - :param resource_type: The resource_type - - :returns: twilio.rest.preview.bulk_exports.export.ExportContext - :rtype: twilio.rest.preview.bulk_exports.export.ExportContext - """ - return ExportContext(self._version, resource_type=resource_type, ) - - def __call__(self, resource_type): - """ - Constructs a ExportContext - - :param resource_type: The resource_type - - :returns: twilio.rest.preview.bulk_exports.export.ExportContext - :rtype: twilio.rest.preview.bulk_exports.export.ExportContext - """ - return ExportContext(self._version, resource_type=resource_type, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.BulkExports.ExportList>' - - -class ExportPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the ExportPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.preview.bulk_exports.export.ExportPage - :rtype: twilio.rest.preview.bulk_exports.export.ExportPage - """ - super(ExportPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ExportInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.bulk_exports.export.ExportInstance - :rtype: twilio.rest.preview.bulk_exports.export.ExportInstance - """ - return ExportInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.BulkExports.ExportPage>' - - -class ExportContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, resource_type): - """ - Initialize the ExportContext - - :param Version version: Version that contains the resource - :param resource_type: The resource_type - - :returns: twilio.rest.preview.bulk_exports.export.ExportContext - :rtype: twilio.rest.preview.bulk_exports.export.ExportContext - """ - super(ExportContext, self).__init__(version) - - # Path Solution - self._solution = {'resource_type': resource_type, } - self._uri = '/Exports/{resource_type}'.format(**self._solution) - - # Dependents - self._days = None - - def fetch(self): - """ - Fetch a ExportInstance - - :returns: Fetched ExportInstance - :rtype: twilio.rest.preview.bulk_exports.export.ExportInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ExportInstance(self._version, payload, resource_type=self._solution['resource_type'], ) - - @property - def days(self): - """ - Access the days - - :returns: twilio.rest.preview.bulk_exports.export.day.DayList - :rtype: twilio.rest.preview.bulk_exports.export.day.DayList - """ - if self._days is None: - self._days = DayList(self._version, resource_type=self._solution['resource_type'], ) - return self._days - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.BulkExports.ExportContext {}>'.format(context) - - -class ExportInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, resource_type=None): - """ - Initialize the ExportInstance - - :returns: twilio.rest.preview.bulk_exports.export.ExportInstance - :rtype: twilio.rest.preview.bulk_exports.export.ExportInstance - """ - super(ExportInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'resource_type': payload['resource_type'], - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'resource_type': resource_type or self._properties['resource_type'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ExportContext for this ExportInstance - :rtype: twilio.rest.preview.bulk_exports.export.ExportContext - """ - if self._context is None: - self._context = ExportContext(self._version, resource_type=self._solution['resource_type'], ) - return self._context - - @property - def resource_type(self): - """ - :returns: The resource_type - :rtype: unicode - """ - return self._properties['resource_type'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a ExportInstance - - :returns: Fetched ExportInstance - :rtype: twilio.rest.preview.bulk_exports.export.ExportInstance - """ - return self._proxy.fetch() - - @property - def days(self): - """ - Access the days - - :returns: twilio.rest.preview.bulk_exports.export.day.DayList - :rtype: twilio.rest.preview.bulk_exports.export.day.DayList - """ - return self._proxy.days - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.BulkExports.ExportInstance {}>'.format(context) diff --git a/twilio/rest/preview/bulk_exports/export/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/bulk_exports/export/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 19b86df3cdc2a53a161812d4b159471ac1762c04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9316 zcmeHN&5ztj757(nyFEQ0`Pl4c2~Z0Qo8H~@WC=)U$VSN~VTlxmup3s$YGgUKC*z5` z-CK4~GM%2&1nq?&PDn^dNPAleF8l?YkPsInZsxcr1V;`i2gL7H*=~1FPm)a*L00t0 z<#M@Petz%O`~B+GoLOA7{`jX~*+2QBqI|4Weg^92aU?%O;VZV{tG*VgJ<Zlss_T*7 zGi*cDji}bE+jUW|MU9?mo1$Kinmx<5M7<F$^jdaHRo+&7({J8W{AOV8>GmS7Eq?*m z3xS2}C0w`sMO-fi2CkQJz2q<BdO4`$dc|LPS7{#_xz_c~FkxQo2kf?+u$w_Y;BFfD z?8c7OWvk3#_@Qvd`PpJ)cG78gS5cgF#@*F18=qW7kL@=)r#q)D>d)|?{H<Dl#fK|x zHLGvC(J)9*TfWjyQn&8~7vp{!+)2^2QZ&62B=L}Y0oqzu!z8U-8`s>M)ZVz{?$9ld z1}=VjUP-=*N}$*(bglWSt$(0wK;yoC&$JES@N4%JyXM#Z2F`V<LA&vRVkou=eOQ@w z`OYBbDUCn+1G{$h@`ZOVv-R&?zs%B2H$_3pirj=$)=%BApRfTBw!`2y&aprA(nR)j zdBBq4jjg~-g-X(xd7EzkX3$|jNCNZ;dhB+XZZgjureWOguqzvECmu3y$a&CDqaEhQ ztRJUr)7=i3A8ZFvJP5cLtazpCc|nrA&IVE7Vo)KHhbMw)a6Y{qMq%9X;$DY&TCN^C zld9-QUPO^9sXA8nv@LC{?y0I0Dr3dbeHF^kM*qx>$=H>Cn1*f?j)dfFq9m*AvNmwJ z+hgwqJi+I%ZFycR8-)H!rQ!P-&uv{9g9qu5_mef2OOGyTC;!^cjbU`l350!;jy!iN zlH?x8)_A%z2%c()^|q1Kk|EU1O(-cd9Vdha94Bi!NgN4-wYAJhf@mXa<ev)HY&wo` z4#)XOc`&%R)`h8g(*1sDZ@O{!!eDU8P2KL**mI-q^`JNC4#L5y8^bX2Pn}7kcw;BI z-IZTnoJaxPTmjvx0=iNG-9oa?V24|f^%z-}qK?vB(MLxn`soxsr<{R$UZh8sP^2*a zmO55_^}Z$?;P0h%F;$b43-@+&^P`DoZ^e4j0}8V`(hS!tmKIHw2cFQ}#hahb;<KZ` zev4DG!@`SFe|cB<L1Al+x1cb7h>GR1SV1k*ZwBehs3c<2HAhPo8{pRe)jy@v(!<)S z&}LiXhe@ADP@sOGmN6wUiz3Hat*Cn1-Q|5xMF;xPnGWIZ<o9`$8<iql<MDO~AavOV z4}-ps7|a7qz69~ur64`eb-(L+n_)jV@R3<3#WX5kIC|ymbs46wNf7D0g%~IGlT>2c zIpJf_kWj~rzd;iurQ@vOo21h<W+uM8-)>SM>$|-Gfy{E89`GunddqR%AG%R~r{Oq$ z>|sy}C;TWC&rv~<C0ooRoEMPpC$10KD1vaB0U~D7%t&YiQ#Z8MlDS|mh;|Q6<xkIR z$!Sy`7qtaiHxQr90<DP{e3sB!gl}ks&ZHtbk`pMZXg${UKq1Ha1h3uGaPQK$=0Y}U zs^Y{?4%www%OTzgk^vAxV7jQRv9f7{$35aZ?83Dxm3Kd3>=$29zWs@yergCnJ#Rv_ zob)SQegQSKin+FkdS)U7h_ABE68&?37jscKJ^A_-91?u3!zK9A>*j+m+4UklLa!>o zcaNY~bz$3yE#D%Fz}!9q-xSQ5#Tz*a7sR=uS!ohK1QQ&%J5lWVYwVh=5a*JH`gE;Q zO7V1-**6RzIET;TRuvesM*e-1I3xm4)&kCgu}NM1kTjfQ@$)ja3X@d(JnJAqAM`Mg z5W(9k6;a|t?wdJ2nEZKk;V)2eoC;bY$T`8NMhL(^M@0!iQ*ocB&?OuRk!BJ1ml5@; zm0n%`$nEKuoJH}ds2|kjYHd%o8~J+86bR77G_eF%_$-C~LN|0Sj^yjOsD^%8sQKzx z3$b*=VolpJHi)_FKc(xMPmoaeb?C=%->8O>xsXuM;1W2VVj)+~{%3n7Ac*Mbh1Hyh zt=>h{6j=$ee%W1bHzZ^TqAFMtK}J^Jh<VRVGs7A3FsnJfyOXr_364m9I~O=Oo)@!5 zu~u|T#mep26ic4q2QgUsk#p2=T*Q$($d(!^d+IKnU`yM=8Xji@i#hGSzN@7*Y8`7R z;Tp#k-?&c>QXBoEwEMTQHrZsw>aK{l6<jG1Tl7SVNQzkYEUo`UsJw5OOn>|Gbu7y2 z!kLmndqgZ@01D`~7H<eV$Z8uTJpU3J`4^}V7@q6?E7X9*TqSHtp88d^{TPS9U!`Gb zbyZUh)hwYqpBo)9`V>YGH500*F`!h;$6F?6luUt|F&BLeO4jeA?uh#|8%Mt`m3={E zZUikNH<_p9$4!CY`A(h^D~JE2Igoi{tWRm&;9tg<@&*;OHj^5jzalZ{lYWj)Ngah^ zTIw-%ba>jKsY|I*GNz70X!K=Nd=(m{tewb6Y-xMIl|3Y=c2(cl(kWFXocF)DbbFw( zQhXAf93r8E+;6P>=vY_VRd+QXt}#Za-qYU0;`4o^Bq6vqs@>gv^DY93%3nhFww`I7 z)0uiJQ@1D3Dtz=o^DL!g?+p04k7#t#l%b5;)5<JXfSt1u<(86jo${&CsYfp{b2n#q zch4d5Wo*S^Uzj(mg=x@Bq>OSco;5s~_L-4WaDxv?LQ;g%cv0OS!E%;i9n3OlGG!(b zsmQ#gJNy+~K9Y1$5boiaEH;mrhgvPc3_P@#KOq>dl0J$m?eLF?B(d%r_nNj5)O;j} z@4?;dI_e-DqTWEg>06?1qQ2m_M7`-R`b$VATWDMMS47)_f5<<Kww53&i?H}n5tTke zL}lG8)JbPLXc8pfK{3lz#&G)M3Q9yolmdKyDVMDPCC30z>4S43W}=_qG%x{_Rv-PY z3}|zyO9>fex3v<Z9yfaaXE98K&`cllD62(b{}%B9ku!V)isD~GvEHsrG9h4#$V9f_ z<TD@)5@c+O2{*eem5?Uja4x6#Eyl``ZN;dob#)2lC|>~;s@qR2h+vRCMJ)a#=;n5+ zT=VUGBWY^YntuudQ4-J>=1a8K#Z_^awpiSOdm{?4%q>lekU;z@?B8VDE)U~j!d#D% za!H4=3sE##8|Tf8wqT&iJ0YkFwqGa(k-uUd+)hQ*TtZ0lsrtvoJY`-mrCEq2qCZK0 zJ`7^(<Rf=>eor<QAlnom``om+9oee{DzYshh_EgBnq)4=6#+_@OI=T<(f;gxA$vhF zhW(Is56fo@)^G;H&(Bzj9)HGdxhk)ZPRvL>MYkVQ_-~a0Obd^xSGgm%B=(6+vk|gB zL}cpmmx{<an<=LeUh|lOzF85c*zF=Mi||mncYvrAGafD~_4v3V>d_hPiWf}@OKvgc z5?ksXxrF*ZygI<%z&9W^rwDa`o6)Vm;gD|D7|kkTKdUblK?w|+8(T!z)Mtyg7n&jV zbbw~));~(kn8j{E>CMkNIp-(waixpvxFAG(a(d3&c$~jV#cNcQ=`XpCd>w5y_)fvj zU!9q852NRuN7M7dERvt|QzQYA0p6kFB^1R**(x>62uDe~f8m%A^ZgVcXXfg9d+A_u zPJ1+R&JpL}6cGi35mWH-xH@s1-{43Nqo4%g($Usp%cMWE*|G#lUT+@~c}II8r*Jp$ zuMKj!f1=XTDY!$)kI2mS=jV1Q0ELqq*vG4VBK)TZ_RnN~hf_wyUa8(6AhXH|VeQxQ zW^{h||0H1c$aOMB5xK8G-zyUn6YGc?Z5?FhS-BN=j#k$R?YLpfOfCQPl`|{tmGl1w DldF$k diff --git a/twilio/rest/preview/bulk_exports/export/__pycache__/day.cpython-36.pyc b/twilio/rest/preview/bulk_exports/export/__pycache__/day.cpython-36.pyc deleted file mode 100644 index 429de6f12a0f5a7ce85775e6e5ea2398cb8de1ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8855 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 diff --git a/twilio/rest/preview/bulk_exports/export/day.py b/twilio/rest/preview/bulk_exports/export/day.py deleted file mode 100644 index 62896fb..0000000 --- a/twilio/rest/preview/bulk_exports/export/day.py +++ /dev/null @@ -1,235 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class DayList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, resource_type): - """ - Initialize the DayList - - :param Version version: Version that contains the resource - :param resource_type: The resource_type - - :returns: twilio.rest.preview.bulk_exports.export.day.DayList - :rtype: twilio.rest.preview.bulk_exports.export.day.DayList - """ - super(DayList, self).__init__(version) - - # Path Solution - self._solution = {'resource_type': resource_type, } - self._uri = '/Exports/{resource_type}/Days'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams DayInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.bulk_exports.export.day.DayInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists DayInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.bulk_exports.export.day.DayInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of DayInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of DayInstance - :rtype: twilio.rest.preview.bulk_exports.export.day.DayPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return DayPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of DayInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of DayInstance - :rtype: twilio.rest.preview.bulk_exports.export.day.DayPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return DayPage(self._version, response, self._solution) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.BulkExports.DayList>' - - -class DayPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the DayPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param resource_type: The resource_type - - :returns: twilio.rest.preview.bulk_exports.export.day.DayPage - :rtype: twilio.rest.preview.bulk_exports.export.day.DayPage - """ - super(DayPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of DayInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.bulk_exports.export.day.DayInstance - :rtype: twilio.rest.preview.bulk_exports.export.day.DayInstance - """ - return DayInstance(self._version, payload, resource_type=self._solution['resource_type'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.BulkExports.DayPage>' - - -class DayInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, resource_type): - """ - Initialize the DayInstance - - :returns: twilio.rest.preview.bulk_exports.export.day.DayInstance - :rtype: twilio.rest.preview.bulk_exports.export.day.DayInstance - """ - super(DayInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'redirect_to': payload.get('redirect_to'), - 'day': payload.get('day'), - 'size': deserialize.integer(payload.get('size')), - 'resource_type': payload.get('resource_type'), - } - - # Context - self._context = None - self._solution = {'resource_type': resource_type, } - - @property - def redirect_to(self): - """ - :returns: The redirect_to - :rtype: unicode - """ - return self._properties['redirect_to'] - - @property - def day(self): - """ - :returns: The day - :rtype: unicode - """ - return self._properties['day'] - - @property - def size(self): - """ - :returns: The size - :rtype: unicode - """ - return self._properties['size'] - - @property - def resource_type(self): - """ - :returns: The resource_type - :rtype: unicode - """ - return self._properties['resource_type'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.BulkExports.DayInstance>' diff --git a/twilio/rest/preview/bulk_exports/export_configuration.py b/twilio/rest/preview/bulk_exports/export_configuration.py deleted file mode 100644 index e211d31..0000000 --- a/twilio/rest/preview/bulk_exports/export_configuration.py +++ /dev/null @@ -1,301 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class ExportConfigurationList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version): - """ - Initialize the ExportConfigurationList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.preview.bulk_exports.export_configuration.ExportConfigurationList - :rtype: twilio.rest.preview.bulk_exports.export_configuration.ExportConfigurationList - """ - super(ExportConfigurationList, self).__init__(version) - - # Path Solution - self._solution = {} - - def get(self, resource_type): - """ - Constructs a ExportConfigurationContext - - :param resource_type: The resource_type - - :returns: twilio.rest.preview.bulk_exports.export_configuration.ExportConfigurationContext - :rtype: twilio.rest.preview.bulk_exports.export_configuration.ExportConfigurationContext - """ - return ExportConfigurationContext(self._version, resource_type=resource_type, ) - - def __call__(self, resource_type): - """ - Constructs a ExportConfigurationContext - - :param resource_type: The resource_type - - :returns: twilio.rest.preview.bulk_exports.export_configuration.ExportConfigurationContext - :rtype: twilio.rest.preview.bulk_exports.export_configuration.ExportConfigurationContext - """ - return ExportConfigurationContext(self._version, resource_type=resource_type, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.BulkExports.ExportConfigurationList>' - - -class ExportConfigurationPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the ExportConfigurationPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.preview.bulk_exports.export_configuration.ExportConfigurationPage - :rtype: twilio.rest.preview.bulk_exports.export_configuration.ExportConfigurationPage - """ - super(ExportConfigurationPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ExportConfigurationInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.bulk_exports.export_configuration.ExportConfigurationInstance - :rtype: twilio.rest.preview.bulk_exports.export_configuration.ExportConfigurationInstance - """ - return ExportConfigurationInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.BulkExports.ExportConfigurationPage>' - - -class ExportConfigurationContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, resource_type): - """ - Initialize the ExportConfigurationContext - - :param Version version: Version that contains the resource - :param resource_type: The resource_type - - :returns: twilio.rest.preview.bulk_exports.export_configuration.ExportConfigurationContext - :rtype: twilio.rest.preview.bulk_exports.export_configuration.ExportConfigurationContext - """ - super(ExportConfigurationContext, self).__init__(version) - - # Path Solution - self._solution = {'resource_type': resource_type, } - self._uri = '/Exports/{resource_type}/Configuration'.format(**self._solution) - - def fetch(self): - """ - Fetch a ExportConfigurationInstance - - :returns: Fetched ExportConfigurationInstance - :rtype: twilio.rest.preview.bulk_exports.export_configuration.ExportConfigurationInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ExportConfigurationInstance( - self._version, - payload, - resource_type=self._solution['resource_type'], - ) - - def update(self, enabled=values.unset, webhook_url=values.unset, - webhook_method=values.unset): - """ - Update the ExportConfigurationInstance - - :param bool enabled: The enabled - :param unicode webhook_url: The webhook_url - :param unicode webhook_method: The webhook_method - - :returns: Updated ExportConfigurationInstance - :rtype: twilio.rest.preview.bulk_exports.export_configuration.ExportConfigurationInstance - """ - data = values.of({'Enabled': enabled, 'WebhookUrl': webhook_url, 'WebhookMethod': webhook_method, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ExportConfigurationInstance( - self._version, - payload, - resource_type=self._solution['resource_type'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.BulkExports.ExportConfigurationContext {}>'.format(context) - - -class ExportConfigurationInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, resource_type=None): - """ - Initialize the ExportConfigurationInstance - - :returns: twilio.rest.preview.bulk_exports.export_configuration.ExportConfigurationInstance - :rtype: twilio.rest.preview.bulk_exports.export_configuration.ExportConfigurationInstance - """ - super(ExportConfigurationInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'enabled': payload['enabled'], - 'webhook_url': payload['webhook_url'], - 'webhook_method': payload['webhook_method'], - 'resource_type': payload['resource_type'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'resource_type': resource_type or self._properties['resource_type'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ExportConfigurationContext for this ExportConfigurationInstance - :rtype: twilio.rest.preview.bulk_exports.export_configuration.ExportConfigurationContext - """ - if self._context is None: - self._context = ExportConfigurationContext( - self._version, - resource_type=self._solution['resource_type'], - ) - return self._context - - @property - def enabled(self): - """ - :returns: The enabled - :rtype: bool - """ - return self._properties['enabled'] - - @property - def webhook_url(self): - """ - :returns: The webhook_url - :rtype: unicode - """ - return self._properties['webhook_url'] - - @property - def webhook_method(self): - """ - :returns: The webhook_method - :rtype: unicode - """ - return self._properties['webhook_method'] - - @property - def resource_type(self): - """ - :returns: The resource_type - :rtype: unicode - """ - return self._properties['resource_type'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a ExportConfigurationInstance - - :returns: Fetched ExportConfigurationInstance - :rtype: twilio.rest.preview.bulk_exports.export_configuration.ExportConfigurationInstance - """ - return self._proxy.fetch() - - def update(self, enabled=values.unset, webhook_url=values.unset, - webhook_method=values.unset): - """ - Update the ExportConfigurationInstance - - :param bool enabled: The enabled - :param unicode webhook_url: The webhook_url - :param unicode webhook_method: The webhook_method - - :returns: Updated ExportConfigurationInstance - :rtype: twilio.rest.preview.bulk_exports.export_configuration.ExportConfigurationInstance - """ - return self._proxy.update(enabled=enabled, webhook_url=webhook_url, webhook_method=webhook_method, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.BulkExports.ExportConfigurationInstance {}>'.format(context) diff --git a/twilio/rest/preview/deployed_devices/__init__.py b/twilio/rest/preview/deployed_devices/__init__.py deleted file mode 100644 index 56d9d37..0000000 --- a/twilio/rest/preview/deployed_devices/__init__.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.preview.deployed_devices.fleet import FleetList - - -class DeployedDevices(Version): - - def __init__(self, domain): - """ - Initialize the DeployedDevices version of Preview - - :returns: DeployedDevices version of Preview - :rtype: twilio.rest.preview.deployed_devices.DeployedDevices.DeployedDevices - """ - super(DeployedDevices, self).__init__(domain) - self.version = 'DeployedDevices' - self._fleets = None - - @property - def fleets(self): - """ - :rtype: twilio.rest.preview.deployed_devices.fleet.FleetList - """ - if self._fleets is None: - self._fleets = FleetList(self) - return self._fleets - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.DeployedDevices>' diff --git a/twilio/rest/preview/deployed_devices/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/deployed_devices/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 8424d371ad9d0c8854871260b361c835589c5c82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1555 zcmb7D&ui2`6rM@4Kbmf>pon-H@X{5Ut@O5(qO>SNEfuSW5E#<Tteu+O#F^|ayX4k| z{u!SATLkf(t0(^jPrjLCqb@DffqC;LnR)ZR_kC}7W5fOW{j=Y95c+}s8n8#tV5%K3 z4Ecy*X2p1D`4-l`9os|4cQAU1n8O+i#2VbXwEYHazD3>EJakXbg(6YHIGKiueBdK4 z!;CX>Hgf~gBb2}ZL-T5NNlvzCH|T-cqIuBENxs#C6O*Ujj<@6L^8_xIqv!sF#84L( zt@m6ik&M7ydl7S<9SN01`sZ@km1D4Q<YT~NU7-Qim=<l{<_@!&vp|;^@&^P9<TtO7 zgZ!4pQfwabG)`um9rB5YxQeVQpk8%wJrx0yp$zBf(z>v6e2I0Tazt%rfpwS#!R-0B z3J4*uMj{hoEaseK=bWrOLMA0Fk_^a+gopXmt*`ba&&G13`nS1NRgCmyHcNS*WK$7~ z#FJcQURp->ScQ<X5~8<~&Fa3+L~5ZNcN;}RjZ-eowrEo-034-7t3pw<=s<I$x>n&R z9uJBpONOB^tWg@pp;DB7LBECv{otJf=)oJ|pNC2CJWUV7EDVm4D2#(sK1_pDq}yj> z5wq=G6(@t4ng%7N<)Wbl6|`U#TChycOJ}kP*>A#B+Ci<mxQXWvSFtZIL|7k!p;yiQ z0ZjD>OpY#q>yK@D-|(+lH{XD9Ykpi8>%SN<_3~;(*FlcEmTbeDQmd|u<(l?8wb=l# zXqLs+sg=kYE_U(!!78%y*gv>5HiJtO%dkN(uOB~=$wWX)hh!iHAF+5wB!@~XKFY!j zy6`%Uz7C^vG2%B~Srw?tWc}cr?46c+t(ss}iTeio4Rrt^>hvgmtSe#Kwsjr9<)Lm{ zD|ZwQIVjhqbeOPlto;t9pT=Qa{xO;<+Nn%H@7YY=fzVQGsMx549Pv1YhigtCxpjR= zQ)3!LJBF9G)miVXRXx;%CZQ~eDE04EJ$e=@?o}-$b^893TXnDD)d<AI{*y}S8I82} PN__jRWj2o0!5#ZI=Fgu% diff --git a/twilio/rest/preview/deployed_devices/fleet/__init__.py b/twilio/rest/preview/deployed_devices/fleet/__init__.py deleted file mode 100644 index 59c27b8..0000000 --- a/twilio/rest/preview/deployed_devices/fleet/__init__.py +++ /dev/null @@ -1,545 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.preview.deployed_devices.fleet.certificate import CertificateList -from twilio.rest.preview.deployed_devices.fleet.deployment import DeploymentList -from twilio.rest.preview.deployed_devices.fleet.device import DeviceList -from twilio.rest.preview.deployed_devices.fleet.key import KeyList - - -class FleetList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version): - """ - Initialize the FleetList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.preview.deployed_devices.fleet.FleetList - :rtype: twilio.rest.preview.deployed_devices.fleet.FleetList - """ - super(FleetList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Fleets'.format(**self._solution) - - def create(self, friendly_name=values.unset): - """ - Create a new FleetInstance - - :param unicode friendly_name: A human readable description for this Fleet. - - :returns: Newly created FleetInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.FleetInstance - """ - data = values.of({'FriendlyName': friendly_name, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return FleetInstance(self._version, payload, ) - - def stream(self, limit=None, page_size=None): - """ - Streams FleetInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.deployed_devices.fleet.FleetInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists FleetInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.deployed_devices.fleet.FleetInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of FleetInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of FleetInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.FleetPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return FleetPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of FleetInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of FleetInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.FleetPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return FleetPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a FleetContext - - :param sid: A string that uniquely identifies the Fleet. - - :returns: twilio.rest.preview.deployed_devices.fleet.FleetContext - :rtype: twilio.rest.preview.deployed_devices.fleet.FleetContext - """ - return FleetContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a FleetContext - - :param sid: A string that uniquely identifies the Fleet. - - :returns: twilio.rest.preview.deployed_devices.fleet.FleetContext - :rtype: twilio.rest.preview.deployed_devices.fleet.FleetContext - """ - return FleetContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.DeployedDevices.FleetList>' - - -class FleetPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the FleetPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.preview.deployed_devices.fleet.FleetPage - :rtype: twilio.rest.preview.deployed_devices.fleet.FleetPage - """ - super(FleetPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of FleetInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.deployed_devices.fleet.FleetInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.FleetInstance - """ - return FleetInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.DeployedDevices.FleetPage>' - - -class FleetContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, sid): - """ - Initialize the FleetContext - - :param Version version: Version that contains the resource - :param sid: A string that uniquely identifies the Fleet. - - :returns: twilio.rest.preview.deployed_devices.fleet.FleetContext - :rtype: twilio.rest.preview.deployed_devices.fleet.FleetContext - """ - super(FleetContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Fleets/{sid}'.format(**self._solution) - - # Dependents - self._devices = None - self._deployments = None - self._certificates = None - self._keys = None - - def fetch(self): - """ - Fetch a FleetInstance - - :returns: Fetched FleetInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.FleetInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return FleetInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the FleetInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, friendly_name=values.unset, - default_deployment_sid=values.unset): - """ - Update the FleetInstance - - :param unicode friendly_name: A human readable description for this Fleet. - :param unicode default_deployment_sid: A default Deployment SID. - - :returns: Updated FleetInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.FleetInstance - """ - data = values.of({'FriendlyName': friendly_name, 'DefaultDeploymentSid': default_deployment_sid, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return FleetInstance(self._version, payload, sid=self._solution['sid'], ) - - @property - def devices(self): - """ - Access the devices - - :returns: twilio.rest.preview.deployed_devices.fleet.device.DeviceList - :rtype: twilio.rest.preview.deployed_devices.fleet.device.DeviceList - """ - if self._devices is None: - self._devices = DeviceList(self._version, fleet_sid=self._solution['sid'], ) - return self._devices - - @property - def deployments(self): - """ - Access the deployments - - :returns: twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentList - :rtype: twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentList - """ - if self._deployments is None: - self._deployments = DeploymentList(self._version, fleet_sid=self._solution['sid'], ) - return self._deployments - - @property - def certificates(self): - """ - Access the certificates - - :returns: twilio.rest.preview.deployed_devices.fleet.certificate.CertificateList - :rtype: twilio.rest.preview.deployed_devices.fleet.certificate.CertificateList - """ - if self._certificates is None: - self._certificates = CertificateList(self._version, fleet_sid=self._solution['sid'], ) - return self._certificates - - @property - def keys(self): - """ - Access the keys - - :returns: twilio.rest.preview.deployed_devices.fleet.key.KeyList - :rtype: twilio.rest.preview.deployed_devices.fleet.key.KeyList - """ - if self._keys is None: - self._keys = KeyList(self._version, fleet_sid=self._solution['sid'], ) - return self._keys - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.DeployedDevices.FleetContext {}>'.format(context) - - -class FleetInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, sid=None): - """ - Initialize the FleetInstance - - :returns: twilio.rest.preview.deployed_devices.fleet.FleetInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.FleetInstance - """ - super(FleetInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'url': payload['url'], - 'unique_name': payload['unique_name'], - 'friendly_name': payload['friendly_name'], - 'account_sid': payload['account_sid'], - 'default_deployment_sid': payload['default_deployment_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: FleetContext for this FleetInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.FleetContext - """ - if self._context is None: - self._context = FleetContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Fleet. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def url(self): - """ - :returns: URL of this Fleet. - :rtype: unicode - """ - return self._properties['url'] - - @property - def unique_name(self): - """ - :returns: A unique, addressable name of this Fleet. - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def friendly_name(self): - """ - :returns: A human readable description for this Fleet. - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def account_sid(self): - """ - :returns: The unique SID that identifies this Account. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def default_deployment_sid(self): - """ - :returns: The unique SID that identifies this Fleet's default Deployment. - :rtype: unicode - """ - return self._properties['default_deployment_sid'] - - @property - def date_created(self): - """ - :returns: The date this Fleet was created. - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this Fleet was updated. - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def links(self): - """ - :returns: Nested resource URLs. - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a FleetInstance - - :returns: Fetched FleetInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.FleetInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the FleetInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, friendly_name=values.unset, - default_deployment_sid=values.unset): - """ - Update the FleetInstance - - :param unicode friendly_name: A human readable description for this Fleet. - :param unicode default_deployment_sid: A default Deployment SID. - - :returns: Updated FleetInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.FleetInstance - """ - return self._proxy.update( - friendly_name=friendly_name, - default_deployment_sid=default_deployment_sid, - ) - - @property - def devices(self): - """ - Access the devices - - :returns: twilio.rest.preview.deployed_devices.fleet.device.DeviceList - :rtype: twilio.rest.preview.deployed_devices.fleet.device.DeviceList - """ - return self._proxy.devices - - @property - def deployments(self): - """ - Access the deployments - - :returns: twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentList - :rtype: twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentList - """ - return self._proxy.deployments - - @property - def certificates(self): - """ - Access the certificates - - :returns: twilio.rest.preview.deployed_devices.fleet.certificate.CertificateList - :rtype: twilio.rest.preview.deployed_devices.fleet.certificate.CertificateList - """ - return self._proxy.certificates - - @property - def keys(self): - """ - Access the keys - - :returns: twilio.rest.preview.deployed_devices.fleet.key.KeyList - :rtype: twilio.rest.preview.deployed_devices.fleet.key.KeyList - """ - return self._proxy.keys - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.DeployedDevices.FleetInstance {}>'.format(context) diff --git a/twilio/rest/preview/deployed_devices/fleet/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/deployed_devices/fleet/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 9c85b95ef3259d7a8d3a0de2422f6069e3e087ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19342 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 diff --git a/twilio/rest/preview/deployed_devices/fleet/__pycache__/certificate.cpython-36.pyc b/twilio/rest/preview/deployed_devices/fleet/__pycache__/certificate.cpython-36.pyc deleted file mode 100644 index 8e0e86d8d381002b5156692ba3b3b6c4a27250cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17896 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 LWA4}H{_y_+%6{WN diff --git a/twilio/rest/preview/deployed_devices/fleet/__pycache__/deployment.cpython-36.pyc b/twilio/rest/preview/deployed_devices/fleet/__pycache__/deployment.cpython-36.pyc deleted file mode 100644 index 5cfa75d53acf039506b3f225481e58e7563700af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17102 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 YAkRbvg5FI1uekV!#w&~8TKv8L0b}6_IRF3v diff --git a/twilio/rest/preview/deployed_devices/fleet/__pycache__/device.cpython-36.pyc b/twilio/rest/preview/deployed_devices/fleet/__pycache__/device.cpython-36.pyc deleted file mode 100644 index c98f72ec2cced6b71b0e06af1efc92526e6bcab8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18430 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 diff --git a/twilio/rest/preview/deployed_devices/fleet/__pycache__/key.cpython-36.pyc b/twilio/rest/preview/deployed_devices/fleet/__pycache__/key.cpython-36.pyc deleted file mode 100644 index eacb4662102b7ac5522f677fce2ab5562bb4adf5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16695 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 diff --git a/twilio/rest/preview/deployed_devices/fleet/certificate.py b/twilio/rest/preview/deployed_devices/fleet/certificate.py deleted file mode 100644 index c854014..0000000 --- a/twilio/rest/preview/deployed_devices/fleet/certificate.py +++ /dev/null @@ -1,474 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class CertificateList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, fleet_sid): - """ - Initialize the CertificateList - - :param Version version: Version that contains the resource - :param fleet_sid: The unique identifier of the Fleet. - - :returns: twilio.rest.preview.deployed_devices.fleet.certificate.CertificateList - :rtype: twilio.rest.preview.deployed_devices.fleet.certificate.CertificateList - """ - super(CertificateList, self).__init__(version) - - # Path Solution - self._solution = {'fleet_sid': fleet_sid, } - self._uri = '/Fleets/{fleet_sid}/Certificates'.format(**self._solution) - - def create(self, certificate_data, friendly_name=values.unset, - device_sid=values.unset): - """ - Create a new CertificateInstance - - :param unicode certificate_data: The public certificate data. - :param unicode friendly_name: The human readable description for this Certificate. - :param unicode device_sid: The unique identifier of a Device to be authenticated. - - :returns: Newly created CertificateInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.certificate.CertificateInstance - """ - data = values.of({ - 'CertificateData': certificate_data, - 'FriendlyName': friendly_name, - 'DeviceSid': device_sid, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return CertificateInstance(self._version, payload, fleet_sid=self._solution['fleet_sid'], ) - - def stream(self, device_sid=values.unset, limit=None, page_size=None): - """ - Streams CertificateInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode device_sid: Find all Certificates authenticating specified Device. - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.deployed_devices.fleet.certificate.CertificateInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(device_sid=device_sid, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, device_sid=values.unset, limit=None, page_size=None): - """ - Lists CertificateInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode device_sid: Find all Certificates authenticating specified Device. - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.deployed_devices.fleet.certificate.CertificateInstance] - """ - return list(self.stream(device_sid=device_sid, limit=limit, page_size=page_size, )) - - def page(self, device_sid=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of CertificateInstance records from the API. - Request is executed immediately - - :param unicode device_sid: Find all Certificates authenticating specified Device. - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of CertificateInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.certificate.CertificatePage - """ - params = values.of({ - 'DeviceSid': device_sid, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return CertificatePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of CertificateInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of CertificateInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.certificate.CertificatePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return CertificatePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a CertificateContext - - :param sid: A string that uniquely identifies the Certificate. - - :returns: twilio.rest.preview.deployed_devices.fleet.certificate.CertificateContext - :rtype: twilio.rest.preview.deployed_devices.fleet.certificate.CertificateContext - """ - return CertificateContext(self._version, fleet_sid=self._solution['fleet_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a CertificateContext - - :param sid: A string that uniquely identifies the Certificate. - - :returns: twilio.rest.preview.deployed_devices.fleet.certificate.CertificateContext - :rtype: twilio.rest.preview.deployed_devices.fleet.certificate.CertificateContext - """ - return CertificateContext(self._version, fleet_sid=self._solution['fleet_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.DeployedDevices.CertificateList>' - - -class CertificatePage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the CertificatePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param fleet_sid: The unique identifier of the Fleet. - - :returns: twilio.rest.preview.deployed_devices.fleet.certificate.CertificatePage - :rtype: twilio.rest.preview.deployed_devices.fleet.certificate.CertificatePage - """ - super(CertificatePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of CertificateInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.deployed_devices.fleet.certificate.CertificateInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.certificate.CertificateInstance - """ - return CertificateInstance(self._version, payload, fleet_sid=self._solution['fleet_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.DeployedDevices.CertificatePage>' - - -class CertificateContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, fleet_sid, sid): - """ - Initialize the CertificateContext - - :param Version version: Version that contains the resource - :param fleet_sid: The fleet_sid - :param sid: A string that uniquely identifies the Certificate. - - :returns: twilio.rest.preview.deployed_devices.fleet.certificate.CertificateContext - :rtype: twilio.rest.preview.deployed_devices.fleet.certificate.CertificateContext - """ - super(CertificateContext, self).__init__(version) - - # Path Solution - self._solution = {'fleet_sid': fleet_sid, 'sid': sid, } - self._uri = '/Fleets/{fleet_sid}/Certificates/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a CertificateInstance - - :returns: Fetched CertificateInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.certificate.CertificateInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return CertificateInstance( - self._version, - payload, - fleet_sid=self._solution['fleet_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the CertificateInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, friendly_name=values.unset, device_sid=values.unset): - """ - Update the CertificateInstance - - :param unicode friendly_name: The human readable description for this Certificate. - :param unicode device_sid: The unique identifier of a Device to be authenticated. - - :returns: Updated CertificateInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.certificate.CertificateInstance - """ - data = values.of({'FriendlyName': friendly_name, 'DeviceSid': device_sid, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return CertificateInstance( - self._version, - payload, - fleet_sid=self._solution['fleet_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.DeployedDevices.CertificateContext {}>'.format(context) - - -class CertificateInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, fleet_sid, sid=None): - """ - Initialize the CertificateInstance - - :returns: twilio.rest.preview.deployed_devices.fleet.certificate.CertificateInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.certificate.CertificateInstance - """ - super(CertificateInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'url': payload['url'], - 'friendly_name': payload['friendly_name'], - 'fleet_sid': payload['fleet_sid'], - 'account_sid': payload['account_sid'], - 'device_sid': payload['device_sid'], - 'thumbprint': payload['thumbprint'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - } - - # Context - self._context = None - self._solution = {'fleet_sid': fleet_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: CertificateContext for this CertificateInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.certificate.CertificateContext - """ - if self._context is None: - self._context = CertificateContext( - self._version, - fleet_sid=self._solution['fleet_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Certificate. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def url(self): - """ - :returns: URL of this Certificate. - :rtype: unicode - """ - return self._properties['url'] - - @property - def friendly_name(self): - """ - :returns: A human readable description for this Certificate. - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def fleet_sid(self): - """ - :returns: The unique identifier of the Fleet. - :rtype: unicode - """ - return self._properties['fleet_sid'] - - @property - def account_sid(self): - """ - :returns: The unique SID that identifies this Account. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def device_sid(self): - """ - :returns: The unique identifier of a mapped Device. - :rtype: unicode - """ - return self._properties['device_sid'] - - @property - def thumbprint(self): - """ - :returns: A Certificate unique payload hash. - :rtype: unicode - """ - return self._properties['thumbprint'] - - @property - def date_created(self): - """ - :returns: The date this Certificate was created. - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this Certificate was updated. - :rtype: datetime - """ - return self._properties['date_updated'] - - def fetch(self): - """ - Fetch a CertificateInstance - - :returns: Fetched CertificateInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.certificate.CertificateInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the CertificateInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, friendly_name=values.unset, device_sid=values.unset): - """ - Update the CertificateInstance - - :param unicode friendly_name: The human readable description for this Certificate. - :param unicode device_sid: The unique identifier of a Device to be authenticated. - - :returns: Updated CertificateInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.certificate.CertificateInstance - """ - return self._proxy.update(friendly_name=friendly_name, device_sid=device_sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.DeployedDevices.CertificateInstance {}>'.format(context) diff --git a/twilio/rest/preview/deployed_devices/fleet/deployment.py b/twilio/rest/preview/deployed_devices/fleet/deployment.py deleted file mode 100644 index a0bb432..0000000 --- a/twilio/rest/preview/deployed_devices/fleet/deployment.py +++ /dev/null @@ -1,451 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class DeploymentList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, fleet_sid): - """ - Initialize the DeploymentList - - :param Version version: Version that contains the resource - :param fleet_sid: The unique identifier of the Fleet. - - :returns: twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentList - :rtype: twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentList - """ - super(DeploymentList, self).__init__(version) - - # Path Solution - self._solution = {'fleet_sid': fleet_sid, } - self._uri = '/Fleets/{fleet_sid}/Deployments'.format(**self._solution) - - def create(self, friendly_name=values.unset, sync_service_sid=values.unset): - """ - Create a new DeploymentInstance - - :param unicode friendly_name: A human readable description for this Deployment. - :param unicode sync_service_sid: The unique identifier of the Sync service instance. - - :returns: Newly created DeploymentInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentInstance - """ - data = values.of({'FriendlyName': friendly_name, 'SyncServiceSid': sync_service_sid, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return DeploymentInstance(self._version, payload, fleet_sid=self._solution['fleet_sid'], ) - - def stream(self, limit=None, page_size=None): - """ - Streams DeploymentInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists DeploymentInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of DeploymentInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of DeploymentInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return DeploymentPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of DeploymentInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of DeploymentInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return DeploymentPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a DeploymentContext - - :param sid: A string that uniquely identifies the Deployment. - - :returns: twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentContext - :rtype: twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentContext - """ - return DeploymentContext(self._version, fleet_sid=self._solution['fleet_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a DeploymentContext - - :param sid: A string that uniquely identifies the Deployment. - - :returns: twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentContext - :rtype: twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentContext - """ - return DeploymentContext(self._version, fleet_sid=self._solution['fleet_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.DeployedDevices.DeploymentList>' - - -class DeploymentPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the DeploymentPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param fleet_sid: The unique identifier of the Fleet. - - :returns: twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentPage - :rtype: twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentPage - """ - super(DeploymentPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of DeploymentInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentInstance - """ - return DeploymentInstance(self._version, payload, fleet_sid=self._solution['fleet_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.DeployedDevices.DeploymentPage>' - - -class DeploymentContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, fleet_sid, sid): - """ - Initialize the DeploymentContext - - :param Version version: Version that contains the resource - :param fleet_sid: The fleet_sid - :param sid: A string that uniquely identifies the Deployment. - - :returns: twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentContext - :rtype: twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentContext - """ - super(DeploymentContext, self).__init__(version) - - # Path Solution - self._solution = {'fleet_sid': fleet_sid, 'sid': sid, } - self._uri = '/Fleets/{fleet_sid}/Deployments/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a DeploymentInstance - - :returns: Fetched DeploymentInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return DeploymentInstance( - self._version, - payload, - fleet_sid=self._solution['fleet_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the DeploymentInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, friendly_name=values.unset, sync_service_sid=values.unset): - """ - Update the DeploymentInstance - - :param unicode friendly_name: A human readable description for this Deployment. - :param unicode sync_service_sid: The unique identifier of the Sync service instance. - - :returns: Updated DeploymentInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentInstance - """ - data = values.of({'FriendlyName': friendly_name, 'SyncServiceSid': sync_service_sid, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return DeploymentInstance( - self._version, - payload, - fleet_sid=self._solution['fleet_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.DeployedDevices.DeploymentContext {}>'.format(context) - - -class DeploymentInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, fleet_sid, sid=None): - """ - Initialize the DeploymentInstance - - :returns: twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentInstance - """ - super(DeploymentInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'url': payload['url'], - 'friendly_name': payload['friendly_name'], - 'fleet_sid': payload['fleet_sid'], - 'account_sid': payload['account_sid'], - 'sync_service_sid': payload['sync_service_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - } - - # Context - self._context = None - self._solution = {'fleet_sid': fleet_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: DeploymentContext for this DeploymentInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentContext - """ - if self._context is None: - self._context = DeploymentContext( - self._version, - fleet_sid=self._solution['fleet_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Deployment. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def url(self): - """ - :returns: URL of this Deployment. - :rtype: unicode - """ - return self._properties['url'] - - @property - def friendly_name(self): - """ - :returns: A human readable description for this Deployment - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def fleet_sid(self): - """ - :returns: The unique identifier of the Fleet. - :rtype: unicode - """ - return self._properties['fleet_sid'] - - @property - def account_sid(self): - """ - :returns: The unique SID that identifies this Account. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def sync_service_sid(self): - """ - :returns: The unique identifier of the Sync service instance. - :rtype: unicode - """ - return self._properties['sync_service_sid'] - - @property - def date_created(self): - """ - :returns: The date this Deployment was created. - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this Deployment was updated. - :rtype: datetime - """ - return self._properties['date_updated'] - - def fetch(self): - """ - Fetch a DeploymentInstance - - :returns: Fetched DeploymentInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the DeploymentInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, friendly_name=values.unset, sync_service_sid=values.unset): - """ - Update the DeploymentInstance - - :param unicode friendly_name: A human readable description for this Deployment. - :param unicode sync_service_sid: The unique identifier of the Sync service instance. - - :returns: Updated DeploymentInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.deployment.DeploymentInstance - """ - return self._proxy.update(friendly_name=friendly_name, sync_service_sid=sync_service_sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.DeployedDevices.DeploymentInstance {}>'.format(context) diff --git a/twilio/rest/preview/deployed_devices/fleet/device.py b/twilio/rest/preview/deployed_devices/fleet/device.py deleted file mode 100644 index a326b02..0000000 --- a/twilio/rest/preview/deployed_devices/fleet/device.py +++ /dev/null @@ -1,522 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class DeviceList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, fleet_sid): - """ - Initialize the DeviceList - - :param Version version: Version that contains the resource - :param fleet_sid: The unique identifier of the Fleet. - - :returns: twilio.rest.preview.deployed_devices.fleet.device.DeviceList - :rtype: twilio.rest.preview.deployed_devices.fleet.device.DeviceList - """ - super(DeviceList, self).__init__(version) - - # Path Solution - self._solution = {'fleet_sid': fleet_sid, } - self._uri = '/Fleets/{fleet_sid}/Devices'.format(**self._solution) - - def create(self, unique_name=values.unset, friendly_name=values.unset, - identity=values.unset, deployment_sid=values.unset, - enabled=values.unset): - """ - Create a new DeviceInstance - - :param unicode unique_name: A unique, addressable name of this Device. - :param unicode friendly_name: A human readable description for this Device. - :param unicode identity: An identifier of the Device user. - :param unicode deployment_sid: The unique SID of the Deployment group. - :param bool enabled: The enabled - - :returns: Newly created DeviceInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.device.DeviceInstance - """ - data = values.of({ - 'UniqueName': unique_name, - 'FriendlyName': friendly_name, - 'Identity': identity, - 'DeploymentSid': deployment_sid, - 'Enabled': enabled, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return DeviceInstance(self._version, payload, fleet_sid=self._solution['fleet_sid'], ) - - def stream(self, deployment_sid=values.unset, limit=None, page_size=None): - """ - Streams DeviceInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode deployment_sid: Find all Devices grouped under the specified Deployment. - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.deployed_devices.fleet.device.DeviceInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(deployment_sid=deployment_sid, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, deployment_sid=values.unset, limit=None, page_size=None): - """ - Lists DeviceInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode deployment_sid: Find all Devices grouped under the specified Deployment. - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.deployed_devices.fleet.device.DeviceInstance] - """ - return list(self.stream(deployment_sid=deployment_sid, limit=limit, page_size=page_size, )) - - def page(self, deployment_sid=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of DeviceInstance records from the API. - Request is executed immediately - - :param unicode deployment_sid: Find all Devices grouped under the specified Deployment. - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of DeviceInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.device.DevicePage - """ - params = values.of({ - 'DeploymentSid': deployment_sid, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return DevicePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of DeviceInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of DeviceInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.device.DevicePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return DevicePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a DeviceContext - - :param sid: A string that uniquely identifies the Device. - - :returns: twilio.rest.preview.deployed_devices.fleet.device.DeviceContext - :rtype: twilio.rest.preview.deployed_devices.fleet.device.DeviceContext - """ - return DeviceContext(self._version, fleet_sid=self._solution['fleet_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a DeviceContext - - :param sid: A string that uniquely identifies the Device. - - :returns: twilio.rest.preview.deployed_devices.fleet.device.DeviceContext - :rtype: twilio.rest.preview.deployed_devices.fleet.device.DeviceContext - """ - return DeviceContext(self._version, fleet_sid=self._solution['fleet_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.DeployedDevices.DeviceList>' - - -class DevicePage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the DevicePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param fleet_sid: The unique identifier of the Fleet. - - :returns: twilio.rest.preview.deployed_devices.fleet.device.DevicePage - :rtype: twilio.rest.preview.deployed_devices.fleet.device.DevicePage - """ - super(DevicePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of DeviceInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.deployed_devices.fleet.device.DeviceInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.device.DeviceInstance - """ - return DeviceInstance(self._version, payload, fleet_sid=self._solution['fleet_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.DeployedDevices.DevicePage>' - - -class DeviceContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, fleet_sid, sid): - """ - Initialize the DeviceContext - - :param Version version: Version that contains the resource - :param fleet_sid: The fleet_sid - :param sid: A string that uniquely identifies the Device. - - :returns: twilio.rest.preview.deployed_devices.fleet.device.DeviceContext - :rtype: twilio.rest.preview.deployed_devices.fleet.device.DeviceContext - """ - super(DeviceContext, self).__init__(version) - - # Path Solution - self._solution = {'fleet_sid': fleet_sid, 'sid': sid, } - self._uri = '/Fleets/{fleet_sid}/Devices/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a DeviceInstance - - :returns: Fetched DeviceInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.device.DeviceInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return DeviceInstance( - self._version, - payload, - fleet_sid=self._solution['fleet_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the DeviceInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, friendly_name=values.unset, identity=values.unset, - deployment_sid=values.unset, enabled=values.unset): - """ - Update the DeviceInstance - - :param unicode friendly_name: A human readable description for this Device. - :param unicode identity: An identifier of the Device user. - :param unicode deployment_sid: The unique SID of the Deployment group. - :param bool enabled: The enabled - - :returns: Updated DeviceInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.device.DeviceInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'Identity': identity, - 'DeploymentSid': deployment_sid, - 'Enabled': enabled, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return DeviceInstance( - self._version, - payload, - fleet_sid=self._solution['fleet_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.DeployedDevices.DeviceContext {}>'.format(context) - - -class DeviceInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, fleet_sid, sid=None): - """ - Initialize the DeviceInstance - - :returns: twilio.rest.preview.deployed_devices.fleet.device.DeviceInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.device.DeviceInstance - """ - super(DeviceInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'url': payload['url'], - 'unique_name': payload['unique_name'], - 'friendly_name': payload['friendly_name'], - 'fleet_sid': payload['fleet_sid'], - 'enabled': payload['enabled'], - 'account_sid': payload['account_sid'], - 'identity': payload['identity'], - 'deployment_sid': payload['deployment_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'date_authenticated': deserialize.iso8601_datetime(payload['date_authenticated']), - } - - # Context - self._context = None - self._solution = {'fleet_sid': fleet_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: DeviceContext for this DeviceInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.device.DeviceContext - """ - if self._context is None: - self._context = DeviceContext( - self._version, - fleet_sid=self._solution['fleet_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Device. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def url(self): - """ - :returns: URL of this Device. - :rtype: unicode - """ - return self._properties['url'] - - @property - def unique_name(self): - """ - :returns: A unique, addressable name of this Device. - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def friendly_name(self): - """ - :returns: A human readable description for this Device - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def fleet_sid(self): - """ - :returns: The unique identifier of the Fleet. - :rtype: unicode - """ - return self._properties['fleet_sid'] - - @property - def enabled(self): - """ - :returns: Device enabled flag. - :rtype: bool - """ - return self._properties['enabled'] - - @property - def account_sid(self): - """ - :returns: The unique SID that identifies this Account. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def identity(self): - """ - :returns: An identifier of the Device user. - :rtype: unicode - """ - return self._properties['identity'] - - @property - def deployment_sid(self): - """ - :returns: The unique SID of the Deployment group. - :rtype: unicode - """ - return self._properties['deployment_sid'] - - @property - def date_created(self): - """ - :returns: The date this Device was created. - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this Device was updated. - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def date_authenticated(self): - """ - :returns: The date this Device was authenticated. - :rtype: datetime - """ - return self._properties['date_authenticated'] - - def fetch(self): - """ - Fetch a DeviceInstance - - :returns: Fetched DeviceInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.device.DeviceInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the DeviceInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, friendly_name=values.unset, identity=values.unset, - deployment_sid=values.unset, enabled=values.unset): - """ - Update the DeviceInstance - - :param unicode friendly_name: A human readable description for this Device. - :param unicode identity: An identifier of the Device user. - :param unicode deployment_sid: The unique SID of the Deployment group. - :param bool enabled: The enabled - - :returns: Updated DeviceInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.device.DeviceInstance - """ - return self._proxy.update( - friendly_name=friendly_name, - identity=identity, - deployment_sid=deployment_sid, - enabled=enabled, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.DeployedDevices.DeviceInstance {}>'.format(context) diff --git a/twilio/rest/preview/deployed_devices/fleet/key.py b/twilio/rest/preview/deployed_devices/fleet/key.py deleted file mode 100644 index 93881ca..0000000 --- a/twilio/rest/preview/deployed_devices/fleet/key.py +++ /dev/null @@ -1,468 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class KeyList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, fleet_sid): - """ - Initialize the KeyList - - :param Version version: Version that contains the resource - :param fleet_sid: The unique identifier of the Fleet. - - :returns: twilio.rest.preview.deployed_devices.fleet.key.KeyList - :rtype: twilio.rest.preview.deployed_devices.fleet.key.KeyList - """ - super(KeyList, self).__init__(version) - - # Path Solution - self._solution = {'fleet_sid': fleet_sid, } - self._uri = '/Fleets/{fleet_sid}/Keys'.format(**self._solution) - - def create(self, friendly_name=values.unset, device_sid=values.unset): - """ - Create a new KeyInstance - - :param unicode friendly_name: The human readable description for this Key. - :param unicode device_sid: The unique identifier of a Key to be authenticated. - - :returns: Newly created KeyInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.key.KeyInstance - """ - data = values.of({'FriendlyName': friendly_name, 'DeviceSid': device_sid, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return KeyInstance(self._version, payload, fleet_sid=self._solution['fleet_sid'], ) - - def stream(self, device_sid=values.unset, limit=None, page_size=None): - """ - Streams KeyInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode device_sid: Find all Keys authenticating specified Device. - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.deployed_devices.fleet.key.KeyInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(device_sid=device_sid, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, device_sid=values.unset, limit=None, page_size=None): - """ - Lists KeyInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode device_sid: Find all Keys authenticating specified Device. - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.deployed_devices.fleet.key.KeyInstance] - """ - return list(self.stream(device_sid=device_sid, limit=limit, page_size=page_size, )) - - def page(self, device_sid=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of KeyInstance records from the API. - Request is executed immediately - - :param unicode device_sid: Find all Keys authenticating specified Device. - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of KeyInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.key.KeyPage - """ - params = values.of({ - 'DeviceSid': device_sid, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return KeyPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of KeyInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of KeyInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.key.KeyPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return KeyPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a KeyContext - - :param sid: A string that uniquely identifies the Key. - - :returns: twilio.rest.preview.deployed_devices.fleet.key.KeyContext - :rtype: twilio.rest.preview.deployed_devices.fleet.key.KeyContext - """ - return KeyContext(self._version, fleet_sid=self._solution['fleet_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a KeyContext - - :param sid: A string that uniquely identifies the Key. - - :returns: twilio.rest.preview.deployed_devices.fleet.key.KeyContext - :rtype: twilio.rest.preview.deployed_devices.fleet.key.KeyContext - """ - return KeyContext(self._version, fleet_sid=self._solution['fleet_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.DeployedDevices.KeyList>' - - -class KeyPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the KeyPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param fleet_sid: The unique identifier of the Fleet. - - :returns: twilio.rest.preview.deployed_devices.fleet.key.KeyPage - :rtype: twilio.rest.preview.deployed_devices.fleet.key.KeyPage - """ - super(KeyPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of KeyInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.deployed_devices.fleet.key.KeyInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.key.KeyInstance - """ - return KeyInstance(self._version, payload, fleet_sid=self._solution['fleet_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.DeployedDevices.KeyPage>' - - -class KeyContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, fleet_sid, sid): - """ - Initialize the KeyContext - - :param Version version: Version that contains the resource - :param fleet_sid: The fleet_sid - :param sid: A string that uniquely identifies the Key. - - :returns: twilio.rest.preview.deployed_devices.fleet.key.KeyContext - :rtype: twilio.rest.preview.deployed_devices.fleet.key.KeyContext - """ - super(KeyContext, self).__init__(version) - - # Path Solution - self._solution = {'fleet_sid': fleet_sid, 'sid': sid, } - self._uri = '/Fleets/{fleet_sid}/Keys/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a KeyInstance - - :returns: Fetched KeyInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.key.KeyInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return KeyInstance( - self._version, - payload, - fleet_sid=self._solution['fleet_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the KeyInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, friendly_name=values.unset, device_sid=values.unset): - """ - Update the KeyInstance - - :param unicode friendly_name: The human readable description for this Key. - :param unicode device_sid: The unique identifier of a Key to be authenticated. - - :returns: Updated KeyInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.key.KeyInstance - """ - data = values.of({'FriendlyName': friendly_name, 'DeviceSid': device_sid, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return KeyInstance( - self._version, - payload, - fleet_sid=self._solution['fleet_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.DeployedDevices.KeyContext {}>'.format(context) - - -class KeyInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, fleet_sid, sid=None): - """ - Initialize the KeyInstance - - :returns: twilio.rest.preview.deployed_devices.fleet.key.KeyInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.key.KeyInstance - """ - super(KeyInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'url': payload['url'], - 'friendly_name': payload['friendly_name'], - 'fleet_sid': payload['fleet_sid'], - 'account_sid': payload['account_sid'], - 'device_sid': payload['device_sid'], - 'secret': payload['secret'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - } - - # Context - self._context = None - self._solution = {'fleet_sid': fleet_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: KeyContext for this KeyInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.key.KeyContext - """ - if self._context is None: - self._context = KeyContext( - self._version, - fleet_sid=self._solution['fleet_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Key. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def url(self): - """ - :returns: URL of this Key. - :rtype: unicode - """ - return self._properties['url'] - - @property - def friendly_name(self): - """ - :returns: A human readable description for this Key. - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def fleet_sid(self): - """ - :returns: The unique identifier of the Fleet. - :rtype: unicode - """ - return self._properties['fleet_sid'] - - @property - def account_sid(self): - """ - :returns: The unique SID that identifies this Account. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def device_sid(self): - """ - :returns: The unique identifier of a mapped Device. - :rtype: unicode - """ - return self._properties['device_sid'] - - @property - def secret(self): - """ - :returns: The key secret. - :rtype: unicode - """ - return self._properties['secret'] - - @property - def date_created(self): - """ - :returns: The date this Key credential was created. - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this Key credential was updated. - :rtype: datetime - """ - return self._properties['date_updated'] - - def fetch(self): - """ - Fetch a KeyInstance - - :returns: Fetched KeyInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.key.KeyInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the KeyInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, friendly_name=values.unset, device_sid=values.unset): - """ - Update the KeyInstance - - :param unicode friendly_name: The human readable description for this Key. - :param unicode device_sid: The unique identifier of a Key to be authenticated. - - :returns: Updated KeyInstance - :rtype: twilio.rest.preview.deployed_devices.fleet.key.KeyInstance - """ - return self._proxy.update(friendly_name=friendly_name, device_sid=device_sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.DeployedDevices.KeyInstance {}>'.format(context) diff --git a/twilio/rest/preview/hosted_numbers/__init__.py b/twilio/rest/preview/hosted_numbers/__init__.py deleted file mode 100644 index 7262d0d..0000000 --- a/twilio/rest/preview/hosted_numbers/__init__.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.preview.hosted_numbers.authorization_document import AuthorizationDocumentList -from twilio.rest.preview.hosted_numbers.hosted_number_order import HostedNumberOrderList - - -class HostedNumbers(Version): - - def __init__(self, domain): - """ - Initialize the HostedNumbers version of Preview - - :returns: HostedNumbers version of Preview - :rtype: twilio.rest.preview.hosted_numbers.HostedNumbers.HostedNumbers - """ - super(HostedNumbers, self).__init__(domain) - self.version = 'HostedNumbers' - self._authorization_documents = None - self._hosted_number_orders = None - - @property - def authorization_documents(self): - """ - :rtype: twilio.rest.preview.hosted_numbers.authorization_document.AuthorizationDocumentList - """ - if self._authorization_documents is None: - self._authorization_documents = AuthorizationDocumentList(self) - return self._authorization_documents - - @property - def hosted_number_orders(self): - """ - :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderList - """ - if self._hosted_number_orders is None: - self._hosted_number_orders = HostedNumberOrderList(self) - return self._hosted_number_orders - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.HostedNumbers>' diff --git a/twilio/rest/preview/hosted_numbers/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/hosted_numbers/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 1398894f803a26e450973f96e5bc02d6a47cf799..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2062 zcmbVM%Z}Vc6s@w|ZMW%$BqY3qPzfo~^djz{NJz9s5m6!mQW%05SXh=y9#=K(#4oDc zGiuAb87V)&o;Cl$jty&XS@8?3xK;L;F?5TBvV7~>^|<$*I(6>PX6~=Q{p9~RM(B5R zrCH#A3a>l_!;p^{W=4Wj!#A+<&BRPC-_pL7jMA|`#^^J|Mr?e6*q9sVrf)O*8#H&S z&^=zql0-S<<Sdlrd!BI-mYk83ts9U9p#&NjT6eumYH~p5!2-+yt%F5P>VpN$IQ_`G z=iPJFd;$yGws8M|B+(o<_IF&!IM2X+_u-~o=OV7c5`H|+qfN@Q@<}X97`*j)E+PKW zCOzTeE5W!>1CiS0vYDNu0pQ5T0D|!Xt*`>(!tqURF_T#r=p6ea@O9zfkD1M!3*_4` zkcE5)0GKqhtKnp1bX%)lg;B4(1ExeJuF<*i%&74>R@l~vn#=%eX**&DY-m=$bO;dg zMHZKFn8Xz)<(iX0AadHGLGl%OD)?#4&)k0DQt)ykGP(TkH66@kDaviZm!v$4lQ{PT zm!(&<`+92)D9tpY(i`M4{OU6hBPjW3K5j;GQ*fa_8;8;uN}{x}yX>2HXn6G~DeKNs zHn->?EX~zP%DK^4k|(QX%<?ph6&WU!MoB0or9Y!TpFdg#-%6Mmd>#AiFb^IU#pAFH zgC}_uCc!aJi=c>$yC<7CVR!G#BwuaiS<qH}*{R}#uJ~Y(g$yoB@QSUlp~h?Kd>t^z zzJ|x}RBsLOxm*xoH3^#P6+0fmE8hcCqi4W|=Z?6k8KQWh{{b6}D(xYCg%jG1skism z^f8X+hL}J~LeX}P#cRrcy*F=w*Sx)ZclkaHN{||aMlN=7b$f`zo>l)7mQ|nfE5I^1 z%9c<A`u1YcZ?5ogp(3Fqa}ORjcWf(f!~CmYd^iMS*OCDeiX@sKDlo&E3RR!hQ<0y> zAh;n}iI`_B*%HBluo6^IOX4mm_%e*vamM#9`KJ=dQuG0<4-Su8Vd%7GfSY`vIkE>I zxb-SIN<D>%)<^r_m!zEndJ5CCFy$Z;E~RPCHi`15l>V>@lXgU3yv8X+4$@L?g}Q^{ zx-vJwG_y_+BAz4=yQeSYH&c@oi?txB5q)<ZV>+Eqrjt&!oW`a~i755o?DX&?l-%n? xOQ;(BPhLVPcXM7}F8||~SigfNnu$8kzYA+UeL0=O7P1FQn{;iKF~#the*xr>K@9)^ diff --git a/twilio/rest/preview/hosted_numbers/__pycache__/hosted_number_order.cpython-36.pyc b/twilio/rest/preview/hosted_numbers/__pycache__/hosted_number_order.cpython-36.pyc deleted file mode 100644 index 81c71d2b5f4107c47d899adeabffbf44ecf093e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26799 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 axJ;cn#JRBXpA#|sGCB8$vG!bf&ip?%#?6)h diff --git a/twilio/rest/preview/hosted_numbers/authorization_document/__init__.py b/twilio/rest/preview/hosted_numbers/authorization_document/__init__.py deleted file mode 100644 index d009184..0000000 --- a/twilio/rest/preview/hosted_numbers/authorization_document/__init__.py +++ /dev/null @@ -1,506 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.preview.hosted_numbers.authorization_document.dependent_hosted_number_order import DependentHostedNumberOrderList - - -class AuthorizationDocumentList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version): - """ - Initialize the AuthorizationDocumentList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.preview.hosted_numbers.authorization_document.AuthorizationDocumentList - :rtype: twilio.rest.preview.hosted_numbers.authorization_document.AuthorizationDocumentList - """ - super(AuthorizationDocumentList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/AuthorizationDocuments'.format(**self._solution) - - def stream(self, email=values.unset, status=values.unset, limit=None, - page_size=None): - """ - Streams AuthorizationDocumentInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode email: Email. - :param AuthorizationDocumentInstance.Status status: The Status of this AuthorizationDocument. - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.hosted_numbers.authorization_document.AuthorizationDocumentInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(email=email, status=status, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, email=values.unset, status=values.unset, limit=None, - page_size=None): - """ - Lists AuthorizationDocumentInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode email: Email. - :param AuthorizationDocumentInstance.Status status: The Status of this AuthorizationDocument. - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.hosted_numbers.authorization_document.AuthorizationDocumentInstance] - """ - return list(self.stream(email=email, status=status, limit=limit, page_size=page_size, )) - - def page(self, email=values.unset, status=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of AuthorizationDocumentInstance records from the API. - Request is executed immediately - - :param unicode email: Email. - :param AuthorizationDocumentInstance.Status status: The Status of this AuthorizationDocument. - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of AuthorizationDocumentInstance - :rtype: twilio.rest.preview.hosted_numbers.authorization_document.AuthorizationDocumentPage - """ - params = values.of({ - 'Email': email, - 'Status': status, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return AuthorizationDocumentPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of AuthorizationDocumentInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of AuthorizationDocumentInstance - :rtype: twilio.rest.preview.hosted_numbers.authorization_document.AuthorizationDocumentPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return AuthorizationDocumentPage(self._version, response, self._solution) - - def create(self, hosted_number_order_sids, address_sid, email, - cc_emails=values.unset): - """ - Create a new AuthorizationDocumentInstance - - :param unicode hosted_number_order_sids: A list of HostedNumberOrder sids. - :param unicode address_sid: Address sid. - :param unicode email: Email. - :param unicode cc_emails: A list of emails. - - :returns: Newly created AuthorizationDocumentInstance - :rtype: twilio.rest.preview.hosted_numbers.authorization_document.AuthorizationDocumentInstance - """ - data = values.of({ - 'HostedNumberOrderSids': serialize.map(hosted_number_order_sids, lambda e: e), - 'AddressSid': address_sid, - 'Email': email, - 'CcEmails': serialize.map(cc_emails, lambda e: e), - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return AuthorizationDocumentInstance(self._version, payload, ) - - def get(self, sid): - """ - Constructs a AuthorizationDocumentContext - - :param sid: AuthorizationDocument sid. - - :returns: twilio.rest.preview.hosted_numbers.authorization_document.AuthorizationDocumentContext - :rtype: twilio.rest.preview.hosted_numbers.authorization_document.AuthorizationDocumentContext - """ - return AuthorizationDocumentContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a AuthorizationDocumentContext - - :param sid: AuthorizationDocument sid. - - :returns: twilio.rest.preview.hosted_numbers.authorization_document.AuthorizationDocumentContext - :rtype: twilio.rest.preview.hosted_numbers.authorization_document.AuthorizationDocumentContext - """ - return AuthorizationDocumentContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.HostedNumbers.AuthorizationDocumentList>' - - -class AuthorizationDocumentPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the AuthorizationDocumentPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.preview.hosted_numbers.authorization_document.AuthorizationDocumentPage - :rtype: twilio.rest.preview.hosted_numbers.authorization_document.AuthorizationDocumentPage - """ - super(AuthorizationDocumentPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of AuthorizationDocumentInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.hosted_numbers.authorization_document.AuthorizationDocumentInstance - :rtype: twilio.rest.preview.hosted_numbers.authorization_document.AuthorizationDocumentInstance - """ - return AuthorizationDocumentInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.HostedNumbers.AuthorizationDocumentPage>' - - -class AuthorizationDocumentContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, sid): - """ - Initialize the AuthorizationDocumentContext - - :param Version version: Version that contains the resource - :param sid: AuthorizationDocument sid. - - :returns: twilio.rest.preview.hosted_numbers.authorization_document.AuthorizationDocumentContext - :rtype: twilio.rest.preview.hosted_numbers.authorization_document.AuthorizationDocumentContext - """ - super(AuthorizationDocumentContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/AuthorizationDocuments/{sid}'.format(**self._solution) - - # Dependents - self._dependent_hosted_number_orders = None - - def fetch(self): - """ - Fetch a AuthorizationDocumentInstance - - :returns: Fetched AuthorizationDocumentInstance - :rtype: twilio.rest.preview.hosted_numbers.authorization_document.AuthorizationDocumentInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return AuthorizationDocumentInstance(self._version, payload, sid=self._solution['sid'], ) - - def update(self, hosted_number_order_sids=values.unset, - address_sid=values.unset, email=values.unset, cc_emails=values.unset, - status=values.unset): - """ - Update the AuthorizationDocumentInstance - - :param unicode hosted_number_order_sids: A list of HostedNumberOrder sids. - :param unicode address_sid: Address sid. - :param unicode email: Email. - :param unicode cc_emails: A list of emails. - :param AuthorizationDocumentInstance.Status status: The Status of this AuthorizationDocument. - - :returns: Updated AuthorizationDocumentInstance - :rtype: twilio.rest.preview.hosted_numbers.authorization_document.AuthorizationDocumentInstance - """ - data = values.of({ - 'HostedNumberOrderSids': serialize.map(hosted_number_order_sids, lambda e: e), - 'AddressSid': address_sid, - 'Email': email, - 'CcEmails': serialize.map(cc_emails, lambda e: e), - 'Status': status, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return AuthorizationDocumentInstance(self._version, payload, sid=self._solution['sid'], ) - - @property - def dependent_hosted_number_orders(self): - """ - Access the dependent_hosted_number_orders - - :returns: twilio.rest.preview.hosted_numbers.authorization_document.dependent_hosted_number_order.DependentHostedNumberOrderList - :rtype: twilio.rest.preview.hosted_numbers.authorization_document.dependent_hosted_number_order.DependentHostedNumberOrderList - """ - if self._dependent_hosted_number_orders is None: - self._dependent_hosted_number_orders = DependentHostedNumberOrderList( - self._version, - signing_document_sid=self._solution['sid'], - ) - return self._dependent_hosted_number_orders - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.HostedNumbers.AuthorizationDocumentContext {}>'.format(context) - - -class AuthorizationDocumentInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - class Status(object): - OPENED = "opened" - SIGNING = "signing" - SIGNED = "signed" - CANCELED = "canceled" - FAILED = "failed" - - def __init__(self, version, payload, sid=None): - """ - Initialize the AuthorizationDocumentInstance - - :returns: twilio.rest.preview.hosted_numbers.authorization_document.AuthorizationDocumentInstance - :rtype: twilio.rest.preview.hosted_numbers.authorization_document.AuthorizationDocumentInstance - """ - super(AuthorizationDocumentInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'address_sid': payload['address_sid'], - 'status': payload['status'], - 'email': payload['email'], - 'cc_emails': payload['cc_emails'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: AuthorizationDocumentContext for this AuthorizationDocumentInstance - :rtype: twilio.rest.preview.hosted_numbers.authorization_document.AuthorizationDocumentContext - """ - if self._context is None: - self._context = AuthorizationDocumentContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: AuthorizationDocument sid. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def address_sid(self): - """ - :returns: Address sid. - :rtype: unicode - """ - return self._properties['address_sid'] - - @property - def status(self): - """ - :returns: The Status of this AuthorizationDocument. - :rtype: AuthorizationDocumentInstance.Status - """ - return self._properties['status'] - - @property - def email(self): - """ - :returns: Email. - :rtype: unicode - """ - return self._properties['email'] - - @property - def cc_emails(self): - """ - :returns: A list of emails. - :rtype: unicode - """ - return self._properties['cc_emails'] - - @property - def date_created(self): - """ - :returns: The date this AuthorizationDocument was created. - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this AuthorizationDocument was updated. - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a AuthorizationDocumentInstance - - :returns: Fetched AuthorizationDocumentInstance - :rtype: twilio.rest.preview.hosted_numbers.authorization_document.AuthorizationDocumentInstance - """ - return self._proxy.fetch() - - def update(self, hosted_number_order_sids=values.unset, - address_sid=values.unset, email=values.unset, cc_emails=values.unset, - status=values.unset): - """ - Update the AuthorizationDocumentInstance - - :param unicode hosted_number_order_sids: A list of HostedNumberOrder sids. - :param unicode address_sid: Address sid. - :param unicode email: Email. - :param unicode cc_emails: A list of emails. - :param AuthorizationDocumentInstance.Status status: The Status of this AuthorizationDocument. - - :returns: Updated AuthorizationDocumentInstance - :rtype: twilio.rest.preview.hosted_numbers.authorization_document.AuthorizationDocumentInstance - """ - return self._proxy.update( - hosted_number_order_sids=hosted_number_order_sids, - address_sid=address_sid, - email=email, - cc_emails=cc_emails, - status=status, - ) - - @property - def dependent_hosted_number_orders(self): - """ - Access the dependent_hosted_number_orders - - :returns: twilio.rest.preview.hosted_numbers.authorization_document.dependent_hosted_number_order.DependentHostedNumberOrderList - :rtype: twilio.rest.preview.hosted_numbers.authorization_document.dependent_hosted_number_order.DependentHostedNumberOrderList - """ - return self._proxy.dependent_hosted_number_orders - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.HostedNumbers.AuthorizationDocumentInstance {}>'.format(context) diff --git a/twilio/rest/preview/hosted_numbers/authorization_document/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/hosted_numbers/authorization_document/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index b820e8a936843eac12d784cd909ba6c0725f7b6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20389 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 WB-k<!S77QdKleM@!dz|c*8c<7)mrrc diff --git a/twilio/rest/preview/hosted_numbers/authorization_document/__pycache__/dependent_hosted_number_order.cpython-36.pyc b/twilio/rest/preview/hosted_numbers/authorization_document/__pycache__/dependent_hosted_number_order.cpython-36.pyc deleted file mode 100644 index 1fa12990ccbd125e30fef917eecc592045878ac7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18094 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 diff --git a/twilio/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.py b/twilio/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.py deleted file mode 100644 index 35555a3..0000000 --- a/twilio/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.py +++ /dev/null @@ -1,461 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class DependentHostedNumberOrderList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, signing_document_sid): - """ - Initialize the DependentHostedNumberOrderList - - :param Version version: Version that contains the resource - :param signing_document_sid: LOA document sid. - - :returns: twilio.rest.preview.hosted_numbers.authorization_document.dependent_hosted_number_order.DependentHostedNumberOrderList - :rtype: twilio.rest.preview.hosted_numbers.authorization_document.dependent_hosted_number_order.DependentHostedNumberOrderList - """ - super(DependentHostedNumberOrderList, self).__init__(version) - - # Path Solution - self._solution = {'signing_document_sid': signing_document_sid, } - self._uri = '/AuthorizationDocuments/{signing_document_sid}/DependentHostedNumberOrders'.format(**self._solution) - - def stream(self, status=values.unset, phone_number=values.unset, - incoming_phone_number_sid=values.unset, friendly_name=values.unset, - unique_name=values.unset, limit=None, page_size=None): - """ - Streams DependentHostedNumberOrderInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param DependentHostedNumberOrderInstance.Status status: The Status of this HostedNumberOrder. - :param unicode phone_number: An E164 formatted phone number. - :param unicode incoming_phone_number_sid: IncomingPhoneNumber sid. - :param unicode friendly_name: A human readable description of this resource. - :param unicode unique_name: A unique, developer assigned name of this HostedNumberOrder. - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.hosted_numbers.authorization_document.dependent_hosted_number_order.DependentHostedNumberOrderInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - status=status, - phone_number=phone_number, - incoming_phone_number_sid=incoming_phone_number_sid, - friendly_name=friendly_name, - unique_name=unique_name, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, status=values.unset, phone_number=values.unset, - incoming_phone_number_sid=values.unset, friendly_name=values.unset, - unique_name=values.unset, limit=None, page_size=None): - """ - Lists DependentHostedNumberOrderInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param DependentHostedNumberOrderInstance.Status status: The Status of this HostedNumberOrder. - :param unicode phone_number: An E164 formatted phone number. - :param unicode incoming_phone_number_sid: IncomingPhoneNumber sid. - :param unicode friendly_name: A human readable description of this resource. - :param unicode unique_name: A unique, developer assigned name of this HostedNumberOrder. - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.hosted_numbers.authorization_document.dependent_hosted_number_order.DependentHostedNumberOrderInstance] - """ - return list(self.stream( - status=status, - phone_number=phone_number, - incoming_phone_number_sid=incoming_phone_number_sid, - friendly_name=friendly_name, - unique_name=unique_name, - limit=limit, - page_size=page_size, - )) - - def page(self, status=values.unset, phone_number=values.unset, - incoming_phone_number_sid=values.unset, friendly_name=values.unset, - unique_name=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of DependentHostedNumberOrderInstance records from the API. - Request is executed immediately - - :param DependentHostedNumberOrderInstance.Status status: The Status of this HostedNumberOrder. - :param unicode phone_number: An E164 formatted phone number. - :param unicode incoming_phone_number_sid: IncomingPhoneNumber sid. - :param unicode friendly_name: A human readable description of this resource. - :param unicode unique_name: A unique, developer assigned name of this HostedNumberOrder. - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of DependentHostedNumberOrderInstance - :rtype: twilio.rest.preview.hosted_numbers.authorization_document.dependent_hosted_number_order.DependentHostedNumberOrderPage - """ - params = values.of({ - 'Status': status, - 'PhoneNumber': phone_number, - 'IncomingPhoneNumberSid': incoming_phone_number_sid, - 'FriendlyName': friendly_name, - 'UniqueName': unique_name, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return DependentHostedNumberOrderPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of DependentHostedNumberOrderInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of DependentHostedNumberOrderInstance - :rtype: twilio.rest.preview.hosted_numbers.authorization_document.dependent_hosted_number_order.DependentHostedNumberOrderPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return DependentHostedNumberOrderPage(self._version, response, self._solution) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.HostedNumbers.DependentHostedNumberOrderList>' - - -class DependentHostedNumberOrderPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the DependentHostedNumberOrderPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param signing_document_sid: LOA document sid. - - :returns: twilio.rest.preview.hosted_numbers.authorization_document.dependent_hosted_number_order.DependentHostedNumberOrderPage - :rtype: twilio.rest.preview.hosted_numbers.authorization_document.dependent_hosted_number_order.DependentHostedNumberOrderPage - """ - super(DependentHostedNumberOrderPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of DependentHostedNumberOrderInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.hosted_numbers.authorization_document.dependent_hosted_number_order.DependentHostedNumberOrderInstance - :rtype: twilio.rest.preview.hosted_numbers.authorization_document.dependent_hosted_number_order.DependentHostedNumberOrderInstance - """ - return DependentHostedNumberOrderInstance( - self._version, - payload, - signing_document_sid=self._solution['signing_document_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.HostedNumbers.DependentHostedNumberOrderPage>' - - -class DependentHostedNumberOrderInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - class Status(object): - RECEIVED = "received" - PENDING_VERIFICATION = "pending-verification" - VERIFIED = "verified" - PENDING_LOA = "pending-loa" - CARRIER_PROCESSING = "carrier-processing" - TESTING = "testing" - COMPLETED = "completed" - FAILED = "failed" - ACTION_REQUIRED = "action-required" - - class VerificationType(object): - PHONE_CALL = "phone-call" - PHONE_BILL = "phone-bill" - - def __init__(self, version, payload, signing_document_sid): - """ - Initialize the DependentHostedNumberOrderInstance - - :returns: twilio.rest.preview.hosted_numbers.authorization_document.dependent_hosted_number_order.DependentHostedNumberOrderInstance - :rtype: twilio.rest.preview.hosted_numbers.authorization_document.dependent_hosted_number_order.DependentHostedNumberOrderInstance - """ - super(DependentHostedNumberOrderInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'incoming_phone_number_sid': payload['incoming_phone_number_sid'], - 'address_sid': payload['address_sid'], - 'signing_document_sid': payload['signing_document_sid'], - 'phone_number': payload['phone_number'], - 'capabilities': payload['capabilities'], - 'friendly_name': payload['friendly_name'], - 'unique_name': payload['unique_name'], - 'status': payload['status'], - 'failure_reason': payload['failure_reason'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'verification_attempts': deserialize.integer(payload['verification_attempts']), - 'email': payload['email'], - 'cc_emails': payload['cc_emails'], - 'verification_type': payload['verification_type'], - 'verification_document_sid': payload['verification_document_sid'], - 'extension': payload['extension'], - 'call_delay': deserialize.integer(payload['call_delay']), - 'verification_code': payload['verification_code'], - 'verification_call_sids': payload['verification_call_sids'], - } - - # Context - self._context = None - self._solution = {'signing_document_sid': signing_document_sid, } - - @property - def sid(self): - """ - :returns: HostedNumberOrder sid. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: Account sid. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def incoming_phone_number_sid(self): - """ - :returns: IncomingPhoneNumber sid. - :rtype: unicode - """ - return self._properties['incoming_phone_number_sid'] - - @property - def address_sid(self): - """ - :returns: Address sid. - :rtype: unicode - """ - return self._properties['address_sid'] - - @property - def signing_document_sid(self): - """ - :returns: LOA document sid. - :rtype: unicode - """ - return self._properties['signing_document_sid'] - - @property - def phone_number(self): - """ - :returns: An E164 formatted phone number. - :rtype: unicode - """ - return self._properties['phone_number'] - - @property - def capabilities(self): - """ - :returns: A mapping of phone number capabilities. - :rtype: unicode - """ - return self._properties['capabilities'] - - @property - def friendly_name(self): - """ - :returns: A human readable description of this resource. - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def unique_name(self): - """ - :returns: A unique, developer assigned name of this HostedNumberOrder. - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def status(self): - """ - :returns: The Status of this HostedNumberOrder. - :rtype: DependentHostedNumberOrderInstance.Status - """ - return self._properties['status'] - - @property - def failure_reason(self): - """ - :returns: Why a hosted_number_order reached status "action-required" - :rtype: unicode - """ - return self._properties['failure_reason'] - - @property - def date_created(self): - """ - :returns: The date this HostedNumberOrder was created. - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this HostedNumberOrder was updated. - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def verification_attempts(self): - """ - :returns: The number of attempts made to verify ownership of the phone number. - :rtype: unicode - """ - return self._properties['verification_attempts'] - - @property - def email(self): - """ - :returns: Email. - :rtype: unicode - """ - return self._properties['email'] - - @property - def cc_emails(self): - """ - :returns: A list of emails. - :rtype: unicode - """ - return self._properties['cc_emails'] - - @property - def verification_type(self): - """ - :returns: The method used for verifying ownership of the number to be hosted. - :rtype: DependentHostedNumberOrderInstance.VerificationType - """ - return self._properties['verification_type'] - - @property - def verification_document_sid(self): - """ - :returns: Verification Document Sid. - :rtype: unicode - """ - return self._properties['verification_document_sid'] - - @property - def extension(self): - """ - :returns: Phone extension to use for ownership verification call. - :rtype: unicode - """ - return self._properties['extension'] - - @property - def call_delay(self): - """ - :returns: Seconds (0-30) to delay ownership verification call by. - :rtype: unicode - """ - return self._properties['call_delay'] - - @property - def verification_code(self): - """ - :returns: The digits passed during the ownership verification call. - :rtype: unicode - """ - return self._properties['verification_code'] - - @property - def verification_call_sids(self): - """ - :returns: List of IDs for ownership verification calls. - :rtype: unicode - """ - return self._properties['verification_call_sids'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.HostedNumbers.DependentHostedNumberOrderInstance>' diff --git a/twilio/rest/preview/hosted_numbers/hosted_number_order.py b/twilio/rest/preview/hosted_numbers/hosted_number_order.py deleted file mode 100644 index 3f3248c..0000000 --- a/twilio/rest/preview/hosted_numbers/hosted_number_order.py +++ /dev/null @@ -1,717 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class HostedNumberOrderList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version): - """ - Initialize the HostedNumberOrderList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderList - :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderList - """ - super(HostedNumberOrderList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/HostedNumberOrders'.format(**self._solution) - - def stream(self, status=values.unset, phone_number=values.unset, - incoming_phone_number_sid=values.unset, friendly_name=values.unset, - unique_name=values.unset, limit=None, page_size=None): - """ - Streams HostedNumberOrderInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param HostedNumberOrderInstance.Status status: The Status of this HostedNumberOrder. - :param unicode phone_number: An E164 formatted phone number. - :param unicode incoming_phone_number_sid: IncomingPhoneNumber sid. - :param unicode friendly_name: A human readable description of this resource. - :param unicode unique_name: A unique, developer assigned name of this HostedNumberOrder. - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - status=status, - phone_number=phone_number, - incoming_phone_number_sid=incoming_phone_number_sid, - friendly_name=friendly_name, - unique_name=unique_name, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, status=values.unset, phone_number=values.unset, - incoming_phone_number_sid=values.unset, friendly_name=values.unset, - unique_name=values.unset, limit=None, page_size=None): - """ - Lists HostedNumberOrderInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param HostedNumberOrderInstance.Status status: The Status of this HostedNumberOrder. - :param unicode phone_number: An E164 formatted phone number. - :param unicode incoming_phone_number_sid: IncomingPhoneNumber sid. - :param unicode friendly_name: A human readable description of this resource. - :param unicode unique_name: A unique, developer assigned name of this HostedNumberOrder. - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderInstance] - """ - return list(self.stream( - status=status, - phone_number=phone_number, - incoming_phone_number_sid=incoming_phone_number_sid, - friendly_name=friendly_name, - unique_name=unique_name, - limit=limit, - page_size=page_size, - )) - - def page(self, status=values.unset, phone_number=values.unset, - incoming_phone_number_sid=values.unset, friendly_name=values.unset, - unique_name=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of HostedNumberOrderInstance records from the API. - Request is executed immediately - - :param HostedNumberOrderInstance.Status status: The Status of this HostedNumberOrder. - :param unicode phone_number: An E164 formatted phone number. - :param unicode incoming_phone_number_sid: IncomingPhoneNumber sid. - :param unicode friendly_name: A human readable description of this resource. - :param unicode unique_name: A unique, developer assigned name of this HostedNumberOrder. - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of HostedNumberOrderInstance - :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderPage - """ - params = values.of({ - 'Status': status, - 'PhoneNumber': phone_number, - 'IncomingPhoneNumberSid': incoming_phone_number_sid, - 'FriendlyName': friendly_name, - 'UniqueName': unique_name, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return HostedNumberOrderPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of HostedNumberOrderInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of HostedNumberOrderInstance - :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return HostedNumberOrderPage(self._version, response, self._solution) - - def create(self, phone_number, sms_capability, account_sid=values.unset, - friendly_name=values.unset, unique_name=values.unset, - cc_emails=values.unset, sms_url=values.unset, - sms_method=values.unset, sms_fallback_url=values.unset, - sms_fallback_method=values.unset, status_callback_url=values.unset, - status_callback_method=values.unset, - sms_application_sid=values.unset, address_sid=values.unset, - email=values.unset, verification_type=values.unset, - verification_document_sid=values.unset): - """ - Create a new HostedNumberOrderInstance - - :param unicode phone_number: An E164 formatted phone number. - :param bool sms_capability: Specify SMS capability to host. - :param unicode account_sid: Account Sid. - :param unicode friendly_name: A human readable description of this resource. - :param unicode unique_name: A unique, developer assigned name of this HostedNumberOrder. - :param unicode cc_emails: A list of emails. - :param unicode sms_url: SMS URL. - :param unicode sms_method: SMS Method. - :param unicode sms_fallback_url: SMS Fallback URL. - :param unicode sms_fallback_method: SMS Fallback Method. - :param unicode status_callback_url: Status Callback URL. - :param unicode status_callback_method: Status Callback Method. - :param unicode sms_application_sid: SMS Application Sid. - :param unicode address_sid: Address sid. - :param unicode email: Email. - :param HostedNumberOrderInstance.VerificationType verification_type: Verification Type. - :param unicode verification_document_sid: Verification Document Sid - - :returns: Newly created HostedNumberOrderInstance - :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderInstance - """ - data = values.of({ - 'PhoneNumber': phone_number, - 'SmsCapability': sms_capability, - 'AccountSid': account_sid, - 'FriendlyName': friendly_name, - 'UniqueName': unique_name, - 'CcEmails': serialize.map(cc_emails, lambda e: e), - 'SmsUrl': sms_url, - 'SmsMethod': sms_method, - 'SmsFallbackUrl': sms_fallback_url, - 'SmsFallbackMethod': sms_fallback_method, - 'StatusCallbackUrl': status_callback_url, - 'StatusCallbackMethod': status_callback_method, - 'SmsApplicationSid': sms_application_sid, - 'AddressSid': address_sid, - 'Email': email, - 'VerificationType': verification_type, - 'VerificationDocumentSid': verification_document_sid, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return HostedNumberOrderInstance(self._version, payload, ) - - def get(self, sid): - """ - Constructs a HostedNumberOrderContext - - :param sid: HostedNumberOrder sid. - - :returns: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderContext - :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderContext - """ - return HostedNumberOrderContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a HostedNumberOrderContext - - :param sid: HostedNumberOrder sid. - - :returns: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderContext - :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderContext - """ - return HostedNumberOrderContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.HostedNumbers.HostedNumberOrderList>' - - -class HostedNumberOrderPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the HostedNumberOrderPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderPage - :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderPage - """ - super(HostedNumberOrderPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of HostedNumberOrderInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderInstance - :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderInstance - """ - return HostedNumberOrderInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.HostedNumbers.HostedNumberOrderPage>' - - -class HostedNumberOrderContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, sid): - """ - Initialize the HostedNumberOrderContext - - :param Version version: Version that contains the resource - :param sid: HostedNumberOrder sid. - - :returns: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderContext - :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderContext - """ - super(HostedNumberOrderContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/HostedNumberOrders/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a HostedNumberOrderInstance - - :returns: Fetched HostedNumberOrderInstance - :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return HostedNumberOrderInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the HostedNumberOrderInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, friendly_name=values.unset, unique_name=values.unset, - email=values.unset, cc_emails=values.unset, status=values.unset, - verification_code=values.unset, verification_type=values.unset, - verification_document_sid=values.unset, extension=values.unset, - call_delay=values.unset): - """ - Update the HostedNumberOrderInstance - - :param unicode friendly_name: A human readable description of this resource. - :param unicode unique_name: A unique, developer assigned name of this HostedNumberOrder. - :param unicode email: Email. - :param unicode cc_emails: A list of emails. - :param HostedNumberOrderInstance.Status status: The Status of this HostedNumberOrder. - :param unicode verification_code: A verification code. - :param HostedNumberOrderInstance.VerificationType verification_type: Verification Type. - :param unicode verification_document_sid: Verification Document Sid - :param unicode extension: The extension - :param unicode call_delay: The call_delay - - :returns: Updated HostedNumberOrderInstance - :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'UniqueName': unique_name, - 'Email': email, - 'CcEmails': serialize.map(cc_emails, lambda e: e), - 'Status': status, - 'VerificationCode': verification_code, - 'VerificationType': verification_type, - 'VerificationDocumentSid': verification_document_sid, - 'Extension': extension, - 'CallDelay': call_delay, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return HostedNumberOrderInstance(self._version, payload, sid=self._solution['sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.HostedNumbers.HostedNumberOrderContext {}>'.format(context) - - -class HostedNumberOrderInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - class Status(object): - RECEIVED = "received" - PENDING_VERIFICATION = "pending-verification" - VERIFIED = "verified" - PENDING_LOA = "pending-loa" - CARRIER_PROCESSING = "carrier-processing" - TESTING = "testing" - COMPLETED = "completed" - FAILED = "failed" - ACTION_REQUIRED = "action-required" - - class VerificationType(object): - PHONE_CALL = "phone-call" - PHONE_BILL = "phone-bill" - - def __init__(self, version, payload, sid=None): - """ - Initialize the HostedNumberOrderInstance - - :returns: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderInstance - :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderInstance - """ - super(HostedNumberOrderInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'incoming_phone_number_sid': payload['incoming_phone_number_sid'], - 'address_sid': payload['address_sid'], - 'signing_document_sid': payload['signing_document_sid'], - 'phone_number': payload['phone_number'], - 'capabilities': payload['capabilities'], - 'friendly_name': payload['friendly_name'], - 'unique_name': payload['unique_name'], - 'status': payload['status'], - 'failure_reason': payload['failure_reason'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'verification_attempts': deserialize.integer(payload['verification_attempts']), - 'email': payload['email'], - 'cc_emails': payload['cc_emails'], - 'url': payload['url'], - 'verification_type': payload['verification_type'], - 'verification_document_sid': payload['verification_document_sid'], - 'extension': payload['extension'], - 'call_delay': deserialize.integer(payload['call_delay']), - 'verification_code': payload['verification_code'], - 'verification_call_sids': payload['verification_call_sids'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: HostedNumberOrderContext for this HostedNumberOrderInstance - :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderContext - """ - if self._context is None: - self._context = HostedNumberOrderContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: HostedNumberOrder sid. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: Account Sid. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def incoming_phone_number_sid(self): - """ - :returns: IncomingPhoneNumber sid. - :rtype: unicode - """ - return self._properties['incoming_phone_number_sid'] - - @property - def address_sid(self): - """ - :returns: Address sid. - :rtype: unicode - """ - return self._properties['address_sid'] - - @property - def signing_document_sid(self): - """ - :returns: LOA document sid. - :rtype: unicode - """ - return self._properties['signing_document_sid'] - - @property - def phone_number(self): - """ - :returns: An E164 formatted phone number. - :rtype: unicode - """ - return self._properties['phone_number'] - - @property - def capabilities(self): - """ - :returns: A mapping of phone number capabilities. - :rtype: unicode - """ - return self._properties['capabilities'] - - @property - def friendly_name(self): - """ - :returns: A human readable description of this resource. - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def unique_name(self): - """ - :returns: A unique, developer assigned name of this HostedNumberOrder. - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def status(self): - """ - :returns: The Status of this HostedNumberOrder. - :rtype: HostedNumberOrderInstance.Status - """ - return self._properties['status'] - - @property - def failure_reason(self): - """ - :returns: Why a hosted_number_order reached status "action-required" - :rtype: unicode - """ - return self._properties['failure_reason'] - - @property - def date_created(self): - """ - :returns: The date this HostedNumberOrder was created. - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this HostedNumberOrder was updated. - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def verification_attempts(self): - """ - :returns: The number of attempts made to verify ownership of the phone number. - :rtype: unicode - """ - return self._properties['verification_attempts'] - - @property - def email(self): - """ - :returns: Email. - :rtype: unicode - """ - return self._properties['email'] - - @property - def cc_emails(self): - """ - :returns: A list of emails. - :rtype: unicode - """ - return self._properties['cc_emails'] - - @property - def url(self): - """ - :returns: The URL of this HostedNumberOrder. - :rtype: unicode - """ - return self._properties['url'] - - @property - def verification_type(self): - """ - :returns: The method used for verifying ownership of the number to be hosted. - :rtype: HostedNumberOrderInstance.VerificationType - """ - return self._properties['verification_type'] - - @property - def verification_document_sid(self): - """ - :returns: Verification Document Sid. - :rtype: unicode - """ - return self._properties['verification_document_sid'] - - @property - def extension(self): - """ - :returns: Phone extension to use for ownership verification call. - :rtype: unicode - """ - return self._properties['extension'] - - @property - def call_delay(self): - """ - :returns: Seconds (0-30) to delay ownership verification call by. - :rtype: unicode - """ - return self._properties['call_delay'] - - @property - def verification_code(self): - """ - :returns: The digits passed during the ownership verification call. - :rtype: unicode - """ - return self._properties['verification_code'] - - @property - def verification_call_sids(self): - """ - :returns: List of IDs for ownership verification calls. - :rtype: unicode - """ - return self._properties['verification_call_sids'] - - def fetch(self): - """ - Fetch a HostedNumberOrderInstance - - :returns: Fetched HostedNumberOrderInstance - :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the HostedNumberOrderInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, friendly_name=values.unset, unique_name=values.unset, - email=values.unset, cc_emails=values.unset, status=values.unset, - verification_code=values.unset, verification_type=values.unset, - verification_document_sid=values.unset, extension=values.unset, - call_delay=values.unset): - """ - Update the HostedNumberOrderInstance - - :param unicode friendly_name: A human readable description of this resource. - :param unicode unique_name: A unique, developer assigned name of this HostedNumberOrder. - :param unicode email: Email. - :param unicode cc_emails: A list of emails. - :param HostedNumberOrderInstance.Status status: The Status of this HostedNumberOrder. - :param unicode verification_code: A verification code. - :param HostedNumberOrderInstance.VerificationType verification_type: Verification Type. - :param unicode verification_document_sid: Verification Document Sid - :param unicode extension: The extension - :param unicode call_delay: The call_delay - - :returns: Updated HostedNumberOrderInstance - :rtype: twilio.rest.preview.hosted_numbers.hosted_number_order.HostedNumberOrderInstance - """ - return self._proxy.update( - friendly_name=friendly_name, - unique_name=unique_name, - email=email, - cc_emails=cc_emails, - status=status, - verification_code=verification_code, - verification_type=verification_type, - verification_document_sid=verification_document_sid, - extension=extension, - call_delay=call_delay, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.HostedNumbers.HostedNumberOrderInstance {}>'.format(context) diff --git a/twilio/rest/preview/marketplace/__init__.py b/twilio/rest/preview/marketplace/__init__.py deleted file mode 100644 index 4f6010c..0000000 --- a/twilio/rest/preview/marketplace/__init__.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.preview.marketplace.available_add_on import AvailableAddOnList -from twilio.rest.preview.marketplace.installed_add_on import InstalledAddOnList - - -class Marketplace(Version): - - def __init__(self, domain): - """ - Initialize the Marketplace version of Preview - - :returns: Marketplace version of Preview - :rtype: twilio.rest.preview.marketplace.Marketplace.Marketplace - """ - super(Marketplace, self).__init__(domain) - self.version = 'marketplace' - self._available_add_ons = None - self._installed_add_ons = None - - @property - def available_add_ons(self): - """ - :rtype: twilio.rest.preview.marketplace.available_add_on.AvailableAddOnList - """ - if self._available_add_ons is None: - self._available_add_ons = AvailableAddOnList(self) - return self._available_add_ons - - @property - def installed_add_ons(self): - """ - :rtype: twilio.rest.preview.marketplace.installed_add_on.InstalledAddOnList - """ - if self._installed_add_ons is None: - self._installed_add_ons = InstalledAddOnList(self) - return self._installed_add_ons - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Marketplace>' diff --git a/twilio/rest/preview/marketplace/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/marketplace/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 34d3003dd141a10323a63b1ca78bc416d164d985..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1967 zcmcgsL2uhO6sBZZk`-rb(;kMQ19;gGA1Y_)%?OGGEl?EbvJT635Ht{sNY`v>Nh4(k zHhfEf{*0dY6ZRW+=~>sF_7`^ABQ2}0vmiT-0v{i!NAi8|z3)BR-;e%$|1SB$N9Y6E z8XoB1!PLhf7)lUxm@A#Bo4AhAJF+wN63^<M>`wi}chED$y3D^q%;)Z9Cka^a6B>j| z8l6pq##zBQzMvYv;yG8e;tZcJq7)A?!7xCORkKETg%8Of9fCL{t8}=+tHU8!%)gC~ z;-kpeV>q}T!{{$?5)GU>_=PJiiX7B~lQ|WVo=bkh*bn&&p)0fdJl7SKlCyR<GiNuW z(<l};M~MT_-M47$82DFV(%~NKFz*UoI!PCF3m0^s1uVQmN$?hVC<y^}uipEfsyDnU zCCzx|HW!=KJYuH)21JD_XN4}^*Y3)>bWA)~h;*0>(zCM5T)3{Y{G&mQ@$+0%f=aRE zxSDXh^$eb`@#A8QUn)Kq{32?PjTEnDD%YdiPBdY~BULR*KEl<7kfMkc*Hv7uZ;huP zvBg^sZ0qgA$=;Ur>A<hMdRB6!x&Xfp2@!yYkUD6buMY^_<c?6rNReyU6PwI!_6Bb4 zX)edL&x$D(Ch0vwGD)>2<ahM<<jE-gSwle5A4M{uMS4<}PiaNd7ez*8dd8<^T8i@F z`AkUm@R63qc%d)SHQLQ$K&K7pbPGnhaXT&-DgYpNOhQ8tD7fSJ@Gb9e$7N%lImQHr zSxqrKfvLX)u|lsQ`ENpX-xh=^1G@*wcbC7m!ThgD*$rWQoe%Aurvq2@zy)Qha^R>v zqkq<l&q1s2?p~-Lz_y0IflxPcB4_#4Hr{L2{~Pe#I*G4S{uAI408pmg-2{C1Lj5%u z-w6Dg^(Vkh)@{bkgUqqHUAFGLRK;9Clcad81kagVV8x;MG|wwqL0|iKGG`N!^Ba%s zvRPNEeQ^2U_-sw?rdw?D_pvR38=?ZVHLej7n_$@P7VK91+5kEs80U1#f#VS&(}K;U z(ffq_HluR=$8x9+OI1K;s20l5N!>N#07Sjt5If^i!pm)Kf_MAI$dst<C+3f(Vd(bz z{a(LkcTWdl9T38bjF9AB)6dSS=5f<=ltGXj-PY-LtJ)Ig_G7y>Vav@r_7TZivs4R@ R*D-o*`icePxqSz|&Og4B6xjd( diff --git a/twilio/rest/preview/marketplace/available_add_on/__init__.py b/twilio/rest/preview/marketplace/available_add_on/__init__.py deleted file mode 100644 index 0f42eb7..0000000 --- a/twilio/rest/preview/marketplace/available_add_on/__init__.py +++ /dev/null @@ -1,383 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.preview.marketplace.available_add_on.available_add_on_extension import AvailableAddOnExtensionList - - -class AvailableAddOnList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version): - """ - Initialize the AvailableAddOnList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.preview.marketplace.available_add_on.AvailableAddOnList - :rtype: twilio.rest.preview.marketplace.available_add_on.AvailableAddOnList - """ - super(AvailableAddOnList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/AvailableAddOns'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams AvailableAddOnInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.marketplace.available_add_on.AvailableAddOnInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists AvailableAddOnInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.marketplace.available_add_on.AvailableAddOnInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of AvailableAddOnInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of AvailableAddOnInstance - :rtype: twilio.rest.preview.marketplace.available_add_on.AvailableAddOnPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return AvailableAddOnPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of AvailableAddOnInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of AvailableAddOnInstance - :rtype: twilio.rest.preview.marketplace.available_add_on.AvailableAddOnPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return AvailableAddOnPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a AvailableAddOnContext - - :param sid: The unique Available Add-on Sid - - :returns: twilio.rest.preview.marketplace.available_add_on.AvailableAddOnContext - :rtype: twilio.rest.preview.marketplace.available_add_on.AvailableAddOnContext - """ - return AvailableAddOnContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a AvailableAddOnContext - - :param sid: The unique Available Add-on Sid - - :returns: twilio.rest.preview.marketplace.available_add_on.AvailableAddOnContext - :rtype: twilio.rest.preview.marketplace.available_add_on.AvailableAddOnContext - """ - return AvailableAddOnContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Marketplace.AvailableAddOnList>' - - -class AvailableAddOnPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the AvailableAddOnPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.preview.marketplace.available_add_on.AvailableAddOnPage - :rtype: twilio.rest.preview.marketplace.available_add_on.AvailableAddOnPage - """ - super(AvailableAddOnPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of AvailableAddOnInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.marketplace.available_add_on.AvailableAddOnInstance - :rtype: twilio.rest.preview.marketplace.available_add_on.AvailableAddOnInstance - """ - return AvailableAddOnInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Marketplace.AvailableAddOnPage>' - - -class AvailableAddOnContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, sid): - """ - Initialize the AvailableAddOnContext - - :param Version version: Version that contains the resource - :param sid: The unique Available Add-on Sid - - :returns: twilio.rest.preview.marketplace.available_add_on.AvailableAddOnContext - :rtype: twilio.rest.preview.marketplace.available_add_on.AvailableAddOnContext - """ - super(AvailableAddOnContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/AvailableAddOns/{sid}'.format(**self._solution) - - # Dependents - self._extensions = None - - def fetch(self): - """ - Fetch a AvailableAddOnInstance - - :returns: Fetched AvailableAddOnInstance - :rtype: twilio.rest.preview.marketplace.available_add_on.AvailableAddOnInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return AvailableAddOnInstance(self._version, payload, sid=self._solution['sid'], ) - - @property - def extensions(self): - """ - Access the extensions - - :returns: twilio.rest.preview.marketplace.available_add_on.available_add_on_extension.AvailableAddOnExtensionList - :rtype: twilio.rest.preview.marketplace.available_add_on.available_add_on_extension.AvailableAddOnExtensionList - """ - if self._extensions is None: - self._extensions = AvailableAddOnExtensionList( - self._version, - available_add_on_sid=self._solution['sid'], - ) - return self._extensions - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Marketplace.AvailableAddOnContext {}>'.format(context) - - -class AvailableAddOnInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, sid=None): - """ - Initialize the AvailableAddOnInstance - - :returns: twilio.rest.preview.marketplace.available_add_on.AvailableAddOnInstance - :rtype: twilio.rest.preview.marketplace.available_add_on.AvailableAddOnInstance - """ - super(AvailableAddOnInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'friendly_name': payload['friendly_name'], - 'description': payload['description'], - 'pricing_type': payload['pricing_type'], - 'configuration_schema': payload['configuration_schema'], - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: AvailableAddOnContext for this AvailableAddOnInstance - :rtype: twilio.rest.preview.marketplace.available_add_on.AvailableAddOnContext - """ - if self._context is None: - self._context = AvailableAddOnContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Add-on - :rtype: unicode - """ - return self._properties['sid'] - - @property - def friendly_name(self): - """ - :returns: A description of this Add-on - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def description(self): - """ - :returns: A short description of the Add-on functionality - :rtype: unicode - """ - return self._properties['description'] - - @property - def pricing_type(self): - """ - :returns: The way customers are charged for using this Add-on - :rtype: unicode - """ - return self._properties['pricing_type'] - - @property - def configuration_schema(self): - """ - :returns: The JSON Schema describing the Add-on's configuration - :rtype: dict - """ - return self._properties['configuration_schema'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a AvailableAddOnInstance - - :returns: Fetched AvailableAddOnInstance - :rtype: twilio.rest.preview.marketplace.available_add_on.AvailableAddOnInstance - """ - return self._proxy.fetch() - - @property - def extensions(self): - """ - Access the extensions - - :returns: twilio.rest.preview.marketplace.available_add_on.available_add_on_extension.AvailableAddOnExtensionList - :rtype: twilio.rest.preview.marketplace.available_add_on.available_add_on_extension.AvailableAddOnExtensionList - """ - return self._proxy.extensions - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Marketplace.AvailableAddOnInstance {}>'.format(context) diff --git a/twilio/rest/preview/marketplace/available_add_on/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/marketplace/available_add_on/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index f219a7ecef6c6f3645eebece277e6e229f195345..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15128 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 WG^T`3B$=4{udw)sMtQNZxc=XY2OKH@ diff --git a/twilio/rest/preview/marketplace/available_add_on/__pycache__/available_add_on_extension.cpython-36.pyc b/twilio/rest/preview/marketplace/available_add_on/__pycache__/available_add_on_extension.cpython-36.pyc deleted file mode 100644 index 951eba92247e3121a4edfc01ce4ed47fd707fa24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15496 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 diff --git a/twilio/rest/preview/marketplace/available_add_on/available_add_on_extension.py b/twilio/rest/preview/marketplace/available_add_on/available_add_on_extension.py deleted file mode 100644 index d6848a2..0000000 --- a/twilio/rest/preview/marketplace/available_add_on/available_add_on_extension.py +++ /dev/null @@ -1,372 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class AvailableAddOnExtensionList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, available_add_on_sid): - """ - Initialize the AvailableAddOnExtensionList - - :param Version version: Version that contains the resource - :param available_add_on_sid: The available_add_on_sid - - :returns: twilio.rest.preview.marketplace.available_add_on.available_add_on_extension.AvailableAddOnExtensionList - :rtype: twilio.rest.preview.marketplace.available_add_on.available_add_on_extension.AvailableAddOnExtensionList - """ - super(AvailableAddOnExtensionList, self).__init__(version) - - # Path Solution - self._solution = {'available_add_on_sid': available_add_on_sid, } - self._uri = '/AvailableAddOns/{available_add_on_sid}/Extensions'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams AvailableAddOnExtensionInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.marketplace.available_add_on.available_add_on_extension.AvailableAddOnExtensionInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists AvailableAddOnExtensionInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.marketplace.available_add_on.available_add_on_extension.AvailableAddOnExtensionInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of AvailableAddOnExtensionInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of AvailableAddOnExtensionInstance - :rtype: twilio.rest.preview.marketplace.available_add_on.available_add_on_extension.AvailableAddOnExtensionPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return AvailableAddOnExtensionPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of AvailableAddOnExtensionInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of AvailableAddOnExtensionInstance - :rtype: twilio.rest.preview.marketplace.available_add_on.available_add_on_extension.AvailableAddOnExtensionPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return AvailableAddOnExtensionPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a AvailableAddOnExtensionContext - - :param sid: The unique Extension Sid - - :returns: twilio.rest.preview.marketplace.available_add_on.available_add_on_extension.AvailableAddOnExtensionContext - :rtype: twilio.rest.preview.marketplace.available_add_on.available_add_on_extension.AvailableAddOnExtensionContext - """ - return AvailableAddOnExtensionContext( - self._version, - available_add_on_sid=self._solution['available_add_on_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a AvailableAddOnExtensionContext - - :param sid: The unique Extension Sid - - :returns: twilio.rest.preview.marketplace.available_add_on.available_add_on_extension.AvailableAddOnExtensionContext - :rtype: twilio.rest.preview.marketplace.available_add_on.available_add_on_extension.AvailableAddOnExtensionContext - """ - return AvailableAddOnExtensionContext( - self._version, - available_add_on_sid=self._solution['available_add_on_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Marketplace.AvailableAddOnExtensionList>' - - -class AvailableAddOnExtensionPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the AvailableAddOnExtensionPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param available_add_on_sid: The available_add_on_sid - - :returns: twilio.rest.preview.marketplace.available_add_on.available_add_on_extension.AvailableAddOnExtensionPage - :rtype: twilio.rest.preview.marketplace.available_add_on.available_add_on_extension.AvailableAddOnExtensionPage - """ - super(AvailableAddOnExtensionPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of AvailableAddOnExtensionInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.marketplace.available_add_on.available_add_on_extension.AvailableAddOnExtensionInstance - :rtype: twilio.rest.preview.marketplace.available_add_on.available_add_on_extension.AvailableAddOnExtensionInstance - """ - return AvailableAddOnExtensionInstance( - self._version, - payload, - available_add_on_sid=self._solution['available_add_on_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Marketplace.AvailableAddOnExtensionPage>' - - -class AvailableAddOnExtensionContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, available_add_on_sid, sid): - """ - Initialize the AvailableAddOnExtensionContext - - :param Version version: Version that contains the resource - :param available_add_on_sid: The available_add_on_sid - :param sid: The unique Extension Sid - - :returns: twilio.rest.preview.marketplace.available_add_on.available_add_on_extension.AvailableAddOnExtensionContext - :rtype: twilio.rest.preview.marketplace.available_add_on.available_add_on_extension.AvailableAddOnExtensionContext - """ - super(AvailableAddOnExtensionContext, self).__init__(version) - - # Path Solution - self._solution = {'available_add_on_sid': available_add_on_sid, 'sid': sid, } - self._uri = '/AvailableAddOns/{available_add_on_sid}/Extensions/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a AvailableAddOnExtensionInstance - - :returns: Fetched AvailableAddOnExtensionInstance - :rtype: twilio.rest.preview.marketplace.available_add_on.available_add_on_extension.AvailableAddOnExtensionInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return AvailableAddOnExtensionInstance( - self._version, - payload, - available_add_on_sid=self._solution['available_add_on_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Marketplace.AvailableAddOnExtensionContext {}>'.format(context) - - -class AvailableAddOnExtensionInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, available_add_on_sid, sid=None): - """ - Initialize the AvailableAddOnExtensionInstance - - :returns: twilio.rest.preview.marketplace.available_add_on.available_add_on_extension.AvailableAddOnExtensionInstance - :rtype: twilio.rest.preview.marketplace.available_add_on.available_add_on_extension.AvailableAddOnExtensionInstance - """ - super(AvailableAddOnExtensionInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'available_add_on_sid': payload['available_add_on_sid'], - 'friendly_name': payload['friendly_name'], - 'product_name': payload['product_name'], - 'unique_name': payload['unique_name'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'available_add_on_sid': available_add_on_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: AvailableAddOnExtensionContext for this AvailableAddOnExtensionInstance - :rtype: twilio.rest.preview.marketplace.available_add_on.available_add_on_extension.AvailableAddOnExtensionContext - """ - if self._context is None: - self._context = AvailableAddOnExtensionContext( - self._version, - available_add_on_sid=self._solution['available_add_on_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Extension - :rtype: unicode - """ - return self._properties['sid'] - - @property - def available_add_on_sid(self): - """ - :returns: The available_add_on_sid - :rtype: unicode - """ - return self._properties['available_add_on_sid'] - - @property - def friendly_name(self): - """ - :returns: A human-readable description of this Extension - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def product_name(self): - """ - :returns: A human-readable description of the Extension's Product - :rtype: unicode - """ - return self._properties['product_name'] - - @property - def unique_name(self): - """ - :returns: The string that uniquely identifies this Extension - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a AvailableAddOnExtensionInstance - - :returns: Fetched AvailableAddOnExtensionInstance - :rtype: twilio.rest.preview.marketplace.available_add_on.available_add_on_extension.AvailableAddOnExtensionInstance - """ - return self._proxy.fetch() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Marketplace.AvailableAddOnExtensionInstance {}>'.format(context) diff --git a/twilio/rest/preview/marketplace/installed_add_on/__init__.py b/twilio/rest/preview/marketplace/installed_add_on/__init__.py deleted file mode 100644 index 7ff1659..0000000 --- a/twilio/rest/preview/marketplace/installed_add_on/__init__.py +++ /dev/null @@ -1,490 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension import InstalledAddOnExtensionList - - -class InstalledAddOnList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version): - """ - Initialize the InstalledAddOnList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.preview.marketplace.installed_add_on.InstalledAddOnList - :rtype: twilio.rest.preview.marketplace.installed_add_on.InstalledAddOnList - """ - super(InstalledAddOnList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/InstalledAddOns'.format(**self._solution) - - def create(self, available_add_on_sid, accept_terms_of_service, - configuration=values.unset, unique_name=values.unset): - """ - Create a new InstalledAddOnInstance - - :param unicode available_add_on_sid: A string that uniquely identifies the Add-on to install - :param bool accept_terms_of_service: A boolean reflecting your acceptance of the Terms of Service - :param dict configuration: The JSON object representing the configuration - :param unicode unique_name: The string that uniquely identifies this Add-on installation - - :returns: Newly created InstalledAddOnInstance - :rtype: twilio.rest.preview.marketplace.installed_add_on.InstalledAddOnInstance - """ - data = values.of({ - 'AvailableAddOnSid': available_add_on_sid, - 'AcceptTermsOfService': accept_terms_of_service, - 'Configuration': serialize.object(configuration), - 'UniqueName': unique_name, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return InstalledAddOnInstance(self._version, payload, ) - - def stream(self, limit=None, page_size=None): - """ - Streams InstalledAddOnInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.marketplace.installed_add_on.InstalledAddOnInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists InstalledAddOnInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.marketplace.installed_add_on.InstalledAddOnInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of InstalledAddOnInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of InstalledAddOnInstance - :rtype: twilio.rest.preview.marketplace.installed_add_on.InstalledAddOnPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return InstalledAddOnPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of InstalledAddOnInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of InstalledAddOnInstance - :rtype: twilio.rest.preview.marketplace.installed_add_on.InstalledAddOnPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return InstalledAddOnPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a InstalledAddOnContext - - :param sid: The unique Installed Add-on Sid - - :returns: twilio.rest.preview.marketplace.installed_add_on.InstalledAddOnContext - :rtype: twilio.rest.preview.marketplace.installed_add_on.InstalledAddOnContext - """ - return InstalledAddOnContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a InstalledAddOnContext - - :param sid: The unique Installed Add-on Sid - - :returns: twilio.rest.preview.marketplace.installed_add_on.InstalledAddOnContext - :rtype: twilio.rest.preview.marketplace.installed_add_on.InstalledAddOnContext - """ - return InstalledAddOnContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Marketplace.InstalledAddOnList>' - - -class InstalledAddOnPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the InstalledAddOnPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.preview.marketplace.installed_add_on.InstalledAddOnPage - :rtype: twilio.rest.preview.marketplace.installed_add_on.InstalledAddOnPage - """ - super(InstalledAddOnPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of InstalledAddOnInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.marketplace.installed_add_on.InstalledAddOnInstance - :rtype: twilio.rest.preview.marketplace.installed_add_on.InstalledAddOnInstance - """ - return InstalledAddOnInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Marketplace.InstalledAddOnPage>' - - -class InstalledAddOnContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, sid): - """ - Initialize the InstalledAddOnContext - - :param Version version: Version that contains the resource - :param sid: The unique Installed Add-on Sid - - :returns: twilio.rest.preview.marketplace.installed_add_on.InstalledAddOnContext - :rtype: twilio.rest.preview.marketplace.installed_add_on.InstalledAddOnContext - """ - super(InstalledAddOnContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/InstalledAddOns/{sid}'.format(**self._solution) - - # Dependents - self._extensions = None - - def delete(self): - """ - Deletes the InstalledAddOnInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def fetch(self): - """ - Fetch a InstalledAddOnInstance - - :returns: Fetched InstalledAddOnInstance - :rtype: twilio.rest.preview.marketplace.installed_add_on.InstalledAddOnInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return InstalledAddOnInstance(self._version, payload, sid=self._solution['sid'], ) - - def update(self, configuration=values.unset, unique_name=values.unset): - """ - Update the InstalledAddOnInstance - - :param dict configuration: The JSON object representing the configuration - :param unicode unique_name: The string that uniquely identifies this Add-on installation - - :returns: Updated InstalledAddOnInstance - :rtype: twilio.rest.preview.marketplace.installed_add_on.InstalledAddOnInstance - """ - data = values.of({'Configuration': serialize.object(configuration), 'UniqueName': unique_name, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return InstalledAddOnInstance(self._version, payload, sid=self._solution['sid'], ) - - @property - def extensions(self): - """ - Access the extensions - - :returns: twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension.InstalledAddOnExtensionList - :rtype: twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension.InstalledAddOnExtensionList - """ - if self._extensions is None: - self._extensions = InstalledAddOnExtensionList( - self._version, - installed_add_on_sid=self._solution['sid'], - ) - return self._extensions - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Marketplace.InstalledAddOnContext {}>'.format(context) - - -class InstalledAddOnInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, sid=None): - """ - Initialize the InstalledAddOnInstance - - :returns: twilio.rest.preview.marketplace.installed_add_on.InstalledAddOnInstance - :rtype: twilio.rest.preview.marketplace.installed_add_on.InstalledAddOnInstance - """ - super(InstalledAddOnInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'friendly_name': payload['friendly_name'], - 'description': payload['description'], - 'configuration': payload['configuration'], - 'unique_name': payload['unique_name'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: InstalledAddOnContext for this InstalledAddOnInstance - :rtype: twilio.rest.preview.marketplace.installed_add_on.InstalledAddOnContext - """ - if self._context is None: - self._context = InstalledAddOnContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Add-on installation - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The Account id that has installed this Add-on - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def friendly_name(self): - """ - :returns: A description of this Add-on installation - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def description(self): - """ - :returns: A short description of the Add-on functionality - :rtype: unicode - """ - return self._properties['description'] - - @property - def configuration(self): - """ - :returns: The JSON object representing the current configuration - :rtype: dict - """ - return self._properties['configuration'] - - @property - def unique_name(self): - """ - :returns: The string that uniquely identifies this Add-on installation - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def date_created(self): - """ - :returns: The date this Add-on installation was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this Add-on installation was last updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def delete(self): - """ - Deletes the InstalledAddOnInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def fetch(self): - """ - Fetch a InstalledAddOnInstance - - :returns: Fetched InstalledAddOnInstance - :rtype: twilio.rest.preview.marketplace.installed_add_on.InstalledAddOnInstance - """ - return self._proxy.fetch() - - def update(self, configuration=values.unset, unique_name=values.unset): - """ - Update the InstalledAddOnInstance - - :param dict configuration: The JSON object representing the configuration - :param unicode unique_name: The string that uniquely identifies this Add-on installation - - :returns: Updated InstalledAddOnInstance - :rtype: twilio.rest.preview.marketplace.installed_add_on.InstalledAddOnInstance - """ - return self._proxy.update(configuration=configuration, unique_name=unique_name, ) - - @property - def extensions(self): - """ - Access the extensions - - :returns: twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension.InstalledAddOnExtensionList - :rtype: twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension.InstalledAddOnExtensionList - """ - return self._proxy.extensions - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Marketplace.InstalledAddOnInstance {}>'.format(context) diff --git a/twilio/rest/preview/marketplace/installed_add_on/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/marketplace/installed_add_on/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 7a0058186fb943d83a63263001e7187689fa2ba4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18843 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 I)s{Z`Urq2C0{{R3 diff --git a/twilio/rest/preview/marketplace/installed_add_on/__pycache__/installed_add_on_extension.cpython-36.pyc b/twilio/rest/preview/marketplace/installed_add_on/__pycache__/installed_add_on_extension.cpython-36.pyc deleted file mode 100644 index 6bfb209c850ecec6c02691535ab424fb46539356..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16886 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 K+<asHlm7!+nx5VO diff --git a/twilio/rest/preview/marketplace/installed_add_on/installed_add_on_extension.py b/twilio/rest/preview/marketplace/installed_add_on/installed_add_on_extension.py deleted file mode 100644 index c118f33..0000000 --- a/twilio/rest/preview/marketplace/installed_add_on/installed_add_on_extension.py +++ /dev/null @@ -1,416 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class InstalledAddOnExtensionList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, installed_add_on_sid): - """ - Initialize the InstalledAddOnExtensionList - - :param Version version: Version that contains the resource - :param installed_add_on_sid: The installed_add_on_sid - - :returns: twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension.InstalledAddOnExtensionList - :rtype: twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension.InstalledAddOnExtensionList - """ - super(InstalledAddOnExtensionList, self).__init__(version) - - # Path Solution - self._solution = {'installed_add_on_sid': installed_add_on_sid, } - self._uri = '/InstalledAddOns/{installed_add_on_sid}/Extensions'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams InstalledAddOnExtensionInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension.InstalledAddOnExtensionInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists InstalledAddOnExtensionInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension.InstalledAddOnExtensionInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of InstalledAddOnExtensionInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of InstalledAddOnExtensionInstance - :rtype: twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension.InstalledAddOnExtensionPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return InstalledAddOnExtensionPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of InstalledAddOnExtensionInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of InstalledAddOnExtensionInstance - :rtype: twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension.InstalledAddOnExtensionPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return InstalledAddOnExtensionPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a InstalledAddOnExtensionContext - - :param sid: The unique Extension Sid - - :returns: twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension.InstalledAddOnExtensionContext - :rtype: twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension.InstalledAddOnExtensionContext - """ - return InstalledAddOnExtensionContext( - self._version, - installed_add_on_sid=self._solution['installed_add_on_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a InstalledAddOnExtensionContext - - :param sid: The unique Extension Sid - - :returns: twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension.InstalledAddOnExtensionContext - :rtype: twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension.InstalledAddOnExtensionContext - """ - return InstalledAddOnExtensionContext( - self._version, - installed_add_on_sid=self._solution['installed_add_on_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Marketplace.InstalledAddOnExtensionList>' - - -class InstalledAddOnExtensionPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the InstalledAddOnExtensionPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param installed_add_on_sid: The installed_add_on_sid - - :returns: twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension.InstalledAddOnExtensionPage - :rtype: twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension.InstalledAddOnExtensionPage - """ - super(InstalledAddOnExtensionPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of InstalledAddOnExtensionInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension.InstalledAddOnExtensionInstance - :rtype: twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension.InstalledAddOnExtensionInstance - """ - return InstalledAddOnExtensionInstance( - self._version, - payload, - installed_add_on_sid=self._solution['installed_add_on_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Marketplace.InstalledAddOnExtensionPage>' - - -class InstalledAddOnExtensionContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, installed_add_on_sid, sid): - """ - Initialize the InstalledAddOnExtensionContext - - :param Version version: Version that contains the resource - :param installed_add_on_sid: The installed_add_on_sid - :param sid: The unique Extension Sid - - :returns: twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension.InstalledAddOnExtensionContext - :rtype: twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension.InstalledAddOnExtensionContext - """ - super(InstalledAddOnExtensionContext, self).__init__(version) - - # Path Solution - self._solution = {'installed_add_on_sid': installed_add_on_sid, 'sid': sid, } - self._uri = '/InstalledAddOns/{installed_add_on_sid}/Extensions/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a InstalledAddOnExtensionInstance - - :returns: Fetched InstalledAddOnExtensionInstance - :rtype: twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension.InstalledAddOnExtensionInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return InstalledAddOnExtensionInstance( - self._version, - payload, - installed_add_on_sid=self._solution['installed_add_on_sid'], - sid=self._solution['sid'], - ) - - def update(self, enabled): - """ - Update the InstalledAddOnExtensionInstance - - :param bool enabled: A Boolean indicating if the Extension will be invoked - - :returns: Updated InstalledAddOnExtensionInstance - :rtype: twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension.InstalledAddOnExtensionInstance - """ - data = values.of({'Enabled': enabled, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return InstalledAddOnExtensionInstance( - self._version, - payload, - installed_add_on_sid=self._solution['installed_add_on_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Marketplace.InstalledAddOnExtensionContext {}>'.format(context) - - -class InstalledAddOnExtensionInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, installed_add_on_sid, sid=None): - """ - Initialize the InstalledAddOnExtensionInstance - - :returns: twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension.InstalledAddOnExtensionInstance - :rtype: twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension.InstalledAddOnExtensionInstance - """ - super(InstalledAddOnExtensionInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'installed_add_on_sid': payload['installed_add_on_sid'], - 'friendly_name': payload['friendly_name'], - 'product_name': payload['product_name'], - 'unique_name': payload['unique_name'], - 'enabled': payload['enabled'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'installed_add_on_sid': installed_add_on_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: InstalledAddOnExtensionContext for this InstalledAddOnExtensionInstance - :rtype: twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension.InstalledAddOnExtensionContext - """ - if self._context is None: - self._context = InstalledAddOnExtensionContext( - self._version, - installed_add_on_sid=self._solution['installed_add_on_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Extension - :rtype: unicode - """ - return self._properties['sid'] - - @property - def installed_add_on_sid(self): - """ - :returns: The installed_add_on_sid - :rtype: unicode - """ - return self._properties['installed_add_on_sid'] - - @property - def friendly_name(self): - """ - :returns: A human-readable description of this Extension - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def product_name(self): - """ - :returns: A human-readable description of the Extension's Product - :rtype: unicode - """ - return self._properties['product_name'] - - @property - def unique_name(self): - """ - :returns: The string that uniquely identifies this Extension - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def enabled(self): - """ - :returns: A Boolean indicating if the Extension will be invoked - :rtype: bool - """ - return self._properties['enabled'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a InstalledAddOnExtensionInstance - - :returns: Fetched InstalledAddOnExtensionInstance - :rtype: twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension.InstalledAddOnExtensionInstance - """ - return self._proxy.fetch() - - def update(self, enabled): - """ - Update the InstalledAddOnExtensionInstance - - :param bool enabled: A Boolean indicating if the Extension will be invoked - - :returns: Updated InstalledAddOnExtensionInstance - :rtype: twilio.rest.preview.marketplace.installed_add_on.installed_add_on_extension.InstalledAddOnExtensionInstance - """ - return self._proxy.update(enabled, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Marketplace.InstalledAddOnExtensionInstance {}>'.format(context) diff --git a/twilio/rest/preview/proxy/__init__.py b/twilio/rest/preview/proxy/__init__.py deleted file mode 100644 index e9e6ce7..0000000 --- a/twilio/rest/preview/proxy/__init__.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.preview.proxy.service import ServiceList - - -class Proxy(Version): - - def __init__(self, domain): - """ - Initialize the Proxy version of Preview - - :returns: Proxy version of Preview - :rtype: twilio.rest.preview.proxy.Proxy.Proxy - """ - super(Proxy, self).__init__(domain) - self.version = 'Proxy' - self._services = None - - @property - def services(self): - """ - :rtype: twilio.rest.preview.proxy.service.ServiceList - """ - if self._services is None: - self._services = ServiceList(self) - return self._services - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Proxy>' diff --git a/twilio/rest/preview/proxy/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/proxy/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 527ebc831c7a76a4e8b00fedb3c815217f7878ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1435 zcmah|L2uJA6t<JJX|r}9fjDq7;<6sr4((P=6KF^i(wIOS9HK~88oSgZZGxS)w92iO z_9HlO=C^R+9ElSr{sJeSlQbKM3QK-|iS6g_d+&RP?Y8sv+h_N?iO>&pYgphvg{cm} zFytbJnGxc#;Tl-`W@wHr*TU!&F^kpKh}F2UGTj=hU!ab?^qtF*P$Y;LCv#tscYMO7 zpKwM73&$fpLJ15oG%Z($q-2kFydIc6ntHvIq<cL$F?-TI=pH!wJb{bF=s7<D80z56 ze#@m2(FEL`3od6O;AcW5f!^K>V3&`a4M#2pM#eQ7V$EvZa7}J8lUZxD!oUDHtdU#4 zMiz2y%_gh8lF`RSV3c9>szd6j2$%#VI7KVt%1H4F>jb5Un#=%eF#|%F%TFZ%LS9Tn zBK%M+IY~yG<e|x|AVH!b{NOXe=T3E@FL^SR6V=~-w#*9Y%VZJrK1t>x6j4`lm2~4G z9<0Ejn?G0B>H(>%ecq{MH8qX7%s;aRr2>#rn%O0|tVvaoVAU})OYv}+)mb$5g-(8x z(jfGeqVx;;H8|;eZ{V=<UJG~RN8YnIe(oo}cNPVH=w0%0?8PG9A52Ba_77DU4Hs(e z6|gspM(>sAVFmQw22(d)$U1<&15;@S*>`arFLw)in_~giTQKyht9AlYJp_}YE2z@@ zhP<CwPS-2{2emSmr&VVDpU*NQ-CNSDZl8Ay*?`BS7D@-pruJKvX@i$FHYwGp3Mw@R zI~A49_8(L<ot%m;9K$*2W%VrNU?!mNd@_`RPguAhl0zO9pCo<)t@1Bvz4U{TnDDJv z{#KYuWcA?k!O>+QxKg`?zK(OQ+jvu|K~efx^UgcVzA0a^)oExIPW&+k6*`oTBQ_1S z-=g%x)DMfDTnJeM1OnPk7IGH?N-d16T}m?GVF=GvnFmNa`j9R_E_UtYxo;S)omR8# zhk9mH%A$Z$_g>jh17GoO*$z^Jb{}nTwX$@1_4AN72nw$dz)?Z#*xrD!j23R0zX9S( BajF0S diff --git a/twilio/rest/preview/proxy/service/__init__.py b/twilio/rest/preview/proxy/service/__init__.py deleted file mode 100644 index 8fe2556..0000000 --- a/twilio/rest/preview/proxy/service/__init__.py +++ /dev/null @@ -1,535 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.preview.proxy.service.phone_number import PhoneNumberList -from twilio.rest.preview.proxy.service.session import SessionList -from twilio.rest.preview.proxy.service.short_code import ShortCodeList - - -class ServiceList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version): - """ - Initialize the ServiceList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.preview.proxy.service.ServiceList - :rtype: twilio.rest.preview.proxy.service.ServiceList - """ - super(ServiceList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Services'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams ServiceInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.proxy.service.ServiceInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists ServiceInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.proxy.service.ServiceInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of ServiceInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ServiceInstance - :rtype: twilio.rest.preview.proxy.service.ServicePage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ServicePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ServiceInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ServiceInstance - :rtype: twilio.rest.preview.proxy.service.ServicePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ServicePage(self._version, response, self._solution) - - def create(self, friendly_name=values.unset, auto_create=values.unset, - callback_url=values.unset): - """ - Create a new ServiceInstance - - :param unicode friendly_name: A human readable description of this resource - :param bool auto_create: Boolean flag specifying whether to auto-create threads. - :param unicode callback_url: URL Twilio will request for callbacks. - - :returns: Newly created ServiceInstance - :rtype: twilio.rest.preview.proxy.service.ServiceInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'AutoCreate': auto_create, - 'CallbackUrl': callback_url, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return ServiceInstance(self._version, payload, ) - - def get(self, sid): - """ - Constructs a ServiceContext - - :param sid: A string that uniquely identifies this Service. - - :returns: twilio.rest.preview.proxy.service.ServiceContext - :rtype: twilio.rest.preview.proxy.service.ServiceContext - """ - return ServiceContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a ServiceContext - - :param sid: A string that uniquely identifies this Service. - - :returns: twilio.rest.preview.proxy.service.ServiceContext - :rtype: twilio.rest.preview.proxy.service.ServiceContext - """ - return ServiceContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Proxy.ServiceList>' - - -class ServicePage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the ServicePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.preview.proxy.service.ServicePage - :rtype: twilio.rest.preview.proxy.service.ServicePage - """ - super(ServicePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ServiceInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.proxy.service.ServiceInstance - :rtype: twilio.rest.preview.proxy.service.ServiceInstance - """ - return ServiceInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Proxy.ServicePage>' - - -class ServiceContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, sid): - """ - Initialize the ServiceContext - - :param Version version: Version that contains the resource - :param sid: A string that uniquely identifies this Service. - - :returns: twilio.rest.preview.proxy.service.ServiceContext - :rtype: twilio.rest.preview.proxy.service.ServiceContext - """ - super(ServiceContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Services/{sid}'.format(**self._solution) - - # Dependents - self._sessions = None - self._phone_numbers = None - self._short_codes = None - - def fetch(self): - """ - Fetch a ServiceInstance - - :returns: Fetched ServiceInstance - :rtype: twilio.rest.preview.proxy.service.ServiceInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ServiceInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the ServiceInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, friendly_name=values.unset, auto_create=values.unset, - callback_url=values.unset): - """ - Update the ServiceInstance - - :param unicode friendly_name: A human readable description of this resource - :param bool auto_create: Boolean flag specifying whether to auto-create threads. - :param unicode callback_url: URL Twilio will request for callbacks. - - :returns: Updated ServiceInstance - :rtype: twilio.rest.preview.proxy.service.ServiceInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'AutoCreate': auto_create, - 'CallbackUrl': callback_url, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ServiceInstance(self._version, payload, sid=self._solution['sid'], ) - - @property - def sessions(self): - """ - Access the sessions - - :returns: twilio.rest.preview.proxy.service.session.SessionList - :rtype: twilio.rest.preview.proxy.service.session.SessionList - """ - if self._sessions is None: - self._sessions = SessionList(self._version, service_sid=self._solution['sid'], ) - return self._sessions - - @property - def phone_numbers(self): - """ - Access the phone_numbers - - :returns: twilio.rest.preview.proxy.service.phone_number.PhoneNumberList - :rtype: twilio.rest.preview.proxy.service.phone_number.PhoneNumberList - """ - if self._phone_numbers is None: - self._phone_numbers = PhoneNumberList(self._version, service_sid=self._solution['sid'], ) - return self._phone_numbers - - @property - def short_codes(self): - """ - Access the short_codes - - :returns: twilio.rest.preview.proxy.service.short_code.ShortCodeList - :rtype: twilio.rest.preview.proxy.service.short_code.ShortCodeList - """ - if self._short_codes is None: - self._short_codes = ShortCodeList(self._version, service_sid=self._solution['sid'], ) - return self._short_codes - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Proxy.ServiceContext {}>'.format(context) - - -class ServiceInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, sid=None): - """ - Initialize the ServiceInstance - - :returns: twilio.rest.preview.proxy.service.ServiceInstance - :rtype: twilio.rest.preview.proxy.service.ServiceInstance - """ - super(ServiceInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'friendly_name': payload['friendly_name'], - 'account_sid': payload['account_sid'], - 'auto_create': payload['auto_create'], - 'callback_url': payload['callback_url'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ServiceContext for this ServiceInstance - :rtype: twilio.rest.preview.proxy.service.ServiceContext - """ - if self._context is None: - self._context = ServiceContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Service. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def friendly_name(self): - """ - :returns: A human readable description of this resource - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def account_sid(self): - """ - :returns: Account Sid. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def auto_create(self): - """ - :returns: Boolean flag specifying whether to auto-create threads. - :rtype: bool - """ - return self._properties['auto_create'] - - @property - def callback_url(self): - """ - :returns: URL Twilio will request for callbacks. - :rtype: unicode - """ - return self._properties['callback_url'] - - @property - def date_created(self): - """ - :returns: The date this Service was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this Service was updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The URL of this resource. - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: Nested resource URLs. - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a ServiceInstance - - :returns: Fetched ServiceInstance - :rtype: twilio.rest.preview.proxy.service.ServiceInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the ServiceInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, friendly_name=values.unset, auto_create=values.unset, - callback_url=values.unset): - """ - Update the ServiceInstance - - :param unicode friendly_name: A human readable description of this resource - :param bool auto_create: Boolean flag specifying whether to auto-create threads. - :param unicode callback_url: URL Twilio will request for callbacks. - - :returns: Updated ServiceInstance - :rtype: twilio.rest.preview.proxy.service.ServiceInstance - """ - return self._proxy.update( - friendly_name=friendly_name, - auto_create=auto_create, - callback_url=callback_url, - ) - - @property - def sessions(self): - """ - Access the sessions - - :returns: twilio.rest.preview.proxy.service.session.SessionList - :rtype: twilio.rest.preview.proxy.service.session.SessionList - """ - return self._proxy.sessions - - @property - def phone_numbers(self): - """ - Access the phone_numbers - - :returns: twilio.rest.preview.proxy.service.phone_number.PhoneNumberList - :rtype: twilio.rest.preview.proxy.service.phone_number.PhoneNumberList - """ - return self._proxy.phone_numbers - - @property - def short_codes(self): - """ - Access the short_codes - - :returns: twilio.rest.preview.proxy.service.short_code.ShortCodeList - :rtype: twilio.rest.preview.proxy.service.short_code.ShortCodeList - """ - return self._proxy.short_codes - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Proxy.ServiceInstance {}>'.format(context) diff --git a/twilio/rest/preview/proxy/service/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/proxy/service/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 5d94b5bca02fcefd1133d25e2128b8763550b5d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18787 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 RbnGv;@S7QPp}uhce*y3qfwlku diff --git a/twilio/rest/preview/proxy/service/__pycache__/phone_number.cpython-36.pyc b/twilio/rest/preview/proxy/service/__pycache__/phone_number.cpython-36.pyc deleted file mode 100644 index a9fc40f3b0e3325f4e2033c2076b5ce5fa3c0910..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15667 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 GUjHAFpG3<5 diff --git a/twilio/rest/preview/proxy/service/__pycache__/short_code.cpython-36.pyc b/twilio/rest/preview/proxy/service/__pycache__/short_code.cpython-36.pyc deleted file mode 100644 index 5acc83b3245a3adccc21aa2da0df6e168a69e16f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15436 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 G_5T4;N8uR& diff --git a/twilio/rest/preview/proxy/service/phone_number.py b/twilio/rest/preview/proxy/service/phone_number.py deleted file mode 100644 index 0524e49..0000000 --- a/twilio/rest/preview/proxy/service/phone_number.py +++ /dev/null @@ -1,422 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class PhoneNumberList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid): - """ - Initialize the PhoneNumberList - - :param Version version: Version that contains the resource - :param service_sid: Service Sid. - - :returns: twilio.rest.preview.proxy.service.phone_number.PhoneNumberList - :rtype: twilio.rest.preview.proxy.service.phone_number.PhoneNumberList - """ - super(PhoneNumberList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/PhoneNumbers'.format(**self._solution) - - def create(self, sid): - """ - Create a new PhoneNumberInstance - - :param unicode sid: Delete by unique phone-number Sid - - :returns: Newly created PhoneNumberInstance - :rtype: twilio.rest.preview.proxy.service.phone_number.PhoneNumberInstance - """ - data = values.of({'Sid': sid, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return PhoneNumberInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, limit=None, page_size=None): - """ - Streams PhoneNumberInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.proxy.service.phone_number.PhoneNumberInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists PhoneNumberInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.proxy.service.phone_number.PhoneNumberInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of PhoneNumberInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of PhoneNumberInstance - :rtype: twilio.rest.preview.proxy.service.phone_number.PhoneNumberPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return PhoneNumberPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of PhoneNumberInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of PhoneNumberInstance - :rtype: twilio.rest.preview.proxy.service.phone_number.PhoneNumberPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return PhoneNumberPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a PhoneNumberContext - - :param sid: Fetch by unique phone-number Sid - - :returns: twilio.rest.preview.proxy.service.phone_number.PhoneNumberContext - :rtype: twilio.rest.preview.proxy.service.phone_number.PhoneNumberContext - """ - return PhoneNumberContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a PhoneNumberContext - - :param sid: Fetch by unique phone-number Sid - - :returns: twilio.rest.preview.proxy.service.phone_number.PhoneNumberContext - :rtype: twilio.rest.preview.proxy.service.phone_number.PhoneNumberContext - """ - return PhoneNumberContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Proxy.PhoneNumberList>' - - -class PhoneNumberPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the PhoneNumberPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: Service Sid. - - :returns: twilio.rest.preview.proxy.service.phone_number.PhoneNumberPage - :rtype: twilio.rest.preview.proxy.service.phone_number.PhoneNumberPage - """ - super(PhoneNumberPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of PhoneNumberInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.proxy.service.phone_number.PhoneNumberInstance - :rtype: twilio.rest.preview.proxy.service.phone_number.PhoneNumberInstance - """ - return PhoneNumberInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Proxy.PhoneNumberPage>' - - -class PhoneNumberContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the PhoneNumberContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: Fetch by unique phone-number Sid - - :returns: twilio.rest.preview.proxy.service.phone_number.PhoneNumberContext - :rtype: twilio.rest.preview.proxy.service.phone_number.PhoneNumberContext - """ - super(PhoneNumberContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/PhoneNumbers/{sid}'.format(**self._solution) - - def delete(self): - """ - Deletes the PhoneNumberInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def fetch(self): - """ - Fetch a PhoneNumberInstance - - :returns: Fetched PhoneNumberInstance - :rtype: twilio.rest.preview.proxy.service.phone_number.PhoneNumberInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return PhoneNumberInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Proxy.PhoneNumberContext {}>'.format(context) - - -class PhoneNumberInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the PhoneNumberInstance - - :returns: twilio.rest.preview.proxy.service.phone_number.PhoneNumberInstance - :rtype: twilio.rest.preview.proxy.service.phone_number.PhoneNumberInstance - """ - super(PhoneNumberInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'phone_number': payload['phone_number'], - 'country_code': payload['country_code'], - 'capabilities': payload['capabilities'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: PhoneNumberContext for this PhoneNumberInstance - :rtype: twilio.rest.preview.proxy.service.phone_number.PhoneNumberContext - """ - if self._context is None: - self._context = PhoneNumberContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this resource - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: Account Sid. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: Service Sid. - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def date_created(self): - """ - :returns: The date this resource was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this resource was last updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def phone_number(self): - """ - :returns: The phone number - :rtype: unicode - """ - return self._properties['phone_number'] - - @property - def country_code(self): - """ - :returns: The ISO 3166-1 alpha-2 country code - :rtype: unicode - """ - return self._properties['country_code'] - - @property - def capabilities(self): - """ - :returns: Indicate if a phone can receive calls or messages - :rtype: unicode - """ - return self._properties['capabilities'] - - @property - def url(self): - """ - :returns: The URL of this resource. - :rtype: unicode - """ - return self._properties['url'] - - def delete(self): - """ - Deletes the PhoneNumberInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def fetch(self): - """ - Fetch a PhoneNumberInstance - - :returns: Fetched PhoneNumberInstance - :rtype: twilio.rest.preview.proxy.service.phone_number.PhoneNumberInstance - """ - return self._proxy.fetch() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Proxy.PhoneNumberInstance {}>'.format(context) diff --git a/twilio/rest/preview/proxy/service/session/__init__.py b/twilio/rest/preview/proxy/service/session/__init__.py deleted file mode 100644 index d8c05ff..0000000 --- a/twilio/rest/preview/proxy/service/session/__init__.py +++ /dev/null @@ -1,589 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.preview.proxy.service.session.interaction import InteractionList -from twilio.rest.preview.proxy.service.session.participant import ParticipantList - - -class SessionList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid): - """ - Initialize the SessionList - - :param Version version: Version that contains the resource - :param service_sid: Service Sid. - - :returns: twilio.rest.preview.proxy.service.session.SessionList - :rtype: twilio.rest.preview.proxy.service.session.SessionList - """ - super(SessionList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Sessions'.format(**self._solution) - - def stream(self, unique_name=values.unset, status=values.unset, limit=None, - page_size=None): - """ - Streams SessionInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode unique_name: A unique, developer assigned name of this Session. - :param SessionInstance.Status status: The Status of this Session - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.proxy.service.session.SessionInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(unique_name=unique_name, status=status, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, unique_name=values.unset, status=values.unset, limit=None, - page_size=None): - """ - Lists SessionInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode unique_name: A unique, developer assigned name of this Session. - :param SessionInstance.Status status: The Status of this Session - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.proxy.service.session.SessionInstance] - """ - return list(self.stream(unique_name=unique_name, status=status, limit=limit, page_size=page_size, )) - - def page(self, unique_name=values.unset, status=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of SessionInstance records from the API. - Request is executed immediately - - :param unicode unique_name: A unique, developer assigned name of this Session. - :param SessionInstance.Status status: The Status of this Session - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of SessionInstance - :rtype: twilio.rest.preview.proxy.service.session.SessionPage - """ - params = values.of({ - 'UniqueName': unique_name, - 'Status': status, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return SessionPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of SessionInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of SessionInstance - :rtype: twilio.rest.preview.proxy.service.session.SessionPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return SessionPage(self._version, response, self._solution) - - def create(self, unique_name=values.unset, ttl=values.unset, - status=values.unset, participants=values.unset): - """ - Create a new SessionInstance - - :param unicode unique_name: A unique, developer assigned name of this Session. - :param unicode ttl: How long will this session stay open, in seconds. - :param SessionInstance.Status status: The Status of this Session - :param unicode participants: The participants - - :returns: Newly created SessionInstance - :rtype: twilio.rest.preview.proxy.service.session.SessionInstance - """ - data = values.of({ - 'UniqueName': unique_name, - 'Ttl': ttl, - 'Status': status, - 'Participants': serialize.map(participants, lambda e: e), - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return SessionInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def get(self, sid): - """ - Constructs a SessionContext - - :param sid: A string that uniquely identifies this Session. - - :returns: twilio.rest.preview.proxy.service.session.SessionContext - :rtype: twilio.rest.preview.proxy.service.session.SessionContext - """ - return SessionContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a SessionContext - - :param sid: A string that uniquely identifies this Session. - - :returns: twilio.rest.preview.proxy.service.session.SessionContext - :rtype: twilio.rest.preview.proxy.service.session.SessionContext - """ - return SessionContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Proxy.SessionList>' - - -class SessionPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the SessionPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: Service Sid. - - :returns: twilio.rest.preview.proxy.service.session.SessionPage - :rtype: twilio.rest.preview.proxy.service.session.SessionPage - """ - super(SessionPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of SessionInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.proxy.service.session.SessionInstance - :rtype: twilio.rest.preview.proxy.service.session.SessionInstance - """ - return SessionInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Proxy.SessionPage>' - - -class SessionContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the SessionContext - - :param Version version: Version that contains the resource - :param service_sid: Service Sid. - :param sid: A string that uniquely identifies this Session. - - :returns: twilio.rest.preview.proxy.service.session.SessionContext - :rtype: twilio.rest.preview.proxy.service.session.SessionContext - """ - super(SessionContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Sessions/{sid}'.format(**self._solution) - - # Dependents - self._interactions = None - self._participants = None - - def fetch(self): - """ - Fetch a SessionInstance - - :returns: Fetched SessionInstance - :rtype: twilio.rest.preview.proxy.service.session.SessionInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return SessionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the SessionInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, unique_name=values.unset, ttl=values.unset, - status=values.unset, participants=values.unset): - """ - Update the SessionInstance - - :param unicode unique_name: A unique, developer assigned name of this Session. - :param unicode ttl: How long will this session stay open, in seconds. - :param SessionInstance.Status status: The Status of this Session - :param unicode participants: The participants - - :returns: Updated SessionInstance - :rtype: twilio.rest.preview.proxy.service.session.SessionInstance - """ - data = values.of({ - 'UniqueName': unique_name, - 'Ttl': ttl, - 'Status': status, - 'Participants': serialize.map(participants, lambda e: e), - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return SessionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - @property - def interactions(self): - """ - Access the interactions - - :returns: twilio.rest.preview.proxy.service.session.interaction.InteractionList - :rtype: twilio.rest.preview.proxy.service.session.interaction.InteractionList - """ - if self._interactions is None: - self._interactions = InteractionList( - self._version, - service_sid=self._solution['service_sid'], - session_sid=self._solution['sid'], - ) - return self._interactions - - @property - def participants(self): - """ - Access the participants - - :returns: twilio.rest.preview.proxy.service.session.participant.ParticipantList - :rtype: twilio.rest.preview.proxy.service.session.participant.ParticipantList - """ - if self._participants is None: - self._participants = ParticipantList( - self._version, - service_sid=self._solution['service_sid'], - session_sid=self._solution['sid'], - ) - return self._participants - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Proxy.SessionContext {}>'.format(context) - - -class SessionInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - class Status(object): - IN_PROGESS = "in-progess" - COMPLETED = "completed" - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the SessionInstance - - :returns: twilio.rest.preview.proxy.service.session.SessionInstance - :rtype: twilio.rest.preview.proxy.service.session.SessionInstance - """ - super(SessionInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'service_sid': payload['service_sid'], - 'account_sid': payload['account_sid'], - 'unique_name': payload['unique_name'], - 'ttl': deserialize.integer(payload['ttl']), - 'status': payload['status'], - 'start_time': deserialize.iso8601_datetime(payload['start_time']), - 'end_time': deserialize.iso8601_datetime(payload['end_time']), - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: SessionContext for this SessionInstance - :rtype: twilio.rest.preview.proxy.service.session.SessionContext - """ - if self._context is None: - self._context = SessionContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Session. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def service_sid(self): - """ - :returns: Service Sid. - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def account_sid(self): - """ - :returns: Account Sid. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def unique_name(self): - """ - :returns: A unique, developer assigned name of this Session. - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def ttl(self): - """ - :returns: How long will this session stay open, in seconds. - :rtype: unicode - """ - return self._properties['ttl'] - - @property - def status(self): - """ - :returns: The Status of this Session - :rtype: SessionInstance.Status - """ - return self._properties['status'] - - @property - def start_time(self): - """ - :returns: The date this Session was started - :rtype: datetime - """ - return self._properties['start_time'] - - @property - def end_time(self): - """ - :returns: The date this Session was ended - :rtype: datetime - """ - return self._properties['end_time'] - - @property - def date_created(self): - """ - :returns: The date this Session was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this Session was updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The URL of this Session. - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: Nested resource URLs. - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a SessionInstance - - :returns: Fetched SessionInstance - :rtype: twilio.rest.preview.proxy.service.session.SessionInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the SessionInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, unique_name=values.unset, ttl=values.unset, - status=values.unset, participants=values.unset): - """ - Update the SessionInstance - - :param unicode unique_name: A unique, developer assigned name of this Session. - :param unicode ttl: How long will this session stay open, in seconds. - :param SessionInstance.Status status: The Status of this Session - :param unicode participants: The participants - - :returns: Updated SessionInstance - :rtype: twilio.rest.preview.proxy.service.session.SessionInstance - """ - return self._proxy.update( - unique_name=unique_name, - ttl=ttl, - status=status, - participants=participants, - ) - - @property - def interactions(self): - """ - Access the interactions - - :returns: twilio.rest.preview.proxy.service.session.interaction.InteractionList - :rtype: twilio.rest.preview.proxy.service.session.interaction.InteractionList - """ - return self._proxy.interactions - - @property - def participants(self): - """ - Access the participants - - :returns: twilio.rest.preview.proxy.service.session.participant.ParticipantList - :rtype: twilio.rest.preview.proxy.service.session.participant.ParticipantList - """ - return self._proxy.participants - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Proxy.SessionInstance {}>'.format(context) diff --git a/twilio/rest/preview/proxy/service/session/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/proxy/service/session/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index c202505e680707212fb2dfcc3ba9254c7b59e8b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20751 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 diff --git a/twilio/rest/preview/proxy/service/session/__pycache__/interaction.cpython-36.pyc b/twilio/rest/preview/proxy/service/session/__pycache__/interaction.cpython-36.pyc deleted file mode 100644 index c581ccf61d44bd8eeede6a0490da1345afbefd92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19518 zcmeHPON<=HdG79c&+IOTZ!Yy}E3(Xyma{9%QtY)%a7C_|ji@EfT`It2ol$eDm+aNN z)ZIgJN6Xm23UClWfpg12K<rxrBtUWr4CLZdkRTW577P#|MlK0_@iEXT-~U&4P0j4g z?C_!3k~NF2uCA`GuK%yU{&(-Iv$Oes{rO*3UVPgy{>#vQNz^am2!4b@7!^a9!m67M zt74f{PoSQtB)FceCmX3sitDL*x{;}5xSp<O8@Wo3>zR7KQK%G5<BB1&BKMIYa&B%v zQJKMYUKDU$a0|Ge#r2Gs#r3S4!u1@k=fn|QA8|9dJ|c=6M(JqR$#35A0=w1{u6@r5 z?AvbB^_|ca_O0Fgmc3|KZTwJF_o8#&-m}kDOIwR5&Q<re7WeGEbBpM4_m%Qec_~l* zZ9FJ{i~0Wn;6};p6@(kOzUS1vu8Yg`U8ml01JsVJHG|M;*4#_2X6W7z(Nv6^Zn#0K z<JahcnX6t9YS+o@&TY3wgU7#AR0;kR71yYkz_%sLO5%scHn1)dA7v{^H?@<dLnK9V zJ1J5k{gGM847FxN7OmO1RX=a1L{8*!Hzx{W<|Ct$7qemx=YjxEah?%J#W9>`e`q9) z${etKoInhL)>`PbngmAoU+n8wS64Px?e%M$t9E$D2~p5G)SZA<qZvA0GqBsfd)IUC z;oK6PS{TTlj_=w*=hlu}3mMyC%dXvVnz!AueKT;;$8Fg6yzq`)b2{|Kvc0x#@3uO2 zt>gP{Gpz60qGdN*p?$}>>)OJ->(*Os*XP0FS30$t8w3k>yY4y|l&4g~6K=hIF}&y1 zy;ix_YLx97Q8@kRoQRHK36;<Y%{^n^+OhV`ebY4dti6OVKe6_VYC>2$$!%lL*h%~u z`czXQ0X!w0j%gSX0onFi(+efJ5J<QjKw)0>TW&kP)3D!l{Q$t)cjb9mH86G+N@*xR zqN?E`K%aNLnp+J#v21V13wy&8<%1mqdRN?$FJ#AlPu~qYelu9MBW&TNVL8Gs&aL~q z<>-Al^9W_H4`O*3+-N`9%YL}qcAxa9C97A^pr;E3VfWjM5iWwo54BDY(9E5<S#^J~ zs7*asFQt2_pabgiv!IDywp#VDuGMNUR}ETqrq5n_yX7~Wu$QcMe6N)3B?Gs<-OEHP z>F4mEpGN^MkgHaCk5sFFZG76fw7dn1_k*qPdX+m)Yip(5zU+j~*40+csc&t%jrLaC zYoEW>@#^CIt3kcBy&K%yk_!@_XkE6Vb-@|yvK0Y|GefnduS<K^pTSg4;Rw<wj6yLn zV|LGIK+_H{$8fIKVz!h)XR2Sq5iFws`5QatUScn~Z#_ui3L6ERBqhvwLs%at9;CTP zVlR!h#JqtrIdAOKR!KSkf&He4Z6owurxECTB<7$X_FBsqfxYdw8oZHKuCLkP^iIs{ zTfQCe^L;XBnLsSTA^u_4ovsI_QExdICms(&xZB%a&66Ajm+cnNb*t{$oo49O`CWCd z;YlV%^a}=udDiZ@+K$?k`>|68cO%9ow+-aa;1n0^poI}JLVsGgXt<4*zuTWk`2btc z)+I(sIhG<Dp%Zoj+iTuxb(*3IJ`w_+w$lu&kVv?-Y}54C<bC^k|GphP+S-<r(%zyL zCE`okt#K1*b;8LrxE6JI#3^{q(B_p`wr{qvs`A3duH!{&b{e<P2w38^g+!6-P>x9B zTuFfyGot?ab_Wa?tjmRbf?R<(@uSCWtPTkz2Q);KP`2&M?zV%)CR%8=WUCrF!Wd1r z4dD*<+6AXuA2q#gH>};U2^Qb|0D45YVBfprHd(3#ZV35TuiKr#Rb%(3tJg>xh-gNv zkPsGLTZ$2Z`9gGJo@zQYZ#>{NU2(|Jw>lyA7=x`n1UlxucCI9+=!7A-6r?|4+!3@M zhm0#nWcg0BZ?uB2PyakooA9<^du1pD4X=5QpIES8Sz1~uY5PM7s4G(EV`_jR!l>Kz z+`6zkZJL;TBlsk3QZ>6+5Y@r${_wG7T)Z{Dr^fH)6w*tH-r4b+wD;76{o|hmqwS>_ zgi4-A<T|8Gwi*eTN`X*c<@TVLq)xrGT&7aSFJb_n*u8(6iZfKupp~?Iz&}eZ$5nBH zYEPl~8jgTug>iDuN}3k_W)j^~8b4q`Az!4V1W5>z6f7m^wIRs~lO+Qrg)l!(?wgPR zmh(WD05sIY@_$;nKF`0|tb6Z6v5d%bK{B=hZtDUwzU?%Hq!E$__Ir$l_u?G`W*WBC z8b<8-mJ3!Bvv#j}`%5lOVpU;DV|$FuN8r-5lwc`+POJvkxt**_2CZ29mpq!0KER_R zbTTI#!J&u5)<G0g%NL(Rmy)CSB20-S;g5M>DK(aV4ztXs!Ry|_5s;>D98WXDw9M{_ zVTMVA*I4yNKQby5yCkJL)R-ly(x0UEO;)6>9ax=UrOCatNI<#Hgi__spe@Zxb<+8T zr76`n+|c)+%s`3<U|P^?NivXvpv@?jTZ;ebYIdKw-jGTP5t)16t#!!3;x!ts@Zf8y z?`l$68nYwb@LQ*~f`p{r6}H}Yo6FFBZ@ZgRC3nbOPq2@Q6<Am_ir;C>l%>5?ZspUF zDjA73sqbM$0<Y1Ac|+=Otxo0)gdmn>?2r@GQmIod#5yG_#IG%B%d3<wf@TaY^<Vs? zY<+r}8nu+Fz*=R4L$he4K~tHJO^t)Ma%us5+HsXEU2j0u>?N+OZo)QCGwlY@nG(3) zvs&B!JStK_IzmmlAB>*%XVF^94)KUcPvd2;6x!%lm8-~lm;Wq{l!ZFlZZ%=44{2Vc zjlG8>Al=C*O1+D8uY7`7O47_G4zd(_M-6+Qe>8b=W?jM&Jdc8{aC3(k2=p-6>Q<Pf zHrVRM4xFp3jos8;S32uxyEPAH^8X|App6qc{%tpeKc&8GV|$$M`*m;LxT-9_$aca` zinM#4<!=_b`p;kqN@*sgURtyoj@PWDrNPn5L=gBkI!S6uFg5k^eGK?tp__wr(#sNh zXx)E+n*oUtBcBI>q!R~yIdNA-B19@AftW;y9wQ|kE*x^+fGjLw;SB%&$4T~VF6!g~ zM>p1p9lDM#Owdjaa1H-b8n8cdg;aCMAu^{!xL7=xz2I8lgYdR&dt`i*dqk5Qx|*%{ z&SP6@@g!rdC$<Bh_`sUqFVU~}62Jxw!ebhs(Uc^&VU}V^mhvK&W_aNfSj|62yVNss z%o5D3**&fec$F+8^!swbVW<3>7u=^sEG2w0r>9$C_?Y4Ttyil*8L`YG9JR7@4Lg*7 zbf$whHwgm4_I9_cB<OXif7lM3s?Zk%wxRFBg&bfjvd2{0!D{2Z1IH)aMq?it-cQ)= z>V@4G-`JEfm+LYjRK^q#Ko}y~3ry=JQxg9$!>d+llGW<p1Ehe3UFIOGi#wH$kgLAw zG+emq^VMnt0jN6FXR6f?I!-;hlc`oktA>Zj&%t89lIlPzOYPq$onDInuTt$C6(uTO zLeZOzeEBt(7OTHc0l+cp#GVx5%tvtqG*&i|v}TSb&9pi5Owv3y4{2^5dp3JCTg(<Y zzEDFa^-DyxfTB_3;(>?*rVy<|98hF%PIJ^Q1D>5_nev5?)Dc?sNZp>bkH|EF5)`GA zj;6oGZcwB+J}O5FoksXlbiModQMntDrbjvot9;A0YSOJOHO0sT&_Y$eNzpt;)9_}0 zY~eXD>N+g*0@hV(MZ7gxDkddkpzXvuQ6(FP;NmUEJcIWgJ@qpj0dYWM=GdTGM6XjJ zu0y3HLcD{Dky4A!>!kH2h3Vj4gbxu07!m@;*+;`GEj&b~+s-aIB+1g_iXxYR$d^W- ziZeep@?$4Je_l_@a62$^UlA%<T0POz)tC6G1LCrmiLlgXw#;RFGo<3iX#Y1_cJ{)s zc4U!u^t2{wc=7cIKIfv7;F%;kSz7&qkTODQMms@@RtSxk(a&F?;ye{)DtHHeooXca z{6#91bdI+k?>ZZ|{t*WoBvRTzvQg_3m29L-eUT(v9Ac+4@hg)20U=zMY;g_>1yMec z@@;e$%0KB$X}r9P_2T}ne_|r<35YHwVSbxUNSF;Od4%nV?#g52vLO4#6AzHlB84j( zBucpYb09aLyj-!*o5k$l>*KvXC}w{})JpCIW2TsxGrLb|yfz}TzN`gp@{dTI+;Eq0 z1eZ~e<J&Xf>}F}pzAAEdBk>K+ZYy$jlgA3~Z+1~21ui<LkZ+RyI0dCQ)BOiU&Tnyu zeZWBx3zkt*l)J-|q)lFRSH$?)$wl@Ond}@KTJr-$5IHFQ=YTcoR!VU?0k57<#)9ri zl0&{it%_$$)8tjOL067kjhVa^I~d8QKvENOQ#Uu`wd9v6nMpE*7Lyn91yqE&gY+L{ zD{|m>$J#e8V_9ioMRF%WxpY{l)UVSV{nWJ8^l9qEasxWZ6}D%5@6?v{z<gi{@{uB= zY2SJm2K5JUjbY+eH}&Cz?|g`DWb&4QE5|A?_00Es=G`F#f0}!P+?My-{so)ROqfa< zUES)9Q5u`A<u~e-`W0L#t4F&FhuY53DE5aBE>QN_PRnaD1@uxLvNHlXPw7(XWopt% zH#Aq4?DI5BLWYq!J8l~vt|$;$9jYi0^Z6x?zM^m}dzyVDHMFW9PX<@Po0ytz0wW!m zNlYZ%B+`LXxMo9Gr1&~5UgM-$N`%cJJr=3PNO}bsR&uCw;w$QT)H(ST^#bag0E_wz z>YN0N`Yh_l#R-0P4)v4b6xWZSep;O2dJ*+`ahB^xQGZH2&GlobKO>&y`f=2s6E@dR zp#Bx{Jl9X6{yX9YuAf5vtKvnjpGN&_;vCn{pk5L$aeW^3m&F3t&!T=_l)3&C>WgBD z>rabU#Mj{rct*S`zJc?z>=bwo)cZQKhcA-qq(}u7(1>vnM?gs~I<*L^k`$m4LC)+{ z_v{EBUycGuIb;PRXBYv_ZozAwN2u;L?DhaTo{m>{1xe3A6}ghTbnP8vLvOBLt`yeR ztJiN_yK-Z7W22XTYh~@~>Sb-CG5;k!xtEr2E767{$(aSmO`84%R0rr^K}3voG(?rO zNL4Z-UC9b|`*fcl1syyNoQNJlnTGSd<BCcKE<XXMJf*BQL;nrD1&QHq-9u^-ZWoYN z7+<WHa>J0Pzk74_Ccw^Ytgc^PTfb6CqO$3Khex@*dUfsH)f<GBo9pUgBsS&-XICby zkYXaSLYM(=E}~&w#mxz6gh^uG!B0^f)RZ}rA>$Ze6;Kr{Rv0V+bpiD>ml-azT;{mU zb6MbWhRazl=eRt=WpUmJ6HrbpaTE!yW>h~$b+jFaI&$KZ<D3_M5@niFWcO0-zoBp& zC&!**{XHX2f*enGf2mZK@yfbVMO5GA&!_$WBG!tNp;^o66_BTo<W(fBdZL#UNPec& zHOgJ>ogSGohi)h08`zjk)cmmO-fxxToIKE-GSEkif?#9s%;;P^y!E8I(|-Y)`w#S+ z<$F&Ze1Km(Vjz0+41jm5HKg)^_e58nHZ_V~0v$@n*#hX}&R-!^zDdO;DlSv8O2u1L zT%qFks92-o_o;ZBimOz-L&Z83*QmITV*Q|^nU$6TtCVahkP6c)dO_=(uP?n)rOAa} z!|fHS;FCyZ4H3qJ-#u0_*lCy6oOY~*PGeHMPAq_4Yh;SaH2me0{$|V>b1s>-C`vxy z=!rMYLF<F~DzOkkT<|&yY)vSx?`Qob`sf3h?D({UL!fk)_C|u(he&;l*m;%vWAmn+ zw=tC3lTjwBJKzM2u%Uw1UgRC5G!FS;3Sy>|SyOY`4yB*Bw$*^ZDScZ&Vbi;g@3oNa zEx*DEklMR~6ybQVxS4a%u^9I~m@>$b(_S&k=+Q()tVGJJ>cL2Cj7T-F&n#%VeyH)2 z^f$0x!{M~iF{3om<^A11B5ET0*2qzaoT4sSvuKUh1LPyhJ|IdVs%J_er=p~kc>}9& zb#H4JiNBXwd4xdsuz`v2IDOKlM(3>$i{l0+fKw4CO_H+fjTmd20HxU)>F#N5ZR7PT zgUe0{*+up4zMzS|ml^t`D6)wUOqq~1dCJt|zBc9OMozi^CC_6`oj;A5a_YpQCQqGu z{NV7ZtM9QMW9lnXLQXmLl|!daJ^tjdscT|+%BjCQf?)oDQa$cC_+|s&8-Q1hNbxw7 z@=3r=UJL5+BMl(kXQ3#cREsGg>2JF}>2HEnOWm1*I>VVN8tC%two!yEA6H#jXio-= zc+OvFfQ__Uq_#9AXxG&12SJNfBsg39pAdQdPefvVe_)f7(lHqb>hWU@h?hs<X3YDi zglcmPR2yrT<!ZU0Jx&;;pc<=;{nXa6pphyy88qtgR~l&NCV>{enUvKj;rin-aIHna z+=zgAT*{2c8KzLuBPU~kdi<S+fr*RT#{etHQzD@@1_?5u#BSZ9?}%;Mc8{^vq%2Q{ zlzRMBgS0f&TGO<qgmWAbQ@$g!oJS&JG5{t6Mm>I}0X7{G!yuUwuIppgPgzF~&2z|} znG6&4_-75Kg;9$&ZUR%nb#n|{8q<m2@GxA5?6k?iQIDT%z>TED_|?dn>f6XuLiYVJ zkX?(v;*9ylXT^8OOr4Aa>hbRy4kj;f9|sS^cy#F(>-MAujAuMC(jR8M$r_&wEA{wK z4c3<?60?H!Az05iQr1|{qku*}hRL8&kN?&{o062LXFioNq)eWR16mya1Chu9qdg}z zy4csDZm{=cGI-=)`IQFVsMune29Di6Q*O|QhbnR;smaGm&q1ij9W)s#>hZr*K^47q zN~p#O3Ppv3K8YzbIPz*uhJ|{Nc|Xx;9ws-yKIjhEG55(GV18bM&q&4E1WZ0f?trgR z-UYgqRfx)T=SMN2&wXIn{|3NR<eI=m5=TJCBZY?j*YK!M{zd<HsW`3*cG-LrmuF(6 zA~LN1=MiPNP6`d5KQuHP4<lp4{<mlX<d*g6TSGlC?0=gYh9>wD+K$o$2@M<+*7NA% zvEg2gqQd5S$sP(4aRym0E!A`maQPQ87Uz`pvXR?(SJEH3us%EgHk0?Ef$1g8;RWJu zL<*F_R!kMMbLVD`&19$f%jP)3x?U<W;FUs@oOuiXgvbXbqa^dEwPyU=9N6$k7gc_9 z!gl4EkzHc(?o+B*WnS+?-<2wL&rj3+qJF=PG(rCIjWf-C8y%z<l|a^3o@s#SvzL8C drp;f-;EF#;L;5<L?a^PN_<iH$;!^Qj{|8|$i<$rc diff --git a/twilio/rest/preview/proxy/service/session/interaction.py b/twilio/rest/preview/proxy/service/session/interaction.py deleted file mode 100644 index 399082b..0000000 --- a/twilio/rest/preview/proxy/service/session/interaction.py +++ /dev/null @@ -1,537 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class InteractionList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, session_sid): - """ - Initialize the InteractionList - - :param Version version: Version that contains the resource - :param service_sid: Service Sid. - :param session_sid: Session Sid. - - :returns: twilio.rest.preview.proxy.service.session.interaction.InteractionList - :rtype: twilio.rest.preview.proxy.service.session.interaction.InteractionList - """ - super(InteractionList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'session_sid': session_sid, } - self._uri = '/Services/{service_sid}/Sessions/{session_sid}/Interactions'.format(**self._solution) - - def stream(self, inbound_participant_status=values.unset, - outbound_participant_status=values.unset, limit=None, - page_size=None): - """ - Streams InteractionInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param InteractionInstance.ResourceStatus inbound_participant_status: The Inbound Participant Status of this Interaction - :param InteractionInstance.ResourceStatus outbound_participant_status: The Outbound Participant Status of this Interaction - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.proxy.service.session.interaction.InteractionInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - inbound_participant_status=inbound_participant_status, - outbound_participant_status=outbound_participant_status, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, inbound_participant_status=values.unset, - outbound_participant_status=values.unset, limit=None, page_size=None): - """ - Lists InteractionInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param InteractionInstance.ResourceStatus inbound_participant_status: The Inbound Participant Status of this Interaction - :param InteractionInstance.ResourceStatus outbound_participant_status: The Outbound Participant Status of this Interaction - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.proxy.service.session.interaction.InteractionInstance] - """ - return list(self.stream( - inbound_participant_status=inbound_participant_status, - outbound_participant_status=outbound_participant_status, - limit=limit, - page_size=page_size, - )) - - def page(self, inbound_participant_status=values.unset, - outbound_participant_status=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of InteractionInstance records from the API. - Request is executed immediately - - :param InteractionInstance.ResourceStatus inbound_participant_status: The Inbound Participant Status of this Interaction - :param InteractionInstance.ResourceStatus outbound_participant_status: The Outbound Participant Status of this Interaction - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of InteractionInstance - :rtype: twilio.rest.preview.proxy.service.session.interaction.InteractionPage - """ - params = values.of({ - 'InboundParticipantStatus': inbound_participant_status, - 'OutboundParticipantStatus': outbound_participant_status, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return InteractionPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of InteractionInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of InteractionInstance - :rtype: twilio.rest.preview.proxy.service.session.interaction.InteractionPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return InteractionPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a InteractionContext - - :param sid: A string that uniquely identifies this Interaction. - - :returns: twilio.rest.preview.proxy.service.session.interaction.InteractionContext - :rtype: twilio.rest.preview.proxy.service.session.interaction.InteractionContext - """ - return InteractionContext( - self._version, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a InteractionContext - - :param sid: A string that uniquely identifies this Interaction. - - :returns: twilio.rest.preview.proxy.service.session.interaction.InteractionContext - :rtype: twilio.rest.preview.proxy.service.session.interaction.InteractionContext - """ - return InteractionContext( - self._version, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Proxy.InteractionList>' - - -class InteractionPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the InteractionPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: Service Sid. - :param session_sid: Session Sid. - - :returns: twilio.rest.preview.proxy.service.session.interaction.InteractionPage - :rtype: twilio.rest.preview.proxy.service.session.interaction.InteractionPage - """ - super(InteractionPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of InteractionInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.proxy.service.session.interaction.InteractionInstance - :rtype: twilio.rest.preview.proxy.service.session.interaction.InteractionInstance - """ - return InteractionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Proxy.InteractionPage>' - - -class InteractionContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, session_sid, sid): - """ - Initialize the InteractionContext - - :param Version version: Version that contains the resource - :param service_sid: Service Sid. - :param session_sid: Session Sid. - :param sid: A string that uniquely identifies this Interaction. - - :returns: twilio.rest.preview.proxy.service.session.interaction.InteractionContext - :rtype: twilio.rest.preview.proxy.service.session.interaction.InteractionContext - """ - super(InteractionContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'session_sid': session_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Sessions/{session_sid}/Interactions/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a InteractionInstance - - :returns: Fetched InteractionInstance - :rtype: twilio.rest.preview.proxy.service.session.interaction.InteractionInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return InteractionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Proxy.InteractionContext {}>'.format(context) - - -class InteractionInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - class Status(object): - COMPLETED = "completed" - IN_PROGRESS = "in-progress" - FAILED = "failed" - - class ResourceStatus(object): - QUEUED = "queued" - SENDING = "sending" - SENT = "sent" - FAILED = "failed" - DELIVERED = "delivered" - UNDELIVERED = "undelivered" - - def __init__(self, version, payload, service_sid, session_sid, sid=None): - """ - Initialize the InteractionInstance - - :returns: twilio.rest.preview.proxy.service.session.interaction.InteractionInstance - :rtype: twilio.rest.preview.proxy.service.session.interaction.InteractionInstance - """ - super(InteractionInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'session_sid': payload['session_sid'], - 'service_sid': payload['service_sid'], - 'account_sid': payload['account_sid'], - 'data': payload['data'], - 'status': payload['status'], - 'inbound_participant_sid': payload['inbound_participant_sid'], - 'inbound_resource_sid': payload['inbound_resource_sid'], - 'inbound_resource_status': payload['inbound_resource_status'], - 'inbound_resource_type': payload['inbound_resource_type'], - 'inbound_resource_url': payload['inbound_resource_url'], - 'outbound_participant_sid': payload['outbound_participant_sid'], - 'outbound_resource_sid': payload['outbound_resource_sid'], - 'outbound_resource_status': payload['outbound_resource_status'], - 'outbound_resource_type': payload['outbound_resource_type'], - 'outbound_resource_url': payload['outbound_resource_url'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'session_sid': session_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: InteractionContext for this InteractionInstance - :rtype: twilio.rest.preview.proxy.service.session.interaction.InteractionContext - """ - if self._context is None: - self._context = InteractionContext( - self._version, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Interaction. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def session_sid(self): - """ - :returns: Session Sid. - :rtype: unicode - """ - return self._properties['session_sid'] - - @property - def service_sid(self): - """ - :returns: Service Sid. - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def account_sid(self): - """ - :returns: Account Sid. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def data(self): - """ - :returns: What happened in this Interaction. - :rtype: unicode - """ - return self._properties['data'] - - @property - def status(self): - """ - :returns: The Status of this Interaction - :rtype: InteractionInstance.Status - """ - return self._properties['status'] - - @property - def inbound_participant_sid(self): - """ - :returns: The inbound_participant_sid - :rtype: unicode - """ - return self._properties['inbound_participant_sid'] - - @property - def inbound_resource_sid(self): - """ - :returns: The SID of the inbound resource. - :rtype: unicode - """ - return self._properties['inbound_resource_sid'] - - @property - def inbound_resource_status(self): - """ - :returns: The Inbound Resource Status of this Interaction - :rtype: InteractionInstance.ResourceStatus - """ - return self._properties['inbound_resource_status'] - - @property - def inbound_resource_type(self): - """ - :returns: The Twilio object type of the inbound resource. - :rtype: unicode - """ - return self._properties['inbound_resource_type'] - - @property - def inbound_resource_url(self): - """ - :returns: The URL of the inbound resource. - :rtype: unicode - """ - return self._properties['inbound_resource_url'] - - @property - def outbound_participant_sid(self): - """ - :returns: The outbound_participant_sid - :rtype: unicode - """ - return self._properties['outbound_participant_sid'] - - @property - def outbound_resource_sid(self): - """ - :returns: The SID of the outbound resource. - :rtype: unicode - """ - return self._properties['outbound_resource_sid'] - - @property - def outbound_resource_status(self): - """ - :returns: The Outbound Resource Status of this Interaction - :rtype: InteractionInstance.ResourceStatus - """ - return self._properties['outbound_resource_status'] - - @property - def outbound_resource_type(self): - """ - :returns: The Twilio object type of the outbound resource. - :rtype: unicode - """ - return self._properties['outbound_resource_type'] - - @property - def outbound_resource_url(self): - """ - :returns: The URL of the outbound resource. - :rtype: unicode - """ - return self._properties['outbound_resource_url'] - - @property - def date_created(self): - """ - :returns: The date this Interaction was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this Interaction was updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The URL of this Interaction. - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a InteractionInstance - - :returns: Fetched InteractionInstance - :rtype: twilio.rest.preview.proxy.service.session.interaction.InteractionInstance - """ - return self._proxy.fetch() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Proxy.InteractionInstance {}>'.format(context) diff --git a/twilio/rest/preview/proxy/service/session/participant/__init__.py b/twilio/rest/preview/proxy/service/session/participant/__init__.py deleted file mode 100644 index 2f7df45..0000000 --- a/twilio/rest/preview/proxy/service/session/participant/__init__.py +++ /dev/null @@ -1,595 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.preview.proxy.service.session.participant.message_interaction import MessageInteractionList - - -class ParticipantList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, session_sid): - """ - Initialize the ParticipantList - - :param Version version: Version that contains the resource - :param service_sid: Service Sid. - :param session_sid: Session Sid. - - :returns: twilio.rest.preview.proxy.service.session.participant.ParticipantList - :rtype: twilio.rest.preview.proxy.service.session.participant.ParticipantList - """ - super(ParticipantList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'session_sid': session_sid, } - self._uri = '/Services/{service_sid}/Sessions/{session_sid}/Participants'.format(**self._solution) - - def stream(self, identifier=values.unset, participant_type=values.unset, - limit=None, page_size=None): - """ - Streams ParticipantInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode identifier: The Participant's contact identifier, normally a phone number. - :param ParticipantInstance.ParticipantType participant_type: The Type of this Participant - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.proxy.service.session.participant.ParticipantInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - identifier=identifier, - participant_type=participant_type, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, identifier=values.unset, participant_type=values.unset, - limit=None, page_size=None): - """ - Lists ParticipantInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode identifier: The Participant's contact identifier, normally a phone number. - :param ParticipantInstance.ParticipantType participant_type: The Type of this Participant - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.proxy.service.session.participant.ParticipantInstance] - """ - return list(self.stream( - identifier=identifier, - participant_type=participant_type, - limit=limit, - page_size=page_size, - )) - - def page(self, identifier=values.unset, participant_type=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of ParticipantInstance records from the API. - Request is executed immediately - - :param unicode identifier: The Participant's contact identifier, normally a phone number. - :param ParticipantInstance.ParticipantType participant_type: The Type of this Participant - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ParticipantInstance - :rtype: twilio.rest.preview.proxy.service.session.participant.ParticipantPage - """ - params = values.of({ - 'Identifier': identifier, - 'ParticipantType': participant_type, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ParticipantPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ParticipantInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ParticipantInstance - :rtype: twilio.rest.preview.proxy.service.session.participant.ParticipantPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ParticipantPage(self._version, response, self._solution) - - def create(self, identifier, friendly_name=values.unset, - participant_type=values.unset): - """ - Create a new ParticipantInstance - - :param unicode identifier: The Participant's contact identifier, normally a phone number. - :param unicode friendly_name: A human readable description of this resource - :param ParticipantInstance.ParticipantType participant_type: The Type of this Participant - - :returns: Newly created ParticipantInstance - :rtype: twilio.rest.preview.proxy.service.session.participant.ParticipantInstance - """ - data = values.of({ - 'Identifier': identifier, - 'FriendlyName': friendly_name, - 'ParticipantType': participant_type, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return ParticipantInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - ) - - def get(self, sid): - """ - Constructs a ParticipantContext - - :param sid: A string that uniquely identifies this Participant. - - :returns: twilio.rest.preview.proxy.service.session.participant.ParticipantContext - :rtype: twilio.rest.preview.proxy.service.session.participant.ParticipantContext - """ - return ParticipantContext( - self._version, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a ParticipantContext - - :param sid: A string that uniquely identifies this Participant. - - :returns: twilio.rest.preview.proxy.service.session.participant.ParticipantContext - :rtype: twilio.rest.preview.proxy.service.session.participant.ParticipantContext - """ - return ParticipantContext( - self._version, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Proxy.ParticipantList>' - - -class ParticipantPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the ParticipantPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: Service Sid. - :param session_sid: Session Sid. - - :returns: twilio.rest.preview.proxy.service.session.participant.ParticipantPage - :rtype: twilio.rest.preview.proxy.service.session.participant.ParticipantPage - """ - super(ParticipantPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ParticipantInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.proxy.service.session.participant.ParticipantInstance - :rtype: twilio.rest.preview.proxy.service.session.participant.ParticipantInstance - """ - return ParticipantInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Proxy.ParticipantPage>' - - -class ParticipantContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, session_sid, sid): - """ - Initialize the ParticipantContext - - :param Version version: Version that contains the resource - :param service_sid: Service Sid. - :param session_sid: Session Sid. - :param sid: A string that uniquely identifies this Participant. - - :returns: twilio.rest.preview.proxy.service.session.participant.ParticipantContext - :rtype: twilio.rest.preview.proxy.service.session.participant.ParticipantContext - """ - super(ParticipantContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'session_sid': session_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Sessions/{session_sid}/Participants/{sid}'.format(**self._solution) - - # Dependents - self._message_interactions = None - - def fetch(self): - """ - Fetch a ParticipantInstance - - :returns: Fetched ParticipantInstance - :rtype: twilio.rest.preview.proxy.service.session.participant.ParticipantInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ParticipantInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the ParticipantInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, participant_type=values.unset, identifier=values.unset, - friendly_name=values.unset): - """ - Update the ParticipantInstance - - :param ParticipantInstance.ParticipantType participant_type: The Type of this Participant - :param unicode identifier: The Participant's contact identifier, normally a phone number. - :param unicode friendly_name: A human readable description of this resource - - :returns: Updated ParticipantInstance - :rtype: twilio.rest.preview.proxy.service.session.participant.ParticipantInstance - """ - data = values.of({ - 'ParticipantType': participant_type, - 'Identifier': identifier, - 'FriendlyName': friendly_name, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ParticipantInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - sid=self._solution['sid'], - ) - - @property - def message_interactions(self): - """ - Access the message_interactions - - :returns: twilio.rest.preview.proxy.service.session.participant.message_interaction.MessageInteractionList - :rtype: twilio.rest.preview.proxy.service.session.participant.message_interaction.MessageInteractionList - """ - if self._message_interactions is None: - self._message_interactions = MessageInteractionList( - self._version, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - participant_sid=self._solution['sid'], - ) - return self._message_interactions - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Proxy.ParticipantContext {}>'.format(context) - - -class ParticipantInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - class ParticipantType(object): - SMS = "sms" - VOICE = "voice" - PHONE = "phone" - - def __init__(self, version, payload, service_sid, session_sid, sid=None): - """ - Initialize the ParticipantInstance - - :returns: twilio.rest.preview.proxy.service.session.participant.ParticipantInstance - :rtype: twilio.rest.preview.proxy.service.session.participant.ParticipantInstance - """ - super(ParticipantInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'session_sid': payload['session_sid'], - 'service_sid': payload['service_sid'], - 'account_sid': payload['account_sid'], - 'friendly_name': payload['friendly_name'], - 'participant_type': payload['participant_type'], - 'identifier': payload['identifier'], - 'proxy_identifier': payload['proxy_identifier'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'session_sid': session_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ParticipantContext for this ParticipantInstance - :rtype: twilio.rest.preview.proxy.service.session.participant.ParticipantContext - """ - if self._context is None: - self._context = ParticipantContext( - self._version, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Participant. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def session_sid(self): - """ - :returns: Session Sid. - :rtype: unicode - """ - return self._properties['session_sid'] - - @property - def service_sid(self): - """ - :returns: Service Sid. - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def account_sid(self): - """ - :returns: Account Sid. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def friendly_name(self): - """ - :returns: A human readable description of this resource - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def participant_type(self): - """ - :returns: The Type of this Participant - :rtype: ParticipantInstance.ParticipantType - """ - return self._properties['participant_type'] - - @property - def identifier(self): - """ - :returns: The Participant's contact identifier, normally a phone number. - :rtype: unicode - """ - return self._properties['identifier'] - - @property - def proxy_identifier(self): - """ - :returns: What this Participant communicates with, normally a phone number. - :rtype: unicode - """ - return self._properties['proxy_identifier'] - - @property - def date_created(self): - """ - :returns: The date this Participant was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this Participant was updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The URL of this resource. - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: Nested resource URLs. - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a ParticipantInstance - - :returns: Fetched ParticipantInstance - :rtype: twilio.rest.preview.proxy.service.session.participant.ParticipantInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the ParticipantInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, participant_type=values.unset, identifier=values.unset, - friendly_name=values.unset): - """ - Update the ParticipantInstance - - :param ParticipantInstance.ParticipantType participant_type: The Type of this Participant - :param unicode identifier: The Participant's contact identifier, normally a phone number. - :param unicode friendly_name: A human readable description of this resource - - :returns: Updated ParticipantInstance - :rtype: twilio.rest.preview.proxy.service.session.participant.ParticipantInstance - """ - return self._proxy.update( - participant_type=participant_type, - identifier=identifier, - friendly_name=friendly_name, - ) - - @property - def message_interactions(self): - """ - Access the message_interactions - - :returns: twilio.rest.preview.proxy.service.session.participant.message_interaction.MessageInteractionList - :rtype: twilio.rest.preview.proxy.service.session.participant.message_interaction.MessageInteractionList - """ - return self._proxy.message_interactions - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Proxy.ParticipantInstance {}>'.format(context) diff --git a/twilio/rest/preview/proxy/service/session/participant/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/proxy/service/session/participant/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index c436a311b533aa10c10107dabed7893675b2c061..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20956 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 N+V2@xYKyha{{yC_DVqQQ diff --git a/twilio/rest/preview/proxy/service/session/participant/__pycache__/message_interaction.cpython-36.pyc b/twilio/rest/preview/proxy/service/session/participant/__pycache__/message_interaction.cpython-36.pyc deleted file mode 100644 index 783d9dc628a24653c5cd5f6984bd89772f2b432b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21150 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 diff --git a/twilio/rest/preview/proxy/service/session/participant/message_interaction.py b/twilio/rest/preview/proxy/service/session/participant/message_interaction.py deleted file mode 100644 index 8e063e4..0000000 --- a/twilio/rest/preview/proxy/service/session/participant/message_interaction.py +++ /dev/null @@ -1,567 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class MessageInteractionList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, session_sid, participant_sid): - """ - Initialize the MessageInteractionList - - :param Version version: Version that contains the resource - :param service_sid: Service Sid. - :param session_sid: Session Sid. - :param participant_sid: The participant_sid - - :returns: twilio.rest.preview.proxy.service.session.participant.message_interaction.MessageInteractionList - :rtype: twilio.rest.preview.proxy.service.session.participant.message_interaction.MessageInteractionList - """ - super(MessageInteractionList, self).__init__(version) - - # Path Solution - self._solution = { - 'service_sid': service_sid, - 'session_sid': session_sid, - 'participant_sid': participant_sid, - } - self._uri = '/Services/{service_sid}/Sessions/{session_sid}/Participants/{participant_sid}/MessageInteractions'.format(**self._solution) - - def create(self, body=values.unset, media_url=values.unset): - """ - Create a new MessageInteractionInstance - - :param unicode body: The body of the message. Up to 1600 characters long. - :param unicode media_url: The url of an image or video. - - :returns: Newly created MessageInteractionInstance - :rtype: twilio.rest.preview.proxy.service.session.participant.message_interaction.MessageInteractionInstance - """ - data = values.of({'Body': body, 'MediaUrl': serialize.map(media_url, lambda e: e), }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return MessageInteractionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - participant_sid=self._solution['participant_sid'], - ) - - def stream(self, limit=None, page_size=None): - """ - Streams MessageInteractionInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.proxy.service.session.participant.message_interaction.MessageInteractionInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists MessageInteractionInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.proxy.service.session.participant.message_interaction.MessageInteractionInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of MessageInteractionInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of MessageInteractionInstance - :rtype: twilio.rest.preview.proxy.service.session.participant.message_interaction.MessageInteractionPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return MessageInteractionPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of MessageInteractionInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of MessageInteractionInstance - :rtype: twilio.rest.preview.proxy.service.session.participant.message_interaction.MessageInteractionPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return MessageInteractionPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a MessageInteractionContext - - :param sid: A string that uniquely identifies this Interaction. - - :returns: twilio.rest.preview.proxy.service.session.participant.message_interaction.MessageInteractionContext - :rtype: twilio.rest.preview.proxy.service.session.participant.message_interaction.MessageInteractionContext - """ - return MessageInteractionContext( - self._version, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - participant_sid=self._solution['participant_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a MessageInteractionContext - - :param sid: A string that uniquely identifies this Interaction. - - :returns: twilio.rest.preview.proxy.service.session.participant.message_interaction.MessageInteractionContext - :rtype: twilio.rest.preview.proxy.service.session.participant.message_interaction.MessageInteractionContext - """ - return MessageInteractionContext( - self._version, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - participant_sid=self._solution['participant_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Proxy.MessageInteractionList>' - - -class MessageInteractionPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the MessageInteractionPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: Service Sid. - :param session_sid: Session Sid. - :param participant_sid: The participant_sid - - :returns: twilio.rest.preview.proxy.service.session.participant.message_interaction.MessageInteractionPage - :rtype: twilio.rest.preview.proxy.service.session.participant.message_interaction.MessageInteractionPage - """ - super(MessageInteractionPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of MessageInteractionInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.proxy.service.session.participant.message_interaction.MessageInteractionInstance - :rtype: twilio.rest.preview.proxy.service.session.participant.message_interaction.MessageInteractionInstance - """ - return MessageInteractionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - participant_sid=self._solution['participant_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Proxy.MessageInteractionPage>' - - -class MessageInteractionContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, session_sid, participant_sid, sid): - """ - Initialize the MessageInteractionContext - - :param Version version: Version that contains the resource - :param service_sid: Service Sid. - :param session_sid: Session Sid. - :param participant_sid: Participant Sid. - :param sid: A string that uniquely identifies this Interaction. - - :returns: twilio.rest.preview.proxy.service.session.participant.message_interaction.MessageInteractionContext - :rtype: twilio.rest.preview.proxy.service.session.participant.message_interaction.MessageInteractionContext - """ - super(MessageInteractionContext, self).__init__(version) - - # Path Solution - self._solution = { - 'service_sid': service_sid, - 'session_sid': session_sid, - 'participant_sid': participant_sid, - 'sid': sid, - } - self._uri = '/Services/{service_sid}/Sessions/{session_sid}/Participants/{participant_sid}/MessageInteractions/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a MessageInteractionInstance - - :returns: Fetched MessageInteractionInstance - :rtype: twilio.rest.preview.proxy.service.session.participant.message_interaction.MessageInteractionInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return MessageInteractionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - participant_sid=self._solution['participant_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Proxy.MessageInteractionContext {}>'.format(context) - - -class MessageInteractionInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - class Status(object): - COMPLETED = "completed" - IN_PROGRESS = "in-progress" - FAILED = "failed" - - class ResourceStatus(object): - QUEUED = "queued" - SENDING = "sending" - SENT = "sent" - FAILED = "failed" - DELIVERED = "delivered" - UNDELIVERED = "undelivered" - - def __init__(self, version, payload, service_sid, session_sid, participant_sid, - sid=None): - """ - Initialize the MessageInteractionInstance - - :returns: twilio.rest.preview.proxy.service.session.participant.message_interaction.MessageInteractionInstance - :rtype: twilio.rest.preview.proxy.service.session.participant.message_interaction.MessageInteractionInstance - """ - super(MessageInteractionInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'session_sid': payload['session_sid'], - 'service_sid': payload['service_sid'], - 'account_sid': payload['account_sid'], - 'data': payload['data'], - 'status': payload['status'], - 'participant_sid': payload['participant_sid'], - 'inbound_participant_sid': payload['inbound_participant_sid'], - 'inbound_resource_sid': payload['inbound_resource_sid'], - 'inbound_resource_status': payload['inbound_resource_status'], - 'inbound_resource_type': payload['inbound_resource_type'], - 'inbound_resource_url': payload['inbound_resource_url'], - 'outbound_participant_sid': payload['outbound_participant_sid'], - 'outbound_resource_sid': payload['outbound_resource_sid'], - 'outbound_resource_status': payload['outbound_resource_status'], - 'outbound_resource_type': payload['outbound_resource_type'], - 'outbound_resource_url': payload['outbound_resource_url'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'session_sid': session_sid, - 'participant_sid': participant_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: MessageInteractionContext for this MessageInteractionInstance - :rtype: twilio.rest.preview.proxy.service.session.participant.message_interaction.MessageInteractionContext - """ - if self._context is None: - self._context = MessageInteractionContext( - self._version, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - participant_sid=self._solution['participant_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Interaction. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def session_sid(self): - """ - :returns: Session Sid. - :rtype: unicode - """ - return self._properties['session_sid'] - - @property - def service_sid(self): - """ - :returns: Service Sid. - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def account_sid(self): - """ - :returns: Account Sid. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def data(self): - """ - :returns: What happened in this Interaction. - :rtype: unicode - """ - return self._properties['data'] - - @property - def status(self): - """ - :returns: The Status of this Interaction - :rtype: MessageInteractionInstance.Status - """ - return self._properties['status'] - - @property - def participant_sid(self): - """ - :returns: The participant_sid - :rtype: unicode - """ - return self._properties['participant_sid'] - - @property - def inbound_participant_sid(self): - """ - :returns: The inbound_participant_sid - :rtype: unicode - """ - return self._properties['inbound_participant_sid'] - - @property - def inbound_resource_sid(self): - """ - :returns: The SID of the inbound resource. - :rtype: unicode - """ - return self._properties['inbound_resource_sid'] - - @property - def inbound_resource_status(self): - """ - :returns: The Inbound Resource Status of this Interaction - :rtype: MessageInteractionInstance.ResourceStatus - """ - return self._properties['inbound_resource_status'] - - @property - def inbound_resource_type(self): - """ - :returns: The Twilio object type of the inbound resource. - :rtype: unicode - """ - return self._properties['inbound_resource_type'] - - @property - def inbound_resource_url(self): - """ - :returns: The URL of the inbound resource. - :rtype: unicode - """ - return self._properties['inbound_resource_url'] - - @property - def outbound_participant_sid(self): - """ - :returns: The outbound_participant_sid - :rtype: unicode - """ - return self._properties['outbound_participant_sid'] - - @property - def outbound_resource_sid(self): - """ - :returns: The SID of the outbound resource. - :rtype: unicode - """ - return self._properties['outbound_resource_sid'] - - @property - def outbound_resource_status(self): - """ - :returns: The Outbound Resource Status of this Interaction - :rtype: MessageInteractionInstance.ResourceStatus - """ - return self._properties['outbound_resource_status'] - - @property - def outbound_resource_type(self): - """ - :returns: The Twilio object type of the outbound resource. - :rtype: unicode - """ - return self._properties['outbound_resource_type'] - - @property - def outbound_resource_url(self): - """ - :returns: The URL of the outbound resource. - :rtype: unicode - """ - return self._properties['outbound_resource_url'] - - @property - def date_created(self): - """ - :returns: The date this Interaction was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this Interaction was updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The URL of this Interaction. - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a MessageInteractionInstance - - :returns: Fetched MessageInteractionInstance - :rtype: twilio.rest.preview.proxy.service.session.participant.message_interaction.MessageInteractionInstance - """ - return self._proxy.fetch() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Proxy.MessageInteractionInstance {}>'.format(context) diff --git a/twilio/rest/preview/proxy/service/short_code.py b/twilio/rest/preview/proxy/service/short_code.py deleted file mode 100644 index a0488a0..0000000 --- a/twilio/rest/preview/proxy/service/short_code.py +++ /dev/null @@ -1,422 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class ShortCodeList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid): - """ - Initialize the ShortCodeList - - :param Version version: Version that contains the resource - :param service_sid: Service Sid. - - :returns: twilio.rest.preview.proxy.service.short_code.ShortCodeList - :rtype: twilio.rest.preview.proxy.service.short_code.ShortCodeList - """ - super(ShortCodeList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/ShortCodes'.format(**self._solution) - - def create(self, sid): - """ - Create a new ShortCodeInstance - - :param unicode sid: Delete by unique shortcode Sid - - :returns: Newly created ShortCodeInstance - :rtype: twilio.rest.preview.proxy.service.short_code.ShortCodeInstance - """ - data = values.of({'Sid': sid, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return ShortCodeInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, limit=None, page_size=None): - """ - Streams ShortCodeInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.proxy.service.short_code.ShortCodeInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists ShortCodeInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.proxy.service.short_code.ShortCodeInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of ShortCodeInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ShortCodeInstance - :rtype: twilio.rest.preview.proxy.service.short_code.ShortCodePage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ShortCodePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ShortCodeInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ShortCodeInstance - :rtype: twilio.rest.preview.proxy.service.short_code.ShortCodePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ShortCodePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a ShortCodeContext - - :param sid: Fetch by unique shortcode Sid - - :returns: twilio.rest.preview.proxy.service.short_code.ShortCodeContext - :rtype: twilio.rest.preview.proxy.service.short_code.ShortCodeContext - """ - return ShortCodeContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a ShortCodeContext - - :param sid: Fetch by unique shortcode Sid - - :returns: twilio.rest.preview.proxy.service.short_code.ShortCodeContext - :rtype: twilio.rest.preview.proxy.service.short_code.ShortCodeContext - """ - return ShortCodeContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Proxy.ShortCodeList>' - - -class ShortCodePage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the ShortCodePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: Service Sid. - - :returns: twilio.rest.preview.proxy.service.short_code.ShortCodePage - :rtype: twilio.rest.preview.proxy.service.short_code.ShortCodePage - """ - super(ShortCodePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ShortCodeInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.proxy.service.short_code.ShortCodeInstance - :rtype: twilio.rest.preview.proxy.service.short_code.ShortCodeInstance - """ - return ShortCodeInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Proxy.ShortCodePage>' - - -class ShortCodeContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the ShortCodeContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: Fetch by unique shortcode Sid - - :returns: twilio.rest.preview.proxy.service.short_code.ShortCodeContext - :rtype: twilio.rest.preview.proxy.service.short_code.ShortCodeContext - """ - super(ShortCodeContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/ShortCodes/{sid}'.format(**self._solution) - - def delete(self): - """ - Deletes the ShortCodeInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def fetch(self): - """ - Fetch a ShortCodeInstance - - :returns: Fetched ShortCodeInstance - :rtype: twilio.rest.preview.proxy.service.short_code.ShortCodeInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ShortCodeInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Proxy.ShortCodeContext {}>'.format(context) - - -class ShortCodeInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the ShortCodeInstance - - :returns: twilio.rest.preview.proxy.service.short_code.ShortCodeInstance - :rtype: twilio.rest.preview.proxy.service.short_code.ShortCodeInstance - """ - super(ShortCodeInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'short_code': payload['short_code'], - 'country_code': payload['country_code'], - 'capabilities': payload['capabilities'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ShortCodeContext for this ShortCodeInstance - :rtype: twilio.rest.preview.proxy.service.short_code.ShortCodeContext - """ - if self._context is None: - self._context = ShortCodeContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this resource - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: Account Sid. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: Service Sid. - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def date_created(self): - """ - :returns: The date this resource was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this resource was last updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def short_code(self): - """ - :returns: The short code. e.g., 894546. - :rtype: unicode - """ - return self._properties['short_code'] - - @property - def country_code(self): - """ - :returns: The ISO 3166-1 alpha-2 country code - :rtype: unicode - """ - return self._properties['country_code'] - - @property - def capabilities(self): - """ - :returns: Indicate if a shortcode can receive messages - :rtype: dict - """ - return self._properties['capabilities'] - - @property - def url(self): - """ - :returns: The URL of this resource. - :rtype: unicode - """ - return self._properties['url'] - - def delete(self): - """ - Deletes the ShortCodeInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def fetch(self): - """ - Fetch a ShortCodeInstance - - :returns: Fetched ShortCodeInstance - :rtype: twilio.rest.preview.proxy.service.short_code.ShortCodeInstance - """ - return self._proxy.fetch() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Proxy.ShortCodeInstance {}>'.format(context) diff --git a/twilio/rest/preview/studio/__init__.py b/twilio/rest/preview/studio/__init__.py deleted file mode 100644 index 1c4898c..0000000 --- a/twilio/rest/preview/studio/__init__.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.preview.studio.flow import FlowList - - -class Studio(Version): - - def __init__(self, domain): - """ - Initialize the Studio version of Preview - - :returns: Studio version of Preview - :rtype: twilio.rest.preview.studio.Studio.Studio - """ - super(Studio, self).__init__(domain) - self.version = 'Studio' - self._flows = None - - @property - def flows(self): - """ - :rtype: twilio.rest.preview.studio.flow.FlowList - """ - if self._flows is None: - self._flows = FlowList(self) - return self._flows - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Studio>' diff --git a/twilio/rest/preview/studio/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/studio/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index a3259fedaef1fffb5480fb2649d2090c513ae8cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1427 zcma)5O>fgc5Z$$%#C20Z0ttx=D{*NKI7Qqdg!mE&sZ>QR94t#K*Snz$PHc9aMu~iD zrTz@K@>k%(*;h{d1y0PYo$w(*tmN5Ac6a8znK!q$wt`Qe-$fr?LcWlnmIwYl_{<I% zK_Vika56e^B8Q^yX70p`JW8Gr;fc-}5gqBAx=}}T56GamOoGE>WmuXE$>xb+ujEwf zq?CdkErOU08E3G-@T%PdR<Uh9h=*Xdc@+;UR&5XA#>uU4C)^3}K7)tN8U|kh7#YyI z_fl%3@+r9f<1C-=DpRI-wpu{VE=xs{hyoqwoQx?_I`bn}dcqan89Ai@9|)Y0sC!O4 z67`Tu-90F0LglH`#=#w9;%69`l9aR}r_O7qqNfzgQxWb82dpO?h~X~Zx9}NzI#s1g zGPRVfJeI79%}yE)EFZIdEl-r32kRFjEz6mnn$bTlw^d;yT`meaV&z<ADi5_ZWmq%; zLt|-#O~!UxC(+pOy+Nn$m{}pU{aO2*D}c*+-D?5XT|R~yn}Jh%MrPx>EAmOAu=pFC zr&(eQ=O4(o^x-IeVSrTpTt&x89^WsDM@gB)yLp;q@u8d)aiNNvM>Ca)o3~Atj~8Yh zH?UV5qK{kjaf3cyAqtCy?gHeC@ELSS?-K3O<;9lX>Rw9m3>NO#xrgwXYhWt!8anmH z*H>)!uxIu^=$Es6urADhR1_-`uB5kqxHoXL4|z1|WI*)>`u(-p0<Z4aVj`M`LnojC zUG`fJ_V5=1NWv1pZV76kF4r0Nb$+5?-V!#}N=`+#U|K@`jGUH92_y0+O+8D}V>Ok3 zee%1qOsUrimsjr`HbQGf+p6lW<@p!RASy(~`3<CPhpP8e+nTe1kK&sq6A9uAIG^NV zmZ9J0{Ov5sniH#l+Anktk}Vhd0z}lPh<d9PV=A)@@~z7bm^SeeR^MtI9b0?f>2LNo z+A-+XJ<dg*avoi7N9iarGHj<nBkJh-KZXojXB%$={>a~Ww)g&>hSc5O3WDeKY2W=0 D#;k2# diff --git a/twilio/rest/preview/studio/flow/__init__.py b/twilio/rest/preview/studio/flow/__init__.py deleted file mode 100644 index b564032..0000000 --- a/twilio/rest/preview/studio/flow/__init__.py +++ /dev/null @@ -1,430 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.preview.studio.flow.engagement import EngagementList - - -class FlowList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version): - """ - Initialize the FlowList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.preview.studio.flow.FlowList - :rtype: twilio.rest.preview.studio.flow.FlowList - """ - super(FlowList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Flows'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams FlowInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.studio.flow.FlowInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists FlowInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.studio.flow.FlowInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of FlowInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of FlowInstance - :rtype: twilio.rest.preview.studio.flow.FlowPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return FlowPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of FlowInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of FlowInstance - :rtype: twilio.rest.preview.studio.flow.FlowPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return FlowPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a FlowContext - - :param sid: The sid - - :returns: twilio.rest.preview.studio.flow.FlowContext - :rtype: twilio.rest.preview.studio.flow.FlowContext - """ - return FlowContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a FlowContext - - :param sid: The sid - - :returns: twilio.rest.preview.studio.flow.FlowContext - :rtype: twilio.rest.preview.studio.flow.FlowContext - """ - return FlowContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Studio.FlowList>' - - -class FlowPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the FlowPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.preview.studio.flow.FlowPage - :rtype: twilio.rest.preview.studio.flow.FlowPage - """ - super(FlowPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of FlowInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.studio.flow.FlowInstance - :rtype: twilio.rest.preview.studio.flow.FlowInstance - """ - return FlowInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Studio.FlowPage>' - - -class FlowContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, sid): - """ - Initialize the FlowContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.preview.studio.flow.FlowContext - :rtype: twilio.rest.preview.studio.flow.FlowContext - """ - super(FlowContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Flows/{sid}'.format(**self._solution) - - # Dependents - self._engagements = None - - def fetch(self): - """ - Fetch a FlowInstance - - :returns: Fetched FlowInstance - :rtype: twilio.rest.preview.studio.flow.FlowInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return FlowInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the FlowInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - @property - def engagements(self): - """ - Access the engagements - - :returns: twilio.rest.preview.studio.flow.engagement.EngagementList - :rtype: twilio.rest.preview.studio.flow.engagement.EngagementList - """ - if self._engagements is None: - self._engagements = EngagementList(self._version, flow_sid=self._solution['sid'], ) - return self._engagements - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Studio.FlowContext {}>'.format(context) - - -class FlowInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - class Status(object): - DRAFT = "draft" - PUBLISHED = "published" - - def __init__(self, version, payload, sid=None): - """ - Initialize the FlowInstance - - :returns: twilio.rest.preview.studio.flow.FlowInstance - :rtype: twilio.rest.preview.studio.flow.FlowInstance - """ - super(FlowInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'friendly_name': payload['friendly_name'], - 'status': payload['status'], - 'debug': payload['debug'], - 'version': deserialize.integer(payload['version']), - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: FlowContext for this FlowInstance - :rtype: twilio.rest.preview.studio.flow.FlowContext - """ - if self._context is None: - self._context = FlowContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Flow. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: Account Sid. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def friendly_name(self): - """ - :returns: A human readable description of this resource. - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def status(self): - """ - :returns: The Status of this Flow - :rtype: FlowInstance.Status - """ - return self._properties['status'] - - @property - def debug(self): - """ - :returns: Toggle extra logging. - :rtype: bool - """ - return self._properties['debug'] - - @property - def version(self): - """ - :returns: The latest version number of this Flow's definition. - :rtype: unicode - """ - return self._properties['version'] - - @property - def date_created(self): - """ - :returns: The date this Flow was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this Flow was updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The URL of this resource. - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: Nested resource URLs. - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a FlowInstance - - :returns: Fetched FlowInstance - :rtype: twilio.rest.preview.studio.flow.FlowInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the FlowInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - @property - def engagements(self): - """ - Access the engagements - - :returns: twilio.rest.preview.studio.flow.engagement.EngagementList - :rtype: twilio.rest.preview.studio.flow.engagement.EngagementList - """ - return self._proxy.engagements - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Studio.FlowInstance {}>'.format(context) diff --git a/twilio/rest/preview/studio/flow/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/studio/flow/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 99c4218f66f375f4ba4750669c5e8ea8845e7641..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15081 zcmeHOO^h5#R?e)f|Eg}c+ka!v54k(DGp@ld_b|+`G+twme`dY%_8PlANJ+11vMaLO z+0Lr0iOjOy<+hNvEv*DH7Y<xT;)VohFGz4@wGs!!g(J!%oRBynPIEwf??q-*R=c|0 zHlzJ9RI8#QGb1A3d-39XFJ8R<aBi;tPyhVq&VT);Vf>qs`xH^Xh;Q^I3Sl^gFhwCS z`vs?9Qr$w`axAVFgJQqrl(=3B%KeH{;d(i!_G?a!>y@D1Z#WIESA%AM&Y3ffPYqEM z^(Tg?d$k?Qna6cQG;!VZ8n`}$>p3xx>v^w)>jhjN5(~Iq@G7`IEDql`T8m@1zPjN@ zb~hBB{lJavyWYT)ZtMwreXG7^pR+qQJ}5fd>2KZMwoi9jYv)j$?rg7}+qSn)pF@lL zAGDX+OLb~*qoewqtN%NMV6@DnA-u?wz8m;s50~ZpZZPs9)DB%AM6o;QdY8jN>^+Qe zYazRJ%ZtL1>{5s34L^!=*TtLeUAjMib#NE8zBh=eMVDTeeXO(+ZKC2Cj)~bQ2-C5C zZ1gZE!g^A5isFbUiSiTEDT$+^BC4pBy~<`a`}QoBwCU88gq^yQtkX~ub(-R^SbSnQ zb3ZnUhBFVj9!sj%g75*+GyX^W=8dbDZeO)mez1DgjyK#G1&KUxBNF@|cKtzQ52bhC z_a5Lk6r*k&sg|zv>}a&U>2+fkY#iF%4R>(YYuk4s4{f}@{lJem?5;bC{czB>ulMY& zaAbE!QbHoZmMubi5XSa~d*8E#ci#)bp(lB;?3He}>qXHSdl+~w24#}E=-~y!i}3?L z@WXaD?6>W1Ar&Y6l4$80y^kU`VsqQrDQp(D%^lM;d}G__Si;;a_E6ij{sd1uB~gHA ztnt65Dq`E$2Y##+f;h1=k=1pB<)JIxzWtdeBQR&*SHH{p21`?mkj9Xy!sNz~UObY6 zXxUDAL6f+h^4^Z(kpO=^%vM{!Kh<4(S;kvK?<G2p%jamYXr)z7O3?@cmo<nfsdhR( zc<ywPS|<tvp0cFe3uWJplVWEi{Z=6<MqbcMDk-zj@LH$C%F^llrSa9q<>fU@y^Pj= z&v!Q5aP87?c*Tv~wHsmA4c1n@{%~#R56`ZT{6L)jFbcxnR`g&^@t*yV2-Z>&tSJ$! zkqFi@`r5-S*#N~SXokxujM{=#HphoE8MU*PE8T37mC%a5m+_50MuC|(HqC8wyRcJu zY~iY~4V^e?h{99zagm=|+eO^7P8ukSCygBo8d7rq7DH+sxE)K+?MJK~87yF$yP*`3 z-IHOTb?4H}>o(xa%>XQvcElaqdLRZmQht|KiXFIPAIl>MU5t~BhatRP&+qzb?cj14 zMv=cBc=l)z`vJcz@cX`6j-)79${?`2;fegKSQAG9)-f$%rGfy}X%f%aQHT*S!h|eb z^u2y4w<d(NbIPn1gg=OFrefK?GXzKK!iFL-frC+h9XG?C<_ox?XlSQmIo;B7$+Ug) zdv}Co2Q2o0LO>6IhD^KLpp0P0h5SegZQH)$^;|GYau|f_t{ysFzeMg37~P40{mb^s zEb@9@+}*H=7wLTg!w{dbA8dF7#;(YVfpS4$k0MWxJs~$=BMcBJMQmY63Lh<Hf&je$ zNYJUtA-d7QA9&(9L$8lw=ohn{>x4OEJv-e}B)V~oB?ycsiMxX4<2mE15gEma`hFP2 zleuR?ZIas=+iwH*`~KiG_c&vJu(Y()%ISs%x=)o6XKjGFVbN{*ULfqzkO)(61PG9V zYU(ny3t+YW;2>C;t;QefA(EPwYs-{JfdNU0U*^>L0oPka;9!bwPJ@Kh;rmfiq((_u z3A9y`hcJLVMg<M!lvOiHpd=S{afE8Gp?DWx1y+aW3k!wuAq`e)M2%E{mkCnQKrvwz zBb6|p7IsXaP{F;EM<Fuh2gV?h-~<fr3<Cci%y_CMXJ)K;4}4489SAj7gh}@2%<boy z=Gs_9p%!!s5$hh7d<HN6;O^Ip6vPJ9dV&V}_4yU2>Ix(@%=|x2@a#?DL@G{RjWbYU z7j!-=V!HE6phT-MS=8k3kYIQLx2#=De)lRriM9G2TIKACE{x~&3a2r;wDF=3IV@A2 zNSv;2@;|<`c9i!~*tA3e>%O>M6xLJgaVajbk3wacJ&~gOH)hTgx#h*uhcSc|h_Kk; z6A)gJfgv(7G}H?=@0(1};Fhv(q#52ruREfxmf!Dt!pE*F*vi4VGW8IRGFEYT&l@b; zH}T3<s?tv3zAt#E##SFLkY1p>4X^SDRPWUOrZ}XGB&dn}{t*5U`4HWJ{2w3|NZNDA zeQdchL}xNX%wEJtOF7oGr6O*23vlwr7jVC6Al<QLIW;XOS%Ee<Rl2?nGn!bRUR{M# zU1sq{t%@XTkQBn6JdTPoF7tGYw{X-=HgVZ1vu>t_j3>is4Dqz1WXmQ>zRn$CS%={O zPWmn*MTYAK_(n9KF}GMKn+3CIR;`>O(~x?jMWm5ZU&c53CJLw~RC$wB7v>6Xbs=U) zdYcp(`+PQB@9(9wL$B+@x&3*mZS2asUW{E$uxvv)&rV_scW&L#&T8uJL61|1gvtB) zDT_P>xng!{_LH&*``C^<W##`Qm6SU9CY~xiP#BfeC)~-m=;8ESCsksdCbNf!Q5A(z zuVcE)R&EoOwb2t!xTYtZv@r8b$S<ME9sf*gIl?6X2aXlEj6k?S@sphBQV8+Ivb_q| zGV(?4p<aXs@%6H?GqaRAi!aj`tIq-{fc^#nXF4=b089freQ$&H-4eARtp~WTz`r(b zYVgN{|7#MIBq2!a9TF6&?tYR(*a5MDpwszLPJH>Tyn5ONZt#bG>C3P~>L}PF9*?!| z-Bh;6cCiD8tq?FA(nCNYg5BWl^(;O6K6c62XYJW#w{AhZ^$W-L`BfE)x~T$X?b|AH zlPSRkRu}9#Sbuge#!iRG>vW!i8Kpm!+%n9bwhAjN{5?dGnt|K*5UHtmI(>xX0;)GV zoi9dikUpt&IwI_%Get_+fsy2(ut9N3BN%{KnG-^8`7J7Fiz44ck<6t*ovud{GtqT$ zaF`nLu7-j}#7ac_pQ=?XG!NBJ)EBGf{PF7HYNOiVuu>Nf^~XwU(Gn_qhCGX+gn%W& zo}z-^G6yazz?Uim-K!L{B=w~a{gQ0x8@+)dAG4$gm5CUXidwP}J(V}2GXj<5803^( zA?;@`5vbH!uZFml`VM3b*@;-T^{u=|nS1vO0XfsH-}$m0)=H}=>ky){i>&|bBo)>2 zTcAf|6`g7p=FIe(S0*br^`aA!h^MH&m>NbRP)8T1V4bG!GIgL=WrlHw%%VB|4~-O` zP~a1LX>6F)vBER{rEZ#f$-+mpd+2V_wwqjJu4wsB#TZ{!>e=RC^6D3m{4<?lIobGS z5Ap^esid4tAce6cX_B*%$>gs|jO1(>wec~6P?mbW#jmU}AWrr(1`NM{r}<CqK&o}h zN&p5=qk(KuLFXIt*QsDNKSwn}aCwFbZD=z6X4NKd@z3yOzfa*du$u06@zozvX!=A~ zP#hGiJseSq+7n~PbgH5*8o=)w<98hkp~()xtAyW~jOaJ}MmTYu!f!fr!iK2e(>W7% z^}EiU2-nMkHb+Gl$E%aGg&DY>Il7aT`n5qjeBNIwKb(EYaZ?>toqGiG9<N|O%((sz zB&-ykz*f#t!MoyS$J6JnQ5LXaynh>QvQ;pR^8bJ*=@w|gs+$Ye_-M}YpMX92ob;i2 z*6|xP*PEsfjem^!O*g+3x4{uE;x>geZbMsO%refGick3*Y5d1}60h;;g4!l!s5uME zxgEBmM4oQ<GS>2$&T5-!a)dxR@22`u0SHMhiQ0pf_$Y*>Ezi<jwybGri~<a@O@&4t z<tl!Fd;fy3iY-*?lh^_~`l(vCdF&}{Ct+Wvjx>oXzJR3!F|%bYj2~$sUhx7irZXXI zC8q?WTP$l=WL1tl+wUO+M163E-R*jwz#;QBH^3Qlh%w{?KX;syZ7A2nFwo;+KhFK3 zXB?dQ4Uou!fu7Cq^Cdl}e1puzU(BnS8fuDn@;sP#^2>>LVcx6a42}86HJ}9QWIcsy zb@(|!$oTIyeV4!$4)IAKxm7Vsv7Wb2o^)?d=QHScWdi!&kF=8NpHuBY&2cCv;LXu? zK~k7PNt$(TrjV1ygx2Uk(Lo)#RO{w(b9^E%@LW4Bb@Dm1#u3OMNdO1J$iyJ|BC@q( zT){%8r7nt_7NrwF=A~cc*7GaV*5niEq%;wI$-&(=et3MX@YsA@5Ktd=*8Lea&tD+T z1cVpHrALpy^9Z<VGKRLSq|jbU%zKG>f7c5Bs&<|NWDke(0@8t$3Kxy>dwGdw8`bvt zfKL0P3vJzJ{O&#*<aG7hj~-vZ>05C#^aqS8Ny*1)Wu!<`p_io6RbixE<gw55-^4cY zZ&Xg1yFonlof>=lPJ~gsMw2Rn*Es8qx8#R(?|J?dDaudrWpHDE>In9~wWe}+x_F{L zOdYPG1V!GbLIM=4nXtSf5}-=rTbu+$sXsMJ_~Fza_Nq|l)GBybHPkt+3iUeboKl5) z19eWPLcNJPCjg;7hx!q5l)bZg)Q^edTt9^R3Go`&k$@#mic?%ajQZ>14X!VWH^p1< z=8lM86E=R2;@LOEH~HBy@wRve_l~otcLJLAF58Az$<xzQhzfZE7xCr5M}8JX0SQ~| z$&HWD%E;_2!a;64iZHFx?Zr-QI9kV%5Rx)haE?6f%sZtkw=P{<#Sy`sPi|bl{oSiq za;nZ&m3;W5tVW!twMa@;MWkNR;nRvfXQJD*DIipco}kFb6v!vt1_~gzr9fr`CFQvk zD9;6D>7)@`@L>v~jJy{U^%ClpT)j$l+^cc>It)?c%Q}0qO_UWFX=^wJXqM?6?D<wj z6PhtM{wr-XW;nQ+#9qcq<t47)aZtlFvoo8bq=6K)5D7M9i;}r4q{tCCN(Z2sO-jOB zAKjJYr6f&(lc`P@xdS*pORq*lx+xM1=M9u~Ft``B>O8!>fIjkfsklhRB`Rnf`3V)5 zsklPLRTL|&n(~0z_2Mlb*{r03^LGztLCJz2h2Q>o>4OfvF82Fg(&(gU=6ewWhZ%md z3C#yY*ll|ogU$Am7fI9TFv6%T6w7Az*EH#`Y|i7J+N)<X_^jhh%Z8MaSc+c6r*Um` z)iavrk9bp2l$0%fZsVun6*@;$NrO0hpkvLhJ9H^wD(vY20riyRhC@^PzAOE3gtVwG zWno1~$hm~Xo@}t}HfK#ist<iQ<H#z=y<(Q$=4@n2ALy8=Z!e;(snyh6WPX!!pNjH2 zq|E#6=ekT~(vXK+XK9AZ=w;N{Tbf2N)keD-G?%1#JeRa5Q~v2mgWZbHHB}Rz`x51t zkc>Gkay0OfM}@#V&WMq^)`N25K`NKYd2}WaG^ZqBJ#6YD%J1UMdwAQV%FDzOk!h62 z3wepRv6K(U%SHXt94`tG?Av}Wt!__RX@P^teQ2c?pX6wLZHm?${2Y+x^;tCA8>2n~ zkCf8HD*zeKUFi=w-4Iy<EPaG^IivXiGeC&7KUdV^dpWL7O>s4aqX*>c_h<06iuJ9G zA%#-44&_>^G})<_s}8yiBk%sqTm&<>a?DJx4rK)n$i+4N-ib!7hIc7t10W@l#fJ;d zm)gCzpW1%1rP!b7OCZ|G5zRYJ4bW_|4oLIHESe$t0A>amfoZ~=J<09V6Y*Y}!H8sP zWPs;}QPc9w$|lpdKUdUZJ;xP?Ycy9WDF@{1c8;Jd6Pq-O%;!Xz_@56_gP!Z4ILIum ze!zx%e-_BJZ{}DyIi;O6V&*@5{d}aZh$c6~t!MclaNnN~Y9aUMBYoWg`S^a0to(dX zPDZx8UjU@YaoV2)YBA1nFl{E_tsRi?Ty~QVGp%50sLT-tRU1r12Ur2*=<QE5wfIqv z=;?LM-sKe8XgY1FH_aWg)aEZ$5E4lO-vgnNHsauaRtSwA{gGz8GM;Aq+3?}sjQ=77 zhZ&<35Zr@Ndi19`MyJiqj9{VWl%izhjBQec$NZHK2WGOONX#CxqDNn9Syji=-qR}* z=aY2Opcl1;3))IW^nDA(3rG6oN9ZL#rsB7#;Lw7OFUW7>-cK@_BG7kw%0TTG>3eUV zNMB~8Rj5z?HocfnaF(e?$2eJ{(C^TVT{KY~?k|WY;+$iAd^ns9iVbHP<TF=Vuk8w} z@EK`R4*8$eI8dU_kIvJ37<FjB@IrfW#wiXM9xO~qTXy`*q!GP?3WW(5iu12G=bF`L z|Ee{F59=I5TWKva?M@>Nt*_(1;3Vy7R3^_Gx!Y|&-Sz5SK1s@Xb7qswib^`ma!%&k zP`WZ?skQ==wuH_?{`nAx*eY@L{q!~(&;GBq$?8+#d&(J7X&EF1b%HdRX03lo^}I@J cx==y0i2i>9=|voCNK0$s4~_CdYvKC;0I^UhG5`Po diff --git a/twilio/rest/preview/studio/flow/engagement/__init__.py b/twilio/rest/preview/studio/flow/engagement/__init__.py deleted file mode 100644 index be08319..0000000 --- a/twilio/rest/preview/studio/flow/engagement/__init__.py +++ /dev/null @@ -1,458 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.preview.studio.flow.engagement.step import StepList - - -class EngagementList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, flow_sid): - """ - Initialize the EngagementList - - :param Version version: Version that contains the resource - :param flow_sid: Flow Sid. - - :returns: twilio.rest.preview.studio.flow.engagement.EngagementList - :rtype: twilio.rest.preview.studio.flow.engagement.EngagementList - """ - super(EngagementList, self).__init__(version) - - # Path Solution - self._solution = {'flow_sid': flow_sid, } - self._uri = '/Flows/{flow_sid}/Engagements'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams EngagementInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.studio.flow.engagement.EngagementInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists EngagementInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.studio.flow.engagement.EngagementInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of EngagementInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of EngagementInstance - :rtype: twilio.rest.preview.studio.flow.engagement.EngagementPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return EngagementPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of EngagementInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of EngagementInstance - :rtype: twilio.rest.preview.studio.flow.engagement.EngagementPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return EngagementPage(self._version, response, self._solution) - - def create(self, to, from_, parameters=values.unset): - """ - Create a new EngagementInstance - - :param unicode to: The to - :param unicode from_: The from - :param unicode parameters: The parameters - - :returns: Newly created EngagementInstance - :rtype: twilio.rest.preview.studio.flow.engagement.EngagementInstance - """ - data = values.of({'To': to, 'From': from_, 'Parameters': parameters, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return EngagementInstance(self._version, payload, flow_sid=self._solution['flow_sid'], ) - - def get(self, sid): - """ - Constructs a EngagementContext - - :param sid: The sid - - :returns: twilio.rest.preview.studio.flow.engagement.EngagementContext - :rtype: twilio.rest.preview.studio.flow.engagement.EngagementContext - """ - return EngagementContext(self._version, flow_sid=self._solution['flow_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a EngagementContext - - :param sid: The sid - - :returns: twilio.rest.preview.studio.flow.engagement.EngagementContext - :rtype: twilio.rest.preview.studio.flow.engagement.EngagementContext - """ - return EngagementContext(self._version, flow_sid=self._solution['flow_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Studio.EngagementList>' - - -class EngagementPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the EngagementPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param flow_sid: Flow Sid. - - :returns: twilio.rest.preview.studio.flow.engagement.EngagementPage - :rtype: twilio.rest.preview.studio.flow.engagement.EngagementPage - """ - super(EngagementPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of EngagementInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.studio.flow.engagement.EngagementInstance - :rtype: twilio.rest.preview.studio.flow.engagement.EngagementInstance - """ - return EngagementInstance(self._version, payload, flow_sid=self._solution['flow_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Studio.EngagementPage>' - - -class EngagementContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, flow_sid, sid): - """ - Initialize the EngagementContext - - :param Version version: Version that contains the resource - :param flow_sid: The flow_sid - :param sid: The sid - - :returns: twilio.rest.preview.studio.flow.engagement.EngagementContext - :rtype: twilio.rest.preview.studio.flow.engagement.EngagementContext - """ - super(EngagementContext, self).__init__(version) - - # Path Solution - self._solution = {'flow_sid': flow_sid, 'sid': sid, } - self._uri = '/Flows/{flow_sid}/Engagements/{sid}'.format(**self._solution) - - # Dependents - self._steps = None - - def fetch(self): - """ - Fetch a EngagementInstance - - :returns: Fetched EngagementInstance - :rtype: twilio.rest.preview.studio.flow.engagement.EngagementInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return EngagementInstance( - self._version, - payload, - flow_sid=self._solution['flow_sid'], - sid=self._solution['sid'], - ) - - @property - def steps(self): - """ - Access the steps - - :returns: twilio.rest.preview.studio.flow.engagement.step.StepList - :rtype: twilio.rest.preview.studio.flow.engagement.step.StepList - """ - if self._steps is None: - self._steps = StepList( - self._version, - flow_sid=self._solution['flow_sid'], - engagement_sid=self._solution['sid'], - ) - return self._steps - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Studio.EngagementContext {}>'.format(context) - - -class EngagementInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - class Status(object): - ACTIVE = "active" - ENDED = "ended" - - def __init__(self, version, payload, flow_sid, sid=None): - """ - Initialize the EngagementInstance - - :returns: twilio.rest.preview.studio.flow.engagement.EngagementInstance - :rtype: twilio.rest.preview.studio.flow.engagement.EngagementInstance - """ - super(EngagementInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'flow_sid': payload['flow_sid'], - 'contact_sid': payload['contact_sid'], - 'contact_channel_address': payload['contact_channel_address'], - 'status': payload['status'], - 'context': payload['context'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'flow_sid': flow_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: EngagementContext for this EngagementInstance - :rtype: twilio.rest.preview.studio.flow.engagement.EngagementContext - """ - if self._context is None: - self._context = EngagementContext( - self._version, - flow_sid=self._solution['flow_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Engagement. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: Account Sid. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def flow_sid(self): - """ - :returns: Flow Sid. - :rtype: unicode - """ - return self._properties['flow_sid'] - - @property - def contact_sid(self): - """ - :returns: Contact Sid. - :rtype: unicode - """ - return self._properties['contact_sid'] - - @property - def contact_channel_address(self): - """ - :returns: The phone number, SIP address or Client identifier that triggered this Engagement. - :rtype: unicode - """ - return self._properties['contact_channel_address'] - - @property - def status(self): - """ - :returns: The Status of this Engagement - :rtype: EngagementInstance.Status - """ - return self._properties['status'] - - @property - def context(self): - """ - :returns: Nested resource URLs. - :rtype: dict - """ - return self._properties['context'] - - @property - def date_created(self): - """ - :returns: The date this Engagement was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this Engagement was updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The URL of this resource. - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: Nested resource URLs. - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a EngagementInstance - - :returns: Fetched EngagementInstance - :rtype: twilio.rest.preview.studio.flow.engagement.EngagementInstance - """ - return self._proxy.fetch() - - @property - def steps(self): - """ - Access the steps - - :returns: twilio.rest.preview.studio.flow.engagement.step.StepList - :rtype: twilio.rest.preview.studio.flow.engagement.step.StepList - """ - return self._proxy.steps - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Studio.EngagementInstance {}>'.format(context) diff --git a/twilio/rest/preview/studio/flow/engagement/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/studio/flow/engagement/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index ad713ccde5ed5924b0a68ac396bcf9aba47802bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16482 zcmeHOON`t`dM5k*no&#E!?GotyLKG4A@z*oc(a+vinMw~8+kmdhl4P)=%u<iGaRv- zZIV6Gv_{y&2<wxQV-mo?9&$)>2m<7iocFd!f&{q)Ac9<SN=`ZZl<)tGEONSg9@c2H zkg+{ru}Bt+fBp48zWVE*4`*g-|M;&zHUIo~H0{5%%&&m@WgNkmD1>HeLKit#@8!&# zPW3$Mc{9)Tf?Mbn%_7%}ZmCx`%UmzHm0s1Xa=q-<dUdnT^@`i*&6qQ~c2g5oQG2F| znqA$_o3psCiw3S6b{*G8a6KbtaXo7naoxoA5z)kT(=Oxss5p98YaJU|wR>w$V01lU z8;`8OShf4MZ-urn9&FZ@jX9%Z;D@5K6`yOymT|7rTAo93uCui~w`FXdn?s9@58CtX z`5Lu1@S^<9)&3hy&{}#_7j|I#j^#Qd8<(XG%N^PQYDaGMgV5@C?W<ltv>%7K)l6>P zu>)`Dcj<-3Z6^pb*M%i(mF`#WhW3D-b?HONFCSNe$Eetvsbd~;LO1hYXe*cvk$+Y( z3*v+*iqbRPEQ*t&EGnp#?DBdgIacz_W8JJu-kLRfg7=BDx>=VTH5=lnIQC34XT)pb zIL@<QXa&tY0{)(gX0P{GL1)kIheYG(=f=|Q>sRhxHx@s=cijlrtPllFfNKRb4gJt^ z`hhX<?G49%gtI4x-7t_XE#EeR;e&O%8#0?i&*-jM{Z+ed+z)KDv3tfNCtNeS)-ZIu ze%rXUVr+UtqdW9{P~dJF!ZZ3_XslTqwjt~d+w}&v&z&Wow7Ok82+kV=*S63plhnl< zwmY~SK5|^gYj?d~+vp}NrgL%xZCr#}sBdZ8x%J$ZzO9qkZsi=@>EuOjy|AKfY3unv zrt6}}gGmMJg05+?+!)5Kz7t9*p#d2?`BziT76z7Y^^DJKKfp+h4S8NrH<-1GpVX5d z%hGrkE3Wsb6F6eQxPh8+*AeZ^XM8&x`u$+Rh{ujz!gkE7b`TB)_(46iZ8g#DF`8pl zFc$o9b6~%Wo}x-Z^yusyQ60=ZN$xzIOFthhwn|Yk7-Ek7DrP3CbUF_B+v!BrPT;vL zB~fX`^Lthp6*@!TY2~9rV7n_(IcBL}!;8?fYNx|O+UfkY_Em6oVHqOl2g^Tj%r(nf zzA_kGvqEe6w%4`X<$HE-usm=E7aj~9S6uioaJ`ky;L)<=VR9l?F2}4~maJT+Q7osd zTu$h14>tV<2swo#D5215&3sKCok|Bw`qfU_FDmgYqAeX)aRlE%0rAt;^(_eHcJ65& zSGldc&`)b3_gsHk;HUYm0`BEcYbXn+wQUm9qV-RZawR->L*KS~K}J3kn*~AZdcFvZ z72oTz3}0EgWx%#tiFNgSBjDHDsynvAq>C0QuHjlE2iod-7Wzs0Ll^eSiqmzZD&unC z1%dOxwT)pvbX@+H>+~FH9Z2k8SwLoY&4x@TVt7yL!qA0TA&Vj<92S2kiRX>LLyzbo zB?}ilyXX0vDIr;1kt*r*LxZVUFzyd9B6(pz$e6(Xu=fBry%jYsm@!F1J7&wdmLfJG zIz6urq4;nVHjE;S8ElvzzixmsvVs=)M_gzd#x;Az!a#`+eNWz1UB?!L$Q{5$!vu_= zoQu=QTd~9Lnn7dn?a$%0!t=(XHM`HIG_XS$UDq{+fvx&Z$<5Zt3W=B^c7Mc$kLD9b zfL_>Z(5c8Fy77Y3x5YkPKNyCPFCKR0CCnkq*}0Y^(F#LoCR`42+!8b&`}8Y&WT!&Z z_q-rX=bi~Qh;Qc&rwuREbNc7_jq}C_^YinqX?FCcL>Md$@P5p?O~-bHF&q$K@{6zy zB%q4A#CEz+@;`bZQ=F*h4^^L0RWZ7y`zK%;q9T9YtnmY`w+b+tu_-j`#I+9J526A! zib|5ht)kyV2mVPas4KH1oB6NPo!3-xoNA|0{5lS4$&SwEnz_-5F-s=<Rb~vfCpBZo za1oLrV>2f7=ecbiCMsvSSrbJD@oO3=VsC0G?)P2iAs|OAL+7WM0~<W>4XZEYM3TWW ze#9gHQ6km`G|W>>kL||;8}=ZvJx+i1<(d&124p@p73%X@b(D2!L6i;pl@a0D+hIgv zcCxBYF(G4ib&|z&=bLFlTDer?Te+w}oMP>6<;U#7xCwXzDtw7dKn{i09KANC{?t>K zR+981z_SCxgt6)qa``g9Epbb39RM3fp|DjD`RDnk#jwcehRPCSn1b~$S*U%-4t)m> z6rLl14gyDzNh7C}5|fxsrOjDXlbVV<(l3(O*pKb*kXDdRuV)Jfi%EAg;|L^30Gp(n z3%!SSf5BM7hwo99mOLAd-~}k-1%M}|z2h!hVhQ<n?73qjCEY8i37p;lNQ%%$*Cpfx za|V)j?Q#zkAVJFc#Dz2d_-H;eG}!=a1sctCHm2V_%wmB0S3R}zW>vAzFGEz!3SHlY zUykxOuipcBFEQ7HR@o;%66L%VpOCb4PDkigW}!+i`!l%NDzOm9?vQ87tPk+CBN@+* z&Obx1SKzP*ULQ+>F;_?KZwW_0=v|vRmMiHwy`Wd}6B17ycUc?IkjNzIzltOHHVViv zWPY7w98M3&Jr^=o-y(@egoEAR&E2GXV0RrL=l@^%4lRGx4zZ|m7Ys=8g*3Ku|ITfN zhhszufsZi{6ZuP*D*sI|9RfgN5|xD4LtMfvN#qrkW1{`H@KlP5w0BW09kl;8J=`e{ zQH3}{Grfw3K?Q|Yt3e`4`H7`m(sH^Lyofiyz7?d^oG3mgX(?HAS!uZnXcv+t>?7<l zY5p?vAr08D?{Ls8^cD<SQDq=bY^9PGWH39j5mlAmjy2<M?GS5f**3k-d|O$VMf(w~ zT9=6y)96jSZ~~kUg_#x2hz{iLc~Rj824dEhC<MbKM}?(N?~<V@2t)zmkbyi&ljEPo ze8s{fsrK3I9Ghfy*7QWV(2I)9!3dx{`J7MSIVumVO#+-_GUlJdLkjyzlT*)_oN<gT zDN#m;jE{1&gydt4jSv9^2(}P7WYNiw{zq{HK}+~Dj?r0}dBAOoWoD+1sfRm4oQdQG zmCQpmuP-!B$;V#GoR4=VXEDd8C=aqB14q+Yi<?V#!cHS6kq<=z$7UwVL#Ln9%&?iS zjxw`<n^qop{Hw_bGx5W{Cc`HV182?=quHD9$9_cr5S?>7oj=RW!DIwYw&}t;@{i7R zuq!5?EO@Os8YvxEl8_C?a|L*^FJPH`8-cw5aEs$v(<J>9gryMJ*!7ihVTP8e502iu zcu$6+mt>&4eOE?eQ@JF0y2SE_wLLG*$30P}Lqv8ue}N%Mfh<q>prlPJx46hhlR~I{ zSUrSLYn@IH;dz(pjZWwDq2<O;%AJnzx_FsD53dJ&!ut%q%;FF*DU{Ib9lA^Q%Acp= z11f$4MKlvfTe~*RSE@%C3@!eB4kJ)Vm#zY`Rh4`p*J##G)s9v4*^`x{vnML`N}a>L zT|8F5d|V6Yi@WZO6hsj_8Q2{WWt>aAqfv&}tgy@fCT(LRYb-hwZ|DdJ(`L6ZC|0Z^ z8qAv*GSp&c(ZjBr7KEiU(l4FBXNTXkxD&%|0*#Ej7Yuca+~sadr(~Dl7qQvFV;xu9 z7jkGjdRlB1{5s}Cf=$*aHgpB4)<@|PK~1xg>}VuP!Wz$-LT~*Yj(}&oeryNYq_3%s zgMIxEHm)QbNWg$~JSz#`qa6<f#1Qq8yPCVK1C=d{VW4oZ$rb||T0k<gQM0>aFCimO zhr<oY+CHV_FpJWO-gdyiyx*dUn($K>=<b+lZV>cO`1doKwiqwGnc8=rv~0Uq++Wdn z_VQQk7XDfBVu!1W1z5T>nCK6Qr@u+XM^w<Jm-Iy6r5gDc|F@`6Y)=%1b%oY+e}jWp zXVR;{kI>!eeuP$H`}q;OBt6NtZepKZRN+%9>{F`nDK&;L-*}%w(~$Kkv^9?C1x4@> z!<e=?j=QCJi~N4p#_Z~C61bQu^h<L%spFv4OL8^-p;vEtg9t8da5I=5y|d?L`rH!? z@983fXzY#{cPn?~&r&bErY&^>q@)CJTZ}u|L8)&fs<zWN{Rdu_(U5vG-_V=+(Hp6$ zi)S@;QG~|nM^J@A!&h+xNkGKW5DsQ1#i23^2lKiW0W%p6rhpm53hP-q%YaCM0wSZo zQqy^ZH$1ZoT4mi;n+4^3xHSS;Daoq!OMwFuy~*H|&Y{P2`m$3QM>;cMhazv{@(f8= z#2_LL(-YqFr??`20T2F{*h{8SE7w%`l7g5yy|N<%A(<%t(hh&5q6)NT1K+WRdRXz# zQJxIa50DQday%cLbRY`P321UV%u8|f_loCNx|E#5;ErYNkWhg7z|u+PPpOZ*K*(r% zM~f44W6s(tO@?xApd-Hxj`$P^%wU7*E4CsJxdiE#k(~+!4iQS$v3r_X#U``Bt<@|L zf*^fiU3nK3p<@;(5sdhZ!1A_s4Vpu`BMR$z%3NaJ{}NZZU+IP-pGYU{8qh($cuV`? z$>rQr{b^1>oMbl3XIQ6yj!+c{&y9*to__oU)=Fo~M1i~Ze55~&^o`W-^D^?Q>P3o7 zKOXp(&Ju5lQw42wA=T!DqseNxebJ>fpWsqky*WC+?}|L`#dz}c5;oNf>z>o+P+wGZ zkd+WfGG*{6DtBf4Y>ZUKE+>gd#_{Dh^yzjoMnbjSkr3&1RKZ>ok~+doA1R#s10yo{ z|BfRdW6r?nc;#fH$>^nvTk6Ne;VSq~6j^A5Buth#k+%y-!Yqnk<8(wyLab8iAtxb1 z3QeRS%JfdutEh8oC+bK*lxdx)*HPz`PShKya}pxzGpKVSBI>iKpAaXXQJ+UpKP6u0 zI+8%eY4HZvkD~sjIK%a0sGk*Yas4&%wlDzHj^p09#JBn03Gt427xzvwcsm6_dykFj zHwnC{X+(uQ?PVNn{<AYFa!4QL?8VXPR8bN~1)FMx!@w+A-O$;v%_4$gwpc`x$WCZ( zmabgAck8q3X7T#swd>b1(yrh^RFZwYmq>jDCeObPnijj{Rp>`&0wQE2f}fz6gqa+_ z&asz)1j5(k$n&Eta#`ZCd|C_hzzaE1LDHKZ*Q->=y&AWvV*{n}WgY&hC}s$tA}CTA zj9^2HoJ2RvU=~se**G%#H|11z#jFX>4(ZA!CqaGs1^n3_y)jaZ>PVCIkab5+jJ;e` zCzFNwraRH8<bv{Z`?lM$gg~SwpmZUU44>Rk)WBwm-HA7G;;Z3+Zi*<6Z9_^&>OTxx zb^fM*1Mf(WdXs9uN5w5Fs5AfjRQx^_x2gC91wxh?4_uM3m6zcRTglKzO(*ca`<?j@ zI`rAl>Df`e6PrcH4iN23EHT5SILnD4EyJaKaP9jfwFIuTa<fp<vwsb}f$Le^9c7mF zi8M@tT~ftE!6@rvbfJVIPD8VIglgiks=Zk!j^R*JflP(Qo(|<Wbgh9!d6(Xb>JW~E z@@SDqVQg5w;|-Br3GK)B5c2x2AU`naEV<3emtgf{2hbV$N10Dd(}h$duS(w-QweI) zM+y5BRfm%O_(Q6*NjxX_APW8xCTDyjVmgQ`k#s%Yyg`CNQm9okC~lf5mF*P}A~7Jr zC7EYO49f#7cUoi6lTJsvI=Mm#Y&0#L5{_M2WN>1K0y!o~nq7gA<G~Ilrdcfs_u{Qw z#RxfU-TxFs0ATSlk1e(`+uY(0Xpls#RvMk0oTN4^#R124S$#S)E@^>e!ut3+Yl31j z9w2oOim62>L-AWvD9%{D15*C+6v}U?Jo|mgCi}8C+0<e+L-sUdl7uS`Nb@vqlP*A? z56EpY(0h|jExZib)3{CMDE24^r2HpSxJ~hz!J3DyHkq|^-ne^f$%q}2fxM`zGA~Lg z1m$Vd|E2iODiVRnIDKvXAm6n2_^HLC%=q7*B5ld|$DHT^dC}d47ZOiVSbl6=nfCG@ zHKvdxUsf&I|L#3d^3Xrd40M`}lc3;$<GP`~p4x&%<fO|CBK~(N0|`dKq#2_<2K6$d zhP_EA8~a6u^h``DaWwc}AWn2RAnkvsKA+M~@=4%hd^-65(PD6vc}-4Df>zW6#y@)x zhY-@AWQOzhl=-E86GZll8dD7M6zPeVnH&?rxxL3kE&lW%V~Rg|z%hN2Aujm`D4Hiq zTuT%Oc$S52QqCrv4<XXM$3ZQAni<D5cL_v%K=Lygqbf*wFcp~~opAKtq*IH(%#i;2 z6tQ9)zk_(ZuoJ_q>)V83^j9Yei`B&sFba;5f<@C%5QSO(R`I4hn#P;SXsO~2g#`)U zty4%#e`VvK38N^=v<su?(LX3gRi-lPl@Dn8v`3+|Adic~g*5$-(S?7Bir=MT41!<A zy`LvMMMN``SEbz7ULnm3`-U`=Ze&c;zd}UNI@$jo6|^ISsb{_5CHfeBv=RF=qE7`g zr(xHG!j`_+dVMT@#9O;j$>V<s=Ae+==e<UsXWgXzhOZwuV3j^tP?W+6-=aahiwXrr zn}yjkjiZgqw7*KVQR8^wV(S>wZr0=ckO%l*W1p5vGDqr6=62hOSK%rYLHsh$PHmDn zC7(hC=ILx3`i}~vd`YL}m*{yj`+R^Mc$q#w7vDzXegD^&lu~YAREc^D&C7)_$63-D kS1ZG)a#3cDT`Hq(K>6`V+(Ix!{pFiK*3LBFZ+`#(0OQ~EWdHyG diff --git a/twilio/rest/preview/studio/flow/engagement/__pycache__/step.cpython-36.pyc b/twilio/rest/preview/studio/flow/engagement/__pycache__/step.cpython-36.pyc deleted file mode 100644 index 59ce617e9b6f9598bd128a1a648856658f663f69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14808 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 DU8nsD diff --git a/twilio/rest/preview/studio/flow/engagement/step.py b/twilio/rest/preview/studio/flow/engagement/step.py deleted file mode 100644 index b0a6775..0000000 --- a/twilio/rest/preview/studio/flow/engagement/step.py +++ /dev/null @@ -1,427 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class StepList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, flow_sid, engagement_sid): - """ - Initialize the StepList - - :param Version version: Version that contains the resource - :param flow_sid: Flow Sid. - :param engagement_sid: Engagement Sid. - - :returns: twilio.rest.preview.studio.flow.engagement.step.StepList - :rtype: twilio.rest.preview.studio.flow.engagement.step.StepList - """ - super(StepList, self).__init__(version) - - # Path Solution - self._solution = {'flow_sid': flow_sid, 'engagement_sid': engagement_sid, } - self._uri = '/Flows/{flow_sid}/Engagements/{engagement_sid}/Steps'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams StepInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.studio.flow.engagement.step.StepInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists StepInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.studio.flow.engagement.step.StepInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of StepInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of StepInstance - :rtype: twilio.rest.preview.studio.flow.engagement.step.StepPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return StepPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of StepInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of StepInstance - :rtype: twilio.rest.preview.studio.flow.engagement.step.StepPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return StepPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a StepContext - - :param sid: The sid - - :returns: twilio.rest.preview.studio.flow.engagement.step.StepContext - :rtype: twilio.rest.preview.studio.flow.engagement.step.StepContext - """ - return StepContext( - self._version, - flow_sid=self._solution['flow_sid'], - engagement_sid=self._solution['engagement_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a StepContext - - :param sid: The sid - - :returns: twilio.rest.preview.studio.flow.engagement.step.StepContext - :rtype: twilio.rest.preview.studio.flow.engagement.step.StepContext - """ - return StepContext( - self._version, - flow_sid=self._solution['flow_sid'], - engagement_sid=self._solution['engagement_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Studio.StepList>' - - -class StepPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the StepPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param flow_sid: Flow Sid. - :param engagement_sid: Engagement Sid. - - :returns: twilio.rest.preview.studio.flow.engagement.step.StepPage - :rtype: twilio.rest.preview.studio.flow.engagement.step.StepPage - """ - super(StepPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of StepInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.studio.flow.engagement.step.StepInstance - :rtype: twilio.rest.preview.studio.flow.engagement.step.StepInstance - """ - return StepInstance( - self._version, - payload, - flow_sid=self._solution['flow_sid'], - engagement_sid=self._solution['engagement_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Studio.StepPage>' - - -class StepContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, flow_sid, engagement_sid, sid): - """ - Initialize the StepContext - - :param Version version: Version that contains the resource - :param flow_sid: The flow_sid - :param engagement_sid: The engagement_sid - :param sid: The sid - - :returns: twilio.rest.preview.studio.flow.engagement.step.StepContext - :rtype: twilio.rest.preview.studio.flow.engagement.step.StepContext - """ - super(StepContext, self).__init__(version) - - # Path Solution - self._solution = {'flow_sid': flow_sid, 'engagement_sid': engagement_sid, 'sid': sid, } - self._uri = '/Flows/{flow_sid}/Engagements/{engagement_sid}/Steps/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a StepInstance - - :returns: Fetched StepInstance - :rtype: twilio.rest.preview.studio.flow.engagement.step.StepInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return StepInstance( - self._version, - payload, - flow_sid=self._solution['flow_sid'], - engagement_sid=self._solution['engagement_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Studio.StepContext {}>'.format(context) - - -class StepInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, flow_sid, engagement_sid, sid=None): - """ - Initialize the StepInstance - - :returns: twilio.rest.preview.studio.flow.engagement.step.StepInstance - :rtype: twilio.rest.preview.studio.flow.engagement.step.StepInstance - """ - super(StepInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'flow_sid': payload['flow_sid'], - 'engagement_sid': payload['engagement_sid'], - 'name': payload['name'], - 'context': payload['context'], - 'transitioned_from': payload['transitioned_from'], - 'transitioned_to': payload['transitioned_to'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'flow_sid': flow_sid, - 'engagement_sid': engagement_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: StepContext for this StepInstance - :rtype: twilio.rest.preview.studio.flow.engagement.step.StepContext - """ - if self._context is None: - self._context = StepContext( - self._version, - flow_sid=self._solution['flow_sid'], - engagement_sid=self._solution['engagement_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Step. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: Account Sid. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def flow_sid(self): - """ - :returns: Flow Sid. - :rtype: unicode - """ - return self._properties['flow_sid'] - - @property - def engagement_sid(self): - """ - :returns: Engagement Sid. - :rtype: unicode - """ - return self._properties['engagement_sid'] - - @property - def name(self): - """ - :returns: The Widget that implemented this Step. - :rtype: unicode - """ - return self._properties['name'] - - @property - def context(self): - """ - :returns: Nested resource URLs. - :rtype: dict - """ - return self._properties['context'] - - @property - def transitioned_from(self): - """ - :returns: The Widget that preceded the Widget for this Step. - :rtype: unicode - """ - return self._properties['transitioned_from'] - - @property - def transitioned_to(self): - """ - :returns: The Widget that will follow the Widget for this Step. - :rtype: unicode - """ - return self._properties['transitioned_to'] - - @property - def date_created(self): - """ - :returns: The date this Step was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this Step was updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The URL of this resource. - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a StepInstance - - :returns: Fetched StepInstance - :rtype: twilio.rest.preview.studio.flow.engagement.step.StepInstance - """ - return self._proxy.fetch() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Studio.StepInstance {}>'.format(context) diff --git a/twilio/rest/preview/sync/__init__.py b/twilio/rest/preview/sync/__init__.py deleted file mode 100644 index 38f1faf..0000000 --- a/twilio/rest/preview/sync/__init__.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.preview.sync.service import ServiceList - - -class Sync(Version): - - def __init__(self, domain): - """ - Initialize the Sync version of Preview - - :returns: Sync version of Preview - :rtype: twilio.rest.preview.sync.Sync.Sync - """ - super(Sync, self).__init__(domain) - self.version = 'Sync' - self._services = None - - @property - def services(self): - """ - :rtype: twilio.rest.preview.sync.service.ServiceList - """ - if self._services is None: - self._services = ServiceList(self) - return self._services - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Sync>' diff --git a/twilio/rest/preview/sync/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/sync/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 697ddfc7664575b56378807678fc5af03d25fbd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1422 zcmah|O^?(#5Ve!^$7H(Ml~^u&vb2}!1L;BBS_mxyu|i@ItC{5xMY24xn=z!5tex&r zw{n}2_y=4$^IN#A_LwUt{=%NN%1LJdF~X9|)$L08y{cDtr_=Dm-|ymod_q2w&sG5b zudwYg7)fFxsq`|s@?wvo?`QrhhyzM~BQlVKD<TKVyY%CM9G;NbXeYwcb8T5#NX0IM zWiM5(jHr}kXWKAgbH*7gFud;0kk#yn&yqQqBVH%-n$<^hh}hhTj-%rc;~9L|u6g(g zfRPz(MlY1Hy2!yjJW*z&Q}tBaD#h#l0(NdWHj2a)7<q5Vk|L|CaqO!=`ZBm8mlPNP zhbs~f-;jXBBV^MAC)+$ty)Fx$m=U*SU@B74np}FXyqaE8tWQn2FFmk<^dN)3d)wh> z>`AUGEi%1RtU6Z=GqX)gffY;k+^CIK7hxa2FsfRc+%B#S?MlKHrrMTj!Kw?L=^`@9 zR#Dlei!3}7;akr1$qn}T*=*1Z?7CFO{cOgZYXHf4GwOgf2i&%$wKJ~?tjd<nP!=np zvFrz&r<t&p^Y`Rm@o<s+3Bfk`L&xW$NFJ2sBT<RuX_1O7IaRANDRp`KY^^hS`>xH3 z<<?##E$01!(31{&g3yyaq^R7QAz=Oiwnc}GexyUXn>ud$sFdOjEIhGY4`JJ%!PMjx zwCDBM{N!4OjdK4%lf2#IzAoP_Wmk^qGsX2EKbv`G3~w0}$c&l;^e4TUg4c}q^+ZrD zkwHkqJ(2zG7etVZBZ5tn)Ir|$uRb@$M#HoTwlrGhGTSnvpoUiEm8f7qz9p&OMS8At zb?ql#OUqWKe{gr}-f63}PP0y0_Z`#gSaXh;IR6D%yLlS*t!r;)W7J<RRtoeNa=t3$ zIzxZL`Cn_1wKq-!&A2oLsJ7ag8<5YSCYos{##Ch)yw;Z;5FKI=R^Q1S9as3VH#wXf zbdxY_Mx4tc<vhOG&C!{#D(VKoAm;e`3G4diI`1<651{qh=HF{s-5>2S1m1*B{Qm&4 Cq-xOs diff --git a/twilio/rest/preview/sync/service/__init__.py b/twilio/rest/preview/sync/service/__init__.py deleted file mode 100644 index 9eb166e..0000000 --- a/twilio/rest/preview/sync/service/__init__.py +++ /dev/null @@ -1,553 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.preview.sync.service.document import DocumentList -from twilio.rest.preview.sync.service.sync_list import SyncListList -from twilio.rest.preview.sync.service.sync_map import SyncMapList - - -class ServiceList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version): - """ - Initialize the ServiceList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.preview.sync.service.ServiceList - :rtype: twilio.rest.preview.sync.service.ServiceList - """ - super(ServiceList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Services'.format(**self._solution) - - def create(self, friendly_name=values.unset, webhook_url=values.unset, - reachability_webhooks_enabled=values.unset, - acl_enabled=values.unset): - """ - Create a new ServiceInstance - - :param unicode friendly_name: The friendly_name - :param unicode webhook_url: The webhook_url - :param bool reachability_webhooks_enabled: The reachability_webhooks_enabled - :param bool acl_enabled: The acl_enabled - - :returns: Newly created ServiceInstance - :rtype: twilio.rest.preview.sync.service.ServiceInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'WebhookUrl': webhook_url, - 'ReachabilityWebhooksEnabled': reachability_webhooks_enabled, - 'AclEnabled': acl_enabled, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return ServiceInstance(self._version, payload, ) - - def stream(self, limit=None, page_size=None): - """ - Streams ServiceInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.sync.service.ServiceInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists ServiceInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.sync.service.ServiceInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of ServiceInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ServiceInstance - :rtype: twilio.rest.preview.sync.service.ServicePage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ServicePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ServiceInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ServiceInstance - :rtype: twilio.rest.preview.sync.service.ServicePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ServicePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a ServiceContext - - :param sid: The sid - - :returns: twilio.rest.preview.sync.service.ServiceContext - :rtype: twilio.rest.preview.sync.service.ServiceContext - """ - return ServiceContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a ServiceContext - - :param sid: The sid - - :returns: twilio.rest.preview.sync.service.ServiceContext - :rtype: twilio.rest.preview.sync.service.ServiceContext - """ - return ServiceContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Sync.ServiceList>' - - -class ServicePage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the ServicePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.preview.sync.service.ServicePage - :rtype: twilio.rest.preview.sync.service.ServicePage - """ - super(ServicePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ServiceInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.sync.service.ServiceInstance - :rtype: twilio.rest.preview.sync.service.ServiceInstance - """ - return ServiceInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Sync.ServicePage>' - - -class ServiceContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, sid): - """ - Initialize the ServiceContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.preview.sync.service.ServiceContext - :rtype: twilio.rest.preview.sync.service.ServiceContext - """ - super(ServiceContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Services/{sid}'.format(**self._solution) - - # Dependents - self._documents = None - self._sync_lists = None - self._sync_maps = None - - def fetch(self): - """ - Fetch a ServiceInstance - - :returns: Fetched ServiceInstance - :rtype: twilio.rest.preview.sync.service.ServiceInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ServiceInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the ServiceInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, webhook_url=values.unset, friendly_name=values.unset, - reachability_webhooks_enabled=values.unset, - acl_enabled=values.unset): - """ - Update the ServiceInstance - - :param unicode webhook_url: The webhook_url - :param unicode friendly_name: The friendly_name - :param bool reachability_webhooks_enabled: The reachability_webhooks_enabled - :param bool acl_enabled: The acl_enabled - - :returns: Updated ServiceInstance - :rtype: twilio.rest.preview.sync.service.ServiceInstance - """ - data = values.of({ - 'WebhookUrl': webhook_url, - 'FriendlyName': friendly_name, - 'ReachabilityWebhooksEnabled': reachability_webhooks_enabled, - 'AclEnabled': acl_enabled, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ServiceInstance(self._version, payload, sid=self._solution['sid'], ) - - @property - def documents(self): - """ - Access the documents - - :returns: twilio.rest.preview.sync.service.document.DocumentList - :rtype: twilio.rest.preview.sync.service.document.DocumentList - """ - if self._documents is None: - self._documents = DocumentList(self._version, service_sid=self._solution['sid'], ) - return self._documents - - @property - def sync_lists(self): - """ - Access the sync_lists - - :returns: twilio.rest.preview.sync.service.sync_list.SyncListList - :rtype: twilio.rest.preview.sync.service.sync_list.SyncListList - """ - if self._sync_lists is None: - self._sync_lists = SyncListList(self._version, service_sid=self._solution['sid'], ) - return self._sync_lists - - @property - def sync_maps(self): - """ - Access the sync_maps - - :returns: twilio.rest.preview.sync.service.sync_map.SyncMapList - :rtype: twilio.rest.preview.sync.service.sync_map.SyncMapList - """ - if self._sync_maps is None: - self._sync_maps = SyncMapList(self._version, service_sid=self._solution['sid'], ) - return self._sync_maps - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Sync.ServiceContext {}>'.format(context) - - -class ServiceInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, sid=None): - """ - Initialize the ServiceInstance - - :returns: twilio.rest.preview.sync.service.ServiceInstance - :rtype: twilio.rest.preview.sync.service.ServiceInstance - """ - super(ServiceInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'friendly_name': payload['friendly_name'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - 'webhook_url': payload['webhook_url'], - 'reachability_webhooks_enabled': payload['reachability_webhooks_enabled'], - 'acl_enabled': payload['acl_enabled'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ServiceContext for this ServiceInstance - :rtype: twilio.rest.preview.sync.service.ServiceContext - """ - if self._context is None: - self._context = ServiceContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def webhook_url(self): - """ - :returns: The webhook_url - :rtype: unicode - """ - return self._properties['webhook_url'] - - @property - def reachability_webhooks_enabled(self): - """ - :returns: The reachability_webhooks_enabled - :rtype: bool - """ - return self._properties['reachability_webhooks_enabled'] - - @property - def acl_enabled(self): - """ - :returns: The acl_enabled - :rtype: bool - """ - return self._properties['acl_enabled'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a ServiceInstance - - :returns: Fetched ServiceInstance - :rtype: twilio.rest.preview.sync.service.ServiceInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the ServiceInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, webhook_url=values.unset, friendly_name=values.unset, - reachability_webhooks_enabled=values.unset, - acl_enabled=values.unset): - """ - Update the ServiceInstance - - :param unicode webhook_url: The webhook_url - :param unicode friendly_name: The friendly_name - :param bool reachability_webhooks_enabled: The reachability_webhooks_enabled - :param bool acl_enabled: The acl_enabled - - :returns: Updated ServiceInstance - :rtype: twilio.rest.preview.sync.service.ServiceInstance - """ - return self._proxy.update( - webhook_url=webhook_url, - friendly_name=friendly_name, - reachability_webhooks_enabled=reachability_webhooks_enabled, - acl_enabled=acl_enabled, - ) - - @property - def documents(self): - """ - Access the documents - - :returns: twilio.rest.preview.sync.service.document.DocumentList - :rtype: twilio.rest.preview.sync.service.document.DocumentList - """ - return self._proxy.documents - - @property - def sync_lists(self): - """ - Access the sync_lists - - :returns: twilio.rest.preview.sync.service.sync_list.SyncListList - :rtype: twilio.rest.preview.sync.service.sync_list.SyncListList - """ - return self._proxy.sync_lists - - @property - def sync_maps(self): - """ - Access the sync_maps - - :returns: twilio.rest.preview.sync.service.sync_map.SyncMapList - :rtype: twilio.rest.preview.sync.service.sync_map.SyncMapList - """ - return self._proxy.sync_maps - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Sync.ServiceInstance {}>'.format(context) diff --git a/twilio/rest/preview/sync/service/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/sync/service/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 152c34eff28604d06c53576f8bcd33f7557caf7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18711 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 M``WYfO_cio0S}@p`2YX_ diff --git a/twilio/rest/preview/sync/service/document/__init__.py b/twilio/rest/preview/sync/service/document/__init__.py deleted file mode 100644 index 527331e..0000000 --- a/twilio/rest/preview/sync/service/document/__init__.py +++ /dev/null @@ -1,507 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.preview.sync.service.document.document_permission import DocumentPermissionList - - -class DocumentList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid): - """ - Initialize the DocumentList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.preview.sync.service.document.DocumentList - :rtype: twilio.rest.preview.sync.service.document.DocumentList - """ - super(DocumentList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Documents'.format(**self._solution) - - def create(self, unique_name=values.unset, data=values.unset): - """ - Create a new DocumentInstance - - :param unicode unique_name: The unique_name - :param dict data: The data - - :returns: Newly created DocumentInstance - :rtype: twilio.rest.preview.sync.service.document.DocumentInstance - """ - data = values.of({'UniqueName': unique_name, 'Data': serialize.object(data), }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return DocumentInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, limit=None, page_size=None): - """ - Streams DocumentInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.sync.service.document.DocumentInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists DocumentInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.sync.service.document.DocumentInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of DocumentInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of DocumentInstance - :rtype: twilio.rest.preview.sync.service.document.DocumentPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return DocumentPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of DocumentInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of DocumentInstance - :rtype: twilio.rest.preview.sync.service.document.DocumentPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return DocumentPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a DocumentContext - - :param sid: The sid - - :returns: twilio.rest.preview.sync.service.document.DocumentContext - :rtype: twilio.rest.preview.sync.service.document.DocumentContext - """ - return DocumentContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a DocumentContext - - :param sid: The sid - - :returns: twilio.rest.preview.sync.service.document.DocumentContext - :rtype: twilio.rest.preview.sync.service.document.DocumentContext - """ - return DocumentContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Sync.DocumentList>' - - -class DocumentPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the DocumentPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.preview.sync.service.document.DocumentPage - :rtype: twilio.rest.preview.sync.service.document.DocumentPage - """ - super(DocumentPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of DocumentInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.sync.service.document.DocumentInstance - :rtype: twilio.rest.preview.sync.service.document.DocumentInstance - """ - return DocumentInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Sync.DocumentPage>' - - -class DocumentContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the DocumentContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.preview.sync.service.document.DocumentContext - :rtype: twilio.rest.preview.sync.service.document.DocumentContext - """ - super(DocumentContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Documents/{sid}'.format(**self._solution) - - # Dependents - self._document_permissions = None - - def fetch(self): - """ - Fetch a DocumentInstance - - :returns: Fetched DocumentInstance - :rtype: twilio.rest.preview.sync.service.document.DocumentInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return DocumentInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the DocumentInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, data): - """ - Update the DocumentInstance - - :param dict data: The data - - :returns: Updated DocumentInstance - :rtype: twilio.rest.preview.sync.service.document.DocumentInstance - """ - data = values.of({'Data': serialize.object(data), }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return DocumentInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - @property - def document_permissions(self): - """ - Access the document_permissions - - :returns: twilio.rest.preview.sync.service.document.document_permission.DocumentPermissionList - :rtype: twilio.rest.preview.sync.service.document.document_permission.DocumentPermissionList - """ - if self._document_permissions is None: - self._document_permissions = DocumentPermissionList( - self._version, - service_sid=self._solution['service_sid'], - document_sid=self._solution['sid'], - ) - return self._document_permissions - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Sync.DocumentContext {}>'.format(context) - - -class DocumentInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the DocumentInstance - - :returns: twilio.rest.preview.sync.service.document.DocumentInstance - :rtype: twilio.rest.preview.sync.service.document.DocumentInstance - """ - super(DocumentInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'unique_name': payload['unique_name'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'url': payload['url'], - 'links': payload['links'], - 'revision': payload['revision'], - 'data': payload['data'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'created_by': payload['created_by'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: DocumentContext for this DocumentInstance - :rtype: twilio.rest.preview.sync.service.document.DocumentContext - """ - if self._context is None: - self._context = DocumentContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def unique_name(self): - """ - :returns: The unique_name - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - @property - def revision(self): - """ - :returns: The revision - :rtype: unicode - """ - return self._properties['revision'] - - @property - def data(self): - """ - :returns: The data - :rtype: dict - """ - return self._properties['data'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def created_by(self): - """ - :returns: The created_by - :rtype: unicode - """ - return self._properties['created_by'] - - def fetch(self): - """ - Fetch a DocumentInstance - - :returns: Fetched DocumentInstance - :rtype: twilio.rest.preview.sync.service.document.DocumentInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the DocumentInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, data): - """ - Update the DocumentInstance - - :param dict data: The data - - :returns: Updated DocumentInstance - :rtype: twilio.rest.preview.sync.service.document.DocumentInstance - """ - return self._proxy.update(data, ) - - @property - def document_permissions(self): - """ - Access the document_permissions - - :returns: twilio.rest.preview.sync.service.document.document_permission.DocumentPermissionList - :rtype: twilio.rest.preview.sync.service.document.document_permission.DocumentPermissionList - """ - return self._proxy.document_permissions - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Sync.DocumentInstance {}>'.format(context) diff --git a/twilio/rest/preview/sync/service/document/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/sync/service/document/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index cbd7df2d4cb2a26951eb05cbf24184604d2ddf66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17463 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 diff --git a/twilio/rest/preview/sync/service/document/__pycache__/document_permission.cpython-36.pyc b/twilio/rest/preview/sync/service/document/__pycache__/document_permission.cpython-36.pyc deleted file mode 100644 index 6268e0acc5625bf08d9c02c682669f33ba7ab41c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17357 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 diff --git a/twilio/rest/preview/sync/service/document/document_permission.py b/twilio/rest/preview/sync/service/document/document_permission.py deleted file mode 100644 index 4947708..0000000 --- a/twilio/rest/preview/sync/service/document/document_permission.py +++ /dev/null @@ -1,457 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class DocumentPermissionList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, document_sid): - """ - Initialize the DocumentPermissionList - - :param Version version: Version that contains the resource - :param service_sid: Sync Service Instance SID. - :param document_sid: Sync Document SID. - - :returns: twilio.rest.preview.sync.service.document.document_permission.DocumentPermissionList - :rtype: twilio.rest.preview.sync.service.document.document_permission.DocumentPermissionList - """ - super(DocumentPermissionList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'document_sid': document_sid, } - self._uri = '/Services/{service_sid}/Documents/{document_sid}/Permissions'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams DocumentPermissionInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.sync.service.document.document_permission.DocumentPermissionInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists DocumentPermissionInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.sync.service.document.document_permission.DocumentPermissionInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of DocumentPermissionInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of DocumentPermissionInstance - :rtype: twilio.rest.preview.sync.service.document.document_permission.DocumentPermissionPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return DocumentPermissionPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of DocumentPermissionInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of DocumentPermissionInstance - :rtype: twilio.rest.preview.sync.service.document.document_permission.DocumentPermissionPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return DocumentPermissionPage(self._version, response, self._solution) - - def get(self, identity): - """ - Constructs a DocumentPermissionContext - - :param identity: Identity of the user to whom the Sync Document Permission applies. - - :returns: twilio.rest.preview.sync.service.document.document_permission.DocumentPermissionContext - :rtype: twilio.rest.preview.sync.service.document.document_permission.DocumentPermissionContext - """ - return DocumentPermissionContext( - self._version, - service_sid=self._solution['service_sid'], - document_sid=self._solution['document_sid'], - identity=identity, - ) - - def __call__(self, identity): - """ - Constructs a DocumentPermissionContext - - :param identity: Identity of the user to whom the Sync Document Permission applies. - - :returns: twilio.rest.preview.sync.service.document.document_permission.DocumentPermissionContext - :rtype: twilio.rest.preview.sync.service.document.document_permission.DocumentPermissionContext - """ - return DocumentPermissionContext( - self._version, - service_sid=self._solution['service_sid'], - document_sid=self._solution['document_sid'], - identity=identity, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Sync.DocumentPermissionList>' - - -class DocumentPermissionPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the DocumentPermissionPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: Sync Service Instance SID. - :param document_sid: Sync Document SID. - - :returns: twilio.rest.preview.sync.service.document.document_permission.DocumentPermissionPage - :rtype: twilio.rest.preview.sync.service.document.document_permission.DocumentPermissionPage - """ - super(DocumentPermissionPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of DocumentPermissionInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.sync.service.document.document_permission.DocumentPermissionInstance - :rtype: twilio.rest.preview.sync.service.document.document_permission.DocumentPermissionInstance - """ - return DocumentPermissionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - document_sid=self._solution['document_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Sync.DocumentPermissionPage>' - - -class DocumentPermissionContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, document_sid, identity): - """ - Initialize the DocumentPermissionContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param document_sid: Sync Document SID or unique name. - :param identity: Identity of the user to whom the Sync Document Permission applies. - - :returns: twilio.rest.preview.sync.service.document.document_permission.DocumentPermissionContext - :rtype: twilio.rest.preview.sync.service.document.document_permission.DocumentPermissionContext - """ - super(DocumentPermissionContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'document_sid': document_sid, 'identity': identity, } - self._uri = '/Services/{service_sid}/Documents/{document_sid}/Permissions/{identity}'.format(**self._solution) - - def fetch(self): - """ - Fetch a DocumentPermissionInstance - - :returns: Fetched DocumentPermissionInstance - :rtype: twilio.rest.preview.sync.service.document.document_permission.DocumentPermissionInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return DocumentPermissionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - document_sid=self._solution['document_sid'], - identity=self._solution['identity'], - ) - - def delete(self): - """ - Deletes the DocumentPermissionInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, read, write, manage): - """ - Update the DocumentPermissionInstance - - :param bool read: Read access. - :param bool write: Write access. - :param bool manage: Manage access. - - :returns: Updated DocumentPermissionInstance - :rtype: twilio.rest.preview.sync.service.document.document_permission.DocumentPermissionInstance - """ - data = values.of({'Read': read, 'Write': write, 'Manage': manage, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return DocumentPermissionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - document_sid=self._solution['document_sid'], - identity=self._solution['identity'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Sync.DocumentPermissionContext {}>'.format(context) - - -class DocumentPermissionInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, service_sid, document_sid, identity=None): - """ - Initialize the DocumentPermissionInstance - - :returns: twilio.rest.preview.sync.service.document.document_permission.DocumentPermissionInstance - :rtype: twilio.rest.preview.sync.service.document.document_permission.DocumentPermissionInstance - """ - super(DocumentPermissionInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'document_sid': payload['document_sid'], - 'identity': payload['identity'], - 'read': payload['read'], - 'write': payload['write'], - 'manage': payload['manage'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'document_sid': document_sid, - 'identity': identity or self._properties['identity'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: DocumentPermissionContext for this DocumentPermissionInstance - :rtype: twilio.rest.preview.sync.service.document.document_permission.DocumentPermissionContext - """ - if self._context is None: - self._context = DocumentPermissionContext( - self._version, - service_sid=self._solution['service_sid'], - document_sid=self._solution['document_sid'], - identity=self._solution['identity'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: Twilio Account SID. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: Sync Service Instance SID. - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def document_sid(self): - """ - :returns: Sync Document SID. - :rtype: unicode - """ - return self._properties['document_sid'] - - @property - def identity(self): - """ - :returns: Identity of the user to whom the Sync Document Permission applies. - :rtype: unicode - """ - return self._properties['identity'] - - @property - def read(self): - """ - :returns: Read access. - :rtype: bool - """ - return self._properties['read'] - - @property - def write(self): - """ - :returns: Write access. - :rtype: bool - """ - return self._properties['write'] - - @property - def manage(self): - """ - :returns: Manage access. - :rtype: bool - """ - return self._properties['manage'] - - @property - def url(self): - """ - :returns: URL of this Sync Document Permission. - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a DocumentPermissionInstance - - :returns: Fetched DocumentPermissionInstance - :rtype: twilio.rest.preview.sync.service.document.document_permission.DocumentPermissionInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the DocumentPermissionInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, read, write, manage): - """ - Update the DocumentPermissionInstance - - :param bool read: Read access. - :param bool write: Write access. - :param bool manage: Manage access. - - :returns: Updated DocumentPermissionInstance - :rtype: twilio.rest.preview.sync.service.document.document_permission.DocumentPermissionInstance - """ - return self._proxy.update(read, write, manage, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Sync.DocumentPermissionInstance {}>'.format(context) diff --git a/twilio/rest/preview/sync/service/sync_list/__init__.py b/twilio/rest/preview/sync/service/sync_list/__init__.py deleted file mode 100644 index 6d2f193..0000000 --- a/twilio/rest/preview/sync/service/sync_list/__init__.py +++ /dev/null @@ -1,489 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.preview.sync.service.sync_list.sync_list_item import SyncListItemList -from twilio.rest.preview.sync.service.sync_list.sync_list_permission import SyncListPermissionList - - -class SyncListList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid): - """ - Initialize the SyncListList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.preview.sync.service.sync_list.SyncListList - :rtype: twilio.rest.preview.sync.service.sync_list.SyncListList - """ - super(SyncListList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Lists'.format(**self._solution) - - def create(self, unique_name=values.unset): - """ - Create a new SyncListInstance - - :param unicode unique_name: The unique_name - - :returns: Newly created SyncListInstance - :rtype: twilio.rest.preview.sync.service.sync_list.SyncListInstance - """ - data = values.of({'UniqueName': unique_name, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return SyncListInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, limit=None, page_size=None): - """ - Streams SyncListInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.sync.service.sync_list.SyncListInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists SyncListInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.sync.service.sync_list.SyncListInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of SyncListInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of SyncListInstance - :rtype: twilio.rest.preview.sync.service.sync_list.SyncListPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return SyncListPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of SyncListInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of SyncListInstance - :rtype: twilio.rest.preview.sync.service.sync_list.SyncListPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return SyncListPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a SyncListContext - - :param sid: The sid - - :returns: twilio.rest.preview.sync.service.sync_list.SyncListContext - :rtype: twilio.rest.preview.sync.service.sync_list.SyncListContext - """ - return SyncListContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a SyncListContext - - :param sid: The sid - - :returns: twilio.rest.preview.sync.service.sync_list.SyncListContext - :rtype: twilio.rest.preview.sync.service.sync_list.SyncListContext - """ - return SyncListContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Sync.SyncListList>' - - -class SyncListPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the SyncListPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.preview.sync.service.sync_list.SyncListPage - :rtype: twilio.rest.preview.sync.service.sync_list.SyncListPage - """ - super(SyncListPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of SyncListInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.sync.service.sync_list.SyncListInstance - :rtype: twilio.rest.preview.sync.service.sync_list.SyncListInstance - """ - return SyncListInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Sync.SyncListPage>' - - -class SyncListContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the SyncListContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.preview.sync.service.sync_list.SyncListContext - :rtype: twilio.rest.preview.sync.service.sync_list.SyncListContext - """ - super(SyncListContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Lists/{sid}'.format(**self._solution) - - # Dependents - self._sync_list_items = None - self._sync_list_permissions = None - - def fetch(self): - """ - Fetch a SyncListInstance - - :returns: Fetched SyncListInstance - :rtype: twilio.rest.preview.sync.service.sync_list.SyncListInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return SyncListInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the SyncListInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - @property - def sync_list_items(self): - """ - Access the sync_list_items - - :returns: twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemList - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemList - """ - if self._sync_list_items is None: - self._sync_list_items = SyncListItemList( - self._version, - service_sid=self._solution['service_sid'], - list_sid=self._solution['sid'], - ) - return self._sync_list_items - - @property - def sync_list_permissions(self): - """ - Access the sync_list_permissions - - :returns: twilio.rest.preview.sync.service.sync_list.sync_list_permission.SyncListPermissionList - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_permission.SyncListPermissionList - """ - if self._sync_list_permissions is None: - self._sync_list_permissions = SyncListPermissionList( - self._version, - service_sid=self._solution['service_sid'], - list_sid=self._solution['sid'], - ) - return self._sync_list_permissions - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Sync.SyncListContext {}>'.format(context) - - -class SyncListInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the SyncListInstance - - :returns: twilio.rest.preview.sync.service.sync_list.SyncListInstance - :rtype: twilio.rest.preview.sync.service.sync_list.SyncListInstance - """ - super(SyncListInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'unique_name': payload['unique_name'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'url': payload['url'], - 'links': payload['links'], - 'revision': payload['revision'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'created_by': payload['created_by'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: SyncListContext for this SyncListInstance - :rtype: twilio.rest.preview.sync.service.sync_list.SyncListContext - """ - if self._context is None: - self._context = SyncListContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def unique_name(self): - """ - :returns: The unique_name - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - @property - def revision(self): - """ - :returns: The revision - :rtype: unicode - """ - return self._properties['revision'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def created_by(self): - """ - :returns: The created_by - :rtype: unicode - """ - return self._properties['created_by'] - - def fetch(self): - """ - Fetch a SyncListInstance - - :returns: Fetched SyncListInstance - :rtype: twilio.rest.preview.sync.service.sync_list.SyncListInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the SyncListInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - @property - def sync_list_items(self): - """ - Access the sync_list_items - - :returns: twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemList - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemList - """ - return self._proxy.sync_list_items - - @property - def sync_list_permissions(self): - """ - Access the sync_list_permissions - - :returns: twilio.rest.preview.sync.service.sync_list.sync_list_permission.SyncListPermissionList - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_permission.SyncListPermissionList - """ - return self._proxy.sync_list_permissions - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Sync.SyncListInstance {}>'.format(context) diff --git a/twilio/rest/preview/sync/service/sync_list/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/sync/service/sync_list/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 310b37f682abfb596fd7aebb6949b6aa28af281d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17311 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 SASCTyw*C|2`TBS2;(q~?@aSj& diff --git a/twilio/rest/preview/sync/service/sync_list/__pycache__/sync_list_item.cpython-36.pyc b/twilio/rest/preview/sync/service/sync_list/__pycache__/sync_list_item.cpython-36.pyc deleted file mode 100644 index 5e6891752ff900068e23e8ae5532d506825c2b77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18425 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 diff --git a/twilio/rest/preview/sync/service/sync_list/__pycache__/sync_list_permission.cpython-36.pyc b/twilio/rest/preview/sync/service/sync_list/__pycache__/sync_list_permission.cpython-36.pyc deleted file mode 100644 index f6ab3ea840334a31042b5e0788bfea52c4e469f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17333 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 Y%I0tpBT5*}^j~4|C&rn@<;9Qx7r`Qv@c;k- diff --git a/twilio/rest/preview/sync/service/sync_list/sync_list_item.py b/twilio/rest/preview/sync/service/sync_list/sync_list_item.py deleted file mode 100644 index a3e7190..0000000 --- a/twilio/rest/preview/sync/service/sync_list/sync_list_item.py +++ /dev/null @@ -1,524 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class SyncListItemList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, list_sid): - """ - Initialize the SyncListItemList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param list_sid: The list_sid - - :returns: twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemList - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemList - """ - super(SyncListItemList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'list_sid': list_sid, } - self._uri = '/Services/{service_sid}/Lists/{list_sid}/Items'.format(**self._solution) - - def create(self, data): - """ - Create a new SyncListItemInstance - - :param dict data: The data - - :returns: Newly created SyncListItemInstance - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemInstance - """ - data = values.of({'Data': serialize.object(data), }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return SyncListItemInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - list_sid=self._solution['list_sid'], - ) - - def stream(self, order=values.unset, from_=values.unset, bounds=values.unset, - limit=None, page_size=None): - """ - Streams SyncListItemInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param SyncListItemInstance.QueryResultOrder order: The order - :param unicode from_: The from - :param SyncListItemInstance.QueryFromBoundType bounds: The bounds - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(order=order, from_=from_, bounds=bounds, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, order=values.unset, from_=values.unset, bounds=values.unset, - limit=None, page_size=None): - """ - Lists SyncListItemInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param SyncListItemInstance.QueryResultOrder order: The order - :param unicode from_: The from - :param SyncListItemInstance.QueryFromBoundType bounds: The bounds - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemInstance] - """ - return list(self.stream(order=order, from_=from_, bounds=bounds, limit=limit, page_size=page_size, )) - - def page(self, order=values.unset, from_=values.unset, bounds=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of SyncListItemInstance records from the API. - Request is executed immediately - - :param SyncListItemInstance.QueryResultOrder order: The order - :param unicode from_: The from - :param SyncListItemInstance.QueryFromBoundType bounds: The bounds - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of SyncListItemInstance - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemPage - """ - params = values.of({ - 'Order': order, - 'From': from_, - 'Bounds': bounds, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return SyncListItemPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of SyncListItemInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of SyncListItemInstance - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return SyncListItemPage(self._version, response, self._solution) - - def get(self, index): - """ - Constructs a SyncListItemContext - - :param index: The index - - :returns: twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemContext - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemContext - """ - return SyncListItemContext( - self._version, - service_sid=self._solution['service_sid'], - list_sid=self._solution['list_sid'], - index=index, - ) - - def __call__(self, index): - """ - Constructs a SyncListItemContext - - :param index: The index - - :returns: twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemContext - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemContext - """ - return SyncListItemContext( - self._version, - service_sid=self._solution['service_sid'], - list_sid=self._solution['list_sid'], - index=index, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Sync.SyncListItemList>' - - -class SyncListItemPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the SyncListItemPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - :param list_sid: The list_sid - - :returns: twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemPage - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemPage - """ - super(SyncListItemPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of SyncListItemInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemInstance - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemInstance - """ - return SyncListItemInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - list_sid=self._solution['list_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Sync.SyncListItemPage>' - - -class SyncListItemContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, list_sid, index): - """ - Initialize the SyncListItemContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param list_sid: The list_sid - :param index: The index - - :returns: twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemContext - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemContext - """ - super(SyncListItemContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'list_sid': list_sid, 'index': index, } - self._uri = '/Services/{service_sid}/Lists/{list_sid}/Items/{index}'.format(**self._solution) - - def fetch(self): - """ - Fetch a SyncListItemInstance - - :returns: Fetched SyncListItemInstance - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return SyncListItemInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - list_sid=self._solution['list_sid'], - index=self._solution['index'], - ) - - def delete(self): - """ - Deletes the SyncListItemInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, data): - """ - Update the SyncListItemInstance - - :param dict data: The data - - :returns: Updated SyncListItemInstance - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemInstance - """ - data = values.of({'Data': serialize.object(data), }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return SyncListItemInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - list_sid=self._solution['list_sid'], - index=self._solution['index'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Sync.SyncListItemContext {}>'.format(context) - - -class SyncListItemInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - class QueryResultOrder(object): - ASC = "asc" - DESC = "desc" - - class QueryFromBoundType(object): - INCLUSIVE = "inclusive" - EXCLUSIVE = "exclusive" - - def __init__(self, version, payload, service_sid, list_sid, index=None): - """ - Initialize the SyncListItemInstance - - :returns: twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemInstance - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemInstance - """ - super(SyncListItemInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'index': deserialize.integer(payload['index']), - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'list_sid': payload['list_sid'], - 'url': payload['url'], - 'revision': payload['revision'], - 'data': payload['data'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'created_by': payload['created_by'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'list_sid': list_sid, - 'index': index or self._properties['index'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: SyncListItemContext for this SyncListItemInstance - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemContext - """ - if self._context is None: - self._context = SyncListItemContext( - self._version, - service_sid=self._solution['service_sid'], - list_sid=self._solution['list_sid'], - index=self._solution['index'], - ) - return self._context - - @property - def index(self): - """ - :returns: The index - :rtype: unicode - """ - return self._properties['index'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def list_sid(self): - """ - :returns: The list_sid - :rtype: unicode - """ - return self._properties['list_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def revision(self): - """ - :returns: The revision - :rtype: unicode - """ - return self._properties['revision'] - - @property - def data(self): - """ - :returns: The data - :rtype: dict - """ - return self._properties['data'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def created_by(self): - """ - :returns: The created_by - :rtype: unicode - """ - return self._properties['created_by'] - - def fetch(self): - """ - Fetch a SyncListItemInstance - - :returns: Fetched SyncListItemInstance - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the SyncListItemInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, data): - """ - Update the SyncListItemInstance - - :param dict data: The data - - :returns: Updated SyncListItemInstance - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_item.SyncListItemInstance - """ - return self._proxy.update(data, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Sync.SyncListItemInstance {}>'.format(context) diff --git a/twilio/rest/preview/sync/service/sync_list/sync_list_permission.py b/twilio/rest/preview/sync/service/sync_list/sync_list_permission.py deleted file mode 100644 index 0e612e2..0000000 --- a/twilio/rest/preview/sync/service/sync_list/sync_list_permission.py +++ /dev/null @@ -1,457 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class SyncListPermissionList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, list_sid): - """ - Initialize the SyncListPermissionList - - :param Version version: Version that contains the resource - :param service_sid: Sync Service Instance SID. - :param list_sid: Sync List SID. - - :returns: twilio.rest.preview.sync.service.sync_list.sync_list_permission.SyncListPermissionList - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_permission.SyncListPermissionList - """ - super(SyncListPermissionList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'list_sid': list_sid, } - self._uri = '/Services/{service_sid}/Lists/{list_sid}/Permissions'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams SyncListPermissionInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.sync.service.sync_list.sync_list_permission.SyncListPermissionInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists SyncListPermissionInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.sync.service.sync_list.sync_list_permission.SyncListPermissionInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of SyncListPermissionInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of SyncListPermissionInstance - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_permission.SyncListPermissionPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return SyncListPermissionPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of SyncListPermissionInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of SyncListPermissionInstance - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_permission.SyncListPermissionPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return SyncListPermissionPage(self._version, response, self._solution) - - def get(self, identity): - """ - Constructs a SyncListPermissionContext - - :param identity: Identity of the user to whom the Sync List Permission applies. - - :returns: twilio.rest.preview.sync.service.sync_list.sync_list_permission.SyncListPermissionContext - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_permission.SyncListPermissionContext - """ - return SyncListPermissionContext( - self._version, - service_sid=self._solution['service_sid'], - list_sid=self._solution['list_sid'], - identity=identity, - ) - - def __call__(self, identity): - """ - Constructs a SyncListPermissionContext - - :param identity: Identity of the user to whom the Sync List Permission applies. - - :returns: twilio.rest.preview.sync.service.sync_list.sync_list_permission.SyncListPermissionContext - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_permission.SyncListPermissionContext - """ - return SyncListPermissionContext( - self._version, - service_sid=self._solution['service_sid'], - list_sid=self._solution['list_sid'], - identity=identity, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Sync.SyncListPermissionList>' - - -class SyncListPermissionPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the SyncListPermissionPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: Sync Service Instance SID. - :param list_sid: Sync List SID. - - :returns: twilio.rest.preview.sync.service.sync_list.sync_list_permission.SyncListPermissionPage - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_permission.SyncListPermissionPage - """ - super(SyncListPermissionPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of SyncListPermissionInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.sync.service.sync_list.sync_list_permission.SyncListPermissionInstance - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_permission.SyncListPermissionInstance - """ - return SyncListPermissionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - list_sid=self._solution['list_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Sync.SyncListPermissionPage>' - - -class SyncListPermissionContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, list_sid, identity): - """ - Initialize the SyncListPermissionContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param list_sid: Sync List SID or unique name. - :param identity: Identity of the user to whom the Sync List Permission applies. - - :returns: twilio.rest.preview.sync.service.sync_list.sync_list_permission.SyncListPermissionContext - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_permission.SyncListPermissionContext - """ - super(SyncListPermissionContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'list_sid': list_sid, 'identity': identity, } - self._uri = '/Services/{service_sid}/Lists/{list_sid}/Permissions/{identity}'.format(**self._solution) - - def fetch(self): - """ - Fetch a SyncListPermissionInstance - - :returns: Fetched SyncListPermissionInstance - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_permission.SyncListPermissionInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return SyncListPermissionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - list_sid=self._solution['list_sid'], - identity=self._solution['identity'], - ) - - def delete(self): - """ - Deletes the SyncListPermissionInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, read, write, manage): - """ - Update the SyncListPermissionInstance - - :param bool read: Read access. - :param bool write: Write access. - :param bool manage: Manage access. - - :returns: Updated SyncListPermissionInstance - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_permission.SyncListPermissionInstance - """ - data = values.of({'Read': read, 'Write': write, 'Manage': manage, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return SyncListPermissionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - list_sid=self._solution['list_sid'], - identity=self._solution['identity'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Sync.SyncListPermissionContext {}>'.format(context) - - -class SyncListPermissionInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, service_sid, list_sid, identity=None): - """ - Initialize the SyncListPermissionInstance - - :returns: twilio.rest.preview.sync.service.sync_list.sync_list_permission.SyncListPermissionInstance - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_permission.SyncListPermissionInstance - """ - super(SyncListPermissionInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'list_sid': payload['list_sid'], - 'identity': payload['identity'], - 'read': payload['read'], - 'write': payload['write'], - 'manage': payload['manage'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'list_sid': list_sid, - 'identity': identity or self._properties['identity'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: SyncListPermissionContext for this SyncListPermissionInstance - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_permission.SyncListPermissionContext - """ - if self._context is None: - self._context = SyncListPermissionContext( - self._version, - service_sid=self._solution['service_sid'], - list_sid=self._solution['list_sid'], - identity=self._solution['identity'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: Twilio Account SID. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: Sync Service Instance SID. - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def list_sid(self): - """ - :returns: Sync List SID. - :rtype: unicode - """ - return self._properties['list_sid'] - - @property - def identity(self): - """ - :returns: Identity of the user to whom the Sync List Permission applies. - :rtype: unicode - """ - return self._properties['identity'] - - @property - def read(self): - """ - :returns: Read access. - :rtype: bool - """ - return self._properties['read'] - - @property - def write(self): - """ - :returns: Write access. - :rtype: bool - """ - return self._properties['write'] - - @property - def manage(self): - """ - :returns: Manage access. - :rtype: bool - """ - return self._properties['manage'] - - @property - def url(self): - """ - :returns: URL of this Sync List Permission. - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a SyncListPermissionInstance - - :returns: Fetched SyncListPermissionInstance - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_permission.SyncListPermissionInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the SyncListPermissionInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, read, write, manage): - """ - Update the SyncListPermissionInstance - - :param bool read: Read access. - :param bool write: Write access. - :param bool manage: Manage access. - - :returns: Updated SyncListPermissionInstance - :rtype: twilio.rest.preview.sync.service.sync_list.sync_list_permission.SyncListPermissionInstance - """ - return self._proxy.update(read, write, manage, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Sync.SyncListPermissionInstance {}>'.format(context) diff --git a/twilio/rest/preview/sync/service/sync_map/__init__.py b/twilio/rest/preview/sync/service/sync_map/__init__.py deleted file mode 100644 index 4cfc5d5..0000000 --- a/twilio/rest/preview/sync/service/sync_map/__init__.py +++ /dev/null @@ -1,489 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.preview.sync.service.sync_map.sync_map_item import SyncMapItemList -from twilio.rest.preview.sync.service.sync_map.sync_map_permission import SyncMapPermissionList - - -class SyncMapList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid): - """ - Initialize the SyncMapList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.preview.sync.service.sync_map.SyncMapList - :rtype: twilio.rest.preview.sync.service.sync_map.SyncMapList - """ - super(SyncMapList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Maps'.format(**self._solution) - - def create(self, unique_name=values.unset): - """ - Create a new SyncMapInstance - - :param unicode unique_name: The unique_name - - :returns: Newly created SyncMapInstance - :rtype: twilio.rest.preview.sync.service.sync_map.SyncMapInstance - """ - data = values.of({'UniqueName': unique_name, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return SyncMapInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, limit=None, page_size=None): - """ - Streams SyncMapInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.sync.service.sync_map.SyncMapInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists SyncMapInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.sync.service.sync_map.SyncMapInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of SyncMapInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of SyncMapInstance - :rtype: twilio.rest.preview.sync.service.sync_map.SyncMapPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return SyncMapPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of SyncMapInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of SyncMapInstance - :rtype: twilio.rest.preview.sync.service.sync_map.SyncMapPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return SyncMapPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a SyncMapContext - - :param sid: The sid - - :returns: twilio.rest.preview.sync.service.sync_map.SyncMapContext - :rtype: twilio.rest.preview.sync.service.sync_map.SyncMapContext - """ - return SyncMapContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a SyncMapContext - - :param sid: The sid - - :returns: twilio.rest.preview.sync.service.sync_map.SyncMapContext - :rtype: twilio.rest.preview.sync.service.sync_map.SyncMapContext - """ - return SyncMapContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Sync.SyncMapList>' - - -class SyncMapPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the SyncMapPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.preview.sync.service.sync_map.SyncMapPage - :rtype: twilio.rest.preview.sync.service.sync_map.SyncMapPage - """ - super(SyncMapPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of SyncMapInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.sync.service.sync_map.SyncMapInstance - :rtype: twilio.rest.preview.sync.service.sync_map.SyncMapInstance - """ - return SyncMapInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Sync.SyncMapPage>' - - -class SyncMapContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the SyncMapContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.preview.sync.service.sync_map.SyncMapContext - :rtype: twilio.rest.preview.sync.service.sync_map.SyncMapContext - """ - super(SyncMapContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Maps/{sid}'.format(**self._solution) - - # Dependents - self._sync_map_items = None - self._sync_map_permissions = None - - def fetch(self): - """ - Fetch a SyncMapInstance - - :returns: Fetched SyncMapInstance - :rtype: twilio.rest.preview.sync.service.sync_map.SyncMapInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return SyncMapInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the SyncMapInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - @property - def sync_map_items(self): - """ - Access the sync_map_items - - :returns: twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemList - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemList - """ - if self._sync_map_items is None: - self._sync_map_items = SyncMapItemList( - self._version, - service_sid=self._solution['service_sid'], - map_sid=self._solution['sid'], - ) - return self._sync_map_items - - @property - def sync_map_permissions(self): - """ - Access the sync_map_permissions - - :returns: twilio.rest.preview.sync.service.sync_map.sync_map_permission.SyncMapPermissionList - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_permission.SyncMapPermissionList - """ - if self._sync_map_permissions is None: - self._sync_map_permissions = SyncMapPermissionList( - self._version, - service_sid=self._solution['service_sid'], - map_sid=self._solution['sid'], - ) - return self._sync_map_permissions - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Sync.SyncMapContext {}>'.format(context) - - -class SyncMapInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the SyncMapInstance - - :returns: twilio.rest.preview.sync.service.sync_map.SyncMapInstance - :rtype: twilio.rest.preview.sync.service.sync_map.SyncMapInstance - """ - super(SyncMapInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'unique_name': payload['unique_name'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'url': payload['url'], - 'links': payload['links'], - 'revision': payload['revision'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'created_by': payload['created_by'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: SyncMapContext for this SyncMapInstance - :rtype: twilio.rest.preview.sync.service.sync_map.SyncMapContext - """ - if self._context is None: - self._context = SyncMapContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def unique_name(self): - """ - :returns: The unique_name - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - @property - def revision(self): - """ - :returns: The revision - :rtype: unicode - """ - return self._properties['revision'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def created_by(self): - """ - :returns: The created_by - :rtype: unicode - """ - return self._properties['created_by'] - - def fetch(self): - """ - Fetch a SyncMapInstance - - :returns: Fetched SyncMapInstance - :rtype: twilio.rest.preview.sync.service.sync_map.SyncMapInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the SyncMapInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - @property - def sync_map_items(self): - """ - Access the sync_map_items - - :returns: twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemList - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemList - """ - return self._proxy.sync_map_items - - @property - def sync_map_permissions(self): - """ - Access the sync_map_permissions - - :returns: twilio.rest.preview.sync.service.sync_map.sync_map_permission.SyncMapPermissionList - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_permission.SyncMapPermissionList - """ - return self._proxy.sync_map_permissions - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Sync.SyncMapInstance {}>'.format(context) diff --git a/twilio/rest/preview/sync/service/sync_map/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/sync/service/sync_map/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index d8eec9de05252c9a38490588e07163444fc83e4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17147 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 diff --git a/twilio/rest/preview/sync/service/sync_map/__pycache__/sync_map_item.cpython-36.pyc b/twilio/rest/preview/sync/service/sync_map/__pycache__/sync_map_item.cpython-36.pyc deleted file mode 100644 index f81bffd992a0dadbef8037f02d944e3cb0a0088a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18278 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 P|K;jGw$9a;>Oc4&fVIW{ diff --git a/twilio/rest/preview/sync/service/sync_map/__pycache__/sync_map_permission.cpython-36.pyc b/twilio/rest/preview/sync/service/sync_map/__pycache__/sync_map_permission.cpython-36.pyc deleted file mode 100644 index 4d96d6934f06e7aaefb0b0f3106cfa70ba59a06a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17179 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 S49)akVewClbBoK1AN?;x07vft diff --git a/twilio/rest/preview/sync/service/sync_map/sync_map_item.py b/twilio/rest/preview/sync/service/sync_map/sync_map_item.py deleted file mode 100644 index 079dd9d..0000000 --- a/twilio/rest/preview/sync/service/sync_map/sync_map_item.py +++ /dev/null @@ -1,525 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class SyncMapItemList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, map_sid): - """ - Initialize the SyncMapItemList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param map_sid: The map_sid - - :returns: twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemList - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemList - """ - super(SyncMapItemList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'map_sid': map_sid, } - self._uri = '/Services/{service_sid}/Maps/{map_sid}/Items'.format(**self._solution) - - def create(self, key, data): - """ - Create a new SyncMapItemInstance - - :param unicode key: The key - :param dict data: The data - - :returns: Newly created SyncMapItemInstance - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemInstance - """ - data = values.of({'Key': key, 'Data': serialize.object(data), }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return SyncMapItemInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - map_sid=self._solution['map_sid'], - ) - - def stream(self, order=values.unset, from_=values.unset, bounds=values.unset, - limit=None, page_size=None): - """ - Streams SyncMapItemInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param SyncMapItemInstance.QueryResultOrder order: The order - :param unicode from_: The from - :param SyncMapItemInstance.QueryFromBoundType bounds: The bounds - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(order=order, from_=from_, bounds=bounds, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, order=values.unset, from_=values.unset, bounds=values.unset, - limit=None, page_size=None): - """ - Lists SyncMapItemInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param SyncMapItemInstance.QueryResultOrder order: The order - :param unicode from_: The from - :param SyncMapItemInstance.QueryFromBoundType bounds: The bounds - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemInstance] - """ - return list(self.stream(order=order, from_=from_, bounds=bounds, limit=limit, page_size=page_size, )) - - def page(self, order=values.unset, from_=values.unset, bounds=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of SyncMapItemInstance records from the API. - Request is executed immediately - - :param SyncMapItemInstance.QueryResultOrder order: The order - :param unicode from_: The from - :param SyncMapItemInstance.QueryFromBoundType bounds: The bounds - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of SyncMapItemInstance - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemPage - """ - params = values.of({ - 'Order': order, - 'From': from_, - 'Bounds': bounds, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return SyncMapItemPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of SyncMapItemInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of SyncMapItemInstance - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return SyncMapItemPage(self._version, response, self._solution) - - def get(self, key): - """ - Constructs a SyncMapItemContext - - :param key: The key - - :returns: twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemContext - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemContext - """ - return SyncMapItemContext( - self._version, - service_sid=self._solution['service_sid'], - map_sid=self._solution['map_sid'], - key=key, - ) - - def __call__(self, key): - """ - Constructs a SyncMapItemContext - - :param key: The key - - :returns: twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemContext - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemContext - """ - return SyncMapItemContext( - self._version, - service_sid=self._solution['service_sid'], - map_sid=self._solution['map_sid'], - key=key, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Sync.SyncMapItemList>' - - -class SyncMapItemPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the SyncMapItemPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - :param map_sid: The map_sid - - :returns: twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemPage - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemPage - """ - super(SyncMapItemPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of SyncMapItemInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemInstance - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemInstance - """ - return SyncMapItemInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - map_sid=self._solution['map_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Sync.SyncMapItemPage>' - - -class SyncMapItemContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, map_sid, key): - """ - Initialize the SyncMapItemContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param map_sid: The map_sid - :param key: The key - - :returns: twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemContext - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemContext - """ - super(SyncMapItemContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'map_sid': map_sid, 'key': key, } - self._uri = '/Services/{service_sid}/Maps/{map_sid}/Items/{key}'.format(**self._solution) - - def fetch(self): - """ - Fetch a SyncMapItemInstance - - :returns: Fetched SyncMapItemInstance - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return SyncMapItemInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - map_sid=self._solution['map_sid'], - key=self._solution['key'], - ) - - def delete(self): - """ - Deletes the SyncMapItemInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, data): - """ - Update the SyncMapItemInstance - - :param dict data: The data - - :returns: Updated SyncMapItemInstance - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemInstance - """ - data = values.of({'Data': serialize.object(data), }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return SyncMapItemInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - map_sid=self._solution['map_sid'], - key=self._solution['key'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Sync.SyncMapItemContext {}>'.format(context) - - -class SyncMapItemInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - class QueryResultOrder(object): - ASC = "asc" - DESC = "desc" - - class QueryFromBoundType(object): - INCLUSIVE = "inclusive" - EXCLUSIVE = "exclusive" - - def __init__(self, version, payload, service_sid, map_sid, key=None): - """ - Initialize the SyncMapItemInstance - - :returns: twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemInstance - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemInstance - """ - super(SyncMapItemInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'key': payload['key'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'map_sid': payload['map_sid'], - 'url': payload['url'], - 'revision': payload['revision'], - 'data': payload['data'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'created_by': payload['created_by'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'map_sid': map_sid, - 'key': key or self._properties['key'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: SyncMapItemContext for this SyncMapItemInstance - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemContext - """ - if self._context is None: - self._context = SyncMapItemContext( - self._version, - service_sid=self._solution['service_sid'], - map_sid=self._solution['map_sid'], - key=self._solution['key'], - ) - return self._context - - @property - def key(self): - """ - :returns: The key - :rtype: unicode - """ - return self._properties['key'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def map_sid(self): - """ - :returns: The map_sid - :rtype: unicode - """ - return self._properties['map_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def revision(self): - """ - :returns: The revision - :rtype: unicode - """ - return self._properties['revision'] - - @property - def data(self): - """ - :returns: The data - :rtype: dict - """ - return self._properties['data'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def created_by(self): - """ - :returns: The created_by - :rtype: unicode - """ - return self._properties['created_by'] - - def fetch(self): - """ - Fetch a SyncMapItemInstance - - :returns: Fetched SyncMapItemInstance - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the SyncMapItemInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, data): - """ - Update the SyncMapItemInstance - - :param dict data: The data - - :returns: Updated SyncMapItemInstance - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_item.SyncMapItemInstance - """ - return self._proxy.update(data, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Sync.SyncMapItemInstance {}>'.format(context) diff --git a/twilio/rest/preview/sync/service/sync_map/sync_map_permission.py b/twilio/rest/preview/sync/service/sync_map/sync_map_permission.py deleted file mode 100644 index 794ea9d..0000000 --- a/twilio/rest/preview/sync/service/sync_map/sync_map_permission.py +++ /dev/null @@ -1,457 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class SyncMapPermissionList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, map_sid): - """ - Initialize the SyncMapPermissionList - - :param Version version: Version that contains the resource - :param service_sid: Sync Service Instance SID. - :param map_sid: Sync Map SID. - - :returns: twilio.rest.preview.sync.service.sync_map.sync_map_permission.SyncMapPermissionList - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_permission.SyncMapPermissionList - """ - super(SyncMapPermissionList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'map_sid': map_sid, } - self._uri = '/Services/{service_sid}/Maps/{map_sid}/Permissions'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams SyncMapPermissionInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.sync.service.sync_map.sync_map_permission.SyncMapPermissionInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists SyncMapPermissionInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.sync.service.sync_map.sync_map_permission.SyncMapPermissionInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of SyncMapPermissionInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of SyncMapPermissionInstance - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_permission.SyncMapPermissionPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return SyncMapPermissionPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of SyncMapPermissionInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of SyncMapPermissionInstance - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_permission.SyncMapPermissionPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return SyncMapPermissionPage(self._version, response, self._solution) - - def get(self, identity): - """ - Constructs a SyncMapPermissionContext - - :param identity: Identity of the user to whom the Sync Map Permission applies. - - :returns: twilio.rest.preview.sync.service.sync_map.sync_map_permission.SyncMapPermissionContext - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_permission.SyncMapPermissionContext - """ - return SyncMapPermissionContext( - self._version, - service_sid=self._solution['service_sid'], - map_sid=self._solution['map_sid'], - identity=identity, - ) - - def __call__(self, identity): - """ - Constructs a SyncMapPermissionContext - - :param identity: Identity of the user to whom the Sync Map Permission applies. - - :returns: twilio.rest.preview.sync.service.sync_map.sync_map_permission.SyncMapPermissionContext - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_permission.SyncMapPermissionContext - """ - return SyncMapPermissionContext( - self._version, - service_sid=self._solution['service_sid'], - map_sid=self._solution['map_sid'], - identity=identity, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Sync.SyncMapPermissionList>' - - -class SyncMapPermissionPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the SyncMapPermissionPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: Sync Service Instance SID. - :param map_sid: Sync Map SID. - - :returns: twilio.rest.preview.sync.service.sync_map.sync_map_permission.SyncMapPermissionPage - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_permission.SyncMapPermissionPage - """ - super(SyncMapPermissionPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of SyncMapPermissionInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.sync.service.sync_map.sync_map_permission.SyncMapPermissionInstance - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_permission.SyncMapPermissionInstance - """ - return SyncMapPermissionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - map_sid=self._solution['map_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Sync.SyncMapPermissionPage>' - - -class SyncMapPermissionContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, map_sid, identity): - """ - Initialize the SyncMapPermissionContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param map_sid: Sync Map SID or unique name. - :param identity: Identity of the user to whom the Sync Map Permission applies. - - :returns: twilio.rest.preview.sync.service.sync_map.sync_map_permission.SyncMapPermissionContext - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_permission.SyncMapPermissionContext - """ - super(SyncMapPermissionContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'map_sid': map_sid, 'identity': identity, } - self._uri = '/Services/{service_sid}/Maps/{map_sid}/Permissions/{identity}'.format(**self._solution) - - def fetch(self): - """ - Fetch a SyncMapPermissionInstance - - :returns: Fetched SyncMapPermissionInstance - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_permission.SyncMapPermissionInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return SyncMapPermissionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - map_sid=self._solution['map_sid'], - identity=self._solution['identity'], - ) - - def delete(self): - """ - Deletes the SyncMapPermissionInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, read, write, manage): - """ - Update the SyncMapPermissionInstance - - :param bool read: Read access. - :param bool write: Write access. - :param bool manage: Manage access. - - :returns: Updated SyncMapPermissionInstance - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_permission.SyncMapPermissionInstance - """ - data = values.of({'Read': read, 'Write': write, 'Manage': manage, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return SyncMapPermissionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - map_sid=self._solution['map_sid'], - identity=self._solution['identity'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Sync.SyncMapPermissionContext {}>'.format(context) - - -class SyncMapPermissionInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, service_sid, map_sid, identity=None): - """ - Initialize the SyncMapPermissionInstance - - :returns: twilio.rest.preview.sync.service.sync_map.sync_map_permission.SyncMapPermissionInstance - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_permission.SyncMapPermissionInstance - """ - super(SyncMapPermissionInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'map_sid': payload['map_sid'], - 'identity': payload['identity'], - 'read': payload['read'], - 'write': payload['write'], - 'manage': payload['manage'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'map_sid': map_sid, - 'identity': identity or self._properties['identity'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: SyncMapPermissionContext for this SyncMapPermissionInstance - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_permission.SyncMapPermissionContext - """ - if self._context is None: - self._context = SyncMapPermissionContext( - self._version, - service_sid=self._solution['service_sid'], - map_sid=self._solution['map_sid'], - identity=self._solution['identity'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: Twilio Account SID. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: Sync Service Instance SID. - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def map_sid(self): - """ - :returns: Sync Map SID. - :rtype: unicode - """ - return self._properties['map_sid'] - - @property - def identity(self): - """ - :returns: Identity of the user to whom the Sync Map Permission applies. - :rtype: unicode - """ - return self._properties['identity'] - - @property - def read(self): - """ - :returns: Read access. - :rtype: bool - """ - return self._properties['read'] - - @property - def write(self): - """ - :returns: Write access. - :rtype: bool - """ - return self._properties['write'] - - @property - def manage(self): - """ - :returns: Manage access. - :rtype: bool - """ - return self._properties['manage'] - - @property - def url(self): - """ - :returns: URL of this Sync Map Permission. - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a SyncMapPermissionInstance - - :returns: Fetched SyncMapPermissionInstance - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_permission.SyncMapPermissionInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the SyncMapPermissionInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, read, write, manage): - """ - Update the SyncMapPermissionInstance - - :param bool read: Read access. - :param bool write: Write access. - :param bool manage: Manage access. - - :returns: Updated SyncMapPermissionInstance - :rtype: twilio.rest.preview.sync.service.sync_map.sync_map_permission.SyncMapPermissionInstance - """ - return self._proxy.update(read, write, manage, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Sync.SyncMapPermissionInstance {}>'.format(context) diff --git a/twilio/rest/preview/understand/__init__.py b/twilio/rest/preview/understand/__init__.py deleted file mode 100644 index 64335b9..0000000 --- a/twilio/rest/preview/understand/__init__.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.preview.understand.service import ServiceList - - -class Understand(Version): - - def __init__(self, domain): - """ - Initialize the Understand version of Preview - - :returns: Understand version of Preview - :rtype: twilio.rest.preview.understand.Understand.Understand - """ - super(Understand, self).__init__(domain) - self.version = 'understand' - self._services = None - - @property - def services(self): - """ - :rtype: twilio.rest.preview.understand.service.ServiceList - """ - if self._services is None: - self._services = ServiceList(self) - return self._services - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Understand>' diff --git a/twilio/rest/preview/understand/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/understand/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 2fbce02609831019ed0a6494c8da3545cd1dfcdb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1507 zcma)5&2H2%5Vn)-Ptz?R(Gy%OA))5bY*BBk3W17*kV;iV;Sfc#+}PV1vPrPBTkR^h zR_bGL=FVGi;hZZcUV#(iB%56j2rPL#iN`bZ&3v=JwdH>K`Z3sc5c-DJ7JQ>8u=O4Y zjsnCnw_-f80t*}6j_rvPI2b)g+~J*T#5=;evV#uqzD8be!Q9gesY#S_K`xml=OPh` z<${y5xf_xpp#&BPS~RCi3bI4Ja0p_D7U8fU#m*2cW{><mf6q1c1RmCF=zfR9kcZ3O zTcNZ}6Hqr_3pJCGIFdS#%=L2FjZ&czD8PWox<O-XP+j)}TR7b2&NaHifB-ODqo8|( z92E2nn$mrfaEOw#ghy86%bdoq*_wdJQH~3AWxcZse1%Pw3Pf#gfpoY9e(c5P1_dE6 z5}8XD%Y`8Mg&-^cWLCo=>6n}-F_YrbZC{O)$fqjNqklYTibO^#pJ!r3@=F=Z)K^01 zepWm6r!6FZ6@5)@g9h%(^w{f^9X-v2QidUApHc}(C@p(U-sJ|>br-Z}m5vtixa{(D z!ldcY2BlHVw5IeE`f+|Z3g3XS4qwUOf~DcpEPKXs79OP$i^Eef$-+!#yJu4w^WA+N zr{lT43~MmU!(a*<OyMfgaG98&%~cmty$xF%1@-RWE?(SS1HH73u(^k2PSf8**!mub z0=<KNzVEB;s>i0Y)j#N}wK!@^^`G@_3goZRwRLgqS*i~amEo0#)rQdrt=Iys>@O>9 zQma9AT<rb|YH9NeC<CklWxB_4mHwiQeWKEtgn?ybtfWYIJSR#(ZM8^pmcxwwiHR>+ zbRiS**C)SoQRk`+xVV3CT2r&3`WpWpSE&D10ZL6~ls+&Os7A8)TTAPEuWvY-u!#VU zx|B{*K8=k&p!CC(#q~|akg}ht6qudQ)h+O<3}eczhOm){V~E){0`l54My4OtC>W(` zMc*214mPTP$6mMWQOeVZ(%^10gl9|(zZn)~G7ld9V?3KqR*b0puF|NrniK~$w#U6? KCXO}01N$d+ZjQ$Q diff --git a/twilio/rest/preview/understand/service/__init__.py b/twilio/rest/preview/understand/service/__init__.py deleted file mode 100644 index b787fd8..0000000 --- a/twilio/rest/preview/understand/service/__init__.py +++ /dev/null @@ -1,583 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.preview.understand.service.field_type import FieldTypeList -from twilio.rest.preview.understand.service.intent import IntentList -from twilio.rest.preview.understand.service.model_build import ModelBuildList -from twilio.rest.preview.understand.service.query import QueryList - - -class ServiceList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version): - """ - Initialize the ServiceList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.preview.understand.service.ServiceList - :rtype: twilio.rest.preview.understand.service.ServiceList - """ - super(ServiceList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Services'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams ServiceInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.understand.service.ServiceInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists ServiceInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.understand.service.ServiceInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of ServiceInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ServiceInstance - :rtype: twilio.rest.preview.understand.service.ServicePage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ServicePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ServiceInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ServiceInstance - :rtype: twilio.rest.preview.understand.service.ServicePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ServicePage(self._version, response, self._solution) - - def create(self, friendly_name=values.unset, log_queries=values.unset, - ttl=values.unset, unique_name=values.unset): - """ - Create a new ServiceInstance - - :param unicode friendly_name: The friendly_name - :param bool log_queries: The log_queries - :param unicode ttl: The ttl - :param unicode unique_name: The unique_name - - :returns: Newly created ServiceInstance - :rtype: twilio.rest.preview.understand.service.ServiceInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'LogQueries': log_queries, - 'Ttl': ttl, - 'UniqueName': unique_name, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return ServiceInstance(self._version, payload, ) - - def get(self, sid): - """ - Constructs a ServiceContext - - :param sid: The sid - - :returns: twilio.rest.preview.understand.service.ServiceContext - :rtype: twilio.rest.preview.understand.service.ServiceContext - """ - return ServiceContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a ServiceContext - - :param sid: The sid - - :returns: twilio.rest.preview.understand.service.ServiceContext - :rtype: twilio.rest.preview.understand.service.ServiceContext - """ - return ServiceContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Understand.ServiceList>' - - -class ServicePage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the ServicePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.preview.understand.service.ServicePage - :rtype: twilio.rest.preview.understand.service.ServicePage - """ - super(ServicePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ServiceInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.understand.service.ServiceInstance - :rtype: twilio.rest.preview.understand.service.ServiceInstance - """ - return ServiceInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Understand.ServicePage>' - - -class ServiceContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, sid): - """ - Initialize the ServiceContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.preview.understand.service.ServiceContext - :rtype: twilio.rest.preview.understand.service.ServiceContext - """ - super(ServiceContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Services/{sid}'.format(**self._solution) - - # Dependents - self._field_types = None - self._intents = None - self._model_builds = None - self._queries = None - - def fetch(self): - """ - Fetch a ServiceInstance - - :returns: Fetched ServiceInstance - :rtype: twilio.rest.preview.understand.service.ServiceInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ServiceInstance(self._version, payload, sid=self._solution['sid'], ) - - def update(self, friendly_name=values.unset, log_queries=values.unset, - ttl=values.unset, unique_name=values.unset): - """ - Update the ServiceInstance - - :param unicode friendly_name: The friendly_name - :param bool log_queries: The log_queries - :param unicode ttl: The ttl - :param unicode unique_name: The unique_name - - :returns: Updated ServiceInstance - :rtype: twilio.rest.preview.understand.service.ServiceInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'LogQueries': log_queries, - 'Ttl': ttl, - 'UniqueName': unique_name, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ServiceInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the ServiceInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - @property - def field_types(self): - """ - Access the field_types - - :returns: twilio.rest.preview.understand.service.field_type.FieldTypeList - :rtype: twilio.rest.preview.understand.service.field_type.FieldTypeList - """ - if self._field_types is None: - self._field_types = FieldTypeList(self._version, service_sid=self._solution['sid'], ) - return self._field_types - - @property - def intents(self): - """ - Access the intents - - :returns: twilio.rest.preview.understand.service.intent.IntentList - :rtype: twilio.rest.preview.understand.service.intent.IntentList - """ - if self._intents is None: - self._intents = IntentList(self._version, service_sid=self._solution['sid'], ) - return self._intents - - @property - def model_builds(self): - """ - Access the model_builds - - :returns: twilio.rest.preview.understand.service.model_build.ModelBuildList - :rtype: twilio.rest.preview.understand.service.model_build.ModelBuildList - """ - if self._model_builds is None: - self._model_builds = ModelBuildList(self._version, service_sid=self._solution['sid'], ) - return self._model_builds - - @property - def queries(self): - """ - Access the queries - - :returns: twilio.rest.preview.understand.service.query.QueryList - :rtype: twilio.rest.preview.understand.service.query.QueryList - """ - if self._queries is None: - self._queries = QueryList(self._version, service_sid=self._solution['sid'], ) - return self._queries - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Understand.ServiceContext {}>'.format(context) - - -class ServiceInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, sid=None): - """ - Initialize the ServiceInstance - - :returns: twilio.rest.preview.understand.service.ServiceInstance - :rtype: twilio.rest.preview.understand.service.ServiceInstance - """ - super(ServiceInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'friendly_name': payload['friendly_name'], - 'latest_model_build_sid': payload['latest_model_build_sid'], - 'links': payload['links'], - 'log_queries': payload['log_queries'], - 'sid': payload['sid'], - 'ttl': deserialize.integer(payload['ttl']), - 'unique_name': payload['unique_name'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ServiceContext for this ServiceInstance - :rtype: twilio.rest.preview.understand.service.ServiceContext - """ - if self._context is None: - self._context = ServiceContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def latest_model_build_sid(self): - """ - :returns: The latest_model_build_sid - :rtype: unicode - """ - return self._properties['latest_model_build_sid'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - @property - def log_queries(self): - """ - :returns: The log_queries - :rtype: bool - """ - return self._properties['log_queries'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def ttl(self): - """ - :returns: The ttl - :rtype: unicode - """ - return self._properties['ttl'] - - @property - def unique_name(self): - """ - :returns: The unique_name - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a ServiceInstance - - :returns: Fetched ServiceInstance - :rtype: twilio.rest.preview.understand.service.ServiceInstance - """ - return self._proxy.fetch() - - def update(self, friendly_name=values.unset, log_queries=values.unset, - ttl=values.unset, unique_name=values.unset): - """ - Update the ServiceInstance - - :param unicode friendly_name: The friendly_name - :param bool log_queries: The log_queries - :param unicode ttl: The ttl - :param unicode unique_name: The unique_name - - :returns: Updated ServiceInstance - :rtype: twilio.rest.preview.understand.service.ServiceInstance - """ - return self._proxy.update( - friendly_name=friendly_name, - log_queries=log_queries, - ttl=ttl, - unique_name=unique_name, - ) - - def delete(self): - """ - Deletes the ServiceInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - @property - def field_types(self): - """ - Access the field_types - - :returns: twilio.rest.preview.understand.service.field_type.FieldTypeList - :rtype: twilio.rest.preview.understand.service.field_type.FieldTypeList - """ - return self._proxy.field_types - - @property - def intents(self): - """ - Access the intents - - :returns: twilio.rest.preview.understand.service.intent.IntentList - :rtype: twilio.rest.preview.understand.service.intent.IntentList - """ - return self._proxy.intents - - @property - def model_builds(self): - """ - Access the model_builds - - :returns: twilio.rest.preview.understand.service.model_build.ModelBuildList - :rtype: twilio.rest.preview.understand.service.model_build.ModelBuildList - """ - return self._proxy.model_builds - - @property - def queries(self): - """ - Access the queries - - :returns: twilio.rest.preview.understand.service.query.QueryList - :rtype: twilio.rest.preview.understand.service.query.QueryList - """ - return self._proxy.queries - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Understand.ServiceInstance {}>'.format(context) diff --git a/twilio/rest/preview/understand/service/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/understand/service/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 8a30505e3de2b6b302649f775017ea1cadd18c7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19819 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 diff --git a/twilio/rest/preview/understand/service/__pycache__/model_build.cpython-36.pyc b/twilio/rest/preview/understand/service/__pycache__/model_build.cpython-36.pyc deleted file mode 100644 index d386a00ece5a1382989dac439ea95a95d707c95f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16554 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 diff --git a/twilio/rest/preview/understand/service/__pycache__/query.cpython-36.pyc b/twilio/rest/preview/understand/service/__pycache__/query.cpython-36.pyc deleted file mode 100644 index 4d222ca00979ee2a20d7f1d66b46cb712b5cdd14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17489 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 J`CH4s{=Weuuvh>9 diff --git a/twilio/rest/preview/understand/service/field_type/__init__.py b/twilio/rest/preview/understand/service/field_type/__init__.py deleted file mode 100644 index ef5b69b..0000000 --- a/twilio/rest/preview/understand/service/field_type/__init__.py +++ /dev/null @@ -1,490 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.preview.understand.service.field_type.field_value import FieldValueList - - -class FieldTypeList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid): - """ - Initialize the FieldTypeList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.preview.understand.service.field_type.FieldTypeList - :rtype: twilio.rest.preview.understand.service.field_type.FieldTypeList - """ - super(FieldTypeList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/FieldTypes'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams FieldTypeInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.understand.service.field_type.FieldTypeInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists FieldTypeInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.understand.service.field_type.FieldTypeInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of FieldTypeInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of FieldTypeInstance - :rtype: twilio.rest.preview.understand.service.field_type.FieldTypePage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return FieldTypePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of FieldTypeInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of FieldTypeInstance - :rtype: twilio.rest.preview.understand.service.field_type.FieldTypePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return FieldTypePage(self._version, response, self._solution) - - def create(self, unique_name, friendly_name=values.unset): - """ - Create a new FieldTypeInstance - - :param unicode unique_name: The unique_name - :param unicode friendly_name: The friendly_name - - :returns: Newly created FieldTypeInstance - :rtype: twilio.rest.preview.understand.service.field_type.FieldTypeInstance - """ - data = values.of({'UniqueName': unique_name, 'FriendlyName': friendly_name, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return FieldTypeInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def get(self, sid): - """ - Constructs a FieldTypeContext - - :param sid: The sid - - :returns: twilio.rest.preview.understand.service.field_type.FieldTypeContext - :rtype: twilio.rest.preview.understand.service.field_type.FieldTypeContext - """ - return FieldTypeContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a FieldTypeContext - - :param sid: The sid - - :returns: twilio.rest.preview.understand.service.field_type.FieldTypeContext - :rtype: twilio.rest.preview.understand.service.field_type.FieldTypeContext - """ - return FieldTypeContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Understand.FieldTypeList>' - - -class FieldTypePage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the FieldTypePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.preview.understand.service.field_type.FieldTypePage - :rtype: twilio.rest.preview.understand.service.field_type.FieldTypePage - """ - super(FieldTypePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of FieldTypeInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.understand.service.field_type.FieldTypeInstance - :rtype: twilio.rest.preview.understand.service.field_type.FieldTypeInstance - """ - return FieldTypeInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Understand.FieldTypePage>' - - -class FieldTypeContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the FieldTypeContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.preview.understand.service.field_type.FieldTypeContext - :rtype: twilio.rest.preview.understand.service.field_type.FieldTypeContext - """ - super(FieldTypeContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/FieldTypes/{sid}'.format(**self._solution) - - # Dependents - self._field_values = None - - def fetch(self): - """ - Fetch a FieldTypeInstance - - :returns: Fetched FieldTypeInstance - :rtype: twilio.rest.preview.understand.service.field_type.FieldTypeInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return FieldTypeInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def update(self, friendly_name=values.unset, unique_name=values.unset): - """ - Update the FieldTypeInstance - - :param unicode friendly_name: The friendly_name - :param unicode unique_name: The unique_name - - :returns: Updated FieldTypeInstance - :rtype: twilio.rest.preview.understand.service.field_type.FieldTypeInstance - """ - data = values.of({'FriendlyName': friendly_name, 'UniqueName': unique_name, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return FieldTypeInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the FieldTypeInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - @property - def field_values(self): - """ - Access the field_values - - :returns: twilio.rest.preview.understand.service.field_type.field_value.FieldValueList - :rtype: twilio.rest.preview.understand.service.field_type.field_value.FieldValueList - """ - if self._field_values is None: - self._field_values = FieldValueList( - self._version, - service_sid=self._solution['service_sid'], - field_type_sid=self._solution['sid'], - ) - return self._field_values - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Understand.FieldTypeContext {}>'.format(context) - - -class FieldTypeInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the FieldTypeInstance - - :returns: twilio.rest.preview.understand.service.field_type.FieldTypeInstance - :rtype: twilio.rest.preview.understand.service.field_type.FieldTypeInstance - """ - super(FieldTypeInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'friendly_name': payload['friendly_name'], - 'links': payload['links'], - 'service_sid': payload['service_sid'], - 'sid': payload['sid'], - 'unique_name': payload['unique_name'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: FieldTypeContext for this FieldTypeInstance - :rtype: twilio.rest.preview.understand.service.field_type.FieldTypeContext - """ - if self._context is None: - self._context = FieldTypeContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def unique_name(self): - """ - :returns: The unique_name - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a FieldTypeInstance - - :returns: Fetched FieldTypeInstance - :rtype: twilio.rest.preview.understand.service.field_type.FieldTypeInstance - """ - return self._proxy.fetch() - - def update(self, friendly_name=values.unset, unique_name=values.unset): - """ - Update the FieldTypeInstance - - :param unicode friendly_name: The friendly_name - :param unicode unique_name: The unique_name - - :returns: Updated FieldTypeInstance - :rtype: twilio.rest.preview.understand.service.field_type.FieldTypeInstance - """ - return self._proxy.update(friendly_name=friendly_name, unique_name=unique_name, ) - - def delete(self): - """ - Deletes the FieldTypeInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - @property - def field_values(self): - """ - Access the field_values - - :returns: twilio.rest.preview.understand.service.field_type.field_value.FieldValueList - :rtype: twilio.rest.preview.understand.service.field_type.field_value.FieldValueList - """ - return self._proxy.field_values - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Understand.FieldTypeInstance {}>'.format(context) diff --git a/twilio/rest/preview/understand/service/field_type/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/understand/service/field_type/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index c5598971aa1cee990a93365842d653fa6f129ce4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17472 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 diff --git a/twilio/rest/preview/understand/service/field_type/__pycache__/field_value.cpython-36.pyc b/twilio/rest/preview/understand/service/field_type/__pycache__/field_value.cpython-36.pyc deleted file mode 100644 index 4a3271071413664b2f5b711e1d942f77b3979839..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16338 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 diff --git a/twilio/rest/preview/understand/service/field_type/field_value.py b/twilio/rest/preview/understand/service/field_type/field_value.py deleted file mode 100644 index 2e4cd78..0000000 --- a/twilio/rest/preview/understand/service/field_type/field_value.py +++ /dev/null @@ -1,460 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class FieldValueList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, field_type_sid): - """ - Initialize the FieldValueList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param field_type_sid: The field_type_sid - - :returns: twilio.rest.preview.understand.service.field_type.field_value.FieldValueList - :rtype: twilio.rest.preview.understand.service.field_type.field_value.FieldValueList - """ - super(FieldValueList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'field_type_sid': field_type_sid, } - self._uri = '/Services/{service_sid}/FieldTypes/{field_type_sid}/FieldValues'.format(**self._solution) - - def stream(self, language=values.unset, limit=None, page_size=None): - """ - Streams FieldValueInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode language: The language - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.understand.service.field_type.field_value.FieldValueInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(language=language, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, language=values.unset, limit=None, page_size=None): - """ - Lists FieldValueInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode language: The language - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.understand.service.field_type.field_value.FieldValueInstance] - """ - return list(self.stream(language=language, limit=limit, page_size=page_size, )) - - def page(self, language=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of FieldValueInstance records from the API. - Request is executed immediately - - :param unicode language: The language - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of FieldValueInstance - :rtype: twilio.rest.preview.understand.service.field_type.field_value.FieldValuePage - """ - params = values.of({ - 'Language': language, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return FieldValuePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of FieldValueInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of FieldValueInstance - :rtype: twilio.rest.preview.understand.service.field_type.field_value.FieldValuePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return FieldValuePage(self._version, response, self._solution) - - def create(self, language, value): - """ - Create a new FieldValueInstance - - :param unicode language: The language - :param unicode value: The value - - :returns: Newly created FieldValueInstance - :rtype: twilio.rest.preview.understand.service.field_type.field_value.FieldValueInstance - """ - data = values.of({'Language': language, 'Value': value, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return FieldValueInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - field_type_sid=self._solution['field_type_sid'], - ) - - def get(self, sid): - """ - Constructs a FieldValueContext - - :param sid: The sid - - :returns: twilio.rest.preview.understand.service.field_type.field_value.FieldValueContext - :rtype: twilio.rest.preview.understand.service.field_type.field_value.FieldValueContext - """ - return FieldValueContext( - self._version, - service_sid=self._solution['service_sid'], - field_type_sid=self._solution['field_type_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a FieldValueContext - - :param sid: The sid - - :returns: twilio.rest.preview.understand.service.field_type.field_value.FieldValueContext - :rtype: twilio.rest.preview.understand.service.field_type.field_value.FieldValueContext - """ - return FieldValueContext( - self._version, - service_sid=self._solution['service_sid'], - field_type_sid=self._solution['field_type_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Understand.FieldValueList>' - - -class FieldValuePage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the FieldValuePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - :param field_type_sid: The field_type_sid - - :returns: twilio.rest.preview.understand.service.field_type.field_value.FieldValuePage - :rtype: twilio.rest.preview.understand.service.field_type.field_value.FieldValuePage - """ - super(FieldValuePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of FieldValueInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.understand.service.field_type.field_value.FieldValueInstance - :rtype: twilio.rest.preview.understand.service.field_type.field_value.FieldValueInstance - """ - return FieldValueInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - field_type_sid=self._solution['field_type_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Understand.FieldValuePage>' - - -class FieldValueContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, field_type_sid, sid): - """ - Initialize the FieldValueContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param field_type_sid: The field_type_sid - :param sid: The sid - - :returns: twilio.rest.preview.understand.service.field_type.field_value.FieldValueContext - :rtype: twilio.rest.preview.understand.service.field_type.field_value.FieldValueContext - """ - super(FieldValueContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'field_type_sid': field_type_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/FieldTypes/{field_type_sid}/FieldValues/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a FieldValueInstance - - :returns: Fetched FieldValueInstance - :rtype: twilio.rest.preview.understand.service.field_type.field_value.FieldValueInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return FieldValueInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - field_type_sid=self._solution['field_type_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the FieldValueInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Understand.FieldValueContext {}>'.format(context) - - -class FieldValueInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, service_sid, field_type_sid, sid=None): - """ - Initialize the FieldValueInstance - - :returns: twilio.rest.preview.understand.service.field_type.field_value.FieldValueInstance - :rtype: twilio.rest.preview.understand.service.field_type.field_value.FieldValueInstance - """ - super(FieldValueInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'field_type_sid': payload['field_type_sid'], - 'language': payload['language'], - 'service_sid': payload['service_sid'], - 'sid': payload['sid'], - 'value': payload['value'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'field_type_sid': field_type_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: FieldValueContext for this FieldValueInstance - :rtype: twilio.rest.preview.understand.service.field_type.field_value.FieldValueContext - """ - if self._context is None: - self._context = FieldValueContext( - self._version, - service_sid=self._solution['service_sid'], - field_type_sid=self._solution['field_type_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def field_type_sid(self): - """ - :returns: The field_type_sid - :rtype: unicode - """ - return self._properties['field_type_sid'] - - @property - def language(self): - """ - :returns: The language - :rtype: unicode - """ - return self._properties['language'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def value(self): - """ - :returns: The value - :rtype: unicode - """ - return self._properties['value'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a FieldValueInstance - - :returns: Fetched FieldValueInstance - :rtype: twilio.rest.preview.understand.service.field_type.field_value.FieldValueInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the FieldValueInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Understand.FieldValueInstance {}>'.format(context) diff --git a/twilio/rest/preview/understand/service/intent/__init__.py b/twilio/rest/preview/understand/service/intent/__init__.py deleted file mode 100644 index 4783a7e..0000000 --- a/twilio/rest/preview/understand/service/intent/__init__.py +++ /dev/null @@ -1,518 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.preview.understand.service.intent.field import FieldList -from twilio.rest.preview.understand.service.intent.sample import SampleList - - -class IntentList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid): - """ - Initialize the IntentList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.preview.understand.service.intent.IntentList - :rtype: twilio.rest.preview.understand.service.intent.IntentList - """ - super(IntentList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Intents'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams IntentInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.understand.service.intent.IntentInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists IntentInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.understand.service.intent.IntentInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of IntentInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of IntentInstance - :rtype: twilio.rest.preview.understand.service.intent.IntentPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return IntentPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of IntentInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of IntentInstance - :rtype: twilio.rest.preview.understand.service.intent.IntentPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return IntentPage(self._version, response, self._solution) - - def create(self, unique_name, friendly_name=values.unset): - """ - Create a new IntentInstance - - :param unicode unique_name: The unique_name - :param unicode friendly_name: The friendly_name - - :returns: Newly created IntentInstance - :rtype: twilio.rest.preview.understand.service.intent.IntentInstance - """ - data = values.of({'UniqueName': unique_name, 'FriendlyName': friendly_name, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return IntentInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def get(self, sid): - """ - Constructs a IntentContext - - :param sid: The sid - - :returns: twilio.rest.preview.understand.service.intent.IntentContext - :rtype: twilio.rest.preview.understand.service.intent.IntentContext - """ - return IntentContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a IntentContext - - :param sid: The sid - - :returns: twilio.rest.preview.understand.service.intent.IntentContext - :rtype: twilio.rest.preview.understand.service.intent.IntentContext - """ - return IntentContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Understand.IntentList>' - - -class IntentPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the IntentPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.preview.understand.service.intent.IntentPage - :rtype: twilio.rest.preview.understand.service.intent.IntentPage - """ - super(IntentPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of IntentInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.understand.service.intent.IntentInstance - :rtype: twilio.rest.preview.understand.service.intent.IntentInstance - """ - return IntentInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Understand.IntentPage>' - - -class IntentContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the IntentContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.preview.understand.service.intent.IntentContext - :rtype: twilio.rest.preview.understand.service.intent.IntentContext - """ - super(IntentContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Intents/{sid}'.format(**self._solution) - - # Dependents - self._fields = None - self._samples = None - - def fetch(self): - """ - Fetch a IntentInstance - - :returns: Fetched IntentInstance - :rtype: twilio.rest.preview.understand.service.intent.IntentInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return IntentInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def update(self, friendly_name=values.unset, unique_name=values.unset): - """ - Update the IntentInstance - - :param unicode friendly_name: The friendly_name - :param unicode unique_name: The unique_name - - :returns: Updated IntentInstance - :rtype: twilio.rest.preview.understand.service.intent.IntentInstance - """ - data = values.of({'FriendlyName': friendly_name, 'UniqueName': unique_name, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return IntentInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the IntentInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - @property - def fields(self): - """ - Access the fields - - :returns: twilio.rest.preview.understand.service.intent.field.FieldList - :rtype: twilio.rest.preview.understand.service.intent.field.FieldList - """ - if self._fields is None: - self._fields = FieldList( - self._version, - service_sid=self._solution['service_sid'], - intent_sid=self._solution['sid'], - ) - return self._fields - - @property - def samples(self): - """ - Access the samples - - :returns: twilio.rest.preview.understand.service.intent.sample.SampleList - :rtype: twilio.rest.preview.understand.service.intent.sample.SampleList - """ - if self._samples is None: - self._samples = SampleList( - self._version, - service_sid=self._solution['service_sid'], - intent_sid=self._solution['sid'], - ) - return self._samples - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Understand.IntentContext {}>'.format(context) - - -class IntentInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the IntentInstance - - :returns: twilio.rest.preview.understand.service.intent.IntentInstance - :rtype: twilio.rest.preview.understand.service.intent.IntentInstance - """ - super(IntentInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'friendly_name': payload['friendly_name'], - 'links': payload['links'], - 'service_sid': payload['service_sid'], - 'sid': payload['sid'], - 'unique_name': payload['unique_name'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: IntentContext for this IntentInstance - :rtype: twilio.rest.preview.understand.service.intent.IntentContext - """ - if self._context is None: - self._context = IntentContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def unique_name(self): - """ - :returns: The unique_name - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a IntentInstance - - :returns: Fetched IntentInstance - :rtype: twilio.rest.preview.understand.service.intent.IntentInstance - """ - return self._proxy.fetch() - - def update(self, friendly_name=values.unset, unique_name=values.unset): - """ - Update the IntentInstance - - :param unicode friendly_name: The friendly_name - :param unicode unique_name: The unique_name - - :returns: Updated IntentInstance - :rtype: twilio.rest.preview.understand.service.intent.IntentInstance - """ - return self._proxy.update(friendly_name=friendly_name, unique_name=unique_name, ) - - def delete(self): - """ - Deletes the IntentInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - @property - def fields(self): - """ - Access the fields - - :returns: twilio.rest.preview.understand.service.intent.field.FieldList - :rtype: twilio.rest.preview.understand.service.intent.field.FieldList - """ - return self._proxy.fields - - @property - def samples(self): - """ - Access the samples - - :returns: twilio.rest.preview.understand.service.intent.sample.SampleList - :rtype: twilio.rest.preview.understand.service.intent.sample.SampleList - """ - return self._proxy.samples - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Understand.IntentInstance {}>'.format(context) diff --git a/twilio/rest/preview/understand/service/intent/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/understand/service/intent/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index a791fe724d97770fa4fee7e28f916dddb4e70bc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17815 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 diff --git a/twilio/rest/preview/understand/service/intent/__pycache__/field.cpython-36.pyc b/twilio/rest/preview/understand/service/intent/__pycache__/field.cpython-36.pyc deleted file mode 100644 index 154997165f3fada480560d5bf94945273d1dc45b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15469 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 diff --git a/twilio/rest/preview/understand/service/intent/__pycache__/sample.cpython-36.pyc b/twilio/rest/preview/understand/service/intent/__pycache__/sample.cpython-36.pyc deleted file mode 100644 index 061e0f337942818c64bcae8e784419eccb10012d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16815 zcmeHOO^n<|b|%^XKQkJQ{w!Jc(u-tQ?MOYNc)i(-y^3W?Hk4JyiZt?}GmBoTi=*MV zyV)+XN1FBw5@3YvC0gW=O8^1MAqWs4$6NyBmOUg$4!PtI-h!Mqw<MRq$syl+MHbmT zJwKMT>sW9PSS*so;;UEheecz)H*d|%RR7_h{-iZ}&oKVY$o%rC<DL=xAqru%3}FhZ zYxb;`Wl}wddajk@dcK?Q6<P(Z7rMn>sa4{7v0Ls{S{1IBy47B-RWpqb4N(@A$A+l5 zmEBycj_azZ;kxG5a6N<Tx|qTBj9b9<EUst8F<c*WOSnEJ=I$De<0GfKvhD?T#}}^s z&<X4ZZr_zo=nDJ(R&~{0u-i6%DB9ccxoU6Q7ut>01r!(B+p7!P_V$GZwAj4dTx>2@ zslAOC)o-EtGYs5lm{Co*fh#?y>y2Do7B`*l&<#*KcC#OZPQT+`^ZTLuD8#L~<klTG z@Q1QPFVt^&L72JD-*z6j9qK&!5wGbN{5}fTXqn)*CCpat$Hp4CE^?2{t-M><D2lwu zujNER6d#+dQsz!clyRp_ce2M?UQ|RCPb#7&>W__9Rm_N4oNEGn#JMhxi+P-9#0hZ{ z=h+_{d82g<96l9Q?>fCf*Cpyle{bKub>r&Y8}{-?D>v+L-3d_;`@2p+lh6+xuOHY0 z>27-NL!5mv?1X`8=}6ZOhW9tzPRL9SeY>;n^dGoQ`(EIpjoY&ydf~d=afYGi_nY?3 zHG9h++MS`4Za?g9*}}K`erT^do31U~O}Fb0T*;j!pL9AMHwZ4;px8mDOi~ALxZS~f z;X|+M`OS{sYucTJ*>ujuN3e)WXoTjrv1@Hu+vcum8r#-(PMA-vZKItN)<%BK*futD zKS7&zLFB-qyt8f^Ml3hBeY5X{N=j%*cFMh~Zn89Rq|>uMc4dHZ+MDXUq;D`|H8-gj z8OzaR7m&zJuj94@Pb}FhXqdS%+17(}_QSMkdYz$6y5UgvgC#p=7Csy{W9Bx8eF0J- z>!KNdr>Qz=1}r1Z%wS{vv6p1HHE>^Ce+?_DWd<2l(_xIhvv61OBUtz>(`IMkCJ!BV z)5bdsir8SeQH%<~5P~GjnEt5TZhM%*b~~!H1Ha3n7!}ui*>l1u-yTY@k&p6$+g*!F z@yy8zUX)c7(DO>W&Fau@|Ap~+cx`DF!YzZ<-}YMTj=y?!Fu3l7&gw0{<8)V7+}>by z;0-R_A9`JJ>8+sauWbbnR~7S<6V1VDJO``k9IVDeTvdZwjptynCF`K%G>)K%!l=#V z>gMP~IycQ^gv(kBs9^!eH5|eBP(a3w4U=Sl*V@VB3fi!p7v@<*SWm2-0zc1f7jQ3k z)<Bs*YwVIX6rBHsI%(Ov8%o#d1+f|=un2kX_)-M+n)G|DCRcCYv;p5v0^q*11Aeus zyJDaxg?9)Y?5;EN00~{+K|e`<=)zrF^E#fw3tSHTAn@*YU3=IMy)J*N>-9VZK_sMr zFOb+-cSZJ7ta8IHu!~?zX$6eRIEfeSz(<ehAtehJJ-6q}t(1^vM!%Hi5BnZltS;bh z2s5B`H@VUyj&TC>YctJD_PqhduP$teBoC)Q?A^yre@$}%$f_uA#!S4>(0wL)nVvy` zbf6$Ea2oguSe5bXHpW4~?10<Ev!-odch?-Sg}B!D)m`0nhTH)L1*92aWXsdYTXVzC zx=mw|?x!%L;YIu5y4z=T58M!Tpxd>FfvfvY$<5XX8bwSI+hgLw+lvV!Krc)P=+xv8 z-FU(4yW)_p?+-&rBM&?C5@wvG@<KzA=!79u7*>!t?g*NXL;6)cvYjL9dwvk6lEQ@A z#J7vK*Mwp0dHoCg#zp(`;^JZ>BS{*mKU6LcO9Kotvu?|CyTTq0h%og<fC!1RrY^zd zF6{d6JO|h(D*Z#<b5zmn23VI9sg|bzD^Y=|X;rxi*MX+xb_}Gg8ga4B_k$=;jiRFB zc%vxi(19delV_-){#r%VR-UChCv<U=YUfaV8;63y`B`h;8XeETpz2s-AbA3WgN%XH zK}aZQ0{7Shc#_*Sfp3=cG>dQK7JUJ9BW|ZKbFbg^K7q}SMe5=dEOEgCX~W{Gc_p;7 zf5c<{Q6l9w@WI#IkHP1@3wTI?%j-Y*GBJn-4TVW@MiZOWWmQ-3qXFz|1md|KL!g+Q ztmjkkX9AS>vY76?%=pvDO@IVYC{IjdKxpKr;m9O(ybAUI4IF`m!Z<!UmVpiGszc5a z{Yp4AXprL+YRDjW>1lq~WM|3Rz~TXLlHbOn;Yn_%7?KNRZ5L4%*>TD{|C3!t+;Kzc z!4|^^1<+qOFocF=-xMhc?rIdsx>6~`+)?J01jv2lc80Vv_If>6cvvKNw=(wRSv(W) zRN2<h|HSPt*|$OB3RP+8x9JI9hO?6b|4wWDq@SQ181;7SF2qo%Y&vKUJgh;t*yZVT z$+-h)VgUPgd4TJo?B>P9Z(yhA?Zpfuv|**u>}7cR&F5d)&=+)nWC(A?4q>aJSt&`x zT4lPv3&$YJeRyL9%Zwt=SI{U)m?I;y{5AOsD#{QZqg(O9onDkPxPhkHg2o1zr>#{R zph;WJ0$Wx2I=x?p%P{c!SY=GuRkF2ra0Fx|joG|u@n1Dp#5r%4b7Sg4op)G`(3of? zJ9`aB@J$pDe<;ibsRt}A)*4nws|{Lp8yg7xu*JQxpJEK$jt6i57o!>^?4ctcxFHsS z-6b0$eJKq$-Me#3d*rcC3+a!&E++8*fr!c1z;bv}Bq>o*_&tPcT1DmkMWvW*Y2&Gq zm>f$?R85C1-=K%%0uhyoCp6DK9tO0EHmX&~LNPbC>`Yp9NDAmjAgaOheOx5qN%0l{ zXAUxu0%wkaGamydNeKdBSbNgBfOTo{NgmQta!zKY<r*BykU+GLc+@y@X6EBrurFD| zh0cQqu4q%_Pc7pzH!`2lsIu%n1d?@_E-^_`VyzSJ`~^7XDZW_pJa`;cSD4}z5FF)i ze{`47Brgz@$b>PhOkE+2{082Q1xFDt8D(b2nX2TbkRnY~%kV>9AOcDQXNw%!2{Dol zJp4Tz3RkLgR)QylDwbI`$Gmq%ghm!Z7%fYLU$OTN38JV4Ns_Q|M#!4wBtQC3%^3u4 zq1+s)bmAGoEt=8H1S%Ox18ttjJk+!M921s&@&(GkWS5y)&877yhfy_h(TtkP_$6gd z*l<{CIxm5%6LS{jpwxd%b4JlGqr&)4GZl-)En4rO$=A~q2kWK=Opi8AlK2njwu#fx zCI_KRL>apjiQGFw;{id{t^?@gAD!u7J52^#@Y;7Y(mHcnIe0+UHTbE00ZfxFf|LQA zGY-&A(~jRloDH#;eP5XreQ2fr;OJZLuBZV1ZMD77yqAWfmE@ANU114rm`Y?P4OP2M zM7G<1jUg%DzBFc{lIM*%iUaqZo{KnewcYMvBcn_8db|DU(CNlcO6|7rJ9vpAuF4TB z4B;`UrG}(cgmTD!nQDY@a)AokXONdsL^E-;xZ~11rP_r7%u^!{WROKYjw7JpM>&_b z>c{6_nLklB=g*gqm(P~x%5xmM?%=Wh<>FdEAKPy?2|Gyz?Dt?NNtAFd^1e?AX0*&+ zz)Qd3Lk2Os;j?Y+VqbF`jt4e-RJi9)v+l&y%^mWvGt#aM#mCRTxpOD>zsZYaM|{cF zx3a4}ts?QlDu$YLrzdk`vTeE{qMVoXIy0gdVcnQXlluJ})^e=BWvuFJm`dfkvNE#a zir4z2JM6f&%E^vSqF)RUtYq}o-{A-d?u`1p_Fd^qdduWcLxz39agQVMH=OfXL3*Dy zd=S?|@J?+WPg!VA&Xw@6lNtL?v|45-N(;x>Udjueyd>C=QuO?5-#vY%4oM^He&*zx zn2)^%?;_ou!1p>WF%pjc3mRnH5_TZZC_}+hnr-_PH+(dngA5<rnx7Frcp<KBUM$+m zCIa(+m3aCV72l!aZ7NusD6++!$X}zHW_zMWtU)#&{Vfh&0V*>E!$fzd8>ZjHlfw*? zTihtov1YM}LUMyj8$l`qr;D_zY_e)FS#|b|UM7>31R3c}s6-|`pgGE#tRzQ)!;Q*t zP0vzzlEt5?hAi<zQ#F5Kwk%_Uo+nX38<3Y_H3nb4g308>0e0?3OV5(PfLsSp>>!On znLu71XcH)B=?k<{Z^VmoHiqNhO|+QRS{uXv#!G7JtUi~UHAkn%mWQcDq;&%QNIEH2 zc@0N!9R)>mJOgnYwuv0!qX0NknGgWC;y4b)`HGxFus5Dlpm@&c&$T#yz`MrD5?vb* z{d`F~D%=wBH$}2;sm15#VZJ!FW^(LwVqW)5bR4zK#8e8rBhC}0>>c|rD*mRroMP|f zuY=1~@Shh3Mya|dVuF=;yv~btyUE`fi@@nQBRqbd2prF35s|pk6PmfQQ_mvKy#ZoO zoaQw-E9v|xtxh6q$<Fb?*%3+WOql6NaX3ZKFH}U}*U*APev684qk!U3MC^-;OL55D zoRpVL+)e%pb<Dj_lbj_yeM3vmlvo=i=j6D;t51%3N~H3v?zFLh>4(B2j1LER*Mb08 zqa8i9*WIogQicg~9wwAhw@KA^MGjrtTf-g=y@jknWc9fMX?-6!U1at7=tVyCGU*{n zy!5{BcXfY=aP#|6Ki(R7hd9DeI5j#T>G?avlh{d`7{BUFkDnUp@&6Jogt>v_C}e38 zC$OclYg`BT5&Vh#MvjsR!IQ$58AAEov^DueI{6d<9TYF!Hhy?|)!H$4EJ6D($a>hd zK1LAeQ^ZesG7F#WeE&1p8Ix@a;)PaoF)}}i%+1sv<aovBm3L`h<k3K0`9Z?YyfJEw zi&GM6X};T~T)5y$Q@=I3cxb36hBN!Kohy`%x8Zwz4n0Q&4;eXuB2mRHqf$o&b0^4T zfA%^NNPI9#=cbsr*fXy0?->&WbL2;UmujR}EJ%lX%Vekj3r9e<n!V-u@|pQ_<qEs8 z9o*DErVm%aPf=t&X7L862IoZnafMQYIVBiE*FyTQpk!dGBSDzcf2oetV3h)ldIfb( z14g}yI;R4oUPGPJfl;rc&MCpDBN1Di5~sP(S=7&nSGaymoE7H~JeqTlZ_LvHU;R~a z9_hv>#B1VpJUJ=8A#9vav9Ep_()3L>axamuzTBbB2l~;Og5jiK!8VG$&N^*KggLlE zyd|+~#&sl8?n3Q&Q_G?)E!1I7QI@zYb6J6btv;=A`f&|q5z#7S6$}PI9ZWi&)}PWc zpd@HfG&71c9!~Z7wQr=Gr7-*);ThfS&(r0KYDo9?k=RM0uBcA_MLXVDi?5W;63WHq z)G_vac_)JmWR$~JZlfZvqb_ey@c|Vye=3P&yt(`k50>}3b7kdvze%sL>rKWXn)3qx zd*5BW+$O?8ujfX!Hu55n^%#0?fB<uXOYG~#`EBf;v&BA&kG?|iMLva5n#&i>I{u3K zZ#G}FXls5HM?I1`+3UKamvr-taExrZFh42FMM{Q8o(fXldHamcl<-SuY`%)Z6Kuq` zxjm$<=#c%?k`!kqx?^#!c+h&Y+=~NXl=7hx_Ob6q`6?Y};85bOzot6`>nIT$`7rjT zBRzkJ^xO_*0|!X;yo!|3q_gBUXYYdNk31{}kX4rX#Iz9En1zZd1SJy=%L^3g*o^4` zE+6U&<|Vo5lbb+O9h#^};`V4ul913k(5TR^JTf%!H)oAbjgPCTT5Au1go5Pw8V-)5 zDWN!Pus3i`)12bP3MMe4k(n0ie*j`vUEgQ5gFkT-U%-j8Q+N%UE<{N&9~1rTlNCqj zCTPxl?udln(4QYCJc}NgCW`VzgY^Rji-SogIQfGN>90<Zp8ep9pgqPqO=98`@1>nE z?qJ%f#UC9;d;Gy8(*Ayiu;iaiNMJHM4wH(tM_ve*4<?*iJk1b(c7o~Y*N#Z`d;5@` zEKW0z_Yrb3I|ma@E&eP+^dw#<-#Q}6`>AFo26s5sWPJ{%np*s2hU!Vx%zW;Mgujy^ zD=Q+f?wKe1u$gT7!30x_zse9iKOr0V%n=FQkHeW5#Nh;!|8X$E)Z%Y41W$4}^SL7u zz8{C-1szT>IX?#zOf7zzA$XF*_{<ogXgY3QHq2czFXmSz=!b~T4=@G}#DO)_EEp{i z|55X#ltfjuGd3QOOP1wqbknE`EysoVgrh27ht<@MsTNpF0=xFCQ1OJ&IvjpFPl$dv z833S0|E#B`y2l}!67kw!V!zy2S0acM!`ep>>CwOH(U$g%_NyP?lJ8=O8ekGtdiDsH z{66}VSE!(W2AC9|_i*n&5{4qc_2z^<IVi$)>CgyQ0uU<1C9e_zv{01qQ$g-L=A7l5 zuws(7%eeRNL>tGBD7H1}R3y|j%;m<JedAkEIbN}DDWLlz3uQ*dXNrx{Li!`3-bRID zW3#W<=j-Lkzj6gPD;!E%Zp`s^b*mN!E$-vrza=din1I&#%x&c0DFo3AaAH#HwW&>z zd&B?1FKH9DbvE0E{t*QEWbt!~`?Th=&j;9*=j?q>&XP77sC63+FEe3!wG)-!Rf%R- ZN@&5GI>`0nRXvxvx!*P3np>P({Xexb872S# diff --git a/twilio/rest/preview/understand/service/intent/field.py b/twilio/rest/preview/understand/service/intent/field.py deleted file mode 100644 index 4645bb9..0000000 --- a/twilio/rest/preview/understand/service/intent/field.py +++ /dev/null @@ -1,452 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class FieldList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, intent_sid): - """ - Initialize the FieldList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param intent_sid: The intent_sid - - :returns: twilio.rest.preview.understand.service.intent.field.FieldList - :rtype: twilio.rest.preview.understand.service.intent.field.FieldList - """ - super(FieldList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'intent_sid': intent_sid, } - self._uri = '/Services/{service_sid}/Intents/{intent_sid}/Fields'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams FieldInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.understand.service.intent.field.FieldInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists FieldInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.understand.service.intent.field.FieldInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of FieldInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of FieldInstance - :rtype: twilio.rest.preview.understand.service.intent.field.FieldPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return FieldPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of FieldInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of FieldInstance - :rtype: twilio.rest.preview.understand.service.intent.field.FieldPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return FieldPage(self._version, response, self._solution) - - def create(self, field_type, unique_name): - """ - Create a new FieldInstance - - :param unicode field_type: The field_type - :param unicode unique_name: The unique_name - - :returns: Newly created FieldInstance - :rtype: twilio.rest.preview.understand.service.intent.field.FieldInstance - """ - data = values.of({'FieldType': field_type, 'UniqueName': unique_name, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return FieldInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - intent_sid=self._solution['intent_sid'], - ) - - def get(self, sid): - """ - Constructs a FieldContext - - :param sid: The sid - - :returns: twilio.rest.preview.understand.service.intent.field.FieldContext - :rtype: twilio.rest.preview.understand.service.intent.field.FieldContext - """ - return FieldContext( - self._version, - service_sid=self._solution['service_sid'], - intent_sid=self._solution['intent_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a FieldContext - - :param sid: The sid - - :returns: twilio.rest.preview.understand.service.intent.field.FieldContext - :rtype: twilio.rest.preview.understand.service.intent.field.FieldContext - """ - return FieldContext( - self._version, - service_sid=self._solution['service_sid'], - intent_sid=self._solution['intent_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Understand.FieldList>' - - -class FieldPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the FieldPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - :param intent_sid: The intent_sid - - :returns: twilio.rest.preview.understand.service.intent.field.FieldPage - :rtype: twilio.rest.preview.understand.service.intent.field.FieldPage - """ - super(FieldPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of FieldInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.understand.service.intent.field.FieldInstance - :rtype: twilio.rest.preview.understand.service.intent.field.FieldInstance - """ - return FieldInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - intent_sid=self._solution['intent_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Understand.FieldPage>' - - -class FieldContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, intent_sid, sid): - """ - Initialize the FieldContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param intent_sid: The intent_sid - :param sid: The sid - - :returns: twilio.rest.preview.understand.service.intent.field.FieldContext - :rtype: twilio.rest.preview.understand.service.intent.field.FieldContext - """ - super(FieldContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'intent_sid': intent_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Intents/{intent_sid}/Fields/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a FieldInstance - - :returns: Fetched FieldInstance - :rtype: twilio.rest.preview.understand.service.intent.field.FieldInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return FieldInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - intent_sid=self._solution['intent_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the FieldInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Understand.FieldContext {}>'.format(context) - - -class FieldInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, service_sid, intent_sid, sid=None): - """ - Initialize the FieldInstance - - :returns: twilio.rest.preview.understand.service.intent.field.FieldInstance - :rtype: twilio.rest.preview.understand.service.intent.field.FieldInstance - """ - super(FieldInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'field_type': payload['field_type'], - 'intent_sid': payload['intent_sid'], - 'service_sid': payload['service_sid'], - 'sid': payload['sid'], - 'unique_name': payload['unique_name'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'intent_sid': intent_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: FieldContext for this FieldInstance - :rtype: twilio.rest.preview.understand.service.intent.field.FieldContext - """ - if self._context is None: - self._context = FieldContext( - self._version, - service_sid=self._solution['service_sid'], - intent_sid=self._solution['intent_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def field_type(self): - """ - :returns: The field_type - :rtype: unicode - """ - return self._properties['field_type'] - - @property - def intent_sid(self): - """ - :returns: The intent_sid - :rtype: unicode - """ - return self._properties['intent_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def unique_name(self): - """ - :returns: The unique_name - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a FieldInstance - - :returns: Fetched FieldInstance - :rtype: twilio.rest.preview.understand.service.intent.field.FieldInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the FieldInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Understand.FieldInstance {}>'.format(context) diff --git a/twilio/rest/preview/understand/service/intent/sample.py b/twilio/rest/preview/understand/service/intent/sample.py deleted file mode 100644 index ed7077e..0000000 --- a/twilio/rest/preview/understand/service/intent/sample.py +++ /dev/null @@ -1,498 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class SampleList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, intent_sid): - """ - Initialize the SampleList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param intent_sid: The intent_sid - - :returns: twilio.rest.preview.understand.service.intent.sample.SampleList - :rtype: twilio.rest.preview.understand.service.intent.sample.SampleList - """ - super(SampleList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'intent_sid': intent_sid, } - self._uri = '/Services/{service_sid}/Intents/{intent_sid}/Samples'.format(**self._solution) - - def stream(self, language=values.unset, limit=None, page_size=None): - """ - Streams SampleInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode language: The language - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.understand.service.intent.sample.SampleInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(language=language, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, language=values.unset, limit=None, page_size=None): - """ - Lists SampleInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode language: The language - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.understand.service.intent.sample.SampleInstance] - """ - return list(self.stream(language=language, limit=limit, page_size=page_size, )) - - def page(self, language=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of SampleInstance records from the API. - Request is executed immediately - - :param unicode language: The language - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of SampleInstance - :rtype: twilio.rest.preview.understand.service.intent.sample.SamplePage - """ - params = values.of({ - 'Language': language, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return SamplePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of SampleInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of SampleInstance - :rtype: twilio.rest.preview.understand.service.intent.sample.SamplePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return SamplePage(self._version, response, self._solution) - - def create(self, language, tagged_text): - """ - Create a new SampleInstance - - :param unicode language: The language - :param unicode tagged_text: The tagged_text - - :returns: Newly created SampleInstance - :rtype: twilio.rest.preview.understand.service.intent.sample.SampleInstance - """ - data = values.of({'Language': language, 'TaggedText': tagged_text, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return SampleInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - intent_sid=self._solution['intent_sid'], - ) - - def get(self, sid): - """ - Constructs a SampleContext - - :param sid: The sid - - :returns: twilio.rest.preview.understand.service.intent.sample.SampleContext - :rtype: twilio.rest.preview.understand.service.intent.sample.SampleContext - """ - return SampleContext( - self._version, - service_sid=self._solution['service_sid'], - intent_sid=self._solution['intent_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a SampleContext - - :param sid: The sid - - :returns: twilio.rest.preview.understand.service.intent.sample.SampleContext - :rtype: twilio.rest.preview.understand.service.intent.sample.SampleContext - """ - return SampleContext( - self._version, - service_sid=self._solution['service_sid'], - intent_sid=self._solution['intent_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Understand.SampleList>' - - -class SamplePage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the SamplePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - :param intent_sid: The intent_sid - - :returns: twilio.rest.preview.understand.service.intent.sample.SamplePage - :rtype: twilio.rest.preview.understand.service.intent.sample.SamplePage - """ - super(SamplePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of SampleInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.understand.service.intent.sample.SampleInstance - :rtype: twilio.rest.preview.understand.service.intent.sample.SampleInstance - """ - return SampleInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - intent_sid=self._solution['intent_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Understand.SamplePage>' - - -class SampleContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, intent_sid, sid): - """ - Initialize the SampleContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param intent_sid: The intent_sid - :param sid: The sid - - :returns: twilio.rest.preview.understand.service.intent.sample.SampleContext - :rtype: twilio.rest.preview.understand.service.intent.sample.SampleContext - """ - super(SampleContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'intent_sid': intent_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Intents/{intent_sid}/Samples/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a SampleInstance - - :returns: Fetched SampleInstance - :rtype: twilio.rest.preview.understand.service.intent.sample.SampleInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return SampleInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - intent_sid=self._solution['intent_sid'], - sid=self._solution['sid'], - ) - - def update(self, language=values.unset, tagged_text=values.unset): - """ - Update the SampleInstance - - :param unicode language: The language - :param unicode tagged_text: The tagged_text - - :returns: Updated SampleInstance - :rtype: twilio.rest.preview.understand.service.intent.sample.SampleInstance - """ - data = values.of({'Language': language, 'TaggedText': tagged_text, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return SampleInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - intent_sid=self._solution['intent_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the SampleInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Understand.SampleContext {}>'.format(context) - - -class SampleInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, service_sid, intent_sid, sid=None): - """ - Initialize the SampleInstance - - :returns: twilio.rest.preview.understand.service.intent.sample.SampleInstance - :rtype: twilio.rest.preview.understand.service.intent.sample.SampleInstance - """ - super(SampleInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'intent_sid': payload['intent_sid'], - 'language': payload['language'], - 'service_sid': payload['service_sid'], - 'sid': payload['sid'], - 'tagged_text': payload['tagged_text'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'intent_sid': intent_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: SampleContext for this SampleInstance - :rtype: twilio.rest.preview.understand.service.intent.sample.SampleContext - """ - if self._context is None: - self._context = SampleContext( - self._version, - service_sid=self._solution['service_sid'], - intent_sid=self._solution['intent_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def intent_sid(self): - """ - :returns: The intent_sid - :rtype: unicode - """ - return self._properties['intent_sid'] - - @property - def language(self): - """ - :returns: The language - :rtype: unicode - """ - return self._properties['language'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def tagged_text(self): - """ - :returns: The tagged_text - :rtype: unicode - """ - return self._properties['tagged_text'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a SampleInstance - - :returns: Fetched SampleInstance - :rtype: twilio.rest.preview.understand.service.intent.sample.SampleInstance - """ - return self._proxy.fetch() - - def update(self, language=values.unset, tagged_text=values.unset): - """ - Update the SampleInstance - - :param unicode language: The language - :param unicode tagged_text: The tagged_text - - :returns: Updated SampleInstance - :rtype: twilio.rest.preview.understand.service.intent.sample.SampleInstance - """ - return self._proxy.update(language=language, tagged_text=tagged_text, ) - - def delete(self): - """ - Deletes the SampleInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Understand.SampleInstance {}>'.format(context) diff --git a/twilio/rest/preview/understand/service/model_build.py b/twilio/rest/preview/understand/service/model_build.py deleted file mode 100644 index 04cbbfb..0000000 --- a/twilio/rest/preview/understand/service/model_build.py +++ /dev/null @@ -1,456 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class ModelBuildList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid): - """ - Initialize the ModelBuildList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.preview.understand.service.model_build.ModelBuildList - :rtype: twilio.rest.preview.understand.service.model_build.ModelBuildList - """ - super(ModelBuildList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/ModelBuilds'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams ModelBuildInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.understand.service.model_build.ModelBuildInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists ModelBuildInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.understand.service.model_build.ModelBuildInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of ModelBuildInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ModelBuildInstance - :rtype: twilio.rest.preview.understand.service.model_build.ModelBuildPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ModelBuildPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ModelBuildInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ModelBuildInstance - :rtype: twilio.rest.preview.understand.service.model_build.ModelBuildPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ModelBuildPage(self._version, response, self._solution) - - def create(self, status_callback=values.unset, unique_name=values.unset): - """ - Create a new ModelBuildInstance - - :param unicode status_callback: The status_callback - :param unicode unique_name: The unique_name - - :returns: Newly created ModelBuildInstance - :rtype: twilio.rest.preview.understand.service.model_build.ModelBuildInstance - """ - data = values.of({'StatusCallback': status_callback, 'UniqueName': unique_name, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return ModelBuildInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def get(self, sid): - """ - Constructs a ModelBuildContext - - :param sid: The sid - - :returns: twilio.rest.preview.understand.service.model_build.ModelBuildContext - :rtype: twilio.rest.preview.understand.service.model_build.ModelBuildContext - """ - return ModelBuildContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a ModelBuildContext - - :param sid: The sid - - :returns: twilio.rest.preview.understand.service.model_build.ModelBuildContext - :rtype: twilio.rest.preview.understand.service.model_build.ModelBuildContext - """ - return ModelBuildContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Understand.ModelBuildList>' - - -class ModelBuildPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the ModelBuildPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.preview.understand.service.model_build.ModelBuildPage - :rtype: twilio.rest.preview.understand.service.model_build.ModelBuildPage - """ - super(ModelBuildPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ModelBuildInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.understand.service.model_build.ModelBuildInstance - :rtype: twilio.rest.preview.understand.service.model_build.ModelBuildInstance - """ - return ModelBuildInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Understand.ModelBuildPage>' - - -class ModelBuildContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the ModelBuildContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.preview.understand.service.model_build.ModelBuildContext - :rtype: twilio.rest.preview.understand.service.model_build.ModelBuildContext - """ - super(ModelBuildContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/ModelBuilds/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a ModelBuildInstance - - :returns: Fetched ModelBuildInstance - :rtype: twilio.rest.preview.understand.service.model_build.ModelBuildInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ModelBuildInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def update(self, unique_name=values.unset): - """ - Update the ModelBuildInstance - - :param unicode unique_name: The unique_name - - :returns: Updated ModelBuildInstance - :rtype: twilio.rest.preview.understand.service.model_build.ModelBuildInstance - """ - data = values.of({'UniqueName': unique_name, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ModelBuildInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the ModelBuildInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Understand.ModelBuildContext {}>'.format(context) - - -class ModelBuildInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - class Status(object): - ENQUEUED = "enqueued" - BUILDING = "building" - COMPLETED = "completed" - FAILED = "failed" - CANCELED = "canceled" - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the ModelBuildInstance - - :returns: twilio.rest.preview.understand.service.model_build.ModelBuildInstance - :rtype: twilio.rest.preview.understand.service.model_build.ModelBuildInstance - """ - super(ModelBuildInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'service_sid': payload['service_sid'], - 'sid': payload['sid'], - 'status': payload['status'], - 'unique_name': payload['unique_name'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ModelBuildContext for this ModelBuildInstance - :rtype: twilio.rest.preview.understand.service.model_build.ModelBuildContext - """ - if self._context is None: - self._context = ModelBuildContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def status(self): - """ - :returns: The status - :rtype: ModelBuildInstance.Status - """ - return self._properties['status'] - - @property - def unique_name(self): - """ - :returns: The unique_name - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a ModelBuildInstance - - :returns: Fetched ModelBuildInstance - :rtype: twilio.rest.preview.understand.service.model_build.ModelBuildInstance - """ - return self._proxy.fetch() - - def update(self, unique_name=values.unset): - """ - Update the ModelBuildInstance - - :param unicode unique_name: The unique_name - - :returns: Updated ModelBuildInstance - :rtype: twilio.rest.preview.understand.service.model_build.ModelBuildInstance - """ - return self._proxy.update(unique_name=unique_name, ) - - def delete(self): - """ - Deletes the ModelBuildInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Understand.ModelBuildInstance {}>'.format(context) diff --git a/twilio/rest/preview/understand/service/query.py b/twilio/rest/preview/understand/service/query.py deleted file mode 100644 index a0852a9..0000000 --- a/twilio/rest/preview/understand/service/query.py +++ /dev/null @@ -1,529 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class QueryList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid): - """ - Initialize the QueryList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.preview.understand.service.query.QueryList - :rtype: twilio.rest.preview.understand.service.query.QueryList - """ - super(QueryList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Queries'.format(**self._solution) - - def stream(self, language=values.unset, model_build=values.unset, - status=values.unset, limit=None, page_size=None): - """ - Streams QueryInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode language: The language - :param unicode model_build: The model_build - :param unicode status: The status - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.understand.service.query.QueryInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - language=language, - model_build=model_build, - status=status, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, language=values.unset, model_build=values.unset, - status=values.unset, limit=None, page_size=None): - """ - Lists QueryInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode language: The language - :param unicode model_build: The model_build - :param unicode status: The status - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.understand.service.query.QueryInstance] - """ - return list(self.stream( - language=language, - model_build=model_build, - status=status, - limit=limit, - page_size=page_size, - )) - - def page(self, language=values.unset, model_build=values.unset, - status=values.unset, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of QueryInstance records from the API. - Request is executed immediately - - :param unicode language: The language - :param unicode model_build: The model_build - :param unicode status: The status - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of QueryInstance - :rtype: twilio.rest.preview.understand.service.query.QueryPage - """ - params = values.of({ - 'Language': language, - 'ModelBuild': model_build, - 'Status': status, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return QueryPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of QueryInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of QueryInstance - :rtype: twilio.rest.preview.understand.service.query.QueryPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return QueryPage(self._version, response, self._solution) - - def create(self, language, query, intent=values.unset, model_build=values.unset, - field=values.unset, named_entity=values.unset): - """ - Create a new QueryInstance - - :param unicode language: The language - :param unicode query: The query - :param unicode intent: The intent - :param unicode model_build: The model_build - :param unicode field: The field - :param unicode named_entity: The named_entity - - :returns: Newly created QueryInstance - :rtype: twilio.rest.preview.understand.service.query.QueryInstance - """ - data = values.of({ - 'Language': language, - 'Query': query, - 'Intent': intent, - 'ModelBuild': model_build, - 'Field': field, - 'NamedEntity': named_entity, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return QueryInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def get(self, sid): - """ - Constructs a QueryContext - - :param sid: The sid - - :returns: twilio.rest.preview.understand.service.query.QueryContext - :rtype: twilio.rest.preview.understand.service.query.QueryContext - """ - return QueryContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a QueryContext - - :param sid: The sid - - :returns: twilio.rest.preview.understand.service.query.QueryContext - :rtype: twilio.rest.preview.understand.service.query.QueryContext - """ - return QueryContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Understand.QueryList>' - - -class QueryPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the QueryPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.preview.understand.service.query.QueryPage - :rtype: twilio.rest.preview.understand.service.query.QueryPage - """ - super(QueryPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of QueryInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.understand.service.query.QueryInstance - :rtype: twilio.rest.preview.understand.service.query.QueryInstance - """ - return QueryInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Understand.QueryPage>' - - -class QueryContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the QueryContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.preview.understand.service.query.QueryContext - :rtype: twilio.rest.preview.understand.service.query.QueryContext - """ - super(QueryContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Queries/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a QueryInstance - - :returns: Fetched QueryInstance - :rtype: twilio.rest.preview.understand.service.query.QueryInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return QueryInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def update(self, sample_sid=values.unset, status=values.unset): - """ - Update the QueryInstance - - :param unicode sample_sid: The sample_sid - :param unicode status: The status - - :returns: Updated QueryInstance - :rtype: twilio.rest.preview.understand.service.query.QueryInstance - """ - data = values.of({'SampleSid': sample_sid, 'Status': status, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return QueryInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the QueryInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Understand.QueryContext {}>'.format(context) - - -class QueryInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the QueryInstance - - :returns: twilio.rest.preview.understand.service.query.QueryInstance - :rtype: twilio.rest.preview.understand.service.query.QueryInstance - """ - super(QueryInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'results': payload['results'], - 'language': payload['language'], - 'model_build_sid': payload['model_build_sid'], - 'query': payload['query'], - 'sample_sid': payload['sample_sid'], - 'service_sid': payload['service_sid'], - 'sid': payload['sid'], - 'status': payload['status'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: QueryContext for this QueryInstance - :rtype: twilio.rest.preview.understand.service.query.QueryContext - """ - if self._context is None: - self._context = QueryContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def results(self): - """ - :returns: The results - :rtype: dict - """ - return self._properties['results'] - - @property - def language(self): - """ - :returns: The language - :rtype: unicode - """ - return self._properties['language'] - - @property - def model_build_sid(self): - """ - :returns: The model_build_sid - :rtype: unicode - """ - return self._properties['model_build_sid'] - - @property - def query(self): - """ - :returns: The query - :rtype: unicode - """ - return self._properties['query'] - - @property - def sample_sid(self): - """ - :returns: The sample_sid - :rtype: unicode - """ - return self._properties['sample_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def status(self): - """ - :returns: The status - :rtype: unicode - """ - return self._properties['status'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a QueryInstance - - :returns: Fetched QueryInstance - :rtype: twilio.rest.preview.understand.service.query.QueryInstance - """ - return self._proxy.fetch() - - def update(self, sample_sid=values.unset, status=values.unset): - """ - Update the QueryInstance - - :param unicode sample_sid: The sample_sid - :param unicode status: The status - - :returns: Updated QueryInstance - :rtype: twilio.rest.preview.understand.service.query.QueryInstance - """ - return self._proxy.update(sample_sid=sample_sid, status=status, ) - - def delete(self): - """ - Deletes the QueryInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Understand.QueryInstance {}>'.format(context) diff --git a/twilio/rest/preview/wireless/__init__.py b/twilio/rest/preview/wireless/__init__.py deleted file mode 100644 index 72294ba..0000000 --- a/twilio/rest/preview/wireless/__init__.py +++ /dev/null @@ -1,64 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.preview.wireless.command import CommandList -from twilio.rest.preview.wireless.rate_plan import RatePlanList -from twilio.rest.preview.wireless.sim import SimList - - -class Wireless(Version): - - def __init__(self, domain): - """ - Initialize the Wireless version of Preview - - :returns: Wireless version of Preview - :rtype: twilio.rest.preview.wireless.Wireless.Wireless - """ - super(Wireless, self).__init__(domain) - self.version = 'wireless' - self._commands = None - self._rate_plans = None - self._sims = None - - @property - def commands(self): - """ - :rtype: twilio.rest.preview.wireless.command.CommandList - """ - if self._commands is None: - self._commands = CommandList(self) - return self._commands - - @property - def rate_plans(self): - """ - :rtype: twilio.rest.preview.wireless.rate_plan.RatePlanList - """ - if self._rate_plans is None: - self._rate_plans = RatePlanList(self) - return self._rate_plans - - @property - def sims(self): - """ - :rtype: twilio.rest.preview.wireless.sim.SimList - """ - if self._sims is None: - self._sims = SimList(self) - return self._sims - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Wireless>' diff --git a/twilio/rest/preview/wireless/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/wireless/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index da2ca5b8128e6833f557e2afbb9bdd0dc9681b75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2101 zcmbVM&5zqe6dyZI?06H=vgH5=GzSD5i8_mVBC4vEMdCy4YM~2AmZg!`GhwILv6*o; zN)%4JQvVFj@UL*;>?<e!1x~y-{%EM!)v9Cp%^Um8%=^8M--Gek|KrbJ!(Rr3{6%(# z1Nvil^_L(x2?@8jom!b4+7{})w3j)dV{|9&XM=EH^nU7QUg%lm3&IE7y&~Kd_GK>| za_>2r3^%cVdM-6haxUm9*7QfQ5GpPOr)O(FqEpH!3=nMF%s$=H12&1KAP(3znr`X# zU<wu&p9F`&p^x?yHr8Y6{|ye4iB-AZ3#Dbg0Cn#u&$4*IpGsZAa`Y`+c#_78X6-(g z8LA2HY)7wAOaKH4EeL}BlFTg(#FZEJgu{E>xgwWV*ayAO2Sy)&?sCuQE+2CLiiF-v z;*f9%0obd&AEXkg&^oc38*s+k@YNrKC`oB;$))|m-ddLyhILC=kJ}&}Bl|`UxD6-v zHorF^p!BPSEM=U^jiBYZpzTfcqK*X3=k!F03n^B9w`ZnAxl{{1yV1OfE}f}zU5FVi zS2C4(poA`iqCPTMHNb-Q-cIQ*3%%Cpc;Z%ly)1-MP<o{D7?a>VW0l)@TMb!Kr%hLT z3~PiHkTYHNnU<NJ*p;J2I<E#i&ti#b9x|4svDS?JM*a~;v*<ewz@u+ucpm4`lcM-M zF5~EFp2TT%DzYLfWO4s&DN}y`fll-JTCbuSSUVxUsKFPtu1Bq_L9tdIIDZ!t=Yt^b z9cy5o&D|~tt#x9d1q_@q=ST4B_dsmP3&`<Lp1No9j@dTfAiMVF>n?b=ihUEZV5j1{ z1CA%QLN^sw+Qd?0)bDfxVN_ll^Y>w;F*T&`TfVgesI_=QK+igVZUv}Ie6ZWK-5H2! z51dp;Sl3|kyEF7hV6}^Czf03An>WPuS?ANOa6t_R4exXt5zGj|^sfiwVDTTm24md8 zz`y?ifYoLy4Fkk2Q&XGn#uJraNTA}F&Xp7kp0249Q1DtT%D4pf{6C_27ANO&A+Fu> zI$7vabr){leRx`PN5e!NNjx&8cufj{9?&nwK1Jk)Io+L-Z2wMtB$7p(2_O=mu`K7y z6!j5fKQH67{$rZ9@(Ps${gi9<Hk_&UQQSlE4v1>pa7iN46i)BD1pIpojj&k^bK%M~ zzh{reqai-#`!V?9GRE_Sv2efP%d=REpy4-#D8dhJWYVV9Ov8pB-e}s@ujz#FW`>3; bF*Rm9eFd)8Y94r4$L^8a;&begWuD%@TlyV* diff --git a/twilio/rest/preview/wireless/__pycache__/command.cpython-36.pyc b/twilio/rest/preview/wireless/__pycache__/command.cpython-36.pyc deleted file mode 100644 index 44a911787cc0b7fc4384915e6a9ce2cb6b2533c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15601 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 Z2^x_x#)3M+O7)jt{vG4ma&!6I{{qc@>k<F} diff --git a/twilio/rest/preview/wireless/__pycache__/rate_plan.cpython-36.pyc b/twilio/rest/preview/wireless/__pycache__/rate_plan.cpython-36.pyc deleted file mode 100644 index 5e06d9dddbca56acc0ed0c073a92e0fc0f4a3995..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17910 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 diff --git a/twilio/rest/preview/wireless/command.py b/twilio/rest/preview/wireless/command.py deleted file mode 100644 index e3d536f..0000000 --- a/twilio/rest/preview/wireless/command.py +++ /dev/null @@ -1,462 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class CommandList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version): - """ - Initialize the CommandList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.preview.wireless.command.CommandList - :rtype: twilio.rest.preview.wireless.command.CommandList - """ - super(CommandList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Commands'.format(**self._solution) - - def stream(self, device=values.unset, sim=values.unset, status=values.unset, - direction=values.unset, limit=None, page_size=None): - """ - Streams CommandInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode device: The device - :param unicode sim: The sim - :param unicode status: The status - :param unicode direction: The direction - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.wireless.command.CommandInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - device=device, - sim=sim, - status=status, - direction=direction, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, device=values.unset, sim=values.unset, status=values.unset, - direction=values.unset, limit=None, page_size=None): - """ - Lists CommandInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode device: The device - :param unicode sim: The sim - :param unicode status: The status - :param unicode direction: The direction - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.wireless.command.CommandInstance] - """ - return list(self.stream( - device=device, - sim=sim, - status=status, - direction=direction, - limit=limit, - page_size=page_size, - )) - - def page(self, device=values.unset, sim=values.unset, status=values.unset, - direction=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of CommandInstance records from the API. - Request is executed immediately - - :param unicode device: The device - :param unicode sim: The sim - :param unicode status: The status - :param unicode direction: The direction - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of CommandInstance - :rtype: twilio.rest.preview.wireless.command.CommandPage - """ - params = values.of({ - 'Device': device, - 'Sim': sim, - 'Status': status, - 'Direction': direction, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return CommandPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of CommandInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of CommandInstance - :rtype: twilio.rest.preview.wireless.command.CommandPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return CommandPage(self._version, response, self._solution) - - def create(self, command, device=values.unset, sim=values.unset, - callback_method=values.unset, callback_url=values.unset, - command_mode=values.unset, include_sid=values.unset): - """ - Create a new CommandInstance - - :param unicode command: The command - :param unicode device: The device - :param unicode sim: The sim - :param unicode callback_method: The callback_method - :param unicode callback_url: The callback_url - :param unicode command_mode: The command_mode - :param unicode include_sid: The include_sid - - :returns: Newly created CommandInstance - :rtype: twilio.rest.preview.wireless.command.CommandInstance - """ - data = values.of({ - 'Command': command, - 'Device': device, - 'Sim': sim, - 'CallbackMethod': callback_method, - 'CallbackUrl': callback_url, - 'CommandMode': command_mode, - 'IncludeSid': include_sid, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return CommandInstance(self._version, payload, ) - - def get(self, sid): - """ - Constructs a CommandContext - - :param sid: The sid - - :returns: twilio.rest.preview.wireless.command.CommandContext - :rtype: twilio.rest.preview.wireless.command.CommandContext - """ - return CommandContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a CommandContext - - :param sid: The sid - - :returns: twilio.rest.preview.wireless.command.CommandContext - :rtype: twilio.rest.preview.wireless.command.CommandContext - """ - return CommandContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Wireless.CommandList>' - - -class CommandPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the CommandPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.preview.wireless.command.CommandPage - :rtype: twilio.rest.preview.wireless.command.CommandPage - """ - super(CommandPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of CommandInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.wireless.command.CommandInstance - :rtype: twilio.rest.preview.wireless.command.CommandInstance - """ - return CommandInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Wireless.CommandPage>' - - -class CommandContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, sid): - """ - Initialize the CommandContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.preview.wireless.command.CommandContext - :rtype: twilio.rest.preview.wireless.command.CommandContext - """ - super(CommandContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Commands/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a CommandInstance - - :returns: Fetched CommandInstance - :rtype: twilio.rest.preview.wireless.command.CommandInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return CommandInstance(self._version, payload, sid=self._solution['sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Wireless.CommandContext {}>'.format(context) - - -class CommandInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, sid=None): - """ - Initialize the CommandInstance - - :returns: twilio.rest.preview.wireless.command.CommandInstance - :rtype: twilio.rest.preview.wireless.command.CommandInstance - """ - super(CommandInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'device_sid': payload['device_sid'], - 'sim_sid': payload['sim_sid'], - 'command': payload['command'], - 'command_mode': payload['command_mode'], - 'status': payload['status'], - 'direction': payload['direction'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: CommandContext for this CommandInstance - :rtype: twilio.rest.preview.wireless.command.CommandContext - """ - if self._context is None: - self._context = CommandContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def device_sid(self): - """ - :returns: The device_sid - :rtype: unicode - """ - return self._properties['device_sid'] - - @property - def sim_sid(self): - """ - :returns: The sim_sid - :rtype: unicode - """ - return self._properties['sim_sid'] - - @property - def command(self): - """ - :returns: The command - :rtype: unicode - """ - return self._properties['command'] - - @property - def command_mode(self): - """ - :returns: The command_mode - :rtype: unicode - """ - return self._properties['command_mode'] - - @property - def status(self): - """ - :returns: The status - :rtype: unicode - """ - return self._properties['status'] - - @property - def direction(self): - """ - :returns: The direction - :rtype: unicode - """ - return self._properties['direction'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a CommandInstance - - :returns: Fetched CommandInstance - :rtype: twilio.rest.preview.wireless.command.CommandInstance - """ - return self._proxy.fetch() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Wireless.CommandInstance {}>'.format(context) diff --git a/twilio/rest/preview/wireless/rate_plan.py b/twilio/rest/preview/wireless/rate_plan.py deleted file mode 100644 index 5354641..0000000 --- a/twilio/rest/preview/wireless/rate_plan.py +++ /dev/null @@ -1,513 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class RatePlanList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version): - """ - Initialize the RatePlanList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.preview.wireless.rate_plan.RatePlanList - :rtype: twilio.rest.preview.wireless.rate_plan.RatePlanList - """ - super(RatePlanList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/RatePlans'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams RatePlanInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.wireless.rate_plan.RatePlanInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists RatePlanInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.wireless.rate_plan.RatePlanInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of RatePlanInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of RatePlanInstance - :rtype: twilio.rest.preview.wireless.rate_plan.RatePlanPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return RatePlanPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of RatePlanInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of RatePlanInstance - :rtype: twilio.rest.preview.wireless.rate_plan.RatePlanPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return RatePlanPage(self._version, response, self._solution) - - def create(self, unique_name=values.unset, friendly_name=values.unset, - data_enabled=values.unset, data_limit=values.unset, - data_metering=values.unset, messaging_enabled=values.unset, - voice_enabled=values.unset, commands_enabled=values.unset, - national_roaming_enabled=values.unset, - international_roaming=values.unset): - """ - Create a new RatePlanInstance - - :param unicode unique_name: The unique_name - :param unicode friendly_name: The friendly_name - :param bool data_enabled: The data_enabled - :param unicode data_limit: The data_limit - :param unicode data_metering: The data_metering - :param bool messaging_enabled: The messaging_enabled - :param bool voice_enabled: The voice_enabled - :param bool commands_enabled: The commands_enabled - :param bool national_roaming_enabled: The national_roaming_enabled - :param unicode international_roaming: The international_roaming - - :returns: Newly created RatePlanInstance - :rtype: twilio.rest.preview.wireless.rate_plan.RatePlanInstance - """ - data = values.of({ - 'UniqueName': unique_name, - 'FriendlyName': friendly_name, - 'DataEnabled': data_enabled, - 'DataLimit': data_limit, - 'DataMetering': data_metering, - 'MessagingEnabled': messaging_enabled, - 'VoiceEnabled': voice_enabled, - 'CommandsEnabled': commands_enabled, - 'NationalRoamingEnabled': national_roaming_enabled, - 'InternationalRoaming': serialize.map(international_roaming, lambda e: e), - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return RatePlanInstance(self._version, payload, ) - - def get(self, sid): - """ - Constructs a RatePlanContext - - :param sid: The sid - - :returns: twilio.rest.preview.wireless.rate_plan.RatePlanContext - :rtype: twilio.rest.preview.wireless.rate_plan.RatePlanContext - """ - return RatePlanContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a RatePlanContext - - :param sid: The sid - - :returns: twilio.rest.preview.wireless.rate_plan.RatePlanContext - :rtype: twilio.rest.preview.wireless.rate_plan.RatePlanContext - """ - return RatePlanContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Wireless.RatePlanList>' - - -class RatePlanPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the RatePlanPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.preview.wireless.rate_plan.RatePlanPage - :rtype: twilio.rest.preview.wireless.rate_plan.RatePlanPage - """ - super(RatePlanPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of RatePlanInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.wireless.rate_plan.RatePlanInstance - :rtype: twilio.rest.preview.wireless.rate_plan.RatePlanInstance - """ - return RatePlanInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Wireless.RatePlanPage>' - - -class RatePlanContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, sid): - """ - Initialize the RatePlanContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.preview.wireless.rate_plan.RatePlanContext - :rtype: twilio.rest.preview.wireless.rate_plan.RatePlanContext - """ - super(RatePlanContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/RatePlans/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a RatePlanInstance - - :returns: Fetched RatePlanInstance - :rtype: twilio.rest.preview.wireless.rate_plan.RatePlanInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return RatePlanInstance(self._version, payload, sid=self._solution['sid'], ) - - def update(self, unique_name=values.unset, friendly_name=values.unset): - """ - Update the RatePlanInstance - - :param unicode unique_name: The unique_name - :param unicode friendly_name: The friendly_name - - :returns: Updated RatePlanInstance - :rtype: twilio.rest.preview.wireless.rate_plan.RatePlanInstance - """ - data = values.of({'UniqueName': unique_name, 'FriendlyName': friendly_name, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return RatePlanInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the RatePlanInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Wireless.RatePlanContext {}>'.format(context) - - -class RatePlanInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, sid=None): - """ - Initialize the RatePlanInstance - - :returns: twilio.rest.preview.wireless.rate_plan.RatePlanInstance - :rtype: twilio.rest.preview.wireless.rate_plan.RatePlanInstance - """ - super(RatePlanInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'unique_name': payload['unique_name'], - 'account_sid': payload['account_sid'], - 'friendly_name': payload['friendly_name'], - 'data_enabled': payload['data_enabled'], - 'data_metering': payload['data_metering'], - 'data_limit': deserialize.integer(payload['data_limit']), - 'messaging_enabled': payload['messaging_enabled'], - 'voice_enabled': payload['voice_enabled'], - 'national_roaming_enabled': payload['national_roaming_enabled'], - 'international_roaming': payload['international_roaming'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: RatePlanContext for this RatePlanInstance - :rtype: twilio.rest.preview.wireless.rate_plan.RatePlanContext - """ - if self._context is None: - self._context = RatePlanContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def unique_name(self): - """ - :returns: The unique_name - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def data_enabled(self): - """ - :returns: The data_enabled - :rtype: bool - """ - return self._properties['data_enabled'] - - @property - def data_metering(self): - """ - :returns: The data_metering - :rtype: unicode - """ - return self._properties['data_metering'] - - @property - def data_limit(self): - """ - :returns: The data_limit - :rtype: unicode - """ - return self._properties['data_limit'] - - @property - def messaging_enabled(self): - """ - :returns: The messaging_enabled - :rtype: bool - """ - return self._properties['messaging_enabled'] - - @property - def voice_enabled(self): - """ - :returns: The voice_enabled - :rtype: bool - """ - return self._properties['voice_enabled'] - - @property - def national_roaming_enabled(self): - """ - :returns: The national_roaming_enabled - :rtype: bool - """ - return self._properties['national_roaming_enabled'] - - @property - def international_roaming(self): - """ - :returns: The international_roaming - :rtype: unicode - """ - return self._properties['international_roaming'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a RatePlanInstance - - :returns: Fetched RatePlanInstance - :rtype: twilio.rest.preview.wireless.rate_plan.RatePlanInstance - """ - return self._proxy.fetch() - - def update(self, unique_name=values.unset, friendly_name=values.unset): - """ - Update the RatePlanInstance - - :param unicode unique_name: The unique_name - :param unicode friendly_name: The friendly_name - - :returns: Updated RatePlanInstance - :rtype: twilio.rest.preview.wireless.rate_plan.RatePlanInstance - """ - return self._proxy.update(unique_name=unique_name, friendly_name=friendly_name, ) - - def delete(self): - """ - Deletes the RatePlanInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Wireless.RatePlanInstance {}>'.format(context) diff --git a/twilio/rest/preview/wireless/sim/__init__.py b/twilio/rest/preview/wireless/sim/__init__.py deleted file mode 100644 index b331ae7..0000000 --- a/twilio/rest/preview/wireless/sim/__init__.py +++ /dev/null @@ -1,671 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.preview.wireless.sim.usage import UsageList - - -class SimList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version): - """ - Initialize the SimList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.preview.wireless.sim.SimList - :rtype: twilio.rest.preview.wireless.sim.SimList - """ - super(SimList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Sims'.format(**self._solution) - - def stream(self, status=values.unset, iccid=values.unset, - rate_plan=values.unset, e_id=values.unset, - sim_registration_code=values.unset, limit=None, page_size=None): - """ - Streams SimInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode status: The status - :param unicode iccid: The iccid - :param unicode rate_plan: The rate_plan - :param unicode e_id: The e_id - :param unicode sim_registration_code: The sim_registration_code - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.wireless.sim.SimInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - status=status, - iccid=iccid, - rate_plan=rate_plan, - e_id=e_id, - sim_registration_code=sim_registration_code, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, status=values.unset, iccid=values.unset, rate_plan=values.unset, - e_id=values.unset, sim_registration_code=values.unset, limit=None, - page_size=None): - """ - Lists SimInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode status: The status - :param unicode iccid: The iccid - :param unicode rate_plan: The rate_plan - :param unicode e_id: The e_id - :param unicode sim_registration_code: The sim_registration_code - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.preview.wireless.sim.SimInstance] - """ - return list(self.stream( - status=status, - iccid=iccid, - rate_plan=rate_plan, - e_id=e_id, - sim_registration_code=sim_registration_code, - limit=limit, - page_size=page_size, - )) - - def page(self, status=values.unset, iccid=values.unset, rate_plan=values.unset, - e_id=values.unset, sim_registration_code=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of SimInstance records from the API. - Request is executed immediately - - :param unicode status: The status - :param unicode iccid: The iccid - :param unicode rate_plan: The rate_plan - :param unicode e_id: The e_id - :param unicode sim_registration_code: The sim_registration_code - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of SimInstance - :rtype: twilio.rest.preview.wireless.sim.SimPage - """ - params = values.of({ - 'Status': status, - 'Iccid': iccid, - 'RatePlan': rate_plan, - 'EId': e_id, - 'SimRegistrationCode': sim_registration_code, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return SimPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of SimInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of SimInstance - :rtype: twilio.rest.preview.wireless.sim.SimPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return SimPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a SimContext - - :param sid: The sid - - :returns: twilio.rest.preview.wireless.sim.SimContext - :rtype: twilio.rest.preview.wireless.sim.SimContext - """ - return SimContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a SimContext - - :param sid: The sid - - :returns: twilio.rest.preview.wireless.sim.SimContext - :rtype: twilio.rest.preview.wireless.sim.SimContext - """ - return SimContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Wireless.SimList>' - - -class SimPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the SimPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.preview.wireless.sim.SimPage - :rtype: twilio.rest.preview.wireless.sim.SimPage - """ - super(SimPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of SimInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.wireless.sim.SimInstance - :rtype: twilio.rest.preview.wireless.sim.SimInstance - """ - return SimInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Wireless.SimPage>' - - -class SimContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, sid): - """ - Initialize the SimContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.preview.wireless.sim.SimContext - :rtype: twilio.rest.preview.wireless.sim.SimContext - """ - super(SimContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Sims/{sid}'.format(**self._solution) - - # Dependents - self._usage = None - - def fetch(self): - """ - Fetch a SimInstance - - :returns: Fetched SimInstance - :rtype: twilio.rest.preview.wireless.sim.SimInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return SimInstance(self._version, payload, sid=self._solution['sid'], ) - - def update(self, unique_name=values.unset, callback_method=values.unset, - callback_url=values.unset, friendly_name=values.unset, - rate_plan=values.unset, status=values.unset, - commands_callback_method=values.unset, - commands_callback_url=values.unset, sms_fallback_method=values.unset, - sms_fallback_url=values.unset, sms_method=values.unset, - sms_url=values.unset, voice_fallback_method=values.unset, - voice_fallback_url=values.unset, voice_method=values.unset, - voice_url=values.unset): - """ - Update the SimInstance - - :param unicode unique_name: The unique_name - :param unicode callback_method: The callback_method - :param unicode callback_url: The callback_url - :param unicode friendly_name: The friendly_name - :param unicode rate_plan: The rate_plan - :param unicode status: The status - :param unicode commands_callback_method: The commands_callback_method - :param unicode commands_callback_url: The commands_callback_url - :param unicode sms_fallback_method: The sms_fallback_method - :param unicode sms_fallback_url: The sms_fallback_url - :param unicode sms_method: The sms_method - :param unicode sms_url: The sms_url - :param unicode voice_fallback_method: The voice_fallback_method - :param unicode voice_fallback_url: The voice_fallback_url - :param unicode voice_method: The voice_method - :param unicode voice_url: The voice_url - - :returns: Updated SimInstance - :rtype: twilio.rest.preview.wireless.sim.SimInstance - """ - data = values.of({ - 'UniqueName': unique_name, - 'CallbackMethod': callback_method, - 'CallbackUrl': callback_url, - 'FriendlyName': friendly_name, - 'RatePlan': rate_plan, - 'Status': status, - 'CommandsCallbackMethod': commands_callback_method, - 'CommandsCallbackUrl': commands_callback_url, - 'SmsFallbackMethod': sms_fallback_method, - 'SmsFallbackUrl': sms_fallback_url, - 'SmsMethod': sms_method, - 'SmsUrl': sms_url, - 'VoiceFallbackMethod': voice_fallback_method, - 'VoiceFallbackUrl': voice_fallback_url, - 'VoiceMethod': voice_method, - 'VoiceUrl': voice_url, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return SimInstance(self._version, payload, sid=self._solution['sid'], ) - - @property - def usage(self): - """ - Access the usage - - :returns: twilio.rest.preview.wireless.sim.usage.UsageList - :rtype: twilio.rest.preview.wireless.sim.usage.UsageList - """ - if self._usage is None: - self._usage = UsageList(self._version, sim_sid=self._solution['sid'], ) - return self._usage - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Wireless.SimContext {}>'.format(context) - - -class SimInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, sid=None): - """ - Initialize the SimInstance - - :returns: twilio.rest.preview.wireless.sim.SimInstance - :rtype: twilio.rest.preview.wireless.sim.SimInstance - """ - super(SimInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'unique_name': payload['unique_name'], - 'account_sid': payload['account_sid'], - 'rate_plan_sid': payload['rate_plan_sid'], - 'friendly_name': payload['friendly_name'], - 'iccid': payload['iccid'], - 'e_id': payload['e_id'], - 'status': payload['status'], - 'commands_callback_url': payload['commands_callback_url'], - 'commands_callback_method': payload['commands_callback_method'], - 'sms_fallback_method': payload['sms_fallback_method'], - 'sms_fallback_url': payload['sms_fallback_url'], - 'sms_method': payload['sms_method'], - 'sms_url': payload['sms_url'], - 'voice_fallback_method': payload['voice_fallback_method'], - 'voice_fallback_url': payload['voice_fallback_url'], - 'voice_method': payload['voice_method'], - 'voice_url': payload['voice_url'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: SimContext for this SimInstance - :rtype: twilio.rest.preview.wireless.sim.SimContext - """ - if self._context is None: - self._context = SimContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def unique_name(self): - """ - :returns: The unique_name - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def rate_plan_sid(self): - """ - :returns: The rate_plan_sid - :rtype: unicode - """ - return self._properties['rate_plan_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def iccid(self): - """ - :returns: The iccid - :rtype: unicode - """ - return self._properties['iccid'] - - @property - def e_id(self): - """ - :returns: The e_id - :rtype: unicode - """ - return self._properties['e_id'] - - @property - def status(self): - """ - :returns: The status - :rtype: unicode - """ - return self._properties['status'] - - @property - def commands_callback_url(self): - """ - :returns: The commands_callback_url - :rtype: unicode - """ - return self._properties['commands_callback_url'] - - @property - def commands_callback_method(self): - """ - :returns: The commands_callback_method - :rtype: unicode - """ - return self._properties['commands_callback_method'] - - @property - def sms_fallback_method(self): - """ - :returns: The sms_fallback_method - :rtype: unicode - """ - return self._properties['sms_fallback_method'] - - @property - def sms_fallback_url(self): - """ - :returns: The sms_fallback_url - :rtype: unicode - """ - return self._properties['sms_fallback_url'] - - @property - def sms_method(self): - """ - :returns: The sms_method - :rtype: unicode - """ - return self._properties['sms_method'] - - @property - def sms_url(self): - """ - :returns: The sms_url - :rtype: unicode - """ - return self._properties['sms_url'] - - @property - def voice_fallback_method(self): - """ - :returns: The voice_fallback_method - :rtype: unicode - """ - return self._properties['voice_fallback_method'] - - @property - def voice_fallback_url(self): - """ - :returns: The voice_fallback_url - :rtype: unicode - """ - return self._properties['voice_fallback_url'] - - @property - def voice_method(self): - """ - :returns: The voice_method - :rtype: unicode - """ - return self._properties['voice_method'] - - @property - def voice_url(self): - """ - :returns: The voice_url - :rtype: unicode - """ - return self._properties['voice_url'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a SimInstance - - :returns: Fetched SimInstance - :rtype: twilio.rest.preview.wireless.sim.SimInstance - """ - return self._proxy.fetch() - - def update(self, unique_name=values.unset, callback_method=values.unset, - callback_url=values.unset, friendly_name=values.unset, - rate_plan=values.unset, status=values.unset, - commands_callback_method=values.unset, - commands_callback_url=values.unset, sms_fallback_method=values.unset, - sms_fallback_url=values.unset, sms_method=values.unset, - sms_url=values.unset, voice_fallback_method=values.unset, - voice_fallback_url=values.unset, voice_method=values.unset, - voice_url=values.unset): - """ - Update the SimInstance - - :param unicode unique_name: The unique_name - :param unicode callback_method: The callback_method - :param unicode callback_url: The callback_url - :param unicode friendly_name: The friendly_name - :param unicode rate_plan: The rate_plan - :param unicode status: The status - :param unicode commands_callback_method: The commands_callback_method - :param unicode commands_callback_url: The commands_callback_url - :param unicode sms_fallback_method: The sms_fallback_method - :param unicode sms_fallback_url: The sms_fallback_url - :param unicode sms_method: The sms_method - :param unicode sms_url: The sms_url - :param unicode voice_fallback_method: The voice_fallback_method - :param unicode voice_fallback_url: The voice_fallback_url - :param unicode voice_method: The voice_method - :param unicode voice_url: The voice_url - - :returns: Updated SimInstance - :rtype: twilio.rest.preview.wireless.sim.SimInstance - """ - return self._proxy.update( - unique_name=unique_name, - callback_method=callback_method, - callback_url=callback_url, - friendly_name=friendly_name, - rate_plan=rate_plan, - status=status, - commands_callback_method=commands_callback_method, - commands_callback_url=commands_callback_url, - sms_fallback_method=sms_fallback_method, - sms_fallback_url=sms_fallback_url, - sms_method=sms_method, - sms_url=sms_url, - voice_fallback_method=voice_fallback_method, - voice_fallback_url=voice_fallback_url, - voice_method=voice_method, - voice_url=voice_url, - ) - - @property - def usage(self): - """ - Access the usage - - :returns: twilio.rest.preview.wireless.sim.usage.UsageList - :rtype: twilio.rest.preview.wireless.sim.usage.UsageList - """ - return self._proxy.usage - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Wireless.SimInstance {}>'.format(context) diff --git a/twilio/rest/preview/wireless/sim/__pycache__/__init__.cpython-36.pyc b/twilio/rest/preview/wireless/sim/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index b31cd8d482ce520aaef7e447214a45855ebbcb89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21262 zcmeHPON<*wdS>(eni<ZFG}8FlvbDCjmZ_1o_S&*mD_N4gvgNU?hn+Cva9iviO^^6; zcT@7v6ml407da@GB*?|c16UyNB|(k}a#<h<VC0hAlD;kWv<PxYZt*GK|5tah*nA8n z+ncr59I*Izb#>KWfBp5p>hC!*H<$mHfBlQ<pS~Z9{W7L}l7P?P>wbd5j8$W%X2u&@ zGhU5r1SbF|stJaZjbt-bO);Emq??&)hT(K0+ssvS3}+hoW}#YOINK;T=c;pB?2VY2 zGxPUiX5Px}CaUweE|^7J7p(%W7jQji&f|LCO5wVM>jkrf>ynkh^`g0WHCA5g8To5l zwyW3MrlsF8T>YlivK+&+O#Q}AenUT|*K~YP)cV11UhnHiYUPb%D2~+n8^`*3|Hv`4 zxP82`R$0qadmRso&$0ZkK!jLX^9!csT8?cr?4E_o^lhWjwOl|87hA4pwCdKmcFVIq z@=#R@tFBmXyX(~Hf#N0G^_1)6W#cB*=dQZ|=w_Wp3P0HZaQ_B?6{~7kh`6a$6F-e@ zVmZvjy=*mUrMA=2ubDKHn;A1@rtfLhO!O{Y2Q4yY7A>;lTBvoKSzaiuniC6D&5MPp z7Q}*7i{_%abT3w&`)Mp0tIlItmi^3CyGc{(eWqW&bm8pP3;Oyy*DmPZmf@kG1#1{C zEnCYo?3Sx{9P74i-NA3$?AAS3v@{$`ce^*Xt-8m{;<feqmeIOtRrKqwg*H}Gzhiq_ zdfn)HcDq&4FK+5P?XF($I*!%y8auk#)>~~)-!g7nx@q0E8tsndaA)C=M!jyi?oqwd zuncs{DAn<V)##k@?$`~xU8%R56}=u0R)l^N!PosR059fg{n&1NJKooJH7#bx`mtKV z)V7nGfVLBVguAtr83$z&y<Y?jrt245wkOz$W}*ia%gg&GJBDL4_4h2t#oYAU;`gMi zU}8!NQWs9ZZAu@G<#nBwdr}Xkf+k)in0n=o?N|*=zT(==N;rPN`1(o5+v!*j@nA1? z41Kxl<+Pu2yCAod1Cjh}t!87!wVI!+x$Ooon4jKkJ59s$leMm6m*alYwHlj#CYUSj zj#`abrB?ei_PKrT<OUYraW~$zt6N5U<7}sM-tdf#OYOSR*tljjI~yIl^Zbpj-7ud& z;WpZvJMNtgG4=3=D6kPwU?Zf!1}Lx*B3S9{I0c}50ADwaB9<#9(ps++kf;(iT(5__ zG>=9EpTpNZg97Uw+t&K&er7j*H;XIqMnB$9^ppKmKWl2MF*ANYeK*JL68#+N600$k z$<^3y0-TaEeg-)#nc=GESVq$&E(v7|mb>0|OjqA@+D&GmvzIUGkby=h1>279@^cm0 z4@*nh0|spvy<zlh?2<;?KtExB=)&6EwClFmLb&X-UDv+Ru=H-rvl~2C!*1GQR}#Zu zM+3k5mSw6#F-LYA*v_<*1uH@_52JWgciZR@Jq*yoMbm1wot*(96@{tA#^|<e7W)vs zUKbpG4Ld-<a<;)13R~Lsx^0Sv3{GlC3Z&L)7%kCOUQTLn)xvHGn$!v`R&%VIkcxu% zHNrkXd)%#PKX%L0nd&F?>m971xX`hKctKj-<_%P~H|07)Tnd_30ya2OmVJi1eDHg- z3vmMlW<mHuXhK#x!Q(nsf~2hhexX&b==ynU)4;;gy0_Y*R(2f_ozU$-v(;QE%#-^1 zIP^9xufC<zTpa5|XjAW~erL;SvB-8U55m3C(7UcB`yQaHLL~dl03%k*M1>dELP7vv z=mp>@(ILF?fZehNtEF~0fNyj?>?fYK@(_5I_tlZIK+*6#$R4ORqPStwdhCI+=#iBd zVc%@K-hkH`QJv^^RJSY8c1^o=gr7L7A75KrD=T|J3ivmK<-^<nEz6|av8{%wcRPfb z7!lHsHl)NZl=2O*<?qd+BSPu(f$YN1NxDMhr^OcZQ@q3coZLKqk~W9Gf9y7J_CaR) zDaNsy=l&QjC!se2ZBQ)`ZEIZb`bla;qmf)J=bZ&~;OwVjg$k10&Os_xsd$768l##P z&pVG%&5|sZ33?pGGx)kxA3Hc7Pik@bS4{NgLj@p4mC~OiKWPA#{?xHY@?TRVKJ<X8 z-Ouc5knC~eyeiqrOqx}$(<%)F?DbZ|zC|*RNN}Wlbc__WKqN;uTBhI!lJokHnF2o! zcZZIR+LntMh}|0Zc#?bgk2rSBJ!zO-x*6$1$?$vqG>AtVH^6y4v-Ugp*z*&C3P zCEOUv8&O9gVTXUe5t6r@nL*-_RZSFQ=~m9pDk!6}@d=2vxA1jKC}IcFQZAB&>=i@F zNF&wB-lq>4(NZp+!G$*>70DL<B)hAzB^=*Qm~lwXWItyn?kDc%y%bx{d6a3kij&4) z!u^ul=ZfVyHY^pWXctln1}bR<(*D3F)KpT?sdn-}ie3?x2XUD7kyY<f?7(g|Ez^b- z*w|52?Qf^q3C<CQlh?jw!6Lp43ST3Tob}tb$)OguK;eGKm5CaG!a5aC2ex3KuY|z{ z>ccSTz!xEVw%#D$gRS|2Ar<X%id`v;qNAZv$QJF3YsyketBGb4;g`W29>4>pe&mDY zte?KhUP(1|k$et6dj-sN86HJ7ap9s_T?TtzQCxv@@C2$kNm(a@y;9B6^;H;we&US_ z*We4MnE_qw`ULL#@%E<kC;(x~%u^MGUFa#Nh^um8`d$z0EMC@Xp@YY2VwKoXa-O0N zv#=LC?G}9Qh^a(YP6J<;fY?6OP$Gelhrb-xl3F$~5Dhef45H8sD9*?x6Agte4&ks( zA^?UHoaVTfq&hgwv28>E*>F0dP1yV$t8T+%{WWZV+76!K+_XG|EE*?uF#Yp`pyTx` zm!v}$xHQ-wfzi#_{o0t&IRvVf)661%+H5xwXsf1$iSK6u<ebB3B)BEP+~Vg4lXJd9 zH-{JA&(h3kDgPKZU5<a`^H}S2Vh|q*o5<CskeOU<;?&SUhEYsmv3T$2a`PaH3L0|| z&>%66Yl^BWbQ5ye4Sj9^%1ybmXK`l2zC+s}^oAbhS!~b*P=UJ553pwHm*Zk1Qmima z&ID-nGomDsD3<FL@a!eB@=^a=Mm~q=16n<YpFQb@Xd*&>jauz*(K;la5}*?|>yQ`x zp<nv4xFJq7*%RyaB->pU%1k#9PJ{9>p@|#|VL}&*h+}2rc<gP2ybwf~_(+tmz}RxY z-l0?1M0okK2!2=I55utm51eLZDQkjzqWiFhU{c4a)&2pq5d_E#c3^n3yg+f+meI5j zcg@#oO@!AQ1Q%<y54%PqxRa^X%yu0Qk;NvoOR5X0FN{WqY(Jr8$^;#y;(016DEzq~ zL|eCLJq8R8#22X%yVhh9(hOW3MK+O)7Z<WxR$F?ysO7cdlSRN;ZT@g}F<ZzMIAB~y zL-|Prkh=z8(rF0JHBvZ-z{!W1!Ec(+BQg*#Sr&8Oq_YTOVfxT7(T2XPiq*4-etZ`P zc8EFiX#^|KRcr#ufujcyWIHH)E(Gm+4{-n?8DDg9C9on$6S6sRQkPY#Rj!QvKysY% zmSaAw*|uIzI^?bhrN~=>?Wm;KfaLhFN~~tX^NWzhd2ceG(^H?(V(<#(mxNX%{N$;@ zkXWaMJ4fwlq);pFl1|im|0!4MH9F8h7zeQ$gx7G?7&TdC%fLuBZ5&~Bj2#O2kkQS6 zr2f!}!Nbx#bgu?OKLFiF9){W^)fd*Q^54${6B&pWmMMOb?2M2i|4u{<l;}S6#3WZ6 ze0_BRO=X%cU@`nlIe(!B0+tgx0ut~T?mHwso#RxzKn1h-_X#3F?tG65W@Rcu-e$Hw zjEaB4mkqu^d>441)KM!x92>xu`x6v<iD@gno%tf)%@PZGI>OGGIHbN8+tqM5oi_^* z{sk8PMeL&@8x-Fp;ZHJyKJ*)YU0OU<_|ri&JgK-%htCMBL=K}#DWpyEs**-}x>5*@ z<iSS&()7Y_nhnn;Xs^KM*T+5vc6Zm|ZL>~z4)hfph9tE!M+N)b=~|Z(ILg9*a#%~S zB^#JO!@A*r@Lb?El@fWal;}|`ARzHTMUbsZA6niNzUS}_mUvsU!RU9ftbwyk@iJtD zAYK*^;$`GAV{viDoV?Fx$-O_6i}yMoxv^&z3fplSfSbW}Rb;a4;z7J5IYy|Rg<GmQ z<ns%QUlTtfs^L6M^%U0dQ+zteM0Q@JT2{sZnfdXTs8$LrVQ9XBI;0~Bg&ND`<1!FI z-a$xc?z&FqDSb%9Q8!HG_W+EGQ{s$1-!Jrw{ki^pf1zJO+_HpqSPa%d#4Q&&Zn+e! z!xFCpPV~(buS42+4rYO*<Mob-s1S$FR5Hu^fi4eEuknjBQa0wrsj*Tq=^1i^ZW#4j zwWj55wS%+oNadc-a-4%s*X4t#ne<fXJt=q&RZV(Mo)gY^<}QvIgX43KwN2_7**i^~ zfVu22juK<S-PwB^kY}W;DRgq1Zf$ei>WsND374U!5{+o>w5L_Jpy$N(v?qp!nKHlI zZM$xbpW)bBlg5lRmcx(MPwzpUsd#q!Tt%D6a5Ue+Fw#X48~G~`mgQ14f1S7eI$Zeb z{JDT(-sat0Eri$Cokq3zdJwmurj8CN<~)g_x^gaH%dm0q@N%@CI$6BhbYCAHWL~MF zCOKROU8Dh0)$)6^*pcT-LzUF5z%{|MS-wEEpS=9eRSIt>Aq|b`Dk0rvkr~wq%OZ4H zPz0jCAca+viRBk%MHhq44GATYE<o7>{=rG&!rwo7hk9CeM|ZMc8mgpbd8!Fe$q-DH z`)`liCH_*Rnwl0xUC={LT;YcEDy{T5O?V17R!9>b1rXDtA^JgPgMgHf{i32N1;vM) zCvt6BRZ^}5R2=NgTUkWK*(AX=tWBuA#C@p58s8@?v-j6><DBJ;OV)dAI*r>>dq!aS z$%@RKm7ULQoJ{IqJz&9V#zj^ZMRb$S%b2J`v2M0Zgds9MESKVL-zBnh=3q9jt%%IQ z(DdL2lAh$TCh%o?l9z?FQKSYUy_Zu+w&T08^Dy_w;4_ok2}&>pHB<kefy>V|U7}B@ z6Fa!{r7&SX_QA?V{H}I4Zqnfm9FX1kdkDRLh}>l$9`B_-zWalZVODEwLYEVMyt3wN zw|wn(#FG0wcZ$wcKI%B9O(G{zDjDlNqwr=J<*b})Py(oXx*{LxJv%MB8mxu>@!iwN zFiLK>?G`U8vX+p@<qFh9)ZWk3#Q{VFJ$9KtAjD|?vCJb{#F7s@@43mIH<_v&Y;{f$ zMEljx;!qX&aNdsd7S-+Lmy=iWU-)wDkNxsxgitw{io>_yZ~jD4IKg$alppD<e}YM< zzPkA;r<f<q<h>lFm~$#Q`PN7^Hz{eHU?i4{{C&VkAs4CPfOCL3Zy#_TFz4(8E&%2< zall2u%jQ1rXAbawbA@4K`kM#LgA6YKUNs+KxCHo7^D%}O0Y7d&!SE8`CrzE<Wx$8b zrx@M`_-XSn!}|e$$9#t26~ND$M;JZ;xNLrx;e&vmGmkR73ix@m!tf)2kC|%>KMMG` z`2xd_nJ3KeA;$2y^~Cm*U*wAj#*5}lNW$0A`}fV4x%WfnE9Ob`{uD<rp2ns*#qQ5H zD1xzG=RE^fq+d$aBRS&!Gm2;kqYt@(yy!To6qJ-B9j6>=lqoLLTxPh;a+%{Y&t-wj zBA0Vq&U3lIWr@p0E|*qgUILzU++0Qmwidwq2u9t0ZnFZlcHom0sI`=NkOL@MKhgO| zsJs+m$)T2vc@Rss+WS;$q|q?Dbc$u0lhT&lQ}L;;V(3)Qtn|h`%=*sx0f_Gx@G?Xj zIo_o9{5k28(WP?+4Mc7wr&V&Q<!e-TmI~5e&Uq>>Q1LnyZ&2|gDlSs-CJMhuE^n=l zj78+x1XseuF#QDCImiKR-Ezw-1FW3u^fbBUUk(n=`_$F%Q1QD|R8g!WLdszt4m5CF zl=O{XvfcK}FRdM~5!#;JwERLXkkGc};%qHc4jh|M4+_{Kn;ZvflIC~;L&P$rWLn$% zuc#H#Y94KS6y6S5Xf$Mmj(J<rintGAp&3u$QOS`(I<Yl$>JZFUra0KaaRjCEh*xKD zQcsywb)#d@`vUDv*&(zVz3hQBE&aCP*zGRf3aHad2rlxo&mzw|>@2M2mj*!Wk8H%D zkPxX1G0tKf*aZQ4Ktmyv#N$EsN?<3*XG7ain21T|1JHPIUOmk&OcUFDwDTvl>}(k3 z*f3mDFsz6s(zc?7BqrpAB<2*R_G*mns8=OY1KB|_8f;bNj(CL!ei6NEAnOAQ*V#a) zFvK`@Iub@B&iyMwmN1B=dkZR}7-L2(&&e@|u~a-YrNsnnNi+e?DcDkrPZewrsMsoF zeL<`h>9{x6B(<hvO)dUz64uICGh%%~!6|&}i#TFPj4N#>P@4qpbiAp>-z#{ps?;7D z?F(W)<fHG6`I$X2rxrh-g!#~DGh+S&1uK>2k=KiYlhKiVxUwh4)Z#M*V{*-<?B`Kt z#PrkzOo!iCnuI8+{OL?VE&feGl%nktQ5s}MJWo%+Q^b3fn-kb~|DKpqi~mqC9g@Lf zm>F?>TR}%%{jq@}rR@aN$(ou@WNPsX1@%KJk;jfY<4i6q*iD~_2tX;#Crsw-o|B;# zzfvZ1c=}|-z%$P0Ed@b!K0{%-S*Jn@c>20fi~m-p@}xSIF=Ng+iyzH03mDBxvk9v~ zmihE4P>cUnrtsLrDPX`E@qbN0EV>G_5}(|O>6lXs4Q5Jcs;opYe<05J;S`)_A~m@_ z(-Ec?IR#-l0hXdN2o29j;YkuG5<s4n*yOQI$DLX%D!30xps}OQIFmOg&^^-UOiMsM z=k#e%i&bSBPpC^UI^>LVI6rj`vn~QT%hR!^7Kaq<4~}C0Ks<kTD&8}Z{LMX)<`xRl z`$v(UU9wEFb=ByCGASVyLmyt=;7Gu9Qd6wpxPtW%snyYDWRa<e2Z0cYU+AiiB2LkZ z>4;N{SEeE!j5Z_Ull;w@xP#&>)6u0CXBBjZ{LR_<Vv;@HprFzST}SM33I$EalUiI< z@Eo$od6Xe~LZJ@(@7vlg`S03qP(}_??tdR>I&>U?$&ZT$(5-jntTVl#Sr6yZP)?1^ zrJ<8Yidsb9h3;oZvuW;^D6a8shRh&L6UqOPp7pmGG9#%ogRL!c6N8<t582)jBSF59 zdSX8$z($`IigfT?REv*3F*MAS-Xms)I?&i#ljay{EQcShpWeeL0@LRz`i~4p^BoK$ zPc^P{-o{swA;TvZ&S^**=Z93Bp@Pno#JkaF33`nRa?)lvq6ozy9mkdzg*c@6;+Hr? z^eCBzs*-qp3P4OBez!WBr-8Svhawh2jgQwll(Hb?FYBDIOA1D~1at&GK_k(v`%)ui zhc(jIKE=Yhgz3p8P2hqKN*_MS!g(8yJL^=uLq#Ome;IXu9ugBd7SF1t`Lra9Bh!*B zLYG!#Svc>~z;sOJT%m#zsIks$ZCs^_2u_sw@MnY*&79LKBFA1qeucJPK0G<a;u`hL z)(stK2vI>{_pkUkk!`6+YR7B|9WMg8EegYsyF>{c^UoINirLx!vbmA;kLQYc&LCJX zFY$XH)k1K{d;|aR&H;@@7E1LorMhAVM|<*wlh&d7_}C_RtBe23p+l+a)m60({XYo2 zs2JR*ldoz?z28CVym;OHnV=etC;W#x-qs=wD@RBlrh+nHM0)suff!oG4L^HIyzzLN a-l%seMvXTQagr+k5~V+gohX${AO9Z(Aam~k diff --git a/twilio/rest/preview/wireless/sim/__pycache__/usage.cpython-36.pyc b/twilio/rest/preview/wireless/sim/__pycache__/usage.cpython-36.pyc deleted file mode 100644 index 998ed94859fe7906bba87e192ae56cc4649e1856..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10098 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 W{>w%zgJ5S`P5<<zi%aL1Ui%OJj_r;B diff --git a/twilio/rest/preview/wireless/sim/usage.py b/twilio/rest/preview/wireless/sim/usage.py deleted file mode 100644 index 13642a6..0000000 --- a/twilio/rest/preview/wireless/sim/usage.py +++ /dev/null @@ -1,294 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class UsageList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, sim_sid): - """ - Initialize the UsageList - - :param Version version: Version that contains the resource - :param sim_sid: The sim_sid - - :returns: twilio.rest.preview.wireless.sim.usage.UsageList - :rtype: twilio.rest.preview.wireless.sim.usage.UsageList - """ - super(UsageList, self).__init__(version) - - # Path Solution - self._solution = {'sim_sid': sim_sid, } - - def get(self): - """ - Constructs a UsageContext - - :returns: twilio.rest.preview.wireless.sim.usage.UsageContext - :rtype: twilio.rest.preview.wireless.sim.usage.UsageContext - """ - return UsageContext(self._version, sim_sid=self._solution['sim_sid'], ) - - def __call__(self): - """ - Constructs a UsageContext - - :returns: twilio.rest.preview.wireless.sim.usage.UsageContext - :rtype: twilio.rest.preview.wireless.sim.usage.UsageContext - """ - return UsageContext(self._version, sim_sid=self._solution['sim_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Wireless.UsageList>' - - -class UsagePage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the UsagePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param sim_sid: The sim_sid - - :returns: twilio.rest.preview.wireless.sim.usage.UsagePage - :rtype: twilio.rest.preview.wireless.sim.usage.UsagePage - """ - super(UsagePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of UsageInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.preview.wireless.sim.usage.UsageInstance - :rtype: twilio.rest.preview.wireless.sim.usage.UsageInstance - """ - return UsageInstance(self._version, payload, sim_sid=self._solution['sim_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Preview.Wireless.UsagePage>' - - -class UsageContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, sim_sid): - """ - Initialize the UsageContext - - :param Version version: Version that contains the resource - :param sim_sid: The sim_sid - - :returns: twilio.rest.preview.wireless.sim.usage.UsageContext - :rtype: twilio.rest.preview.wireless.sim.usage.UsageContext - """ - super(UsageContext, self).__init__(version) - - # Path Solution - self._solution = {'sim_sid': sim_sid, } - self._uri = '/Sims/{sim_sid}/Usage'.format(**self._solution) - - def fetch(self, end=values.unset, start=values.unset): - """ - Fetch a UsageInstance - - :param unicode end: The end - :param unicode start: The start - - :returns: Fetched UsageInstance - :rtype: twilio.rest.preview.wireless.sim.usage.UsageInstance - """ - params = values.of({'End': end, 'Start': start, }) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return UsageInstance(self._version, payload, sim_sid=self._solution['sim_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Wireless.UsageContext {}>'.format(context) - - -class UsageInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, payload, sim_sid): - """ - Initialize the UsageInstance - - :returns: twilio.rest.preview.wireless.sim.usage.UsageInstance - :rtype: twilio.rest.preview.wireless.sim.usage.UsageInstance - """ - super(UsageInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sim_sid': payload['sim_sid'], - 'sim_unique_name': payload['sim_unique_name'], - 'account_sid': payload['account_sid'], - 'period': payload['period'], - 'commands_usage': payload['commands_usage'], - 'commands_costs': payload['commands_costs'], - 'data_usage': payload['data_usage'], - 'data_costs': payload['data_costs'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'sim_sid': sim_sid, } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: UsageContext for this UsageInstance - :rtype: twilio.rest.preview.wireless.sim.usage.UsageContext - """ - if self._context is None: - self._context = UsageContext(self._version, sim_sid=self._solution['sim_sid'], ) - return self._context - - @property - def sim_sid(self): - """ - :returns: The sim_sid - :rtype: unicode - """ - return self._properties['sim_sid'] - - @property - def sim_unique_name(self): - """ - :returns: The sim_unique_name - :rtype: unicode - """ - return self._properties['sim_unique_name'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def period(self): - """ - :returns: The period - :rtype: dict - """ - return self._properties['period'] - - @property - def commands_usage(self): - """ - :returns: The commands_usage - :rtype: dict - """ - return self._properties['commands_usage'] - - @property - def commands_costs(self): - """ - :returns: The commands_costs - :rtype: dict - """ - return self._properties['commands_costs'] - - @property - def data_usage(self): - """ - :returns: The data_usage - :rtype: dict - """ - return self._properties['data_usage'] - - @property - def data_costs(self): - """ - :returns: The data_costs - :rtype: dict - """ - return self._properties['data_costs'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self, end=values.unset, start=values.unset): - """ - Fetch a UsageInstance - - :param unicode end: The end - :param unicode start: The start - - :returns: Fetched UsageInstance - :rtype: twilio.rest.preview.wireless.sim.usage.UsageInstance - """ - return self._proxy.fetch(end=end, start=start, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Preview.Wireless.UsageInstance {}>'.format(context) diff --git a/twilio/rest/pricing/__init__.py b/twilio/rest/pricing/__init__.py deleted file mode 100644 index 66d6b92..0000000 --- a/twilio/rest/pricing/__init__.py +++ /dev/null @@ -1,67 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.domain import Domain -from twilio.rest.pricing.v1 import V1 - - -class Pricing(Domain): - - def __init__(self, twilio): - """ - Initialize the Pricing Domain - - :returns: Domain for Pricing - :rtype: twilio.rest.pricing.Pricing - """ - super(Pricing, self).__init__(twilio) - - self.base_url = 'https://pricing.twilio.com' - - # Versions - self._v1 = None - - @property - def v1(self): - """ - :returns: Version v1 of pricing - :rtype: twilio.rest.pricing.v1.V1 - """ - if self._v1 is None: - self._v1 = V1(self) - return self._v1 - - @property - def messaging(self): - """ - :rtype: twilio.rest.pricing.v1.messaging.MessagingList - """ - return self.v1.messaging - - @property - def phone_numbers(self): - """ - :rtype: twilio.rest.pricing.v1.phone_number.PhoneNumberList - """ - return self.v1.phone_numbers - - @property - def voice(self): - """ - :rtype: twilio.rest.pricing.v1.voice.VoiceList - """ - return self.v1.voice - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Pricing>' diff --git a/twilio/rest/pricing/__pycache__/__init__.cpython-36.pyc b/twilio/rest/pricing/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 4354e860125a4790faf6482c6b5ce8d30daecff1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2018 zcma)7O>g5i5Tzu4D2lz!F4`UzD8O6e!^$xhy%@n_7rQ`PU=yThnu98UP((UbDoZLU zJFwtOkpTNM_T1mnOV7IY)W6VEXQ+>L0H+NN4xh~-`5rklemNXEfBgB;``9JqFS6A- zfL}vbM_@Sd2sgMH8w=Aj4a8P#EjnJuAm0++;oUpJyTZJ+ye{wkNJjl4aL(tEqG8Gf zy$KY(5{ZyOE;zkhJ3bv#MxlXWn|gHUh90t!KL&HiHvV`+H-}^JSWVm`_sBti3Ja?? zcK!xpWMq`Rcj+RC5<up~B*Y(^X4OEQ0}#YBK!^E(%na0WXM2|DaEo{D$gSaZ0Rwl9 zdw~1g*0>LNk2@OMe4h{Qh`0BFbcpAG&SBX<lTjEYSD{%Sh9e$~T~RPO$&C%UHLuN$ zackh^Z3wft3AV#c*u*M+tHn|JeG=tS5J!ce`CQO?b6QDsTDPeb`BEloTF=l~DjVl5 zr+l4>Da~)9I7(e9RPJUKTesf0^(~&y^E^}2@woA*SB2@~bkr@oYMBWsF)B)%u?T1~ zR@#?=5^O2s(qgO0$SgZb#51o~t%VoaV=RmVr5O92{Nul!`adZlmH$KJ&4bi`lV$IM zJn-MAVG#T0Vv+e-l)boIMlpZ!QpM?Pt#15kvt~dQe$CNuh`8BW_JG=F&=msGKQMb% zaZt;28^_SVNoY9YOTC4zo`cztYj~MoZ27r<Eqo*W8@!KM{M_Etr;EP;AyJw@bkcN2 zYerjs58pk+^Tnj~JRO<R1_BZTW@N}c#QUuo04mMZ<SQ5}X+6hqjKXQ8ttR(Gp)f59 z_e4?G21qc9@7e>W@;|99gi^s3M6`R-p!bo=+vPxah@AFX$K9mm6Y%;Py3(1^EuJ=v z+l7xJe$t-&Kg6?nnh2IG7nef1XZYn*<DKk>+urH{1sG25mVz%D1@{&|O2zBPs#v8_ zDBKIQJBfF-!vlm5fb2J0goh1by=XU4OlgiWVirY9@=T_y2r73#XEG8AkJnU+402B- zd5}Zc?<z$nK{$^R@!*oWa?|D=RW92Di-Y6ys!Y|CU+Em!trIH{(qZhl72DrV_G)sp zkB&*O5KyWd#uh1G#)t=u{kja|YDO21(#~WG1ukFf;MTD#@%bfQseB5i9M-ig6mbma zw<!u79dyD>)ddpML*X~u96T8~gFb%r%;~6C_8H@8$e8!6uCQ1`U9SJbB&Le@Wj%4P gV6P^+K<I5gon0YaBkbc!->W_zk43O!4vc~IFJCt21^@s6 diff --git a/twilio/rest/pricing/v1/__init__.py b/twilio/rest/pricing/v1/__init__.py deleted file mode 100644 index bdc8d5b..0000000 --- a/twilio/rest/pricing/v1/__init__.py +++ /dev/null @@ -1,64 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.pricing.v1.messaging import MessagingList -from twilio.rest.pricing.v1.phone_number import PhoneNumberList -from twilio.rest.pricing.v1.voice import VoiceList - - -class V1(Version): - - def __init__(self, domain): - """ - Initialize the V1 version of Pricing - - :returns: V1 version of Pricing - :rtype: twilio.rest.pricing.v1.V1.V1 - """ - super(V1, self).__init__(domain) - self.version = 'v1' - self._messaging = None - self._phone_numbers = None - self._voice = None - - @property - def messaging(self): - """ - :rtype: twilio.rest.pricing.v1.messaging.MessagingList - """ - if self._messaging is None: - self._messaging = MessagingList(self) - return self._messaging - - @property - def phone_numbers(self): - """ - :rtype: twilio.rest.pricing.v1.phone_number.PhoneNumberList - """ - if self._phone_numbers is None: - self._phone_numbers = PhoneNumberList(self) - return self._phone_numbers - - @property - def voice(self): - """ - :rtype: twilio.rest.pricing.v1.voice.VoiceList - """ - if self._voice is None: - self._voice = VoiceList(self) - return self._voice - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Pricing.V1>' diff --git a/twilio/rest/pricing/v1/__pycache__/__init__.cpython-36.pyc b/twilio/rest/pricing/v1/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 02c7f193c5dc865ad51d78f47172a251ec9d0b11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2024 zcmbVM&2HO95MEN0NYPT`#_6RfiUoS81vHd}oFW84iWF!H#D<HyIuHaFG<Rh&;a_(t z84`4}fn53yJ@;99>6zD_`U*XDW<{~GQNch~;&8Z}9nLpD-?M(-{o~KyeAXf4FS4^N z&|kr&-hkl5C*0s>Vx*>T8mPCDR%-c{)~%$ScKnXk+liezzGIN@3GZ<GmT+5`H!Z)* zou9~{y9(WlS*&Q3b3v~|MXy9AWLOGLFPCmWhm=uRAlSOTyL3&D*&rB#IA-f$xTfpl zAy_O%-ideOqCJI!n>BR*hJeYysO*W5D$X-d`=>&w@G8!(-o~ngjYsFRJQHX0^is%r zt2@c#NZ><+4z{aRD>@H?_y**{{6MA#=Hu4!Tf*WkZrzd_!*7G$<{hnfK)1Q0b(?p& zdrN%h1F?wTg*+To=42F^wQs!Rckoi*fGA06tjUe}&RiQe2Ih55Sc{t=EiKzxcDM<? zTB~2{98mg07MF3D#4AC|nV^#qU2Kv-^C>--aRe!F8|$$Y<y>ZJyvMLkDILplS%@($ zuj3@nJt<V_6&q(B6k&q@#;I>EMrQ-NYO8r6q=ddAmBUyJkug@;bv%{J(rrzuPgsHF zV41Fmsyb|ewHTO{r9?8VIy_Iq7z^2DEJ{M982g?4!(NYrpB3N>evJKDm<Qh$#dl#D z25<8yOo9uM7C{jgPcP?j!k<1<Nj_bw>tKUodqXfm4JKHOf^DQ;v6K$P{wdbP1wrgX zqoaST13<jBiwt}R3-4IS*Kn!NL9EF;DBOETKGDU*66!rDnYnt?<m-XtHd*rS^l)?h zY+y<ZPh#^74B1Ehun`!3)oq-736Ba(LfWq38mk^4X<mLLl+z}b2cYa0*}FG@jSs|g z0P#sApgnl{yPnk7V7QCv5HQ^__()u@nwTEIrJL1j=%YD?P<jZZy&p<jA3nJU!2t;R z#huWx!*q9HYPg~MXw`h}T;_`yNHwHW8H<c3ODaVH?Jcr0EP)6AZ|+aSXclK;?~(fq zpi0?%aCP+JVnYZuu>cFa)UCItY`_8-5o6C0t|mXbo~6zHz(uCW!c+iLxQwMapC_pI z82e=&CYv{UEGwswIq*xll#juiJVNmV#b+R@e$5k+ND}yJGY=5iBQ(OX(A0!adb}O8 z*Y9=lr}xhw7Mn4iM~wMLHSt}BN_aJaNsQm$M~Tf$>9O>`+QXc?ZK@mI|6-4&?grgR aI=uf7Z8SaR&WlaLUfNqwmf17(uk|nd8}^z2 diff --git a/twilio/rest/pricing/v1/messaging/__init__.py b/twilio/rest/pricing/v1/messaging/__init__.py deleted file mode 100644 index 7391aaa..0000000 --- a/twilio/rest/pricing/v1/messaging/__init__.py +++ /dev/null @@ -1,146 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.pricing.v1.messaging.country import CountryList - - -class MessagingList(ListResource): - """ """ - - def __init__(self, version): - """ - Initialize the MessagingList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.pricing.v1.messaging.MessagingList - :rtype: twilio.rest.pricing.v1.messaging.MessagingList - """ - super(MessagingList, self).__init__(version) - - # Path Solution - self._solution = {} - - # Components - self._countries = None - - @property - def countries(self): - """ - Access the countries - - :returns: twilio.rest.pricing.v1.messaging.country.CountryList - :rtype: twilio.rest.pricing.v1.messaging.country.CountryList - """ - if self._countries is None: - self._countries = CountryList(self._version, ) - return self._countries - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Pricing.V1.MessagingList>' - - -class MessagingPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the MessagingPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.pricing.v1.messaging.MessagingPage - :rtype: twilio.rest.pricing.v1.messaging.MessagingPage - """ - super(MessagingPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of MessagingInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.pricing.v1.messaging.MessagingInstance - :rtype: twilio.rest.pricing.v1.messaging.MessagingInstance - """ - return MessagingInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Pricing.V1.MessagingPage>' - - -class MessagingInstance(InstanceResource): - """ """ - - def __init__(self, version, payload): - """ - Initialize the MessagingInstance - - :returns: twilio.rest.pricing.v1.messaging.MessagingInstance - :rtype: twilio.rest.pricing.v1.messaging.MessagingInstance - """ - super(MessagingInstance, self).__init__(version) - - # Marshaled Properties - self._properties = {'name': payload['name'], 'url': payload['url'], 'links': payload['links'], } - - # Context - self._context = None - self._solution = {} - - @property - def name(self): - """ - :returns: The name - :rtype: unicode - """ - return self._properties['name'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Pricing.V1.MessagingInstance>' diff --git a/twilio/rest/pricing/v1/messaging/__pycache__/__init__.cpython-36.pyc b/twilio/rest/pricing/v1/messaging/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 859597c500ff34987826fc432d536799e2a83f65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4662 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 J=e^Fm{{Sjlka++A diff --git a/twilio/rest/pricing/v1/messaging/__pycache__/country.cpython-36.pyc b/twilio/rest/pricing/v1/messaging/__pycache__/country.cpython-36.pyc deleted file mode 100644 index 6c36a6ac3ea75146d067d8eb92afade67e98f1a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12152 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 LPZgu~Ty5z;SleHq diff --git a/twilio/rest/pricing/v1/messaging/country.py b/twilio/rest/pricing/v1/messaging/country.py deleted file mode 100644 index d2e9ab7..0000000 --- a/twilio/rest/pricing/v1/messaging/country.py +++ /dev/null @@ -1,337 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class CountryList(ListResource): - """ """ - - def __init__(self, version): - """ - Initialize the CountryList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.pricing.v1.messaging.country.CountryList - :rtype: twilio.rest.pricing.v1.messaging.country.CountryList - """ - super(CountryList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Messaging/Countries'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams CountryInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.pricing.v1.messaging.country.CountryInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists CountryInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.pricing.v1.messaging.country.CountryInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of CountryInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of CountryInstance - :rtype: twilio.rest.pricing.v1.messaging.country.CountryPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return CountryPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of CountryInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of CountryInstance - :rtype: twilio.rest.pricing.v1.messaging.country.CountryPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return CountryPage(self._version, response, self._solution) - - def get(self, iso_country): - """ - Constructs a CountryContext - - :param iso_country: The iso_country - - :returns: twilio.rest.pricing.v1.messaging.country.CountryContext - :rtype: twilio.rest.pricing.v1.messaging.country.CountryContext - """ - return CountryContext(self._version, iso_country=iso_country, ) - - def __call__(self, iso_country): - """ - Constructs a CountryContext - - :param iso_country: The iso_country - - :returns: twilio.rest.pricing.v1.messaging.country.CountryContext - :rtype: twilio.rest.pricing.v1.messaging.country.CountryContext - """ - return CountryContext(self._version, iso_country=iso_country, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Pricing.V1.CountryList>' - - -class CountryPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the CountryPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.pricing.v1.messaging.country.CountryPage - :rtype: twilio.rest.pricing.v1.messaging.country.CountryPage - """ - super(CountryPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of CountryInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.pricing.v1.messaging.country.CountryInstance - :rtype: twilio.rest.pricing.v1.messaging.country.CountryInstance - """ - return CountryInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Pricing.V1.CountryPage>' - - -class CountryContext(InstanceContext): - """ """ - - def __init__(self, version, iso_country): - """ - Initialize the CountryContext - - :param Version version: Version that contains the resource - :param iso_country: The iso_country - - :returns: twilio.rest.pricing.v1.messaging.country.CountryContext - :rtype: twilio.rest.pricing.v1.messaging.country.CountryContext - """ - super(CountryContext, self).__init__(version) - - # Path Solution - self._solution = {'iso_country': iso_country, } - self._uri = '/Messaging/Countries/{iso_country}'.format(**self._solution) - - def fetch(self): - """ - Fetch a CountryInstance - - :returns: Fetched CountryInstance - :rtype: twilio.rest.pricing.v1.messaging.country.CountryInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return CountryInstance(self._version, payload, iso_country=self._solution['iso_country'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Pricing.V1.CountryContext {}>'.format(context) - - -class CountryInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, iso_country=None): - """ - Initialize the CountryInstance - - :returns: twilio.rest.pricing.v1.messaging.country.CountryInstance - :rtype: twilio.rest.pricing.v1.messaging.country.CountryInstance - """ - super(CountryInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'country': payload['country'], - 'iso_country': payload['iso_country'], - 'url': payload['url'], - 'outbound_sms_prices': payload.get('outbound_sms_prices'), - 'inbound_sms_prices': payload.get('inbound_sms_prices'), - 'price_unit': payload.get('price_unit'), - } - - # Context - self._context = None - self._solution = {'iso_country': iso_country or self._properties['iso_country'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: CountryContext for this CountryInstance - :rtype: twilio.rest.pricing.v1.messaging.country.CountryContext - """ - if self._context is None: - self._context = CountryContext(self._version, iso_country=self._solution['iso_country'], ) - return self._context - - @property - def country(self): - """ - :returns: The country - :rtype: unicode - """ - return self._properties['country'] - - @property - def iso_country(self): - """ - :returns: The iso_country - :rtype: unicode - """ - return self._properties['iso_country'] - - @property - def outbound_sms_prices(self): - """ - :returns: The outbound_sms_prices - :rtype: unicode - """ - return self._properties['outbound_sms_prices'] - - @property - def inbound_sms_prices(self): - """ - :returns: The inbound_sms_prices - :rtype: unicode - """ - return self._properties['inbound_sms_prices'] - - @property - def price_unit(self): - """ - :returns: The price_unit - :rtype: unicode - """ - return self._properties['price_unit'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a CountryInstance - - :returns: Fetched CountryInstance - :rtype: twilio.rest.pricing.v1.messaging.country.CountryInstance - """ - return self._proxy.fetch() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Pricing.V1.CountryInstance {}>'.format(context) diff --git a/twilio/rest/pricing/v1/phone_number/__init__.py b/twilio/rest/pricing/v1/phone_number/__init__.py deleted file mode 100644 index 833e6a1..0000000 --- a/twilio/rest/pricing/v1/phone_number/__init__.py +++ /dev/null @@ -1,146 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.pricing.v1.phone_number.country import CountryList - - -class PhoneNumberList(ListResource): - """ """ - - def __init__(self, version): - """ - Initialize the PhoneNumberList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.pricing.v1.phone_number.PhoneNumberList - :rtype: twilio.rest.pricing.v1.phone_number.PhoneNumberList - """ - super(PhoneNumberList, self).__init__(version) - - # Path Solution - self._solution = {} - - # Components - self._countries = None - - @property - def countries(self): - """ - Access the countries - - :returns: twilio.rest.pricing.v1.phone_number.country.CountryList - :rtype: twilio.rest.pricing.v1.phone_number.country.CountryList - """ - if self._countries is None: - self._countries = CountryList(self._version, ) - return self._countries - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Pricing.V1.PhoneNumberList>' - - -class PhoneNumberPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the PhoneNumberPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.pricing.v1.phone_number.PhoneNumberPage - :rtype: twilio.rest.pricing.v1.phone_number.PhoneNumberPage - """ - super(PhoneNumberPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of PhoneNumberInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.pricing.v1.phone_number.PhoneNumberInstance - :rtype: twilio.rest.pricing.v1.phone_number.PhoneNumberInstance - """ - return PhoneNumberInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Pricing.V1.PhoneNumberPage>' - - -class PhoneNumberInstance(InstanceResource): - """ """ - - def __init__(self, version, payload): - """ - Initialize the PhoneNumberInstance - - :returns: twilio.rest.pricing.v1.phone_number.PhoneNumberInstance - :rtype: twilio.rest.pricing.v1.phone_number.PhoneNumberInstance - """ - super(PhoneNumberInstance, self).__init__(version) - - # Marshaled Properties - self._properties = {'name': payload['name'], 'url': payload['url'], 'links': payload['links'], } - - # Context - self._context = None - self._solution = {} - - @property - def name(self): - """ - :returns: The name - :rtype: unicode - """ - return self._properties['name'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Pricing.V1.PhoneNumberInstance>' diff --git a/twilio/rest/pricing/v1/phone_number/__pycache__/__init__.cpython-36.pyc b/twilio/rest/pricing/v1/phone_number/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 2b99273dfe7db0d2dabb123f3e589c4c4997627b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4759 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 XkGP51AIBMx>cgE3etPHa&RhQg!-Tbs diff --git a/twilio/rest/pricing/v1/phone_number/__pycache__/country.cpython-36.pyc b/twilio/rest/pricing/v1/phone_number/__pycache__/country.cpython-36.pyc deleted file mode 100644 index ff3b713e98ecf2990261d5e0a6df955ed218f533..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11973 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 O*B5@N7z@uYEdCqe^gw$6 diff --git a/twilio/rest/pricing/v1/phone_number/country.py b/twilio/rest/pricing/v1/phone_number/country.py deleted file mode 100644 index 658a553..0000000 --- a/twilio/rest/pricing/v1/phone_number/country.py +++ /dev/null @@ -1,328 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class CountryList(ListResource): - """ """ - - def __init__(self, version): - """ - Initialize the CountryList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.pricing.v1.phone_number.country.CountryList - :rtype: twilio.rest.pricing.v1.phone_number.country.CountryList - """ - super(CountryList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/PhoneNumbers/Countries'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams CountryInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.pricing.v1.phone_number.country.CountryInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists CountryInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.pricing.v1.phone_number.country.CountryInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of CountryInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of CountryInstance - :rtype: twilio.rest.pricing.v1.phone_number.country.CountryPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return CountryPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of CountryInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of CountryInstance - :rtype: twilio.rest.pricing.v1.phone_number.country.CountryPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return CountryPage(self._version, response, self._solution) - - def get(self, iso_country): - """ - Constructs a CountryContext - - :param iso_country: The iso_country - - :returns: twilio.rest.pricing.v1.phone_number.country.CountryContext - :rtype: twilio.rest.pricing.v1.phone_number.country.CountryContext - """ - return CountryContext(self._version, iso_country=iso_country, ) - - def __call__(self, iso_country): - """ - Constructs a CountryContext - - :param iso_country: The iso_country - - :returns: twilio.rest.pricing.v1.phone_number.country.CountryContext - :rtype: twilio.rest.pricing.v1.phone_number.country.CountryContext - """ - return CountryContext(self._version, iso_country=iso_country, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Pricing.V1.CountryList>' - - -class CountryPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the CountryPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.pricing.v1.phone_number.country.CountryPage - :rtype: twilio.rest.pricing.v1.phone_number.country.CountryPage - """ - super(CountryPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of CountryInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.pricing.v1.phone_number.country.CountryInstance - :rtype: twilio.rest.pricing.v1.phone_number.country.CountryInstance - """ - return CountryInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Pricing.V1.CountryPage>' - - -class CountryContext(InstanceContext): - """ """ - - def __init__(self, version, iso_country): - """ - Initialize the CountryContext - - :param Version version: Version that contains the resource - :param iso_country: The iso_country - - :returns: twilio.rest.pricing.v1.phone_number.country.CountryContext - :rtype: twilio.rest.pricing.v1.phone_number.country.CountryContext - """ - super(CountryContext, self).__init__(version) - - # Path Solution - self._solution = {'iso_country': iso_country, } - self._uri = '/PhoneNumbers/Countries/{iso_country}'.format(**self._solution) - - def fetch(self): - """ - Fetch a CountryInstance - - :returns: Fetched CountryInstance - :rtype: twilio.rest.pricing.v1.phone_number.country.CountryInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return CountryInstance(self._version, payload, iso_country=self._solution['iso_country'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Pricing.V1.CountryContext {}>'.format(context) - - -class CountryInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, iso_country=None): - """ - Initialize the CountryInstance - - :returns: twilio.rest.pricing.v1.phone_number.country.CountryInstance - :rtype: twilio.rest.pricing.v1.phone_number.country.CountryInstance - """ - super(CountryInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'country': payload['country'], - 'iso_country': payload['iso_country'], - 'url': payload['url'], - 'phone_number_prices': payload.get('phone_number_prices'), - 'price_unit': payload.get('price_unit'), - } - - # Context - self._context = None - self._solution = {'iso_country': iso_country or self._properties['iso_country'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: CountryContext for this CountryInstance - :rtype: twilio.rest.pricing.v1.phone_number.country.CountryContext - """ - if self._context is None: - self._context = CountryContext(self._version, iso_country=self._solution['iso_country'], ) - return self._context - - @property - def country(self): - """ - :returns: The country - :rtype: unicode - """ - return self._properties['country'] - - @property - def iso_country(self): - """ - :returns: The iso_country - :rtype: unicode - """ - return self._properties['iso_country'] - - @property - def phone_number_prices(self): - """ - :returns: The phone_number_prices - :rtype: unicode - """ - return self._properties['phone_number_prices'] - - @property - def price_unit(self): - """ - :returns: The price_unit - :rtype: unicode - """ - return self._properties['price_unit'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a CountryInstance - - :returns: Fetched CountryInstance - :rtype: twilio.rest.pricing.v1.phone_number.country.CountryInstance - """ - return self._proxy.fetch() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Pricing.V1.CountryInstance {}>'.format(context) diff --git a/twilio/rest/pricing/v1/voice/__init__.py b/twilio/rest/pricing/v1/voice/__init__.py deleted file mode 100644 index aa5fd3f..0000000 --- a/twilio/rest/pricing/v1/voice/__init__.py +++ /dev/null @@ -1,160 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.pricing.v1.voice.country import CountryList -from twilio.rest.pricing.v1.voice.number import NumberList - - -class VoiceList(ListResource): - """ """ - - def __init__(self, version): - """ - Initialize the VoiceList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.pricing.v1.voice.VoiceList - :rtype: twilio.rest.pricing.v1.voice.VoiceList - """ - super(VoiceList, self).__init__(version) - - # Path Solution - self._solution = {} - - # Components - self._numbers = None - self._countries = None - - @property - def numbers(self): - """ - Access the numbers - - :returns: twilio.rest.pricing.v1.voice.number.NumberList - :rtype: twilio.rest.pricing.v1.voice.number.NumberList - """ - if self._numbers is None: - self._numbers = NumberList(self._version, ) - return self._numbers - - @property - def countries(self): - """ - Access the countries - - :returns: twilio.rest.pricing.v1.voice.country.CountryList - :rtype: twilio.rest.pricing.v1.voice.country.CountryList - """ - if self._countries is None: - self._countries = CountryList(self._version, ) - return self._countries - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Pricing.V1.VoiceList>' - - -class VoicePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the VoicePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.pricing.v1.voice.VoicePage - :rtype: twilio.rest.pricing.v1.voice.VoicePage - """ - super(VoicePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of VoiceInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.pricing.v1.voice.VoiceInstance - :rtype: twilio.rest.pricing.v1.voice.VoiceInstance - """ - return VoiceInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Pricing.V1.VoicePage>' - - -class VoiceInstance(InstanceResource): - """ """ - - def __init__(self, version, payload): - """ - Initialize the VoiceInstance - - :returns: twilio.rest.pricing.v1.voice.VoiceInstance - :rtype: twilio.rest.pricing.v1.voice.VoiceInstance - """ - super(VoiceInstance, self).__init__(version) - - # Marshaled Properties - self._properties = {'name': payload['name'], 'url': payload['url'], 'links': payload['links'], } - - # Context - self._context = None - self._solution = {} - - @property - def name(self): - """ - :returns: The name - :rtype: unicode - """ - return self._properties['name'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Pricing.V1.VoiceInstance>' diff --git a/twilio/rest/pricing/v1/voice/__pycache__/__init__.cpython-36.pyc b/twilio/rest/pricing/v1/voice/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index ac331961ebf007ec31bb383e7f84deddf68523f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4911 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 NxH|Hm-uj^R{@-Tyx�K diff --git a/twilio/rest/pricing/v1/voice/__pycache__/country.cpython-36.pyc b/twilio/rest/pricing/v1/voice/__pycache__/country.cpython-36.pyc deleted file mode 100644 index c94f2f4db8e636bc7ad9a947132bf9fcec7bc296..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12065 zcmeHNON`sb8Rkom)xPAnoun<(G|4Klwd<y7(~aXM*|dR?bm2O-59|gsSERgLQ=&pr zYp)`=hcz1X;9d$8C=j5h9D3`yK!Dtf0zLE4OOZo>UVF)<{r-Q*5hZK=44S5h1P+J8 z;mkk({PX>fnHT2gYk&FMAFPj_Q<Q%wg`a`^tGMD@NL<BIT-DVAwWC>@N_jodJBDR& z-Uv#avQ_4MDX4U+R+aPRV5U>EYO3<4;#S=1Eyb;R)ji#s#q*3?!*k86;du_vv+f+8 z=R5<?^LU<j7x28`mGQjbF218Q>I0{Cam$a*R_J=>btg8jdR;Ga63;a^cWWEwvT2+6 zA+d+qy=D&0CA+b)jAY3kZY&SY;nFf{?3`|{G*@a=-^7RFw_N)SgH;-8THbMjz8536 zc&-~KPPgT)h26xvk)Wua7hUk;uphNNl+C^E$4TMYIPYBbTGU$p)3Z#xjf|&QDwwLd zs-=IRw82_ezg4vi_mEq1%ePdk<Q`_0saDymY*+KEtuy0PYeq24stHC}v+kl>zol4n z?g958?(-ighGH#%ZAa4CwXok!qFo|!pqXY%%SfR+kwsSw0Z<YpQHRQ&wyh1-JylhF zWvJM?t8N=@<hJ$S;H_P9H8iUa{*`ghG|zSY#CHOJ;F-ymXBN7v$vUe&CvrOGWiN{T zuxsv!`>HHRwwwer+f5w58*?*J#@#|2k(czNZoFzH*Zsf`o2ZgBdy(JryH}f-(w)$6 zdCis>ZnH>7HpAv>l<fArM`&PBU%pJeEQ{8CFJ5ny(^A~;c~MjW57Vk``(TJ|r!#gO z2K@x%P0Q^t>NrVi*!{?FXsHo<K|8HvY=8jG*mf&$;@GzTsC@3Ot!`Y3!J>_y`PP;b zZoJm(z2PLz#@k`b2{tZzo!&;z@15H0`+<Avg*XV?yYcl6!Ik_*%-P78v$1n}gPF6D zGpDy3&4AiNH1%a9%1m7^tAoP@rZw|{thaLEEukV^Yq;X?BY{*X+v-pqYJ1vE9Z%X2 z@^V6PwcF}VgWu{y17-RN1*vgD+0!9CCFc_~DTU*mB=Ve2oJ&r=zRbvLg^?SZ?I`T9 zOuTmfoQZ|+<V!z{%$UDz%C;CHLd=Fkj5h;k;0L>A5ISflZx2m)?KZ^5>n3=K$6gr6 z{$}8rSSfzMeFc8UPh_*e9njd?^4wxq9tz`rkbtC!@+6*sqj3^XnsJC0(ZYx<JaoKH z810S-X%+-sEEd0;m`ug0d8vmHi3by+!~}NxolO*mZ8@$a%xGw4Y*}i^0pu%Sbidli zk_4!ESZ|@(^&pJd=O!qlwd{a@#D%75zTveU4AcbS-B6Uurn9w8<n{o2b_^s~HP@$+ z*Y=XumPuoYy!U{x$w~A2me)m_i5Yu|iFF;A{n(RjkH{_N2xi=jB8F<>!iy_8BS7!D zHqj}`A-eH_kJ-6L)0_PS^2Nh0e1th<Ia_K75}hQ$B20*J5DS;);~wpb7O(rs7EfL$ zjFZvaGodE&?WE~9y{6gmyG#7VN%Qo|%1Wak8xjQH6zY$q0pQ83+x5M`HTyjxO!Sxu zsH84OzyR9d=MRFT`Ko+ZHkHmu{x;O;AmAV^ai>;|UvR!*01-2svu24|HkZe#L6y?7 zU~Hol&7*;c0EwHj%A#6ygi7i%IY7CiNWP6rK-Yl<t*#9Y7NJWtDsc;7Gr}z*G$G_- z+;Y|1+MWtb(wr+rOd@UhAc#c#96`gSZs1?@q|ltioKLQQ52KGvr|XKDBZM-q@R+aU za%^Hrg_7MFU~GB-fE;W{@fBp_(Q$)@0U;k@gY3Sz{zP6th6J6jQG;i13^g)#^4gq& z852NyCyS}%{|Yl2+GvTB9YhS`<=oIG0AO;>AH%Z!A+32fU+aT<alKPBE%I6DNA}E^ zm6Bv@ootg2^*v#kXxqB00R@bq;p(^bo28`0_6w!(I)Dg<^NCupQZ9H&<U>nBJ;Ydd zFct{FNb_Wr<OnI3Z_#cUVZ#NX`AAN@8(ynV4vgRFc&-m$CfL1WIfFq$ktN|Zue)lV zN3RztYxbgW$9LKPVWk4|NG{h&r7Wxk@pYz~GgJ}^6x76irw4P0?2A@Fwh{0PB<<Ve zUG%(AQYUjI%@)RsD}|v+Ek>i6!oyLg4`H!Wo3eq1Zp}!RMI;+mm7d>$woUane|!<v zcbS1RZd4)?u2c)#(P3nS?wO;a+=-$uqZ&#YWtP`W)$!C=vpu}E1*chwMJMRnDs*r! z?82a*P-CRp-oh1A7s~uWt*mOQp;q;A;igul(?+U{1bq!xOga$a3h~}1afU*J8LlO4 zcn?XqODxEm^U{8T-1AyKEaCs6C?`&I)l1+91*;|m_SDFWzjWbkY20S!A!IwZu!##_ ziU38&!DUQ0Nkm$9!wy_jt1L{Xw2~1TJ&w0RFa(gLwb4MMC+Ow)<fm2Q0u5>tFXJi_ zrB=iIm-TTkEUzXdfJ9VEzycm}V}?u_GGqpyO5sP;0`Spqk%yAQR2Io7@G>(S;?Qmh z-+9%%2n*XE6%;DVmHQyZW8P=3;c_eVQQE+|oh^_EZL*L7an>8p7!(d0mQR9FlT)CB zw=v3vN|_lf7F7z~ea&(a^pfHPGoSbfo)YrhlfMXsAYKvJ_Ad%do(M6B3N7Fh|L9H^ z!y8Gt%eMJoAZa)+lpf@{4Rzdgp|K*b2b6%qVxNDSto{_PJDk6LKbe$EEE?J2;9F-d zig?rcEYx)QbTPPemc<IJVL6*z<+e@K+4iq779nSq@%5coXlU!}d@WK4sq1t+gpg{s z-3i@(K>0b_ey{HY*_(=OyI~6-Qy7OWsE8~iR$x}C4{ehO^<`4&Q<Qv%lBbcR^I5d1 z<<abnmIVf}NR`;hqG%S4CMMvks)jbVSUXlbSXCE}Ru5EXtFs*MYT>2)=~*sbL1y0| zr{R_mqC}w6t>9kfP-O+cRb>$65GBn#{pe1O(iIbm7DJR2bW#yk5<yCK;Z8wz<it&n zOP(LsBLe#_KSW$o%8Y2@LZ;+NVX?MfHDyuJ5S%8S4+4WszwG-_t)umZ5s~f@`io_W zts6r~GpQHWURE`aW#%%%g3f|MU;PeO%(GTII8tCls|+KKp(#!18ht~iPp-iBNPVe; zf6EzsodTTjk>Lo7DEu@_QP$2(Ue|9?AZnL9YO;4ZBWGnSnE0r3kz4#D5*}hc?q~#> zEZ0Q&yCT%4m27aMb;}Djog-5r=hR2UTrw4unZfZ)ukmygD}7aAmj-e-*kzRaljOh% zaWjDwkPN_i26dumDOsYVK?yH{Q<NjDjA&zI#OYl6S@6l``z<cE-ULDd6{)m^Oa4gK z>G!axNV=9$F>i?O`4u<uP((%AxPd32`LtOB7k6UwMmV<5-5V!!lWip1Ul>#tthTR& zrO8Im;G2^>Kg;hI267YoKmtkGG?GXf&0>BcLb*J`!I=6a6=d3W97#XM8xhy6)%BV> zI5uw7j^LEcB>Isg$Z*H^@Ic`XUqP4y5|H_Y6z0G#Bf=b77Um%DuuR)Bu5p{UWCp*N zGyM~e(o2US2cc<b$yMQ{WkkxVkD{RNXhe8mDtpty0L|=B;jc%JVbH=oEAa*cvpag8 zN?Dm@p(S$0qmz^{$46|ZCG=NZ!Vj<1Mt*p1tY(X$$<0gDBzPt6uhF+;U16&fTVL4A z<?!;hwx_&-d7znajcuJaRiWTYU#2npxoS%CiF8ug>;iognW6IT(GBgUdQ)=|R1mv* zmtl^-hmC47uLh;}Z@%(ABwb~xZs@7jTuIeysk$@4($8nkkY9hJ7oGi-dLT|2%HX*> zWLY3_^GrZHoAKGE{A}>_{#JK38|M2r&tiMQ*be<JPjp)Hu`Lq|;)LIqR$9V`nIMp{ z{qIB?8!eT`rY*F4s|k{vd#VWngg;YPWN5LPs8<iL2h~D>{4pVTihqTqXgs^e_>2Iy zPjAgwhF9V<0+1`54Je6&706eR=R+09SCQuf70AyZ&xa|HuOZLp1dyLap3e#(KZkP% zhw0RSd&E78`vRNfbm-zZuOd=D>oUAbbdqmC;uBv%GO2xr5EpFsYOcm9ZT(Vo%GiTe z!o8H;%X_L@`LGNvWw=#wuwbb7E(4bg`jYim*{y<#nZd^ro2DD}5;A1H)rX2x$acO^ z{30RbBNz-`sgBrJdNk}On<#Z{_^xgL25vZ35T}Ryt|(^5I4i92-R|RD0kq5yz;kXX zdWmur6pvOZc^Sz%f|zX3GyJg{dJ4tqEIOe5=LAO<;9%yf;tpe<@o|6c^iQ-E(+-+a zsT*aL{#E=bFU`!HiFc|hQduNEYq(;vy)fAT&1+TcXtT1yGfWmJCH*!Ol+EuU0EW}V zr*dwyolivK3!XtXA{jySGnav)+#Vk-!SNjmy0@I3LtFh}TQ&&3&;boZ_01h8^20vD zWi2{C5MwL(HEc=ejpfC>-w%e~@S*##16Jr_nwA`gy^KVV@<nRR3>4*<*2grZ5xoL- zGw86U6pC?r%%V)9a${Eq%d@i~HT9@EI66UXQ&f}cgeI48o+p>&N=)tvg;mFoBw?eK zNkPVJWfb0u6FQJ}I_M?KS?Zy9&Y)r3ro>vfMxBTzDwMLcoTNNvecdO;YqIZgiVH?x zp~gN`KPkw)3)NKPc!BE2C)r%+?>;GCFVK}AnIc|Khnzy?eFi}Yb9dHL4YM$aXC?<R zz3clN&szl&i{qIBm4%x742F>M?t`HkONGHaH943m{odzDUN6vB9LWgZ3l;Vm0HOTd z2S7De3Ilj-asZ?5?vw793uG1Ph9)b#*@s}#Qg<hqYS0!{zH$#u5{!PvC`H|IoY_|Q z2xrv)VJ`+z^Rpm3BAXHHn1*2V>Q%{y%HYT(AHMSbN3@I~%Bdt1lI($p_duc*d>);q z<hzticy=$K?0n8pI3UkYGBl6APxC;Y+1~@nRf=#yBJ#Rfqed@Mj$HnH--%91PEtj2 zrE^3ToBZT^<Po~OU6@Xp^P#Rc>idSN(rRYZ?F!KvS%%|Ap)eHh%UL0_@iSa8ov|Wk zW#QP|{9JYPug<Vfu-;hYaG5om1+O<9Y;cq2wVo)HG;_;ITAVcJ);FeBLFAkdR7b=Y z>qM~*9q<54viB73u<FJ4Jwya~bDuXQL^PZHE)fM7Nd@O9c$Zesh@F+Q<je3L2X;8r P?622<sTlQV>&yQEYlA%K diff --git a/twilio/rest/pricing/v1/voice/__pycache__/number.cpython-36.pyc b/twilio/rest/pricing/v1/voice/__pycache__/number.cpython-36.pyc deleted file mode 100644 index a5fadb776617eb899db6a62f3343dcf173dc62b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8552 zcmeHMO^n<~74~0uyFGuM|4jA=2R3Ya+4Lj?1RBCXb{3+*G77sPhgO4ex;z<A-0j}7 zdy?t&oMxoG5Dp-;5<=q4l@m9P95}!UBwsjiK%C%)loQ`8+tu!#p2_SG2_n%gKR?^$ zs#ov5`rfPO>vMC~@BjGA=A~B^<*!QNXMq1Yj%W{rDNTi`ObgVG*3?wu^+4|!O+)ZT zQ0kPMWx<z%O2=%Pf-eWvj@7hO<(9%K%-mC$>6yEFa|YK{X5rfMEL_jxdWOy7de$>= zJ%{T#HjnFhuZ-(?w(x;cuMJ%5?uH-P?T~r)BR8@icwLXXvB&KD+g8h7vK<>g5NDX3 zEqiERcIvGqkju`nwKTMcmzU6D>ssS#<ElmNZM>NNmaM;HvPxY|%3E&G_abl$x4Tj7 zcH7=+*p0o%F>clJTkm^O*yn8z_h#SoqquNw+;JaxZR#!m=@}D!8H}eiRVY<sYE%D6 zS%+$wzGpTKX0Xzp(k!tutKeK_CadCH`A9L8rU@ljiM7`6-1j(*H_&Xmt!4evnZ}?a zx&RU@u{u<CwM}iP?y9QdD?`Q6nTlSt!9TO9+xG3QANy|L4?H{G@a$3VmTa=zbGh5G z?|D4(!>+xRo|ol~c*Bihm2T|%-AMGpGtCtG;9lJ4-Dug4ANheFHqaz)^tj*lyAK*L z$5!aKy+&6|u2GO8vyHvX<L#bz?AO=oMpBCUJ&*GWl#`f_<74KIlT@834Eix<R@V|E z@`ClGl1&kYtvXISaHGg^ex*EXuP(Q~7h(FX@A}ORH*DSP_1<-3xAk7wc7xVkuhVPw z{N9!OeLrAVu17(*z8yVkr8CY?H1Sq8@z&P0mY8@en|N=VS0UahG9oQOrCQSmr$*{% z<YJH6om#HaEAt>R?7XQCRi-}GgsuN14GABPV%~4Zk?m%d&fL0SsMOf0Jj?c7_(aMV znjFKH`8dZn=VT8sPC1nfcAHC8l(m6%a|>#G20Gz2BBY&^EPzY&2VQ&;OeB_2bugdy zK`X0)NB`GwT@`w(Yy1Rh?j#8K1NDg|g;fwZ&f5j0j{9!<yse@E{pd`G@Lh7^44nqj zWAE^A%Lm-M_B!{yE(^A8?)9*QJfID&*=b(+9k;#VcfA8≠)d2|3{4^&59nfVz`m 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 YZ&v8Ta&!^|-&xe`uh*{C-mESC8#`kr%>V!Z diff --git a/twilio/rest/pricing/v1/voice/country.py b/twilio/rest/pricing/v1/voice/country.py deleted file mode 100644 index 60a1587..0000000 --- a/twilio/rest/pricing/v1/voice/country.py +++ /dev/null @@ -1,337 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class CountryList(ListResource): - """ """ - - def __init__(self, version): - """ - Initialize the CountryList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.pricing.v1.voice.country.CountryList - :rtype: twilio.rest.pricing.v1.voice.country.CountryList - """ - super(CountryList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Voice/Countries'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams CountryInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.pricing.v1.voice.country.CountryInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists CountryInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.pricing.v1.voice.country.CountryInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of CountryInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of CountryInstance - :rtype: twilio.rest.pricing.v1.voice.country.CountryPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return CountryPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of CountryInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of CountryInstance - :rtype: twilio.rest.pricing.v1.voice.country.CountryPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return CountryPage(self._version, response, self._solution) - - def get(self, iso_country): - """ - Constructs a CountryContext - - :param iso_country: The iso_country - - :returns: twilio.rest.pricing.v1.voice.country.CountryContext - :rtype: twilio.rest.pricing.v1.voice.country.CountryContext - """ - return CountryContext(self._version, iso_country=iso_country, ) - - def __call__(self, iso_country): - """ - Constructs a CountryContext - - :param iso_country: The iso_country - - :returns: twilio.rest.pricing.v1.voice.country.CountryContext - :rtype: twilio.rest.pricing.v1.voice.country.CountryContext - """ - return CountryContext(self._version, iso_country=iso_country, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Pricing.V1.CountryList>' - - -class CountryPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the CountryPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.pricing.v1.voice.country.CountryPage - :rtype: twilio.rest.pricing.v1.voice.country.CountryPage - """ - super(CountryPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of CountryInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.pricing.v1.voice.country.CountryInstance - :rtype: twilio.rest.pricing.v1.voice.country.CountryInstance - """ - return CountryInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Pricing.V1.CountryPage>' - - -class CountryContext(InstanceContext): - """ """ - - def __init__(self, version, iso_country): - """ - Initialize the CountryContext - - :param Version version: Version that contains the resource - :param iso_country: The iso_country - - :returns: twilio.rest.pricing.v1.voice.country.CountryContext - :rtype: twilio.rest.pricing.v1.voice.country.CountryContext - """ - super(CountryContext, self).__init__(version) - - # Path Solution - self._solution = {'iso_country': iso_country, } - self._uri = '/Voice/Countries/{iso_country}'.format(**self._solution) - - def fetch(self): - """ - Fetch a CountryInstance - - :returns: Fetched CountryInstance - :rtype: twilio.rest.pricing.v1.voice.country.CountryInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return CountryInstance(self._version, payload, iso_country=self._solution['iso_country'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Pricing.V1.CountryContext {}>'.format(context) - - -class CountryInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, iso_country=None): - """ - Initialize the CountryInstance - - :returns: twilio.rest.pricing.v1.voice.country.CountryInstance - :rtype: twilio.rest.pricing.v1.voice.country.CountryInstance - """ - super(CountryInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'country': payload['country'], - 'iso_country': payload['iso_country'], - 'url': payload['url'], - 'outbound_prefix_prices': payload.get('outbound_prefix_prices'), - 'inbound_call_prices': payload.get('inbound_call_prices'), - 'price_unit': payload.get('price_unit'), - } - - # Context - self._context = None - self._solution = {'iso_country': iso_country or self._properties['iso_country'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: CountryContext for this CountryInstance - :rtype: twilio.rest.pricing.v1.voice.country.CountryContext - """ - if self._context is None: - self._context = CountryContext(self._version, iso_country=self._solution['iso_country'], ) - return self._context - - @property - def country(self): - """ - :returns: The country - :rtype: unicode - """ - return self._properties['country'] - - @property - def iso_country(self): - """ - :returns: The iso_country - :rtype: unicode - """ - return self._properties['iso_country'] - - @property - def outbound_prefix_prices(self): - """ - :returns: The outbound_prefix_prices - :rtype: unicode - """ - return self._properties['outbound_prefix_prices'] - - @property - def inbound_call_prices(self): - """ - :returns: The inbound_call_prices - :rtype: unicode - """ - return self._properties['inbound_call_prices'] - - @property - def price_unit(self): - """ - :returns: The price_unit - :rtype: unicode - """ - return self._properties['price_unit'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a CountryInstance - - :returns: Fetched CountryInstance - :rtype: twilio.rest.pricing.v1.voice.country.CountryInstance - """ - return self._proxy.fetch() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Pricing.V1.CountryInstance {}>'.format(context) diff --git a/twilio/rest/pricing/v1/voice/number.py b/twilio/rest/pricing/v1/voice/number.py deleted file mode 100644 index 1c1fff0..0000000 --- a/twilio/rest/pricing/v1/voice/number.py +++ /dev/null @@ -1,264 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class NumberList(ListResource): - """ """ - - def __init__(self, version): - """ - Initialize the NumberList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.pricing.v1.voice.number.NumberList - :rtype: twilio.rest.pricing.v1.voice.number.NumberList - """ - super(NumberList, self).__init__(version) - - # Path Solution - self._solution = {} - - def get(self, number): - """ - Constructs a NumberContext - - :param number: The number - - :returns: twilio.rest.pricing.v1.voice.number.NumberContext - :rtype: twilio.rest.pricing.v1.voice.number.NumberContext - """ - return NumberContext(self._version, number=number, ) - - def __call__(self, number): - """ - Constructs a NumberContext - - :param number: The number - - :returns: twilio.rest.pricing.v1.voice.number.NumberContext - :rtype: twilio.rest.pricing.v1.voice.number.NumberContext - """ - return NumberContext(self._version, number=number, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Pricing.V1.NumberList>' - - -class NumberPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the NumberPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.pricing.v1.voice.number.NumberPage - :rtype: twilio.rest.pricing.v1.voice.number.NumberPage - """ - super(NumberPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of NumberInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.pricing.v1.voice.number.NumberInstance - :rtype: twilio.rest.pricing.v1.voice.number.NumberInstance - """ - return NumberInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Pricing.V1.NumberPage>' - - -class NumberContext(InstanceContext): - """ """ - - def __init__(self, version, number): - """ - Initialize the NumberContext - - :param Version version: Version that contains the resource - :param number: The number - - :returns: twilio.rest.pricing.v1.voice.number.NumberContext - :rtype: twilio.rest.pricing.v1.voice.number.NumberContext - """ - super(NumberContext, self).__init__(version) - - # Path Solution - self._solution = {'number': number, } - self._uri = '/Voice/Numbers/{number}'.format(**self._solution) - - def fetch(self): - """ - Fetch a NumberInstance - - :returns: Fetched NumberInstance - :rtype: twilio.rest.pricing.v1.voice.number.NumberInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return NumberInstance(self._version, payload, number=self._solution['number'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Pricing.V1.NumberContext {}>'.format(context) - - -class NumberInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, number=None): - """ - Initialize the NumberInstance - - :returns: twilio.rest.pricing.v1.voice.number.NumberInstance - :rtype: twilio.rest.pricing.v1.voice.number.NumberInstance - """ - super(NumberInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'number': payload['number'], - 'country': payload['country'], - 'iso_country': payload['iso_country'], - 'outbound_call_price': payload['outbound_call_price'], - 'inbound_call_price': payload['inbound_call_price'], - 'price_unit': payload['price_unit'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'number': number or self._properties['number'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: NumberContext for this NumberInstance - :rtype: twilio.rest.pricing.v1.voice.number.NumberContext - """ - if self._context is None: - self._context = NumberContext(self._version, number=self._solution['number'], ) - return self._context - - @property - def number(self): - """ - :returns: The number - :rtype: unicode - """ - return self._properties['number'] - - @property - def country(self): - """ - :returns: The country - :rtype: unicode - """ - return self._properties['country'] - - @property - def iso_country(self): - """ - :returns: The iso_country - :rtype: unicode - """ - return self._properties['iso_country'] - - @property - def outbound_call_price(self): - """ - :returns: The outbound_call_price - :rtype: unicode - """ - return self._properties['outbound_call_price'] - - @property - def inbound_call_price(self): - """ - :returns: The inbound_call_price - :rtype: unicode - """ - return self._properties['inbound_call_price'] - - @property - def price_unit(self): - """ - :returns: The price_unit - :rtype: unicode - """ - return self._properties['price_unit'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a NumberInstance - - :returns: Fetched NumberInstance - :rtype: twilio.rest.pricing.v1.voice.number.NumberInstance - """ - return self._proxy.fetch() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Pricing.V1.NumberInstance {}>'.format(context) diff --git a/twilio/rest/proxy/__init__.py b/twilio/rest/proxy/__init__.py deleted file mode 100644 index 71283f0..0000000 --- a/twilio/rest/proxy/__init__.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.domain import Domain -from twilio.rest.proxy.v1 import V1 - - -class Proxy(Domain): - - def __init__(self, twilio): - """ - Initialize the Proxy Domain - - :returns: Domain for Proxy - :rtype: twilio.rest.proxy.Proxy - """ - super(Proxy, self).__init__(twilio) - - self.base_url = 'https://proxy.twilio.com' - - # Versions - self._v1 = None - - @property - def v1(self): - """ - :returns: Version v1 of proxy - :rtype: twilio.rest.proxy.v1.V1 - """ - if self._v1 is None: - self._v1 = V1(self) - return self._v1 - - @property - def services(self): - """ - :rtype: twilio.rest.proxy.v1.service.ServiceList - """ - return self.v1.services - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Proxy>' diff --git a/twilio/rest/proxy/__pycache__/__init__.cpython-36.pyc b/twilio/rest/proxy/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 1dcc2f91f48467574c1fd016b4ab0209a542e093..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1575 zcmaJ>PjBQj6t|tsOd6&Ip*<iZB;V*9Hq+7GM%4<~N(gDGKwF9wMY7V^!=z-AU}vUG zG`CjTkHMMG!i96LocIcyc+dH>Me1V7_DkOL^Y8cm_{H(D|Hq%dg%>U%f00K6zR4Fb z%^56`ghW!wGP+?QqbNI>vvEV0lCOz$<>-OPkz)5wIFjQxWHzZ||7x8Yo)l8?yV&rb zRIYSfDamj4e#GZoa2T+NL$~|<z)!_2n!|D`4$=I;52tgm*e!yy;LJyR4hP#Y_x}c9 zWJa6uMX`y~93*zVNbqMroK7(3ASe=2;KAOK6-6!&Ug#)SI?{b0_cR=V4A`wamJ{hc zkZ|&rxFqy|&rvh_P8YxK6V|!J9o^$J9F~ey^g!;}Ej!SAiXl1>;YbFnD;c<O>U~Fn z^KbIBO5-f86|dHcTi3j$;SWYjt*Wig&9c+*RiRtcM<&(2R7+mnrCC}8TA3;+5ocgs z4tDh?>#8cvaz1ahoqbYlE@z`=WVWT!8Z+K_LZkprh{n5#jS^d(HICRVW~_0I%2wgH zJqyu35+ccBV}$sf{1d)fMn4#(P4s;luHz#5vMev+Dvn+kNt{JjYEwpKT0XzorkQ;H z!eqs2Z|<VjS-&Cv$Rdn-7(uz$V*vIcOoIZMe8k31ePRg)y;(w01p{}?%`2GZQ&<k< z7IN{kr=QvUU{>ru$Ox-{93u2C*w;WJEpn(jUaYu9^T_Ib@rD|`UJQ1ZGp0SbTw{66 zs6ImZgJGG1)Ue&+GuT^FW1sr8_F7WA#ee7^B})fABAr_b;A#EUaNSb>4=hN^E=^SM zrrlqsrWy_c%wxpjbw=iCtoj6uK8I;+`H%YO_otqQi}fTCDy!?^Mqs#0;Yo=3N~bE9 z*`8}vLgH0k#TCT;srvsmPS$Cz-g~5b5_lg6Q|aNt`sDno?G78<mo^Pg)5PLOFhT?a z*GbQ{SHV*NW_i3(&?CMOn?i0gl&3=cvW>G=V{5kYpn9OQs=bY}jiSavZjQUwNmQ1B z<DoJDmk)Z41!DUVvtuyt9-E#_{prO1y_}7ki4d|#ga|+Gni<<QkoGCmn5OVqr+D-# e>=w2nt&?}RwvsJM@4V&na)K9QzqxEmr_R4xfq$j| diff --git a/twilio/rest/proxy/v1/__init__.py b/twilio/rest/proxy/v1/__init__.py deleted file mode 100644 index 73053a8..0000000 --- a/twilio/rest/proxy/v1/__init__.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.proxy.v1.service import ServiceList - - -class V1(Version): - - def __init__(self, domain): - """ - Initialize the V1 version of Proxy - - :returns: V1 version of Proxy - :rtype: twilio.rest.proxy.v1.V1.V1 - """ - super(V1, self).__init__(domain) - self.version = 'v1' - self._services = None - - @property - def services(self): - """ - :rtype: twilio.rest.proxy.v1.service.ServiceList - """ - if self._services is None: - self._services = ServiceList(self) - return self._services - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Proxy.V1>' diff --git a/twilio/rest/proxy/v1/__pycache__/__init__.cpython-36.pyc b/twilio/rest/proxy/v1/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index e883e29d3ec8adbc3871e125060ba4f7069696fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1381 zcmaJ=OK;RL5VoD{qv@81;Dk6>;?f-0?TXt9Azl(fDiw&*Llk7Cv6s4JH^I(s*;Q_> z=+EHHjsL-gbFQ5D3!Ioqvdcq-Q9K?wWBdDNKHu5e^1gii7<_gJ`9^*-7vlRc><&0d z0wSqo37xQjQH-6$nYe*V$rB=7**YV#rP!$xv}F4w@jJ`N+dtBl$Ej5OB(nUCnkp0J zO7g>n7xDoY91NT&n%Uz8-xhv20JklQa8U4KdjJ{pVSlH;<6%CBjkOKD?*NSWwCo%x zV|6-(aPy@ya~-Q)ZSxp^uMF5#R<ThepumWolQBhBXWhV2u5_e(MouX(01js)XrB|8 z1RZ2kvV&pFnlo_5^Ke)WE+;uH$SFH!1wEx$oq`BQGVrcsu-{pJXwY;1bgFY5C3>lN zex&%pkk4!QJRS4rCVju~*1032@|l_1(S>PEA^6DTi%gApexehd_KmW6Kf{CiP`Cs9 z)&~Y`KHT$LWy{VoWeoPX><Xa)lMrR6K~ioATi4P0taPnP#${WklSpHYH-w0j$XX#j zksq%gjlx%uY{M5iIEvEnL6$v^@+jO*<0uLD)g%iuo!vg1=|tYXW0Q2euqR;+bu}U4 zutFTphv5oNKU<hK0K5#tVn8}qXqzrKfzm1`rnnA<Gxp^X40{7yL5`shZ@cDt)f?<c zwFcc_%ZKZN{I_;Z5&FN0YQ1sKXQm7H7*v5z%?8H3wcCQI?5?VafNBaYk9swQ)xSR| zAdQLwc1F?)>~ei4sAI0-IYoSIw3^Cf!HvqGdTN?SIlO?2l=Cc#kMvaibIac<vbkAb zxV(CIzZO*`Oi<FjisQfd3W0cpxP^SH=hA7~Rj>P9RNFL~C{UXx#3Yro1mm6%?`Ba_ z|EaoOc0mxJ(R^Vp!D$9nP;NESi&c`qUF&iKo=r@`s#l`MpelHm^)`DO)!LrlE;~ZV wG!`Pb);yNO$f|xLdxMCBn-@N#rdw6FtJ8j6UPpDq@79d&byoMgtVes!PmT*$wg3PC diff --git a/twilio/rest/proxy/v1/service/__init__.py b/twilio/rest/proxy/v1/service/__init__.py deleted file mode 100644 index dbb3299..0000000 --- a/twilio/rest/proxy/v1/service/__init__.py +++ /dev/null @@ -1,610 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.proxy.v1.service.phone_number import PhoneNumberList -from twilio.rest.proxy.v1.service.session import SessionList -from twilio.rest.proxy.v1.service.short_code import ShortCodeList - - -class ServiceList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version): - """ - Initialize the ServiceList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.proxy.v1.service.ServiceList - :rtype: twilio.rest.proxy.v1.service.ServiceList - """ - super(ServiceList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Services'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams ServiceInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.proxy.v1.service.ServiceInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists ServiceInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.proxy.v1.service.ServiceInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of ServiceInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ServiceInstance - :rtype: twilio.rest.proxy.v1.service.ServicePage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ServicePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ServiceInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ServiceInstance - :rtype: twilio.rest.proxy.v1.service.ServicePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ServicePage(self._version, response, self._solution) - - def create(self, unique_name, default_ttl=values.unset, - callback_url=values.unset, geo_match_level=values.unset, - number_selection_behavior=values.unset, - intercept_callback_url=values.unset, - out_of_session_callback_url=values.unset): - """ - Create a new ServiceInstance - - :param unicode unique_name: The human-readable string that uniquely identifies this Service. - :param unicode default_ttl: Default TTL for a Session, in seconds. - :param unicode callback_url: URL Twilio will send callbacks to - :param ServiceInstance.GeoMatchLevel geo_match_level: Whether to find proxy numbers in the same areacode. - :param ServiceInstance.NumberSelectionBehavior number_selection_behavior: What behavior to use when choosing a proxy number. - :param unicode intercept_callback_url: A URL for Twilio call before each Interaction. - :param unicode out_of_session_callback_url: A URL for Twilio call when a new Interaction has no Session. - - :returns: Newly created ServiceInstance - :rtype: twilio.rest.proxy.v1.service.ServiceInstance - """ - data = values.of({ - 'UniqueName': unique_name, - 'DefaultTtl': default_ttl, - 'CallbackUrl': callback_url, - 'GeoMatchLevel': geo_match_level, - 'NumberSelectionBehavior': number_selection_behavior, - 'InterceptCallbackUrl': intercept_callback_url, - 'OutOfSessionCallbackUrl': out_of_session_callback_url, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return ServiceInstance(self._version, payload, ) - - def get(self, sid): - """ - Constructs a ServiceContext - - :param sid: A string that uniquely identifies this Service. - - :returns: twilio.rest.proxy.v1.service.ServiceContext - :rtype: twilio.rest.proxy.v1.service.ServiceContext - """ - return ServiceContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a ServiceContext - - :param sid: A string that uniquely identifies this Service. - - :returns: twilio.rest.proxy.v1.service.ServiceContext - :rtype: twilio.rest.proxy.v1.service.ServiceContext - """ - return ServiceContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Proxy.V1.ServiceList>' - - -class ServicePage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the ServicePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.proxy.v1.service.ServicePage - :rtype: twilio.rest.proxy.v1.service.ServicePage - """ - super(ServicePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ServiceInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.proxy.v1.service.ServiceInstance - :rtype: twilio.rest.proxy.v1.service.ServiceInstance - """ - return ServiceInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Proxy.V1.ServicePage>' - - -class ServiceContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, sid): - """ - Initialize the ServiceContext - - :param Version version: Version that contains the resource - :param sid: A string that uniquely identifies this Service. - - :returns: twilio.rest.proxy.v1.service.ServiceContext - :rtype: twilio.rest.proxy.v1.service.ServiceContext - """ - super(ServiceContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Services/{sid}'.format(**self._solution) - - # Dependents - self._sessions = None - self._phone_numbers = None - self._short_codes = None - - def fetch(self): - """ - Fetch a ServiceInstance - - :returns: Fetched ServiceInstance - :rtype: twilio.rest.proxy.v1.service.ServiceInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ServiceInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the ServiceInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, unique_name=values.unset, default_ttl=values.unset, - callback_url=values.unset, geo_match_level=values.unset, - number_selection_behavior=values.unset, - intercept_callback_url=values.unset, - out_of_session_callback_url=values.unset): - """ - Update the ServiceInstance - - :param unicode unique_name: A human readable description of this resource. - :param unicode default_ttl: Default TTL for a Session, in seconds. - :param unicode callback_url: URL Twilio will send callbacks to - :param ServiceInstance.GeoMatchLevel geo_match_level: Whether to find proxy numbers in the same areacode. - :param ServiceInstance.NumberSelectionBehavior number_selection_behavior: What behavior to use when choosing a proxy number. - :param unicode intercept_callback_url: A URL for Twilio call before each Interaction. - :param unicode out_of_session_callback_url: A URL for Twilio call when a new Interaction has no Session. - - :returns: Updated ServiceInstance - :rtype: twilio.rest.proxy.v1.service.ServiceInstance - """ - data = values.of({ - 'UniqueName': unique_name, - 'DefaultTtl': default_ttl, - 'CallbackUrl': callback_url, - 'GeoMatchLevel': geo_match_level, - 'NumberSelectionBehavior': number_selection_behavior, - 'InterceptCallbackUrl': intercept_callback_url, - 'OutOfSessionCallbackUrl': out_of_session_callback_url, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ServiceInstance(self._version, payload, sid=self._solution['sid'], ) - - @property - def sessions(self): - """ - Access the sessions - - :returns: twilio.rest.proxy.v1.service.session.SessionList - :rtype: twilio.rest.proxy.v1.service.session.SessionList - """ - if self._sessions is None: - self._sessions = SessionList(self._version, service_sid=self._solution['sid'], ) - return self._sessions - - @property - def phone_numbers(self): - """ - Access the phone_numbers - - :returns: twilio.rest.proxy.v1.service.phone_number.PhoneNumberList - :rtype: twilio.rest.proxy.v1.service.phone_number.PhoneNumberList - """ - if self._phone_numbers is None: - self._phone_numbers = PhoneNumberList(self._version, service_sid=self._solution['sid'], ) - return self._phone_numbers - - @property - def short_codes(self): - """ - Access the short_codes - - :returns: twilio.rest.proxy.v1.service.short_code.ShortCodeList - :rtype: twilio.rest.proxy.v1.service.short_code.ShortCodeList - """ - if self._short_codes is None: - self._short_codes = ShortCodeList(self._version, service_sid=self._solution['sid'], ) - return self._short_codes - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Proxy.V1.ServiceContext {}>'.format(context) - - -class ServiceInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - class GeoMatchLevel(object): - AREA_CODE = "area-code" - OVERLAY = "overlay" - RADIUS = "radius" - COUNTRY = "country" - - class NumberSelectionBehavior(object): - AVOID_STICKY = "avoid-sticky" - PREFER_STICKY = "prefer-sticky" - - def __init__(self, version, payload, sid=None): - """ - Initialize the ServiceInstance - - :returns: twilio.rest.proxy.v1.service.ServiceInstance - :rtype: twilio.rest.proxy.v1.service.ServiceInstance - """ - super(ServiceInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'unique_name': payload['unique_name'], - 'account_sid': payload['account_sid'], - 'callback_url': payload['callback_url'], - 'default_ttl': deserialize.integer(payload['default_ttl']), - 'number_selection_behavior': payload['number_selection_behavior'], - 'geo_match_level': payload['geo_match_level'], - 'intercept_callback_url': payload['intercept_callback_url'], - 'out_of_session_callback_url': payload['out_of_session_callback_url'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ServiceContext for this ServiceInstance - :rtype: twilio.rest.proxy.v1.service.ServiceContext - """ - if self._context is None: - self._context = ServiceContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Service. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def unique_name(self): - """ - :returns: A human readable description of this resource. - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def account_sid(self): - """ - :returns: Account Sid. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def callback_url(self): - """ - :returns: URL Twilio will send callbacks to - :rtype: unicode - """ - return self._properties['callback_url'] - - @property - def default_ttl(self): - """ - :returns: Default TTL for a Session, in seconds. - :rtype: unicode - """ - return self._properties['default_ttl'] - - @property - def number_selection_behavior(self): - """ - :returns: What behavior to use when choosing a proxy number. - :rtype: ServiceInstance.NumberSelectionBehavior - """ - return self._properties['number_selection_behavior'] - - @property - def geo_match_level(self): - """ - :returns: Whether to find proxy numbers in the same areacode. - :rtype: ServiceInstance.GeoMatchLevel - """ - return self._properties['geo_match_level'] - - @property - def intercept_callback_url(self): - """ - :returns: A URL for Twilio call before each Interaction. - :rtype: unicode - """ - return self._properties['intercept_callback_url'] - - @property - def out_of_session_callback_url(self): - """ - :returns: A URL for Twilio call when a new Interaction has no Session. - :rtype: unicode - """ - return self._properties['out_of_session_callback_url'] - - @property - def date_created(self): - """ - :returns: The date this Service was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this Service was updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The URL of this resource. - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: Nested resource URLs. - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a ServiceInstance - - :returns: Fetched ServiceInstance - :rtype: twilio.rest.proxy.v1.service.ServiceInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the ServiceInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, unique_name=values.unset, default_ttl=values.unset, - callback_url=values.unset, geo_match_level=values.unset, - number_selection_behavior=values.unset, - intercept_callback_url=values.unset, - out_of_session_callback_url=values.unset): - """ - Update the ServiceInstance - - :param unicode unique_name: A human readable description of this resource. - :param unicode default_ttl: Default TTL for a Session, in seconds. - :param unicode callback_url: URL Twilio will send callbacks to - :param ServiceInstance.GeoMatchLevel geo_match_level: Whether to find proxy numbers in the same areacode. - :param ServiceInstance.NumberSelectionBehavior number_selection_behavior: What behavior to use when choosing a proxy number. - :param unicode intercept_callback_url: A URL for Twilio call before each Interaction. - :param unicode out_of_session_callback_url: A URL for Twilio call when a new Interaction has no Session. - - :returns: Updated ServiceInstance - :rtype: twilio.rest.proxy.v1.service.ServiceInstance - """ - return self._proxy.update( - unique_name=unique_name, - default_ttl=default_ttl, - callback_url=callback_url, - geo_match_level=geo_match_level, - number_selection_behavior=number_selection_behavior, - intercept_callback_url=intercept_callback_url, - out_of_session_callback_url=out_of_session_callback_url, - ) - - @property - def sessions(self): - """ - Access the sessions - - :returns: twilio.rest.proxy.v1.service.session.SessionList - :rtype: twilio.rest.proxy.v1.service.session.SessionList - """ - return self._proxy.sessions - - @property - def phone_numbers(self): - """ - Access the phone_numbers - - :returns: twilio.rest.proxy.v1.service.phone_number.PhoneNumberList - :rtype: twilio.rest.proxy.v1.service.phone_number.PhoneNumberList - """ - return self._proxy.phone_numbers - - @property - def short_codes(self): - """ - Access the short_codes - - :returns: twilio.rest.proxy.v1.service.short_code.ShortCodeList - :rtype: twilio.rest.proxy.v1.service.short_code.ShortCodeList - """ - return self._proxy.short_codes - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Proxy.V1.ServiceInstance {}>'.format(context) diff --git a/twilio/rest/proxy/v1/service/__pycache__/__init__.cpython-36.pyc b/twilio/rest/proxy/v1/service/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index ede8065f5640a6f388f69658585a839cf27e037b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21504 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 diff --git a/twilio/rest/proxy/v1/service/__pycache__/phone_number.cpython-36.pyc b/twilio/rest/proxy/v1/service/__pycache__/phone_number.cpython-36.pyc deleted file mode 100644 index b93171d60e47b2cfa2c9ca8ca36e8a9266db6edd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15554 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 diff --git a/twilio/rest/proxy/v1/service/__pycache__/short_code.cpython-36.pyc b/twilio/rest/proxy/v1/service/__pycache__/short_code.cpython-36.pyc deleted file mode 100644 index 2f1f4e91910be3bb7288807185e0deeba7ddc3ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14948 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 W=N};Zfc;V~t;Sy(^NnWX`~MHs!XdZ- diff --git a/twilio/rest/proxy/v1/service/phone_number.py b/twilio/rest/proxy/v1/service/phone_number.py deleted file mode 100644 index ac50864..0000000 --- a/twilio/rest/proxy/v1/service/phone_number.py +++ /dev/null @@ -1,428 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class PhoneNumberList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid): - """ - Initialize the PhoneNumberList - - :param Version version: Version that contains the resource - :param service_sid: Service Sid. - - :returns: twilio.rest.proxy.v1.service.phone_number.PhoneNumberList - :rtype: twilio.rest.proxy.v1.service.phone_number.PhoneNumberList - """ - super(PhoneNumberList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/PhoneNumbers'.format(**self._solution) - - def create(self, sid=values.unset, phone_number=values.unset): - """ - Create a new PhoneNumberInstance - - :param unicode sid: A string that uniquely identifies this Phone Number. - :param unicode phone_number: The phone_number - - :returns: Newly created PhoneNumberInstance - :rtype: twilio.rest.proxy.v1.service.phone_number.PhoneNumberInstance - """ - data = values.of({'Sid': sid, 'PhoneNumber': phone_number, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return PhoneNumberInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, limit=None, page_size=None): - """ - Streams PhoneNumberInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.proxy.v1.service.phone_number.PhoneNumberInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists PhoneNumberInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.proxy.v1.service.phone_number.PhoneNumberInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of PhoneNumberInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of PhoneNumberInstance - :rtype: twilio.rest.proxy.v1.service.phone_number.PhoneNumberPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return PhoneNumberPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of PhoneNumberInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of PhoneNumberInstance - :rtype: twilio.rest.proxy.v1.service.phone_number.PhoneNumberPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return PhoneNumberPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a PhoneNumberContext - - :param sid: A string that uniquely identifies this Phone Number. - - :returns: twilio.rest.proxy.v1.service.phone_number.PhoneNumberContext - :rtype: twilio.rest.proxy.v1.service.phone_number.PhoneNumberContext - """ - return PhoneNumberContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a PhoneNumberContext - - :param sid: A string that uniquely identifies this Phone Number. - - :returns: twilio.rest.proxy.v1.service.phone_number.PhoneNumberContext - :rtype: twilio.rest.proxy.v1.service.phone_number.PhoneNumberContext - """ - return PhoneNumberContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Proxy.V1.PhoneNumberList>' - - -class PhoneNumberPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the PhoneNumberPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: Service Sid. - - :returns: twilio.rest.proxy.v1.service.phone_number.PhoneNumberPage - :rtype: twilio.rest.proxy.v1.service.phone_number.PhoneNumberPage - """ - super(PhoneNumberPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of PhoneNumberInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.proxy.v1.service.phone_number.PhoneNumberInstance - :rtype: twilio.rest.proxy.v1.service.phone_number.PhoneNumberInstance - """ - return PhoneNumberInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Proxy.V1.PhoneNumberPage>' - - -class PhoneNumberContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the PhoneNumberContext - - :param Version version: Version that contains the resource - :param service_sid: Service Sid. - :param sid: A string that uniquely identifies this Phone Number. - - :returns: twilio.rest.proxy.v1.service.phone_number.PhoneNumberContext - :rtype: twilio.rest.proxy.v1.service.phone_number.PhoneNumberContext - """ - super(PhoneNumberContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/PhoneNumbers/{sid}'.format(**self._solution) - - def delete(self): - """ - Deletes the PhoneNumberInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def fetch(self): - """ - Fetch a PhoneNumberInstance - - :returns: Fetched PhoneNumberInstance - :rtype: twilio.rest.proxy.v1.service.phone_number.PhoneNumberInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return PhoneNumberInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Proxy.V1.PhoneNumberContext {}>'.format(context) - - -class PhoneNumberInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the PhoneNumberInstance - - :returns: twilio.rest.proxy.v1.service.phone_number.PhoneNumberInstance - :rtype: twilio.rest.proxy.v1.service.phone_number.PhoneNumberInstance - """ - super(PhoneNumberInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'phone_number': payload['phone_number'], - 'friendly_name': payload['friendly_name'], - 'iso_country': payload['iso_country'], - 'capabilities': payload['capabilities'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: PhoneNumberContext for this PhoneNumberInstance - :rtype: twilio.rest.proxy.v1.service.phone_number.PhoneNumberContext - """ - if self._context is None: - self._context = PhoneNumberContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Phone Number. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: Account Sid. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: Service Sid. - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def date_created(self): - """ - :returns: The date this Phone Number was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this Phone Number was updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def phone_number(self): - """ - :returns: The phone number. - :rtype: unicode - """ - return self._properties['phone_number'] - - @property - def friendly_name(self): - """ - :returns: A human readable description of this resource. - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def iso_country(self): - """ - :returns: ISO Country Code, - :rtype: unicode - """ - return self._properties['iso_country'] - - @property - def capabilities(self): - """ - :returns: A list of capabilities. - :rtype: unicode - """ - return self._properties['capabilities'] - - @property - def url(self): - """ - :returns: The URL of this resource. - :rtype: unicode - """ - return self._properties['url'] - - def delete(self): - """ - Deletes the PhoneNumberInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def fetch(self): - """ - Fetch a PhoneNumberInstance - - :returns: Fetched PhoneNumberInstance - :rtype: twilio.rest.proxy.v1.service.phone_number.PhoneNumberInstance - """ - return self._proxy.fetch() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Proxy.V1.PhoneNumberInstance {}>'.format(context) diff --git a/twilio/rest/proxy/v1/service/session/__init__.py b/twilio/rest/proxy/v1/service/session/__init__.py deleted file mode 100644 index 0b42cc3..0000000 --- a/twilio/rest/proxy/v1/service/session/__init__.py +++ /dev/null @@ -1,644 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.proxy.v1.service.session.interaction import InteractionList -from twilio.rest.proxy.v1.service.session.participant import ParticipantList - - -class SessionList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid): - """ - Initialize the SessionList - - :param Version version: Version that contains the resource - :param service_sid: Service Sid. - - :returns: twilio.rest.proxy.v1.service.session.SessionList - :rtype: twilio.rest.proxy.v1.service.session.SessionList - """ - super(SessionList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Sessions'.format(**self._solution) - - def stream(self, unique_name=values.unset, status=values.unset, limit=None, - page_size=None): - """ - Streams SessionInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode unique_name: A unique, developer assigned name of this Session. - :param SessionInstance.Status status: The Status of this Session - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.proxy.v1.service.session.SessionInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(unique_name=unique_name, status=status, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, unique_name=values.unset, status=values.unset, limit=None, - page_size=None): - """ - Lists SessionInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode unique_name: A unique, developer assigned name of this Session. - :param SessionInstance.Status status: The Status of this Session - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.proxy.v1.service.session.SessionInstance] - """ - return list(self.stream(unique_name=unique_name, status=status, limit=limit, page_size=page_size, )) - - def page(self, unique_name=values.unset, status=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of SessionInstance records from the API. - Request is executed immediately - - :param unicode unique_name: A unique, developer assigned name of this Session. - :param SessionInstance.Status status: The Status of this Session - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of SessionInstance - :rtype: twilio.rest.proxy.v1.service.session.SessionPage - """ - params = values.of({ - 'UniqueName': unique_name, - 'Status': status, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return SessionPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of SessionInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of SessionInstance - :rtype: twilio.rest.proxy.v1.service.session.SessionPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return SessionPage(self._version, response, self._solution) - - def create(self, unique_name=values.unset, date_expiry=values.unset, - ttl=values.unset, mode=values.unset, status=values.unset, - participants=values.unset): - """ - Create a new SessionInstance - - :param unicode unique_name: A unique, developer assigned name of this Session. - :param datetime date_expiry: The date this Session was expiry - :param unicode ttl: TTL for a Session, in seconds. - :param SessionInstance.Mode mode: The Mode of this Session - :param SessionInstance.Status status: The Status of this Session - :param dict participants: A list of phone numbers to add to this Session. - - :returns: Newly created SessionInstance - :rtype: twilio.rest.proxy.v1.service.session.SessionInstance - """ - data = values.of({ - 'UniqueName': unique_name, - 'DateExpiry': serialize.iso8601_datetime(date_expiry), - 'Ttl': ttl, - 'Mode': mode, - 'Status': status, - 'Participants': serialize.map(participants, lambda e: serialize.object(e)), - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return SessionInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def get(self, sid): - """ - Constructs a SessionContext - - :param sid: A string that uniquely identifies this Session. - - :returns: twilio.rest.proxy.v1.service.session.SessionContext - :rtype: twilio.rest.proxy.v1.service.session.SessionContext - """ - return SessionContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a SessionContext - - :param sid: A string that uniquely identifies this Session. - - :returns: twilio.rest.proxy.v1.service.session.SessionContext - :rtype: twilio.rest.proxy.v1.service.session.SessionContext - """ - return SessionContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Proxy.V1.SessionList>' - - -class SessionPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the SessionPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: Service Sid. - - :returns: twilio.rest.proxy.v1.service.session.SessionPage - :rtype: twilio.rest.proxy.v1.service.session.SessionPage - """ - super(SessionPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of SessionInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.proxy.v1.service.session.SessionInstance - :rtype: twilio.rest.proxy.v1.service.session.SessionInstance - """ - return SessionInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Proxy.V1.SessionPage>' - - -class SessionContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the SessionContext - - :param Version version: Version that contains the resource - :param service_sid: Service Sid. - :param sid: A string that uniquely identifies this Session. - - :returns: twilio.rest.proxy.v1.service.session.SessionContext - :rtype: twilio.rest.proxy.v1.service.session.SessionContext - """ - super(SessionContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Sessions/{sid}'.format(**self._solution) - - # Dependents - self._interactions = None - self._participants = None - - def fetch(self): - """ - Fetch a SessionInstance - - :returns: Fetched SessionInstance - :rtype: twilio.rest.proxy.v1.service.session.SessionInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return SessionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the SessionInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, unique_name=values.unset, date_expiry=values.unset, - ttl=values.unset, mode=values.unset, status=values.unset, - participants=values.unset): - """ - Update the SessionInstance - - :param unicode unique_name: A unique, developer assigned name of this Session. - :param datetime date_expiry: The date this Session was expiry - :param unicode ttl: TTL for a Session, in seconds. - :param SessionInstance.Mode mode: The Mode of this Session - :param SessionInstance.Status status: The Status of this Session - :param dict participants: A list of phone numbers to add to this Session. - - :returns: Updated SessionInstance - :rtype: twilio.rest.proxy.v1.service.session.SessionInstance - """ - data = values.of({ - 'UniqueName': unique_name, - 'DateExpiry': serialize.iso8601_datetime(date_expiry), - 'Ttl': ttl, - 'Mode': mode, - 'Status': status, - 'Participants': serialize.map(participants, lambda e: serialize.object(e)), - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return SessionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - @property - def interactions(self): - """ - Access the interactions - - :returns: twilio.rest.proxy.v1.service.session.interaction.InteractionList - :rtype: twilio.rest.proxy.v1.service.session.interaction.InteractionList - """ - if self._interactions is None: - self._interactions = InteractionList( - self._version, - service_sid=self._solution['service_sid'], - session_sid=self._solution['sid'], - ) - return self._interactions - - @property - def participants(self): - """ - Access the participants - - :returns: twilio.rest.proxy.v1.service.session.participant.ParticipantList - :rtype: twilio.rest.proxy.v1.service.session.participant.ParticipantList - """ - if self._participants is None: - self._participants = ParticipantList( - self._version, - service_sid=self._solution['service_sid'], - session_sid=self._solution['sid'], - ) - return self._participants - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Proxy.V1.SessionContext {}>'.format(context) - - -class SessionInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - class Status(object): - IN_PROGRESS = "in-progress" - CLOSED = "closed" - FAILED = "failed" - UNKNOWN = "unknown" - COMPLETED = "completed" - - class Mode(object): - MESSAGE_ONLY = "message-only" - VOICE_ONLY = "voice-only" - VOICE_AND_MESSAGE = "voice-and-message" - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the SessionInstance - - :returns: twilio.rest.proxy.v1.service.session.SessionInstance - :rtype: twilio.rest.proxy.v1.service.session.SessionInstance - """ - super(SessionInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'service_sid': payload['service_sid'], - 'account_sid': payload['account_sid'], - 'date_started': deserialize.iso8601_datetime(payload['date_started']), - 'date_ended': deserialize.iso8601_datetime(payload['date_ended']), - 'date_last_interaction': deserialize.iso8601_datetime(payload['date_last_interaction']), - 'date_expiry': deserialize.iso8601_datetime(payload['date_expiry']), - 'unique_name': payload['unique_name'], - 'status': payload['status'], - 'closed_reason': payload['closed_reason'], - 'ttl': deserialize.integer(payload['ttl']), - 'mode': payload['mode'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: SessionContext for this SessionInstance - :rtype: twilio.rest.proxy.v1.service.session.SessionContext - """ - if self._context is None: - self._context = SessionContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Session. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def service_sid(self): - """ - :returns: Service Sid. - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def account_sid(self): - """ - :returns: Account Sid. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def date_started(self): - """ - :returns: The date this Session was started - :rtype: datetime - """ - return self._properties['date_started'] - - @property - def date_ended(self): - """ - :returns: The date this Session was ended - :rtype: datetime - """ - return self._properties['date_ended'] - - @property - def date_last_interaction(self): - """ - :returns: The date this Session was interaction - :rtype: datetime - """ - return self._properties['date_last_interaction'] - - @property - def date_expiry(self): - """ - :returns: The date this Session was expiry - :rtype: datetime - """ - return self._properties['date_expiry'] - - @property - def unique_name(self): - """ - :returns: A unique, developer assigned name of this Session. - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def status(self): - """ - :returns: The Status of this Session - :rtype: SessionInstance.Status - """ - return self._properties['status'] - - @property - def closed_reason(self): - """ - :returns: Reason Session ended. - :rtype: unicode - """ - return self._properties['closed_reason'] - - @property - def ttl(self): - """ - :returns: TTL for a Session, in seconds. - :rtype: unicode - """ - return self._properties['ttl'] - - @property - def mode(self): - """ - :returns: The Mode of this Session - :rtype: SessionInstance.Mode - """ - return self._properties['mode'] - - @property - def date_created(self): - """ - :returns: The date this Session was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this Session was updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The URL of this resource. - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: Nested resource URLs. - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a SessionInstance - - :returns: Fetched SessionInstance - :rtype: twilio.rest.proxy.v1.service.session.SessionInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the SessionInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, unique_name=values.unset, date_expiry=values.unset, - ttl=values.unset, mode=values.unset, status=values.unset, - participants=values.unset): - """ - Update the SessionInstance - - :param unicode unique_name: A unique, developer assigned name of this Session. - :param datetime date_expiry: The date this Session was expiry - :param unicode ttl: TTL for a Session, in seconds. - :param SessionInstance.Mode mode: The Mode of this Session - :param SessionInstance.Status status: The Status of this Session - :param dict participants: A list of phone numbers to add to this Session. - - :returns: Updated SessionInstance - :rtype: twilio.rest.proxy.v1.service.session.SessionInstance - """ - return self._proxy.update( - unique_name=unique_name, - date_expiry=date_expiry, - ttl=ttl, - mode=mode, - status=status, - participants=participants, - ) - - @property - def interactions(self): - """ - Access the interactions - - :returns: twilio.rest.proxy.v1.service.session.interaction.InteractionList - :rtype: twilio.rest.proxy.v1.service.session.interaction.InteractionList - """ - return self._proxy.interactions - - @property - def participants(self): - """ - Access the participants - - :returns: twilio.rest.proxy.v1.service.session.participant.ParticipantList - :rtype: twilio.rest.proxy.v1.service.session.participant.ParticipantList - """ - return self._proxy.participants - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Proxy.V1.SessionInstance {}>'.format(context) diff --git a/twilio/rest/proxy/v1/service/session/__pycache__/__init__.cpython-36.pyc b/twilio/rest/proxy/v1/service/session/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index d7a09507c87f6c808688673aed0bb5ee8651d772..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22104 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 DOjB<3 diff --git a/twilio/rest/proxy/v1/service/session/__pycache__/interaction.cpython-36.pyc b/twilio/rest/proxy/v1/service/session/__pycache__/interaction.cpython-36.pyc deleted file mode 100644 index 194b825ddabb14970ba6cd7a8e5af32bafb16529..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19911 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 F{{fpAs#gF2 diff --git a/twilio/rest/proxy/v1/service/session/interaction.py b/twilio/rest/proxy/v1/service/session/interaction.py deleted file mode 100644 index 10d3514..0000000 --- a/twilio/rest/proxy/v1/service/session/interaction.py +++ /dev/null @@ -1,566 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class InteractionList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, session_sid): - """ - Initialize the InteractionList - - :param Version version: Version that contains the resource - :param service_sid: Service Sid. - :param session_sid: Session Sid. - - :returns: twilio.rest.proxy.v1.service.session.interaction.InteractionList - :rtype: twilio.rest.proxy.v1.service.session.interaction.InteractionList - """ - super(InteractionList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'session_sid': session_sid, } - self._uri = '/Services/{service_sid}/Sessions/{session_sid}/Interactions'.format(**self._solution) - - def stream(self, inbound_participant_status=values.unset, - outbound_participant_status=values.unset, limit=None, - page_size=None): - """ - Streams InteractionInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param InteractionInstance.ResourceStatus inbound_participant_status: The Inbound Participant Status of this Interaction - :param InteractionInstance.ResourceStatus outbound_participant_status: The Outbound Participant Status of this Interaction - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.proxy.v1.service.session.interaction.InteractionInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - inbound_participant_status=inbound_participant_status, - outbound_participant_status=outbound_participant_status, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, inbound_participant_status=values.unset, - outbound_participant_status=values.unset, limit=None, page_size=None): - """ - Lists InteractionInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param InteractionInstance.ResourceStatus inbound_participant_status: The Inbound Participant Status of this Interaction - :param InteractionInstance.ResourceStatus outbound_participant_status: The Outbound Participant Status of this Interaction - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.proxy.v1.service.session.interaction.InteractionInstance] - """ - return list(self.stream( - inbound_participant_status=inbound_participant_status, - outbound_participant_status=outbound_participant_status, - limit=limit, - page_size=page_size, - )) - - def page(self, inbound_participant_status=values.unset, - outbound_participant_status=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of InteractionInstance records from the API. - Request is executed immediately - - :param InteractionInstance.ResourceStatus inbound_participant_status: The Inbound Participant Status of this Interaction - :param InteractionInstance.ResourceStatus outbound_participant_status: The Outbound Participant Status of this Interaction - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of InteractionInstance - :rtype: twilio.rest.proxy.v1.service.session.interaction.InteractionPage - """ - params = values.of({ - 'InboundParticipantStatus': inbound_participant_status, - 'OutboundParticipantStatus': outbound_participant_status, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return InteractionPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of InteractionInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of InteractionInstance - :rtype: twilio.rest.proxy.v1.service.session.interaction.InteractionPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return InteractionPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a InteractionContext - - :param sid: A string that uniquely identifies this Interaction. - - :returns: twilio.rest.proxy.v1.service.session.interaction.InteractionContext - :rtype: twilio.rest.proxy.v1.service.session.interaction.InteractionContext - """ - return InteractionContext( - self._version, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a InteractionContext - - :param sid: A string that uniquely identifies this Interaction. - - :returns: twilio.rest.proxy.v1.service.session.interaction.InteractionContext - :rtype: twilio.rest.proxy.v1.service.session.interaction.InteractionContext - """ - return InteractionContext( - self._version, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Proxy.V1.InteractionList>' - - -class InteractionPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the InteractionPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: Service Sid. - :param session_sid: Session Sid. - - :returns: twilio.rest.proxy.v1.service.session.interaction.InteractionPage - :rtype: twilio.rest.proxy.v1.service.session.interaction.InteractionPage - """ - super(InteractionPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of InteractionInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.proxy.v1.service.session.interaction.InteractionInstance - :rtype: twilio.rest.proxy.v1.service.session.interaction.InteractionInstance - """ - return InteractionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Proxy.V1.InteractionPage>' - - -class InteractionContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, session_sid, sid): - """ - Initialize the InteractionContext - - :param Version version: Version that contains the resource - :param service_sid: Service Sid. - :param session_sid: Session Sid. - :param sid: A string that uniquely identifies this Interaction. - - :returns: twilio.rest.proxy.v1.service.session.interaction.InteractionContext - :rtype: twilio.rest.proxy.v1.service.session.interaction.InteractionContext - """ - super(InteractionContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'session_sid': session_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Sessions/{session_sid}/Interactions/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a InteractionInstance - - :returns: Fetched InteractionInstance - :rtype: twilio.rest.proxy.v1.service.session.interaction.InteractionInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return InteractionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the InteractionInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Proxy.V1.InteractionContext {}>'.format(context) - - -class InteractionInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - class Type(object): - MESSAGE = "message" - VOICE = "voice" - UNKNOWN = "unknown" - - class ResourceStatus(object): - ACCEPTED = "accepted" - ANSWERED = "answered" - BUSY = "busy" - CANCELED = "canceled" - COMPLETED = "completed" - DELETED = "deleted" - DELIVERED = "delivered" - DELIVERY_UNKNOWN = "delivery-unknown" - FAILED = "failed" - IN_PROGRESS = "in-progress" - INITIATED = "initiated" - NO_ANSWER = "no-answer" - QUEUED = "queued" - RECEIVED = "received" - RECEIVING = "receiving" - RINGING = "ringing" - SCHEDULED = "scheduled" - SENDING = "sending" - SENT = "sent" - UNDELIVERED = "undelivered" - UNKNOWN = "unknown" - - def __init__(self, version, payload, service_sid, session_sid, sid=None): - """ - Initialize the InteractionInstance - - :returns: twilio.rest.proxy.v1.service.session.interaction.InteractionInstance - :rtype: twilio.rest.proxy.v1.service.session.interaction.InteractionInstance - """ - super(InteractionInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'session_sid': payload['session_sid'], - 'service_sid': payload['service_sid'], - 'account_sid': payload['account_sid'], - 'data': payload['data'], - 'type': payload['type'], - 'inbound_participant_sid': payload['inbound_participant_sid'], - 'inbound_resource_sid': payload['inbound_resource_sid'], - 'inbound_resource_status': payload['inbound_resource_status'], - 'inbound_resource_type': payload['inbound_resource_type'], - 'inbound_resource_url': payload['inbound_resource_url'], - 'outbound_participant_sid': payload['outbound_participant_sid'], - 'outbound_resource_sid': payload['outbound_resource_sid'], - 'outbound_resource_status': payload['outbound_resource_status'], - 'outbound_resource_type': payload['outbound_resource_type'], - 'outbound_resource_url': payload['outbound_resource_url'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'session_sid': session_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: InteractionContext for this InteractionInstance - :rtype: twilio.rest.proxy.v1.service.session.interaction.InteractionContext - """ - if self._context is None: - self._context = InteractionContext( - self._version, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Interaction. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def session_sid(self): - """ - :returns: Session Sid. - :rtype: unicode - """ - return self._properties['session_sid'] - - @property - def service_sid(self): - """ - :returns: Service Sid. - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def account_sid(self): - """ - :returns: Account Sid. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def data(self): - """ - :returns: Further details about an interaction. - :rtype: unicode - """ - return self._properties['data'] - - @property - def type(self): - """ - :returns: The Type of this Interaction - :rtype: InteractionInstance.Type - """ - return self._properties['type'] - - @property - def inbound_participant_sid(self): - """ - :returns: Inbound Participant Sid. - :rtype: unicode - """ - return self._properties['inbound_participant_sid'] - - @property - def inbound_resource_sid(self): - """ - :returns: Inbound Resource Sid. - :rtype: unicode - """ - return self._properties['inbound_resource_sid'] - - @property - def inbound_resource_status(self): - """ - :returns: The Inbound Resource Status of this Interaction - :rtype: InteractionInstance.ResourceStatus - """ - return self._properties['inbound_resource_status'] - - @property - def inbound_resource_type(self): - """ - :returns: The type of the Inbound Resource, Call or Message. - :rtype: unicode - """ - return self._properties['inbound_resource_type'] - - @property - def inbound_resource_url(self): - """ - :returns: The URL of the Twilio resource. - :rtype: unicode - """ - return self._properties['inbound_resource_url'] - - @property - def outbound_participant_sid(self): - """ - :returns: Outbound Participant Sid. - :rtype: unicode - """ - return self._properties['outbound_participant_sid'] - - @property - def outbound_resource_sid(self): - """ - :returns: Outbound Resource Sid. - :rtype: unicode - """ - return self._properties['outbound_resource_sid'] - - @property - def outbound_resource_status(self): - """ - :returns: The Outbound Resource Status of this Interaction - :rtype: InteractionInstance.ResourceStatus - """ - return self._properties['outbound_resource_status'] - - @property - def outbound_resource_type(self): - """ - :returns: The type of the Outbound Resource, Call or Message. - :rtype: unicode - """ - return self._properties['outbound_resource_type'] - - @property - def outbound_resource_url(self): - """ - :returns: The URL of the Twilio resource. - :rtype: unicode - """ - return self._properties['outbound_resource_url'] - - @property - def date_created(self): - """ - :returns: The date this Interaction was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this Interaction was updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The URL of this resource. - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a InteractionInstance - - :returns: Fetched InteractionInstance - :rtype: twilio.rest.proxy.v1.service.session.interaction.InteractionInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the InteractionInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Proxy.V1.InteractionInstance {}>'.format(context) diff --git a/twilio/rest/proxy/v1/service/session/participant/__init__.py b/twilio/rest/proxy/v1/service/session/participant/__init__.py deleted file mode 100644 index 735671c..0000000 --- a/twilio/rest/proxy/v1/service/session/participant/__init__.py +++ /dev/null @@ -1,585 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.proxy.v1.service.session.participant.message_interaction import MessageInteractionList - - -class ParticipantList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, session_sid): - """ - Initialize the ParticipantList - - :param Version version: Version that contains the resource - :param service_sid: Service Sid. - :param session_sid: Session Sid. - - :returns: twilio.rest.proxy.v1.service.session.participant.ParticipantList - :rtype: twilio.rest.proxy.v1.service.session.participant.ParticipantList - """ - super(ParticipantList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'session_sid': session_sid, } - self._uri = '/Services/{service_sid}/Sessions/{session_sid}/Participants'.format(**self._solution) - - def stream(self, identifier=values.unset, limit=None, page_size=None): - """ - Streams ParticipantInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode identifier: The identifier - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.proxy.v1.service.session.participant.ParticipantInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(identifier=identifier, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, identifier=values.unset, limit=None, page_size=None): - """ - Lists ParticipantInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode identifier: The identifier - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.proxy.v1.service.session.participant.ParticipantInstance] - """ - return list(self.stream(identifier=identifier, limit=limit, page_size=page_size, )) - - def page(self, identifier=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of ParticipantInstance records from the API. - Request is executed immediately - - :param unicode identifier: The identifier - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ParticipantInstance - :rtype: twilio.rest.proxy.v1.service.session.participant.ParticipantPage - """ - params = values.of({ - 'Identifier': identifier, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ParticipantPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ParticipantInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ParticipantInstance - :rtype: twilio.rest.proxy.v1.service.session.participant.ParticipantPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ParticipantPage(self._version, response, self._solution) - - def create(self, identifier, friendly_name=values.unset, - proxy_identifier=values.unset, proxy_identifier_sid=values.unset): - """ - Create a new ParticipantInstance - - :param unicode identifier: The phone number of this Participant. - :param unicode friendly_name: A human readable description of this resource. - :param unicode proxy_identifier: The proxy phone number for this Participant. - :param unicode proxy_identifier_sid: Proxy Identifier Sid. - - :returns: Newly created ParticipantInstance - :rtype: twilio.rest.proxy.v1.service.session.participant.ParticipantInstance - """ - data = values.of({ - 'Identifier': identifier, - 'FriendlyName': friendly_name, - 'ProxyIdentifier': proxy_identifier, - 'ProxyIdentifierSid': proxy_identifier_sid, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return ParticipantInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - ) - - def get(self, sid): - """ - Constructs a ParticipantContext - - :param sid: A string that uniquely identifies this Participant. - - :returns: twilio.rest.proxy.v1.service.session.participant.ParticipantContext - :rtype: twilio.rest.proxy.v1.service.session.participant.ParticipantContext - """ - return ParticipantContext( - self._version, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a ParticipantContext - - :param sid: A string that uniquely identifies this Participant. - - :returns: twilio.rest.proxy.v1.service.session.participant.ParticipantContext - :rtype: twilio.rest.proxy.v1.service.session.participant.ParticipantContext - """ - return ParticipantContext( - self._version, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Proxy.V1.ParticipantList>' - - -class ParticipantPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the ParticipantPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: Service Sid. - :param session_sid: Session Sid. - - :returns: twilio.rest.proxy.v1.service.session.participant.ParticipantPage - :rtype: twilio.rest.proxy.v1.service.session.participant.ParticipantPage - """ - super(ParticipantPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ParticipantInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.proxy.v1.service.session.participant.ParticipantInstance - :rtype: twilio.rest.proxy.v1.service.session.participant.ParticipantInstance - """ - return ParticipantInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Proxy.V1.ParticipantPage>' - - -class ParticipantContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, session_sid, sid): - """ - Initialize the ParticipantContext - - :param Version version: Version that contains the resource - :param service_sid: Service Sid. - :param session_sid: Session Sid. - :param sid: A string that uniquely identifies this Participant. - - :returns: twilio.rest.proxy.v1.service.session.participant.ParticipantContext - :rtype: twilio.rest.proxy.v1.service.session.participant.ParticipantContext - """ - super(ParticipantContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'session_sid': session_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Sessions/{session_sid}/Participants/{sid}'.format(**self._solution) - - # Dependents - self._message_interactions = None - - def fetch(self): - """ - Fetch a ParticipantInstance - - :returns: Fetched ParticipantInstance - :rtype: twilio.rest.proxy.v1.service.session.participant.ParticipantInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ParticipantInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the ParticipantInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, identifier=values.unset, friendly_name=values.unset, - proxy_identifier=values.unset, proxy_identifier_sid=values.unset): - """ - Update the ParticipantInstance - - :param unicode identifier: The phone number of this Participant. - :param unicode friendly_name: A human readable description of this resource. - :param unicode proxy_identifier: The proxy phone number for this Participant. - :param unicode proxy_identifier_sid: Proxy Identifier Sid. - - :returns: Updated ParticipantInstance - :rtype: twilio.rest.proxy.v1.service.session.participant.ParticipantInstance - """ - data = values.of({ - 'Identifier': identifier, - 'FriendlyName': friendly_name, - 'ProxyIdentifier': proxy_identifier, - 'ProxyIdentifierSid': proxy_identifier_sid, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ParticipantInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - sid=self._solution['sid'], - ) - - @property - def message_interactions(self): - """ - Access the message_interactions - - :returns: twilio.rest.proxy.v1.service.session.participant.message_interaction.MessageInteractionList - :rtype: twilio.rest.proxy.v1.service.session.participant.message_interaction.MessageInteractionList - """ - if self._message_interactions is None: - self._message_interactions = MessageInteractionList( - self._version, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - participant_sid=self._solution['sid'], - ) - return self._message_interactions - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Proxy.V1.ParticipantContext {}>'.format(context) - - -class ParticipantInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, payload, service_sid, session_sid, sid=None): - """ - Initialize the ParticipantInstance - - :returns: twilio.rest.proxy.v1.service.session.participant.ParticipantInstance - :rtype: twilio.rest.proxy.v1.service.session.participant.ParticipantInstance - """ - super(ParticipantInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'session_sid': payload['session_sid'], - 'service_sid': payload['service_sid'], - 'account_sid': payload['account_sid'], - 'friendly_name': payload['friendly_name'], - 'identifier': payload['identifier'], - 'proxy_identifier': payload['proxy_identifier'], - 'proxy_identifier_sid': payload['proxy_identifier_sid'], - 'date_deleted': deserialize.iso8601_datetime(payload['date_deleted']), - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'session_sid': session_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ParticipantContext for this ParticipantInstance - :rtype: twilio.rest.proxy.v1.service.session.participant.ParticipantContext - """ - if self._context is None: - self._context = ParticipantContext( - self._version, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Participant. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def session_sid(self): - """ - :returns: Session Sid. - :rtype: unicode - """ - return self._properties['session_sid'] - - @property - def service_sid(self): - """ - :returns: Service Sid. - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def account_sid(self): - """ - :returns: Account Sid. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def friendly_name(self): - """ - :returns: A human readable description of this resource. - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def identifier(self): - """ - :returns: The phone number of this Participant. - :rtype: unicode - """ - return self._properties['identifier'] - - @property - def proxy_identifier(self): - """ - :returns: The proxy_identifier - :rtype: unicode - """ - return self._properties['proxy_identifier'] - - @property - def proxy_identifier_sid(self): - """ - :returns: Proxy Identifier Sid. - :rtype: unicode - """ - return self._properties['proxy_identifier_sid'] - - @property - def date_deleted(self): - """ - :returns: The date this Participant was deleted - :rtype: datetime - """ - return self._properties['date_deleted'] - - @property - def date_created(self): - """ - :returns: The date this Participant was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this Participant was updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The URL of this resource. - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: Nested resource URLs. - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a ParticipantInstance - - :returns: Fetched ParticipantInstance - :rtype: twilio.rest.proxy.v1.service.session.participant.ParticipantInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the ParticipantInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, identifier=values.unset, friendly_name=values.unset, - proxy_identifier=values.unset, proxy_identifier_sid=values.unset): - """ - Update the ParticipantInstance - - :param unicode identifier: The phone number of this Participant. - :param unicode friendly_name: A human readable description of this resource. - :param unicode proxy_identifier: The proxy phone number for this Participant. - :param unicode proxy_identifier_sid: Proxy Identifier Sid. - - :returns: Updated ParticipantInstance - :rtype: twilio.rest.proxy.v1.service.session.participant.ParticipantInstance - """ - return self._proxy.update( - identifier=identifier, - friendly_name=friendly_name, - proxy_identifier=proxy_identifier, - proxy_identifier_sid=proxy_identifier_sid, - ) - - @property - def message_interactions(self): - """ - Access the message_interactions - - :returns: twilio.rest.proxy.v1.service.session.participant.message_interaction.MessageInteractionList - :rtype: twilio.rest.proxy.v1.service.session.participant.message_interaction.MessageInteractionList - """ - return self._proxy.message_interactions - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Proxy.V1.ParticipantInstance {}>'.format(context) diff --git a/twilio/rest/proxy/v1/service/session/participant/__pycache__/__init__.cpython-36.pyc b/twilio/rest/proxy/v1/service/session/participant/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index a8e9b91efff6fc28879738f1d4050cb01d5fbc89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20013 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 diff --git a/twilio/rest/proxy/v1/service/session/participant/__pycache__/message_interaction.cpython-36.pyc b/twilio/rest/proxy/v1/service/session/participant/__pycache__/message_interaction.cpython-36.pyc deleted file mode 100644 index c0724f3ab0a6a7fc88a5e2e04a3d6857250fffc7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20997 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 Ee~VoXv;Y7A diff --git a/twilio/rest/proxy/v1/service/session/participant/message_interaction.py b/twilio/rest/proxy/v1/service/session/participant/message_interaction.py deleted file mode 100644 index 15b2ee5..0000000 --- a/twilio/rest/proxy/v1/service/session/participant/message_interaction.py +++ /dev/null @@ -1,578 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class MessageInteractionList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, session_sid, participant_sid): - """ - Initialize the MessageInteractionList - - :param Version version: Version that contains the resource - :param service_sid: Service Sid. - :param session_sid: Session Sid. - :param participant_sid: Participant Sid. - - :returns: twilio.rest.proxy.v1.service.session.participant.message_interaction.MessageInteractionList - :rtype: twilio.rest.proxy.v1.service.session.participant.message_interaction.MessageInteractionList - """ - super(MessageInteractionList, self).__init__(version) - - # Path Solution - self._solution = { - 'service_sid': service_sid, - 'session_sid': session_sid, - 'participant_sid': participant_sid, - } - self._uri = '/Services/{service_sid}/Sessions/{session_sid}/Participants/{participant_sid}/MessageInteractions'.format(**self._solution) - - def create(self, body=values.unset, media_url=values.unset): - """ - Create a new MessageInteractionInstance - - :param unicode body: The body - :param unicode media_url: The media_url - - :returns: Newly created MessageInteractionInstance - :rtype: twilio.rest.proxy.v1.service.session.participant.message_interaction.MessageInteractionInstance - """ - data = values.of({'Body': body, 'MediaUrl': serialize.map(media_url, lambda e: e), }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return MessageInteractionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - participant_sid=self._solution['participant_sid'], - ) - - def stream(self, limit=None, page_size=None): - """ - Streams MessageInteractionInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.proxy.v1.service.session.participant.message_interaction.MessageInteractionInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists MessageInteractionInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.proxy.v1.service.session.participant.message_interaction.MessageInteractionInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of MessageInteractionInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of MessageInteractionInstance - :rtype: twilio.rest.proxy.v1.service.session.participant.message_interaction.MessageInteractionPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return MessageInteractionPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of MessageInteractionInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of MessageInteractionInstance - :rtype: twilio.rest.proxy.v1.service.session.participant.message_interaction.MessageInteractionPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return MessageInteractionPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a MessageInteractionContext - - :param sid: A string that uniquely identifies this Message Interaction. - - :returns: twilio.rest.proxy.v1.service.session.participant.message_interaction.MessageInteractionContext - :rtype: twilio.rest.proxy.v1.service.session.participant.message_interaction.MessageInteractionContext - """ - return MessageInteractionContext( - self._version, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - participant_sid=self._solution['participant_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a MessageInteractionContext - - :param sid: A string that uniquely identifies this Message Interaction. - - :returns: twilio.rest.proxy.v1.service.session.participant.message_interaction.MessageInteractionContext - :rtype: twilio.rest.proxy.v1.service.session.participant.message_interaction.MessageInteractionContext - """ - return MessageInteractionContext( - self._version, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - participant_sid=self._solution['participant_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Proxy.V1.MessageInteractionList>' - - -class MessageInteractionPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the MessageInteractionPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: Service Sid. - :param session_sid: Session Sid. - :param participant_sid: Participant Sid. - - :returns: twilio.rest.proxy.v1.service.session.participant.message_interaction.MessageInteractionPage - :rtype: twilio.rest.proxy.v1.service.session.participant.message_interaction.MessageInteractionPage - """ - super(MessageInteractionPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of MessageInteractionInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.proxy.v1.service.session.participant.message_interaction.MessageInteractionInstance - :rtype: twilio.rest.proxy.v1.service.session.participant.message_interaction.MessageInteractionInstance - """ - return MessageInteractionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - participant_sid=self._solution['participant_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Proxy.V1.MessageInteractionPage>' - - -class MessageInteractionContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, session_sid, participant_sid, sid): - """ - Initialize the MessageInteractionContext - - :param Version version: Version that contains the resource - :param service_sid: Service Sid. - :param session_sid: Session Sid. - :param participant_sid: Participant Sid. - :param sid: A string that uniquely identifies this Message Interaction. - - :returns: twilio.rest.proxy.v1.service.session.participant.message_interaction.MessageInteractionContext - :rtype: twilio.rest.proxy.v1.service.session.participant.message_interaction.MessageInteractionContext - """ - super(MessageInteractionContext, self).__init__(version) - - # Path Solution - self._solution = { - 'service_sid': service_sid, - 'session_sid': session_sid, - 'participant_sid': participant_sid, - 'sid': sid, - } - self._uri = '/Services/{service_sid}/Sessions/{session_sid}/Participants/{participant_sid}/MessageInteractions/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a MessageInteractionInstance - - :returns: Fetched MessageInteractionInstance - :rtype: twilio.rest.proxy.v1.service.session.participant.message_interaction.MessageInteractionInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return MessageInteractionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - participant_sid=self._solution['participant_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Proxy.V1.MessageInteractionContext {}>'.format(context) - - -class MessageInteractionInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - class Type(object): - MESSAGE = "message" - VOICE = "voice" - UNKNOWN = "unknown" - - class ResourceStatus(object): - ACCEPTED = "accepted" - ANSWERED = "answered" - BUSY = "busy" - CANCELED = "canceled" - COMPLETED = "completed" - DELETED = "deleted" - DELIVERED = "delivered" - DELIVERY_UNKNOWN = "delivery-unknown" - FAILED = "failed" - IN_PROGRESS = "in-progress" - INITIATED = "initiated" - NO_ANSWER = "no-answer" - QUEUED = "queued" - RECEIVED = "received" - RECEIVING = "receiving" - RINGING = "ringing" - SCHEDULED = "scheduled" - SENDING = "sending" - SENT = "sent" - UNDELIVERED = "undelivered" - UNKNOWN = "unknown" - - def __init__(self, version, payload, service_sid, session_sid, participant_sid, - sid=None): - """ - Initialize the MessageInteractionInstance - - :returns: twilio.rest.proxy.v1.service.session.participant.message_interaction.MessageInteractionInstance - :rtype: twilio.rest.proxy.v1.service.session.participant.message_interaction.MessageInteractionInstance - """ - super(MessageInteractionInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'session_sid': payload['session_sid'], - 'service_sid': payload['service_sid'], - 'account_sid': payload['account_sid'], - 'data': payload['data'], - 'type': payload['type'], - 'participant_sid': payload['participant_sid'], - 'inbound_participant_sid': payload['inbound_participant_sid'], - 'inbound_resource_sid': payload['inbound_resource_sid'], - 'inbound_resource_status': payload['inbound_resource_status'], - 'inbound_resource_type': payload['inbound_resource_type'], - 'inbound_resource_url': payload['inbound_resource_url'], - 'outbound_participant_sid': payload['outbound_participant_sid'], - 'outbound_resource_sid': payload['outbound_resource_sid'], - 'outbound_resource_status': payload['outbound_resource_status'], - 'outbound_resource_type': payload['outbound_resource_type'], - 'outbound_resource_url': payload['outbound_resource_url'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'session_sid': session_sid, - 'participant_sid': participant_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: MessageInteractionContext for this MessageInteractionInstance - :rtype: twilio.rest.proxy.v1.service.session.participant.message_interaction.MessageInteractionContext - """ - if self._context is None: - self._context = MessageInteractionContext( - self._version, - service_sid=self._solution['service_sid'], - session_sid=self._solution['session_sid'], - participant_sid=self._solution['participant_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Message Interaction. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def session_sid(self): - """ - :returns: Session Sid. - :rtype: unicode - """ - return self._properties['session_sid'] - - @property - def service_sid(self): - """ - :returns: Service Sid. - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def account_sid(self): - """ - :returns: Account Sid. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def data(self): - """ - :returns: Further details about an interaction. - :rtype: unicode - """ - return self._properties['data'] - - @property - def type(self): - """ - :returns: The Type of this Message Interaction - :rtype: MessageInteractionInstance.Type - """ - return self._properties['type'] - - @property - def participant_sid(self): - """ - :returns: Participant Sid. - :rtype: unicode - """ - return self._properties['participant_sid'] - - @property - def inbound_participant_sid(self): - """ - :returns: Inbound Participant Sid. - :rtype: unicode - """ - return self._properties['inbound_participant_sid'] - - @property - def inbound_resource_sid(self): - """ - :returns: Inbound Resource Sid. - :rtype: unicode - """ - return self._properties['inbound_resource_sid'] - - @property - def inbound_resource_status(self): - """ - :returns: The Inbound Resource Status of this Message Interaction - :rtype: MessageInteractionInstance.ResourceStatus - """ - return self._properties['inbound_resource_status'] - - @property - def inbound_resource_type(self): - """ - :returns: The type of the Inbound Resource, Call or Message. - :rtype: unicode - """ - return self._properties['inbound_resource_type'] - - @property - def inbound_resource_url(self): - """ - :returns: The URL of the Twilio resource. - :rtype: unicode - """ - return self._properties['inbound_resource_url'] - - @property - def outbound_participant_sid(self): - """ - :returns: Outbound Participant Sid. - :rtype: unicode - """ - return self._properties['outbound_participant_sid'] - - @property - def outbound_resource_sid(self): - """ - :returns: Outbound Resource Sid. - :rtype: unicode - """ - return self._properties['outbound_resource_sid'] - - @property - def outbound_resource_status(self): - """ - :returns: The Outbound Resource Status of this Message Interaction - :rtype: MessageInteractionInstance.ResourceStatus - """ - return self._properties['outbound_resource_status'] - - @property - def outbound_resource_type(self): - """ - :returns: The type of the Outbound Resource, Call or Message. - :rtype: unicode - """ - return self._properties['outbound_resource_type'] - - @property - def outbound_resource_url(self): - """ - :returns: The URL of the Twilio resource. - :rtype: unicode - """ - return self._properties['outbound_resource_url'] - - @property - def date_created(self): - """ - :returns: The date this Message Interaction was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this Message Interaction was updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The URL of this resource. - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a MessageInteractionInstance - - :returns: Fetched MessageInteractionInstance - :rtype: twilio.rest.proxy.v1.service.session.participant.message_interaction.MessageInteractionInstance - """ - return self._proxy.fetch() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Proxy.V1.MessageInteractionInstance {}>'.format(context) diff --git a/twilio/rest/proxy/v1/service/short_code.py b/twilio/rest/proxy/v1/service/short_code.py deleted file mode 100644 index 7c32034..0000000 --- a/twilio/rest/proxy/v1/service/short_code.py +++ /dev/null @@ -1,418 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class ShortCodeList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid): - """ - Initialize the ShortCodeList - - :param Version version: Version that contains the resource - :param service_sid: Service Sid. - - :returns: twilio.rest.proxy.v1.service.short_code.ShortCodeList - :rtype: twilio.rest.proxy.v1.service.short_code.ShortCodeList - """ - super(ShortCodeList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/ShortCodes'.format(**self._solution) - - def create(self, sid): - """ - Create a new ShortCodeInstance - - :param unicode sid: A string that uniquely identifies this Short Code. - - :returns: Newly created ShortCodeInstance - :rtype: twilio.rest.proxy.v1.service.short_code.ShortCodeInstance - """ - data = values.of({'Sid': sid, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return ShortCodeInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, limit=None, page_size=None): - """ - Streams ShortCodeInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.proxy.v1.service.short_code.ShortCodeInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists ShortCodeInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.proxy.v1.service.short_code.ShortCodeInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of ShortCodeInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ShortCodeInstance - :rtype: twilio.rest.proxy.v1.service.short_code.ShortCodePage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ShortCodePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ShortCodeInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ShortCodeInstance - :rtype: twilio.rest.proxy.v1.service.short_code.ShortCodePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ShortCodePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a ShortCodeContext - - :param sid: A string that uniquely identifies this Short Code. - - :returns: twilio.rest.proxy.v1.service.short_code.ShortCodeContext - :rtype: twilio.rest.proxy.v1.service.short_code.ShortCodeContext - """ - return ShortCodeContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a ShortCodeContext - - :param sid: A string that uniquely identifies this Short Code. - - :returns: twilio.rest.proxy.v1.service.short_code.ShortCodeContext - :rtype: twilio.rest.proxy.v1.service.short_code.ShortCodeContext - """ - return ShortCodeContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Proxy.V1.ShortCodeList>' - - -class ShortCodePage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the ShortCodePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: Service Sid. - - :returns: twilio.rest.proxy.v1.service.short_code.ShortCodePage - :rtype: twilio.rest.proxy.v1.service.short_code.ShortCodePage - """ - super(ShortCodePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ShortCodeInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.proxy.v1.service.short_code.ShortCodeInstance - :rtype: twilio.rest.proxy.v1.service.short_code.ShortCodeInstance - """ - return ShortCodeInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Proxy.V1.ShortCodePage>' - - -class ShortCodeContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the ShortCodeContext - - :param Version version: Version that contains the resource - :param service_sid: Service Sid. - :param sid: A string that uniquely identifies this Short Code. - - :returns: twilio.rest.proxy.v1.service.short_code.ShortCodeContext - :rtype: twilio.rest.proxy.v1.service.short_code.ShortCodeContext - """ - super(ShortCodeContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/ShortCodes/{sid}'.format(**self._solution) - - def delete(self): - """ - Deletes the ShortCodeInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def fetch(self): - """ - Fetch a ShortCodeInstance - - :returns: Fetched ShortCodeInstance - :rtype: twilio.rest.proxy.v1.service.short_code.ShortCodeInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ShortCodeInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Proxy.V1.ShortCodeContext {}>'.format(context) - - -class ShortCodeInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the ShortCodeInstance - - :returns: twilio.rest.proxy.v1.service.short_code.ShortCodeInstance - :rtype: twilio.rest.proxy.v1.service.short_code.ShortCodeInstance - """ - super(ShortCodeInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'short_code': payload['short_code'], - 'iso_country': payload['iso_country'], - 'capabilities': payload['capabilities'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ShortCodeContext for this ShortCodeInstance - :rtype: twilio.rest.proxy.v1.service.short_code.ShortCodeContext - """ - if self._context is None: - self._context = ShortCodeContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: A string that uniquely identifies this Short Code. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: Account Sid. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: Service Sid. - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def date_created(self): - """ - :returns: The date this Short Code was created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this Short Code was updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def short_code(self): - """ - :returns: Shortcode. - :rtype: unicode - """ - return self._properties['short_code'] - - @property - def iso_country(self): - """ - :returns: ISO Country Code, - :rtype: unicode - """ - return self._properties['iso_country'] - - @property - def capabilities(self): - """ - :returns: Nested resource URLs. - :rtype: unicode - """ - return self._properties['capabilities'] - - @property - def url(self): - """ - :returns: The URL of this resource. - :rtype: unicode - """ - return self._properties['url'] - - def delete(self): - """ - Deletes the ShortCodeInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def fetch(self): - """ - Fetch a ShortCodeInstance - - :returns: Fetched ShortCodeInstance - :rtype: twilio.rest.proxy.v1.service.short_code.ShortCodeInstance - """ - return self._proxy.fetch() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Proxy.V1.ShortCodeInstance {}>'.format(context) diff --git a/twilio/rest/studio/__init__.py b/twilio/rest/studio/__init__.py deleted file mode 100644 index a9abc21..0000000 --- a/twilio/rest/studio/__init__.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.domain import Domain -from twilio.rest.studio.v1 import V1 - - -class Studio(Domain): - - def __init__(self, twilio): - """ - Initialize the Studio Domain - - :returns: Domain for Studio - :rtype: twilio.rest.studio.Studio - """ - super(Studio, self).__init__(twilio) - - self.base_url = 'https://studio.twilio.com' - - # Versions - self._v1 = None - - @property - def v1(self): - """ - :returns: Version v1 of studio - :rtype: twilio.rest.studio.v1.V1 - """ - if self._v1 is None: - self._v1 = V1(self) - return self._v1 - - @property - def flows(self): - """ - :rtype: twilio.rest.studio.v1.flow.FlowList - """ - return self.v1.flows - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Studio>' diff --git a/twilio/rest/studio/__pycache__/__init__.cpython-36.pyc b/twilio/rest/studio/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 44eea5ba5fb89ea46140506a2c768705f304ad54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1579 zcmaJ>PjBQj6t|sBCJoaqLT~^H$u~NO&2+T4QCWeu0wFCGXiFtRBrA<QJ1&_d*q*5- z3a3`ukHMMG!i96LocIcycuq3eLF!`3_DkOL^Y8cm_}TGs@W-FOMHenYf1!f`-{=dN z`V1D1BE&H#8D5i!U@JSBvvwmFqpuNn`RD=hks$X@G~(VXG#yt-aJ7<}rUe)DF46S0 z$c0Lb;Phq}#B@d(g#inz`#qpFJ!R8)2Fod{<5^AX(-~N7=iym+7Fc@<2fHx~{sv%Z ziW~2uSSK<EiCoW9`*S~>UeM<t2oz!9LEfMxwp<?k$Pq4gxch+aaWn!Mu(z_u$J~EF z(fAE=QRD-kqsDt>He41d>3!PW`nOY4SPU|_M)%~F)c79T7}bb5oWSaG0zRDT*Pa8V z-{jKBB$Jh(W+iCnn|4Hk!D^v|*{EDEdJSC`s<%C`F}qSMsJWAwEJ7u;33UrK?7R+^ z)yFGiO1+rPdVPN+E!LOQQ8Ut;QYdBf-uR43K*(6*-y~YFjmjE_ZRb<cxLRb($m`BR z%#RpLvqWpgen<cO^kNbJpoP-$_cB@~Mf_!1UL+=oUlwVS#aCio#-%Ku-fU#XpFY!B zvE1pqxO2AOEQPp(81Hd}<xY8k>;$H^0vf+hJf}M8IEH(>6k8n(yW14KfT=%$rAD`q zlAnF`VVfqKoc13ihEzWeL3$hVYoH;E9IB5NOWNT%Fnedzp<1u!gW=_rC?Bp@woay4 z9a;IkVVQu`knQ|a*gIZcfCF3|^}M$8|1h$wT1M8TWps-HKdwF>?pvt;1GdbHyYMSm zUP^6-GXU|};uu-AejKEF0v4aa)NKQds!5NqJ@Yt7TT0vlBvmzB_MIxW65fP_E|nBH z&vsOa5^^qblNbp2W99#ClCESf-g%^d6X>43Hfp%AIyt}UdZR=9ybb^3EN$UiG>nA< z)$u`*bvk$rz%EbL0vaS>Y+dk8X5|TEzig7M)3o*4_@yeKt<0_saT`Tti?})N`z94x z2A2*c0l)&#D_a?DGuqT>n{S^?o=k$txcz%M^_nqbyhs^~KIl8y_G-x6*HGCsMIZHw h!&hNDZ)>sj^7h(JYRl0-?+85~+na5(xnzPT&cCLEfF=L{ diff --git a/twilio/rest/studio/v1/__init__.py b/twilio/rest/studio/v1/__init__.py deleted file mode 100644 index 41c0b25..0000000 --- a/twilio/rest/studio/v1/__init__.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.studio.v1.flow import FlowList - - -class V1(Version): - - def __init__(self, domain): - """ - Initialize the V1 version of Studio - - :returns: V1 version of Studio - :rtype: twilio.rest.studio.v1.V1.V1 - """ - super(V1, self).__init__(domain) - self.version = 'v1' - self._flows = None - - @property - def flows(self): - """ - :rtype: twilio.rest.studio.v1.flow.FlowList - """ - if self._flows is None: - self._flows = FlowList(self) - return self._flows - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Studio.V1>' diff --git a/twilio/rest/studio/v1/__pycache__/__init__.cpython-36.pyc b/twilio/rest/studio/v1/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 5e2126a4acc66eda21eec04423862f10b36b1a11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1367 zcmaJ=%Z}SN6eTIy)@VFQkam?7fo?{N*kfd8Bte1%Edr#27MadM5JG4~I>SV^6jJuU zhITVRkUz*S>wZf&U2EG_f1#`1OUcdylMv$N1;xj?=N#TUI0*mx`(ymUBjg|QS@R)( z1l=A%kR&FON|w_(iy6h-%e}cD`;`1bq%V6{MD`TB^x~fEzaY_IlZGef+VZTBieIFb zzfucj(n?8wwhj|M=7K|mAnI-mdCd<+l#C%9iaHtBygnSmiq&LvG&%}#J%^2L8;Ab_ zFcQ&baH@>e#RAgc=e)Rhu5Fd!ziorkTyv!;5>qILy(2S<C0zxvr+n#2|B75vfDZ*+ zk+}bk_#_@+DGfWFWUM;_M?4R^<q#@T(VASc*Q}<O6sf6+@FauiO9uPB&HD~I=g$_p z(rK<YidW}~pHBFy#m<Wve^D)^F2dd7sZrI^EbR39bsZ0UYN~aqro6h)xh_UV*=l6n zQ6nJk6u;e(F<VWJqh8aq%TgJG8aIIu8ej?03_37PU(A3<8?nZ>DxWodS<F+71n&uv z<*Bto{7L?M`DB{>VWEKJcO9RnMe?{TpQcrsJTI~|PfpalOiEqeJzMHr-o0n@Vz#yy zNegs4Al{_Ko2(|u7R;zzn?At13Eg5s2DfORZuX&|?V60@JTx3pm?zNf9SAjf4MMyL z%#ThSl*G+}9BlJoN5}W6Lk>n;L+$n)N6Z9pg+T{I)a+qC+=T<knx3N%fwa(jAr0v! z0O;<=7q}6-!;NA{>JV;rxBX^{m4+9T@|n?UA@emisszr|qDm_;{dIQvHO<cTLVa_~ z*Uqt(*<HA~egC92Qfo(W&qG(<H%bNfARr-r!fM?s8FV7G^HG2fTcmRZ4hw~t7jl_n zJ{02ZGR@mRPU|KpO#!~F*5(GBW>EX)pmSWN@*M8kF%5Y3aS;;kjEsq+J7B~8;hvj2 zj{40&2w7x8#6NT|<Seyn)LGpi;`q+>ZwJM4GP|=rUEO9*>EM1_&%?p?cApLD(EA_S CHc?vu diff --git a/twilio/rest/studio/v1/flow/__init__.py b/twilio/rest/studio/v1/flow/__init__.py deleted file mode 100644 index b390e09..0000000 --- a/twilio/rest/studio/v1/flow/__init__.py +++ /dev/null @@ -1,417 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.studio.v1.flow.engagement import EngagementList - - -class FlowList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version): - """ - Initialize the FlowList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.studio.v1.flow.FlowList - :rtype: twilio.rest.studio.v1.flow.FlowList - """ - super(FlowList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Flows'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams FlowInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.studio.v1.flow.FlowInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists FlowInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.studio.v1.flow.FlowInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of FlowInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of FlowInstance - :rtype: twilio.rest.studio.v1.flow.FlowPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return FlowPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of FlowInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of FlowInstance - :rtype: twilio.rest.studio.v1.flow.FlowPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return FlowPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a FlowContext - - :param sid: The sid - - :returns: twilio.rest.studio.v1.flow.FlowContext - :rtype: twilio.rest.studio.v1.flow.FlowContext - """ - return FlowContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a FlowContext - - :param sid: The sid - - :returns: twilio.rest.studio.v1.flow.FlowContext - :rtype: twilio.rest.studio.v1.flow.FlowContext - """ - return FlowContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Studio.V1.FlowList>' - - -class FlowPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the FlowPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.studio.v1.flow.FlowPage - :rtype: twilio.rest.studio.v1.flow.FlowPage - """ - super(FlowPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of FlowInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.studio.v1.flow.FlowInstance - :rtype: twilio.rest.studio.v1.flow.FlowInstance - """ - return FlowInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Studio.V1.FlowPage>' - - -class FlowContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, sid): - """ - Initialize the FlowContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.studio.v1.flow.FlowContext - :rtype: twilio.rest.studio.v1.flow.FlowContext - """ - super(FlowContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Flows/{sid}'.format(**self._solution) - - # Dependents - self._engagements = None - - def fetch(self): - """ - Fetch a FlowInstance - - :returns: Fetched FlowInstance - :rtype: twilio.rest.studio.v1.flow.FlowInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return FlowInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the FlowInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - @property - def engagements(self): - """ - Access the engagements - - :returns: twilio.rest.studio.v1.flow.engagement.EngagementList - :rtype: twilio.rest.studio.v1.flow.engagement.EngagementList - """ - if self._engagements is None: - self._engagements = EngagementList(self._version, flow_sid=self._solution['sid'], ) - return self._engagements - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Studio.V1.FlowContext {}>'.format(context) - - -class FlowInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - class Status(object): - DRAFT = "draft" - PUBLISHED = "published" - - def __init__(self, version, payload, sid=None): - """ - Initialize the FlowInstance - - :returns: twilio.rest.studio.v1.flow.FlowInstance - :rtype: twilio.rest.studio.v1.flow.FlowInstance - """ - super(FlowInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'friendly_name': payload['friendly_name'], - 'status': payload['status'], - 'version': deserialize.integer(payload['version']), - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: FlowContext for this FlowInstance - :rtype: twilio.rest.studio.v1.flow.FlowContext - """ - if self._context is None: - self._context = FlowContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def status(self): - """ - :returns: The status - :rtype: FlowInstance.Status - """ - return self._properties['status'] - - @property - def version(self): - """ - :returns: The version - :rtype: unicode - """ - return self._properties['version'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a FlowInstance - - :returns: Fetched FlowInstance - :rtype: twilio.rest.studio.v1.flow.FlowInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the FlowInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - @property - def engagements(self): - """ - Access the engagements - - :returns: twilio.rest.studio.v1.flow.engagement.EngagementList - :rtype: twilio.rest.studio.v1.flow.engagement.EngagementList - """ - return self._proxy.engagements - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Studio.V1.FlowInstance {}>'.format(context) diff --git a/twilio/rest/studio/v1/flow/__pycache__/__init__.cpython-36.pyc b/twilio/rest/studio/v1/flow/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 19fe0bb921ed594d88a559935f2b1e434043f865..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14153 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 diff --git a/twilio/rest/studio/v1/flow/engagement/__init__.py b/twilio/rest/studio/v1/flow/engagement/__init__.py deleted file mode 100644 index 48d094e..0000000 --- a/twilio/rest/studio/v1/flow/engagement/__init__.py +++ /dev/null @@ -1,454 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.studio.v1.flow.engagement.step import StepList - - -class EngagementList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, flow_sid): - """ - Initialize the EngagementList - - :param Version version: Version that contains the resource - :param flow_sid: The flow_sid - - :returns: twilio.rest.studio.v1.flow.engagement.EngagementList - :rtype: twilio.rest.studio.v1.flow.engagement.EngagementList - """ - super(EngagementList, self).__init__(version) - - # Path Solution - self._solution = {'flow_sid': flow_sid, } - self._uri = '/Flows/{flow_sid}/Engagements'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams EngagementInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.studio.v1.flow.engagement.EngagementInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists EngagementInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.studio.v1.flow.engagement.EngagementInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of EngagementInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of EngagementInstance - :rtype: twilio.rest.studio.v1.flow.engagement.EngagementPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return EngagementPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of EngagementInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of EngagementInstance - :rtype: twilio.rest.studio.v1.flow.engagement.EngagementPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return EngagementPage(self._version, response, self._solution) - - def create(self, to, from_, parameters=values.unset): - """ - Create a new EngagementInstance - - :param unicode to: The to - :param unicode from_: The from - :param unicode parameters: The parameters - - :returns: Newly created EngagementInstance - :rtype: twilio.rest.studio.v1.flow.engagement.EngagementInstance - """ - data = values.of({'To': to, 'From': from_, 'Parameters': parameters, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return EngagementInstance(self._version, payload, flow_sid=self._solution['flow_sid'], ) - - def get(self, sid): - """ - Constructs a EngagementContext - - :param sid: The sid - - :returns: twilio.rest.studio.v1.flow.engagement.EngagementContext - :rtype: twilio.rest.studio.v1.flow.engagement.EngagementContext - """ - return EngagementContext(self._version, flow_sid=self._solution['flow_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a EngagementContext - - :param sid: The sid - - :returns: twilio.rest.studio.v1.flow.engagement.EngagementContext - :rtype: twilio.rest.studio.v1.flow.engagement.EngagementContext - """ - return EngagementContext(self._version, flow_sid=self._solution['flow_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Studio.V1.EngagementList>' - - -class EngagementPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the EngagementPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param flow_sid: The flow_sid - - :returns: twilio.rest.studio.v1.flow.engagement.EngagementPage - :rtype: twilio.rest.studio.v1.flow.engagement.EngagementPage - """ - super(EngagementPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of EngagementInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.studio.v1.flow.engagement.EngagementInstance - :rtype: twilio.rest.studio.v1.flow.engagement.EngagementInstance - """ - return EngagementInstance(self._version, payload, flow_sid=self._solution['flow_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Studio.V1.EngagementPage>' - - -class EngagementContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, flow_sid, sid): - """ - Initialize the EngagementContext - - :param Version version: Version that contains the resource - :param flow_sid: The flow_sid - :param sid: The sid - - :returns: twilio.rest.studio.v1.flow.engagement.EngagementContext - :rtype: twilio.rest.studio.v1.flow.engagement.EngagementContext - """ - super(EngagementContext, self).__init__(version) - - # Path Solution - self._solution = {'flow_sid': flow_sid, 'sid': sid, } - self._uri = '/Flows/{flow_sid}/Engagements/{sid}'.format(**self._solution) - - # Dependents - self._steps = None - - def fetch(self): - """ - Fetch a EngagementInstance - - :returns: Fetched EngagementInstance - :rtype: twilio.rest.studio.v1.flow.engagement.EngagementInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return EngagementInstance( - self._version, - payload, - flow_sid=self._solution['flow_sid'], - sid=self._solution['sid'], - ) - - @property - def steps(self): - """ - Access the steps - - :returns: twilio.rest.studio.v1.flow.engagement.step.StepList - :rtype: twilio.rest.studio.v1.flow.engagement.step.StepList - """ - if self._steps is None: - self._steps = StepList( - self._version, - flow_sid=self._solution['flow_sid'], - engagement_sid=self._solution['sid'], - ) - return self._steps - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Studio.V1.EngagementContext {}>'.format(context) - - -class EngagementInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - class Status(object): - ACTIVE = "active" - ENDED = "ended" - - def __init__(self, version, payload, flow_sid, sid=None): - """ - Initialize the EngagementInstance - - :returns: twilio.rest.studio.v1.flow.engagement.EngagementInstance - :rtype: twilio.rest.studio.v1.flow.engagement.EngagementInstance - """ - super(EngagementInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'flow_sid': payload['flow_sid'], - 'contact_sid': payload['contact_sid'], - 'contact_channel_address': payload['contact_channel_address'], - 'status': payload['status'], - 'context': payload['context'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'flow_sid': flow_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: EngagementContext for this EngagementInstance - :rtype: twilio.rest.studio.v1.flow.engagement.EngagementContext - """ - if self._context is None: - self._context = EngagementContext( - self._version, - flow_sid=self._solution['flow_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def flow_sid(self): - """ - :returns: The flow_sid - :rtype: unicode - """ - return self._properties['flow_sid'] - - @property - def contact_sid(self): - """ - :returns: The contact_sid - :rtype: unicode - """ - return self._properties['contact_sid'] - - @property - def contact_channel_address(self): - """ - :returns: The contact_channel_address - :rtype: unicode - """ - return self._properties['contact_channel_address'] - - @property - def status(self): - """ - :returns: The status - :rtype: EngagementInstance.Status - """ - return self._properties['status'] - - @property - def context(self): - """ - :returns: The context - :rtype: dict - """ - return self._properties['context'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a EngagementInstance - - :returns: Fetched EngagementInstance - :rtype: twilio.rest.studio.v1.flow.engagement.EngagementInstance - """ - return self._proxy.fetch() - - @property - def steps(self): - """ - Access the steps - - :returns: twilio.rest.studio.v1.flow.engagement.step.StepList - :rtype: twilio.rest.studio.v1.flow.engagement.step.StepList - """ - return self._proxy.steps - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Studio.V1.EngagementInstance {}>'.format(context) diff --git a/twilio/rest/studio/v1/flow/engagement/__pycache__/__init__.cpython-36.pyc b/twilio/rest/studio/v1/flow/engagement/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index f21cea1e17ed147a8faf84b3497244fb55b9f8be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15764 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 bb0w6G=qNLe;UHw7{^ja_Y`j)))Gz%nUh?0; diff --git a/twilio/rest/studio/v1/flow/engagement/__pycache__/step.cpython-36.pyc b/twilio/rest/studio/v1/flow/engagement/__pycache__/step.cpython-36.pyc deleted file mode 100644 index d329209b94cdef3aa62a6435225a4bf818de8960..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14137 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 diff --git a/twilio/rest/studio/v1/flow/engagement/step.py b/twilio/rest/studio/v1/flow/engagement/step.py deleted file mode 100644 index 104d1ac..0000000 --- a/twilio/rest/studio/v1/flow/engagement/step.py +++ /dev/null @@ -1,423 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class StepList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, flow_sid, engagement_sid): - """ - Initialize the StepList - - :param Version version: Version that contains the resource - :param flow_sid: The flow_sid - :param engagement_sid: The engagement_sid - - :returns: twilio.rest.studio.v1.flow.engagement.step.StepList - :rtype: twilio.rest.studio.v1.flow.engagement.step.StepList - """ - super(StepList, self).__init__(version) - - # Path Solution - self._solution = {'flow_sid': flow_sid, 'engagement_sid': engagement_sid, } - self._uri = '/Flows/{flow_sid}/Engagements/{engagement_sid}/Steps'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams StepInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.studio.v1.flow.engagement.step.StepInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists StepInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.studio.v1.flow.engagement.step.StepInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of StepInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of StepInstance - :rtype: twilio.rest.studio.v1.flow.engagement.step.StepPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return StepPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of StepInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of StepInstance - :rtype: twilio.rest.studio.v1.flow.engagement.step.StepPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return StepPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a StepContext - - :param sid: The sid - - :returns: twilio.rest.studio.v1.flow.engagement.step.StepContext - :rtype: twilio.rest.studio.v1.flow.engagement.step.StepContext - """ - return StepContext( - self._version, - flow_sid=self._solution['flow_sid'], - engagement_sid=self._solution['engagement_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a StepContext - - :param sid: The sid - - :returns: twilio.rest.studio.v1.flow.engagement.step.StepContext - :rtype: twilio.rest.studio.v1.flow.engagement.step.StepContext - """ - return StepContext( - self._version, - flow_sid=self._solution['flow_sid'], - engagement_sid=self._solution['engagement_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Studio.V1.StepList>' - - -class StepPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the StepPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param flow_sid: The flow_sid - :param engagement_sid: The engagement_sid - - :returns: twilio.rest.studio.v1.flow.engagement.step.StepPage - :rtype: twilio.rest.studio.v1.flow.engagement.step.StepPage - """ - super(StepPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of StepInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.studio.v1.flow.engagement.step.StepInstance - :rtype: twilio.rest.studio.v1.flow.engagement.step.StepInstance - """ - return StepInstance( - self._version, - payload, - flow_sid=self._solution['flow_sid'], - engagement_sid=self._solution['engagement_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Studio.V1.StepPage>' - - -class StepContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, flow_sid, engagement_sid, sid): - """ - Initialize the StepContext - - :param Version version: Version that contains the resource - :param flow_sid: The flow_sid - :param engagement_sid: The engagement_sid - :param sid: The sid - - :returns: twilio.rest.studio.v1.flow.engagement.step.StepContext - :rtype: twilio.rest.studio.v1.flow.engagement.step.StepContext - """ - super(StepContext, self).__init__(version) - - # Path Solution - self._solution = {'flow_sid': flow_sid, 'engagement_sid': engagement_sid, 'sid': sid, } - self._uri = '/Flows/{flow_sid}/Engagements/{engagement_sid}/Steps/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a StepInstance - - :returns: Fetched StepInstance - :rtype: twilio.rest.studio.v1.flow.engagement.step.StepInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return StepInstance( - self._version, - payload, - flow_sid=self._solution['flow_sid'], - engagement_sid=self._solution['engagement_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Studio.V1.StepContext {}>'.format(context) - - -class StepInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, payload, flow_sid, engagement_sid, sid=None): - """ - Initialize the StepInstance - - :returns: twilio.rest.studio.v1.flow.engagement.step.StepInstance - :rtype: twilio.rest.studio.v1.flow.engagement.step.StepInstance - """ - super(StepInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'flow_sid': payload['flow_sid'], - 'engagement_sid': payload['engagement_sid'], - 'name': payload['name'], - 'context': payload['context'], - 'transitioned_from': payload['transitioned_from'], - 'transitioned_to': payload['transitioned_to'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'flow_sid': flow_sid, - 'engagement_sid': engagement_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: StepContext for this StepInstance - :rtype: twilio.rest.studio.v1.flow.engagement.step.StepContext - """ - if self._context is None: - self._context = StepContext( - self._version, - flow_sid=self._solution['flow_sid'], - engagement_sid=self._solution['engagement_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def flow_sid(self): - """ - :returns: The flow_sid - :rtype: unicode - """ - return self._properties['flow_sid'] - - @property - def engagement_sid(self): - """ - :returns: The engagement_sid - :rtype: unicode - """ - return self._properties['engagement_sid'] - - @property - def name(self): - """ - :returns: The name - :rtype: unicode - """ - return self._properties['name'] - - @property - def context(self): - """ - :returns: The context - :rtype: dict - """ - return self._properties['context'] - - @property - def transitioned_from(self): - """ - :returns: The transitioned_from - :rtype: unicode - """ - return self._properties['transitioned_from'] - - @property - def transitioned_to(self): - """ - :returns: The transitioned_to - :rtype: unicode - """ - return self._properties['transitioned_to'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a StepInstance - - :returns: Fetched StepInstance - :rtype: twilio.rest.studio.v1.flow.engagement.step.StepInstance - """ - return self._proxy.fetch() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Studio.V1.StepInstance {}>'.format(context) diff --git a/twilio/rest/sync/__init__.py b/twilio/rest/sync/__init__.py deleted file mode 100644 index 6576b6e..0000000 --- a/twilio/rest/sync/__init__.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.domain import Domain -from twilio.rest.sync.v1 import V1 - - -class Sync(Domain): - - def __init__(self, twilio): - """ - Initialize the Sync Domain - - :returns: Domain for Sync - :rtype: twilio.rest.sync.Sync - """ - super(Sync, self).__init__(twilio) - - self.base_url = 'https://sync.twilio.com' - - # Versions - self._v1 = None - - @property - def v1(self): - """ - :returns: Version v1 of sync - :rtype: twilio.rest.sync.v1.V1 - """ - if self._v1 is None: - self._v1 = V1(self) - return self._v1 - - @property - def services(self): - """ - :rtype: twilio.rest.sync.v1.service.ServiceList - """ - return self.v1.services - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Sync>' diff --git a/twilio/rest/sync/__pycache__/__init__.cpython-36.pyc b/twilio/rest/sync/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 083546e8bd06cea4ec7c8a0e6adc6b96510934b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1559 zcmZ`(Piy2h6qjVr*l}mJWm_l|3c59OSWkw%lp!o#cA*rup(WWsjX^k;rsLFOdnM0= zF}@|RAEW1fmR@@HwWofCp8B5caZ*SGlAisZo_@dgM=z&S@6W$}55Bbt`I|f#@J+sh zX-;5~Bp{MXmeLIi7)9Ait&JVnlzdO5Ek}1mjugAKf{`4blbKUR-o-jGJkF)!H<97L zs!ZvqRFYrqy^znj;4okjb-#PO=Eq_d&S5zgbvUnieLM$?-NHZdPdv2eaIhP5?;ik0 zX0#c<%{Nh!fy6EsG5$OZs~5~E2#N$0c(9LTMUl&$8(7MgmbCB4Ee%E>1NK%POGmnQ zByc_wn*=WKIcn_leHO>8_lP@s$7wh$B`Il5ZrL@f=`F<w)kIj5!D>qe9;|BHGvNG( zEGd&HO)AC9wc_ZRcO<;QW~o)V)tOoL8otVPYx%&U+!t!e%bO%ka$hS``UYJ2=x?y9 zzFe1OVV3iGtLu&9d~-G%H6ybvl-8K*#uXv~TtYPNRb-Ud>a?-MZZTtxZB)7n#@$(n z^N|p78W|(RALQR(-YmoSMrjlNoCNDA4__C>+o+7fcX=G8;f2~1VUZLsuC_@kU%WJF zzS^6cuyc0U5PXOL!vhMx*y}Oi`V^)?fjFPBu~kixoqw>3DQaNgj!Ag~(|iR>O|Bsc zzq$I0HZhov_8+8zRqu!J+=uxRC?t6X)yDG`M=TGFo`^J5=H+5AJDV}>!qpn9Vn+25 z%AX9&1f+)T7GJ~OF&cZ+qm|P#+AaRa1^KjG&>?cUrhuGQuZP=~`e{&*j$INf|GeAZ zC8iwC0mvyLaeE{4I8yx#jJ|<s+L|Brfj=C294r=+M4+syh6{hv`7VK1AmS^Xs7$7N zu2lgUS6LaA5c0>0{>La@Cz*QkNdF4(LljJ@hYPFe=|$HQ7}-~C3LYnkMUPm7@CT;O zP-2}1dLOK^XrrJtJRvr@+@>f`g!r(H(oWOXYU36<hlVQmZHU_tYAoPp+ILK>(iE;7 ziUMGHpx0O%Z5v{04CdTrlV=le;<SIyX5+>YLguj$!SlX{u}gi~zI_^V6nx$*?q7o4 dqOHZ&$Ni<9)Rv=r+R=IC;Jw&pHk;6i^&h;ccRBz7 diff --git a/twilio/rest/sync/v1/__init__.py b/twilio/rest/sync/v1/__init__.py deleted file mode 100644 index c1aab31..0000000 --- a/twilio/rest/sync/v1/__init__.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.sync.v1.service import ServiceList - - -class V1(Version): - - def __init__(self, domain): - """ - Initialize the V1 version of Sync - - :returns: V1 version of Sync - :rtype: twilio.rest.sync.v1.V1.V1 - """ - super(V1, self).__init__(domain) - self.version = 'v1' - self._services = None - - @property - def services(self): - """ - :rtype: twilio.rest.sync.v1.service.ServiceList - """ - if self._services is None: - self._services = ServiceList(self) - return self._services - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Sync.V1>' diff --git a/twilio/rest/sync/v1/__pycache__/__init__.cpython-36.pyc b/twilio/rest/sync/v1/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 6090386a51691627994b41a1e0223511c840d651..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1374 zcmaJ=O^?$s5Vf83W3ydAf)iXUaoHSbx8hc<5C|lM1S`-kdx#=g+1O<bX%g(Tt5&&n zC4L5H_$ypE=gNt{z=@e8EgxDK#p97Pw%?n1zQ4EUefjz^`0Nn!jr?XV#1CQE18|ZA zL{iBTI%5H&7(0nGa|4%>r$oB4b4g@Jv9%L)WcQf(y;bC$oNLSDOe%g6S^h?)%0z{d z{A}rke8dF@11HLM_ISzng&&T<?Ta!TmAu>^LB?V{JQyB$n9pHjV<Yc703$xFdZ)@* zouv@&9xJoZv3jm;5##TT0lV62Hi`rk7_kpzN|DuNKX8;Q9qC?@H3bI1;gSU155y%w z57|`gbR4tx44m;i9F~JCNI^@oW^Y+Z*A%N$65&V&-jxjYJF9hzp7Up^E_9UWmEy&@ z;-_Q2XyEf~%8!?6>}^vgMiq0D+R0T}Z5jB)6w6#qcyXZ<oehn$#n8erL#Wy*e%s>$ zwiqAzovLH!xiSVDT=j*}07!_c*TSfFgl&pweO9?vCDW=avst9Ez&k?3No1`MpU98! z@g#f=$u@kYgYzg0ALaRzsEESnSsW$diJIkMuJe0mbDhY0_id6*m-ZrTkZvXf93tRw zF%CCqhWXNT0pE2P76a0|LA!Ld3yd~7F~xN-oUtd5Vc6T?O7a$Z@UCxe)qTNk)N9ZQ zwtBR!$NwtVmSFgsp0@jrd}jJ^jX?qU)a+n9*t$K4s{W>ih^JxD@u=4@*!=s00kWtW zU|%Gyv97jvzBJiF!%K?z)M%B;WXX-np>`@Qq5{N!m1<r@@wrabKezlXAzPU3g{vEf zCyk;|lOUr9HN}6?6$0T1aTn><52e>Ot6BH^D77@2DUg~c#4MBZ1ml4a@8?m{{Hc3h z^>dSfK#Qfh2B#U+K(*KEE>=kbcWtW;cy=)fi(V@lgSy^*HrO5P)N4n6x9SNYvsj4W sX8TaiBCCe2<_#ha?p*bR+FsSYt`GZlcM~=3K5Pg*=xwfd*?<n5pHEm+1^@s6 diff --git a/twilio/rest/sync/v1/service/__init__.py b/twilio/rest/sync/v1/service/__init__.py deleted file mode 100644 index 902dc57..0000000 --- a/twilio/rest/sync/v1/service/__init__.py +++ /dev/null @@ -1,582 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.sync.v1.service.document import DocumentList -from twilio.rest.sync.v1.service.sync_list import SyncListList -from twilio.rest.sync.v1.service.sync_map import SyncMapList -from twilio.rest.sync.v1.service.sync_stream import SyncStreamList - - -class ServiceList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version): - """ - Initialize the ServiceList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.sync.v1.service.ServiceList - :rtype: twilio.rest.sync.v1.service.ServiceList - """ - super(ServiceList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Services'.format(**self._solution) - - def create(self, friendly_name=values.unset, webhook_url=values.unset, - reachability_webhooks_enabled=values.unset, - acl_enabled=values.unset): - """ - Create a new ServiceInstance - - :param unicode friendly_name: The friendly_name - :param unicode webhook_url: The webhook_url - :param bool reachability_webhooks_enabled: The reachability_webhooks_enabled - :param bool acl_enabled: The acl_enabled - - :returns: Newly created ServiceInstance - :rtype: twilio.rest.sync.v1.service.ServiceInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'WebhookUrl': webhook_url, - 'ReachabilityWebhooksEnabled': reachability_webhooks_enabled, - 'AclEnabled': acl_enabled, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return ServiceInstance(self._version, payload, ) - - def stream(self, limit=None, page_size=None): - """ - Streams ServiceInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.sync.v1.service.ServiceInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists ServiceInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.sync.v1.service.ServiceInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of ServiceInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ServiceInstance - :rtype: twilio.rest.sync.v1.service.ServicePage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ServicePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ServiceInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ServiceInstance - :rtype: twilio.rest.sync.v1.service.ServicePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ServicePage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a ServiceContext - - :param sid: The sid - - :returns: twilio.rest.sync.v1.service.ServiceContext - :rtype: twilio.rest.sync.v1.service.ServiceContext - """ - return ServiceContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a ServiceContext - - :param sid: The sid - - :returns: twilio.rest.sync.v1.service.ServiceContext - :rtype: twilio.rest.sync.v1.service.ServiceContext - """ - return ServiceContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Sync.V1.ServiceList>' - - -class ServicePage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the ServicePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.sync.v1.service.ServicePage - :rtype: twilio.rest.sync.v1.service.ServicePage - """ - super(ServicePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ServiceInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.sync.v1.service.ServiceInstance - :rtype: twilio.rest.sync.v1.service.ServiceInstance - """ - return ServiceInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Sync.V1.ServicePage>' - - -class ServiceContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, sid): - """ - Initialize the ServiceContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.sync.v1.service.ServiceContext - :rtype: twilio.rest.sync.v1.service.ServiceContext - """ - super(ServiceContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Services/{sid}'.format(**self._solution) - - # Dependents - self._documents = None - self._sync_lists = None - self._sync_maps = None - self._sync_streams = None - - def fetch(self): - """ - Fetch a ServiceInstance - - :returns: Fetched ServiceInstance - :rtype: twilio.rest.sync.v1.service.ServiceInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ServiceInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the ServiceInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, webhook_url=values.unset, friendly_name=values.unset, - reachability_webhooks_enabled=values.unset, - acl_enabled=values.unset): - """ - Update the ServiceInstance - - :param unicode webhook_url: The webhook_url - :param unicode friendly_name: The friendly_name - :param bool reachability_webhooks_enabled: The reachability_webhooks_enabled - :param bool acl_enabled: The acl_enabled - - :returns: Updated ServiceInstance - :rtype: twilio.rest.sync.v1.service.ServiceInstance - """ - data = values.of({ - 'WebhookUrl': webhook_url, - 'FriendlyName': friendly_name, - 'ReachabilityWebhooksEnabled': reachability_webhooks_enabled, - 'AclEnabled': acl_enabled, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ServiceInstance(self._version, payload, sid=self._solution['sid'], ) - - @property - def documents(self): - """ - Access the documents - - :returns: twilio.rest.sync.v1.service.document.DocumentList - :rtype: twilio.rest.sync.v1.service.document.DocumentList - """ - if self._documents is None: - self._documents = DocumentList(self._version, service_sid=self._solution['sid'], ) - return self._documents - - @property - def sync_lists(self): - """ - Access the sync_lists - - :returns: twilio.rest.sync.v1.service.sync_list.SyncListList - :rtype: twilio.rest.sync.v1.service.sync_list.SyncListList - """ - if self._sync_lists is None: - self._sync_lists = SyncListList(self._version, service_sid=self._solution['sid'], ) - return self._sync_lists - - @property - def sync_maps(self): - """ - Access the sync_maps - - :returns: twilio.rest.sync.v1.service.sync_map.SyncMapList - :rtype: twilio.rest.sync.v1.service.sync_map.SyncMapList - """ - if self._sync_maps is None: - self._sync_maps = SyncMapList(self._version, service_sid=self._solution['sid'], ) - return self._sync_maps - - @property - def sync_streams(self): - """ - Access the sync_streams - - :returns: twilio.rest.sync.v1.service.sync_stream.SyncStreamList - :rtype: twilio.rest.sync.v1.service.sync_stream.SyncStreamList - """ - if self._sync_streams is None: - self._sync_streams = SyncStreamList(self._version, service_sid=self._solution['sid'], ) - return self._sync_streams - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Sync.V1.ServiceContext {}>'.format(context) - - -class ServiceInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, payload, sid=None): - """ - Initialize the ServiceInstance - - :returns: twilio.rest.sync.v1.service.ServiceInstance - :rtype: twilio.rest.sync.v1.service.ServiceInstance - """ - super(ServiceInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'unique_name': payload['unique_name'], - 'account_sid': payload['account_sid'], - 'friendly_name': payload['friendly_name'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - 'webhook_url': payload['webhook_url'], - 'reachability_webhooks_enabled': payload['reachability_webhooks_enabled'], - 'acl_enabled': payload['acl_enabled'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ServiceContext for this ServiceInstance - :rtype: twilio.rest.sync.v1.service.ServiceContext - """ - if self._context is None: - self._context = ServiceContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def unique_name(self): - """ - :returns: The unique_name - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def webhook_url(self): - """ - :returns: The webhook_url - :rtype: unicode - """ - return self._properties['webhook_url'] - - @property - def reachability_webhooks_enabled(self): - """ - :returns: The reachability_webhooks_enabled - :rtype: bool - """ - return self._properties['reachability_webhooks_enabled'] - - @property - def acl_enabled(self): - """ - :returns: The acl_enabled - :rtype: bool - """ - return self._properties['acl_enabled'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a ServiceInstance - - :returns: Fetched ServiceInstance - :rtype: twilio.rest.sync.v1.service.ServiceInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the ServiceInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, webhook_url=values.unset, friendly_name=values.unset, - reachability_webhooks_enabled=values.unset, - acl_enabled=values.unset): - """ - Update the ServiceInstance - - :param unicode webhook_url: The webhook_url - :param unicode friendly_name: The friendly_name - :param bool reachability_webhooks_enabled: The reachability_webhooks_enabled - :param bool acl_enabled: The acl_enabled - - :returns: Updated ServiceInstance - :rtype: twilio.rest.sync.v1.service.ServiceInstance - """ - return self._proxy.update( - webhook_url=webhook_url, - friendly_name=friendly_name, - reachability_webhooks_enabled=reachability_webhooks_enabled, - acl_enabled=acl_enabled, - ) - - @property - def documents(self): - """ - Access the documents - - :returns: twilio.rest.sync.v1.service.document.DocumentList - :rtype: twilio.rest.sync.v1.service.document.DocumentList - """ - return self._proxy.documents - - @property - def sync_lists(self): - """ - Access the sync_lists - - :returns: twilio.rest.sync.v1.service.sync_list.SyncListList - :rtype: twilio.rest.sync.v1.service.sync_list.SyncListList - """ - return self._proxy.sync_lists - - @property - def sync_maps(self): - """ - Access the sync_maps - - :returns: twilio.rest.sync.v1.service.sync_map.SyncMapList - :rtype: twilio.rest.sync.v1.service.sync_map.SyncMapList - """ - return self._proxy.sync_maps - - @property - def sync_streams(self): - """ - Access the sync_streams - - :returns: twilio.rest.sync.v1.service.sync_stream.SyncStreamList - :rtype: twilio.rest.sync.v1.service.sync_stream.SyncStreamList - """ - return self._proxy.sync_streams - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Sync.V1.ServiceInstance {}>'.format(context) diff --git a/twilio/rest/sync/v1/service/__pycache__/__init__.cpython-36.pyc b/twilio/rest/sync/v1/service/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index d4c132985da5b3975235c194448bb5ee2a8d7bc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19158 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 diff --git a/twilio/rest/sync/v1/service/document/__init__.py b/twilio/rest/sync/v1/service/document/__init__.py deleted file mode 100644 index 3e1e4e5..0000000 --- a/twilio/rest/sync/v1/service/document/__init__.py +++ /dev/null @@ -1,515 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.sync.v1.service.document.document_permission import DocumentPermissionList - - -class DocumentList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid): - """ - Initialize the DocumentList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.sync.v1.service.document.DocumentList - :rtype: twilio.rest.sync.v1.service.document.DocumentList - """ - super(DocumentList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Documents'.format(**self._solution) - - def create(self, unique_name=values.unset, data=values.unset, ttl=values.unset): - """ - Create a new DocumentInstance - - :param unicode unique_name: The unique_name - :param dict data: The data - :param unicode ttl: The ttl - - :returns: Newly created DocumentInstance - :rtype: twilio.rest.sync.v1.service.document.DocumentInstance - """ - data = values.of({'UniqueName': unique_name, 'Data': serialize.object(data), 'Ttl': ttl, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return DocumentInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, limit=None, page_size=None): - """ - Streams DocumentInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.sync.v1.service.document.DocumentInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists DocumentInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.sync.v1.service.document.DocumentInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of DocumentInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of DocumentInstance - :rtype: twilio.rest.sync.v1.service.document.DocumentPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return DocumentPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of DocumentInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of DocumentInstance - :rtype: twilio.rest.sync.v1.service.document.DocumentPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return DocumentPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a DocumentContext - - :param sid: The sid - - :returns: twilio.rest.sync.v1.service.document.DocumentContext - :rtype: twilio.rest.sync.v1.service.document.DocumentContext - """ - return DocumentContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a DocumentContext - - :param sid: The sid - - :returns: twilio.rest.sync.v1.service.document.DocumentContext - :rtype: twilio.rest.sync.v1.service.document.DocumentContext - """ - return DocumentContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Sync.V1.DocumentList>' - - -class DocumentPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the DocumentPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.sync.v1.service.document.DocumentPage - :rtype: twilio.rest.sync.v1.service.document.DocumentPage - """ - super(DocumentPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of DocumentInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.sync.v1.service.document.DocumentInstance - :rtype: twilio.rest.sync.v1.service.document.DocumentInstance - """ - return DocumentInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Sync.V1.DocumentPage>' - - -class DocumentContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the DocumentContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.sync.v1.service.document.DocumentContext - :rtype: twilio.rest.sync.v1.service.document.DocumentContext - """ - super(DocumentContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Documents/{sid}'.format(**self._solution) - - # Dependents - self._document_permissions = None - - def fetch(self): - """ - Fetch a DocumentInstance - - :returns: Fetched DocumentInstance - :rtype: twilio.rest.sync.v1.service.document.DocumentInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return DocumentInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the DocumentInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, data=values.unset, ttl=values.unset): - """ - Update the DocumentInstance - - :param dict data: The data - :param unicode ttl: The ttl - - :returns: Updated DocumentInstance - :rtype: twilio.rest.sync.v1.service.document.DocumentInstance - """ - data = values.of({'Data': serialize.object(data), 'Ttl': ttl, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return DocumentInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - @property - def document_permissions(self): - """ - Access the document_permissions - - :returns: twilio.rest.sync.v1.service.document.document_permission.DocumentPermissionList - :rtype: twilio.rest.sync.v1.service.document.document_permission.DocumentPermissionList - """ - if self._document_permissions is None: - self._document_permissions = DocumentPermissionList( - self._version, - service_sid=self._solution['service_sid'], - document_sid=self._solution['sid'], - ) - return self._document_permissions - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Sync.V1.DocumentContext {}>'.format(context) - - -class DocumentInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the DocumentInstance - - :returns: twilio.rest.sync.v1.service.document.DocumentInstance - :rtype: twilio.rest.sync.v1.service.document.DocumentInstance - """ - super(DocumentInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'unique_name': payload['unique_name'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'url': payload['url'], - 'links': payload['links'], - 'revision': payload['revision'], - 'data': payload['data'], - 'date_expires': deserialize.iso8601_datetime(payload['date_expires']), - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'created_by': payload['created_by'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: DocumentContext for this DocumentInstance - :rtype: twilio.rest.sync.v1.service.document.DocumentContext - """ - if self._context is None: - self._context = DocumentContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def unique_name(self): - """ - :returns: The unique_name - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - @property - def revision(self): - """ - :returns: The revision - :rtype: unicode - """ - return self._properties['revision'] - - @property - def data(self): - """ - :returns: The data - :rtype: dict - """ - return self._properties['data'] - - @property - def date_expires(self): - """ - :returns: The date_expires - :rtype: datetime - """ - return self._properties['date_expires'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def created_by(self): - """ - :returns: The created_by - :rtype: unicode - """ - return self._properties['created_by'] - - def fetch(self): - """ - Fetch a DocumentInstance - - :returns: Fetched DocumentInstance - :rtype: twilio.rest.sync.v1.service.document.DocumentInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the DocumentInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, data=values.unset, ttl=values.unset): - """ - Update the DocumentInstance - - :param dict data: The data - :param unicode ttl: The ttl - - :returns: Updated DocumentInstance - :rtype: twilio.rest.sync.v1.service.document.DocumentInstance - """ - return self._proxy.update(data=data, ttl=ttl, ) - - @property - def document_permissions(self): - """ - Access the document_permissions - - :returns: twilio.rest.sync.v1.service.document.document_permission.DocumentPermissionList - :rtype: twilio.rest.sync.v1.service.document.document_permission.DocumentPermissionList - """ - return self._proxy.document_permissions - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Sync.V1.DocumentInstance {}>'.format(context) diff --git a/twilio/rest/sync/v1/service/document/__pycache__/__init__.cpython-36.pyc b/twilio/rest/sync/v1/service/document/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 7f4d55f43c3730ac8d37420a8074f191f3f473c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17358 zcmeHPO>7)TcAoC}<;;*A>W7jnYq!0YZH*(3s5o}Kw5+u($&L~&tw@v(6E0?(Q%$L< zndxzNk0g#MYyb+`!$LVEmjEkZ4|_=v<PhYTOOicq4gmrLK_j;y2yzJ!U{B5^-+R?v zQ=C6iKe6|3gs!gcuC99h>ec)C>QQgc&K7_APd}=^`C%&c?<wt<K^^x}!JnfLsd`En z!fY9Bvu+wxPoti$r@5X%JyXwcJ=@B*bM+k8bFF;4P%m&j-<oL`>qV{?TBUZmUgr8t zYqmXCpEFXQq(o7a9;HOdDek1}^SCaHSzOOLWn5QqJtyXIJ@4djy@2bASitpyQ^55B zao|R(da!R7SMRui)%1j8-M0hlw$pKZJ9LD#zExba&R7i#KNOAa_*}HMty7Ka+8Gq5 z8ry4Uwyo_`XVBu_+1gTVsYvZDyeNNXivI<Mq^d?#5>DXwuHAC`4lZZ(i`+fC)pG*e zp1;xwLc7y+E_$8Nc@W}OCAoFo3A~=)q_@jg-5}JiGuQ0fbbs-Z*X*^OPI%4n+inoJ zUWZyXiH78tjw`_*qT;0L2BymtMm_!g)CML^q#qUP87I4$OOB1S$cXGCqn;OsMP3w8 zD~LrgBZ{caB(3O-mL*Zf-J+NkbB|K>l9(42oXcWC9Kd;292AFep8I|(ld8{S3XVkO zgl3|&f7iNp_40)qm#vjgS1()P9XmupGt{yJnx{@^yPd#VcS76h`kv@D!$3B(ea8xV z>zhs!uXsEU%{zAIwo|ii1`gUdZR@@p-m#i?F9c(1Rx@D*os%P|;UY|h#&&AQ+%&h1 z9fKrq+jMcKkrw7=W+Szo+D!j3U1voaACa+78mUw~^_F#|<A!pgX;e%9zM^Wh+_inX zZQXKwnkDO=JTI#o{ORg@sUJU{|KTnmN%!2Q(+FI#Y^|c9c0(J_cfy|E36`z!zT0xW z8oCQ>!B(ePgXG4q)I=;lwOvHV!fY-3;a1mqo*tr-MqK}uGdCpd!I{ss`w!0~qX#S1 zT$BxZUB~x}n3t%~Xt>~RqY=$C0<Xmr8Ra%Szio$6rqT1=YC6gUPHQ8|$1L?rcoA!3 zrqN&_YBc^L^+o&Q@*1SV57vI)t>3Y|wF}+uB|Eg&u6j+owYKWCyK7yy`__8TZHc$u z4qD#ER&ak!vMxCh2iJ&$YxmBs#q_Tw99&B%t#!BjS&(o9N0392Dpt}(qklO0NRs<n z(z;2Slz!RxxQKJ`5sEOiX>1#zxtZQJcZ}_{FrK7$jE5#<F|(N!bk1#K`94lR%!GNm zyPZK<5Se2sk$p^ZnzLWk<@BQOK-F2c)p71CDNVGECOJ}4dmWe6B+j4poJPlPLlQ{b zv>U^sDO@Z@0lvzXR2y!RbQ^{(*$5SFY$dfT&i&Sw)nt;zD7DWeqUxKIUaIMO@g{%g z3O+N+kZ45d)vy(1u6=rA71ETUZ;3@qo@RWSy2$i4e9|RR&SPB!k&Oj0%1P?|3O%kQ z)1M6P&*648>o3sLlEzg37~M&OFHyd0Z?!yI_=j*y7Kf>J0>v9Rf-;I!>8P1AOe13y z(*1+UFf3(~fEA_qb_v<LcohP}Vg?a2AEt3-lAu9=%*Vz<5+^7=h*esokEKvTw020a zvi3jVo7L3b2r*6VU}Tn{!kV5h0&Bzf+N>KdT)Sey?AnRp^?WPfmuspsHqah4fK6K4 zYT11kf<RmdRDbBg+1PNKE=(UD;<D?(`mMJ}IzzX`W3}A28>(($Q$S?%jwAG;Sj+ZW zuqk9tr0~HR*iGVTEAY@GdKi#}i?-AD{H*~YHBF4=5^_7C#Z)X?H@o;Ed0|0)F@c?4 zdmT5u4fS227t>IS*>b9?J|L0R!TEL%CIxPT1B>WkQA6(H*DX*+CeQ}|hzm8#y5wxw z_)rUkcRYDlbsgI#BDV|20+ywZwZ1ZrybUL8-m&Ogd<SYF2v1x0?>HUw8Nv>Qu(++3 z)e9We_kdizM)pm_6tOczTzF?GVFc*CvO#nza)@rc;C39bN7w7U5c0*Jt-XXfWH~!k zl_c6>2%S%!1IDxk&Bq@7${yLHAnMy*5Dw;^3AKoCr!BVz7o_cWPVpP3t+Pu@OI1xa zl#2UAI-e{J@OzkbTdva*R<BEh$q`|7NI(^JiBWFBjQqh<+4e;9d`I;a%_s&}4gVWZ z2vL?ttrz(L*Q*)-Wjv{uh*1r`6+{_&9_1ucV=d;tie}tPJtv#_C+W_R@_G&T&f$>8 zabeD^m_uqy_NufNR1KTQi}ca~6d~y?7)O{t<1vgQG?HnrqnY|J(tb~+kBFNC#c;FJ za__>iibdx1nAPv#`+dvq2sv-0pRDilSARE=VhamOI;JH0vAS4yu>2EM<92SpSgk>y z0TCZ)2E`G5^~t(a7)s^*T4(U=?a~=BJ9%Y}(HKK&bd<$(=a)-kRL#LEubNSYIONlc zuBO?O89W_c_OGMS4O+n_id3b)u**}Sev~gvUNgBWyx_@Ak-qRYJ16V~lWPLcn7v^5 zz3c^N!z?>6R00FwIPE98|9jmDeHT{JvZ1Lvx8W?15+lo#kdkOfwSslWWuP9eOVdZ9 z;yiGgJ;D#%cH0py{Oi`1rt76202WD07J7G`&a!n4!>&@5LfU(-VEBPu0{BO2#SU9# z=`P5(W8)kvCTT%IP2je>@Q293Xtu~Xf(ipk6T6&Z=%tl9omgphG2U6yK24c1`kHY} z9E|!bVI=jcdVqgEqnPFwAQANfUEhGgjnbc7CJ#Nwybh{)_RIa3(1`7pv_b5HE9imV zmHu~*r8YKqJU#VN7f&0K+icDJQ|K!yzz}!64&uHcdqy_S!6BXT*#iS-e7A^Gw@ns) zG={MPBod1_8D0o2Y#IwSEE~LWGi3i8LZ8~qvN)Ue`;)}E>oi^X!(XOABOJQzgb2YA z$3bl08bE0`uU}O@ZtNvO!ec*%N&Je$$fua8nq#qua>8o^TdL=z4;AHOQvE6#N#T$x zEh-K^)qj&7?iPTkKzyLt-NwU!q%&14A|T79hl2j3ost5Q2Bqj0aS?kqP;L~3Z3Ca< zKtA37SG5*^6hfac4rVLG6~l)bUt`UqFd|oI57pXzD*rJVB(ZaeC;D8S$Y9#!Q<Mg# z1wdy$(Z}(KavgKLY)UJ02D}=chBVmw826=tndz&D`zrZ%c=&6!55i%c?LKi6_Irt# zO0K??{wb^mEC<-E)oA>g#_wT(OSWi2W$};Bbg)q;)hF0*@As8tUz5fV=6M5lx+7r8 ze5VV&0Yk=Mz&Hv1Hez~2g%e*H7FMhsHDLe5xm5{{-XL7`*4bS!=y?_}#6^VA3=11L zK(sX)KgL5TarvRup0uc%D=U0d2+kxN4RB_$(P#tBZc)A5XnfYQTk(^8qanN|UM3Jx zVocc{%udLt5Bpj^`BKuZ5qj;PrQ$cKcpF7D8zY}hho)#iIX>keHDU;f;8nT`NbMBN zj9IQM9xfg!9w-=di-m<ksZe4Fwu#5;myT-ziOQtC1l~PJ)w3ce^1%LcjQ!`~julw7 zez}l82^#(AOw`j6kc{h)KcQa+@GS=XWi+{_TiOW#KY0<FNJ@=+>-hox>#?IjCX+pm zWlP=C9a1I7v8Sj(>Mwp{fIoJ4F+G*$-_^qkPz3@nrL|>IXZ@a$tBs<3wzc&_0{bV@ z%f^>QnBMwp905;q>40W#X{-Upo;Y2T%q@0yq`^(htqpM)fC(SbrT{{H#Pf2qZmhRE zJR6LK$M`Kd?F{6qDcuE$YC`mEmN|)A1~fd2%RSPIG!lk9rTwqbq>R{ySLp7LM^q+H zC*juL(-iR(%=C{XmYpX^Z}p35C+IV#*$Gz2|EL(CnTS|Ir4fN@{4HYRJ5*4>>;E<t zyeyWfMta@<CKZa)$$H?WKtAhV;b8AmYIEpsx;tKf-@=pq>Tf5%S)gOX6a_KEd%#7x z8NXv-$CtO^>t)vRv(WN$>__|@XnEqJuH|WCH--=pQ;pl&#ob)I!Fxql02B0o;tvm2 z-3v1TQ&qXr!oMg!K0qVdlx07&|Hhu1z}Osi#lsau@@yg4Emao6pQoNUoIgyC5~n{j zuptrWKLju=?69#3QNt#yWw-T+(3cF@N|kiksHFQx69pAd?!bsZAoxcf1OZeRaRld3 z5IE(gur<qO1fUe1GctBV6fZ$3-mc|cG=Nj_7HtNrCD(tV#OGt)TNwm(N*}8h%gQ`( zTSV0fxvH%aju&GAIAS&!0U6ApKA$6aOO)k3BAy~?GT5-k@E}1c{uq<t6DR+hSV}XL z$`=)iLK~Z=QP4Kfld0ixcG(S@8=e=E4~eMoY{0(*ug(7V6elk^EhnUnGi>FI@KCiH z@O#zoIhMNtIE>yy;z_gVI3hT0eQdXoZQ`LH|Gum3dnLi~y63f2e*hi$eFR%<M?V0W z%qWQGm?*=i=SZAV0fx%=NmwAeQ#&Q(2r1e89bAxXatZ;`T4=ZA33f|ZP6sIjNY+9M zK{`$$pgmwtA>eZsJHfffB&YfQf2yyz*~Ml!XV^?*om5UQFe5+?`~NQT5N-;Ie9GVO zkD|cb(2o2B@t0`;5^f~%^N&+Ovm51l%&6g&5bG!I)1t=Xmcw~Gn5CKL<xpH4T@E9% zAV=G^9u&4jVIr*uVcaeFrzqJ8JN?+(7bZ|9I%9udWFAul#O*NS+5XSej9-AXBOQwt z%Q%($%>L_`&Qu6~O{sLkZxkuXy4qLh@eKX1jLb8#*%C8D@KnZspC)aF3SPvl-o~!q z=#Y9-Gf=P7v~uD`flxxEZ5Y@AJ$We}L@n)PQ0-MUx#UhOWp@%6!ocKGG9OJJVC0?D zC72{y>>`5{4%B!`ze2F(3&T?66X~R@0y-$H*iL<Cam{>)^d<o*rJda!^A_Nu&!Dqd zb7wz)_`&D!2@JOXzzEISQe@nXjC%u*n1PKiX3h~3{h;fg{~*zvnN<HbhS{5-GqrOq zN&ySb*VKFcS0}+j@!VLSKRjQ}M43&`?J!mrWnH8b1d=w1n??DiOz9k=k6rn9i878_ z^Di0We2zFQn426HkiBI4Ah$c-qf1g6Q2~2O5Sehx{}$cbD{>(3>R)gKB*q*$94agp zW)2)HSJ;tn;<oxR$+!xBhC+`YM3u8iks<VGhO$Wo(4R*Tz&f%@Ifs<$dDJP3l<Ec4 zDR-3W$SIZiqo@~A=NwYhOQ>@mDe7g^IhPdmS=0}UMSgb<^&{da*XL0`CSKxt1@+_N zWv(xvenNbW>j%Wwg#}dVpm;@m1Ls4|;mt)l5Z$~gP9nNFg4VBz*SYmk@rF2sR>wHH zc?pvECc89WYIL*GBsESyI+G(z%P05~6r<q{ZyT7b)}alc+)Z*eQNom?%yF6LvT!UF zrs1fXVg_klMqDpy^%B+bybR+o`=kuxkQH+jBmpYRbpHsNCd<iU^G_(C%8NNLsM7yC zrK=~zP0CkQ4F`VKzSMfMmQ_bD*y-ing|CCZQORyLJ*1RTvMn2iD2)v-N|Nc^4QNa7 zo=fSxGG(t!ZcziO#|3Z~$*VYlF}{)}T13V8c4K|3TIR6Gr{Vl7RB+7lyHxu<Dy~w& z&ce5;wnD|HR9r&=U|F+Q1sO0gPQw8cnTe?42Htz`E}d-<d7+E^#!@5J5iaN~G!jL{ zhD;_T`W!vILc{D4LR}_RMkA*3l}ygq{jY4$zd76=AV0~ZjYd}JX|Nks!vzHFsXP|@ zEV@ua6{lA@yO6v1Th;!g8$)`ulkRZ7IkNC+W4~#4ZOSL~HdKeus+4(*)B)?B?YmwN zS%XbVQVfu<b^&>BNoUDzPAUYeAGnCrkZ7X~G0tU5#5%DuGEWe+Bo7kSDT<!T8A^JI zyH}lzdOUJNDC6J291QOYjdyf%BvB8x)=3!HwVBaen<L4{3H>$MTDb!>@g%AjaRjt6 zAt(MA@<kA|y{{-8sEJif7M7&;L}seT*~RL<{1U^zj!q}UShUy!qMISgT>sDrwHRoh zq+V15?<Q5t?$ugMAel4)Xq`ebwfI~k`Q;IkwE>@#bWH*7O*-kX>7-MOovEa213o9| z8i=+x>7?eSlTIyuFqL#|z<rWFNw#5R_9mHZ#B`FW#h+><kIFU%+9#<WXapsHT0+Z^ zO`-N|f>e_&n@%jX_@PFu3UHO$;Gy<O?uQylI=P9-)*erwm<;c9imAnqHHy{lhN3tb zZJ$JcQ=>{Jn*R7edn5@aXhq#*4`DjB<U{<WMy=YfSJcul`=s=;8hN*-(_J8~NlbC< zfT#yPxir(MrWSvrQGH@W*XcvP2<l_sOc9wFSsI7jC-s1RvFX&4xAwPtQy&lcBB+mD zOhx2m>dA?mPCd2w$==k*L++FMk2KPB86UXBT7wBolU(2Fq*IHZYNQ_@5u3qyy9mcS zyZw+&V~6|@<L4WwM;x#U${9unXU2iagc$s@VoAO~s$WL|^~v1$s-g7cg9##^@WJ%x z-?R@N^+Si?^8}V+KeU3k$qya;p#giNzd|s$LZ}m76TXz>d8>!R_!c$#55@Ijf0XNE zfNCXYlszfA&TH;h5`s?H{Vihm__a)r{zoyn(0^@2y@_8k_}KptpR6=>vQnQNK=v=7 zKmQ{tXt@td@g>|d5fO4!2>kf;2!p2q$R{TO$cd{Z5oG@|jZCnM|1lNwC@}e~yg#8E zwD}_o&hj8E_kU^D6?8o6aVBI{jg{*0$?!344oZtb@$WODPi$?*fzbPdo(VO&K%YaK z!UR3fohUDq3*-M4W&lc;%SFatSE>g&L#AGe@xpZ*u@?pK{I|FaiPvA&p4HqK=TTr6 zVX5^KW19fI<NtWUr>)fbF})4_nF<m=<L7yLUeTX-kq;#QKH<IiHX2X)v->ftRPHPh u3L<mkmZ(Oo(xidqf<z)JoRev!=ZThp{^$XjoQ%4uGF|yz>UgDEx%+<(?_*Q| diff --git a/twilio/rest/sync/v1/service/document/__pycache__/document_permission.cpython-36.pyc b/twilio/rest/sync/v1/service/document/__pycache__/document_permission.cpython-36.pyc deleted file mode 100644 index 6d2f601d341f53d79f22bddba1350d399ab1247e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16841 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 Sshytu6_)-~JGr#HwDG^2meCXd diff --git a/twilio/rest/sync/v1/service/document/document_permission.py b/twilio/rest/sync/v1/service/document/document_permission.py deleted file mode 100644 index 196d0e8..0000000 --- a/twilio/rest/sync/v1/service/document/document_permission.py +++ /dev/null @@ -1,453 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class DocumentPermissionList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, document_sid): - """ - Initialize the DocumentPermissionList - - :param Version version: Version that contains the resource - :param service_sid: Sync Service Instance SID. - :param document_sid: Sync Document SID. - - :returns: twilio.rest.sync.v1.service.document.document_permission.DocumentPermissionList - :rtype: twilio.rest.sync.v1.service.document.document_permission.DocumentPermissionList - """ - super(DocumentPermissionList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'document_sid': document_sid, } - self._uri = '/Services/{service_sid}/Documents/{document_sid}/Permissions'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams DocumentPermissionInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.sync.v1.service.document.document_permission.DocumentPermissionInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists DocumentPermissionInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.sync.v1.service.document.document_permission.DocumentPermissionInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of DocumentPermissionInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of DocumentPermissionInstance - :rtype: twilio.rest.sync.v1.service.document.document_permission.DocumentPermissionPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return DocumentPermissionPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of DocumentPermissionInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of DocumentPermissionInstance - :rtype: twilio.rest.sync.v1.service.document.document_permission.DocumentPermissionPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return DocumentPermissionPage(self._version, response, self._solution) - - def get(self, identity): - """ - Constructs a DocumentPermissionContext - - :param identity: Identity of the user to whom the Sync Document Permission applies. - - :returns: twilio.rest.sync.v1.service.document.document_permission.DocumentPermissionContext - :rtype: twilio.rest.sync.v1.service.document.document_permission.DocumentPermissionContext - """ - return DocumentPermissionContext( - self._version, - service_sid=self._solution['service_sid'], - document_sid=self._solution['document_sid'], - identity=identity, - ) - - def __call__(self, identity): - """ - Constructs a DocumentPermissionContext - - :param identity: Identity of the user to whom the Sync Document Permission applies. - - :returns: twilio.rest.sync.v1.service.document.document_permission.DocumentPermissionContext - :rtype: twilio.rest.sync.v1.service.document.document_permission.DocumentPermissionContext - """ - return DocumentPermissionContext( - self._version, - service_sid=self._solution['service_sid'], - document_sid=self._solution['document_sid'], - identity=identity, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Sync.V1.DocumentPermissionList>' - - -class DocumentPermissionPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the DocumentPermissionPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: Sync Service Instance SID. - :param document_sid: Sync Document SID. - - :returns: twilio.rest.sync.v1.service.document.document_permission.DocumentPermissionPage - :rtype: twilio.rest.sync.v1.service.document.document_permission.DocumentPermissionPage - """ - super(DocumentPermissionPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of DocumentPermissionInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.sync.v1.service.document.document_permission.DocumentPermissionInstance - :rtype: twilio.rest.sync.v1.service.document.document_permission.DocumentPermissionInstance - """ - return DocumentPermissionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - document_sid=self._solution['document_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Sync.V1.DocumentPermissionPage>' - - -class DocumentPermissionContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, document_sid, identity): - """ - Initialize the DocumentPermissionContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param document_sid: Sync Document SID or unique name. - :param identity: Identity of the user to whom the Sync Document Permission applies. - - :returns: twilio.rest.sync.v1.service.document.document_permission.DocumentPermissionContext - :rtype: twilio.rest.sync.v1.service.document.document_permission.DocumentPermissionContext - """ - super(DocumentPermissionContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'document_sid': document_sid, 'identity': identity, } - self._uri = '/Services/{service_sid}/Documents/{document_sid}/Permissions/{identity}'.format(**self._solution) - - def fetch(self): - """ - Fetch a DocumentPermissionInstance - - :returns: Fetched DocumentPermissionInstance - :rtype: twilio.rest.sync.v1.service.document.document_permission.DocumentPermissionInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return DocumentPermissionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - document_sid=self._solution['document_sid'], - identity=self._solution['identity'], - ) - - def delete(self): - """ - Deletes the DocumentPermissionInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, read, write, manage): - """ - Update the DocumentPermissionInstance - - :param bool read: Read access. - :param bool write: Write access. - :param bool manage: Manage access. - - :returns: Updated DocumentPermissionInstance - :rtype: twilio.rest.sync.v1.service.document.document_permission.DocumentPermissionInstance - """ - data = values.of({'Read': read, 'Write': write, 'Manage': manage, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return DocumentPermissionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - document_sid=self._solution['document_sid'], - identity=self._solution['identity'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Sync.V1.DocumentPermissionContext {}>'.format(context) - - -class DocumentPermissionInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, payload, service_sid, document_sid, identity=None): - """ - Initialize the DocumentPermissionInstance - - :returns: twilio.rest.sync.v1.service.document.document_permission.DocumentPermissionInstance - :rtype: twilio.rest.sync.v1.service.document.document_permission.DocumentPermissionInstance - """ - super(DocumentPermissionInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'document_sid': payload['document_sid'], - 'identity': payload['identity'], - 'read': payload['read'], - 'write': payload['write'], - 'manage': payload['manage'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'document_sid': document_sid, - 'identity': identity or self._properties['identity'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: DocumentPermissionContext for this DocumentPermissionInstance - :rtype: twilio.rest.sync.v1.service.document.document_permission.DocumentPermissionContext - """ - if self._context is None: - self._context = DocumentPermissionContext( - self._version, - service_sid=self._solution['service_sid'], - document_sid=self._solution['document_sid'], - identity=self._solution['identity'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: Twilio Account SID. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: Sync Service Instance SID. - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def document_sid(self): - """ - :returns: Sync Document SID. - :rtype: unicode - """ - return self._properties['document_sid'] - - @property - def identity(self): - """ - :returns: Identity of the user to whom the Sync Document Permission applies. - :rtype: unicode - """ - return self._properties['identity'] - - @property - def read(self): - """ - :returns: Read access. - :rtype: bool - """ - return self._properties['read'] - - @property - def write(self): - """ - :returns: Write access. - :rtype: bool - """ - return self._properties['write'] - - @property - def manage(self): - """ - :returns: Manage access. - :rtype: bool - """ - return self._properties['manage'] - - @property - def url(self): - """ - :returns: URL of this Sync Document Permission. - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a DocumentPermissionInstance - - :returns: Fetched DocumentPermissionInstance - :rtype: twilio.rest.sync.v1.service.document.document_permission.DocumentPermissionInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the DocumentPermissionInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, read, write, manage): - """ - Update the DocumentPermissionInstance - - :param bool read: Read access. - :param bool write: Write access. - :param bool manage: Manage access. - - :returns: Updated DocumentPermissionInstance - :rtype: twilio.rest.sync.v1.service.document.document_permission.DocumentPermissionInstance - """ - return self._proxy.update(read, write, manage, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Sync.V1.DocumentPermissionInstance {}>'.format(context) diff --git a/twilio/rest/sync/v1/service/sync_list/__init__.py b/twilio/rest/sync/v1/service/sync_list/__init__.py deleted file mode 100644 index 8e507d6..0000000 --- a/twilio/rest/sync/v1/service/sync_list/__init__.py +++ /dev/null @@ -1,530 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.sync.v1.service.sync_list.sync_list_item import SyncListItemList -from twilio.rest.sync.v1.service.sync_list.sync_list_permission import SyncListPermissionList - - -class SyncListList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid): - """ - Initialize the SyncListList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.sync.v1.service.sync_list.SyncListList - :rtype: twilio.rest.sync.v1.service.sync_list.SyncListList - """ - super(SyncListList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Lists'.format(**self._solution) - - def create(self, unique_name=values.unset, ttl=values.unset): - """ - Create a new SyncListInstance - - :param unicode unique_name: The unique_name - :param unicode ttl: The ttl - - :returns: Newly created SyncListInstance - :rtype: twilio.rest.sync.v1.service.sync_list.SyncListInstance - """ - data = values.of({'UniqueName': unique_name, 'Ttl': ttl, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return SyncListInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, limit=None, page_size=None): - """ - Streams SyncListInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.sync.v1.service.sync_list.SyncListInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists SyncListInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.sync.v1.service.sync_list.SyncListInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of SyncListInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of SyncListInstance - :rtype: twilio.rest.sync.v1.service.sync_list.SyncListPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return SyncListPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of SyncListInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of SyncListInstance - :rtype: twilio.rest.sync.v1.service.sync_list.SyncListPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return SyncListPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a SyncListContext - - :param sid: The sid - - :returns: twilio.rest.sync.v1.service.sync_list.SyncListContext - :rtype: twilio.rest.sync.v1.service.sync_list.SyncListContext - """ - return SyncListContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a SyncListContext - - :param sid: The sid - - :returns: twilio.rest.sync.v1.service.sync_list.SyncListContext - :rtype: twilio.rest.sync.v1.service.sync_list.SyncListContext - """ - return SyncListContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Sync.V1.SyncListList>' - - -class SyncListPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the SyncListPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.sync.v1.service.sync_list.SyncListPage - :rtype: twilio.rest.sync.v1.service.sync_list.SyncListPage - """ - super(SyncListPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of SyncListInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.sync.v1.service.sync_list.SyncListInstance - :rtype: twilio.rest.sync.v1.service.sync_list.SyncListInstance - """ - return SyncListInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Sync.V1.SyncListPage>' - - -class SyncListContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the SyncListContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.sync.v1.service.sync_list.SyncListContext - :rtype: twilio.rest.sync.v1.service.sync_list.SyncListContext - """ - super(SyncListContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Lists/{sid}'.format(**self._solution) - - # Dependents - self._sync_list_items = None - self._sync_list_permissions = None - - def fetch(self): - """ - Fetch a SyncListInstance - - :returns: Fetched SyncListInstance - :rtype: twilio.rest.sync.v1.service.sync_list.SyncListInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return SyncListInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the SyncListInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, ttl=values.unset): - """ - Update the SyncListInstance - - :param unicode ttl: The ttl - - :returns: Updated SyncListInstance - :rtype: twilio.rest.sync.v1.service.sync_list.SyncListInstance - """ - data = values.of({'Ttl': ttl, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return SyncListInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - @property - def sync_list_items(self): - """ - Access the sync_list_items - - :returns: twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemList - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemList - """ - if self._sync_list_items is None: - self._sync_list_items = SyncListItemList( - self._version, - service_sid=self._solution['service_sid'], - list_sid=self._solution['sid'], - ) - return self._sync_list_items - - @property - def sync_list_permissions(self): - """ - Access the sync_list_permissions - - :returns: twilio.rest.sync.v1.service.sync_list.sync_list_permission.SyncListPermissionList - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_permission.SyncListPermissionList - """ - if self._sync_list_permissions is None: - self._sync_list_permissions = SyncListPermissionList( - self._version, - service_sid=self._solution['service_sid'], - list_sid=self._solution['sid'], - ) - return self._sync_list_permissions - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Sync.V1.SyncListContext {}>'.format(context) - - -class SyncListInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the SyncListInstance - - :returns: twilio.rest.sync.v1.service.sync_list.SyncListInstance - :rtype: twilio.rest.sync.v1.service.sync_list.SyncListInstance - """ - super(SyncListInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'unique_name': payload['unique_name'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'url': payload['url'], - 'links': payload['links'], - 'revision': payload['revision'], - 'date_expires': deserialize.iso8601_datetime(payload['date_expires']), - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'created_by': payload['created_by'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: SyncListContext for this SyncListInstance - :rtype: twilio.rest.sync.v1.service.sync_list.SyncListContext - """ - if self._context is None: - self._context = SyncListContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def unique_name(self): - """ - :returns: The unique_name - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - @property - def revision(self): - """ - :returns: The revision - :rtype: unicode - """ - return self._properties['revision'] - - @property - def date_expires(self): - """ - :returns: The date_expires - :rtype: datetime - """ - return self._properties['date_expires'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def created_by(self): - """ - :returns: The created_by - :rtype: unicode - """ - return self._properties['created_by'] - - def fetch(self): - """ - Fetch a SyncListInstance - - :returns: Fetched SyncListInstance - :rtype: twilio.rest.sync.v1.service.sync_list.SyncListInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the SyncListInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, ttl=values.unset): - """ - Update the SyncListInstance - - :param unicode ttl: The ttl - - :returns: Updated SyncListInstance - :rtype: twilio.rest.sync.v1.service.sync_list.SyncListInstance - """ - return self._proxy.update(ttl=ttl, ) - - @property - def sync_list_items(self): - """ - Access the sync_list_items - - :returns: twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemList - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemList - """ - return self._proxy.sync_list_items - - @property - def sync_list_permissions(self): - """ - Access the sync_list_permissions - - :returns: twilio.rest.sync.v1.service.sync_list.sync_list_permission.SyncListPermissionList - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_permission.SyncListPermissionList - """ - return self._proxy.sync_list_permissions - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Sync.V1.SyncListInstance {}>'.format(context) diff --git a/twilio/rest/sync/v1/service/sync_list/__pycache__/__init__.cpython-36.pyc b/twilio/rest/sync/v1/service/sync_list/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 94bbca5b4574aca55344260db780a6dcf9776f35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17898 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⪻#F!L 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 AzyJUM diff --git a/twilio/rest/sync/v1/service/sync_list/__pycache__/sync_list_item.cpython-36.pyc b/twilio/rest/sync/v1/service/sync_list/__pycache__/sync_list_item.cpython-36.pyc deleted file mode 100644 index c1b38ecd3c9c96085d31c46ae35e843929d41aac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18362 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௝>k44nK3Tl!%3DpCxqo>WtREiC0*Q8gt8}@&&jx96FH<_*jxdo z8{c9%nTt1;o$RH{H<mTgRk$v$PNoK~rNUf9vS&a$s4)RL2-z>sCYw$n`3#cM0-ciI zX}0>IzlExIFR4zML+Q%O^3|I+uH3rplrH}`sZO2FQJ&7&C?AbY=npWVQI;y5^^nq# zB@6!y#pJFk${@R$!!Vo)O=mw)6D}#+*&;-W5<VMc;go^)In;{CTQ!q<NvoHsj^}gm z@s$U2h#2O@A(RC~50PKh`y(I#nGZY9`#7i*MD_6CKNParXVaDn$P*u}q3vxv=Qf+j z8s!k<$j`?aoPE+!@s>|Np^(YU6~aXgI13-)&RAY0dEUvD^t&Q1C$}5x+qF4H+`&~0 zHtIikk1kiJV1V&H)d<`LA5d`}#mb%?TCF5ES{zN{jTSlfxPW9d569wh)epPhdt>oj zgXoO>winMekl29C(8veD#YXB|7|JKPFT5+WY0!xs!PKppAR(vLMxmOmn0f7A#iW1p z*}O%k=7X^~RVp%jcWtES>LipL5FveGeq0O|>Bln2-bSW2pM}ylX#{;kCq(W(&e0p( z9<rNv$vZ0XP4YOsv4~|deRY2AC!tKr-thQWK=`E;<-j!Eo=f@G-3`?t7Lk6UflM2F z%MJW)A6eB+O5zTY7<&;3wrOYSZBDwz>fiIR14K@nHpDc=(M?&37i3a0=+PghOQ|SJ zHzto9r%r}d9j{DE#Gd21Y;X%4n>?eNei)S}QM|YP83_={pHZUYa%B7CU)35sGi{D_ z`HljDBrGKI%lL3yR0_)}gF)Y0igIn62gb@1@5%jkl6kJ)N#hYW(f5qq8`+DW5&cAi zkspWNDPQV5+yO~mR>O~ztl1>3h5VV*9>U48fZ}}!rxt&%5k6I*>e`@>NWK<(dpP-I zcJ?QqTKvUB$=3!wAo&+G;?kd{twLbZ6DRHQjHQ=9$=Yw}sRf<Vr7|<!ET$tKknkU9 zl<9=SXK7Dn&`h3Z|MjL8f1}a-^i<u%U<V|3);g!&_2D#=quifnYVmg(&C}O89r1vK ze_x|aUuXImmG($3G=)LbP4?>hQ%rvUA2f=`!eYvr&`<}Y_Ocp%+?eR7MQf5!oj?Wk zARs8RKjqZomm1|SOqCCP*vB!01X3wNQ@=;!5ZF-<7)R|t143H=a<CaB!#<7~B<N5P zI(r5L0{5Q*wfNVA%^(@}fHQboBTtw45u()^%rG$oU-u`UTKt<v{_|5sXf);+@px|> z0&JSQ1Odz^H&&0x<Bu?_fMPRPIX*9$2nN!l|5Qs>n1Md_#?fc5*4H6|o=%)1=QAcw zkN#Vm_;jc^5jCfsHU*&=DppY;s3^1V@#`W!LHH)>Eio}zz<W>%L#OPxK=tIXM?KUc zA$&|ujR=oRY*U_r;h+3ibZ`;#R2C?etS=vp4&Fw80ZC?XiHZqD$Nz(397~rK!RW=Q zwsF5`^qKvl(J8c$;ppHUqJTDJ!Mjw@sV#(n4bTti#sqP+MXwNX9O0!n^mL?^l2<cV zYR^u@3S~M5ACXYpFQ8Z%XJ^F4BwVpAts!l=zIfn-jp&yOa8qFA$7E?Je~|**)oe98 zZ&!|1iqrlTO9*~fIKI15JHoSa=8|prx{Lh?*2&;s({q}n^Q`s^+eDd1rGhe)dEq=a zwF$ya{6Dq?6e)2|>1}xDpq|q?p;OhL_mEb@zrElzNtty<aeR5EJ7O-^NUP)Gn=<k9 aJaxvug+T5l$99r3Q~g8Zt?EMc!~X+4va|F6 diff --git a/twilio/rest/sync/v1/service/sync_list/__pycache__/sync_list_permission.cpython-36.pyc b/twilio/rest/sync/v1/service/sync_list/__pycache__/sync_list_permission.cpython-36.pyc deleted file mode 100644 index b35cf1c4d04985a47c3b3d17b151d592e83c2cb6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16817 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 AumAu6 diff --git a/twilio/rest/sync/v1/service/sync_list/sync_list_item.py b/twilio/rest/sync/v1/service/sync_list/sync_list_item.py deleted file mode 100644 index 639eac5..0000000 --- a/twilio/rest/sync/v1/service/sync_list/sync_list_item.py +++ /dev/null @@ -1,532 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class SyncListItemList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, list_sid): - """ - Initialize the SyncListItemList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param list_sid: The list_sid - - :returns: twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemList - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemList - """ - super(SyncListItemList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'list_sid': list_sid, } - self._uri = '/Services/{service_sid}/Lists/{list_sid}/Items'.format(**self._solution) - - def create(self, data, ttl=values.unset): - """ - Create a new SyncListItemInstance - - :param dict data: The data - :param unicode ttl: The ttl - - :returns: Newly created SyncListItemInstance - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemInstance - """ - data = values.of({'Data': serialize.object(data), 'Ttl': ttl, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return SyncListItemInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - list_sid=self._solution['list_sid'], - ) - - def stream(self, order=values.unset, from_=values.unset, bounds=values.unset, - limit=None, page_size=None): - """ - Streams SyncListItemInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param SyncListItemInstance.QueryResultOrder order: The order - :param unicode from_: The from - :param SyncListItemInstance.QueryFromBoundType bounds: The bounds - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(order=order, from_=from_, bounds=bounds, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, order=values.unset, from_=values.unset, bounds=values.unset, - limit=None, page_size=None): - """ - Lists SyncListItemInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param SyncListItemInstance.QueryResultOrder order: The order - :param unicode from_: The from - :param SyncListItemInstance.QueryFromBoundType bounds: The bounds - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemInstance] - """ - return list(self.stream(order=order, from_=from_, bounds=bounds, limit=limit, page_size=page_size, )) - - def page(self, order=values.unset, from_=values.unset, bounds=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of SyncListItemInstance records from the API. - Request is executed immediately - - :param SyncListItemInstance.QueryResultOrder order: The order - :param unicode from_: The from - :param SyncListItemInstance.QueryFromBoundType bounds: The bounds - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of SyncListItemInstance - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemPage - """ - params = values.of({ - 'Order': order, - 'From': from_, - 'Bounds': bounds, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return SyncListItemPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of SyncListItemInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of SyncListItemInstance - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return SyncListItemPage(self._version, response, self._solution) - - def get(self, index): - """ - Constructs a SyncListItemContext - - :param index: The index - - :returns: twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemContext - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemContext - """ - return SyncListItemContext( - self._version, - service_sid=self._solution['service_sid'], - list_sid=self._solution['list_sid'], - index=index, - ) - - def __call__(self, index): - """ - Constructs a SyncListItemContext - - :param index: The index - - :returns: twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemContext - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemContext - """ - return SyncListItemContext( - self._version, - service_sid=self._solution['service_sid'], - list_sid=self._solution['list_sid'], - index=index, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Sync.V1.SyncListItemList>' - - -class SyncListItemPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the SyncListItemPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - :param list_sid: The list_sid - - :returns: twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemPage - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemPage - """ - super(SyncListItemPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of SyncListItemInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemInstance - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemInstance - """ - return SyncListItemInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - list_sid=self._solution['list_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Sync.V1.SyncListItemPage>' - - -class SyncListItemContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, list_sid, index): - """ - Initialize the SyncListItemContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param list_sid: The list_sid - :param index: The index - - :returns: twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemContext - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemContext - """ - super(SyncListItemContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'list_sid': list_sid, 'index': index, } - self._uri = '/Services/{service_sid}/Lists/{list_sid}/Items/{index}'.format(**self._solution) - - def fetch(self): - """ - Fetch a SyncListItemInstance - - :returns: Fetched SyncListItemInstance - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return SyncListItemInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - list_sid=self._solution['list_sid'], - index=self._solution['index'], - ) - - def delete(self): - """ - Deletes the SyncListItemInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, data=values.unset, ttl=values.unset): - """ - Update the SyncListItemInstance - - :param dict data: The data - :param unicode ttl: The ttl - - :returns: Updated SyncListItemInstance - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemInstance - """ - data = values.of({'Data': serialize.object(data), 'Ttl': ttl, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return SyncListItemInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - list_sid=self._solution['list_sid'], - index=self._solution['index'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Sync.V1.SyncListItemContext {}>'.format(context) - - -class SyncListItemInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - class QueryResultOrder(object): - ASC = "asc" - DESC = "desc" - - class QueryFromBoundType(object): - INCLUSIVE = "inclusive" - EXCLUSIVE = "exclusive" - - def __init__(self, version, payload, service_sid, list_sid, index=None): - """ - Initialize the SyncListItemInstance - - :returns: twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemInstance - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemInstance - """ - super(SyncListItemInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'index': deserialize.integer(payload['index']), - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'list_sid': payload['list_sid'], - 'url': payload['url'], - 'revision': payload['revision'], - 'data': payload['data'], - 'date_expires': deserialize.iso8601_datetime(payload['date_expires']), - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'created_by': payload['created_by'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'list_sid': list_sid, - 'index': index or self._properties['index'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: SyncListItemContext for this SyncListItemInstance - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemContext - """ - if self._context is None: - self._context = SyncListItemContext( - self._version, - service_sid=self._solution['service_sid'], - list_sid=self._solution['list_sid'], - index=self._solution['index'], - ) - return self._context - - @property - def index(self): - """ - :returns: The index - :rtype: unicode - """ - return self._properties['index'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def list_sid(self): - """ - :returns: The list_sid - :rtype: unicode - """ - return self._properties['list_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def revision(self): - """ - :returns: The revision - :rtype: unicode - """ - return self._properties['revision'] - - @property - def data(self): - """ - :returns: The data - :rtype: dict - """ - return self._properties['data'] - - @property - def date_expires(self): - """ - :returns: The date_expires - :rtype: datetime - """ - return self._properties['date_expires'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def created_by(self): - """ - :returns: The created_by - :rtype: unicode - """ - return self._properties['created_by'] - - def fetch(self): - """ - Fetch a SyncListItemInstance - - :returns: Fetched SyncListItemInstance - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the SyncListItemInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, data=values.unset, ttl=values.unset): - """ - Update the SyncListItemInstance - - :param dict data: The data - :param unicode ttl: The ttl - - :returns: Updated SyncListItemInstance - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_item.SyncListItemInstance - """ - return self._proxy.update(data=data, ttl=ttl, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Sync.V1.SyncListItemInstance {}>'.format(context) diff --git a/twilio/rest/sync/v1/service/sync_list/sync_list_permission.py b/twilio/rest/sync/v1/service/sync_list/sync_list_permission.py deleted file mode 100644 index b09e379..0000000 --- a/twilio/rest/sync/v1/service/sync_list/sync_list_permission.py +++ /dev/null @@ -1,453 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class SyncListPermissionList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, list_sid): - """ - Initialize the SyncListPermissionList - - :param Version version: Version that contains the resource - :param service_sid: Sync Service Instance SID. - :param list_sid: Sync List SID. - - :returns: twilio.rest.sync.v1.service.sync_list.sync_list_permission.SyncListPermissionList - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_permission.SyncListPermissionList - """ - super(SyncListPermissionList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'list_sid': list_sid, } - self._uri = '/Services/{service_sid}/Lists/{list_sid}/Permissions'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams SyncListPermissionInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.sync.v1.service.sync_list.sync_list_permission.SyncListPermissionInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists SyncListPermissionInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.sync.v1.service.sync_list.sync_list_permission.SyncListPermissionInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of SyncListPermissionInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of SyncListPermissionInstance - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_permission.SyncListPermissionPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return SyncListPermissionPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of SyncListPermissionInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of SyncListPermissionInstance - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_permission.SyncListPermissionPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return SyncListPermissionPage(self._version, response, self._solution) - - def get(self, identity): - """ - Constructs a SyncListPermissionContext - - :param identity: Identity of the user to whom the Sync List Permission applies. - - :returns: twilio.rest.sync.v1.service.sync_list.sync_list_permission.SyncListPermissionContext - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_permission.SyncListPermissionContext - """ - return SyncListPermissionContext( - self._version, - service_sid=self._solution['service_sid'], - list_sid=self._solution['list_sid'], - identity=identity, - ) - - def __call__(self, identity): - """ - Constructs a SyncListPermissionContext - - :param identity: Identity of the user to whom the Sync List Permission applies. - - :returns: twilio.rest.sync.v1.service.sync_list.sync_list_permission.SyncListPermissionContext - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_permission.SyncListPermissionContext - """ - return SyncListPermissionContext( - self._version, - service_sid=self._solution['service_sid'], - list_sid=self._solution['list_sid'], - identity=identity, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Sync.V1.SyncListPermissionList>' - - -class SyncListPermissionPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the SyncListPermissionPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: Sync Service Instance SID. - :param list_sid: Sync List SID. - - :returns: twilio.rest.sync.v1.service.sync_list.sync_list_permission.SyncListPermissionPage - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_permission.SyncListPermissionPage - """ - super(SyncListPermissionPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of SyncListPermissionInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.sync.v1.service.sync_list.sync_list_permission.SyncListPermissionInstance - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_permission.SyncListPermissionInstance - """ - return SyncListPermissionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - list_sid=self._solution['list_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Sync.V1.SyncListPermissionPage>' - - -class SyncListPermissionContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, list_sid, identity): - """ - Initialize the SyncListPermissionContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param list_sid: Sync List SID or unique name. - :param identity: Identity of the user to whom the Sync List Permission applies. - - :returns: twilio.rest.sync.v1.service.sync_list.sync_list_permission.SyncListPermissionContext - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_permission.SyncListPermissionContext - """ - super(SyncListPermissionContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'list_sid': list_sid, 'identity': identity, } - self._uri = '/Services/{service_sid}/Lists/{list_sid}/Permissions/{identity}'.format(**self._solution) - - def fetch(self): - """ - Fetch a SyncListPermissionInstance - - :returns: Fetched SyncListPermissionInstance - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_permission.SyncListPermissionInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return SyncListPermissionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - list_sid=self._solution['list_sid'], - identity=self._solution['identity'], - ) - - def delete(self): - """ - Deletes the SyncListPermissionInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, read, write, manage): - """ - Update the SyncListPermissionInstance - - :param bool read: Read access. - :param bool write: Write access. - :param bool manage: Manage access. - - :returns: Updated SyncListPermissionInstance - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_permission.SyncListPermissionInstance - """ - data = values.of({'Read': read, 'Write': write, 'Manage': manage, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return SyncListPermissionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - list_sid=self._solution['list_sid'], - identity=self._solution['identity'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Sync.V1.SyncListPermissionContext {}>'.format(context) - - -class SyncListPermissionInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, payload, service_sid, list_sid, identity=None): - """ - Initialize the SyncListPermissionInstance - - :returns: twilio.rest.sync.v1.service.sync_list.sync_list_permission.SyncListPermissionInstance - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_permission.SyncListPermissionInstance - """ - super(SyncListPermissionInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'list_sid': payload['list_sid'], - 'identity': payload['identity'], - 'read': payload['read'], - 'write': payload['write'], - 'manage': payload['manage'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'list_sid': list_sid, - 'identity': identity or self._properties['identity'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: SyncListPermissionContext for this SyncListPermissionInstance - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_permission.SyncListPermissionContext - """ - if self._context is None: - self._context = SyncListPermissionContext( - self._version, - service_sid=self._solution['service_sid'], - list_sid=self._solution['list_sid'], - identity=self._solution['identity'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: Twilio Account SID. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: Sync Service Instance SID. - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def list_sid(self): - """ - :returns: Sync List SID. - :rtype: unicode - """ - return self._properties['list_sid'] - - @property - def identity(self): - """ - :returns: Identity of the user to whom the Sync List Permission applies. - :rtype: unicode - """ - return self._properties['identity'] - - @property - def read(self): - """ - :returns: Read access. - :rtype: bool - """ - return self._properties['read'] - - @property - def write(self): - """ - :returns: Write access. - :rtype: bool - """ - return self._properties['write'] - - @property - def manage(self): - """ - :returns: Manage access. - :rtype: bool - """ - return self._properties['manage'] - - @property - def url(self): - """ - :returns: URL of this Sync List Permission. - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a SyncListPermissionInstance - - :returns: Fetched SyncListPermissionInstance - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_permission.SyncListPermissionInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the SyncListPermissionInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, read, write, manage): - """ - Update the SyncListPermissionInstance - - :param bool read: Read access. - :param bool write: Write access. - :param bool manage: Manage access. - - :returns: Updated SyncListPermissionInstance - :rtype: twilio.rest.sync.v1.service.sync_list.sync_list_permission.SyncListPermissionInstance - """ - return self._proxy.update(read, write, manage, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Sync.V1.SyncListPermissionInstance {}>'.format(context) diff --git a/twilio/rest/sync/v1/service/sync_map/__init__.py b/twilio/rest/sync/v1/service/sync_map/__init__.py deleted file mode 100644 index 0dd366b..0000000 --- a/twilio/rest/sync/v1/service/sync_map/__init__.py +++ /dev/null @@ -1,530 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.sync.v1.service.sync_map.sync_map_item import SyncMapItemList -from twilio.rest.sync.v1.service.sync_map.sync_map_permission import SyncMapPermissionList - - -class SyncMapList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid): - """ - Initialize the SyncMapList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - - :returns: twilio.rest.sync.v1.service.sync_map.SyncMapList - :rtype: twilio.rest.sync.v1.service.sync_map.SyncMapList - """ - super(SyncMapList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Maps'.format(**self._solution) - - def create(self, unique_name=values.unset, ttl=values.unset): - """ - Create a new SyncMapInstance - - :param unicode unique_name: The unique_name - :param unicode ttl: The ttl - - :returns: Newly created SyncMapInstance - :rtype: twilio.rest.sync.v1.service.sync_map.SyncMapInstance - """ - data = values.of({'UniqueName': unique_name, 'Ttl': ttl, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return SyncMapInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, limit=None, page_size=None): - """ - Streams SyncMapInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.sync.v1.service.sync_map.SyncMapInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists SyncMapInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.sync.v1.service.sync_map.SyncMapInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of SyncMapInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of SyncMapInstance - :rtype: twilio.rest.sync.v1.service.sync_map.SyncMapPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return SyncMapPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of SyncMapInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of SyncMapInstance - :rtype: twilio.rest.sync.v1.service.sync_map.SyncMapPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return SyncMapPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a SyncMapContext - - :param sid: The sid - - :returns: twilio.rest.sync.v1.service.sync_map.SyncMapContext - :rtype: twilio.rest.sync.v1.service.sync_map.SyncMapContext - """ - return SyncMapContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a SyncMapContext - - :param sid: The sid - - :returns: twilio.rest.sync.v1.service.sync_map.SyncMapContext - :rtype: twilio.rest.sync.v1.service.sync_map.SyncMapContext - """ - return SyncMapContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Sync.V1.SyncMapList>' - - -class SyncMapPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the SyncMapPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - - :returns: twilio.rest.sync.v1.service.sync_map.SyncMapPage - :rtype: twilio.rest.sync.v1.service.sync_map.SyncMapPage - """ - super(SyncMapPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of SyncMapInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.sync.v1.service.sync_map.SyncMapInstance - :rtype: twilio.rest.sync.v1.service.sync_map.SyncMapInstance - """ - return SyncMapInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Sync.V1.SyncMapPage>' - - -class SyncMapContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the SyncMapContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: The sid - - :returns: twilio.rest.sync.v1.service.sync_map.SyncMapContext - :rtype: twilio.rest.sync.v1.service.sync_map.SyncMapContext - """ - super(SyncMapContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Maps/{sid}'.format(**self._solution) - - # Dependents - self._sync_map_items = None - self._sync_map_permissions = None - - def fetch(self): - """ - Fetch a SyncMapInstance - - :returns: Fetched SyncMapInstance - :rtype: twilio.rest.sync.v1.service.sync_map.SyncMapInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return SyncMapInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the SyncMapInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, ttl=values.unset): - """ - Update the SyncMapInstance - - :param unicode ttl: The ttl - - :returns: Updated SyncMapInstance - :rtype: twilio.rest.sync.v1.service.sync_map.SyncMapInstance - """ - data = values.of({'Ttl': ttl, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return SyncMapInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - @property - def sync_map_items(self): - """ - Access the sync_map_items - - :returns: twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemList - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemList - """ - if self._sync_map_items is None: - self._sync_map_items = SyncMapItemList( - self._version, - service_sid=self._solution['service_sid'], - map_sid=self._solution['sid'], - ) - return self._sync_map_items - - @property - def sync_map_permissions(self): - """ - Access the sync_map_permissions - - :returns: twilio.rest.sync.v1.service.sync_map.sync_map_permission.SyncMapPermissionList - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_permission.SyncMapPermissionList - """ - if self._sync_map_permissions is None: - self._sync_map_permissions = SyncMapPermissionList( - self._version, - service_sid=self._solution['service_sid'], - map_sid=self._solution['sid'], - ) - return self._sync_map_permissions - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Sync.V1.SyncMapContext {}>'.format(context) - - -class SyncMapInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the SyncMapInstance - - :returns: twilio.rest.sync.v1.service.sync_map.SyncMapInstance - :rtype: twilio.rest.sync.v1.service.sync_map.SyncMapInstance - """ - super(SyncMapInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'unique_name': payload['unique_name'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'url': payload['url'], - 'links': payload['links'], - 'revision': payload['revision'], - 'date_expires': deserialize.iso8601_datetime(payload['date_expires']), - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'created_by': payload['created_by'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: SyncMapContext for this SyncMapInstance - :rtype: twilio.rest.sync.v1.service.sync_map.SyncMapContext - """ - if self._context is None: - self._context = SyncMapContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def unique_name(self): - """ - :returns: The unique_name - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - @property - def revision(self): - """ - :returns: The revision - :rtype: unicode - """ - return self._properties['revision'] - - @property - def date_expires(self): - """ - :returns: The date_expires - :rtype: datetime - """ - return self._properties['date_expires'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def created_by(self): - """ - :returns: The created_by - :rtype: unicode - """ - return self._properties['created_by'] - - def fetch(self): - """ - Fetch a SyncMapInstance - - :returns: Fetched SyncMapInstance - :rtype: twilio.rest.sync.v1.service.sync_map.SyncMapInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the SyncMapInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, ttl=values.unset): - """ - Update the SyncMapInstance - - :param unicode ttl: The ttl - - :returns: Updated SyncMapInstance - :rtype: twilio.rest.sync.v1.service.sync_map.SyncMapInstance - """ - return self._proxy.update(ttl=ttl, ) - - @property - def sync_map_items(self): - """ - Access the sync_map_items - - :returns: twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemList - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemList - """ - return self._proxy.sync_map_items - - @property - def sync_map_permissions(self): - """ - Access the sync_map_permissions - - :returns: twilio.rest.sync.v1.service.sync_map.sync_map_permission.SyncMapPermissionList - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_permission.SyncMapPermissionList - """ - return self._proxy.sync_map_permissions - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Sync.V1.SyncMapInstance {}>'.format(context) diff --git a/twilio/rest/sync/v1/service/sync_map/__pycache__/__init__.cpython-36.pyc b/twilio/rest/sync/v1/service/sync_map/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 45a816c5ba036f33f1cd855d23a11801943e0ecb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17723 zcmeHPON<=HdG4O~Yj<atZ;Fyz5@qi=<Zx+4j<Tj0QY0nQp;l{hDIk+|M!i$LWH0BX z?jDjmT;_o#U<5D&<P;bX5G1D<$RR%F5I{Z}z9c|=aOaksf&f8~Lk<Fh<oo}suIZVb z*<C&&S&E0~>gww1s=xmF>wkPz%h#u-3P1b%Kd=4MMZ@?PBlb%ne*u^OS4f0WGlVG; zO|zA#B}~dEkx$l=oKH1Vt#mET`E)bW%GR=+&opzbd@axUY_rfR){30ZHA}6j+7##W z&FR)mZN@a-HAF!a9~q+P<hPTxGM-Cf3eQtc5zn)Do)$BBo^jH6p2Krl%;I_0$>RBd zn7d(A4)pE9%5B%T8Xe(S_iW#~<+L5o4jf^vZ5CFoGgjTg4@rGX-3!*1HD9l+o<TBS z-&#GhWo^x$L5;g-s|(eI0@b(hq5PdG{3{q@RLrm_9N+O=yXp2FJZA3N&7R{UH*>Y^ z2X?#RT<Wv~=YD{qa#VEP@jE@QK_8T^xqc9PPA%KFsC?$eX1np8-Mtz(EvkZ|L#k-m z@mj9$yPY<@Xb>UMFR3#A7BY@eGcjigVb+r0H`Xz8BKas+OF8L{3|;F9krL@gW-TiY ziLA&WmlKCYUKEhaN42<SQWQlAr3Eo1rXLx#qL>k7+)H9s%;7#I4v2%ePk-M?8MPVA z!I7}2$R#5CcdX@WS1#VTVlBPDa>WX6+W``qp{DKAJhcPcZTr@m6WCVQ>xf<>@MSgI zb1c8Nw&67JNr&g5aocX+a;nx%-$5OxW!-aw+g8Kw1>i~5YD8S1dvy6#JOoByZW-H& zjl`C@ZIa||C0vx$lOnN^S~s?gjpU!ub6O-ZhLruXX&7qiE$eFA4dg^quU2e$1zl&c zYkPLf`oQsMeyqFlzNia$<a)T&jHhH_v<XPnUAN)XeOD}6E2tPNi1p_=LC<UZi&k*Y zZMvN*nhUBvWTy(jRiE&4y=8Z+ahjDVTZ>+>*>#?wfv^}Ot$*Uo4N19w=0U9d;TZ_C zzf{SDX}{NXJg<QH2y^wi3$E7dVZQEnnmmDFX1(LJ>>y0ld!AcKhAH1^u7_F0ORtCz zu^RIAItx#|{v+el)}_T&NQ39Ee%GztwmYjAyWPunV6R^5H0<W;iqq<@cHQpjwVvA) zr(gG*o%K!s-m2tTbR*WS66;p)o?TU>^E0t-HKMfI-SnnF!Vz4428mH9Cktl(V2rob zsInHtH0sfH375Z!BrrD2Er_2mKTd3$50enR#0JC=_taKWBp)Xqrh+t;Zl#cBMCzC! z(vL|jGyVV8!g9%Tpw=wgYCHELiHx*NOiH9w_S!CMMBG2>IrX;P!nBiU#R_!GN|K{* zf}knuA`@#^i{FxSueoV8m>jW#l4p@MJ)EeKN}^V{$wOGe2*Tt_&<s<{@84K~RHOuE zU5SXiWj#^>VWP7RX;U&3W+b6rnO<pCs}#03jnYcmo28e<7;nNP2JaoE;%wL6Y<6tn z9mJDN4pHs}Bwxejmykd*5*agLrp#QjKNpt|+5OUZ@%Sdb#FQ%m*-l8|fKZqafy86; zAqfOD6$Ar<a?C&q;n*h8NZX%aw0aJ21elMOKRO-IIgO4dd~4n7v{;v2T)t|-Oxls5 z?0A;X-&S>7Y*0H`xi)E8t7-RLOgQnt*X^MRXMNpmxK2C3OFVWvFjQ+z60yK-a$ili z<p#Q0*Z|Pjxb28|SF9F$P1pcZ|5C_cyoX6VW%(Vnh!zH9;i2WUI^O1hkZMd^<vMWN zfyGoTS~t5Gk$kYAc9_6+ueFB4&bl5~&`~s06<g*jdH|7B4(_*lumQ074lGy)3ll=8 zKDR&_nJgRpBQ8`e>$0<MW1toYZ+B#=ZdxrtBDV{#0H&ai1-mqkymcpN+_q>eo`bdR z2dAuix1BcH3}83{SjcA6>iLdtdq8eHM+QkKirAAOF1)c2F#_~nT_-v<IYc);aNCa9 zqv^F?0Qur!$3DUwvYgFVB#Cwaf2T{99(~$^=3|d`WsB?q5cRE&9}MQ63AKoCr!2P$ zm!ajh=lP3M*4c%Hg-T2|v?_a7I*Tj~@Kcy|o37IoR<BEh$sS=XNI*4pkr{2m-TB=o zF~*U8`<`wp%xnHuOwWQk2-DnYt-vohUrBk#@upTJKGnI%4^#9$%t)Rp73RH+YTQaK zBdd9@P|1kqdKG2g!X<6m>~x}>7}i;`QLVC|X9gB+4i5n-EoIXl!=^zUCF~DTO^=H_ z!6#8h#L9tIxY=&Hci;voc{w#^={p#`XW4BbCykVo^&yY>!$^cJtS0G2lH4m@vF2dy zM|#F>-+I0(gN6b59;gM)koeM*d8sY5zWJ5H;Mp5e7>b>|EXSye5godd#Z>a8QWurP zV2M`}VTu^!(Q>XN*@qdt9bNM$QRzA^KY_$3_sek~g_>y)06;%-bhZCV4oc*|l3Vg| z5*{o$B?AvO#U5;0d9dWiX4pYV*`LHis_RbRxiFBH4JF;a1wVll7#ST!Nu(V0@{PMJ z1Kn_48a<K|=f2bEQKav-T8?nx9XB^)T3&hpV34$7LFbOsUbL3c>k4Hl_`K^11`602 zfM=wa>!>}Jj)MGJnPsJwr0oPXzT4`;6C&55(ImGB`U@mYY;qS9FYVK*$Ud`k@y0@I zXxf0$XvXkx(CJe|eAK3HppvZRHOss##G#g>=NmAzVe;K8<cVjP(|$$z-`+7)VuK}( z4?ErwLO`ENr#r&}tIQnFO|96)+qz^mTQTpeXe!LX{&qWUglQvojBK00B|Y$|xq$~h zB;C|%gT)?o$(E6%U!w1*0d}xWmS<QrxZsI^o$f7)&j38JZF_T)BzK*L3orOHlx4&` zx10d+GJ-Tn?CAmCb@Tc)?bs^U5W=mT7pCxYks$9iaJiCUi3l^I(*pcc%Sg8=%ql`X ziln4qNKF<N1_Slx>E-a`hdJT`P3;4`^m9mzLIDw2COI6RN7b|hkR)jRb{G%Jn}JTF zuxkt88OPqq{?GL)0I&x=!bp`J=_>{H#dxX|jz)1@5qqhZ?2|Z*Q6G_Mi#*R~X+y@! z3BH9%U{1hYrj-s>{mIqKv2jA$mDAwU=nN#m+8>}?nv{G$3a+n_FNb%(;<%c&ILAHW zB&;=Il>1{dfHMGF&3gUMV!R%Kpk##xv=sm7P8TaV(sqJf^nPCp^s=;lFvjb!%54F| z<vCsG3fL`<`o~G`dkEeU{!RR3R7$aAbcg*D=T;<aNupN$;A|YAJkO$q0ElpyQ8B~# ziL`qCFY!{!T6TDeM-?iGr6s<~gf<f91+=kHueSg)Hz{AL*FWmnP4y;QuZvCt9}~tW zp`&yUW+q^0hutdgB)uXt;hm!73?&PcoJA5&DPXeU(EJPt$4CxPCB}&e{iG+KbWJXi zN|efT2Mb3Eb2)SRaBenN%oQ0SZQ!;3B~{L+&L*MzjOiP-w8)4o5cv!v@>v+H9IMmM z7KtY@qaWRgdb<1*Na9HRR$?2wNn3zGfy2wN@ps~;bv*7)PD4x{rJDWV*>U&l%C8_B z$qvS%rHkUurxs%66~?gc=Z@F&SVtGqlc@Wl29^LF5IiZ(E6X`+^^{y`6w9-5t>q#} zJ`!EFwk*H&)!*Rqd4`K~1N%x{4e)QWtMr>>U$NODEv&Y$|DzfEHi7ks<`J^XowRX2 zt*))6LAcl_Qs69k=8V$nxg0_~W76|fb~uVn1|&R%U%jIdX%|d+OM0|ecAA8*Q0a*8 zQzEA(V$~<85Siek%8v8Q#4CLvO#_W$H`BmM_-A_f1FN6}Q<@EE!*37|U#H~PDS3ku zUJP$ij#Rn#8<c1^N2`Dr0J)}rjf<U3slcJKsdT)`{yn_eugZ3^8#!#(=0u)1VheIh zeA}!Qor2sBN4_LC!fR8k;HRPB%j`e=5-9j{7;9X?(^e}YCqfDkKaJaLMQKKm0m!P2 z*LU_d0FfI!SbopV2JEWKwI2Rrc=kYtXvdUY%>FC8ZO&r9))fzzur$~@ursQygEvEs zaM(Um_u;M4rfA&-TJML41_juGP-hc-SQ+-**q&$-qD3@pN`8UHee#KnVmVnd%gKz{ zKQbJC3~UNHvGgNnf^exzxO^#d8>VXji(;#S-Bh}#WbB3rUhbw+1P@t5OgGq7O=0z9 z`ajf?^bYT)=%7yPXkB4Z8w{?Bh*}Y=t7<8EE;fOqWs{MQ!EDB7b_dK7rg=+<XG|Iq zw($xPBnZVDV?;dK0r+>~C(VzMEok(Fb}<uXZm`d-mS2^-8L}iaFFYqCE#NYC1$ZXl z<`Hhv|9#EI%TCh?XqyZhH=_*Hl?J?C@p_Kst^)z1&u}WF(Qq8$pR(Sun>Y&6K{MVx zH@3+YMaFBLPE)rBxPiY%yhR%*9!U<f38FbB)Zq6i$Xpa<M8|L<2FTWQTuTm-mdXow zAfy!IH(eY#c}UVXKuK{R2mAa<C7E;vfcN?Np2lWx<}pcTw*M1N{LL;lxcSt}E)0{3 zX}>%7vdRBz38py5qcaoWGVP%6SBx_~9`UFgE8X%EwZzSh6Xv(@7U#>9Fz2Ut3iIe( z%Fc$QS))Rv4@sJZc_-)1(?KGf&A>LiNU$#9t$2}oOjeBRVdm2Pf7CN~5yFb2P9*BX z>hr1H(4l6c$T>PMru&W7z`nwT{WZC?WAef*Sp$NNQr>UUoDlRDb6dx*tZ;g$JO4GB zDl$Drjxal%nlP~k`Qi;2oA>N)wA_Zjd5%-{pPFUkrYdIGo_)dwjYZS8tnDTNWtx(w zo4kEDzjGqJ^I$(Fk&Y;Nc}iGEvh5f@i3jzB47&B-7(11(PMXTtmwG}eV$_!8Bp!r` zwMR!7X>|dc-!?A8)|0gtDIA7Dj#u302xon2TAF+!olJpG7pbW&<9ml!6Axhm1e6FJ z{n}1^06^{|0L*L_(+?iL^#Jad$*vag*F<$8H1CAw-9ZS#;L)e~bA<2T?|SF2MRqA= z^uIpB-3S1yo@>$}IRAWAf7X9x0`8_3nf2h|`ARBGZFJl=<L_abJv~X8M1R9<Lmq4$ zp^hV`D?}GV1KH!_JUJDF%}fr$$PtmInK<dumZL}dJj`K-4)PLgdcQ?w7bw{)SR>W_ zb6h@oBpj?A${o(-r;nD(B^fm}@IwEXa6I|{fg~QZi3*>i#d)hoc{)ccfU-S;5Y}*> zmQT=9K8rk^p{0Bdc{({ud7P+~r)QBbAkQagkuM_8r)ZHcA<rjik)J~TkT}fWP9uLr z9OXPtK8s`GIOogAzaUO<epb9FUIOAbC%z&q+z&VhHx40;d|AALF!C^JzA8>~%_GRa zCcet~qvC5~9<`5g7<n9$_;q#{KhrRBsX<njesm`jK$GtO0LjiclJ{d0Y;~axV0&?l znNxU7$Y(gs9y5X@eE)>V;b@$x^7&Z4KzY0`!p|ywT!hue^iUiMATrhcL+F?^AGn+5 zm^CY=z?zx<-)Yr69+lMozpgiMU-xB!)gspIJl{CtG&t(Lh$Jl9jYbED^2lhjIS-TA zJ*0C+?K?j0uHJR&1anv-f3pr{;{p#=PwJGXdXheq2n(vXzP4E@a=6JodEcQvIsW@? z%3Y)6JxZ1+d7qMHO1_H(NPWz=P=P2zU>t~&O$f`b-+A+!3uo&@S>WOXXtAzzf(sIJ z^++$V(UQkFJq|+IN8BS4T_MdyJsR0^Dr3g~l}!3KjnaMusYTPYGdM*vgAGN}KM<%V zavkj|n$S|D&ZId*aHtxn-rsc<PD+Om96nT!zdN8a5e>U*(;>{xx^56El#W^B(1mr^ z_S{YnM=cw4veU;Qzl%657&R6Z^GQtb`M!&27YCGLU5s;xhK-RT5u`j%`Bv6Sk7<lM zLjn(XW(Bv=-L>)VOon9X{$`iNfPK+?%oja8LVZ<M)<&Nuon-V9E`~GYq#rZbz<)~< zI?xF#6b@iZcyyVo;7ymy9YWK)ftDx4sWj9-BC?4BBhx=HN-X->C#9Ekzr&Qq&O*m( z$Uh(0K{2Trkh%-SRO63h6u&S^ajd^*q&%kW_NJUP*6x&3jX&Lu@>qY*NO=s4+?#Sz zZo5-XHGa4o<+1+uN%<tXhCSJvVzLRlQ%p7fB1Z8Jxkf+xr1Y&AJ<;FI&<bRu7kf8B zqRDjaPAk>;QH<6IU(j}fd)g<p7h)8}sf}!N?DYhK$;|FfFxB{RjNl!HE$VEaG+&7k z6{k7wMZ~H|x+6obU$ASiJK^L!{B4Zz6QjB#-sAHiUU@f~#wax3Nj$kUyAw|}ezGU= zs>kO+yz<fZK|Hx)yAw|}e!3^|s>gj2|8|VBxY!I_%2<U7!cP9<?vzuFe~3|jd{kxz z-3`%=PliqUhPh29-TWoqGJqp}6J#@>53bBoUhibeGbj{d|3b4P+uxzAc0&7;Iq^Az z`q6L+%%3n^diBq-;qGweMu7Yw0E%J>a^~m{9EAB;A~s)qSRSk*Y%1a&0W8R~urRbf zA~E#--!u#J{T(bEgP&`WAxK!VkeAMv5*d#eNzl{;F{D@jrFod^zci|Z{GrX&@rr1K zm;Vo;>xk1ACUcrzQ8*?8qFn#vL{5K6@MrHL2CM~!Ahc&gpuM-zgh#=wcbSqAZEyu; zvk`v*K>yk(e|JNmU!8zJN1n2TpuKmfUsAr_yOhu&gh)Ysn+irqI*YObk)*Nb9S&_o zRK;AXyf7JmzDljL1*N$9$&oBJyyF1uCxER9hFT_7F^>$v*3&0Sv!&d)f4My1>|&`< zDlmGxR5{28nrcM_I<DD>>%bU!q_uV;R$Psc9u1rk^J*`StpX5`|K|#ifZE!zcpdtC zAsot8?`aFXR*t{#;^3D2Taj<5VpQJc|0)>LgS??wd-KUY94u?Ol|=_k<e^6b<m9P{ mfdFxi&US^lbMkQT`7EA%+5p4(Tn7Jink@f;alBk9Kloot+Q)MM diff --git a/twilio/rest/sync/v1/service/sync_map/__pycache__/sync_map_item.cpython-36.pyc b/twilio/rest/sync/v1/service/sync_map/__pycache__/sync_map_item.cpython-36.pyc deleted file mode 100644 index b09646262161427e44f6958dd1e228a55d5a7b71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18197 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 O&HbKner|s5NB;++#$_P@ diff --git a/twilio/rest/sync/v1/service/sync_map/__pycache__/sync_map_permission.cpython-36.pyc b/twilio/rest/sync/v1/service/sync_map/__pycache__/sync_map_permission.cpython-36.pyc deleted file mode 100644 index 55aa8ed702ad13383a2c988cb72e3f42fe6e791b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16663 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 AtpET3 diff --git a/twilio/rest/sync/v1/service/sync_map/sync_map_item.py b/twilio/rest/sync/v1/service/sync_map/sync_map_item.py deleted file mode 100644 index ec5759c..0000000 --- a/twilio/rest/sync/v1/service/sync_map/sync_map_item.py +++ /dev/null @@ -1,533 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class SyncMapItemList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, map_sid): - """ - Initialize the SyncMapItemList - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param map_sid: The map_sid - - :returns: twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemList - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemList - """ - super(SyncMapItemList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'map_sid': map_sid, } - self._uri = '/Services/{service_sid}/Maps/{map_sid}/Items'.format(**self._solution) - - def create(self, key, data, ttl=values.unset): - """ - Create a new SyncMapItemInstance - - :param unicode key: The key - :param dict data: The data - :param unicode ttl: The ttl - - :returns: Newly created SyncMapItemInstance - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemInstance - """ - data = values.of({'Key': key, 'Data': serialize.object(data), 'Ttl': ttl, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return SyncMapItemInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - map_sid=self._solution['map_sid'], - ) - - def stream(self, order=values.unset, from_=values.unset, bounds=values.unset, - limit=None, page_size=None): - """ - Streams SyncMapItemInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param SyncMapItemInstance.QueryResultOrder order: The order - :param unicode from_: The from - :param SyncMapItemInstance.QueryFromBoundType bounds: The bounds - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(order=order, from_=from_, bounds=bounds, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, order=values.unset, from_=values.unset, bounds=values.unset, - limit=None, page_size=None): - """ - Lists SyncMapItemInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param SyncMapItemInstance.QueryResultOrder order: The order - :param unicode from_: The from - :param SyncMapItemInstance.QueryFromBoundType bounds: The bounds - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemInstance] - """ - return list(self.stream(order=order, from_=from_, bounds=bounds, limit=limit, page_size=page_size, )) - - def page(self, order=values.unset, from_=values.unset, bounds=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of SyncMapItemInstance records from the API. - Request is executed immediately - - :param SyncMapItemInstance.QueryResultOrder order: The order - :param unicode from_: The from - :param SyncMapItemInstance.QueryFromBoundType bounds: The bounds - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of SyncMapItemInstance - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemPage - """ - params = values.of({ - 'Order': order, - 'From': from_, - 'Bounds': bounds, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return SyncMapItemPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of SyncMapItemInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of SyncMapItemInstance - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return SyncMapItemPage(self._version, response, self._solution) - - def get(self, key): - """ - Constructs a SyncMapItemContext - - :param key: The key - - :returns: twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemContext - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemContext - """ - return SyncMapItemContext( - self._version, - service_sid=self._solution['service_sid'], - map_sid=self._solution['map_sid'], - key=key, - ) - - def __call__(self, key): - """ - Constructs a SyncMapItemContext - - :param key: The key - - :returns: twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemContext - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemContext - """ - return SyncMapItemContext( - self._version, - service_sid=self._solution['service_sid'], - map_sid=self._solution['map_sid'], - key=key, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Sync.V1.SyncMapItemList>' - - -class SyncMapItemPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the SyncMapItemPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: The service_sid - :param map_sid: The map_sid - - :returns: twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemPage - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemPage - """ - super(SyncMapItemPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of SyncMapItemInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemInstance - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemInstance - """ - return SyncMapItemInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - map_sid=self._solution['map_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Sync.V1.SyncMapItemPage>' - - -class SyncMapItemContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, map_sid, key): - """ - Initialize the SyncMapItemContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param map_sid: The map_sid - :param key: The key - - :returns: twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemContext - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemContext - """ - super(SyncMapItemContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'map_sid': map_sid, 'key': key, } - self._uri = '/Services/{service_sid}/Maps/{map_sid}/Items/{key}'.format(**self._solution) - - def fetch(self): - """ - Fetch a SyncMapItemInstance - - :returns: Fetched SyncMapItemInstance - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return SyncMapItemInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - map_sid=self._solution['map_sid'], - key=self._solution['key'], - ) - - def delete(self): - """ - Deletes the SyncMapItemInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, data=values.unset, ttl=values.unset): - """ - Update the SyncMapItemInstance - - :param dict data: The data - :param unicode ttl: The ttl - - :returns: Updated SyncMapItemInstance - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemInstance - """ - data = values.of({'Data': serialize.object(data), 'Ttl': ttl, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return SyncMapItemInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - map_sid=self._solution['map_sid'], - key=self._solution['key'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Sync.V1.SyncMapItemContext {}>'.format(context) - - -class SyncMapItemInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - class QueryResultOrder(object): - ASC = "asc" - DESC = "desc" - - class QueryFromBoundType(object): - INCLUSIVE = "inclusive" - EXCLUSIVE = "exclusive" - - def __init__(self, version, payload, service_sid, map_sid, key=None): - """ - Initialize the SyncMapItemInstance - - :returns: twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemInstance - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemInstance - """ - super(SyncMapItemInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'key': payload['key'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'map_sid': payload['map_sid'], - 'url': payload['url'], - 'revision': payload['revision'], - 'data': payload['data'], - 'date_expires': deserialize.iso8601_datetime(payload['date_expires']), - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'created_by': payload['created_by'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'map_sid': map_sid, - 'key': key or self._properties['key'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: SyncMapItemContext for this SyncMapItemInstance - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemContext - """ - if self._context is None: - self._context = SyncMapItemContext( - self._version, - service_sid=self._solution['service_sid'], - map_sid=self._solution['map_sid'], - key=self._solution['key'], - ) - return self._context - - @property - def key(self): - """ - :returns: The key - :rtype: unicode - """ - return self._properties['key'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: The service_sid - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def map_sid(self): - """ - :returns: The map_sid - :rtype: unicode - """ - return self._properties['map_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def revision(self): - """ - :returns: The revision - :rtype: unicode - """ - return self._properties['revision'] - - @property - def data(self): - """ - :returns: The data - :rtype: dict - """ - return self._properties['data'] - - @property - def date_expires(self): - """ - :returns: The date_expires - :rtype: datetime - """ - return self._properties['date_expires'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def created_by(self): - """ - :returns: The created_by - :rtype: unicode - """ - return self._properties['created_by'] - - def fetch(self): - """ - Fetch a SyncMapItemInstance - - :returns: Fetched SyncMapItemInstance - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the SyncMapItemInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, data=values.unset, ttl=values.unset): - """ - Update the SyncMapItemInstance - - :param dict data: The data - :param unicode ttl: The ttl - - :returns: Updated SyncMapItemInstance - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_item.SyncMapItemInstance - """ - return self._proxy.update(data=data, ttl=ttl, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Sync.V1.SyncMapItemInstance {}>'.format(context) diff --git a/twilio/rest/sync/v1/service/sync_map/sync_map_permission.py b/twilio/rest/sync/v1/service/sync_map/sync_map_permission.py deleted file mode 100644 index c8b3292..0000000 --- a/twilio/rest/sync/v1/service/sync_map/sync_map_permission.py +++ /dev/null @@ -1,453 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class SyncMapPermissionList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, map_sid): - """ - Initialize the SyncMapPermissionList - - :param Version version: Version that contains the resource - :param service_sid: Sync Service Instance SID. - :param map_sid: Sync Map SID. - - :returns: twilio.rest.sync.v1.service.sync_map.sync_map_permission.SyncMapPermissionList - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_permission.SyncMapPermissionList - """ - super(SyncMapPermissionList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'map_sid': map_sid, } - self._uri = '/Services/{service_sid}/Maps/{map_sid}/Permissions'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams SyncMapPermissionInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.sync.v1.service.sync_map.sync_map_permission.SyncMapPermissionInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists SyncMapPermissionInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.sync.v1.service.sync_map.sync_map_permission.SyncMapPermissionInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of SyncMapPermissionInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of SyncMapPermissionInstance - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_permission.SyncMapPermissionPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return SyncMapPermissionPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of SyncMapPermissionInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of SyncMapPermissionInstance - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_permission.SyncMapPermissionPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return SyncMapPermissionPage(self._version, response, self._solution) - - def get(self, identity): - """ - Constructs a SyncMapPermissionContext - - :param identity: Identity of the user to whom the Sync Map Permission applies. - - :returns: twilio.rest.sync.v1.service.sync_map.sync_map_permission.SyncMapPermissionContext - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_permission.SyncMapPermissionContext - """ - return SyncMapPermissionContext( - self._version, - service_sid=self._solution['service_sid'], - map_sid=self._solution['map_sid'], - identity=identity, - ) - - def __call__(self, identity): - """ - Constructs a SyncMapPermissionContext - - :param identity: Identity of the user to whom the Sync Map Permission applies. - - :returns: twilio.rest.sync.v1.service.sync_map.sync_map_permission.SyncMapPermissionContext - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_permission.SyncMapPermissionContext - """ - return SyncMapPermissionContext( - self._version, - service_sid=self._solution['service_sid'], - map_sid=self._solution['map_sid'], - identity=identity, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Sync.V1.SyncMapPermissionList>' - - -class SyncMapPermissionPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the SyncMapPermissionPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: Sync Service Instance SID. - :param map_sid: Sync Map SID. - - :returns: twilio.rest.sync.v1.service.sync_map.sync_map_permission.SyncMapPermissionPage - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_permission.SyncMapPermissionPage - """ - super(SyncMapPermissionPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of SyncMapPermissionInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.sync.v1.service.sync_map.sync_map_permission.SyncMapPermissionInstance - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_permission.SyncMapPermissionInstance - """ - return SyncMapPermissionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - map_sid=self._solution['map_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Sync.V1.SyncMapPermissionPage>' - - -class SyncMapPermissionContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, map_sid, identity): - """ - Initialize the SyncMapPermissionContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param map_sid: Sync Map SID or unique name. - :param identity: Identity of the user to whom the Sync Map Permission applies. - - :returns: twilio.rest.sync.v1.service.sync_map.sync_map_permission.SyncMapPermissionContext - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_permission.SyncMapPermissionContext - """ - super(SyncMapPermissionContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'map_sid': map_sid, 'identity': identity, } - self._uri = '/Services/{service_sid}/Maps/{map_sid}/Permissions/{identity}'.format(**self._solution) - - def fetch(self): - """ - Fetch a SyncMapPermissionInstance - - :returns: Fetched SyncMapPermissionInstance - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_permission.SyncMapPermissionInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return SyncMapPermissionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - map_sid=self._solution['map_sid'], - identity=self._solution['identity'], - ) - - def delete(self): - """ - Deletes the SyncMapPermissionInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, read, write, manage): - """ - Update the SyncMapPermissionInstance - - :param bool read: Read access. - :param bool write: Write access. - :param bool manage: Manage access. - - :returns: Updated SyncMapPermissionInstance - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_permission.SyncMapPermissionInstance - """ - data = values.of({'Read': read, 'Write': write, 'Manage': manage, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return SyncMapPermissionInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - map_sid=self._solution['map_sid'], - identity=self._solution['identity'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Sync.V1.SyncMapPermissionContext {}>'.format(context) - - -class SyncMapPermissionInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, payload, service_sid, map_sid, identity=None): - """ - Initialize the SyncMapPermissionInstance - - :returns: twilio.rest.sync.v1.service.sync_map.sync_map_permission.SyncMapPermissionInstance - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_permission.SyncMapPermissionInstance - """ - super(SyncMapPermissionInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'map_sid': payload['map_sid'], - 'identity': payload['identity'], - 'read': payload['read'], - 'write': payload['write'], - 'manage': payload['manage'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'service_sid': service_sid, - 'map_sid': map_sid, - 'identity': identity or self._properties['identity'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: SyncMapPermissionContext for this SyncMapPermissionInstance - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_permission.SyncMapPermissionContext - """ - if self._context is None: - self._context = SyncMapPermissionContext( - self._version, - service_sid=self._solution['service_sid'], - map_sid=self._solution['map_sid'], - identity=self._solution['identity'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: Twilio Account SID. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: Sync Service Instance SID. - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def map_sid(self): - """ - :returns: Sync Map SID. - :rtype: unicode - """ - return self._properties['map_sid'] - - @property - def identity(self): - """ - :returns: Identity of the user to whom the Sync Map Permission applies. - :rtype: unicode - """ - return self._properties['identity'] - - @property - def read(self): - """ - :returns: Read access. - :rtype: bool - """ - return self._properties['read'] - - @property - def write(self): - """ - :returns: Write access. - :rtype: bool - """ - return self._properties['write'] - - @property - def manage(self): - """ - :returns: Manage access. - :rtype: bool - """ - return self._properties['manage'] - - @property - def url(self): - """ - :returns: URL of this Sync Map Permission. - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a SyncMapPermissionInstance - - :returns: Fetched SyncMapPermissionInstance - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_permission.SyncMapPermissionInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the SyncMapPermissionInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, read, write, manage): - """ - Update the SyncMapPermissionInstance - - :param bool read: Read access. - :param bool write: Write access. - :param bool manage: Manage access. - - :returns: Updated SyncMapPermissionInstance - :rtype: twilio.rest.sync.v1.service.sync_map.sync_map_permission.SyncMapPermissionInstance - """ - return self._proxy.update(read, write, manage, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Sync.V1.SyncMapPermissionInstance {}>'.format(context) diff --git a/twilio/rest/sync/v1/service/sync_stream/__init__.py b/twilio/rest/sync/v1/service/sync_stream/__init__.py deleted file mode 100644 index 9027b4c..0000000 --- a/twilio/rest/sync/v1/service/sync_stream/__init__.py +++ /dev/null @@ -1,493 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.sync.v1.service.sync_stream.stream_message import StreamMessageList - - -class SyncStreamList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid): - """ - Initialize the SyncStreamList - - :param Version version: Version that contains the resource - :param service_sid: Service Instance SID. - - :returns: twilio.rest.sync.v1.service.sync_stream.SyncStreamList - :rtype: twilio.rest.sync.v1.service.sync_stream.SyncStreamList - """ - super(SyncStreamList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, } - self._uri = '/Services/{service_sid}/Streams'.format(**self._solution) - - def create(self, unique_name=values.unset, ttl=values.unset): - """ - Create a new SyncStreamInstance - - :param unicode unique_name: Stream unique name. - :param unicode ttl: Stream TTL. - - :returns: Newly created SyncStreamInstance - :rtype: twilio.rest.sync.v1.service.sync_stream.SyncStreamInstance - """ - data = values.of({'UniqueName': unique_name, 'Ttl': ttl, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return SyncStreamInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def stream(self, limit=None, page_size=None): - """ - Streams SyncStreamInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.sync.v1.service.sync_stream.SyncStreamInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists SyncStreamInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.sync.v1.service.sync_stream.SyncStreamInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of SyncStreamInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of SyncStreamInstance - :rtype: twilio.rest.sync.v1.service.sync_stream.SyncStreamPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return SyncStreamPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of SyncStreamInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of SyncStreamInstance - :rtype: twilio.rest.sync.v1.service.sync_stream.SyncStreamPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return SyncStreamPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a SyncStreamContext - - :param sid: Stream SID or unique name. - - :returns: twilio.rest.sync.v1.service.sync_stream.SyncStreamContext - :rtype: twilio.rest.sync.v1.service.sync_stream.SyncStreamContext - """ - return SyncStreamContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a SyncStreamContext - - :param sid: Stream SID or unique name. - - :returns: twilio.rest.sync.v1.service.sync_stream.SyncStreamContext - :rtype: twilio.rest.sync.v1.service.sync_stream.SyncStreamContext - """ - return SyncStreamContext(self._version, service_sid=self._solution['service_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Sync.V1.SyncStreamList>' - - -class SyncStreamPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the SyncStreamPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: Service Instance SID. - - :returns: twilio.rest.sync.v1.service.sync_stream.SyncStreamPage - :rtype: twilio.rest.sync.v1.service.sync_stream.SyncStreamPage - """ - super(SyncStreamPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of SyncStreamInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.sync.v1.service.sync_stream.SyncStreamInstance - :rtype: twilio.rest.sync.v1.service.sync_stream.SyncStreamInstance - """ - return SyncStreamInstance(self._version, payload, service_sid=self._solution['service_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Sync.V1.SyncStreamPage>' - - -class SyncStreamContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, sid): - """ - Initialize the SyncStreamContext - - :param Version version: Version that contains the resource - :param service_sid: The service_sid - :param sid: Stream SID or unique name. - - :returns: twilio.rest.sync.v1.service.sync_stream.SyncStreamContext - :rtype: twilio.rest.sync.v1.service.sync_stream.SyncStreamContext - """ - super(SyncStreamContext, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'sid': sid, } - self._uri = '/Services/{service_sid}/Streams/{sid}'.format(**self._solution) - - # Dependents - self._stream_messages = None - - def fetch(self): - """ - Fetch a SyncStreamInstance - - :returns: Fetched SyncStreamInstance - :rtype: twilio.rest.sync.v1.service.sync_stream.SyncStreamInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return SyncStreamInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the SyncStreamInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, ttl=values.unset): - """ - Update the SyncStreamInstance - - :param unicode ttl: Stream TTL. - - :returns: Updated SyncStreamInstance - :rtype: twilio.rest.sync.v1.service.sync_stream.SyncStreamInstance - """ - data = values.of({'Ttl': ttl, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return SyncStreamInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - - @property - def stream_messages(self): - """ - Access the stream_messages - - :returns: twilio.rest.sync.v1.service.sync_stream.stream_message.StreamMessageList - :rtype: twilio.rest.sync.v1.service.sync_stream.stream_message.StreamMessageList - """ - if self._stream_messages is None: - self._stream_messages = StreamMessageList( - self._version, - service_sid=self._solution['service_sid'], - stream_sid=self._solution['sid'], - ) - return self._stream_messages - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Sync.V1.SyncStreamContext {}>'.format(context) - - -class SyncStreamInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, payload, service_sid, sid=None): - """ - Initialize the SyncStreamInstance - - :returns: twilio.rest.sync.v1.service.sync_stream.SyncStreamInstance - :rtype: twilio.rest.sync.v1.service.sync_stream.SyncStreamInstance - """ - super(SyncStreamInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'unique_name': payload['unique_name'], - 'account_sid': payload['account_sid'], - 'service_sid': payload['service_sid'], - 'url': payload['url'], - 'links': payload['links'], - 'date_expires': deserialize.iso8601_datetime(payload['date_expires']), - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'created_by': payload['created_by'], - } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: SyncStreamContext for this SyncStreamInstance - :rtype: twilio.rest.sync.v1.service.sync_stream.SyncStreamContext - """ - if self._context is None: - self._context = SyncStreamContext( - self._version, - service_sid=self._solution['service_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: Stream SID. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def unique_name(self): - """ - :returns: Stream unique name. - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def account_sid(self): - """ - :returns: Twilio Account SID. - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def service_sid(self): - """ - :returns: Service Instance SID. - :rtype: unicode - """ - return self._properties['service_sid'] - - @property - def url(self): - """ - :returns: URL of this Stream. - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: Nested resource URLs. - :rtype: unicode - """ - return self._properties['links'] - - @property - def date_expires(self): - """ - :returns: The date this Stream expires. - :rtype: datetime - """ - return self._properties['date_expires'] - - @property - def date_created(self): - """ - :returns: The date this Stream was created. - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date this Stream was updated. - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def created_by(self): - """ - :returns: Identity of the Stream creator. - :rtype: unicode - """ - return self._properties['created_by'] - - def fetch(self): - """ - Fetch a SyncStreamInstance - - :returns: Fetched SyncStreamInstance - :rtype: twilio.rest.sync.v1.service.sync_stream.SyncStreamInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the SyncStreamInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, ttl=values.unset): - """ - Update the SyncStreamInstance - - :param unicode ttl: Stream TTL. - - :returns: Updated SyncStreamInstance - :rtype: twilio.rest.sync.v1.service.sync_stream.SyncStreamInstance - """ - return self._proxy.update(ttl=ttl, ) - - @property - def stream_messages(self): - """ - Access the stream_messages - - :returns: twilio.rest.sync.v1.service.sync_stream.stream_message.StreamMessageList - :rtype: twilio.rest.sync.v1.service.sync_stream.stream_message.StreamMessageList - """ - return self._proxy.stream_messages - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Sync.V1.SyncStreamInstance {}>'.format(context) diff --git a/twilio/rest/sync/v1/service/sync_stream/__pycache__/__init__.cpython-36.pyc b/twilio/rest/sync/v1/service/sync_stream/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 392162ab453e613b637c048b9bb081fc4eb50ae9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17102 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 diff --git a/twilio/rest/sync/v1/service/sync_stream/__pycache__/stream_message.cpython-36.pyc b/twilio/rest/sync/v1/service/sync_stream/__pycache__/stream_message.cpython-36.pyc deleted file mode 100644 index eb972a12f8bd973efc34a92853a1216d6ce2128a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5642 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 diff --git a/twilio/rest/sync/v1/service/sync_stream/stream_message.py b/twilio/rest/sync/v1/service/sync_stream/stream_message.py deleted file mode 100644 index 5d4ead9..0000000 --- a/twilio/rest/sync/v1/service/sync_stream/stream_message.py +++ /dev/null @@ -1,161 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class StreamMessageList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, service_sid, stream_sid): - """ - Initialize the StreamMessageList - - :param Version version: Version that contains the resource - :param service_sid: Service Instance SID. - :param stream_sid: Stream SID. - - :returns: twilio.rest.sync.v1.service.sync_stream.stream_message.StreamMessageList - :rtype: twilio.rest.sync.v1.service.sync_stream.stream_message.StreamMessageList - """ - super(StreamMessageList, self).__init__(version) - - # Path Solution - self._solution = {'service_sid': service_sid, 'stream_sid': stream_sid, } - self._uri = '/Services/{service_sid}/Streams/{stream_sid}/Messages'.format(**self._solution) - - def create(self, data): - """ - Create a new StreamMessageInstance - - :param dict data: Stream Message body. - - :returns: Newly created StreamMessageInstance - :rtype: twilio.rest.sync.v1.service.sync_stream.stream_message.StreamMessageInstance - """ - data = values.of({'Data': serialize.object(data), }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return StreamMessageInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - stream_sid=self._solution['stream_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Sync.V1.StreamMessageList>' - - -class StreamMessagePage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the StreamMessagePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param service_sid: Service Instance SID. - :param stream_sid: Stream SID. - - :returns: twilio.rest.sync.v1.service.sync_stream.stream_message.StreamMessagePage - :rtype: twilio.rest.sync.v1.service.sync_stream.stream_message.StreamMessagePage - """ - super(StreamMessagePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of StreamMessageInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.sync.v1.service.sync_stream.stream_message.StreamMessageInstance - :rtype: twilio.rest.sync.v1.service.sync_stream.stream_message.StreamMessageInstance - """ - return StreamMessageInstance( - self._version, - payload, - service_sid=self._solution['service_sid'], - stream_sid=self._solution['stream_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Sync.V1.StreamMessagePage>' - - -class StreamMessageInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, payload, service_sid, stream_sid): - """ - Initialize the StreamMessageInstance - - :returns: twilio.rest.sync.v1.service.sync_stream.stream_message.StreamMessageInstance - :rtype: twilio.rest.sync.v1.service.sync_stream.stream_message.StreamMessageInstance - """ - super(StreamMessageInstance, self).__init__(version) - - # Marshaled Properties - self._properties = {'sid': payload['sid'], 'data': payload['data'], } - - # Context - self._context = None - self._solution = {'service_sid': service_sid, 'stream_sid': stream_sid, } - - @property - def sid(self): - """ - :returns: Stream Message SID. - :rtype: unicode - """ - return self._properties['sid'] - - @property - def data(self): - """ - :returns: Stream Message body. - :rtype: dict - """ - return self._properties['data'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Sync.V1.StreamMessageInstance>' diff --git a/twilio/rest/taskrouter/__init__.py b/twilio/rest/taskrouter/__init__.py deleted file mode 100644 index fd026a5..0000000 --- a/twilio/rest/taskrouter/__init__.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.domain import Domain -from twilio.rest.taskrouter.v1 import V1 - - -class Taskrouter(Domain): - - def __init__(self, twilio): - """ - Initialize the Taskrouter Domain - - :returns: Domain for Taskrouter - :rtype: twilio.rest.taskrouter.Taskrouter - """ - super(Taskrouter, self).__init__(twilio) - - self.base_url = 'https://taskrouter.twilio.com' - - # Versions - self._v1 = None - - @property - def v1(self): - """ - :returns: Version v1 of taskrouter - :rtype: twilio.rest.taskrouter.v1.V1 - """ - if self._v1 is None: - self._v1 = V1(self) - return self._v1 - - @property - def workspaces(self): - """ - :rtype: twilio.rest.taskrouter.v1.workspace.WorkspaceList - """ - return self.v1.workspaces - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter>' diff --git a/twilio/rest/taskrouter/__pycache__/__init__.cpython-36.pyc b/twilio/rest/taskrouter/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 2133e93f19a0fd6397148e0118d8c6b23756bdb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1663 zcmah}L2uhO6s9QIRy4aS*6y$Y1$b+Gs2rm=BPdq1z%Z-}HZ02kK>)#s^sGddRFZaJ zLAM0xF8d8T@3-u-v#vYsFYL5ONtWCq+X#?+5+C`#kMDbYKACvG|M6?^vxCr|=%B$j z`U1K-fq|m{af{=`TH^p)#<mlC?F5d6zC_&NgFD0r0^i!ffDgY%(^0{^^Hr=!lyO0B zm?A%kR7j=;Czm@fBr`$@G#F^v&K@brF`b4p7>;Qf&Pq}q&%k3l_fPy2&-fGA*tD7V z7XU+3s~Wz})+|oJ!WZ+%{M<LYHPk5>0tFWE!0*t~GF<N5z!na-xpRkZtzZB)V6W{V zA942%1*3P!L4gZ=jw<h*scV^Sw2%>Q&o#4&VY(tPXr!$Y-Qp`;TDO+DrxH<{V;CKd z;T*g8rR71$S81$cmc)f1dL>AIK4}Pfo##Rdy^*O}v@2wp$pilbKfTMvg6Nw#i8Egc zrG4GO_WKCkj^fEm>s&2nvje|&dz7uurh{srHo1_}=%I2cjR7^Km3zsQpc|P~Hr>vr zxN?+8mcg*u3%NL=G)kCKl>UbPrmq&^4@yWCeisKTmW40#{58`oe3L~i3D3nk5A!&G zcDacY{_MF*vgJ<Qgw0|5$<PUVnBg9apYP-l(0vSD83T<T;-OtU>iPP6-^eoS(9CSo z_X@iD9EK8ILAtJ8`M6G@NnHI8l7>Odt?EdhiVL6<XDO(YWJ}WHI&l5ZY=EjS=AHA| z6iXLiNTa2xC6A2#Q8$dis_=IH1m=e0(6c<Nm>h82&fjBa7}o5}v4-811zfD+>n`R( z{vW`bOkS&;MZ*7aZ@r0??oI&E6NAj_9M%2U<pXeg3SHH;Gblbi0N!uDpMa4bH{fwm zbfLeM**1o^g^{I<Maq*Mks=3;h*UETiMg+QzG2ZSPQ|}&>9gG2jMB0TSUfsCZ|bUt z{-RFN{gh3y7(|r%9q-WxqHNaTbphX$tpya8N9j7_o5a{-O5bi+(yY`PuiRW_P>y<6 zUwnP7(g?qrwDlH=B!R%4bO4+O>(VHwE@G1~Wi;X9@q@899@T%(ro(DPDbFHGgHPHQ uz|^?U>(^D9yak`N3m?8L+j*_q`lLQ|W7X1iPa9G%Mkcx`QU{N%vHcI^fTY?0 diff --git a/twilio/rest/taskrouter/v1/__init__.py b/twilio/rest/taskrouter/v1/__init__.py deleted file mode 100644 index c1ea2e7..0000000 --- a/twilio/rest/taskrouter/v1/__init__.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.taskrouter.v1.workspace import WorkspaceList - - -class V1(Version): - - def __init__(self, domain): - """ - Initialize the V1 version of Taskrouter - - :returns: V1 version of Taskrouter - :rtype: twilio.rest.taskrouter.v1.V1.V1 - """ - super(V1, self).__init__(domain) - self.version = 'v1' - self._workspaces = None - - @property - def workspaces(self): - """ - :rtype: twilio.rest.taskrouter.v1.workspace.WorkspaceList - """ - if self._workspaces is None: - self._workspaces = WorkspaceList(self) - return self._workspaces - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1>' diff --git a/twilio/rest/taskrouter/v1/__pycache__/__init__.cpython-36.pyc b/twilio/rest/taskrouter/v1/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 6bc0a8c0e746ecd4721132b30f1fbb749403cd17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1430 zcmah|&u`N(6t<o8$FdfXKpZ$(;<6mpuHsfr69^=PfC<DHQWVMZVwYu0n_#=0TIIG$ z`~{pj^S5x}oFkn07dY{pq!~j@Sn>0d^ZfjM?|pvI?|WareGa}m2>n2R3>W-|F!c@? zfdVA3APJt5fMDx8i8FNr7o(?0xT1A|L`#x$CuoWG8{~IZ+&egqHH}gs=^5Aby_`wK zjTH1~>4kJi8HE9c<@M^(oNh5c9D><mc{t2zzBPo1#b~fI*zs&Ug@e@?dOrae@^R5Q zluF0x4BY;^RGsRKNAg9iO=JVs1NfDr<RejlffM<NCfM@2=mw5-g(KVxbdG@ou(&`$ z`y+Bu(6M|9ayW`eox`p+pPib5G05N?os$!i<8y55lOyH`0@f7-&O575HGWE;&0-Vt zBwk5sjwL-D(M3gorW1O=^{GndMk=p4Fjmsc)l84CkFASB$I2`-Ii}_;PU3W+q&5T7 zq#Qsc5AD~a4#;A(@3)GUo@Y`i+w`K#SPT#uD>^l>Vw0V%3#)xnxLPKYqAk)Xk8RmE z7>g3FHDh1UucOD~@T~?$;p;d!=4tpS%bsw<!xw49lkh-JvoMRZ?W1{|i0ubDNheEv z7FLMYiv=ED0uL9XaE)q^Ema$E-h`>GgF3fx8?QEj**Ye|b{~daZMPo7)c3&T=mffR z+EsVTj@dqyd(b1YdfwFK|8;B%GPt6-Cd0l@R2ME(RwO=F8`keNrVn1>HAzZr6`Pia zJ-q4zo6Emf_*hOQAKNW~OXREO-d8GJ#PH@gov2vOM6#qxW>8N#Gu*&4`IoL<^5{68 z$!m}NEiY|UbK&al?m?xtOYMTh_DZtX5C@4_P>kIN3c7q&ow|Y5zTdSnobjmy8G4LO zQ!!7h-(&2<oF~<vQU^shQz?koEY%IjrmQZCeyzwzCJEft)E)3_+8|s0Qtj3$>)s{3 z&E7`2x9_)$4r3yX7z=LKPw9wjIjG-*vWSEG*FUnRb7l9-q?Z^fuM|Lcw<5OJS;KHi H5BHqkIht&# diff --git a/twilio/rest/taskrouter/v1/workspace/__init__.py b/twilio/rest/taskrouter/v1/workspace/__init__.py deleted file mode 100644 index 81a6379..0000000 --- a/twilio/rest/taskrouter/v1/workspace/__init__.py +++ /dev/null @@ -1,796 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.taskrouter.v1.workspace.activity import ActivityList -from twilio.rest.taskrouter.v1.workspace.event import EventList -from twilio.rest.taskrouter.v1.workspace.task import TaskList -from twilio.rest.taskrouter.v1.workspace.task_channel import TaskChannelList -from twilio.rest.taskrouter.v1.workspace.task_queue import TaskQueueList -from twilio.rest.taskrouter.v1.workspace.worker import WorkerList -from twilio.rest.taskrouter.v1.workspace.workflow import WorkflowList -from twilio.rest.taskrouter.v1.workspace.workspace_cumulative_statistics import WorkspaceCumulativeStatisticsList -from twilio.rest.taskrouter.v1.workspace.workspace_real_time_statistics import WorkspaceRealTimeStatisticsList -from twilio.rest.taskrouter.v1.workspace.workspace_statistics import WorkspaceStatisticsList - - -class WorkspaceList(ListResource): - """ """ - - def __init__(self, version): - """ - Initialize the WorkspaceList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.taskrouter.v1.workspace.WorkspaceList - :rtype: twilio.rest.taskrouter.v1.workspace.WorkspaceList - """ - super(WorkspaceList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Workspaces'.format(**self._solution) - - def stream(self, friendly_name=values.unset, limit=None, page_size=None): - """ - Streams WorkspaceInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode friendly_name: The friendly_name - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.taskrouter.v1.workspace.WorkspaceInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(friendly_name=friendly_name, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, friendly_name=values.unset, limit=None, page_size=None): - """ - Lists WorkspaceInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode friendly_name: The friendly_name - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.taskrouter.v1.workspace.WorkspaceInstance] - """ - return list(self.stream(friendly_name=friendly_name, limit=limit, page_size=page_size, )) - - def page(self, friendly_name=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of WorkspaceInstance records from the API. - Request is executed immediately - - :param unicode friendly_name: The friendly_name - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of WorkspaceInstance - :rtype: twilio.rest.taskrouter.v1.workspace.WorkspacePage - """ - params = values.of({ - 'FriendlyName': friendly_name, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return WorkspacePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of WorkspaceInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of WorkspaceInstance - :rtype: twilio.rest.taskrouter.v1.workspace.WorkspacePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return WorkspacePage(self._version, response, self._solution) - - def create(self, friendly_name, event_callback_url=values.unset, - events_filter=values.unset, multi_task_enabled=values.unset, - template=values.unset, prioritize_queue_order=values.unset): - """ - Create a new WorkspaceInstance - - :param unicode friendly_name: The friendly_name - :param unicode event_callback_url: The event_callback_url - :param unicode events_filter: The events_filter - :param bool multi_task_enabled: The multi_task_enabled - :param unicode template: The template - :param WorkspaceInstance.QueueOrder prioritize_queue_order: The prioritize_queue_order - - :returns: Newly created WorkspaceInstance - :rtype: twilio.rest.taskrouter.v1.workspace.WorkspaceInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'EventCallbackUrl': event_callback_url, - 'EventsFilter': events_filter, - 'MultiTaskEnabled': multi_task_enabled, - 'Template': template, - 'PrioritizeQueueOrder': prioritize_queue_order, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return WorkspaceInstance(self._version, payload, ) - - def get(self, sid): - """ - Constructs a WorkspaceContext - - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.WorkspaceContext - :rtype: twilio.rest.taskrouter.v1.workspace.WorkspaceContext - """ - return WorkspaceContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a WorkspaceContext - - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.WorkspaceContext - :rtype: twilio.rest.taskrouter.v1.workspace.WorkspaceContext - """ - return WorkspaceContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkspaceList>' - - -class WorkspacePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the WorkspacePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.taskrouter.v1.workspace.WorkspacePage - :rtype: twilio.rest.taskrouter.v1.workspace.WorkspacePage - """ - super(WorkspacePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of WorkspaceInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.taskrouter.v1.workspace.WorkspaceInstance - :rtype: twilio.rest.taskrouter.v1.workspace.WorkspaceInstance - """ - return WorkspaceInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkspacePage>' - - -class WorkspaceContext(InstanceContext): - """ """ - - def __init__(self, version, sid): - """ - Initialize the WorkspaceContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.WorkspaceContext - :rtype: twilio.rest.taskrouter.v1.workspace.WorkspaceContext - """ - super(WorkspaceContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Workspaces/{sid}'.format(**self._solution) - - # Dependents - self._activities = None - self._events = None - self._tasks = None - self._task_queues = None - self._workers = None - self._workflows = None - self._statistics = None - self._real_time_statistics = None - self._cumulative_statistics = None - self._task_channels = None - - def fetch(self): - """ - Fetch a WorkspaceInstance - - :returns: Fetched WorkspaceInstance - :rtype: twilio.rest.taskrouter.v1.workspace.WorkspaceInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return WorkspaceInstance(self._version, payload, sid=self._solution['sid'], ) - - def update(self, default_activity_sid=values.unset, - event_callback_url=values.unset, events_filter=values.unset, - friendly_name=values.unset, multi_task_enabled=values.unset, - timeout_activity_sid=values.unset, - prioritize_queue_order=values.unset): - """ - Update the WorkspaceInstance - - :param unicode default_activity_sid: The default_activity_sid - :param unicode event_callback_url: The event_callback_url - :param unicode events_filter: The events_filter - :param unicode friendly_name: The friendly_name - :param bool multi_task_enabled: The multi_task_enabled - :param unicode timeout_activity_sid: The timeout_activity_sid - :param WorkspaceInstance.QueueOrder prioritize_queue_order: The prioritize_queue_order - - :returns: Updated WorkspaceInstance - :rtype: twilio.rest.taskrouter.v1.workspace.WorkspaceInstance - """ - data = values.of({ - 'DefaultActivitySid': default_activity_sid, - 'EventCallbackUrl': event_callback_url, - 'EventsFilter': events_filter, - 'FriendlyName': friendly_name, - 'MultiTaskEnabled': multi_task_enabled, - 'TimeoutActivitySid': timeout_activity_sid, - 'PrioritizeQueueOrder': prioritize_queue_order, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return WorkspaceInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the WorkspaceInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - @property - def activities(self): - """ - Access the activities - - :returns: twilio.rest.taskrouter.v1.workspace.activity.ActivityList - :rtype: twilio.rest.taskrouter.v1.workspace.activity.ActivityList - """ - if self._activities is None: - self._activities = ActivityList(self._version, workspace_sid=self._solution['sid'], ) - return self._activities - - @property - def events(self): - """ - Access the events - - :returns: twilio.rest.taskrouter.v1.workspace.event.EventList - :rtype: twilio.rest.taskrouter.v1.workspace.event.EventList - """ - if self._events is None: - self._events = EventList(self._version, workspace_sid=self._solution['sid'], ) - return self._events - - @property - def tasks(self): - """ - Access the tasks - - :returns: twilio.rest.taskrouter.v1.workspace.task.TaskList - :rtype: twilio.rest.taskrouter.v1.workspace.task.TaskList - """ - if self._tasks is None: - self._tasks = TaskList(self._version, workspace_sid=self._solution['sid'], ) - return self._tasks - - @property - def task_queues(self): - """ - Access the task_queues - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueueList - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueueList - """ - if self._task_queues is None: - self._task_queues = TaskQueueList(self._version, workspace_sid=self._solution['sid'], ) - return self._task_queues - - @property - def workers(self): - """ - Access the workers - - :returns: twilio.rest.taskrouter.v1.workspace.worker.WorkerList - :rtype: twilio.rest.taskrouter.v1.workspace.worker.WorkerList - """ - if self._workers is None: - self._workers = WorkerList(self._version, workspace_sid=self._solution['sid'], ) - return self._workers - - @property - def workflows(self): - """ - Access the workflows - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.WorkflowList - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.WorkflowList - """ - if self._workflows is None: - self._workflows = WorkflowList(self._version, workspace_sid=self._solution['sid'], ) - return self._workflows - - @property - def statistics(self): - """ - Access the statistics - - :returns: twilio.rest.taskrouter.v1.workspace.workspace_statistics.WorkspaceStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_statistics.WorkspaceStatisticsList - """ - if self._statistics is None: - self._statistics = WorkspaceStatisticsList(self._version, workspace_sid=self._solution['sid'], ) - return self._statistics - - @property - def real_time_statistics(self): - """ - Access the real_time_statistics - - :returns: twilio.rest.taskrouter.v1.workspace.workspace_real_time_statistics.WorkspaceRealTimeStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_real_time_statistics.WorkspaceRealTimeStatisticsList - """ - if self._real_time_statistics is None: - self._real_time_statistics = WorkspaceRealTimeStatisticsList( - self._version, - workspace_sid=self._solution['sid'], - ) - return self._real_time_statistics - - @property - def cumulative_statistics(self): - """ - Access the cumulative_statistics - - :returns: twilio.rest.taskrouter.v1.workspace.workspace_cumulative_statistics.WorkspaceCumulativeStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_cumulative_statistics.WorkspaceCumulativeStatisticsList - """ - if self._cumulative_statistics is None: - self._cumulative_statistics = WorkspaceCumulativeStatisticsList( - self._version, - workspace_sid=self._solution['sid'], - ) - return self._cumulative_statistics - - @property - def task_channels(self): - """ - Access the task_channels - - :returns: twilio.rest.taskrouter.v1.workspace.task_channel.TaskChannelList - :rtype: twilio.rest.taskrouter.v1.workspace.task_channel.TaskChannelList - """ - if self._task_channels is None: - self._task_channels = TaskChannelList(self._version, workspace_sid=self._solution['sid'], ) - return self._task_channels - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkspaceContext {}>'.format(context) - - -class WorkspaceInstance(InstanceResource): - """ """ - - class QueueOrder(object): - FIFO = "FIFO" - LIFO = "LIFO" - - def __init__(self, version, payload, sid=None): - """ - Initialize the WorkspaceInstance - - :returns: twilio.rest.taskrouter.v1.workspace.WorkspaceInstance - :rtype: twilio.rest.taskrouter.v1.workspace.WorkspaceInstance - """ - super(WorkspaceInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'default_activity_name': payload['default_activity_name'], - 'default_activity_sid': payload['default_activity_sid'], - 'event_callback_url': payload['event_callback_url'], - 'events_filter': payload['events_filter'], - 'friendly_name': payload['friendly_name'], - 'multi_task_enabled': payload['multi_task_enabled'], - 'sid': payload['sid'], - 'timeout_activity_name': payload['timeout_activity_name'], - 'timeout_activity_sid': payload['timeout_activity_sid'], - 'prioritize_queue_order': payload['prioritize_queue_order'], - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: WorkspaceContext for this WorkspaceInstance - :rtype: twilio.rest.taskrouter.v1.workspace.WorkspaceContext - """ - if self._context is None: - self._context = WorkspaceContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def default_activity_name(self): - """ - :returns: The default_activity_name - :rtype: unicode - """ - return self._properties['default_activity_name'] - - @property - def default_activity_sid(self): - """ - :returns: The default_activity_sid - :rtype: unicode - """ - return self._properties['default_activity_sid'] - - @property - def event_callback_url(self): - """ - :returns: The event_callback_url - :rtype: unicode - """ - return self._properties['event_callback_url'] - - @property - def events_filter(self): - """ - :returns: The events_filter - :rtype: unicode - """ - return self._properties['events_filter'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def multi_task_enabled(self): - """ - :returns: The multi_task_enabled - :rtype: bool - """ - return self._properties['multi_task_enabled'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def timeout_activity_name(self): - """ - :returns: The timeout_activity_name - :rtype: unicode - """ - return self._properties['timeout_activity_name'] - - @property - def timeout_activity_sid(self): - """ - :returns: The timeout_activity_sid - :rtype: unicode - """ - return self._properties['timeout_activity_sid'] - - @property - def prioritize_queue_order(self): - """ - :returns: The prioritize_queue_order - :rtype: WorkspaceInstance.QueueOrder - """ - return self._properties['prioritize_queue_order'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a WorkspaceInstance - - :returns: Fetched WorkspaceInstance - :rtype: twilio.rest.taskrouter.v1.workspace.WorkspaceInstance - """ - return self._proxy.fetch() - - def update(self, default_activity_sid=values.unset, - event_callback_url=values.unset, events_filter=values.unset, - friendly_name=values.unset, multi_task_enabled=values.unset, - timeout_activity_sid=values.unset, - prioritize_queue_order=values.unset): - """ - Update the WorkspaceInstance - - :param unicode default_activity_sid: The default_activity_sid - :param unicode event_callback_url: The event_callback_url - :param unicode events_filter: The events_filter - :param unicode friendly_name: The friendly_name - :param bool multi_task_enabled: The multi_task_enabled - :param unicode timeout_activity_sid: The timeout_activity_sid - :param WorkspaceInstance.QueueOrder prioritize_queue_order: The prioritize_queue_order - - :returns: Updated WorkspaceInstance - :rtype: twilio.rest.taskrouter.v1.workspace.WorkspaceInstance - """ - return self._proxy.update( - default_activity_sid=default_activity_sid, - event_callback_url=event_callback_url, - events_filter=events_filter, - friendly_name=friendly_name, - multi_task_enabled=multi_task_enabled, - timeout_activity_sid=timeout_activity_sid, - prioritize_queue_order=prioritize_queue_order, - ) - - def delete(self): - """ - Deletes the WorkspaceInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - @property - def activities(self): - """ - Access the activities - - :returns: twilio.rest.taskrouter.v1.workspace.activity.ActivityList - :rtype: twilio.rest.taskrouter.v1.workspace.activity.ActivityList - """ - return self._proxy.activities - - @property - def events(self): - """ - Access the events - - :returns: twilio.rest.taskrouter.v1.workspace.event.EventList - :rtype: twilio.rest.taskrouter.v1.workspace.event.EventList - """ - return self._proxy.events - - @property - def tasks(self): - """ - Access the tasks - - :returns: twilio.rest.taskrouter.v1.workspace.task.TaskList - :rtype: twilio.rest.taskrouter.v1.workspace.task.TaskList - """ - return self._proxy.tasks - - @property - def task_queues(self): - """ - Access the task_queues - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueueList - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueueList - """ - return self._proxy.task_queues - - @property - def workers(self): - """ - Access the workers - - :returns: twilio.rest.taskrouter.v1.workspace.worker.WorkerList - :rtype: twilio.rest.taskrouter.v1.workspace.worker.WorkerList - """ - return self._proxy.workers - - @property - def workflows(self): - """ - Access the workflows - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.WorkflowList - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.WorkflowList - """ - return self._proxy.workflows - - @property - def statistics(self): - """ - Access the statistics - - :returns: twilio.rest.taskrouter.v1.workspace.workspace_statistics.WorkspaceStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_statistics.WorkspaceStatisticsList - """ - return self._proxy.statistics - - @property - def real_time_statistics(self): - """ - Access the real_time_statistics - - :returns: twilio.rest.taskrouter.v1.workspace.workspace_real_time_statistics.WorkspaceRealTimeStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_real_time_statistics.WorkspaceRealTimeStatisticsList - """ - return self._proxy.real_time_statistics - - @property - def cumulative_statistics(self): - """ - Access the cumulative_statistics - - :returns: twilio.rest.taskrouter.v1.workspace.workspace_cumulative_statistics.WorkspaceCumulativeStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_cumulative_statistics.WorkspaceCumulativeStatisticsList - """ - return self._proxy.cumulative_statistics - - @property - def task_channels(self): - """ - Access the task_channels - - :returns: twilio.rest.taskrouter.v1.workspace.task_channel.TaskChannelList - :rtype: twilio.rest.taskrouter.v1.workspace.task_channel.TaskChannelList - """ - return self._proxy.task_channels - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkspaceInstance {}>'.format(context) diff --git a/twilio/rest/taskrouter/v1/workspace/__pycache__/__init__.cpython-36.pyc b/twilio/rest/taskrouter/v1/workspace/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 5eca0ed1ee03d267453b57ce835c882dd0264398..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27148 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 diff --git a/twilio/rest/taskrouter/v1/workspace/__pycache__/activity.cpython-36.pyc b/twilio/rest/taskrouter/v1/workspace/__pycache__/activity.cpython-36.pyc deleted file mode 100644 index a04b82656f1e3ed2cf70523de500b8d19621bc09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15546 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 GZv79#zpE1f diff --git a/twilio/rest/taskrouter/v1/workspace/__pycache__/event.cpython-36.pyc b/twilio/rest/taskrouter/v1/workspace/__pycache__/event.cpython-36.pyc deleted file mode 100644 index 30b6a1f1708b3261b14616d37af1c2b7ec9b461b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16442 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 Be7^ty diff --git a/twilio/rest/taskrouter/v1/workspace/__pycache__/task_channel.cpython-36.pyc b/twilio/rest/taskrouter/v1/workspace/__pycache__/task_channel.cpython-36.pyc deleted file mode 100644 index 88882ba1d4d697c0d0e35af79921e29fbb3690cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13431 zcmeHOO^h7Jb?%?}pZy~xQCdlkJC<zkB;@QeiezU^GnOe^ARw=4ijslx8trCRFSnO7 z)1&Slk~`c*5-b590tUVq$iYai$uY>;fbYK8fDcCB3?B?%d@$gHb@KOKb=TC)&T!Y@ z%83lmqN}T`tE*nUdiA}Zs(o#7vGL=d{AcI-hGG2D(0(Q4zl1CK9ui@63}FhZYxb;; zWm4Wo-tO3(FLg`3a;MDsa<|f}cB-7ObZfnOr_T9mx6x~Mnx^r#A!?%j$Po3Qeq?tR z@Z1nhJU4?To)_`FAQthw7?kn6gy$u(jOXQ`isxmq@~+W3H}V>{cEiN+BM~_Fy~Mc_ z^n=(-1L54>Z)`j3j_cru#68IG4d=jFb6eZ%NY>ng?ezoaU~L^W?p<zgv^N@5-@%9S zx8C?Q25z*>tSN#dh(oU%jsiSZ?s?r|kRZ2wy`Q9B-w&=u{WN%xqG+Wkx)~(VF!t$# zg?GXv)t*Z?ygPwUjTb*V&m?=u1V+aMzb#>Q?C%;o;JUCM)jB2dj3|rBBePQ$&x)$3 zAy)~id$r=)u|-`pP+AvFvGB;~G{mA<!o4ZLGu#)%IdLBM#qSy=qq77qK9?=u@{+sP zcD;T-=n|PD%W?dI9J&`*(#At-q~?KfWbIi8=8;L$dSHbpacyDkm3E8+W6%CKdM*na z&6m9EreWlKb)4({FqK?%(%rzB>barnZ4SKH>pAZSaS}#-=bpT8s)BUaOEK^L)C>Cw zHx=j1o^IlP6yHq-o*%eLC^ns2=yjq<>oX40VcbtPo%DX#4Wl-iOxr1#6Gy`|h})16 z^(mLTzT{eadK|g@IGb_0KM2mS!E8}cK;s#$t$(u^U$Xvi;@#o8Mpd%as$}J4I0)jn zhFQ#Nt{Y-5TsNz`Nz@&tU~^X4iQ=A@W+itRhb=oRB|tLEH~>-Z3|Tz6f+>m`Zn z{<rbr;M(T)dsrID_BX=Lt`}{;IT*a<rQY^Ck?(c4Zw0-<_8=Twx;+fL;?iqLH`>`x z?r%#D7dK+`_L$Mz_bzX%p>Vlk^k6@3f{JHxB^4w_W5sTmqZhQHk_fkp(QPR~E~7GC z*Kj3oAc3G7d*%Ve_sBZ5@njv?!dx|k_1HWt@mu?#gfe^8Kw4Tgj!2-(-p{Zel$5=j z#(~#MbV)9jzY_<36pO^!iK8CN=$kjLJAf�IDc<68^re+G9YAFijrKh|~2(VRzr@ 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 R4h*OE%0C(9m9>@E{{VKYwe<i1 diff --git a/twilio/rest/taskrouter/v1/workspace/__pycache__/workspace_cumulative_statistics.cpython-36.pyc b/twilio/rest/taskrouter/v1/workspace/__pycache__/workspace_cumulative_statistics.cpython-36.pyc deleted file mode 100644 index aba56634d7f105552cf8c684badc821762cb4e3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15657 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 diff --git a/twilio/rest/taskrouter/v1/workspace/__pycache__/workspace_real_time_statistics.cpython-36.pyc b/twilio/rest/taskrouter/v1/workspace/__pycache__/workspace_real_time_statistics.cpython-36.pyc deleted file mode 100644 index e96ee71eec1e8de0d01ae003d48bdf7eb18c5c19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11398 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 UPwwzp2#>dUsWx9|UT9wZFQ<1Q_y7O^ diff --git a/twilio/rest/taskrouter/v1/workspace/__pycache__/workspace_statistics.cpython-36.pyc b/twilio/rest/taskrouter/v1/workspace/__pycache__/workspace_statistics.cpython-36.pyc deleted file mode 100644 index c39666e3d6629a8fe099a78231e77ddba1ce8d30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10250 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 diff --git a/twilio/rest/taskrouter/v1/workspace/activity.py b/twilio/rest/taskrouter/v1/workspace/activity.py deleted file mode 100644 index affb6eb..0000000 --- a/twilio/rest/taskrouter/v1/workspace/activity.py +++ /dev/null @@ -1,461 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class ActivityList(ListResource): - """ """ - - def __init__(self, version, workspace_sid): - """ - Initialize the ActivityList - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.activity.ActivityList - :rtype: twilio.rest.taskrouter.v1.workspace.activity.ActivityList - """ - super(ActivityList, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, } - self._uri = '/Workspaces/{workspace_sid}/Activities'.format(**self._solution) - - def stream(self, friendly_name=values.unset, available=values.unset, limit=None, - page_size=None): - """ - Streams ActivityInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode friendly_name: The friendly_name - :param unicode available: The available - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.taskrouter.v1.workspace.activity.ActivityInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(friendly_name=friendly_name, available=available, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, friendly_name=values.unset, available=values.unset, limit=None, - page_size=None): - """ - Lists ActivityInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode friendly_name: The friendly_name - :param unicode available: The available - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.taskrouter.v1.workspace.activity.ActivityInstance] - """ - return list(self.stream( - friendly_name=friendly_name, - available=available, - limit=limit, - page_size=page_size, - )) - - def page(self, friendly_name=values.unset, available=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of ActivityInstance records from the API. - Request is executed immediately - - :param unicode friendly_name: The friendly_name - :param unicode available: The available - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ActivityInstance - :rtype: twilio.rest.taskrouter.v1.workspace.activity.ActivityPage - """ - params = values.of({ - 'FriendlyName': friendly_name, - 'Available': available, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ActivityPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ActivityInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ActivityInstance - :rtype: twilio.rest.taskrouter.v1.workspace.activity.ActivityPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ActivityPage(self._version, response, self._solution) - - def create(self, friendly_name, available=values.unset): - """ - Create a new ActivityInstance - - :param unicode friendly_name: The friendly_name - :param bool available: The available - - :returns: Newly created ActivityInstance - :rtype: twilio.rest.taskrouter.v1.workspace.activity.ActivityInstance - """ - data = values.of({'FriendlyName': friendly_name, 'Available': available, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return ActivityInstance(self._version, payload, workspace_sid=self._solution['workspace_sid'], ) - - def get(self, sid): - """ - Constructs a ActivityContext - - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.activity.ActivityContext - :rtype: twilio.rest.taskrouter.v1.workspace.activity.ActivityContext - """ - return ActivityContext(self._version, workspace_sid=self._solution['workspace_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a ActivityContext - - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.activity.ActivityContext - :rtype: twilio.rest.taskrouter.v1.workspace.activity.ActivityContext - """ - return ActivityContext(self._version, workspace_sid=self._solution['workspace_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.ActivityList>' - - -class ActivityPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the ActivityPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.activity.ActivityPage - :rtype: twilio.rest.taskrouter.v1.workspace.activity.ActivityPage - """ - super(ActivityPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ActivityInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.taskrouter.v1.workspace.activity.ActivityInstance - :rtype: twilio.rest.taskrouter.v1.workspace.activity.ActivityInstance - """ - return ActivityInstance(self._version, payload, workspace_sid=self._solution['workspace_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.ActivityPage>' - - -class ActivityContext(InstanceContext): - """ """ - - def __init__(self, version, workspace_sid, sid): - """ - Initialize the ActivityContext - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.activity.ActivityContext - :rtype: twilio.rest.taskrouter.v1.workspace.activity.ActivityContext - """ - super(ActivityContext, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, 'sid': sid, } - self._uri = '/Workspaces/{workspace_sid}/Activities/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a ActivityInstance - - :returns: Fetched ActivityInstance - :rtype: twilio.rest.taskrouter.v1.workspace.activity.ActivityInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ActivityInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - sid=self._solution['sid'], - ) - - def update(self, friendly_name=values.unset): - """ - Update the ActivityInstance - - :param unicode friendly_name: The friendly_name - - :returns: Updated ActivityInstance - :rtype: twilio.rest.taskrouter.v1.workspace.activity.ActivityInstance - """ - data = values.of({'FriendlyName': friendly_name, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ActivityInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the ActivityInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.ActivityContext {}>'.format(context) - - -class ActivityInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, workspace_sid, sid=None): - """ - Initialize the ActivityInstance - - :returns: twilio.rest.taskrouter.v1.workspace.activity.ActivityInstance - :rtype: twilio.rest.taskrouter.v1.workspace.activity.ActivityInstance - """ - super(ActivityInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'available': payload['available'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'friendly_name': payload['friendly_name'], - 'sid': payload['sid'], - 'workspace_sid': payload['workspace_sid'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'workspace_sid': workspace_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ActivityContext for this ActivityInstance - :rtype: twilio.rest.taskrouter.v1.workspace.activity.ActivityContext - """ - if self._context is None: - self._context = ActivityContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def available(self): - """ - :returns: The available - :rtype: bool - """ - return self._properties['available'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def workspace_sid(self): - """ - :returns: The workspace_sid - :rtype: unicode - """ - return self._properties['workspace_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a ActivityInstance - - :returns: Fetched ActivityInstance - :rtype: twilio.rest.taskrouter.v1.workspace.activity.ActivityInstance - """ - return self._proxy.fetch() - - def update(self, friendly_name=values.unset): - """ - Update the ActivityInstance - - :param unicode friendly_name: The friendly_name - - :returns: Updated ActivityInstance - :rtype: twilio.rest.taskrouter.v1.workspace.activity.ActivityInstance - """ - return self._proxy.update(friendly_name=friendly_name, ) - - def delete(self): - """ - Deletes the ActivityInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.ActivityInstance {}>'.format(context) diff --git a/twilio/rest/taskrouter/v1/workspace/event.py b/twilio/rest/taskrouter/v1/workspace/event.py deleted file mode 100644 index b632ade..0000000 --- a/twilio/rest/taskrouter/v1/workspace/event.py +++ /dev/null @@ -1,507 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class EventList(ListResource): - """ """ - - def __init__(self, version, workspace_sid): - """ - Initialize the EventList - - :param Version version: Version that contains the resource - :param workspace_sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.event.EventList - :rtype: twilio.rest.taskrouter.v1.workspace.event.EventList - """ - super(EventList, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, } - self._uri = '/Workspaces/{workspace_sid}/Events'.format(**self._solution) - - def stream(self, end_date=values.unset, event_type=values.unset, - minutes=values.unset, reservation_sid=values.unset, - start_date=values.unset, task_queue_sid=values.unset, - task_sid=values.unset, worker_sid=values.unset, - workflow_sid=values.unset, limit=None, page_size=None): - """ - Streams EventInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param datetime end_date: The end_date - :param unicode event_type: The event_type - :param unicode minutes: The minutes - :param unicode reservation_sid: The reservation_sid - :param datetime start_date: The start_date - :param unicode task_queue_sid: The task_queue_sid - :param unicode task_sid: The task_sid - :param unicode worker_sid: The worker_sid - :param unicode workflow_sid: The workflow_sid - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.taskrouter.v1.workspace.event.EventInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - end_date=end_date, - event_type=event_type, - minutes=minutes, - reservation_sid=reservation_sid, - start_date=start_date, - task_queue_sid=task_queue_sid, - task_sid=task_sid, - worker_sid=worker_sid, - workflow_sid=workflow_sid, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, end_date=values.unset, event_type=values.unset, - minutes=values.unset, reservation_sid=values.unset, - start_date=values.unset, task_queue_sid=values.unset, - task_sid=values.unset, worker_sid=values.unset, - workflow_sid=values.unset, limit=None, page_size=None): - """ - Lists EventInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param datetime end_date: The end_date - :param unicode event_type: The event_type - :param unicode minutes: The minutes - :param unicode reservation_sid: The reservation_sid - :param datetime start_date: The start_date - :param unicode task_queue_sid: The task_queue_sid - :param unicode task_sid: The task_sid - :param unicode worker_sid: The worker_sid - :param unicode workflow_sid: The workflow_sid - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.taskrouter.v1.workspace.event.EventInstance] - """ - return list(self.stream( - end_date=end_date, - event_type=event_type, - minutes=minutes, - reservation_sid=reservation_sid, - start_date=start_date, - task_queue_sid=task_queue_sid, - task_sid=task_sid, - worker_sid=worker_sid, - workflow_sid=workflow_sid, - limit=limit, - page_size=page_size, - )) - - def page(self, end_date=values.unset, event_type=values.unset, - minutes=values.unset, reservation_sid=values.unset, - start_date=values.unset, task_queue_sid=values.unset, - task_sid=values.unset, worker_sid=values.unset, - workflow_sid=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of EventInstance records from the API. - Request is executed immediately - - :param datetime end_date: The end_date - :param unicode event_type: The event_type - :param unicode minutes: The minutes - :param unicode reservation_sid: The reservation_sid - :param datetime start_date: The start_date - :param unicode task_queue_sid: The task_queue_sid - :param unicode task_sid: The task_sid - :param unicode worker_sid: The worker_sid - :param unicode workflow_sid: The workflow_sid - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of EventInstance - :rtype: twilio.rest.taskrouter.v1.workspace.event.EventPage - """ - params = values.of({ - 'EndDate': serialize.iso8601_datetime(end_date), - 'EventType': event_type, - 'Minutes': minutes, - 'ReservationSid': reservation_sid, - 'StartDate': serialize.iso8601_datetime(start_date), - 'TaskQueueSid': task_queue_sid, - 'TaskSid': task_sid, - 'WorkerSid': worker_sid, - 'WorkflowSid': workflow_sid, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return EventPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of EventInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of EventInstance - :rtype: twilio.rest.taskrouter.v1.workspace.event.EventPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return EventPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a EventContext - - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.event.EventContext - :rtype: twilio.rest.taskrouter.v1.workspace.event.EventContext - """ - return EventContext(self._version, workspace_sid=self._solution['workspace_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a EventContext - - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.event.EventContext - :rtype: twilio.rest.taskrouter.v1.workspace.event.EventContext - """ - return EventContext(self._version, workspace_sid=self._solution['workspace_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.EventList>' - - -class EventPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the EventPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param workspace_sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.event.EventPage - :rtype: twilio.rest.taskrouter.v1.workspace.event.EventPage - """ - super(EventPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of EventInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.taskrouter.v1.workspace.event.EventInstance - :rtype: twilio.rest.taskrouter.v1.workspace.event.EventInstance - """ - return EventInstance(self._version, payload, workspace_sid=self._solution['workspace_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.EventPage>' - - -class EventContext(InstanceContext): - """ """ - - def __init__(self, version, workspace_sid, sid): - """ - Initialize the EventContext - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.event.EventContext - :rtype: twilio.rest.taskrouter.v1.workspace.event.EventContext - """ - super(EventContext, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, 'sid': sid, } - self._uri = '/Workspaces/{workspace_sid}/Events/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a EventInstance - - :returns: Fetched EventInstance - :rtype: twilio.rest.taskrouter.v1.workspace.event.EventInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return EventInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.EventContext {}>'.format(context) - - -class EventInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, workspace_sid, sid=None): - """ - Initialize the EventInstance - - :returns: twilio.rest.taskrouter.v1.workspace.event.EventInstance - :rtype: twilio.rest.taskrouter.v1.workspace.event.EventInstance - """ - super(EventInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'actor_sid': payload['actor_sid'], - 'actor_type': payload['actor_type'], - 'actor_url': payload['actor_url'], - 'description': payload['description'], - 'event_data': payload['event_data'], - 'event_date': deserialize.iso8601_datetime(payload['event_date']), - 'event_type': payload['event_type'], - 'resource_sid': payload['resource_sid'], - 'resource_type': payload['resource_type'], - 'resource_url': payload['resource_url'], - 'sid': payload['sid'], - 'source': payload['source'], - 'source_ip_address': payload['source_ip_address'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'workspace_sid': workspace_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: EventContext for this EventInstance - :rtype: twilio.rest.taskrouter.v1.workspace.event.EventContext - """ - if self._context is None: - self._context = EventContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def actor_sid(self): - """ - :returns: The actor_sid - :rtype: unicode - """ - return self._properties['actor_sid'] - - @property - def actor_type(self): - """ - :returns: The actor_type - :rtype: unicode - """ - return self._properties['actor_type'] - - @property - def actor_url(self): - """ - :returns: The actor_url - :rtype: unicode - """ - return self._properties['actor_url'] - - @property - def description(self): - """ - :returns: The description - :rtype: unicode - """ - return self._properties['description'] - - @property - def event_data(self): - """ - :returns: The event_data - :rtype: unicode - """ - return self._properties['event_data'] - - @property - def event_date(self): - """ - :returns: The event_date - :rtype: datetime - """ - return self._properties['event_date'] - - @property - def event_type(self): - """ - :returns: The event_type - :rtype: unicode - """ - return self._properties['event_type'] - - @property - def resource_sid(self): - """ - :returns: The resource_sid - :rtype: unicode - """ - return self._properties['resource_sid'] - - @property - def resource_type(self): - """ - :returns: The resource_type - :rtype: unicode - """ - return self._properties['resource_type'] - - @property - def resource_url(self): - """ - :returns: The resource_url - :rtype: unicode - """ - return self._properties['resource_url'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def source(self): - """ - :returns: The source - :rtype: unicode - """ - return self._properties['source'] - - @property - def source_ip_address(self): - """ - :returns: The source_ip_address - :rtype: unicode - """ - return self._properties['source_ip_address'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a EventInstance - - :returns: Fetched EventInstance - :rtype: twilio.rest.taskrouter.v1.workspace.event.EventInstance - """ - return self._proxy.fetch() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.EventInstance {}>'.format(context) diff --git a/twilio/rest/taskrouter/v1/workspace/task/__init__.py b/twilio/rest/taskrouter/v1/workspace/task/__init__.py deleted file mode 100644 index d4968b0..0000000 --- a/twilio/rest/taskrouter/v1/workspace/task/__init__.py +++ /dev/null @@ -1,698 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.taskrouter.v1.workspace.task.reservation import ReservationList - - -class TaskList(ListResource): - """ """ - - def __init__(self, version, workspace_sid): - """ - Initialize the TaskList - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.task.TaskList - :rtype: twilio.rest.taskrouter.v1.workspace.task.TaskList - """ - super(TaskList, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, } - self._uri = '/Workspaces/{workspace_sid}/Tasks'.format(**self._solution) - - def stream(self, priority=values.unset, assignment_status=values.unset, - workflow_sid=values.unset, workflow_name=values.unset, - task_queue_sid=values.unset, task_queue_name=values.unset, - evaluate_task_attributes=values.unset, ordering=values.unset, - has_addons=values.unset, limit=None, page_size=None): - """ - Streams TaskInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode priority: The priority - :param unicode assignment_status: The assignment_status - :param unicode workflow_sid: The workflow_sid - :param unicode workflow_name: The workflow_name - :param unicode task_queue_sid: The task_queue_sid - :param unicode task_queue_name: The task_queue_name - :param unicode evaluate_task_attributes: The evaluate_task_attributes - :param unicode ordering: The ordering - :param bool has_addons: The has_addons - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.taskrouter.v1.workspace.task.TaskInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - priority=priority, - assignment_status=assignment_status, - workflow_sid=workflow_sid, - workflow_name=workflow_name, - task_queue_sid=task_queue_sid, - task_queue_name=task_queue_name, - evaluate_task_attributes=evaluate_task_attributes, - ordering=ordering, - has_addons=has_addons, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, priority=values.unset, assignment_status=values.unset, - workflow_sid=values.unset, workflow_name=values.unset, - task_queue_sid=values.unset, task_queue_name=values.unset, - evaluate_task_attributes=values.unset, ordering=values.unset, - has_addons=values.unset, limit=None, page_size=None): - """ - Lists TaskInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode priority: The priority - :param unicode assignment_status: The assignment_status - :param unicode workflow_sid: The workflow_sid - :param unicode workflow_name: The workflow_name - :param unicode task_queue_sid: The task_queue_sid - :param unicode task_queue_name: The task_queue_name - :param unicode evaluate_task_attributes: The evaluate_task_attributes - :param unicode ordering: The ordering - :param bool has_addons: The has_addons - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.taskrouter.v1.workspace.task.TaskInstance] - """ - return list(self.stream( - priority=priority, - assignment_status=assignment_status, - workflow_sid=workflow_sid, - workflow_name=workflow_name, - task_queue_sid=task_queue_sid, - task_queue_name=task_queue_name, - evaluate_task_attributes=evaluate_task_attributes, - ordering=ordering, - has_addons=has_addons, - limit=limit, - page_size=page_size, - )) - - def page(self, priority=values.unset, assignment_status=values.unset, - workflow_sid=values.unset, workflow_name=values.unset, - task_queue_sid=values.unset, task_queue_name=values.unset, - evaluate_task_attributes=values.unset, ordering=values.unset, - has_addons=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of TaskInstance records from the API. - Request is executed immediately - - :param unicode priority: The priority - :param unicode assignment_status: The assignment_status - :param unicode workflow_sid: The workflow_sid - :param unicode workflow_name: The workflow_name - :param unicode task_queue_sid: The task_queue_sid - :param unicode task_queue_name: The task_queue_name - :param unicode evaluate_task_attributes: The evaluate_task_attributes - :param unicode ordering: The ordering - :param bool has_addons: The has_addons - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of TaskInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task.TaskPage - """ - params = values.of({ - 'Priority': priority, - 'AssignmentStatus': serialize.map(assignment_status, lambda e: e), - 'WorkflowSid': workflow_sid, - 'WorkflowName': workflow_name, - 'TaskQueueSid': task_queue_sid, - 'TaskQueueName': task_queue_name, - 'EvaluateTaskAttributes': evaluate_task_attributes, - 'Ordering': ordering, - 'HasAddons': has_addons, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return TaskPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of TaskInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of TaskInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task.TaskPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return TaskPage(self._version, response, self._solution) - - def create(self, timeout=values.unset, priority=values.unset, - task_channel=values.unset, workflow_sid=values.unset, - attributes=values.unset): - """ - Create a new TaskInstance - - :param unicode timeout: The timeout - :param unicode priority: The priority - :param unicode task_channel: The task_channel - :param unicode workflow_sid: The workflow_sid - :param unicode attributes: The attributes - - :returns: Newly created TaskInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task.TaskInstance - """ - data = values.of({ - 'Timeout': timeout, - 'Priority': priority, - 'TaskChannel': task_channel, - 'WorkflowSid': workflow_sid, - 'Attributes': attributes, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return TaskInstance(self._version, payload, workspace_sid=self._solution['workspace_sid'], ) - - def get(self, sid): - """ - Constructs a TaskContext - - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.task.TaskContext - :rtype: twilio.rest.taskrouter.v1.workspace.task.TaskContext - """ - return TaskContext(self._version, workspace_sid=self._solution['workspace_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a TaskContext - - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.task.TaskContext - :rtype: twilio.rest.taskrouter.v1.workspace.task.TaskContext - """ - return TaskContext(self._version, workspace_sid=self._solution['workspace_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.TaskList>' - - -class TaskPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the TaskPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.task.TaskPage - :rtype: twilio.rest.taskrouter.v1.workspace.task.TaskPage - """ - super(TaskPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of TaskInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.taskrouter.v1.workspace.task.TaskInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task.TaskInstance - """ - return TaskInstance(self._version, payload, workspace_sid=self._solution['workspace_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.TaskPage>' - - -class TaskContext(InstanceContext): - """ """ - - def __init__(self, version, workspace_sid, sid): - """ - Initialize the TaskContext - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.task.TaskContext - :rtype: twilio.rest.taskrouter.v1.workspace.task.TaskContext - """ - super(TaskContext, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, 'sid': sid, } - self._uri = '/Workspaces/{workspace_sid}/Tasks/{sid}'.format(**self._solution) - - # Dependents - self._reservations = None - - def fetch(self): - """ - Fetch a TaskInstance - - :returns: Fetched TaskInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task.TaskInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return TaskInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - sid=self._solution['sid'], - ) - - def update(self, attributes=values.unset, assignment_status=values.unset, - reason=values.unset, priority=values.unset, - task_channel=values.unset): - """ - Update the TaskInstance - - :param unicode attributes: The attributes - :param TaskInstance.Status assignment_status: The assignment_status - :param unicode reason: The reason - :param unicode priority: The priority - :param unicode task_channel: The task_channel - - :returns: Updated TaskInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task.TaskInstance - """ - data = values.of({ - 'Attributes': attributes, - 'AssignmentStatus': assignment_status, - 'Reason': reason, - 'Priority': priority, - 'TaskChannel': task_channel, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return TaskInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the TaskInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - @property - def reservations(self): - """ - Access the reservations - - :returns: twilio.rest.taskrouter.v1.workspace.task.reservation.ReservationList - :rtype: twilio.rest.taskrouter.v1.workspace.task.reservation.ReservationList - """ - if self._reservations is None: - self._reservations = ReservationList( - self._version, - workspace_sid=self._solution['workspace_sid'], - task_sid=self._solution['sid'], - ) - return self._reservations - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.TaskContext {}>'.format(context) - - -class TaskInstance(InstanceResource): - """ """ - - class Status(object): - PENDING = "pending" - RESERVED = "reserved" - ASSIGNED = "assigned" - CANCELED = "canceled" - COMPLETED = "completed" - WRAPPING = "wrapping" - - def __init__(self, version, payload, workspace_sid, sid=None): - """ - Initialize the TaskInstance - - :returns: twilio.rest.taskrouter.v1.workspace.task.TaskInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task.TaskInstance - """ - super(TaskInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'age': deserialize.integer(payload['age']), - 'assignment_status': payload['assignment_status'], - 'attributes': payload['attributes'], - 'addons': payload['addons'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'priority': deserialize.integer(payload['priority']), - 'reason': payload['reason'], - 'sid': payload['sid'], - 'task_queue_sid': payload['task_queue_sid'], - 'task_queue_friendly_name': payload['task_queue_friendly_name'], - 'task_channel_sid': payload['task_channel_sid'], - 'task_channel_unique_name': payload['task_channel_unique_name'], - 'timeout': deserialize.integer(payload['timeout']), - 'workflow_sid': payload['workflow_sid'], - 'workflow_friendly_name': payload['workflow_friendly_name'], - 'workspace_sid': payload['workspace_sid'], - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'workspace_sid': workspace_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: TaskContext for this TaskInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task.TaskContext - """ - if self._context is None: - self._context = TaskContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def age(self): - """ - :returns: The age - :rtype: unicode - """ - return self._properties['age'] - - @property - def assignment_status(self): - """ - :returns: The assignment_status - :rtype: TaskInstance.Status - """ - return self._properties['assignment_status'] - - @property - def attributes(self): - """ - :returns: The attributes - :rtype: unicode - """ - return self._properties['attributes'] - - @property - def addons(self): - """ - :returns: The addons - :rtype: unicode - """ - return self._properties['addons'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def priority(self): - """ - :returns: The priority - :rtype: unicode - """ - return self._properties['priority'] - - @property - def reason(self): - """ - :returns: The reason - :rtype: unicode - """ - return self._properties['reason'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def task_queue_sid(self): - """ - :returns: The task_queue_sid - :rtype: unicode - """ - return self._properties['task_queue_sid'] - - @property - def task_queue_friendly_name(self): - """ - :returns: The task_queue_friendly_name - :rtype: unicode - """ - return self._properties['task_queue_friendly_name'] - - @property - def task_channel_sid(self): - """ - :returns: The task_channel_sid - :rtype: unicode - """ - return self._properties['task_channel_sid'] - - @property - def task_channel_unique_name(self): - """ - :returns: The task_channel_unique_name - :rtype: unicode - """ - return self._properties['task_channel_unique_name'] - - @property - def timeout(self): - """ - :returns: The timeout - :rtype: unicode - """ - return self._properties['timeout'] - - @property - def workflow_sid(self): - """ - :returns: The workflow_sid - :rtype: unicode - """ - return self._properties['workflow_sid'] - - @property - def workflow_friendly_name(self): - """ - :returns: The workflow_friendly_name - :rtype: unicode - """ - return self._properties['workflow_friendly_name'] - - @property - def workspace_sid(self): - """ - :returns: The workspace_sid - :rtype: unicode - """ - return self._properties['workspace_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a TaskInstance - - :returns: Fetched TaskInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task.TaskInstance - """ - return self._proxy.fetch() - - def update(self, attributes=values.unset, assignment_status=values.unset, - reason=values.unset, priority=values.unset, - task_channel=values.unset): - """ - Update the TaskInstance - - :param unicode attributes: The attributes - :param TaskInstance.Status assignment_status: The assignment_status - :param unicode reason: The reason - :param unicode priority: The priority - :param unicode task_channel: The task_channel - - :returns: Updated TaskInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task.TaskInstance - """ - return self._proxy.update( - attributes=attributes, - assignment_status=assignment_status, - reason=reason, - priority=priority, - task_channel=task_channel, - ) - - def delete(self): - """ - Deletes the TaskInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - @property - def reservations(self): - """ - Access the reservations - - :returns: twilio.rest.taskrouter.v1.workspace.task.reservation.ReservationList - :rtype: twilio.rest.taskrouter.v1.workspace.task.reservation.ReservationList - """ - return self._proxy.reservations - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.TaskInstance {}>'.format(context) diff --git a/twilio/rest/taskrouter/v1/workspace/task/__pycache__/__init__.cpython-36.pyc b/twilio/rest/taskrouter/v1/workspace/task/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index fc11dd73d4daf7db6e87d5942e61156e6187ab75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21867 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 diff --git a/twilio/rest/taskrouter/v1/workspace/task/__pycache__/reservation.cpython-36.pyc b/twilio/rest/taskrouter/v1/workspace/task/__pycache__/reservation.cpython-36.pyc deleted file mode 100644 index 0d04306dd8a9eae501ff51ac907f299253160362..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26429 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 AZU6uP diff --git a/twilio/rest/taskrouter/v1/workspace/task/reservation.py b/twilio/rest/taskrouter/v1/workspace/task/reservation.py deleted file mode 100644 index 83c526f..0000000 --- a/twilio/rest/taskrouter/v1/workspace/task/reservation.py +++ /dev/null @@ -1,743 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class ReservationList(ListResource): - """ """ - - def __init__(self, version, workspace_sid, task_sid): - """ - Initialize the ReservationList - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - :param task_sid: The task_sid - - :returns: twilio.rest.taskrouter.v1.workspace.task.reservation.ReservationList - :rtype: twilio.rest.taskrouter.v1.workspace.task.reservation.ReservationList - """ - super(ReservationList, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, 'task_sid': task_sid, } - self._uri = '/Workspaces/{workspace_sid}/Tasks/{task_sid}/Reservations'.format(**self._solution) - - def stream(self, reservation_status=values.unset, limit=None, page_size=None): - """ - Streams ReservationInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param ReservationInstance.Status reservation_status: The reservation_status - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.taskrouter.v1.workspace.task.reservation.ReservationInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(reservation_status=reservation_status, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, reservation_status=values.unset, limit=None, page_size=None): - """ - Lists ReservationInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param ReservationInstance.Status reservation_status: The reservation_status - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.taskrouter.v1.workspace.task.reservation.ReservationInstance] - """ - return list(self.stream(reservation_status=reservation_status, limit=limit, page_size=page_size, )) - - def page(self, reservation_status=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of ReservationInstance records from the API. - Request is executed immediately - - :param ReservationInstance.Status reservation_status: The reservation_status - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ReservationInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task.reservation.ReservationPage - """ - params = values.of({ - 'ReservationStatus': reservation_status, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ReservationPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ReservationInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ReservationInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task.reservation.ReservationPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ReservationPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a ReservationContext - - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.task.reservation.ReservationContext - :rtype: twilio.rest.taskrouter.v1.workspace.task.reservation.ReservationContext - """ - return ReservationContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - task_sid=self._solution['task_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a ReservationContext - - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.task.reservation.ReservationContext - :rtype: twilio.rest.taskrouter.v1.workspace.task.reservation.ReservationContext - """ - return ReservationContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - task_sid=self._solution['task_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.ReservationList>' - - -class ReservationPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the ReservationPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param workspace_sid: The workspace_sid - :param task_sid: The task_sid - - :returns: twilio.rest.taskrouter.v1.workspace.task.reservation.ReservationPage - :rtype: twilio.rest.taskrouter.v1.workspace.task.reservation.ReservationPage - """ - super(ReservationPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ReservationInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.taskrouter.v1.workspace.task.reservation.ReservationInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task.reservation.ReservationInstance - """ - return ReservationInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - task_sid=self._solution['task_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.ReservationPage>' - - -class ReservationContext(InstanceContext): - """ """ - - def __init__(self, version, workspace_sid, task_sid, sid): - """ - Initialize the ReservationContext - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - :param task_sid: The task_sid - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.task.reservation.ReservationContext - :rtype: twilio.rest.taskrouter.v1.workspace.task.reservation.ReservationContext - """ - super(ReservationContext, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, 'task_sid': task_sid, 'sid': sid, } - self._uri = '/Workspaces/{workspace_sid}/Tasks/{task_sid}/Reservations/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a ReservationInstance - - :returns: Fetched ReservationInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task.reservation.ReservationInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ReservationInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - task_sid=self._solution['task_sid'], - sid=self._solution['sid'], - ) - - def update(self, reservation_status=values.unset, - worker_activity_sid=values.unset, instruction=values.unset, - dequeue_post_work_activity_sid=values.unset, - dequeue_from=values.unset, dequeue_record=values.unset, - dequeue_timeout=values.unset, dequeue_to=values.unset, - dequeue_status_callback_url=values.unset, call_from=values.unset, - call_record=values.unset, call_timeout=values.unset, - call_to=values.unset, call_url=values.unset, - call_status_callback_url=values.unset, call_accept=values.unset, - redirect_call_sid=values.unset, redirect_accept=values.unset, - redirect_url=values.unset, to=values.unset, from_=values.unset, - status_callback=values.unset, status_callback_method=values.unset, - status_callback_event=values.unset, timeout=values.unset, - record=values.unset, muted=values.unset, beep=values.unset, - start_conference_on_enter=values.unset, - end_conference_on_exit=values.unset, wait_url=values.unset, - wait_method=values.unset, early_media=values.unset, - max_participants=values.unset, - conference_status_callback=values.unset, - conference_status_callback_method=values.unset, - conference_status_callback_event=values.unset, - conference_record=values.unset, conference_trim=values.unset, - recording_channels=values.unset, - recording_status_callback=values.unset, - recording_status_callback_method=values.unset, - conference_recording_status_callback=values.unset, - conference_recording_status_callback_method=values.unset, - region=values.unset, sip_auth_username=values.unset, - sip_auth_password=values.unset, - dequeue_status_callback_event=values.unset, - post_work_activity_sid=values.unset): - """ - Update the ReservationInstance - - :param ReservationInstance.Status reservation_status: The reservation_status - :param unicode worker_activity_sid: The worker_activity_sid - :param unicode instruction: The instruction - :param unicode dequeue_post_work_activity_sid: The dequeue_post_work_activity_sid - :param unicode dequeue_from: The dequeue_from - :param unicode dequeue_record: The dequeue_record - :param unicode dequeue_timeout: The dequeue_timeout - :param unicode dequeue_to: The dequeue_to - :param unicode dequeue_status_callback_url: The dequeue_status_callback_url - :param unicode call_from: The call_from - :param unicode call_record: The call_record - :param unicode call_timeout: The call_timeout - :param unicode call_to: The call_to - :param unicode call_url: The call_url - :param unicode call_status_callback_url: The call_status_callback_url - :param bool call_accept: The call_accept - :param unicode redirect_call_sid: The redirect_call_sid - :param bool redirect_accept: The redirect_accept - :param unicode redirect_url: The redirect_url - :param unicode to: The to - :param unicode from_: The from - :param unicode status_callback: The status_callback - :param unicode status_callback_method: The status_callback_method - :param ReservationInstance.CallStatus status_callback_event: The status_callback_event - :param unicode timeout: The timeout - :param bool record: The record - :param bool muted: The muted - :param unicode beep: The beep - :param bool start_conference_on_enter: The start_conference_on_enter - :param bool end_conference_on_exit: The end_conference_on_exit - :param unicode wait_url: The wait_url - :param unicode wait_method: The wait_method - :param bool early_media: The early_media - :param unicode max_participants: The max_participants - :param unicode conference_status_callback: The conference_status_callback - :param unicode conference_status_callback_method: The conference_status_callback_method - :param ReservationInstance.ConferenceEvent conference_status_callback_event: The conference_status_callback_event - :param unicode conference_record: The conference_record - :param unicode conference_trim: The conference_trim - :param unicode recording_channels: The recording_channels - :param unicode recording_status_callback: The recording_status_callback - :param unicode recording_status_callback_method: The recording_status_callback_method - :param unicode conference_recording_status_callback: The conference_recording_status_callback - :param unicode conference_recording_status_callback_method: The conference_recording_status_callback_method - :param unicode region: The region - :param unicode sip_auth_username: The sip_auth_username - :param unicode sip_auth_password: The sip_auth_password - :param unicode dequeue_status_callback_event: The dequeue_status_callback_event - :param unicode post_work_activity_sid: The post_work_activity_sid - - :returns: Updated ReservationInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task.reservation.ReservationInstance - """ - data = values.of({ - 'ReservationStatus': reservation_status, - 'WorkerActivitySid': worker_activity_sid, - 'Instruction': instruction, - 'DequeuePostWorkActivitySid': dequeue_post_work_activity_sid, - 'DequeueFrom': dequeue_from, - 'DequeueRecord': dequeue_record, - 'DequeueTimeout': dequeue_timeout, - 'DequeueTo': dequeue_to, - 'DequeueStatusCallbackUrl': dequeue_status_callback_url, - 'CallFrom': call_from, - 'CallRecord': call_record, - 'CallTimeout': call_timeout, - 'CallTo': call_to, - 'CallUrl': call_url, - 'CallStatusCallbackUrl': call_status_callback_url, - 'CallAccept': call_accept, - 'RedirectCallSid': redirect_call_sid, - 'RedirectAccept': redirect_accept, - 'RedirectUrl': redirect_url, - 'To': to, - 'From': from_, - 'StatusCallback': status_callback, - 'StatusCallbackMethod': status_callback_method, - 'StatusCallbackEvent': serialize.map(status_callback_event, lambda e: e), - 'Timeout': timeout, - 'Record': record, - 'Muted': muted, - 'Beep': beep, - 'StartConferenceOnEnter': start_conference_on_enter, - 'EndConferenceOnExit': end_conference_on_exit, - 'WaitUrl': wait_url, - 'WaitMethod': wait_method, - 'EarlyMedia': early_media, - 'MaxParticipants': max_participants, - 'ConferenceStatusCallback': conference_status_callback, - 'ConferenceStatusCallbackMethod': conference_status_callback_method, - 'ConferenceStatusCallbackEvent': serialize.map(conference_status_callback_event, lambda e: e), - 'ConferenceRecord': conference_record, - 'ConferenceTrim': conference_trim, - 'RecordingChannels': recording_channels, - 'RecordingStatusCallback': recording_status_callback, - 'RecordingStatusCallbackMethod': recording_status_callback_method, - 'ConferenceRecordingStatusCallback': conference_recording_status_callback, - 'ConferenceRecordingStatusCallbackMethod': conference_recording_status_callback_method, - 'Region': region, - 'SipAuthUsername': sip_auth_username, - 'SipAuthPassword': sip_auth_password, - 'DequeueStatusCallbackEvent': serialize.map(dequeue_status_callback_event, lambda e: e), - 'PostWorkActivitySid': post_work_activity_sid, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ReservationInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - task_sid=self._solution['task_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.ReservationContext {}>'.format(context) - - -class ReservationInstance(InstanceResource): - """ """ - - class Status(object): - PENDING = "pending" - ACCEPTED = "accepted" - REJECTED = "rejected" - TIMEOUT = "timeout" - CANCELED = "canceled" - RESCINDED = "rescinded" - - class CallStatus(object): - INITIATED = "initiated" - RINGING = "ringing" - ANSWERED = "answered" - COMPLETED = "completed" - - class ConferenceEvent(object): - START = "start" - END = "end" - JOIN = "join" - LEAVE = "leave" - MUTE = "mute" - HOLD = "hold" - SPEAKER = "speaker" - - def __init__(self, version, payload, workspace_sid, task_sid, sid=None): - """ - Initialize the ReservationInstance - - :returns: twilio.rest.taskrouter.v1.workspace.task.reservation.ReservationInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task.reservation.ReservationInstance - """ - super(ReservationInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'reservation_status': payload['reservation_status'], - 'sid': payload['sid'], - 'task_sid': payload['task_sid'], - 'worker_name': payload['worker_name'], - 'worker_sid': payload['worker_sid'], - 'workspace_sid': payload['workspace_sid'], - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = { - 'workspace_sid': workspace_sid, - 'task_sid': task_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ReservationContext for this ReservationInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task.reservation.ReservationContext - """ - if self._context is None: - self._context = ReservationContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - task_sid=self._solution['task_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def reservation_status(self): - """ - :returns: The reservation_status - :rtype: ReservationInstance.Status - """ - return self._properties['reservation_status'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def task_sid(self): - """ - :returns: The task_sid - :rtype: unicode - """ - return self._properties['task_sid'] - - @property - def worker_name(self): - """ - :returns: The worker_name - :rtype: unicode - """ - return self._properties['worker_name'] - - @property - def worker_sid(self): - """ - :returns: The worker_sid - :rtype: unicode - """ - return self._properties['worker_sid'] - - @property - def workspace_sid(self): - """ - :returns: The workspace_sid - :rtype: unicode - """ - return self._properties['workspace_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a ReservationInstance - - :returns: Fetched ReservationInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task.reservation.ReservationInstance - """ - return self._proxy.fetch() - - def update(self, reservation_status=values.unset, - worker_activity_sid=values.unset, instruction=values.unset, - dequeue_post_work_activity_sid=values.unset, - dequeue_from=values.unset, dequeue_record=values.unset, - dequeue_timeout=values.unset, dequeue_to=values.unset, - dequeue_status_callback_url=values.unset, call_from=values.unset, - call_record=values.unset, call_timeout=values.unset, - call_to=values.unset, call_url=values.unset, - call_status_callback_url=values.unset, call_accept=values.unset, - redirect_call_sid=values.unset, redirect_accept=values.unset, - redirect_url=values.unset, to=values.unset, from_=values.unset, - status_callback=values.unset, status_callback_method=values.unset, - status_callback_event=values.unset, timeout=values.unset, - record=values.unset, muted=values.unset, beep=values.unset, - start_conference_on_enter=values.unset, - end_conference_on_exit=values.unset, wait_url=values.unset, - wait_method=values.unset, early_media=values.unset, - max_participants=values.unset, - conference_status_callback=values.unset, - conference_status_callback_method=values.unset, - conference_status_callback_event=values.unset, - conference_record=values.unset, conference_trim=values.unset, - recording_channels=values.unset, - recording_status_callback=values.unset, - recording_status_callback_method=values.unset, - conference_recording_status_callback=values.unset, - conference_recording_status_callback_method=values.unset, - region=values.unset, sip_auth_username=values.unset, - sip_auth_password=values.unset, - dequeue_status_callback_event=values.unset, - post_work_activity_sid=values.unset): - """ - Update the ReservationInstance - - :param ReservationInstance.Status reservation_status: The reservation_status - :param unicode worker_activity_sid: The worker_activity_sid - :param unicode instruction: The instruction - :param unicode dequeue_post_work_activity_sid: The dequeue_post_work_activity_sid - :param unicode dequeue_from: The dequeue_from - :param unicode dequeue_record: The dequeue_record - :param unicode dequeue_timeout: The dequeue_timeout - :param unicode dequeue_to: The dequeue_to - :param unicode dequeue_status_callback_url: The dequeue_status_callback_url - :param unicode call_from: The call_from - :param unicode call_record: The call_record - :param unicode call_timeout: The call_timeout - :param unicode call_to: The call_to - :param unicode call_url: The call_url - :param unicode call_status_callback_url: The call_status_callback_url - :param bool call_accept: The call_accept - :param unicode redirect_call_sid: The redirect_call_sid - :param bool redirect_accept: The redirect_accept - :param unicode redirect_url: The redirect_url - :param unicode to: The to - :param unicode from_: The from - :param unicode status_callback: The status_callback - :param unicode status_callback_method: The status_callback_method - :param ReservationInstance.CallStatus status_callback_event: The status_callback_event - :param unicode timeout: The timeout - :param bool record: The record - :param bool muted: The muted - :param unicode beep: The beep - :param bool start_conference_on_enter: The start_conference_on_enter - :param bool end_conference_on_exit: The end_conference_on_exit - :param unicode wait_url: The wait_url - :param unicode wait_method: The wait_method - :param bool early_media: The early_media - :param unicode max_participants: The max_participants - :param unicode conference_status_callback: The conference_status_callback - :param unicode conference_status_callback_method: The conference_status_callback_method - :param ReservationInstance.ConferenceEvent conference_status_callback_event: The conference_status_callback_event - :param unicode conference_record: The conference_record - :param unicode conference_trim: The conference_trim - :param unicode recording_channels: The recording_channels - :param unicode recording_status_callback: The recording_status_callback - :param unicode recording_status_callback_method: The recording_status_callback_method - :param unicode conference_recording_status_callback: The conference_recording_status_callback - :param unicode conference_recording_status_callback_method: The conference_recording_status_callback_method - :param unicode region: The region - :param unicode sip_auth_username: The sip_auth_username - :param unicode sip_auth_password: The sip_auth_password - :param unicode dequeue_status_callback_event: The dequeue_status_callback_event - :param unicode post_work_activity_sid: The post_work_activity_sid - - :returns: Updated ReservationInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task.reservation.ReservationInstance - """ - return self._proxy.update( - reservation_status=reservation_status, - worker_activity_sid=worker_activity_sid, - instruction=instruction, - dequeue_post_work_activity_sid=dequeue_post_work_activity_sid, - dequeue_from=dequeue_from, - dequeue_record=dequeue_record, - dequeue_timeout=dequeue_timeout, - dequeue_to=dequeue_to, - dequeue_status_callback_url=dequeue_status_callback_url, - call_from=call_from, - call_record=call_record, - call_timeout=call_timeout, - call_to=call_to, - call_url=call_url, - call_status_callback_url=call_status_callback_url, - call_accept=call_accept, - redirect_call_sid=redirect_call_sid, - redirect_accept=redirect_accept, - redirect_url=redirect_url, - to=to, - from_=from_, - status_callback=status_callback, - status_callback_method=status_callback_method, - status_callback_event=status_callback_event, - timeout=timeout, - record=record, - muted=muted, - beep=beep, - start_conference_on_enter=start_conference_on_enter, - end_conference_on_exit=end_conference_on_exit, - wait_url=wait_url, - wait_method=wait_method, - early_media=early_media, - max_participants=max_participants, - conference_status_callback=conference_status_callback, - conference_status_callback_method=conference_status_callback_method, - conference_status_callback_event=conference_status_callback_event, - conference_record=conference_record, - conference_trim=conference_trim, - recording_channels=recording_channels, - recording_status_callback=recording_status_callback, - recording_status_callback_method=recording_status_callback_method, - conference_recording_status_callback=conference_recording_status_callback, - conference_recording_status_callback_method=conference_recording_status_callback_method, - region=region, - sip_auth_username=sip_auth_username, - sip_auth_password=sip_auth_password, - dequeue_status_callback_event=dequeue_status_callback_event, - post_work_activity_sid=post_work_activity_sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.ReservationInstance {}>'.format(context) diff --git a/twilio/rest/taskrouter/v1/workspace/task_channel.py b/twilio/rest/taskrouter/v1/workspace/task_channel.py deleted file mode 100644 index 17c13f6..0000000 --- a/twilio/rest/taskrouter/v1/workspace/task_channel.py +++ /dev/null @@ -1,368 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class TaskChannelList(ListResource): - """ """ - - def __init__(self, version, workspace_sid): - """ - Initialize the TaskChannelList - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.task_channel.TaskChannelList - :rtype: twilio.rest.taskrouter.v1.workspace.task_channel.TaskChannelList - """ - super(TaskChannelList, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, } - self._uri = '/Workspaces/{workspace_sid}/TaskChannels'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams TaskChannelInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.taskrouter.v1.workspace.task_channel.TaskChannelInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists TaskChannelInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.taskrouter.v1.workspace.task_channel.TaskChannelInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of TaskChannelInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of TaskChannelInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_channel.TaskChannelPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return TaskChannelPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of TaskChannelInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of TaskChannelInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_channel.TaskChannelPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return TaskChannelPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a TaskChannelContext - - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.task_channel.TaskChannelContext - :rtype: twilio.rest.taskrouter.v1.workspace.task_channel.TaskChannelContext - """ - return TaskChannelContext(self._version, workspace_sid=self._solution['workspace_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a TaskChannelContext - - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.task_channel.TaskChannelContext - :rtype: twilio.rest.taskrouter.v1.workspace.task_channel.TaskChannelContext - """ - return TaskChannelContext(self._version, workspace_sid=self._solution['workspace_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.TaskChannelList>' - - -class TaskChannelPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the TaskChannelPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.task_channel.TaskChannelPage - :rtype: twilio.rest.taskrouter.v1.workspace.task_channel.TaskChannelPage - """ - super(TaskChannelPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of TaskChannelInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.taskrouter.v1.workspace.task_channel.TaskChannelInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_channel.TaskChannelInstance - """ - return TaskChannelInstance(self._version, payload, workspace_sid=self._solution['workspace_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.TaskChannelPage>' - - -class TaskChannelContext(InstanceContext): - """ """ - - def __init__(self, version, workspace_sid, sid): - """ - Initialize the TaskChannelContext - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.task_channel.TaskChannelContext - :rtype: twilio.rest.taskrouter.v1.workspace.task_channel.TaskChannelContext - """ - super(TaskChannelContext, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, 'sid': sid, } - self._uri = '/Workspaces/{workspace_sid}/TaskChannels/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a TaskChannelInstance - - :returns: Fetched TaskChannelInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_channel.TaskChannelInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return TaskChannelInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.TaskChannelContext {}>'.format(context) - - -class TaskChannelInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, workspace_sid, sid=None): - """ - Initialize the TaskChannelInstance - - :returns: twilio.rest.taskrouter.v1.workspace.task_channel.TaskChannelInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_channel.TaskChannelInstance - """ - super(TaskChannelInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'friendly_name': payload['friendly_name'], - 'sid': payload['sid'], - 'unique_name': payload['unique_name'], - 'workspace_sid': payload['workspace_sid'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'workspace_sid': workspace_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: TaskChannelContext for this TaskChannelInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_channel.TaskChannelContext - """ - if self._context is None: - self._context = TaskChannelContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def unique_name(self): - """ - :returns: The unique_name - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def workspace_sid(self): - """ - :returns: The workspace_sid - :rtype: unicode - """ - return self._properties['workspace_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a TaskChannelInstance - - :returns: Fetched TaskChannelInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_channel.TaskChannelInstance - """ - return self._proxy.fetch() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.TaskChannelInstance {}>'.format(context) diff --git a/twilio/rest/taskrouter/v1/workspace/task_queue/__init__.py b/twilio/rest/taskrouter/v1/workspace/task_queue/__init__.py deleted file mode 100644 index df4b3aa..0000000 --- a/twilio/rest/taskrouter/v1/workspace/task_queue/__init__.py +++ /dev/null @@ -1,689 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_cumulative_statistics import TaskQueueCumulativeStatisticsList -from twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_real_time_statistics import TaskQueueRealTimeStatisticsList -from twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_statistics import TaskQueueStatisticsList -from twilio.rest.taskrouter.v1.workspace.task_queue.task_queues_statistics import TaskQueuesStatisticsList - - -class TaskQueueList(ListResource): - """ """ - - def __init__(self, version, workspace_sid): - """ - Initialize the TaskQueueList - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueueList - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueueList - """ - super(TaskQueueList, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, } - self._uri = '/Workspaces/{workspace_sid}/TaskQueues'.format(**self._solution) - - # Components - self._statistics = None - - def stream(self, friendly_name=values.unset, - evaluate_worker_attributes=values.unset, worker_sid=values.unset, - limit=None, page_size=None): - """ - Streams TaskQueueInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode friendly_name: The friendly_name - :param unicode evaluate_worker_attributes: The evaluate_worker_attributes - :param unicode worker_sid: The worker_sid - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueueInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - friendly_name=friendly_name, - evaluate_worker_attributes=evaluate_worker_attributes, - worker_sid=worker_sid, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, friendly_name=values.unset, - evaluate_worker_attributes=values.unset, worker_sid=values.unset, - limit=None, page_size=None): - """ - Lists TaskQueueInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode friendly_name: The friendly_name - :param unicode evaluate_worker_attributes: The evaluate_worker_attributes - :param unicode worker_sid: The worker_sid - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueueInstance] - """ - return list(self.stream( - friendly_name=friendly_name, - evaluate_worker_attributes=evaluate_worker_attributes, - worker_sid=worker_sid, - limit=limit, - page_size=page_size, - )) - - def page(self, friendly_name=values.unset, - evaluate_worker_attributes=values.unset, worker_sid=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of TaskQueueInstance records from the API. - Request is executed immediately - - :param unicode friendly_name: The friendly_name - :param unicode evaluate_worker_attributes: The evaluate_worker_attributes - :param unicode worker_sid: The worker_sid - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of TaskQueueInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueuePage - """ - params = values.of({ - 'FriendlyName': friendly_name, - 'EvaluateWorkerAttributes': evaluate_worker_attributes, - 'WorkerSid': worker_sid, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return TaskQueuePage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of TaskQueueInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of TaskQueueInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueuePage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return TaskQueuePage(self._version, response, self._solution) - - def create(self, friendly_name, reservation_activity_sid, - assignment_activity_sid, target_workers=values.unset, - max_reserved_workers=values.unset, task_order=values.unset): - """ - Create a new TaskQueueInstance - - :param unicode friendly_name: The friendly_name - :param unicode reservation_activity_sid: The reservation_activity_sid - :param unicode assignment_activity_sid: The assignment_activity_sid - :param unicode target_workers: The target_workers - :param unicode max_reserved_workers: The max_reserved_workers - :param TaskQueueInstance.TaskOrder task_order: The task_order - - :returns: Newly created TaskQueueInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueueInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'ReservationActivitySid': reservation_activity_sid, - 'AssignmentActivitySid': assignment_activity_sid, - 'TargetWorkers': target_workers, - 'MaxReservedWorkers': max_reserved_workers, - 'TaskOrder': task_order, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return TaskQueueInstance(self._version, payload, workspace_sid=self._solution['workspace_sid'], ) - - @property - def statistics(self): - """ - Access the statistics - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queues_statistics.TaskQueuesStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queues_statistics.TaskQueuesStatisticsList - """ - if self._statistics is None: - self._statistics = TaskQueuesStatisticsList( - self._version, - workspace_sid=self._solution['workspace_sid'], - ) - return self._statistics - - def get(self, sid): - """ - Constructs a TaskQueueContext - - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueueContext - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueueContext - """ - return TaskQueueContext(self._version, workspace_sid=self._solution['workspace_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a TaskQueueContext - - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueueContext - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueueContext - """ - return TaskQueueContext(self._version, workspace_sid=self._solution['workspace_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.TaskQueueList>' - - -class TaskQueuePage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the TaskQueuePage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueuePage - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueuePage - """ - super(TaskQueuePage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of TaskQueueInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueueInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueueInstance - """ - return TaskQueueInstance(self._version, payload, workspace_sid=self._solution['workspace_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.TaskQueuePage>' - - -class TaskQueueContext(InstanceContext): - """ """ - - def __init__(self, version, workspace_sid, sid): - """ - Initialize the TaskQueueContext - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueueContext - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueueContext - """ - super(TaskQueueContext, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, 'sid': sid, } - self._uri = '/Workspaces/{workspace_sid}/TaskQueues/{sid}'.format(**self._solution) - - # Dependents - self._statistics = None - self._real_time_statistics = None - self._cumulative_statistics = None - - def fetch(self): - """ - Fetch a TaskQueueInstance - - :returns: Fetched TaskQueueInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueueInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return TaskQueueInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - sid=self._solution['sid'], - ) - - def update(self, friendly_name=values.unset, target_workers=values.unset, - reservation_activity_sid=values.unset, - assignment_activity_sid=values.unset, - max_reserved_workers=values.unset, task_order=values.unset): - """ - Update the TaskQueueInstance - - :param unicode friendly_name: The friendly_name - :param unicode target_workers: The target_workers - :param unicode reservation_activity_sid: The reservation_activity_sid - :param unicode assignment_activity_sid: The assignment_activity_sid - :param unicode max_reserved_workers: The max_reserved_workers - :param TaskQueueInstance.TaskOrder task_order: The task_order - - :returns: Updated TaskQueueInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueueInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'TargetWorkers': target_workers, - 'ReservationActivitySid': reservation_activity_sid, - 'AssignmentActivitySid': assignment_activity_sid, - 'MaxReservedWorkers': max_reserved_workers, - 'TaskOrder': task_order, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return TaskQueueInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the TaskQueueInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - @property - def statistics(self): - """ - Access the statistics - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_statistics.TaskQueueStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_statistics.TaskQueueStatisticsList - """ - if self._statistics is None: - self._statistics = TaskQueueStatisticsList( - self._version, - workspace_sid=self._solution['workspace_sid'], - task_queue_sid=self._solution['sid'], - ) - return self._statistics - - @property - def real_time_statistics(self): - """ - Access the real_time_statistics - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_real_time_statistics.TaskQueueRealTimeStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_real_time_statistics.TaskQueueRealTimeStatisticsList - """ - if self._real_time_statistics is None: - self._real_time_statistics = TaskQueueRealTimeStatisticsList( - self._version, - workspace_sid=self._solution['workspace_sid'], - task_queue_sid=self._solution['sid'], - ) - return self._real_time_statistics - - @property - def cumulative_statistics(self): - """ - Access the cumulative_statistics - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_cumulative_statistics.TaskQueueCumulativeStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_cumulative_statistics.TaskQueueCumulativeStatisticsList - """ - if self._cumulative_statistics is None: - self._cumulative_statistics = TaskQueueCumulativeStatisticsList( - self._version, - workspace_sid=self._solution['workspace_sid'], - task_queue_sid=self._solution['sid'], - ) - return self._cumulative_statistics - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.TaskQueueContext {}>'.format(context) - - -class TaskQueueInstance(InstanceResource): - """ """ - - class TaskOrder(object): - FIFO = "FIFO" - LIFO = "LIFO" - - def __init__(self, version, payload, workspace_sid, sid=None): - """ - Initialize the TaskQueueInstance - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueueInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueueInstance - """ - super(TaskQueueInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'assignment_activity_sid': payload['assignment_activity_sid'], - 'assignment_activity_name': payload['assignment_activity_name'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'friendly_name': payload['friendly_name'], - 'max_reserved_workers': deserialize.integer(payload['max_reserved_workers']), - 'reservation_activity_sid': payload['reservation_activity_sid'], - 'reservation_activity_name': payload['reservation_activity_name'], - 'sid': payload['sid'], - 'target_workers': payload['target_workers'], - 'task_order': payload['task_order'], - 'url': payload['url'], - 'workspace_sid': payload['workspace_sid'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'workspace_sid': workspace_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: TaskQueueContext for this TaskQueueInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueueContext - """ - if self._context is None: - self._context = TaskQueueContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def assignment_activity_sid(self): - """ - :returns: The assignment_activity_sid - :rtype: unicode - """ - return self._properties['assignment_activity_sid'] - - @property - def assignment_activity_name(self): - """ - :returns: The assignment_activity_name - :rtype: unicode - """ - return self._properties['assignment_activity_name'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def max_reserved_workers(self): - """ - :returns: The max_reserved_workers - :rtype: unicode - """ - return self._properties['max_reserved_workers'] - - @property - def reservation_activity_sid(self): - """ - :returns: The reservation_activity_sid - :rtype: unicode - """ - return self._properties['reservation_activity_sid'] - - @property - def reservation_activity_name(self): - """ - :returns: The reservation_activity_name - :rtype: unicode - """ - return self._properties['reservation_activity_name'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def target_workers(self): - """ - :returns: The target_workers - :rtype: unicode - """ - return self._properties['target_workers'] - - @property - def task_order(self): - """ - :returns: The task_order - :rtype: TaskQueueInstance.TaskOrder - """ - return self._properties['task_order'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def workspace_sid(self): - """ - :returns: The workspace_sid - :rtype: unicode - """ - return self._properties['workspace_sid'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a TaskQueueInstance - - :returns: Fetched TaskQueueInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueueInstance - """ - return self._proxy.fetch() - - def update(self, friendly_name=values.unset, target_workers=values.unset, - reservation_activity_sid=values.unset, - assignment_activity_sid=values.unset, - max_reserved_workers=values.unset, task_order=values.unset): - """ - Update the TaskQueueInstance - - :param unicode friendly_name: The friendly_name - :param unicode target_workers: The target_workers - :param unicode reservation_activity_sid: The reservation_activity_sid - :param unicode assignment_activity_sid: The assignment_activity_sid - :param unicode max_reserved_workers: The max_reserved_workers - :param TaskQueueInstance.TaskOrder task_order: The task_order - - :returns: Updated TaskQueueInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.TaskQueueInstance - """ - return self._proxy.update( - friendly_name=friendly_name, - target_workers=target_workers, - reservation_activity_sid=reservation_activity_sid, - assignment_activity_sid=assignment_activity_sid, - max_reserved_workers=max_reserved_workers, - task_order=task_order, - ) - - def delete(self): - """ - Deletes the TaskQueueInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - @property - def statistics(self): - """ - Access the statistics - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_statistics.TaskQueueStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_statistics.TaskQueueStatisticsList - """ - return self._proxy.statistics - - @property - def real_time_statistics(self): - """ - Access the real_time_statistics - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_real_time_statistics.TaskQueueRealTimeStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_real_time_statistics.TaskQueueRealTimeStatisticsList - """ - return self._proxy.real_time_statistics - - @property - def cumulative_statistics(self): - """ - Access the cumulative_statistics - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_cumulative_statistics.TaskQueueCumulativeStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_cumulative_statistics.TaskQueueCumulativeStatisticsList - """ - return self._proxy.cumulative_statistics - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.TaskQueueInstance {}>'.format(context) diff --git a/twilio/rest/taskrouter/v1/workspace/task_queue/__pycache__/__init__.cpython-36.pyc b/twilio/rest/taskrouter/v1/workspace/task_queue/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 8758f2ab16017c6515d618c380a31ab2210e7536..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23464 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 diff --git a/twilio/rest/taskrouter/v1/workspace/task_queue/__pycache__/task_queue_cumulative_statistics.cpython-36.pyc b/twilio/rest/taskrouter/v1/workspace/task_queue/__pycache__/task_queue_cumulative_statistics.cpython-36.pyc deleted file mode 100644 index f8e16caff85b812a0647136220646104afd42bf0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16153 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 Gg?|InQ6-%K diff --git a/twilio/rest/taskrouter/v1/workspace/task_queue/__pycache__/task_queue_real_time_statistics.cpython-36.pyc b/twilio/rest/taskrouter/v1/workspace/task_queue/__pycache__/task_queue_real_time_statistics.cpython-36.pyc deleted file mode 100644 index d79ed58c23439c548c07da9e655282d76fb1a4c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12519 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 Ityi!92iF`{p8x;= diff --git a/twilio/rest/taskrouter/v1/workspace/task_queue/__pycache__/task_queue_statistics.cpython-36.pyc b/twilio/rest/taskrouter/v1/workspace/task_queue/__pycache__/task_queue_statistics.cpython-36.pyc deleted file mode 100644 index c378aa72cba13a26c4e8cfa949d774e11c79b942..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11051 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 PctI_GdgG-=tFiT8KG>-H diff --git a/twilio/rest/taskrouter/v1/workspace/task_queue/__pycache__/task_queues_statistics.cpython-36.pyc b/twilio/rest/taskrouter/v1/workspace/task_queue/__pycache__/task_queues_statistics.cpython-36.pyc deleted file mode 100644 index 043710fbd25a33a82b40adee1dd27a49f5aa9662..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11021 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 diff --git a/twilio/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.py b/twilio/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.py deleted file mode 100644 index 6abdefe..0000000 --- a/twilio/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.py +++ /dev/null @@ -1,443 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class TaskQueueCumulativeStatisticsList(ListResource): - """ """ - - def __init__(self, version, workspace_sid, task_queue_sid): - """ - Initialize the TaskQueueCumulativeStatisticsList - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - :param task_queue_sid: The task_queue_sid - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_cumulative_statistics.TaskQueueCumulativeStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_cumulative_statistics.TaskQueueCumulativeStatisticsList - """ - super(TaskQueueCumulativeStatisticsList, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, 'task_queue_sid': task_queue_sid, } - - def get(self): - """ - Constructs a TaskQueueCumulativeStatisticsContext - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_cumulative_statistics.TaskQueueCumulativeStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_cumulative_statistics.TaskQueueCumulativeStatisticsContext - """ - return TaskQueueCumulativeStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - task_queue_sid=self._solution['task_queue_sid'], - ) - - def __call__(self): - """ - Constructs a TaskQueueCumulativeStatisticsContext - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_cumulative_statistics.TaskQueueCumulativeStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_cumulative_statistics.TaskQueueCumulativeStatisticsContext - """ - return TaskQueueCumulativeStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - task_queue_sid=self._solution['task_queue_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.TaskQueueCumulativeStatisticsList>' - - -class TaskQueueCumulativeStatisticsPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the TaskQueueCumulativeStatisticsPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param workspace_sid: The workspace_sid - :param task_queue_sid: The task_queue_sid - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_cumulative_statistics.TaskQueueCumulativeStatisticsPage - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_cumulative_statistics.TaskQueueCumulativeStatisticsPage - """ - super(TaskQueueCumulativeStatisticsPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of TaskQueueCumulativeStatisticsInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_cumulative_statistics.TaskQueueCumulativeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_cumulative_statistics.TaskQueueCumulativeStatisticsInstance - """ - return TaskQueueCumulativeStatisticsInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - task_queue_sid=self._solution['task_queue_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.TaskQueueCumulativeStatisticsPage>' - - -class TaskQueueCumulativeStatisticsContext(InstanceContext): - """ """ - - def __init__(self, version, workspace_sid, task_queue_sid): - """ - Initialize the TaskQueueCumulativeStatisticsContext - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - :param task_queue_sid: The task_queue_sid - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_cumulative_statistics.TaskQueueCumulativeStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_cumulative_statistics.TaskQueueCumulativeStatisticsContext - """ - super(TaskQueueCumulativeStatisticsContext, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, 'task_queue_sid': task_queue_sid, } - self._uri = '/Workspaces/{workspace_sid}/TaskQueues/{task_queue_sid}/CumulativeStatistics'.format(**self._solution) - - def fetch(self, end_date=values.unset, minutes=values.unset, - start_date=values.unset, task_channel=values.unset, - split_by_wait_time=values.unset): - """ - Fetch a TaskQueueCumulativeStatisticsInstance - - :param datetime end_date: The end_date - :param unicode minutes: The minutes - :param datetime start_date: The start_date - :param unicode task_channel: The task_channel - :param unicode split_by_wait_time: The split_by_wait_time - - :returns: Fetched TaskQueueCumulativeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_cumulative_statistics.TaskQueueCumulativeStatisticsInstance - """ - params = values.of({ - 'EndDate': serialize.iso8601_datetime(end_date), - 'Minutes': minutes, - 'StartDate': serialize.iso8601_datetime(start_date), - 'TaskChannel': task_channel, - 'SplitByWaitTime': split_by_wait_time, - }) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return TaskQueueCumulativeStatisticsInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - task_queue_sid=self._solution['task_queue_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.TaskQueueCumulativeStatisticsContext {}>'.format(context) - - -class TaskQueueCumulativeStatisticsInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, workspace_sid, task_queue_sid): - """ - Initialize the TaskQueueCumulativeStatisticsInstance - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_cumulative_statistics.TaskQueueCumulativeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_cumulative_statistics.TaskQueueCumulativeStatisticsInstance - """ - super(TaskQueueCumulativeStatisticsInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'avg_task_acceptance_time': deserialize.integer(payload['avg_task_acceptance_time']), - 'start_time': deserialize.iso8601_datetime(payload['start_time']), - 'end_time': deserialize.iso8601_datetime(payload['end_time']), - 'reservations_created': deserialize.integer(payload['reservations_created']), - 'reservations_accepted': deserialize.integer(payload['reservations_accepted']), - 'reservations_rejected': deserialize.integer(payload['reservations_rejected']), - 'reservations_timed_out': deserialize.integer(payload['reservations_timed_out']), - 'reservations_canceled': deserialize.integer(payload['reservations_canceled']), - 'reservations_rescinded': deserialize.integer(payload['reservations_rescinded']), - 'split_by_wait_time': payload['split_by_wait_time'], - 'task_queue_sid': payload['task_queue_sid'], - 'wait_duration_until_accepted': payload['wait_duration_until_accepted'], - 'wait_duration_until_canceled': payload['wait_duration_until_canceled'], - 'tasks_canceled': deserialize.integer(payload['tasks_canceled']), - 'tasks_completed': deserialize.integer(payload['tasks_completed']), - 'tasks_deleted': deserialize.integer(payload['tasks_deleted']), - 'tasks_entered': deserialize.integer(payload['tasks_entered']), - 'tasks_moved': deserialize.integer(payload['tasks_moved']), - 'workspace_sid': payload['workspace_sid'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'workspace_sid': workspace_sid, 'task_queue_sid': task_queue_sid, } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: TaskQueueCumulativeStatisticsContext for this TaskQueueCumulativeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_cumulative_statistics.TaskQueueCumulativeStatisticsContext - """ - if self._context is None: - self._context = TaskQueueCumulativeStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - task_queue_sid=self._solution['task_queue_sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def avg_task_acceptance_time(self): - """ - :returns: The avg_task_acceptance_time - :rtype: unicode - """ - return self._properties['avg_task_acceptance_time'] - - @property - def start_time(self): - """ - :returns: The start_time - :rtype: datetime - """ - return self._properties['start_time'] - - @property - def end_time(self): - """ - :returns: The end_time - :rtype: datetime - """ - return self._properties['end_time'] - - @property - def reservations_created(self): - """ - :returns: The reservations_created - :rtype: unicode - """ - return self._properties['reservations_created'] - - @property - def reservations_accepted(self): - """ - :returns: The reservations_accepted - :rtype: unicode - """ - return self._properties['reservations_accepted'] - - @property - def reservations_rejected(self): - """ - :returns: The reservations_rejected - :rtype: unicode - """ - return self._properties['reservations_rejected'] - - @property - def reservations_timed_out(self): - """ - :returns: The reservations_timed_out - :rtype: unicode - """ - return self._properties['reservations_timed_out'] - - @property - def reservations_canceled(self): - """ - :returns: The reservations_canceled - :rtype: unicode - """ - return self._properties['reservations_canceled'] - - @property - def reservations_rescinded(self): - """ - :returns: The reservations_rescinded - :rtype: unicode - """ - return self._properties['reservations_rescinded'] - - @property - def split_by_wait_time(self): - """ - :returns: The split_by_wait_time - :rtype: dict - """ - return self._properties['split_by_wait_time'] - - @property - def task_queue_sid(self): - """ - :returns: The task_queue_sid - :rtype: unicode - """ - return self._properties['task_queue_sid'] - - @property - def wait_duration_until_accepted(self): - """ - :returns: The wait_duration_until_accepted - :rtype: dict - """ - return self._properties['wait_duration_until_accepted'] - - @property - def wait_duration_until_canceled(self): - """ - :returns: The wait_duration_until_canceled - :rtype: dict - """ - return self._properties['wait_duration_until_canceled'] - - @property - def tasks_canceled(self): - """ - :returns: The tasks_canceled - :rtype: unicode - """ - return self._properties['tasks_canceled'] - - @property - def tasks_completed(self): - """ - :returns: The tasks_completed - :rtype: unicode - """ - return self._properties['tasks_completed'] - - @property - def tasks_deleted(self): - """ - :returns: The tasks_deleted - :rtype: unicode - """ - return self._properties['tasks_deleted'] - - @property - def tasks_entered(self): - """ - :returns: The tasks_entered - :rtype: unicode - """ - return self._properties['tasks_entered'] - - @property - def tasks_moved(self): - """ - :returns: The tasks_moved - :rtype: unicode - """ - return self._properties['tasks_moved'] - - @property - def workspace_sid(self): - """ - :returns: The workspace_sid - :rtype: unicode - """ - return self._properties['workspace_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self, end_date=values.unset, minutes=values.unset, - start_date=values.unset, task_channel=values.unset, - split_by_wait_time=values.unset): - """ - Fetch a TaskQueueCumulativeStatisticsInstance - - :param datetime end_date: The end_date - :param unicode minutes: The minutes - :param datetime start_date: The start_date - :param unicode task_channel: The task_channel - :param unicode split_by_wait_time: The split_by_wait_time - - :returns: Fetched TaskQueueCumulativeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_cumulative_statistics.TaskQueueCumulativeStatisticsInstance - """ - return self._proxy.fetch( - end_date=end_date, - minutes=minutes, - start_date=start_date, - task_channel=task_channel, - split_by_wait_time=split_by_wait_time, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.TaskQueueCumulativeStatisticsInstance {}>'.format(context) diff --git a/twilio/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.py b/twilio/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.py deleted file mode 100644 index 7e8398c..0000000 --- a/twilio/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.py +++ /dev/null @@ -1,328 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class TaskQueueRealTimeStatisticsList(ListResource): - """ """ - - def __init__(self, version, workspace_sid, task_queue_sid): - """ - Initialize the TaskQueueRealTimeStatisticsList - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - :param task_queue_sid: The task_queue_sid - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_real_time_statistics.TaskQueueRealTimeStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_real_time_statistics.TaskQueueRealTimeStatisticsList - """ - super(TaskQueueRealTimeStatisticsList, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, 'task_queue_sid': task_queue_sid, } - - def get(self): - """ - Constructs a TaskQueueRealTimeStatisticsContext - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_real_time_statistics.TaskQueueRealTimeStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_real_time_statistics.TaskQueueRealTimeStatisticsContext - """ - return TaskQueueRealTimeStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - task_queue_sid=self._solution['task_queue_sid'], - ) - - def __call__(self): - """ - Constructs a TaskQueueRealTimeStatisticsContext - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_real_time_statistics.TaskQueueRealTimeStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_real_time_statistics.TaskQueueRealTimeStatisticsContext - """ - return TaskQueueRealTimeStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - task_queue_sid=self._solution['task_queue_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.TaskQueueRealTimeStatisticsList>' - - -class TaskQueueRealTimeStatisticsPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the TaskQueueRealTimeStatisticsPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param workspace_sid: The workspace_sid - :param task_queue_sid: The task_queue_sid - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_real_time_statistics.TaskQueueRealTimeStatisticsPage - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_real_time_statistics.TaskQueueRealTimeStatisticsPage - """ - super(TaskQueueRealTimeStatisticsPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of TaskQueueRealTimeStatisticsInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_real_time_statistics.TaskQueueRealTimeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_real_time_statistics.TaskQueueRealTimeStatisticsInstance - """ - return TaskQueueRealTimeStatisticsInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - task_queue_sid=self._solution['task_queue_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.TaskQueueRealTimeStatisticsPage>' - - -class TaskQueueRealTimeStatisticsContext(InstanceContext): - """ """ - - def __init__(self, version, workspace_sid, task_queue_sid): - """ - Initialize the TaskQueueRealTimeStatisticsContext - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - :param task_queue_sid: The task_queue_sid - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_real_time_statistics.TaskQueueRealTimeStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_real_time_statistics.TaskQueueRealTimeStatisticsContext - """ - super(TaskQueueRealTimeStatisticsContext, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, 'task_queue_sid': task_queue_sid, } - self._uri = '/Workspaces/{workspace_sid}/TaskQueues/{task_queue_sid}/RealTimeStatistics'.format(**self._solution) - - def fetch(self, task_channel=values.unset): - """ - Fetch a TaskQueueRealTimeStatisticsInstance - - :param unicode task_channel: The task_channel - - :returns: Fetched TaskQueueRealTimeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_real_time_statistics.TaskQueueRealTimeStatisticsInstance - """ - params = values.of({'TaskChannel': task_channel, }) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return TaskQueueRealTimeStatisticsInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - task_queue_sid=self._solution['task_queue_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.TaskQueueRealTimeStatisticsContext {}>'.format(context) - - -class TaskQueueRealTimeStatisticsInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, workspace_sid, task_queue_sid): - """ - Initialize the TaskQueueRealTimeStatisticsInstance - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_real_time_statistics.TaskQueueRealTimeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_real_time_statistics.TaskQueueRealTimeStatisticsInstance - """ - super(TaskQueueRealTimeStatisticsInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'activity_statistics': payload['activity_statistics'], - 'longest_task_waiting_age': deserialize.integer(payload['longest_task_waiting_age']), - 'task_queue_sid': payload['task_queue_sid'], - 'tasks_by_priority': payload['tasks_by_priority'], - 'tasks_by_status': payload['tasks_by_status'], - 'total_available_workers': deserialize.integer(payload['total_available_workers']), - 'total_eligible_workers': deserialize.integer(payload['total_eligible_workers']), - 'total_tasks': deserialize.integer(payload['total_tasks']), - 'workspace_sid': payload['workspace_sid'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'workspace_sid': workspace_sid, 'task_queue_sid': task_queue_sid, } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: TaskQueueRealTimeStatisticsContext for this TaskQueueRealTimeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_real_time_statistics.TaskQueueRealTimeStatisticsContext - """ - if self._context is None: - self._context = TaskQueueRealTimeStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - task_queue_sid=self._solution['task_queue_sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def activity_statistics(self): - """ - :returns: The activity_statistics - :rtype: dict - """ - return self._properties['activity_statistics'] - - @property - def longest_task_waiting_age(self): - """ - :returns: The longest_task_waiting_age - :rtype: unicode - """ - return self._properties['longest_task_waiting_age'] - - @property - def task_queue_sid(self): - """ - :returns: The task_queue_sid - :rtype: unicode - """ - return self._properties['task_queue_sid'] - - @property - def tasks_by_priority(self): - """ - :returns: The tasks_by_priority - :rtype: dict - """ - return self._properties['tasks_by_priority'] - - @property - def tasks_by_status(self): - """ - :returns: The tasks_by_status - :rtype: dict - """ - return self._properties['tasks_by_status'] - - @property - def total_available_workers(self): - """ - :returns: The total_available_workers - :rtype: unicode - """ - return self._properties['total_available_workers'] - - @property - def total_eligible_workers(self): - """ - :returns: The total_eligible_workers - :rtype: unicode - """ - return self._properties['total_eligible_workers'] - - @property - def total_tasks(self): - """ - :returns: The total_tasks - :rtype: unicode - """ - return self._properties['total_tasks'] - - @property - def workspace_sid(self): - """ - :returns: The workspace_sid - :rtype: unicode - """ - return self._properties['workspace_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self, task_channel=values.unset): - """ - Fetch a TaskQueueRealTimeStatisticsInstance - - :param unicode task_channel: The task_channel - - :returns: Fetched TaskQueueRealTimeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_real_time_statistics.TaskQueueRealTimeStatisticsInstance - """ - return self._proxy.fetch(task_channel=task_channel, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.TaskQueueRealTimeStatisticsInstance {}>'.format(context) diff --git a/twilio/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.py b/twilio/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.py deleted file mode 100644 index 8c7e394..0000000 --- a/twilio/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.py +++ /dev/null @@ -1,307 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class TaskQueueStatisticsList(ListResource): - """ """ - - def __init__(self, version, workspace_sid, task_queue_sid): - """ - Initialize the TaskQueueStatisticsList - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - :param task_queue_sid: The task_queue_sid - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_statistics.TaskQueueStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_statistics.TaskQueueStatisticsList - """ - super(TaskQueueStatisticsList, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, 'task_queue_sid': task_queue_sid, } - - def get(self): - """ - Constructs a TaskQueueStatisticsContext - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_statistics.TaskQueueStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_statistics.TaskQueueStatisticsContext - """ - return TaskQueueStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - task_queue_sid=self._solution['task_queue_sid'], - ) - - def __call__(self): - """ - Constructs a TaskQueueStatisticsContext - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_statistics.TaskQueueStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_statistics.TaskQueueStatisticsContext - """ - return TaskQueueStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - task_queue_sid=self._solution['task_queue_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.TaskQueueStatisticsList>' - - -class TaskQueueStatisticsPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the TaskQueueStatisticsPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param workspace_sid: The workspace_sid - :param task_queue_sid: The task_queue_sid - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_statistics.TaskQueueStatisticsPage - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_statistics.TaskQueueStatisticsPage - """ - super(TaskQueueStatisticsPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of TaskQueueStatisticsInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_statistics.TaskQueueStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_statistics.TaskQueueStatisticsInstance - """ - return TaskQueueStatisticsInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - task_queue_sid=self._solution['task_queue_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.TaskQueueStatisticsPage>' - - -class TaskQueueStatisticsContext(InstanceContext): - """ """ - - def __init__(self, version, workspace_sid, task_queue_sid): - """ - Initialize the TaskQueueStatisticsContext - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - :param task_queue_sid: The task_queue_sid - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_statistics.TaskQueueStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_statistics.TaskQueueStatisticsContext - """ - super(TaskQueueStatisticsContext, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, 'task_queue_sid': task_queue_sid, } - self._uri = '/Workspaces/{workspace_sid}/TaskQueues/{task_queue_sid}/Statistics'.format(**self._solution) - - def fetch(self, end_date=values.unset, minutes=values.unset, - start_date=values.unset, task_channel=values.unset, - split_by_wait_time=values.unset): - """ - Fetch a TaskQueueStatisticsInstance - - :param datetime end_date: The end_date - :param unicode minutes: The minutes - :param datetime start_date: The start_date - :param unicode task_channel: The task_channel - :param unicode split_by_wait_time: The split_by_wait_time - - :returns: Fetched TaskQueueStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_statistics.TaskQueueStatisticsInstance - """ - params = values.of({ - 'EndDate': serialize.iso8601_datetime(end_date), - 'Minutes': minutes, - 'StartDate': serialize.iso8601_datetime(start_date), - 'TaskChannel': task_channel, - 'SplitByWaitTime': split_by_wait_time, - }) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return TaskQueueStatisticsInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - task_queue_sid=self._solution['task_queue_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.TaskQueueStatisticsContext {}>'.format(context) - - -class TaskQueueStatisticsInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, workspace_sid, task_queue_sid): - """ - Initialize the TaskQueueStatisticsInstance - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_statistics.TaskQueueStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_statistics.TaskQueueStatisticsInstance - """ - super(TaskQueueStatisticsInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'cumulative': payload['cumulative'], - 'realtime': payload['realtime'], - 'task_queue_sid': payload['task_queue_sid'], - 'workspace_sid': payload['workspace_sid'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'workspace_sid': workspace_sid, 'task_queue_sid': task_queue_sid, } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: TaskQueueStatisticsContext for this TaskQueueStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_statistics.TaskQueueStatisticsContext - """ - if self._context is None: - self._context = TaskQueueStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - task_queue_sid=self._solution['task_queue_sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def cumulative(self): - """ - :returns: The cumulative - :rtype: dict - """ - return self._properties['cumulative'] - - @property - def realtime(self): - """ - :returns: The realtime - :rtype: dict - """ - return self._properties['realtime'] - - @property - def task_queue_sid(self): - """ - :returns: The task_queue_sid - :rtype: unicode - """ - return self._properties['task_queue_sid'] - - @property - def workspace_sid(self): - """ - :returns: The workspace_sid - :rtype: unicode - """ - return self._properties['workspace_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self, end_date=values.unset, minutes=values.unset, - start_date=values.unset, task_channel=values.unset, - split_by_wait_time=values.unset): - """ - Fetch a TaskQueueStatisticsInstance - - :param datetime end_date: The end_date - :param unicode minutes: The minutes - :param datetime start_date: The start_date - :param unicode task_channel: The task_channel - :param unicode split_by_wait_time: The split_by_wait_time - - :returns: Fetched TaskQueueStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queue_statistics.TaskQueueStatisticsInstance - """ - return self._proxy.fetch( - end_date=end_date, - minutes=minutes, - start_date=start_date, - task_channel=task_channel, - split_by_wait_time=split_by_wait_time, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.TaskQueueStatisticsInstance {}>'.format(context) diff --git a/twilio/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.py b/twilio/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.py deleted file mode 100644 index c01b50e..0000000 --- a/twilio/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.py +++ /dev/null @@ -1,296 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class TaskQueuesStatisticsList(ListResource): - """ """ - - def __init__(self, version, workspace_sid): - """ - Initialize the TaskQueuesStatisticsList - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queues_statistics.TaskQueuesStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queues_statistics.TaskQueuesStatisticsList - """ - super(TaskQueuesStatisticsList, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, } - self._uri = '/Workspaces/{workspace_sid}/TaskQueues/Statistics'.format(**self._solution) - - def stream(self, end_date=values.unset, friendly_name=values.unset, - minutes=values.unset, start_date=values.unset, - task_channel=values.unset, split_by_wait_time=values.unset, - limit=None, page_size=None): - """ - Streams TaskQueuesStatisticsInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param datetime end_date: The end_date - :param unicode friendly_name: The friendly_name - :param unicode minutes: The minutes - :param datetime start_date: The start_date - :param unicode task_channel: The task_channel - :param unicode split_by_wait_time: The split_by_wait_time - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.taskrouter.v1.workspace.task_queue.task_queues_statistics.TaskQueuesStatisticsInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - end_date=end_date, - friendly_name=friendly_name, - minutes=minutes, - start_date=start_date, - task_channel=task_channel, - split_by_wait_time=split_by_wait_time, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, end_date=values.unset, friendly_name=values.unset, - minutes=values.unset, start_date=values.unset, - task_channel=values.unset, split_by_wait_time=values.unset, limit=None, - page_size=None): - """ - Lists TaskQueuesStatisticsInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param datetime end_date: The end_date - :param unicode friendly_name: The friendly_name - :param unicode minutes: The minutes - :param datetime start_date: The start_date - :param unicode task_channel: The task_channel - :param unicode split_by_wait_time: The split_by_wait_time - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.taskrouter.v1.workspace.task_queue.task_queues_statistics.TaskQueuesStatisticsInstance] - """ - return list(self.stream( - end_date=end_date, - friendly_name=friendly_name, - minutes=minutes, - start_date=start_date, - task_channel=task_channel, - split_by_wait_time=split_by_wait_time, - limit=limit, - page_size=page_size, - )) - - def page(self, end_date=values.unset, friendly_name=values.unset, - minutes=values.unset, start_date=values.unset, - task_channel=values.unset, split_by_wait_time=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of TaskQueuesStatisticsInstance records from the API. - Request is executed immediately - - :param datetime end_date: The end_date - :param unicode friendly_name: The friendly_name - :param unicode minutes: The minutes - :param datetime start_date: The start_date - :param unicode task_channel: The task_channel - :param unicode split_by_wait_time: The split_by_wait_time - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of TaskQueuesStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queues_statistics.TaskQueuesStatisticsPage - """ - params = values.of({ - 'EndDate': serialize.iso8601_datetime(end_date), - 'FriendlyName': friendly_name, - 'Minutes': minutes, - 'StartDate': serialize.iso8601_datetime(start_date), - 'TaskChannel': task_channel, - 'SplitByWaitTime': split_by_wait_time, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return TaskQueuesStatisticsPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of TaskQueuesStatisticsInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of TaskQueuesStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queues_statistics.TaskQueuesStatisticsPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return TaskQueuesStatisticsPage(self._version, response, self._solution) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.TaskQueuesStatisticsList>' - - -class TaskQueuesStatisticsPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the TaskQueuesStatisticsPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queues_statistics.TaskQueuesStatisticsPage - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queues_statistics.TaskQueuesStatisticsPage - """ - super(TaskQueuesStatisticsPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of TaskQueuesStatisticsInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queues_statistics.TaskQueuesStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queues_statistics.TaskQueuesStatisticsInstance - """ - return TaskQueuesStatisticsInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.TaskQueuesStatisticsPage>' - - -class TaskQueuesStatisticsInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, workspace_sid): - """ - Initialize the TaskQueuesStatisticsInstance - - :returns: twilio.rest.taskrouter.v1.workspace.task_queue.task_queues_statistics.TaskQueuesStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.task_queue.task_queues_statistics.TaskQueuesStatisticsInstance - """ - super(TaskQueuesStatisticsInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'cumulative': payload['cumulative'], - 'realtime': payload['realtime'], - 'task_queue_sid': payload['task_queue_sid'], - 'workspace_sid': payload['workspace_sid'], - } - - # Context - self._context = None - self._solution = {'workspace_sid': workspace_sid, } - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def cumulative(self): - """ - :returns: The cumulative - :rtype: dict - """ - return self._properties['cumulative'] - - @property - def realtime(self): - """ - :returns: The realtime - :rtype: dict - """ - return self._properties['realtime'] - - @property - def task_queue_sid(self): - """ - :returns: The task_queue_sid - :rtype: unicode - """ - return self._properties['task_queue_sid'] - - @property - def workspace_sid(self): - """ - :returns: The workspace_sid - :rtype: unicode - """ - return self._properties['workspace_sid'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.TaskQueuesStatisticsInstance>' diff --git a/twilio/rest/taskrouter/v1/workspace/worker/__init__.py b/twilio/rest/taskrouter/v1/workspace/worker/__init__.py deleted file mode 100644 index a41c1af..0000000 --- a/twilio/rest/taskrouter/v1/workspace/worker/__init__.py +++ /dev/null @@ -1,725 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.taskrouter.v1.workspace.worker.reservation import ReservationList -from twilio.rest.taskrouter.v1.workspace.worker.worker_channel import WorkerChannelList -from twilio.rest.taskrouter.v1.workspace.worker.worker_statistics import WorkerStatisticsList -from twilio.rest.taskrouter.v1.workspace.worker.workers_cumulative_statistics import WorkersCumulativeStatisticsList -from twilio.rest.taskrouter.v1.workspace.worker.workers_real_time_statistics import WorkersRealTimeStatisticsList -from twilio.rest.taskrouter.v1.workspace.worker.workers_statistics import WorkersStatisticsList - - -class WorkerList(ListResource): - """ """ - - def __init__(self, version, workspace_sid): - """ - Initialize the WorkerList - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.worker.WorkerList - :rtype: twilio.rest.taskrouter.v1.workspace.worker.WorkerList - """ - super(WorkerList, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, } - self._uri = '/Workspaces/{workspace_sid}/Workers'.format(**self._solution) - - # Components - self._statistics = None - - def stream(self, activity_name=values.unset, activity_sid=values.unset, - available=values.unset, friendly_name=values.unset, - target_workers_expression=values.unset, task_queue_name=values.unset, - task_queue_sid=values.unset, limit=None, page_size=None): - """ - Streams WorkerInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode activity_name: The activity_name - :param unicode activity_sid: The activity_sid - :param unicode available: The available - :param unicode friendly_name: The friendly_name - :param unicode target_workers_expression: The target_workers_expression - :param unicode task_queue_name: The task_queue_name - :param unicode task_queue_sid: The task_queue_sid - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.taskrouter.v1.workspace.worker.WorkerInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - activity_name=activity_name, - activity_sid=activity_sid, - available=available, - friendly_name=friendly_name, - target_workers_expression=target_workers_expression, - task_queue_name=task_queue_name, - task_queue_sid=task_queue_sid, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, activity_name=values.unset, activity_sid=values.unset, - available=values.unset, friendly_name=values.unset, - target_workers_expression=values.unset, task_queue_name=values.unset, - task_queue_sid=values.unset, limit=None, page_size=None): - """ - Lists WorkerInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode activity_name: The activity_name - :param unicode activity_sid: The activity_sid - :param unicode available: The available - :param unicode friendly_name: The friendly_name - :param unicode target_workers_expression: The target_workers_expression - :param unicode task_queue_name: The task_queue_name - :param unicode task_queue_sid: The task_queue_sid - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.taskrouter.v1.workspace.worker.WorkerInstance] - """ - return list(self.stream( - activity_name=activity_name, - activity_sid=activity_sid, - available=available, - friendly_name=friendly_name, - target_workers_expression=target_workers_expression, - task_queue_name=task_queue_name, - task_queue_sid=task_queue_sid, - limit=limit, - page_size=page_size, - )) - - def page(self, activity_name=values.unset, activity_sid=values.unset, - available=values.unset, friendly_name=values.unset, - target_workers_expression=values.unset, task_queue_name=values.unset, - task_queue_sid=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of WorkerInstance records from the API. - Request is executed immediately - - :param unicode activity_name: The activity_name - :param unicode activity_sid: The activity_sid - :param unicode available: The available - :param unicode friendly_name: The friendly_name - :param unicode target_workers_expression: The target_workers_expression - :param unicode task_queue_name: The task_queue_name - :param unicode task_queue_sid: The task_queue_sid - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of WorkerInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.WorkerPage - """ - params = values.of({ - 'ActivityName': activity_name, - 'ActivitySid': activity_sid, - 'Available': available, - 'FriendlyName': friendly_name, - 'TargetWorkersExpression': target_workers_expression, - 'TaskQueueName': task_queue_name, - 'TaskQueueSid': task_queue_sid, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return WorkerPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of WorkerInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of WorkerInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.WorkerPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return WorkerPage(self._version, response, self._solution) - - def create(self, friendly_name, activity_sid=values.unset, - attributes=values.unset): - """ - Create a new WorkerInstance - - :param unicode friendly_name: The friendly_name - :param unicode activity_sid: The activity_sid - :param unicode attributes: The attributes - - :returns: Newly created WorkerInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.WorkerInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'ActivitySid': activity_sid, - 'Attributes': attributes, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return WorkerInstance(self._version, payload, workspace_sid=self._solution['workspace_sid'], ) - - @property - def statistics(self): - """ - Access the statistics - - :returns: twilio.rest.taskrouter.v1.workspace.worker.workers_statistics.WorkersStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_statistics.WorkersStatisticsList - """ - if self._statistics is None: - self._statistics = WorkersStatisticsList( - self._version, - workspace_sid=self._solution['workspace_sid'], - ) - return self._statistics - - def get(self, sid): - """ - Constructs a WorkerContext - - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.worker.WorkerContext - :rtype: twilio.rest.taskrouter.v1.workspace.worker.WorkerContext - """ - return WorkerContext(self._version, workspace_sid=self._solution['workspace_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a WorkerContext - - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.worker.WorkerContext - :rtype: twilio.rest.taskrouter.v1.workspace.worker.WorkerContext - """ - return WorkerContext(self._version, workspace_sid=self._solution['workspace_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkerList>' - - -class WorkerPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the WorkerPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.worker.WorkerPage - :rtype: twilio.rest.taskrouter.v1.workspace.worker.WorkerPage - """ - super(WorkerPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of WorkerInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.taskrouter.v1.workspace.worker.WorkerInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.WorkerInstance - """ - return WorkerInstance(self._version, payload, workspace_sid=self._solution['workspace_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkerPage>' - - -class WorkerContext(InstanceContext): - """ """ - - def __init__(self, version, workspace_sid, sid): - """ - Initialize the WorkerContext - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.worker.WorkerContext - :rtype: twilio.rest.taskrouter.v1.workspace.worker.WorkerContext - """ - super(WorkerContext, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, 'sid': sid, } - self._uri = '/Workspaces/{workspace_sid}/Workers/{sid}'.format(**self._solution) - - # Dependents - self._real_time_statistics = None - self._cumulative_statistics = None - self._statistics = None - self._reservations = None - self._worker_channels = None - - def fetch(self): - """ - Fetch a WorkerInstance - - :returns: Fetched WorkerInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.WorkerInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return WorkerInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - sid=self._solution['sid'], - ) - - def update(self, activity_sid=values.unset, attributes=values.unset, - friendly_name=values.unset): - """ - Update the WorkerInstance - - :param unicode activity_sid: The activity_sid - :param unicode attributes: The attributes - :param unicode friendly_name: The friendly_name - - :returns: Updated WorkerInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.WorkerInstance - """ - data = values.of({ - 'ActivitySid': activity_sid, - 'Attributes': attributes, - 'FriendlyName': friendly_name, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return WorkerInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the WorkerInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - @property - def real_time_statistics(self): - """ - Access the real_time_statistics - - :returns: twilio.rest.taskrouter.v1.workspace.worker.workers_real_time_statistics.WorkersRealTimeStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_real_time_statistics.WorkersRealTimeStatisticsList - """ - if self._real_time_statistics is None: - self._real_time_statistics = WorkersRealTimeStatisticsList( - self._version, - workspace_sid=self._solution['workspace_sid'], - ) - return self._real_time_statistics - - @property - def cumulative_statistics(self): - """ - Access the cumulative_statistics - - :returns: twilio.rest.taskrouter.v1.workspace.worker.workers_cumulative_statistics.WorkersCumulativeStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_cumulative_statistics.WorkersCumulativeStatisticsList - """ - if self._cumulative_statistics is None: - self._cumulative_statistics = WorkersCumulativeStatisticsList( - self._version, - workspace_sid=self._solution['workspace_sid'], - ) - return self._cumulative_statistics - - @property - def statistics(self): - """ - Access the statistics - - :returns: twilio.rest.taskrouter.v1.workspace.worker.worker_statistics.WorkerStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_statistics.WorkerStatisticsList - """ - if self._statistics is None: - self._statistics = WorkerStatisticsList( - self._version, - workspace_sid=self._solution['workspace_sid'], - worker_sid=self._solution['sid'], - ) - return self._statistics - - @property - def reservations(self): - """ - Access the reservations - - :returns: twilio.rest.taskrouter.v1.workspace.worker.reservation.ReservationList - :rtype: twilio.rest.taskrouter.v1.workspace.worker.reservation.ReservationList - """ - if self._reservations is None: - self._reservations = ReservationList( - self._version, - workspace_sid=self._solution['workspace_sid'], - worker_sid=self._solution['sid'], - ) - return self._reservations - - @property - def worker_channels(self): - """ - Access the worker_channels - - :returns: twilio.rest.taskrouter.v1.workspace.worker.worker_channel.WorkerChannelList - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_channel.WorkerChannelList - """ - if self._worker_channels is None: - self._worker_channels = WorkerChannelList( - self._version, - workspace_sid=self._solution['workspace_sid'], - worker_sid=self._solution['sid'], - ) - return self._worker_channels - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkerContext {}>'.format(context) - - -class WorkerInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, workspace_sid, sid=None): - """ - Initialize the WorkerInstance - - :returns: twilio.rest.taskrouter.v1.workspace.worker.WorkerInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.WorkerInstance - """ - super(WorkerInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'activity_name': payload['activity_name'], - 'activity_sid': payload['activity_sid'], - 'attributes': payload['attributes'], - 'available': payload['available'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_status_changed': deserialize.iso8601_datetime(payload['date_status_changed']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'friendly_name': payload['friendly_name'], - 'sid': payload['sid'], - 'workspace_sid': payload['workspace_sid'], - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'workspace_sid': workspace_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: WorkerContext for this WorkerInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.WorkerContext - """ - if self._context is None: - self._context = WorkerContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def activity_name(self): - """ - :returns: The activity_name - :rtype: unicode - """ - return self._properties['activity_name'] - - @property - def activity_sid(self): - """ - :returns: The activity_sid - :rtype: unicode - """ - return self._properties['activity_sid'] - - @property - def attributes(self): - """ - :returns: The attributes - :rtype: unicode - """ - return self._properties['attributes'] - - @property - def available(self): - """ - :returns: The available - :rtype: bool - """ - return self._properties['available'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_status_changed(self): - """ - :returns: The date_status_changed - :rtype: datetime - """ - return self._properties['date_status_changed'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def workspace_sid(self): - """ - :returns: The workspace_sid - :rtype: unicode - """ - return self._properties['workspace_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a WorkerInstance - - :returns: Fetched WorkerInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.WorkerInstance - """ - return self._proxy.fetch() - - def update(self, activity_sid=values.unset, attributes=values.unset, - friendly_name=values.unset): - """ - Update the WorkerInstance - - :param unicode activity_sid: The activity_sid - :param unicode attributes: The attributes - :param unicode friendly_name: The friendly_name - - :returns: Updated WorkerInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.WorkerInstance - """ - return self._proxy.update( - activity_sid=activity_sid, - attributes=attributes, - friendly_name=friendly_name, - ) - - def delete(self): - """ - Deletes the WorkerInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - @property - def real_time_statistics(self): - """ - Access the real_time_statistics - - :returns: twilio.rest.taskrouter.v1.workspace.worker.workers_real_time_statistics.WorkersRealTimeStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_real_time_statistics.WorkersRealTimeStatisticsList - """ - return self._proxy.real_time_statistics - - @property - def cumulative_statistics(self): - """ - Access the cumulative_statistics - - :returns: twilio.rest.taskrouter.v1.workspace.worker.workers_cumulative_statistics.WorkersCumulativeStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_cumulative_statistics.WorkersCumulativeStatisticsList - """ - return self._proxy.cumulative_statistics - - @property - def statistics(self): - """ - Access the statistics - - :returns: twilio.rest.taskrouter.v1.workspace.worker.worker_statistics.WorkerStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_statistics.WorkerStatisticsList - """ - return self._proxy.statistics - - @property - def reservations(self): - """ - Access the reservations - - :returns: twilio.rest.taskrouter.v1.workspace.worker.reservation.ReservationList - :rtype: twilio.rest.taskrouter.v1.workspace.worker.reservation.ReservationList - """ - return self._proxy.reservations - - @property - def worker_channels(self): - """ - Access the worker_channels - - :returns: twilio.rest.taskrouter.v1.workspace.worker.worker_channel.WorkerChannelList - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_channel.WorkerChannelList - """ - return self._proxy.worker_channels - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkerInstance {}>'.format(context) diff --git a/twilio/rest/taskrouter/v1/workspace/worker/__pycache__/__init__.cpython-36.pyc b/twilio/rest/taskrouter/v1/workspace/worker/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index c4815f93d3688397227169a402b972e88737d6b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23810 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 diff --git a/twilio/rest/taskrouter/v1/workspace/worker/__pycache__/reservation.cpython-36.pyc b/twilio/rest/taskrouter/v1/workspace/worker/__pycache__/reservation.cpython-36.pyc deleted file mode 100644 index e80d79494a093499c0abc5f74e8d2da56b28ed49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26497 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 diff --git a/twilio/rest/taskrouter/v1/workspace/worker/__pycache__/worker_channel.cpython-36.pyc b/twilio/rest/taskrouter/v1/workspace/worker/__pycache__/worker_channel.cpython-36.pyc deleted file mode 100644 index 53e7bcb902ebd609a111aa42be1bbcfd48aa9494..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16565 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 X$j3v-;L|a&*<9_9j9RTx`|ke$+vNEo diff --git a/twilio/rest/taskrouter/v1/workspace/worker/__pycache__/worker_statistics.cpython-36.pyc b/twilio/rest/taskrouter/v1/workspace/worker/__pycache__/worker_statistics.cpython-36.pyc deleted file mode 100644 index 8f908ae5c0c211d566ba4b7c461d5ed9a97cd66c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10257 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 diff --git a/twilio/rest/taskrouter/v1/workspace/worker/__pycache__/workers_cumulative_statistics.cpython-36.pyc b/twilio/rest/taskrouter/v1/workspace/worker/__pycache__/workers_cumulative_statistics.cpython-36.pyc deleted file mode 100644 index da644eb78d3ec3b2d248fd62beb2693d86fa5a1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12904 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 diff --git a/twilio/rest/taskrouter/v1/workspace/worker/__pycache__/workers_real_time_statistics.cpython-36.pyc b/twilio/rest/taskrouter/v1/workspace/worker/__pycache__/workers_real_time_statistics.cpython-36.pyc deleted file mode 100644 index 6501e6b10fe744f89bc20aae69d590c3743e3006..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10299 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 EO>t|{!hcnAm$ zS|~lrABXV-vHycR)O^MMJF^$>f8Nz&?_k2o-XYohY|b7#jV4%)l6NT)&})dlzKuNm zxhnDX-k;6lY0loI=XCaB2?@PDc7{es@R6OR<P?%vJ}6W<K6r|>;^Zym=1mTE$2|cs zMt<J0iGE&Ch;Z$0D5uNR_cH*p2zIa~`g$mDkZ|<xaf^S9h{*5BN)<<&(Qm#iT(9+7 zRfLoq<;aD(W8hCSq=~}d%Im4@x)UML1bmaUG~Re-5gbX0|C6ySm03)eaq-_S@Fn`5 zqwm%9_b!6zEKftAvxV^Bi+tNKs56wQM6iOwYIs0=nQDm%;~*EvKKiNE3)M5#i~j{g C$QXYB diff --git a/twilio/rest/taskrouter/v1/workspace/worker/__pycache__/workers_statistics.cpython-36.pyc b/twilio/rest/taskrouter/v1/workspace/worker/__pycache__/workers_statistics.cpython-36.pyc deleted file mode 100644 index 135fa1e5d6a81cf6ba7cb04d946239673457125b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10556 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 diff --git a/twilio/rest/taskrouter/v1/workspace/worker/reservation.py b/twilio/rest/taskrouter/v1/workspace/worker/reservation.py deleted file mode 100644 index d8c06ae..0000000 --- a/twilio/rest/taskrouter/v1/workspace/worker/reservation.py +++ /dev/null @@ -1,743 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class ReservationList(ListResource): - """ """ - - def __init__(self, version, workspace_sid, worker_sid): - """ - Initialize the ReservationList - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - :param worker_sid: The worker_sid - - :returns: twilio.rest.taskrouter.v1.workspace.worker.reservation.ReservationList - :rtype: twilio.rest.taskrouter.v1.workspace.worker.reservation.ReservationList - """ - super(ReservationList, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, 'worker_sid': worker_sid, } - self._uri = '/Workspaces/{workspace_sid}/Workers/{worker_sid}/Reservations'.format(**self._solution) - - def stream(self, reservation_status=values.unset, limit=None, page_size=None): - """ - Streams ReservationInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param ReservationInstance.Status reservation_status: The reservation_status - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.taskrouter.v1.workspace.worker.reservation.ReservationInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(reservation_status=reservation_status, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, reservation_status=values.unset, limit=None, page_size=None): - """ - Lists ReservationInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param ReservationInstance.Status reservation_status: The reservation_status - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.taskrouter.v1.workspace.worker.reservation.ReservationInstance] - """ - return list(self.stream(reservation_status=reservation_status, limit=limit, page_size=page_size, )) - - def page(self, reservation_status=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of ReservationInstance records from the API. - Request is executed immediately - - :param ReservationInstance.Status reservation_status: The reservation_status - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ReservationInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.reservation.ReservationPage - """ - params = values.of({ - 'ReservationStatus': reservation_status, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ReservationPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ReservationInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ReservationInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.reservation.ReservationPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ReservationPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a ReservationContext - - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.worker.reservation.ReservationContext - :rtype: twilio.rest.taskrouter.v1.workspace.worker.reservation.ReservationContext - """ - return ReservationContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - worker_sid=self._solution['worker_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a ReservationContext - - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.worker.reservation.ReservationContext - :rtype: twilio.rest.taskrouter.v1.workspace.worker.reservation.ReservationContext - """ - return ReservationContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - worker_sid=self._solution['worker_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.ReservationList>' - - -class ReservationPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the ReservationPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param workspace_sid: The workspace_sid - :param worker_sid: The worker_sid - - :returns: twilio.rest.taskrouter.v1.workspace.worker.reservation.ReservationPage - :rtype: twilio.rest.taskrouter.v1.workspace.worker.reservation.ReservationPage - """ - super(ReservationPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ReservationInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.taskrouter.v1.workspace.worker.reservation.ReservationInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.reservation.ReservationInstance - """ - return ReservationInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - worker_sid=self._solution['worker_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.ReservationPage>' - - -class ReservationContext(InstanceContext): - """ """ - - def __init__(self, version, workspace_sid, worker_sid, sid): - """ - Initialize the ReservationContext - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - :param worker_sid: The worker_sid - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.worker.reservation.ReservationContext - :rtype: twilio.rest.taskrouter.v1.workspace.worker.reservation.ReservationContext - """ - super(ReservationContext, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, 'worker_sid': worker_sid, 'sid': sid, } - self._uri = '/Workspaces/{workspace_sid}/Workers/{worker_sid}/Reservations/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a ReservationInstance - - :returns: Fetched ReservationInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.reservation.ReservationInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ReservationInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - worker_sid=self._solution['worker_sid'], - sid=self._solution['sid'], - ) - - def update(self, reservation_status=values.unset, - worker_activity_sid=values.unset, instruction=values.unset, - dequeue_post_work_activity_sid=values.unset, - dequeue_from=values.unset, dequeue_record=values.unset, - dequeue_timeout=values.unset, dequeue_to=values.unset, - dequeue_status_callback_url=values.unset, call_from=values.unset, - call_record=values.unset, call_timeout=values.unset, - call_to=values.unset, call_url=values.unset, - call_status_callback_url=values.unset, call_accept=values.unset, - redirect_call_sid=values.unset, redirect_accept=values.unset, - redirect_url=values.unset, to=values.unset, from_=values.unset, - status_callback=values.unset, status_callback_method=values.unset, - status_callback_event=values.unset, timeout=values.unset, - record=values.unset, muted=values.unset, beep=values.unset, - start_conference_on_enter=values.unset, - end_conference_on_exit=values.unset, wait_url=values.unset, - wait_method=values.unset, early_media=values.unset, - max_participants=values.unset, - conference_status_callback=values.unset, - conference_status_callback_method=values.unset, - conference_status_callback_event=values.unset, - conference_record=values.unset, conference_trim=values.unset, - recording_channels=values.unset, - recording_status_callback=values.unset, - recording_status_callback_method=values.unset, - conference_recording_status_callback=values.unset, - conference_recording_status_callback_method=values.unset, - region=values.unset, sip_auth_username=values.unset, - sip_auth_password=values.unset, - dequeue_status_callback_event=values.unset, - post_work_activity_sid=values.unset): - """ - Update the ReservationInstance - - :param ReservationInstance.Status reservation_status: The reservation_status - :param unicode worker_activity_sid: The worker_activity_sid - :param unicode instruction: The instruction - :param unicode dequeue_post_work_activity_sid: The dequeue_post_work_activity_sid - :param unicode dequeue_from: The dequeue_from - :param unicode dequeue_record: The dequeue_record - :param unicode dequeue_timeout: The dequeue_timeout - :param unicode dequeue_to: The dequeue_to - :param unicode dequeue_status_callback_url: The dequeue_status_callback_url - :param unicode call_from: The call_from - :param unicode call_record: The call_record - :param unicode call_timeout: The call_timeout - :param unicode call_to: The call_to - :param unicode call_url: The call_url - :param unicode call_status_callback_url: The call_status_callback_url - :param bool call_accept: The call_accept - :param unicode redirect_call_sid: The redirect_call_sid - :param bool redirect_accept: The redirect_accept - :param unicode redirect_url: The redirect_url - :param unicode to: The to - :param unicode from_: The from - :param unicode status_callback: The status_callback - :param unicode status_callback_method: The status_callback_method - :param ReservationInstance.CallStatus status_callback_event: The status_callback_event - :param unicode timeout: The timeout - :param bool record: The record - :param bool muted: The muted - :param unicode beep: The beep - :param bool start_conference_on_enter: The start_conference_on_enter - :param bool end_conference_on_exit: The end_conference_on_exit - :param unicode wait_url: The wait_url - :param unicode wait_method: The wait_method - :param bool early_media: The early_media - :param unicode max_participants: The max_participants - :param unicode conference_status_callback: The conference_status_callback - :param unicode conference_status_callback_method: The conference_status_callback_method - :param ReservationInstance.ConferenceEvent conference_status_callback_event: The conference_status_callback_event - :param unicode conference_record: The conference_record - :param unicode conference_trim: The conference_trim - :param unicode recording_channels: The recording_channels - :param unicode recording_status_callback: The recording_status_callback - :param unicode recording_status_callback_method: The recording_status_callback_method - :param unicode conference_recording_status_callback: The conference_recording_status_callback - :param unicode conference_recording_status_callback_method: The conference_recording_status_callback_method - :param unicode region: The region - :param unicode sip_auth_username: The sip_auth_username - :param unicode sip_auth_password: The sip_auth_password - :param unicode dequeue_status_callback_event: The dequeue_status_callback_event - :param unicode post_work_activity_sid: The post_work_activity_sid - - :returns: Updated ReservationInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.reservation.ReservationInstance - """ - data = values.of({ - 'ReservationStatus': reservation_status, - 'WorkerActivitySid': worker_activity_sid, - 'Instruction': instruction, - 'DequeuePostWorkActivitySid': dequeue_post_work_activity_sid, - 'DequeueFrom': dequeue_from, - 'DequeueRecord': dequeue_record, - 'DequeueTimeout': dequeue_timeout, - 'DequeueTo': dequeue_to, - 'DequeueStatusCallbackUrl': dequeue_status_callback_url, - 'CallFrom': call_from, - 'CallRecord': call_record, - 'CallTimeout': call_timeout, - 'CallTo': call_to, - 'CallUrl': call_url, - 'CallStatusCallbackUrl': call_status_callback_url, - 'CallAccept': call_accept, - 'RedirectCallSid': redirect_call_sid, - 'RedirectAccept': redirect_accept, - 'RedirectUrl': redirect_url, - 'To': to, - 'From': from_, - 'StatusCallback': status_callback, - 'StatusCallbackMethod': status_callback_method, - 'StatusCallbackEvent': serialize.map(status_callback_event, lambda e: e), - 'Timeout': timeout, - 'Record': record, - 'Muted': muted, - 'Beep': beep, - 'StartConferenceOnEnter': start_conference_on_enter, - 'EndConferenceOnExit': end_conference_on_exit, - 'WaitUrl': wait_url, - 'WaitMethod': wait_method, - 'EarlyMedia': early_media, - 'MaxParticipants': max_participants, - 'ConferenceStatusCallback': conference_status_callback, - 'ConferenceStatusCallbackMethod': conference_status_callback_method, - 'ConferenceStatusCallbackEvent': serialize.map(conference_status_callback_event, lambda e: e), - 'ConferenceRecord': conference_record, - 'ConferenceTrim': conference_trim, - 'RecordingChannels': recording_channels, - 'RecordingStatusCallback': recording_status_callback, - 'RecordingStatusCallbackMethod': recording_status_callback_method, - 'ConferenceRecordingStatusCallback': conference_recording_status_callback, - 'ConferenceRecordingStatusCallbackMethod': conference_recording_status_callback_method, - 'Region': region, - 'SipAuthUsername': sip_auth_username, - 'SipAuthPassword': sip_auth_password, - 'DequeueStatusCallbackEvent': serialize.map(dequeue_status_callback_event, lambda e: e), - 'PostWorkActivitySid': post_work_activity_sid, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ReservationInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - worker_sid=self._solution['worker_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.ReservationContext {}>'.format(context) - - -class ReservationInstance(InstanceResource): - """ """ - - class Status(object): - PENDING = "pending" - ACCEPTED = "accepted" - REJECTED = "rejected" - TIMEOUT = "timeout" - CANCELED = "canceled" - RESCINDED = "rescinded" - - class CallStatus(object): - INITIATED = "initiated" - RINGING = "ringing" - ANSWERED = "answered" - COMPLETED = "completed" - - class ConferenceEvent(object): - START = "start" - END = "end" - JOIN = "join" - LEAVE = "leave" - MUTE = "mute" - HOLD = "hold" - SPEAKER = "speaker" - - def __init__(self, version, payload, workspace_sid, worker_sid, sid=None): - """ - Initialize the ReservationInstance - - :returns: twilio.rest.taskrouter.v1.workspace.worker.reservation.ReservationInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.reservation.ReservationInstance - """ - super(ReservationInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'reservation_status': payload['reservation_status'], - 'sid': payload['sid'], - 'task_sid': payload['task_sid'], - 'worker_name': payload['worker_name'], - 'worker_sid': payload['worker_sid'], - 'workspace_sid': payload['workspace_sid'], - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = { - 'workspace_sid': workspace_sid, - 'worker_sid': worker_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ReservationContext for this ReservationInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.reservation.ReservationContext - """ - if self._context is None: - self._context = ReservationContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - worker_sid=self._solution['worker_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def reservation_status(self): - """ - :returns: The reservation_status - :rtype: ReservationInstance.Status - """ - return self._properties['reservation_status'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def task_sid(self): - """ - :returns: The task_sid - :rtype: unicode - """ - return self._properties['task_sid'] - - @property - def worker_name(self): - """ - :returns: The worker_name - :rtype: unicode - """ - return self._properties['worker_name'] - - @property - def worker_sid(self): - """ - :returns: The worker_sid - :rtype: unicode - """ - return self._properties['worker_sid'] - - @property - def workspace_sid(self): - """ - :returns: The workspace_sid - :rtype: unicode - """ - return self._properties['workspace_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a ReservationInstance - - :returns: Fetched ReservationInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.reservation.ReservationInstance - """ - return self._proxy.fetch() - - def update(self, reservation_status=values.unset, - worker_activity_sid=values.unset, instruction=values.unset, - dequeue_post_work_activity_sid=values.unset, - dequeue_from=values.unset, dequeue_record=values.unset, - dequeue_timeout=values.unset, dequeue_to=values.unset, - dequeue_status_callback_url=values.unset, call_from=values.unset, - call_record=values.unset, call_timeout=values.unset, - call_to=values.unset, call_url=values.unset, - call_status_callback_url=values.unset, call_accept=values.unset, - redirect_call_sid=values.unset, redirect_accept=values.unset, - redirect_url=values.unset, to=values.unset, from_=values.unset, - status_callback=values.unset, status_callback_method=values.unset, - status_callback_event=values.unset, timeout=values.unset, - record=values.unset, muted=values.unset, beep=values.unset, - start_conference_on_enter=values.unset, - end_conference_on_exit=values.unset, wait_url=values.unset, - wait_method=values.unset, early_media=values.unset, - max_participants=values.unset, - conference_status_callback=values.unset, - conference_status_callback_method=values.unset, - conference_status_callback_event=values.unset, - conference_record=values.unset, conference_trim=values.unset, - recording_channels=values.unset, - recording_status_callback=values.unset, - recording_status_callback_method=values.unset, - conference_recording_status_callback=values.unset, - conference_recording_status_callback_method=values.unset, - region=values.unset, sip_auth_username=values.unset, - sip_auth_password=values.unset, - dequeue_status_callback_event=values.unset, - post_work_activity_sid=values.unset): - """ - Update the ReservationInstance - - :param ReservationInstance.Status reservation_status: The reservation_status - :param unicode worker_activity_sid: The worker_activity_sid - :param unicode instruction: The instruction - :param unicode dequeue_post_work_activity_sid: The dequeue_post_work_activity_sid - :param unicode dequeue_from: The dequeue_from - :param unicode dequeue_record: The dequeue_record - :param unicode dequeue_timeout: The dequeue_timeout - :param unicode dequeue_to: The dequeue_to - :param unicode dequeue_status_callback_url: The dequeue_status_callback_url - :param unicode call_from: The call_from - :param unicode call_record: The call_record - :param unicode call_timeout: The call_timeout - :param unicode call_to: The call_to - :param unicode call_url: The call_url - :param unicode call_status_callback_url: The call_status_callback_url - :param bool call_accept: The call_accept - :param unicode redirect_call_sid: The redirect_call_sid - :param bool redirect_accept: The redirect_accept - :param unicode redirect_url: The redirect_url - :param unicode to: The to - :param unicode from_: The from - :param unicode status_callback: The status_callback - :param unicode status_callback_method: The status_callback_method - :param ReservationInstance.CallStatus status_callback_event: The status_callback_event - :param unicode timeout: The timeout - :param bool record: The record - :param bool muted: The muted - :param unicode beep: The beep - :param bool start_conference_on_enter: The start_conference_on_enter - :param bool end_conference_on_exit: The end_conference_on_exit - :param unicode wait_url: The wait_url - :param unicode wait_method: The wait_method - :param bool early_media: The early_media - :param unicode max_participants: The max_participants - :param unicode conference_status_callback: The conference_status_callback - :param unicode conference_status_callback_method: The conference_status_callback_method - :param ReservationInstance.ConferenceEvent conference_status_callback_event: The conference_status_callback_event - :param unicode conference_record: The conference_record - :param unicode conference_trim: The conference_trim - :param unicode recording_channels: The recording_channels - :param unicode recording_status_callback: The recording_status_callback - :param unicode recording_status_callback_method: The recording_status_callback_method - :param unicode conference_recording_status_callback: The conference_recording_status_callback - :param unicode conference_recording_status_callback_method: The conference_recording_status_callback_method - :param unicode region: The region - :param unicode sip_auth_username: The sip_auth_username - :param unicode sip_auth_password: The sip_auth_password - :param unicode dequeue_status_callback_event: The dequeue_status_callback_event - :param unicode post_work_activity_sid: The post_work_activity_sid - - :returns: Updated ReservationInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.reservation.ReservationInstance - """ - return self._proxy.update( - reservation_status=reservation_status, - worker_activity_sid=worker_activity_sid, - instruction=instruction, - dequeue_post_work_activity_sid=dequeue_post_work_activity_sid, - dequeue_from=dequeue_from, - dequeue_record=dequeue_record, - dequeue_timeout=dequeue_timeout, - dequeue_to=dequeue_to, - dequeue_status_callback_url=dequeue_status_callback_url, - call_from=call_from, - call_record=call_record, - call_timeout=call_timeout, - call_to=call_to, - call_url=call_url, - call_status_callback_url=call_status_callback_url, - call_accept=call_accept, - redirect_call_sid=redirect_call_sid, - redirect_accept=redirect_accept, - redirect_url=redirect_url, - to=to, - from_=from_, - status_callback=status_callback, - status_callback_method=status_callback_method, - status_callback_event=status_callback_event, - timeout=timeout, - record=record, - muted=muted, - beep=beep, - start_conference_on_enter=start_conference_on_enter, - end_conference_on_exit=end_conference_on_exit, - wait_url=wait_url, - wait_method=wait_method, - early_media=early_media, - max_participants=max_participants, - conference_status_callback=conference_status_callback, - conference_status_callback_method=conference_status_callback_method, - conference_status_callback_event=conference_status_callback_event, - conference_record=conference_record, - conference_trim=conference_trim, - recording_channels=recording_channels, - recording_status_callback=recording_status_callback, - recording_status_callback_method=recording_status_callback_method, - conference_recording_status_callback=conference_recording_status_callback, - conference_recording_status_callback_method=conference_recording_status_callback_method, - region=region, - sip_auth_username=sip_auth_username, - sip_auth_password=sip_auth_password, - dequeue_status_callback_event=dequeue_status_callback_event, - post_work_activity_sid=post_work_activity_sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.ReservationInstance {}>'.format(context) diff --git a/twilio/rest/taskrouter/v1/workspace/worker/worker_channel.py b/twilio/rest/taskrouter/v1/workspace/worker/worker_channel.py deleted file mode 100644 index d8d3fdd..0000000 --- a/twilio/rest/taskrouter/v1/workspace/worker/worker_channel.py +++ /dev/null @@ -1,475 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class WorkerChannelList(ListResource): - """ """ - - def __init__(self, version, workspace_sid, worker_sid): - """ - Initialize the WorkerChannelList - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - :param worker_sid: The worker_sid - - :returns: twilio.rest.taskrouter.v1.workspace.worker.worker_channel.WorkerChannelList - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_channel.WorkerChannelList - """ - super(WorkerChannelList, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, 'worker_sid': worker_sid, } - self._uri = '/Workspaces/{workspace_sid}/Workers/{worker_sid}/Channels'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams WorkerChannelInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.taskrouter.v1.workspace.worker.worker_channel.WorkerChannelInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists WorkerChannelInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.taskrouter.v1.workspace.worker.worker_channel.WorkerChannelInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of WorkerChannelInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of WorkerChannelInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_channel.WorkerChannelPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return WorkerChannelPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of WorkerChannelInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of WorkerChannelInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_channel.WorkerChannelPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return WorkerChannelPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a WorkerChannelContext - - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.worker.worker_channel.WorkerChannelContext - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_channel.WorkerChannelContext - """ - return WorkerChannelContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - worker_sid=self._solution['worker_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a WorkerChannelContext - - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.worker.worker_channel.WorkerChannelContext - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_channel.WorkerChannelContext - """ - return WorkerChannelContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - worker_sid=self._solution['worker_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkerChannelList>' - - -class WorkerChannelPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the WorkerChannelPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param workspace_sid: The workspace_sid - :param worker_sid: The worker_sid - - :returns: twilio.rest.taskrouter.v1.workspace.worker.worker_channel.WorkerChannelPage - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_channel.WorkerChannelPage - """ - super(WorkerChannelPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of WorkerChannelInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.taskrouter.v1.workspace.worker.worker_channel.WorkerChannelInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_channel.WorkerChannelInstance - """ - return WorkerChannelInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - worker_sid=self._solution['worker_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkerChannelPage>' - - -class WorkerChannelContext(InstanceContext): - """ """ - - def __init__(self, version, workspace_sid, worker_sid, sid): - """ - Initialize the WorkerChannelContext - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - :param worker_sid: The worker_sid - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.worker.worker_channel.WorkerChannelContext - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_channel.WorkerChannelContext - """ - super(WorkerChannelContext, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, 'worker_sid': worker_sid, 'sid': sid, } - self._uri = '/Workspaces/{workspace_sid}/Workers/{worker_sid}/Channels/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a WorkerChannelInstance - - :returns: Fetched WorkerChannelInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_channel.WorkerChannelInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return WorkerChannelInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - worker_sid=self._solution['worker_sid'], - sid=self._solution['sid'], - ) - - def update(self, capacity=values.unset, available=values.unset): - """ - Update the WorkerChannelInstance - - :param unicode capacity: The capacity - :param bool available: The available - - :returns: Updated WorkerChannelInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_channel.WorkerChannelInstance - """ - data = values.of({'Capacity': capacity, 'Available': available, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return WorkerChannelInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - worker_sid=self._solution['worker_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkerChannelContext {}>'.format(context) - - -class WorkerChannelInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, workspace_sid, worker_sid, sid=None): - """ - Initialize the WorkerChannelInstance - - :returns: twilio.rest.taskrouter.v1.workspace.worker.worker_channel.WorkerChannelInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_channel.WorkerChannelInstance - """ - super(WorkerChannelInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'assigned_tasks': deserialize.integer(payload['assigned_tasks']), - 'available': payload['available'], - 'available_capacity_percentage': deserialize.integer(payload['available_capacity_percentage']), - 'configured_capacity': deserialize.integer(payload['configured_capacity']), - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'sid': payload['sid'], - 'task_channel_sid': payload['task_channel_sid'], - 'task_channel_unique_name': payload['task_channel_unique_name'], - 'worker_sid': payload['worker_sid'], - 'workspace_sid': payload['workspace_sid'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'workspace_sid': workspace_sid, - 'worker_sid': worker_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: WorkerChannelContext for this WorkerChannelInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_channel.WorkerChannelContext - """ - if self._context is None: - self._context = WorkerChannelContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - worker_sid=self._solution['worker_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def assigned_tasks(self): - """ - :returns: The assigned_tasks - :rtype: unicode - """ - return self._properties['assigned_tasks'] - - @property - def available(self): - """ - :returns: The available - :rtype: bool - """ - return self._properties['available'] - - @property - def available_capacity_percentage(self): - """ - :returns: The available_capacity_percentage - :rtype: unicode - """ - return self._properties['available_capacity_percentage'] - - @property - def configured_capacity(self): - """ - :returns: The configured_capacity - :rtype: unicode - """ - return self._properties['configured_capacity'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def task_channel_sid(self): - """ - :returns: The task_channel_sid - :rtype: unicode - """ - return self._properties['task_channel_sid'] - - @property - def task_channel_unique_name(self): - """ - :returns: The task_channel_unique_name - :rtype: unicode - """ - return self._properties['task_channel_unique_name'] - - @property - def worker_sid(self): - """ - :returns: The worker_sid - :rtype: unicode - """ - return self._properties['worker_sid'] - - @property - def workspace_sid(self): - """ - :returns: The workspace_sid - :rtype: unicode - """ - return self._properties['workspace_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a WorkerChannelInstance - - :returns: Fetched WorkerChannelInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_channel.WorkerChannelInstance - """ - return self._proxy.fetch() - - def update(self, capacity=values.unset, available=values.unset): - """ - Update the WorkerChannelInstance - - :param unicode capacity: The capacity - :param bool available: The available - - :returns: Updated WorkerChannelInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_channel.WorkerChannelInstance - """ - return self._proxy.update(capacity=capacity, available=available, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkerChannelInstance {}>'.format(context) diff --git a/twilio/rest/taskrouter/v1/workspace/worker/worker_statistics.py b/twilio/rest/taskrouter/v1/workspace/worker/worker_statistics.py deleted file mode 100644 index 65f3265..0000000 --- a/twilio/rest/taskrouter/v1/workspace/worker/worker_statistics.py +++ /dev/null @@ -1,292 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class WorkerStatisticsList(ListResource): - """ """ - - def __init__(self, version, workspace_sid, worker_sid): - """ - Initialize the WorkerStatisticsList - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - :param worker_sid: The worker_sid - - :returns: twilio.rest.taskrouter.v1.workspace.worker.worker_statistics.WorkerStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_statistics.WorkerStatisticsList - """ - super(WorkerStatisticsList, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, 'worker_sid': worker_sid, } - - def get(self): - """ - Constructs a WorkerStatisticsContext - - :returns: twilio.rest.taskrouter.v1.workspace.worker.worker_statistics.WorkerStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_statistics.WorkerStatisticsContext - """ - return WorkerStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - worker_sid=self._solution['worker_sid'], - ) - - def __call__(self): - """ - Constructs a WorkerStatisticsContext - - :returns: twilio.rest.taskrouter.v1.workspace.worker.worker_statistics.WorkerStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_statistics.WorkerStatisticsContext - """ - return WorkerStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - worker_sid=self._solution['worker_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkerStatisticsList>' - - -class WorkerStatisticsPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the WorkerStatisticsPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param workspace_sid: The workspace_sid - :param worker_sid: The worker_sid - - :returns: twilio.rest.taskrouter.v1.workspace.worker.worker_statistics.WorkerStatisticsPage - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_statistics.WorkerStatisticsPage - """ - super(WorkerStatisticsPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of WorkerStatisticsInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.taskrouter.v1.workspace.worker.worker_statistics.WorkerStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_statistics.WorkerStatisticsInstance - """ - return WorkerStatisticsInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - worker_sid=self._solution['worker_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkerStatisticsPage>' - - -class WorkerStatisticsContext(InstanceContext): - """ """ - - def __init__(self, version, workspace_sid, worker_sid): - """ - Initialize the WorkerStatisticsContext - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - :param worker_sid: The worker_sid - - :returns: twilio.rest.taskrouter.v1.workspace.worker.worker_statistics.WorkerStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_statistics.WorkerStatisticsContext - """ - super(WorkerStatisticsContext, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, 'worker_sid': worker_sid, } - self._uri = '/Workspaces/{workspace_sid}/Workers/{worker_sid}/Statistics'.format(**self._solution) - - def fetch(self, minutes=values.unset, start_date=values.unset, - end_date=values.unset, task_channel=values.unset): - """ - Fetch a WorkerStatisticsInstance - - :param unicode minutes: The minutes - :param datetime start_date: The start_date - :param datetime end_date: The end_date - :param unicode task_channel: The task_channel - - :returns: Fetched WorkerStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_statistics.WorkerStatisticsInstance - """ - params = values.of({ - 'Minutes': minutes, - 'StartDate': serialize.iso8601_datetime(start_date), - 'EndDate': serialize.iso8601_datetime(end_date), - 'TaskChannel': task_channel, - }) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return WorkerStatisticsInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - worker_sid=self._solution['worker_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkerStatisticsContext {}>'.format(context) - - -class WorkerStatisticsInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, workspace_sid, worker_sid): - """ - Initialize the WorkerStatisticsInstance - - :returns: twilio.rest.taskrouter.v1.workspace.worker.worker_statistics.WorkerStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_statistics.WorkerStatisticsInstance - """ - super(WorkerStatisticsInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'cumulative': payload['cumulative'], - 'worker_sid': payload['worker_sid'], - 'workspace_sid': payload['workspace_sid'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'workspace_sid': workspace_sid, 'worker_sid': worker_sid, } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: WorkerStatisticsContext for this WorkerStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_statistics.WorkerStatisticsContext - """ - if self._context is None: - self._context = WorkerStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - worker_sid=self._solution['worker_sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def cumulative(self): - """ - :returns: The cumulative - :rtype: dict - """ - return self._properties['cumulative'] - - @property - def worker_sid(self): - """ - :returns: The worker_sid - :rtype: unicode - """ - return self._properties['worker_sid'] - - @property - def workspace_sid(self): - """ - :returns: The workspace_sid - :rtype: unicode - """ - return self._properties['workspace_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self, minutes=values.unset, start_date=values.unset, - end_date=values.unset, task_channel=values.unset): - """ - Fetch a WorkerStatisticsInstance - - :param unicode minutes: The minutes - :param datetime start_date: The start_date - :param datetime end_date: The end_date - :param unicode task_channel: The task_channel - - :returns: Fetched WorkerStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.worker_statistics.WorkerStatisticsInstance - """ - return self._proxy.fetch( - minutes=minutes, - start_date=start_date, - end_date=end_date, - task_channel=task_channel, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkerStatisticsInstance {}>'.format(context) diff --git a/twilio/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.py b/twilio/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.py deleted file mode 100644 index f391cf7..0000000 --- a/twilio/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.py +++ /dev/null @@ -1,348 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class WorkersCumulativeStatisticsList(ListResource): - """ """ - - def __init__(self, version, workspace_sid): - """ - Initialize the WorkersCumulativeStatisticsList - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.worker.workers_cumulative_statistics.WorkersCumulativeStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_cumulative_statistics.WorkersCumulativeStatisticsList - """ - super(WorkersCumulativeStatisticsList, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, } - - def get(self): - """ - Constructs a WorkersCumulativeStatisticsContext - - :returns: twilio.rest.taskrouter.v1.workspace.worker.workers_cumulative_statistics.WorkersCumulativeStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_cumulative_statistics.WorkersCumulativeStatisticsContext - """ - return WorkersCumulativeStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - ) - - def __call__(self): - """ - Constructs a WorkersCumulativeStatisticsContext - - :returns: twilio.rest.taskrouter.v1.workspace.worker.workers_cumulative_statistics.WorkersCumulativeStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_cumulative_statistics.WorkersCumulativeStatisticsContext - """ - return WorkersCumulativeStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkersCumulativeStatisticsList>' - - -class WorkersCumulativeStatisticsPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the WorkersCumulativeStatisticsPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.worker.workers_cumulative_statistics.WorkersCumulativeStatisticsPage - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_cumulative_statistics.WorkersCumulativeStatisticsPage - """ - super(WorkersCumulativeStatisticsPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of WorkersCumulativeStatisticsInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.taskrouter.v1.workspace.worker.workers_cumulative_statistics.WorkersCumulativeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_cumulative_statistics.WorkersCumulativeStatisticsInstance - """ - return WorkersCumulativeStatisticsInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkersCumulativeStatisticsPage>' - - -class WorkersCumulativeStatisticsContext(InstanceContext): - """ """ - - def __init__(self, version, workspace_sid): - """ - Initialize the WorkersCumulativeStatisticsContext - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.worker.workers_cumulative_statistics.WorkersCumulativeStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_cumulative_statistics.WorkersCumulativeStatisticsContext - """ - super(WorkersCumulativeStatisticsContext, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, } - self._uri = '/Workspaces/{workspace_sid}/Workers/CumulativeStatistics'.format(**self._solution) - - def fetch(self, end_date=values.unset, minutes=values.unset, - start_date=values.unset, task_channel=values.unset): - """ - Fetch a WorkersCumulativeStatisticsInstance - - :param datetime end_date: The end_date - :param unicode minutes: The minutes - :param datetime start_date: The start_date - :param unicode task_channel: The task_channel - - :returns: Fetched WorkersCumulativeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_cumulative_statistics.WorkersCumulativeStatisticsInstance - """ - params = values.of({ - 'EndDate': serialize.iso8601_datetime(end_date), - 'Minutes': minutes, - 'StartDate': serialize.iso8601_datetime(start_date), - 'TaskChannel': task_channel, - }) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return WorkersCumulativeStatisticsInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkersCumulativeStatisticsContext {}>'.format(context) - - -class WorkersCumulativeStatisticsInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, workspace_sid): - """ - Initialize the WorkersCumulativeStatisticsInstance - - :returns: twilio.rest.taskrouter.v1.workspace.worker.workers_cumulative_statistics.WorkersCumulativeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_cumulative_statistics.WorkersCumulativeStatisticsInstance - """ - super(WorkersCumulativeStatisticsInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'start_time': deserialize.iso8601_datetime(payload['start_time']), - 'end_time': deserialize.iso8601_datetime(payload['end_time']), - 'activity_durations': payload['activity_durations'], - 'reservations_created': deserialize.integer(payload['reservations_created']), - 'reservations_accepted': deserialize.integer(payload['reservations_accepted']), - 'reservations_rejected': deserialize.integer(payload['reservations_rejected']), - 'reservations_timed_out': deserialize.integer(payload['reservations_timed_out']), - 'reservations_canceled': deserialize.integer(payload['reservations_canceled']), - 'reservations_rescinded': deserialize.integer(payload['reservations_rescinded']), - 'workspace_sid': payload['workspace_sid'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'workspace_sid': workspace_sid, } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: WorkersCumulativeStatisticsContext for this WorkersCumulativeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_cumulative_statistics.WorkersCumulativeStatisticsContext - """ - if self._context is None: - self._context = WorkersCumulativeStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def start_time(self): - """ - :returns: The start_time - :rtype: datetime - """ - return self._properties['start_time'] - - @property - def end_time(self): - """ - :returns: The end_time - :rtype: datetime - """ - return self._properties['end_time'] - - @property - def activity_durations(self): - """ - :returns: The activity_durations - :rtype: dict - """ - return self._properties['activity_durations'] - - @property - def reservations_created(self): - """ - :returns: The reservations_created - :rtype: unicode - """ - return self._properties['reservations_created'] - - @property - def reservations_accepted(self): - """ - :returns: The reservations_accepted - :rtype: unicode - """ - return self._properties['reservations_accepted'] - - @property - def reservations_rejected(self): - """ - :returns: The reservations_rejected - :rtype: unicode - """ - return self._properties['reservations_rejected'] - - @property - def reservations_timed_out(self): - """ - :returns: The reservations_timed_out - :rtype: unicode - """ - return self._properties['reservations_timed_out'] - - @property - def reservations_canceled(self): - """ - :returns: The reservations_canceled - :rtype: unicode - """ - return self._properties['reservations_canceled'] - - @property - def reservations_rescinded(self): - """ - :returns: The reservations_rescinded - :rtype: unicode - """ - return self._properties['reservations_rescinded'] - - @property - def workspace_sid(self): - """ - :returns: The workspace_sid - :rtype: unicode - """ - return self._properties['workspace_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self, end_date=values.unset, minutes=values.unset, - start_date=values.unset, task_channel=values.unset): - """ - Fetch a WorkersCumulativeStatisticsInstance - - :param datetime end_date: The end_date - :param unicode minutes: The minutes - :param datetime start_date: The start_date - :param unicode task_channel: The task_channel - - :returns: Fetched WorkersCumulativeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_cumulative_statistics.WorkersCumulativeStatisticsInstance - """ - return self._proxy.fetch( - end_date=end_date, - minutes=minutes, - start_date=start_date, - task_channel=task_channel, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkersCumulativeStatisticsInstance {}>'.format(context) diff --git a/twilio/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.py b/twilio/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.py deleted file mode 100644 index 9d6f36a..0000000 --- a/twilio/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.py +++ /dev/null @@ -1,266 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class WorkersRealTimeStatisticsList(ListResource): - """ """ - - def __init__(self, version, workspace_sid): - """ - Initialize the WorkersRealTimeStatisticsList - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.worker.workers_real_time_statistics.WorkersRealTimeStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_real_time_statistics.WorkersRealTimeStatisticsList - """ - super(WorkersRealTimeStatisticsList, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, } - - def get(self): - """ - Constructs a WorkersRealTimeStatisticsContext - - :returns: twilio.rest.taskrouter.v1.workspace.worker.workers_real_time_statistics.WorkersRealTimeStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_real_time_statistics.WorkersRealTimeStatisticsContext - """ - return WorkersRealTimeStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - ) - - def __call__(self): - """ - Constructs a WorkersRealTimeStatisticsContext - - :returns: twilio.rest.taskrouter.v1.workspace.worker.workers_real_time_statistics.WorkersRealTimeStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_real_time_statistics.WorkersRealTimeStatisticsContext - """ - return WorkersRealTimeStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkersRealTimeStatisticsList>' - - -class WorkersRealTimeStatisticsPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the WorkersRealTimeStatisticsPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.worker.workers_real_time_statistics.WorkersRealTimeStatisticsPage - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_real_time_statistics.WorkersRealTimeStatisticsPage - """ - super(WorkersRealTimeStatisticsPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of WorkersRealTimeStatisticsInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.taskrouter.v1.workspace.worker.workers_real_time_statistics.WorkersRealTimeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_real_time_statistics.WorkersRealTimeStatisticsInstance - """ - return WorkersRealTimeStatisticsInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkersRealTimeStatisticsPage>' - - -class WorkersRealTimeStatisticsContext(InstanceContext): - """ """ - - def __init__(self, version, workspace_sid): - """ - Initialize the WorkersRealTimeStatisticsContext - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.worker.workers_real_time_statistics.WorkersRealTimeStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_real_time_statistics.WorkersRealTimeStatisticsContext - """ - super(WorkersRealTimeStatisticsContext, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, } - self._uri = '/Workspaces/{workspace_sid}/Workers/RealTimeStatistics'.format(**self._solution) - - def fetch(self, task_channel=values.unset): - """ - Fetch a WorkersRealTimeStatisticsInstance - - :param unicode task_channel: The task_channel - - :returns: Fetched WorkersRealTimeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_real_time_statistics.WorkersRealTimeStatisticsInstance - """ - params = values.of({'TaskChannel': task_channel, }) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return WorkersRealTimeStatisticsInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkersRealTimeStatisticsContext {}>'.format(context) - - -class WorkersRealTimeStatisticsInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, workspace_sid): - """ - Initialize the WorkersRealTimeStatisticsInstance - - :returns: twilio.rest.taskrouter.v1.workspace.worker.workers_real_time_statistics.WorkersRealTimeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_real_time_statistics.WorkersRealTimeStatisticsInstance - """ - super(WorkersRealTimeStatisticsInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'activity_statistics': payload['activity_statistics'], - 'total_workers': deserialize.integer(payload['total_workers']), - 'workspace_sid': payload['workspace_sid'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'workspace_sid': workspace_sid, } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: WorkersRealTimeStatisticsContext for this WorkersRealTimeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_real_time_statistics.WorkersRealTimeStatisticsContext - """ - if self._context is None: - self._context = WorkersRealTimeStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def activity_statistics(self): - """ - :returns: The activity_statistics - :rtype: dict - """ - return self._properties['activity_statistics'] - - @property - def total_workers(self): - """ - :returns: The total_workers - :rtype: unicode - """ - return self._properties['total_workers'] - - @property - def workspace_sid(self): - """ - :returns: The workspace_sid - :rtype: unicode - """ - return self._properties['workspace_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self, task_channel=values.unset): - """ - Fetch a WorkersRealTimeStatisticsInstance - - :param unicode task_channel: The task_channel - - :returns: Fetched WorkersRealTimeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_real_time_statistics.WorkersRealTimeStatisticsInstance - """ - return self._proxy.fetch(task_channel=task_channel, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkersRealTimeStatisticsInstance {}>'.format(context) diff --git a/twilio/rest/taskrouter/v1/workspace/worker/workers_statistics.py b/twilio/rest/taskrouter/v1/workspace/worker/workers_statistics.py deleted file mode 100644 index bef1b08..0000000 --- a/twilio/rest/taskrouter/v1/workspace/worker/workers_statistics.py +++ /dev/null @@ -1,294 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class WorkersStatisticsList(ListResource): - """ """ - - def __init__(self, version, workspace_sid): - """ - Initialize the WorkersStatisticsList - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.worker.workers_statistics.WorkersStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_statistics.WorkersStatisticsList - """ - super(WorkersStatisticsList, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, } - - def get(self): - """ - Constructs a WorkersStatisticsContext - - :returns: twilio.rest.taskrouter.v1.workspace.worker.workers_statistics.WorkersStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_statistics.WorkersStatisticsContext - """ - return WorkersStatisticsContext(self._version, workspace_sid=self._solution['workspace_sid'], ) - - def __call__(self): - """ - Constructs a WorkersStatisticsContext - - :returns: twilio.rest.taskrouter.v1.workspace.worker.workers_statistics.WorkersStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_statistics.WorkersStatisticsContext - """ - return WorkersStatisticsContext(self._version, workspace_sid=self._solution['workspace_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkersStatisticsList>' - - -class WorkersStatisticsPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the WorkersStatisticsPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.worker.workers_statistics.WorkersStatisticsPage - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_statistics.WorkersStatisticsPage - """ - super(WorkersStatisticsPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of WorkersStatisticsInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.taskrouter.v1.workspace.worker.workers_statistics.WorkersStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_statistics.WorkersStatisticsInstance - """ - return WorkersStatisticsInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkersStatisticsPage>' - - -class WorkersStatisticsContext(InstanceContext): - """ """ - - def __init__(self, version, workspace_sid): - """ - Initialize the WorkersStatisticsContext - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.worker.workers_statistics.WorkersStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_statistics.WorkersStatisticsContext - """ - super(WorkersStatisticsContext, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, } - self._uri = '/Workspaces/{workspace_sid}/Workers/Statistics'.format(**self._solution) - - def fetch(self, minutes=values.unset, start_date=values.unset, - end_date=values.unset, task_queue_sid=values.unset, - task_queue_name=values.unset, friendly_name=values.unset, - task_channel=values.unset): - """ - Fetch a WorkersStatisticsInstance - - :param unicode minutes: The minutes - :param datetime start_date: The start_date - :param datetime end_date: The end_date - :param unicode task_queue_sid: The task_queue_sid - :param unicode task_queue_name: The task_queue_name - :param unicode friendly_name: The friendly_name - :param unicode task_channel: The task_channel - - :returns: Fetched WorkersStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_statistics.WorkersStatisticsInstance - """ - params = values.of({ - 'Minutes': minutes, - 'StartDate': serialize.iso8601_datetime(start_date), - 'EndDate': serialize.iso8601_datetime(end_date), - 'TaskQueueSid': task_queue_sid, - 'TaskQueueName': task_queue_name, - 'FriendlyName': friendly_name, - 'TaskChannel': task_channel, - }) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return WorkersStatisticsInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkersStatisticsContext {}>'.format(context) - - -class WorkersStatisticsInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, workspace_sid): - """ - Initialize the WorkersStatisticsInstance - - :returns: twilio.rest.taskrouter.v1.workspace.worker.workers_statistics.WorkersStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_statistics.WorkersStatisticsInstance - """ - super(WorkersStatisticsInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'realtime': payload['realtime'], - 'cumulative': payload['cumulative'], - 'account_sid': payload['account_sid'], - 'workspace_sid': payload['workspace_sid'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'workspace_sid': workspace_sid, } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: WorkersStatisticsContext for this WorkersStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_statistics.WorkersStatisticsContext - """ - if self._context is None: - self._context = WorkersStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - ) - return self._context - - @property - def realtime(self): - """ - :returns: The realtime - :rtype: dict - """ - return self._properties['realtime'] - - @property - def cumulative(self): - """ - :returns: The cumulative - :rtype: dict - """ - return self._properties['cumulative'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def workspace_sid(self): - """ - :returns: The workspace_sid - :rtype: unicode - """ - return self._properties['workspace_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self, minutes=values.unset, start_date=values.unset, - end_date=values.unset, task_queue_sid=values.unset, - task_queue_name=values.unset, friendly_name=values.unset, - task_channel=values.unset): - """ - Fetch a WorkersStatisticsInstance - - :param unicode minutes: The minutes - :param datetime start_date: The start_date - :param datetime end_date: The end_date - :param unicode task_queue_sid: The task_queue_sid - :param unicode task_queue_name: The task_queue_name - :param unicode friendly_name: The friendly_name - :param unicode task_channel: The task_channel - - :returns: Fetched WorkersStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.worker.workers_statistics.WorkersStatisticsInstance - """ - return self._proxy.fetch( - minutes=minutes, - start_date=start_date, - end_date=end_date, - task_queue_sid=task_queue_sid, - task_queue_name=task_queue_name, - friendly_name=friendly_name, - task_channel=task_channel, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkersStatisticsInstance {}>'.format(context) diff --git a/twilio/rest/taskrouter/v1/workspace/workflow/__init__.py b/twilio/rest/taskrouter/v1/workspace/workflow/__init__.py deleted file mode 100644 index cb78bbe..0000000 --- a/twilio/rest/taskrouter/v1/workspace/workflow/__init__.py +++ /dev/null @@ -1,618 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.taskrouter.v1.workspace.workflow.workflow_cumulative_statistics import WorkflowCumulativeStatisticsList -from twilio.rest.taskrouter.v1.workspace.workflow.workflow_real_time_statistics import WorkflowRealTimeStatisticsList -from twilio.rest.taskrouter.v1.workspace.workflow.workflow_statistics import WorkflowStatisticsList - - -class WorkflowList(ListResource): - """ """ - - def __init__(self, version, workspace_sid): - """ - Initialize the WorkflowList - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.WorkflowList - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.WorkflowList - """ - super(WorkflowList, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, } - self._uri = '/Workspaces/{workspace_sid}/Workflows'.format(**self._solution) - - def stream(self, friendly_name=values.unset, limit=None, page_size=None): - """ - Streams WorkflowInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode friendly_name: The friendly_name - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.taskrouter.v1.workspace.workflow.WorkflowInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(friendly_name=friendly_name, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, friendly_name=values.unset, limit=None, page_size=None): - """ - Lists WorkflowInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode friendly_name: The friendly_name - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.taskrouter.v1.workspace.workflow.WorkflowInstance] - """ - return list(self.stream(friendly_name=friendly_name, limit=limit, page_size=page_size, )) - - def page(self, friendly_name=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of WorkflowInstance records from the API. - Request is executed immediately - - :param unicode friendly_name: The friendly_name - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of WorkflowInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.WorkflowPage - """ - params = values.of({ - 'FriendlyName': friendly_name, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return WorkflowPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of WorkflowInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of WorkflowInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.WorkflowPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return WorkflowPage(self._version, response, self._solution) - - def create(self, friendly_name, configuration, - assignment_callback_url=values.unset, - fallback_assignment_callback_url=values.unset, - task_reservation_timeout=values.unset): - """ - Create a new WorkflowInstance - - :param unicode friendly_name: The friendly_name - :param unicode configuration: The configuration - :param unicode assignment_callback_url: The assignment_callback_url - :param unicode fallback_assignment_callback_url: The fallback_assignment_callback_url - :param unicode task_reservation_timeout: The task_reservation_timeout - - :returns: Newly created WorkflowInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.WorkflowInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'Configuration': configuration, - 'AssignmentCallbackUrl': assignment_callback_url, - 'FallbackAssignmentCallbackUrl': fallback_assignment_callback_url, - 'TaskReservationTimeout': task_reservation_timeout, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return WorkflowInstance(self._version, payload, workspace_sid=self._solution['workspace_sid'], ) - - def get(self, sid): - """ - Constructs a WorkflowContext - - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.WorkflowContext - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.WorkflowContext - """ - return WorkflowContext(self._version, workspace_sid=self._solution['workspace_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a WorkflowContext - - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.WorkflowContext - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.WorkflowContext - """ - return WorkflowContext(self._version, workspace_sid=self._solution['workspace_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkflowList>' - - -class WorkflowPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the WorkflowPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.WorkflowPage - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.WorkflowPage - """ - super(WorkflowPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of WorkflowInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.WorkflowInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.WorkflowInstance - """ - return WorkflowInstance(self._version, payload, workspace_sid=self._solution['workspace_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkflowPage>' - - -class WorkflowContext(InstanceContext): - """ """ - - def __init__(self, version, workspace_sid, sid): - """ - Initialize the WorkflowContext - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - :param sid: The sid - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.WorkflowContext - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.WorkflowContext - """ - super(WorkflowContext, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, 'sid': sid, } - self._uri = '/Workspaces/{workspace_sid}/Workflows/{sid}'.format(**self._solution) - - # Dependents - self._statistics = None - self._real_time_statistics = None - self._cumulative_statistics = None - - def fetch(self): - """ - Fetch a WorkflowInstance - - :returns: Fetched WorkflowInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.WorkflowInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return WorkflowInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - sid=self._solution['sid'], - ) - - def update(self, friendly_name=values.unset, - assignment_callback_url=values.unset, - fallback_assignment_callback_url=values.unset, - configuration=values.unset, task_reservation_timeout=values.unset): - """ - Update the WorkflowInstance - - :param unicode friendly_name: The friendly_name - :param unicode assignment_callback_url: The assignment_callback_url - :param unicode fallback_assignment_callback_url: The fallback_assignment_callback_url - :param unicode configuration: The configuration - :param unicode task_reservation_timeout: The task_reservation_timeout - - :returns: Updated WorkflowInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.WorkflowInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'AssignmentCallbackUrl': assignment_callback_url, - 'FallbackAssignmentCallbackUrl': fallback_assignment_callback_url, - 'Configuration': configuration, - 'TaskReservationTimeout': task_reservation_timeout, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return WorkflowInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the WorkflowInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - @property - def statistics(self): - """ - Access the statistics - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.workflow_statistics.WorkflowStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_statistics.WorkflowStatisticsList - """ - if self._statistics is None: - self._statistics = WorkflowStatisticsList( - self._version, - workspace_sid=self._solution['workspace_sid'], - workflow_sid=self._solution['sid'], - ) - return self._statistics - - @property - def real_time_statistics(self): - """ - Access the real_time_statistics - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.workflow_real_time_statistics.WorkflowRealTimeStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_real_time_statistics.WorkflowRealTimeStatisticsList - """ - if self._real_time_statistics is None: - self._real_time_statistics = WorkflowRealTimeStatisticsList( - self._version, - workspace_sid=self._solution['workspace_sid'], - workflow_sid=self._solution['sid'], - ) - return self._real_time_statistics - - @property - def cumulative_statistics(self): - """ - Access the cumulative_statistics - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.workflow_cumulative_statistics.WorkflowCumulativeStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_cumulative_statistics.WorkflowCumulativeStatisticsList - """ - if self._cumulative_statistics is None: - self._cumulative_statistics = WorkflowCumulativeStatisticsList( - self._version, - workspace_sid=self._solution['workspace_sid'], - workflow_sid=self._solution['sid'], - ) - return self._cumulative_statistics - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkflowContext {}>'.format(context) - - -class WorkflowInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, workspace_sid, sid=None): - """ - Initialize the WorkflowInstance - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.WorkflowInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.WorkflowInstance - """ - super(WorkflowInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'assignment_callback_url': payload['assignment_callback_url'], - 'configuration': payload['configuration'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'document_content_type': payload['document_content_type'], - 'fallback_assignment_callback_url': payload['fallback_assignment_callback_url'], - 'friendly_name': payload['friendly_name'], - 'sid': payload['sid'], - 'task_reservation_timeout': deserialize.integer(payload['task_reservation_timeout']), - 'workspace_sid': payload['workspace_sid'], - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'workspace_sid': workspace_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: WorkflowContext for this WorkflowInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.WorkflowContext - """ - if self._context is None: - self._context = WorkflowContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def assignment_callback_url(self): - """ - :returns: The assignment_callback_url - :rtype: unicode - """ - return self._properties['assignment_callback_url'] - - @property - def configuration(self): - """ - :returns: The configuration - :rtype: unicode - """ - return self._properties['configuration'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def document_content_type(self): - """ - :returns: The document_content_type - :rtype: unicode - """ - return self._properties['document_content_type'] - - @property - def fallback_assignment_callback_url(self): - """ - :returns: The fallback_assignment_callback_url - :rtype: unicode - """ - return self._properties['fallback_assignment_callback_url'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def task_reservation_timeout(self): - """ - :returns: The task_reservation_timeout - :rtype: unicode - """ - return self._properties['task_reservation_timeout'] - - @property - def workspace_sid(self): - """ - :returns: The workspace_sid - :rtype: unicode - """ - return self._properties['workspace_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a WorkflowInstance - - :returns: Fetched WorkflowInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.WorkflowInstance - """ - return self._proxy.fetch() - - def update(self, friendly_name=values.unset, - assignment_callback_url=values.unset, - fallback_assignment_callback_url=values.unset, - configuration=values.unset, task_reservation_timeout=values.unset): - """ - Update the WorkflowInstance - - :param unicode friendly_name: The friendly_name - :param unicode assignment_callback_url: The assignment_callback_url - :param unicode fallback_assignment_callback_url: The fallback_assignment_callback_url - :param unicode configuration: The configuration - :param unicode task_reservation_timeout: The task_reservation_timeout - - :returns: Updated WorkflowInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.WorkflowInstance - """ - return self._proxy.update( - friendly_name=friendly_name, - assignment_callback_url=assignment_callback_url, - fallback_assignment_callback_url=fallback_assignment_callback_url, - configuration=configuration, - task_reservation_timeout=task_reservation_timeout, - ) - - def delete(self): - """ - Deletes the WorkflowInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - @property - def statistics(self): - """ - Access the statistics - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.workflow_statistics.WorkflowStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_statistics.WorkflowStatisticsList - """ - return self._proxy.statistics - - @property - def real_time_statistics(self): - """ - Access the real_time_statistics - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.workflow_real_time_statistics.WorkflowRealTimeStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_real_time_statistics.WorkflowRealTimeStatisticsList - """ - return self._proxy.real_time_statistics - - @property - def cumulative_statistics(self): - """ - Access the cumulative_statistics - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.workflow_cumulative_statistics.WorkflowCumulativeStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_cumulative_statistics.WorkflowCumulativeStatisticsList - """ - return self._proxy.cumulative_statistics - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkflowInstance {}>'.format(context) diff --git a/twilio/rest/taskrouter/v1/workspace/workflow/__pycache__/__init__.cpython-36.pyc b/twilio/rest/taskrouter/v1/workspace/workflow/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index cca4bd9b45c44afa4456cf3e1cb9ee851d82892f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21167 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 RnI)}EmVRPfEG?p3_&=?FGV%Zb diff --git a/twilio/rest/taskrouter/v1/workspace/workflow/__pycache__/workflow_cumulative_statistics.cpython-36.pyc b/twilio/rest/taskrouter/v1/workspace/workflow/__pycache__/workflow_cumulative_statistics.cpython-36.pyc deleted file mode 100644 index e72240fa29c83dca89a8f7921c8878c19e28e70c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16291 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 W#LgV_Zt&+KaqlrzI#;Tc7XA&xS3+0- diff --git a/twilio/rest/taskrouter/v1/workspace/workflow/__pycache__/workflow_real_time_statistics.cpython-36.pyc b/twilio/rest/taskrouter/v1/workspace/workflow/__pycache__/workflow_real_time_statistics.cpython-36.pyc deleted file mode 100644 index bd9f1b3c70c6de43955a018d48bb73049d36f2f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11509 zcmeHNTW{mW73M{E$+o<?t+z?aq)oEQMc&P&X`PLc#7VY6)5SJ%Q-DxGa7B7eEiEcT z%3f>bCod2nz!v=h0Se?T4+Z)+ioW!*;8QP8?PDMJsoxorqmgaN3>vK4AQU(}91S^h z&Ya6PXZXs(LhVm~{+;>Pi;D6OMLG(g-@+OG7KNjjilaK3ukL83rV_1#)=iz$1;4OU zG>e=r`lX$+S>|-fuk2LKDyPeSZKrP5RpqMURGjKv#i_d0L)~oPzUI_%Uw7-cU%-9C zS-|~*Tg3e$?iZaU+%LIh+%GxJkCoQ)$gXW}d!f+{9M{;hL*u5~cbOfzj&WnZ)-hHM z%fNxc8mHHqF*Yt*t<EZni`KZaIyS}^SJ7hka{E&IQjOXhcrZCuYySk}N=uFFjvKnn zvwd&m;<mJF`$IPbwe&$hjO>2b-3a=Tdpkl^GpqW@4TB-;(gTeTy)csQ3)k(NZkJx3 z9ePTHKL+6{rV4p$j%w<kDO-@bqu;HV1*hN??<!`|DLG|aONkWC@@GmxF)NTsEq?M> z0lT&32YVm6w!i7^xF1J$gwDNgNMjgjhS8;YrGu{2FP))*B2prCtQ=}RZLA)usxsEb zx}$!fjTK9GG`wH8|Dq~NDkj7DpzlSAP>g8XHRg9+6OXM8Y-aBmpSUdag1)hvT-QWJ zv~5S2)qZ4q{gA(zrJ_9giajtJ4(zULg`Tr!Y+?{oRVTG4;Y>HrYNQb|HyW~jxMoCq zp6>;13?OPpc6f^g!^mZA=!@uxQ}hl&SPa6qB1qqYcBJBOpCX=A>5MfN?GN0u=((lE z3xX>WQQV;0Ogz_Gg}4|F2QFh3C`(+iEDs7`S#i}01AiD{GSQ?Ey8c#NPG^->(UjFt zzznLE)%EQ#w5+d``=4*Db$$t}3Om2>%xyd9ygeAaYe#nH!=P*XolSRV&>47xmu?I_ z-+Aek&=0ou!@W*2A=!oIr8AkA&hF)o;DA#!ctM;zFN1y7!1x}<8FJI8H}%nT^JlA_ z@!o|!@Pn>JoEtd9$5BMeSn0u>dNAV^qBTcbQ5^lA4nr!~Z_0)Q?-539*o{KNo?}L- zlQ}az&H6tRRXy6dq*<Co>+w^wr!IX5R5w%41<X`SWsA75Wl@|173(+M=!YOe(sre+ zsRgy7j-H<Vc5<+7JoKGTJSg{-S0~s*m_bGs&gM)w92z{2Z&{boaC+8HcL&LnQ&Uea zfx83pDvk=X*G3}|lCHC0*8_5~jV<Q6eaGK7m^*+&a}oH+m!4$iKexNvUf-Sh$WhCL zR}meKUc0iHM6=CFAp7L<DRF6?o5c(hfy8LcmbFe2(@-eo9Ii8Yrd6d7(zg*Mt+-}c zJApIwiEdcdr$gIM|0!FR6LirLIcfF?6^~N!7>alyjVN80=51oZ7;lprks<SFMYbJM z7^<iRt<kJ3R2F!B7ggfWQ!2a!A}<Kz;H!+ut;_>o1o&oyuOwbfz}Hwi1jHWe9C&fX zv73;tn9AJ1i@KHc=o<rGAGzTGG0TO@Cd8T{s<v3L!%^GY*FO*=PBEVd&eI4?V7Qao zXZT}+@3I<+vj+><xLA+c+5>@#Q#}Kbu{u<hJwXMx5ANOyNjzIZZCuG_$gBvEmKq0- zcickg(VyW=@K591T>L{rnBX67^mvr6C7j&hJqaSkKPMre0!Ki1Wd!sNp*+Lx8-V<L zL1hG6bC6KB#*#E3(QU`;M#jM2_X8UXg6jz(v=n|*(#?soJy`7#gFh1uI@Y@co~D7+ z9H^7MM2e{zSGu^I3V-5@xf6~X07h6ZB$L~LesFKBR0&pT1gu_|4Xn7v$<Keg!Yr{j zFU;~#=aa}zkFcq6rV+Nn&f_t*Ld69tzDEUj6i*RFF_cm8natKy<RriHQ=A+O@yNMc zX>xCKa@_n8+RlobZn0NFDuYrOs##7`7!@8ps}wysMw=ZXDJ0L&PxJ~~w9L|f1D9hJ zon)EyH`&SL4x1USoOp<DEOLHJB48$=GjU-@J8wyTYjky$90^Ah;p&|!aUbx%2tB0# zWI*Cz^?17MTC0=<SH5--!8I;z1#HKT;(|3~9s)35I#Q^W{OE}RcApH1LZpHOLqi=s zKilD@3?7fNw2}}}_AT5*$T2wTSoM&wJ3ykYr}dDk!?iF*((s;sphrcjB`n!1IR&1H zC^<!BB1-ot4wvm!*+kyQ@^#yomxRb%|FO_J?0Y;FOX(P^yKVRTuAg8wxkh?SL|xt~ z(zde&B04=2eLL2>S*In`M#5vPUwv;A*{u@y5uv08l3KRPj8+$>7HsjD85g%m((DJQ zWZ$PkLT+(GmKb}6{x+zX&QP#tQTI8{kXE)zbx|uJlp;%^i=aAZ-J0nbABPC26k%wf z8#qJCemH7R;rVBt&gyB0%Dc)TDH~jQPp3RFl&E-?>)QLOA%;&wCmRXrBosPUe*I`i zJAiFCN>3T9w6gj{QI$`%bU|LcbMWS!gKG$TPosHDkG1xtSiKdiyGNvbzj}o>7;X>P z`d9RJl2kz%y*XQHGYMyl<n|SxQk&s=TfAxX#@Ahwr!O_`9IR8awHJ7Ot~znii`<<s z;UdFg-DFqd2q!%3e@Q%$sFd=BoW3Xp6}8!*g2W#ehgcX!Tscn#801@baY_JV@jOQY zUDS$$-b+VFqn-^glKqiG)hxN`9tr3&XujJ7x&oT-G=Z*y=DSRwYoPfK6X-hVrn7t( zT5dK#pK~7KH1?vLhn+__z349WngBD8I*$R&EIa3&73{~H<6!0?*uw>G(j3fCPM8k5 zQZAfW3417xgBi*bM>_Z1$P^z!R~;SxS|hKW*28b}`Vy}%^Rfb8Uj3rNK~D{33BJDI z)cLke*{NYT4f`G0$LEGY!tYIRknq_LWVI^>@W0{q<GS7L2E%^DH%HF<LH{Q9A1v;y z_iXHi^>13h^6@g&gw~CHYrwpKdC`8nB&ujfXc)%zD2Qm2h+6Xf5gs>UeaL)ZVah<V zm#KJ#idU(4jS5O(B@u?O_B9##;4z*I;L(KR6>?E=*~8A{O_#-Wj3&VDP2{;DGH;o0 z;BluY!5BkyL7ipmf$3zyAMj5|X*i|aER@uSTEZ_W7jZvtF_+Eh1l&M3`9W8)h0?|i zAPeHptqQwHsWE^UpnKXx;a8Z3Q@BSdGTx4&kbO^9^Q-B0@KjbI<=Oy<<2foXU6H=X z@3MbsSJ@ueH+&aq2%-Ft9brGrvaxGpVu#qR=~AXPY#YYgzCX!bq}7JaTmwSC?E&0G zf!xJOFzD1sl8zdqo82@MuNd_M-A~*|0*>hX+6**QU_Zh9=1a?$NN;cN{}B&_q}EEc zmcSgfsf}8vOQM}TFE9eB8Ck{#PM(BF)NDn83TdMaG4?g#>u6tDvV5sUvQ?WRUs2D^ z7luQ7`M8|0xx`z<GyocjQX0+4!e=wumWGg%nd@Rm)6C5BTvGEHoRLqO&l$D&JI;)= zH*(C-tnuVz^L=UD*~UH1nee%p8<yH7{8744RB~TCpE>fz|B{${H3xIYMv;@Ncg4V_ zCr`XDi6m01lX#-gF`p-D@o$Nzm%k2A$ry5SG|RT6P<V`+W41+Ma6UuS;=aUC9@~<J zkdv8N)3YaiGI2ULX^5TUDX0ZDgM>Ya9LDjKh42*e7;>`no-|h3hUir%Y|o@0sT`Xf zg1GZ%hg#GmelF!ux2ZwoWay0<3;|$C|IBc61g_?@K`qWnY&@HT4Rqb*{vOZLmDU10 z3Q>fhD1`4tkj=T5?D&0`m*JnS<*;5cpO~`eAWER(HC*@-6f}>&RDX0GO!<=wVh*dL zi#g`-|2|#9@R_F~Y=~6wze|{~7D@JbDqf)CNRH}7)V-L=82OU*95SAlFuC$|6DFBc zOfn|yB^o2Gc^IuQ<a7yJrHUiNryY`KX!s&kGH0JE>k3PoG*|NQ%v?!aNmpb0iLT~c z@$oDoqs@?f2^Lxm{vKy|0R`W|S!pacD$~EkI?q>JYc=@>ky%d{_cv^OpGS@=$z47! zRkyu#;Uw0PBp~yN6PsWQntut)Xmw|<$ZdRlGX-I#|5Iw)Y|8%+u%2dR8UlTVm27lV o(kRK9P9}>}=kP~dxsrTHvQAI&%qTwiz}htZ>CM-h?dI$M0j2m(;{X5v diff --git a/twilio/rest/taskrouter/v1/workspace/workflow/__pycache__/workflow_statistics.cpython-36.pyc b/twilio/rest/taskrouter/v1/workspace/workflow/__pycache__/workflow_statistics.cpython-36.pyc deleted file mode 100644 index f467a5f18bdbdcdf97f618da789cb44f7234ffd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10898 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 OK+b<^?d4jdw)uag6?k3% diff --git a/twilio/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.py b/twilio/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.py deleted file mode 100644 index c8a7fda..0000000 --- a/twilio/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.py +++ /dev/null @@ -1,452 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class WorkflowCumulativeStatisticsList(ListResource): - """ """ - - def __init__(self, version, workspace_sid, workflow_sid): - """ - Initialize the WorkflowCumulativeStatisticsList - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - :param workflow_sid: The workflow_sid - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.workflow_cumulative_statistics.WorkflowCumulativeStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_cumulative_statistics.WorkflowCumulativeStatisticsList - """ - super(WorkflowCumulativeStatisticsList, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, 'workflow_sid': workflow_sid, } - - def get(self): - """ - Constructs a WorkflowCumulativeStatisticsContext - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.workflow_cumulative_statistics.WorkflowCumulativeStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_cumulative_statistics.WorkflowCumulativeStatisticsContext - """ - return WorkflowCumulativeStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - workflow_sid=self._solution['workflow_sid'], - ) - - def __call__(self): - """ - Constructs a WorkflowCumulativeStatisticsContext - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.workflow_cumulative_statistics.WorkflowCumulativeStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_cumulative_statistics.WorkflowCumulativeStatisticsContext - """ - return WorkflowCumulativeStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - workflow_sid=self._solution['workflow_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkflowCumulativeStatisticsList>' - - -class WorkflowCumulativeStatisticsPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the WorkflowCumulativeStatisticsPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param workspace_sid: The workspace_sid - :param workflow_sid: The workflow_sid - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.workflow_cumulative_statistics.WorkflowCumulativeStatisticsPage - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_cumulative_statistics.WorkflowCumulativeStatisticsPage - """ - super(WorkflowCumulativeStatisticsPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of WorkflowCumulativeStatisticsInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.workflow_cumulative_statistics.WorkflowCumulativeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_cumulative_statistics.WorkflowCumulativeStatisticsInstance - """ - return WorkflowCumulativeStatisticsInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - workflow_sid=self._solution['workflow_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkflowCumulativeStatisticsPage>' - - -class WorkflowCumulativeStatisticsContext(InstanceContext): - """ """ - - def __init__(self, version, workspace_sid, workflow_sid): - """ - Initialize the WorkflowCumulativeStatisticsContext - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - :param workflow_sid: The workflow_sid - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.workflow_cumulative_statistics.WorkflowCumulativeStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_cumulative_statistics.WorkflowCumulativeStatisticsContext - """ - super(WorkflowCumulativeStatisticsContext, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, 'workflow_sid': workflow_sid, } - self._uri = '/Workspaces/{workspace_sid}/Workflows/{workflow_sid}/CumulativeStatistics'.format(**self._solution) - - def fetch(self, end_date=values.unset, minutes=values.unset, - start_date=values.unset, task_channel=values.unset, - split_by_wait_time=values.unset): - """ - Fetch a WorkflowCumulativeStatisticsInstance - - :param datetime end_date: The end_date - :param unicode minutes: The minutes - :param datetime start_date: The start_date - :param unicode task_channel: The task_channel - :param unicode split_by_wait_time: The split_by_wait_time - - :returns: Fetched WorkflowCumulativeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_cumulative_statistics.WorkflowCumulativeStatisticsInstance - """ - params = values.of({ - 'EndDate': serialize.iso8601_datetime(end_date), - 'Minutes': minutes, - 'StartDate': serialize.iso8601_datetime(start_date), - 'TaskChannel': task_channel, - 'SplitByWaitTime': split_by_wait_time, - }) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return WorkflowCumulativeStatisticsInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - workflow_sid=self._solution['workflow_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkflowCumulativeStatisticsContext {}>'.format(context) - - -class WorkflowCumulativeStatisticsInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, workspace_sid, workflow_sid): - """ - Initialize the WorkflowCumulativeStatisticsInstance - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.workflow_cumulative_statistics.WorkflowCumulativeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_cumulative_statistics.WorkflowCumulativeStatisticsInstance - """ - super(WorkflowCumulativeStatisticsInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'avg_task_acceptance_time': deserialize.integer(payload['avg_task_acceptance_time']), - 'start_time': deserialize.iso8601_datetime(payload['start_time']), - 'end_time': deserialize.iso8601_datetime(payload['end_time']), - 'reservations_created': deserialize.integer(payload['reservations_created']), - 'reservations_accepted': deserialize.integer(payload['reservations_accepted']), - 'reservations_rejected': deserialize.integer(payload['reservations_rejected']), - 'reservations_timed_out': deserialize.integer(payload['reservations_timed_out']), - 'reservations_canceled': deserialize.integer(payload['reservations_canceled']), - 'reservations_rescinded': deserialize.integer(payload['reservations_rescinded']), - 'split_by_wait_time': payload['split_by_wait_time'], - 'wait_duration_until_accepted': payload['wait_duration_until_accepted'], - 'wait_duration_until_canceled': payload['wait_duration_until_canceled'], - 'tasks_canceled': deserialize.integer(payload['tasks_canceled']), - 'tasks_completed': deserialize.integer(payload['tasks_completed']), - 'tasks_entered': deserialize.integer(payload['tasks_entered']), - 'tasks_deleted': deserialize.integer(payload['tasks_deleted']), - 'tasks_moved': deserialize.integer(payload['tasks_moved']), - 'tasks_timed_out_in_workflow': deserialize.integer(payload['tasks_timed_out_in_workflow']), - 'workflow_sid': payload['workflow_sid'], - 'workspace_sid': payload['workspace_sid'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'workspace_sid': workspace_sid, 'workflow_sid': workflow_sid, } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: WorkflowCumulativeStatisticsContext for this WorkflowCumulativeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_cumulative_statistics.WorkflowCumulativeStatisticsContext - """ - if self._context is None: - self._context = WorkflowCumulativeStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - workflow_sid=self._solution['workflow_sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def avg_task_acceptance_time(self): - """ - :returns: The avg_task_acceptance_time - :rtype: unicode - """ - return self._properties['avg_task_acceptance_time'] - - @property - def start_time(self): - """ - :returns: The start_time - :rtype: datetime - """ - return self._properties['start_time'] - - @property - def end_time(self): - """ - :returns: The end_time - :rtype: datetime - """ - return self._properties['end_time'] - - @property - def reservations_created(self): - """ - :returns: The reservations_created - :rtype: unicode - """ - return self._properties['reservations_created'] - - @property - def reservations_accepted(self): - """ - :returns: The reservations_accepted - :rtype: unicode - """ - return self._properties['reservations_accepted'] - - @property - def reservations_rejected(self): - """ - :returns: The reservations_rejected - :rtype: unicode - """ - return self._properties['reservations_rejected'] - - @property - def reservations_timed_out(self): - """ - :returns: The reservations_timed_out - :rtype: unicode - """ - return self._properties['reservations_timed_out'] - - @property - def reservations_canceled(self): - """ - :returns: The reservations_canceled - :rtype: unicode - """ - return self._properties['reservations_canceled'] - - @property - def reservations_rescinded(self): - """ - :returns: The reservations_rescinded - :rtype: unicode - """ - return self._properties['reservations_rescinded'] - - @property - def split_by_wait_time(self): - """ - :returns: The split_by_wait_time - :rtype: dict - """ - return self._properties['split_by_wait_time'] - - @property - def wait_duration_until_accepted(self): - """ - :returns: The wait_duration_until_accepted - :rtype: dict - """ - return self._properties['wait_duration_until_accepted'] - - @property - def wait_duration_until_canceled(self): - """ - :returns: The wait_duration_until_canceled - :rtype: dict - """ - return self._properties['wait_duration_until_canceled'] - - @property - def tasks_canceled(self): - """ - :returns: The tasks_canceled - :rtype: unicode - """ - return self._properties['tasks_canceled'] - - @property - def tasks_completed(self): - """ - :returns: The tasks_completed - :rtype: unicode - """ - return self._properties['tasks_completed'] - - @property - def tasks_entered(self): - """ - :returns: The tasks_entered - :rtype: unicode - """ - return self._properties['tasks_entered'] - - @property - def tasks_deleted(self): - """ - :returns: The tasks_deleted - :rtype: unicode - """ - return self._properties['tasks_deleted'] - - @property - def tasks_moved(self): - """ - :returns: The tasks_moved - :rtype: unicode - """ - return self._properties['tasks_moved'] - - @property - def tasks_timed_out_in_workflow(self): - """ - :returns: The tasks_timed_out_in_workflow - :rtype: unicode - """ - return self._properties['tasks_timed_out_in_workflow'] - - @property - def workflow_sid(self): - """ - :returns: The workflow_sid - :rtype: unicode - """ - return self._properties['workflow_sid'] - - @property - def workspace_sid(self): - """ - :returns: The workspace_sid - :rtype: unicode - """ - return self._properties['workspace_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self, end_date=values.unset, minutes=values.unset, - start_date=values.unset, task_channel=values.unset, - split_by_wait_time=values.unset): - """ - Fetch a WorkflowCumulativeStatisticsInstance - - :param datetime end_date: The end_date - :param unicode minutes: The minutes - :param datetime start_date: The start_date - :param unicode task_channel: The task_channel - :param unicode split_by_wait_time: The split_by_wait_time - - :returns: Fetched WorkflowCumulativeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_cumulative_statistics.WorkflowCumulativeStatisticsInstance - """ - return self._proxy.fetch( - end_date=end_date, - minutes=minutes, - start_date=start_date, - task_channel=task_channel, - split_by_wait_time=split_by_wait_time, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkflowCumulativeStatisticsInstance {}>'.format(context) diff --git a/twilio/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.py b/twilio/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.py deleted file mode 100644 index a83bc0e..0000000 --- a/twilio/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.py +++ /dev/null @@ -1,301 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class WorkflowRealTimeStatisticsList(ListResource): - """ """ - - def __init__(self, version, workspace_sid, workflow_sid): - """ - Initialize the WorkflowRealTimeStatisticsList - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - :param workflow_sid: The workflow_sid - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.workflow_real_time_statistics.WorkflowRealTimeStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_real_time_statistics.WorkflowRealTimeStatisticsList - """ - super(WorkflowRealTimeStatisticsList, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, 'workflow_sid': workflow_sid, } - - def get(self): - """ - Constructs a WorkflowRealTimeStatisticsContext - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.workflow_real_time_statistics.WorkflowRealTimeStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_real_time_statistics.WorkflowRealTimeStatisticsContext - """ - return WorkflowRealTimeStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - workflow_sid=self._solution['workflow_sid'], - ) - - def __call__(self): - """ - Constructs a WorkflowRealTimeStatisticsContext - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.workflow_real_time_statistics.WorkflowRealTimeStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_real_time_statistics.WorkflowRealTimeStatisticsContext - """ - return WorkflowRealTimeStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - workflow_sid=self._solution['workflow_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkflowRealTimeStatisticsList>' - - -class WorkflowRealTimeStatisticsPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the WorkflowRealTimeStatisticsPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param workspace_sid: The workspace_sid - :param workflow_sid: The workflow_sid - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.workflow_real_time_statistics.WorkflowRealTimeStatisticsPage - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_real_time_statistics.WorkflowRealTimeStatisticsPage - """ - super(WorkflowRealTimeStatisticsPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of WorkflowRealTimeStatisticsInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.workflow_real_time_statistics.WorkflowRealTimeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_real_time_statistics.WorkflowRealTimeStatisticsInstance - """ - return WorkflowRealTimeStatisticsInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - workflow_sid=self._solution['workflow_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkflowRealTimeStatisticsPage>' - - -class WorkflowRealTimeStatisticsContext(InstanceContext): - """ """ - - def __init__(self, version, workspace_sid, workflow_sid): - """ - Initialize the WorkflowRealTimeStatisticsContext - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - :param workflow_sid: The workflow_sid - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.workflow_real_time_statistics.WorkflowRealTimeStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_real_time_statistics.WorkflowRealTimeStatisticsContext - """ - super(WorkflowRealTimeStatisticsContext, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, 'workflow_sid': workflow_sid, } - self._uri = '/Workspaces/{workspace_sid}/Workflows/{workflow_sid}/RealTimeStatistics'.format(**self._solution) - - def fetch(self, task_channel=values.unset): - """ - Fetch a WorkflowRealTimeStatisticsInstance - - :param unicode task_channel: The task_channel - - :returns: Fetched WorkflowRealTimeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_real_time_statistics.WorkflowRealTimeStatisticsInstance - """ - params = values.of({'TaskChannel': task_channel, }) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return WorkflowRealTimeStatisticsInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - workflow_sid=self._solution['workflow_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkflowRealTimeStatisticsContext {}>'.format(context) - - -class WorkflowRealTimeStatisticsInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, workspace_sid, workflow_sid): - """ - Initialize the WorkflowRealTimeStatisticsInstance - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.workflow_real_time_statistics.WorkflowRealTimeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_real_time_statistics.WorkflowRealTimeStatisticsInstance - """ - super(WorkflowRealTimeStatisticsInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'longest_task_waiting_age': deserialize.integer(payload['longest_task_waiting_age']), - 'tasks_by_priority': payload['tasks_by_priority'], - 'tasks_by_status': payload['tasks_by_status'], - 'total_tasks': deserialize.integer(payload['total_tasks']), - 'workflow_sid': payload['workflow_sid'], - 'workspace_sid': payload['workspace_sid'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'workspace_sid': workspace_sid, 'workflow_sid': workflow_sid, } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: WorkflowRealTimeStatisticsContext for this WorkflowRealTimeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_real_time_statistics.WorkflowRealTimeStatisticsContext - """ - if self._context is None: - self._context = WorkflowRealTimeStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - workflow_sid=self._solution['workflow_sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def longest_task_waiting_age(self): - """ - :returns: The longest_task_waiting_age - :rtype: unicode - """ - return self._properties['longest_task_waiting_age'] - - @property - def tasks_by_priority(self): - """ - :returns: The tasks_by_priority - :rtype: dict - """ - return self._properties['tasks_by_priority'] - - @property - def tasks_by_status(self): - """ - :returns: The tasks_by_status - :rtype: dict - """ - return self._properties['tasks_by_status'] - - @property - def total_tasks(self): - """ - :returns: The total_tasks - :rtype: unicode - """ - return self._properties['total_tasks'] - - @property - def workflow_sid(self): - """ - :returns: The workflow_sid - :rtype: unicode - """ - return self._properties['workflow_sid'] - - @property - def workspace_sid(self): - """ - :returns: The workspace_sid - :rtype: unicode - """ - return self._properties['workspace_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self, task_channel=values.unset): - """ - Fetch a WorkflowRealTimeStatisticsInstance - - :param unicode task_channel: The task_channel - - :returns: Fetched WorkflowRealTimeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_real_time_statistics.WorkflowRealTimeStatisticsInstance - """ - return self._proxy.fetch(task_channel=task_channel, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkflowRealTimeStatisticsInstance {}>'.format(context) diff --git a/twilio/rest/taskrouter/v1/workspace/workflow/workflow_statistics.py b/twilio/rest/taskrouter/v1/workspace/workflow/workflow_statistics.py deleted file mode 100644 index b52555d..0000000 --- a/twilio/rest/taskrouter/v1/workspace/workflow/workflow_statistics.py +++ /dev/null @@ -1,307 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class WorkflowStatisticsList(ListResource): - """ """ - - def __init__(self, version, workspace_sid, workflow_sid): - """ - Initialize the WorkflowStatisticsList - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - :param workflow_sid: The workflow_sid - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.workflow_statistics.WorkflowStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_statistics.WorkflowStatisticsList - """ - super(WorkflowStatisticsList, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, 'workflow_sid': workflow_sid, } - - def get(self): - """ - Constructs a WorkflowStatisticsContext - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.workflow_statistics.WorkflowStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_statistics.WorkflowStatisticsContext - """ - return WorkflowStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - workflow_sid=self._solution['workflow_sid'], - ) - - def __call__(self): - """ - Constructs a WorkflowStatisticsContext - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.workflow_statistics.WorkflowStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_statistics.WorkflowStatisticsContext - """ - return WorkflowStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - workflow_sid=self._solution['workflow_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkflowStatisticsList>' - - -class WorkflowStatisticsPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the WorkflowStatisticsPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param workspace_sid: The workspace_sid - :param workflow_sid: The workflow_sid - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.workflow_statistics.WorkflowStatisticsPage - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_statistics.WorkflowStatisticsPage - """ - super(WorkflowStatisticsPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of WorkflowStatisticsInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.workflow_statistics.WorkflowStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_statistics.WorkflowStatisticsInstance - """ - return WorkflowStatisticsInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - workflow_sid=self._solution['workflow_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkflowStatisticsPage>' - - -class WorkflowStatisticsContext(InstanceContext): - """ """ - - def __init__(self, version, workspace_sid, workflow_sid): - """ - Initialize the WorkflowStatisticsContext - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - :param workflow_sid: The workflow_sid - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.workflow_statistics.WorkflowStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_statistics.WorkflowStatisticsContext - """ - super(WorkflowStatisticsContext, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, 'workflow_sid': workflow_sid, } - self._uri = '/Workspaces/{workspace_sid}/Workflows/{workflow_sid}/Statistics'.format(**self._solution) - - def fetch(self, minutes=values.unset, start_date=values.unset, - end_date=values.unset, task_channel=values.unset, - split_by_wait_time=values.unset): - """ - Fetch a WorkflowStatisticsInstance - - :param unicode minutes: The minutes - :param datetime start_date: The start_date - :param datetime end_date: The end_date - :param unicode task_channel: The task_channel - :param unicode split_by_wait_time: The split_by_wait_time - - :returns: Fetched WorkflowStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_statistics.WorkflowStatisticsInstance - """ - params = values.of({ - 'Minutes': minutes, - 'StartDate': serialize.iso8601_datetime(start_date), - 'EndDate': serialize.iso8601_datetime(end_date), - 'TaskChannel': task_channel, - 'SplitByWaitTime': split_by_wait_time, - }) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return WorkflowStatisticsInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - workflow_sid=self._solution['workflow_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkflowStatisticsContext {}>'.format(context) - - -class WorkflowStatisticsInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, workspace_sid, workflow_sid): - """ - Initialize the WorkflowStatisticsInstance - - :returns: twilio.rest.taskrouter.v1.workspace.workflow.workflow_statistics.WorkflowStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_statistics.WorkflowStatisticsInstance - """ - super(WorkflowStatisticsInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'cumulative': payload['cumulative'], - 'realtime': payload['realtime'], - 'workflow_sid': payload['workflow_sid'], - 'workspace_sid': payload['workspace_sid'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'workspace_sid': workspace_sid, 'workflow_sid': workflow_sid, } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: WorkflowStatisticsContext for this WorkflowStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_statistics.WorkflowStatisticsContext - """ - if self._context is None: - self._context = WorkflowStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - workflow_sid=self._solution['workflow_sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def cumulative(self): - """ - :returns: The cumulative - :rtype: dict - """ - return self._properties['cumulative'] - - @property - def realtime(self): - """ - :returns: The realtime - :rtype: dict - """ - return self._properties['realtime'] - - @property - def workflow_sid(self): - """ - :returns: The workflow_sid - :rtype: unicode - """ - return self._properties['workflow_sid'] - - @property - def workspace_sid(self): - """ - :returns: The workspace_sid - :rtype: unicode - """ - return self._properties['workspace_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self, minutes=values.unset, start_date=values.unset, - end_date=values.unset, task_channel=values.unset, - split_by_wait_time=values.unset): - """ - Fetch a WorkflowStatisticsInstance - - :param unicode minutes: The minutes - :param datetime start_date: The start_date - :param datetime end_date: The end_date - :param unicode task_channel: The task_channel - :param unicode split_by_wait_time: The split_by_wait_time - - :returns: Fetched WorkflowStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workflow.workflow_statistics.WorkflowStatisticsInstance - """ - return self._proxy.fetch( - minutes=minutes, - start_date=start_date, - end_date=end_date, - task_channel=task_channel, - split_by_wait_time=split_by_wait_time, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkflowStatisticsInstance {}>'.format(context) diff --git a/twilio/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.py b/twilio/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.py deleted file mode 100644 index 528b104..0000000 --- a/twilio/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.py +++ /dev/null @@ -1,435 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class WorkspaceCumulativeStatisticsList(ListResource): - """ """ - - def __init__(self, version, workspace_sid): - """ - Initialize the WorkspaceCumulativeStatisticsList - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.workspace_cumulative_statistics.WorkspaceCumulativeStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_cumulative_statistics.WorkspaceCumulativeStatisticsList - """ - super(WorkspaceCumulativeStatisticsList, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, } - - def get(self): - """ - Constructs a WorkspaceCumulativeStatisticsContext - - :returns: twilio.rest.taskrouter.v1.workspace.workspace_cumulative_statistics.WorkspaceCumulativeStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_cumulative_statistics.WorkspaceCumulativeStatisticsContext - """ - return WorkspaceCumulativeStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - ) - - def __call__(self): - """ - Constructs a WorkspaceCumulativeStatisticsContext - - :returns: twilio.rest.taskrouter.v1.workspace.workspace_cumulative_statistics.WorkspaceCumulativeStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_cumulative_statistics.WorkspaceCumulativeStatisticsContext - """ - return WorkspaceCumulativeStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkspaceCumulativeStatisticsList>' - - -class WorkspaceCumulativeStatisticsPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the WorkspaceCumulativeStatisticsPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.workspace_cumulative_statistics.WorkspaceCumulativeStatisticsPage - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_cumulative_statistics.WorkspaceCumulativeStatisticsPage - """ - super(WorkspaceCumulativeStatisticsPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of WorkspaceCumulativeStatisticsInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.taskrouter.v1.workspace.workspace_cumulative_statistics.WorkspaceCumulativeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_cumulative_statistics.WorkspaceCumulativeStatisticsInstance - """ - return WorkspaceCumulativeStatisticsInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkspaceCumulativeStatisticsPage>' - - -class WorkspaceCumulativeStatisticsContext(InstanceContext): - """ """ - - def __init__(self, version, workspace_sid): - """ - Initialize the WorkspaceCumulativeStatisticsContext - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.workspace_cumulative_statistics.WorkspaceCumulativeStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_cumulative_statistics.WorkspaceCumulativeStatisticsContext - """ - super(WorkspaceCumulativeStatisticsContext, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, } - self._uri = '/Workspaces/{workspace_sid}/CumulativeStatistics'.format(**self._solution) - - def fetch(self, end_date=values.unset, minutes=values.unset, - start_date=values.unset, task_channel=values.unset, - split_by_wait_time=values.unset): - """ - Fetch a WorkspaceCumulativeStatisticsInstance - - :param datetime end_date: The end_date - :param unicode minutes: The minutes - :param datetime start_date: The start_date - :param unicode task_channel: The task_channel - :param unicode split_by_wait_time: The split_by_wait_time - - :returns: Fetched WorkspaceCumulativeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_cumulative_statistics.WorkspaceCumulativeStatisticsInstance - """ - params = values.of({ - 'EndDate': serialize.iso8601_datetime(end_date), - 'Minutes': minutes, - 'StartDate': serialize.iso8601_datetime(start_date), - 'TaskChannel': task_channel, - 'SplitByWaitTime': split_by_wait_time, - }) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return WorkspaceCumulativeStatisticsInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkspaceCumulativeStatisticsContext {}>'.format(context) - - -class WorkspaceCumulativeStatisticsInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, workspace_sid): - """ - Initialize the WorkspaceCumulativeStatisticsInstance - - :returns: twilio.rest.taskrouter.v1.workspace.workspace_cumulative_statistics.WorkspaceCumulativeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_cumulative_statistics.WorkspaceCumulativeStatisticsInstance - """ - super(WorkspaceCumulativeStatisticsInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'avg_task_acceptance_time': deserialize.integer(payload['avg_task_acceptance_time']), - 'start_time': deserialize.iso8601_datetime(payload['start_time']), - 'end_time': deserialize.iso8601_datetime(payload['end_time']), - 'reservations_created': deserialize.integer(payload['reservations_created']), - 'reservations_accepted': deserialize.integer(payload['reservations_accepted']), - 'reservations_rejected': deserialize.integer(payload['reservations_rejected']), - 'reservations_timed_out': deserialize.integer(payload['reservations_timed_out']), - 'reservations_canceled': deserialize.integer(payload['reservations_canceled']), - 'reservations_rescinded': deserialize.integer(payload['reservations_rescinded']), - 'split_by_wait_time': payload['split_by_wait_time'], - 'wait_duration_until_accepted': payload['wait_duration_until_accepted'], - 'wait_duration_until_canceled': payload['wait_duration_until_canceled'], - 'tasks_canceled': deserialize.integer(payload['tasks_canceled']), - 'tasks_completed': deserialize.integer(payload['tasks_completed']), - 'tasks_created': deserialize.integer(payload['tasks_created']), - 'tasks_deleted': deserialize.integer(payload['tasks_deleted']), - 'tasks_moved': deserialize.integer(payload['tasks_moved']), - 'tasks_timed_out_in_workflow': deserialize.integer(payload['tasks_timed_out_in_workflow']), - 'workspace_sid': payload['workspace_sid'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'workspace_sid': workspace_sid, } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: WorkspaceCumulativeStatisticsContext for this WorkspaceCumulativeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_cumulative_statistics.WorkspaceCumulativeStatisticsContext - """ - if self._context is None: - self._context = WorkspaceCumulativeStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def avg_task_acceptance_time(self): - """ - :returns: The avg_task_acceptance_time - :rtype: unicode - """ - return self._properties['avg_task_acceptance_time'] - - @property - def start_time(self): - """ - :returns: The start_time - :rtype: datetime - """ - return self._properties['start_time'] - - @property - def end_time(self): - """ - :returns: The end_time - :rtype: datetime - """ - return self._properties['end_time'] - - @property - def reservations_created(self): - """ - :returns: The reservations_created - :rtype: unicode - """ - return self._properties['reservations_created'] - - @property - def reservations_accepted(self): - """ - :returns: The reservations_accepted - :rtype: unicode - """ - return self._properties['reservations_accepted'] - - @property - def reservations_rejected(self): - """ - :returns: The reservations_rejected - :rtype: unicode - """ - return self._properties['reservations_rejected'] - - @property - def reservations_timed_out(self): - """ - :returns: The reservations_timed_out - :rtype: unicode - """ - return self._properties['reservations_timed_out'] - - @property - def reservations_canceled(self): - """ - :returns: The reservations_canceled - :rtype: unicode - """ - return self._properties['reservations_canceled'] - - @property - def reservations_rescinded(self): - """ - :returns: The reservations_rescinded - :rtype: unicode - """ - return self._properties['reservations_rescinded'] - - @property - def split_by_wait_time(self): - """ - :returns: The split_by_wait_time - :rtype: dict - """ - return self._properties['split_by_wait_time'] - - @property - def wait_duration_until_accepted(self): - """ - :returns: The wait_duration_until_accepted - :rtype: dict - """ - return self._properties['wait_duration_until_accepted'] - - @property - def wait_duration_until_canceled(self): - """ - :returns: The wait_duration_until_canceled - :rtype: dict - """ - return self._properties['wait_duration_until_canceled'] - - @property - def tasks_canceled(self): - """ - :returns: The tasks_canceled - :rtype: unicode - """ - return self._properties['tasks_canceled'] - - @property - def tasks_completed(self): - """ - :returns: The tasks_completed - :rtype: unicode - """ - return self._properties['tasks_completed'] - - @property - def tasks_created(self): - """ - :returns: The tasks_created - :rtype: unicode - """ - return self._properties['tasks_created'] - - @property - def tasks_deleted(self): - """ - :returns: The tasks_deleted - :rtype: unicode - """ - return self._properties['tasks_deleted'] - - @property - def tasks_moved(self): - """ - :returns: The tasks_moved - :rtype: unicode - """ - return self._properties['tasks_moved'] - - @property - def tasks_timed_out_in_workflow(self): - """ - :returns: The tasks_timed_out_in_workflow - :rtype: unicode - """ - return self._properties['tasks_timed_out_in_workflow'] - - @property - def workspace_sid(self): - """ - :returns: The workspace_sid - :rtype: unicode - """ - return self._properties['workspace_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self, end_date=values.unset, minutes=values.unset, - start_date=values.unset, task_channel=values.unset, - split_by_wait_time=values.unset): - """ - Fetch a WorkspaceCumulativeStatisticsInstance - - :param datetime end_date: The end_date - :param unicode minutes: The minutes - :param datetime start_date: The start_date - :param unicode task_channel: The task_channel - :param unicode split_by_wait_time: The split_by_wait_time - - :returns: Fetched WorkspaceCumulativeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_cumulative_statistics.WorkspaceCumulativeStatisticsInstance - """ - return self._proxy.fetch( - end_date=end_date, - minutes=minutes, - start_date=start_date, - task_channel=task_channel, - split_by_wait_time=split_by_wait_time, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkspaceCumulativeStatisticsInstance {}>'.format(context) diff --git a/twilio/rest/taskrouter/v1/workspace/workspace_real_time_statistics.py b/twilio/rest/taskrouter/v1/workspace/workspace_real_time_statistics.py deleted file mode 100644 index 9918df6..0000000 --- a/twilio/rest/taskrouter/v1/workspace/workspace_real_time_statistics.py +++ /dev/null @@ -1,302 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class WorkspaceRealTimeStatisticsList(ListResource): - """ """ - - def __init__(self, version, workspace_sid): - """ - Initialize the WorkspaceRealTimeStatisticsList - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.workspace_real_time_statistics.WorkspaceRealTimeStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_real_time_statistics.WorkspaceRealTimeStatisticsList - """ - super(WorkspaceRealTimeStatisticsList, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, } - - def get(self): - """ - Constructs a WorkspaceRealTimeStatisticsContext - - :returns: twilio.rest.taskrouter.v1.workspace.workspace_real_time_statistics.WorkspaceRealTimeStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_real_time_statistics.WorkspaceRealTimeStatisticsContext - """ - return WorkspaceRealTimeStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - ) - - def __call__(self): - """ - Constructs a WorkspaceRealTimeStatisticsContext - - :returns: twilio.rest.taskrouter.v1.workspace.workspace_real_time_statistics.WorkspaceRealTimeStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_real_time_statistics.WorkspaceRealTimeStatisticsContext - """ - return WorkspaceRealTimeStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkspaceRealTimeStatisticsList>' - - -class WorkspaceRealTimeStatisticsPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the WorkspaceRealTimeStatisticsPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.workspace_real_time_statistics.WorkspaceRealTimeStatisticsPage - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_real_time_statistics.WorkspaceRealTimeStatisticsPage - """ - super(WorkspaceRealTimeStatisticsPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of WorkspaceRealTimeStatisticsInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.taskrouter.v1.workspace.workspace_real_time_statistics.WorkspaceRealTimeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_real_time_statistics.WorkspaceRealTimeStatisticsInstance - """ - return WorkspaceRealTimeStatisticsInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkspaceRealTimeStatisticsPage>' - - -class WorkspaceRealTimeStatisticsContext(InstanceContext): - """ """ - - def __init__(self, version, workspace_sid): - """ - Initialize the WorkspaceRealTimeStatisticsContext - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.workspace_real_time_statistics.WorkspaceRealTimeStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_real_time_statistics.WorkspaceRealTimeStatisticsContext - """ - super(WorkspaceRealTimeStatisticsContext, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, } - self._uri = '/Workspaces/{workspace_sid}/RealTimeStatistics'.format(**self._solution) - - def fetch(self, task_channel=values.unset): - """ - Fetch a WorkspaceRealTimeStatisticsInstance - - :param unicode task_channel: The task_channel - - :returns: Fetched WorkspaceRealTimeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_real_time_statistics.WorkspaceRealTimeStatisticsInstance - """ - params = values.of({'TaskChannel': task_channel, }) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return WorkspaceRealTimeStatisticsInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkspaceRealTimeStatisticsContext {}>'.format(context) - - -class WorkspaceRealTimeStatisticsInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, workspace_sid): - """ - Initialize the WorkspaceRealTimeStatisticsInstance - - :returns: twilio.rest.taskrouter.v1.workspace.workspace_real_time_statistics.WorkspaceRealTimeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_real_time_statistics.WorkspaceRealTimeStatisticsInstance - """ - super(WorkspaceRealTimeStatisticsInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'activity_statistics': payload['activity_statistics'], - 'longest_task_waiting_age': deserialize.integer(payload['longest_task_waiting_age']), - 'tasks_by_priority': payload['tasks_by_priority'], - 'tasks_by_status': payload['tasks_by_status'], - 'total_tasks': deserialize.integer(payload['total_tasks']), - 'total_workers': deserialize.integer(payload['total_workers']), - 'workspace_sid': payload['workspace_sid'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'workspace_sid': workspace_sid, } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: WorkspaceRealTimeStatisticsContext for this WorkspaceRealTimeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_real_time_statistics.WorkspaceRealTimeStatisticsContext - """ - if self._context is None: - self._context = WorkspaceRealTimeStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def activity_statistics(self): - """ - :returns: The activity_statistics - :rtype: dict - """ - return self._properties['activity_statistics'] - - @property - def longest_task_waiting_age(self): - """ - :returns: The longest_task_waiting_age - :rtype: unicode - """ - return self._properties['longest_task_waiting_age'] - - @property - def tasks_by_priority(self): - """ - :returns: The tasks_by_priority - :rtype: dict - """ - return self._properties['tasks_by_priority'] - - @property - def tasks_by_status(self): - """ - :returns: The tasks_by_status - :rtype: dict - """ - return self._properties['tasks_by_status'] - - @property - def total_tasks(self): - """ - :returns: The total_tasks - :rtype: unicode - """ - return self._properties['total_tasks'] - - @property - def total_workers(self): - """ - :returns: The total_workers - :rtype: unicode - """ - return self._properties['total_workers'] - - @property - def workspace_sid(self): - """ - :returns: The workspace_sid - :rtype: unicode - """ - return self._properties['workspace_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self, task_channel=values.unset): - """ - Fetch a WorkspaceRealTimeStatisticsInstance - - :param unicode task_channel: The task_channel - - :returns: Fetched WorkspaceRealTimeStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_real_time_statistics.WorkspaceRealTimeStatisticsInstance - """ - return self._proxy.fetch(task_channel=task_channel, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkspaceRealTimeStatisticsInstance {}>'.format(context) diff --git a/twilio/rest/taskrouter/v1/workspace/workspace_statistics.py b/twilio/rest/taskrouter/v1/workspace/workspace_statistics.py deleted file mode 100644 index f5c511b..0000000 --- a/twilio/rest/taskrouter/v1/workspace/workspace_statistics.py +++ /dev/null @@ -1,284 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class WorkspaceStatisticsList(ListResource): - """ """ - - def __init__(self, version, workspace_sid): - """ - Initialize the WorkspaceStatisticsList - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.workspace_statistics.WorkspaceStatisticsList - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_statistics.WorkspaceStatisticsList - """ - super(WorkspaceStatisticsList, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, } - - def get(self): - """ - Constructs a WorkspaceStatisticsContext - - :returns: twilio.rest.taskrouter.v1.workspace.workspace_statistics.WorkspaceStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_statistics.WorkspaceStatisticsContext - """ - return WorkspaceStatisticsContext(self._version, workspace_sid=self._solution['workspace_sid'], ) - - def __call__(self): - """ - Constructs a WorkspaceStatisticsContext - - :returns: twilio.rest.taskrouter.v1.workspace.workspace_statistics.WorkspaceStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_statistics.WorkspaceStatisticsContext - """ - return WorkspaceStatisticsContext(self._version, workspace_sid=self._solution['workspace_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkspaceStatisticsList>' - - -class WorkspaceStatisticsPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the WorkspaceStatisticsPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.workspace_statistics.WorkspaceStatisticsPage - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_statistics.WorkspaceStatisticsPage - """ - super(WorkspaceStatisticsPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of WorkspaceStatisticsInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.taskrouter.v1.workspace.workspace_statistics.WorkspaceStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_statistics.WorkspaceStatisticsInstance - """ - return WorkspaceStatisticsInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Taskrouter.V1.WorkspaceStatisticsPage>' - - -class WorkspaceStatisticsContext(InstanceContext): - """ """ - - def __init__(self, version, workspace_sid): - """ - Initialize the WorkspaceStatisticsContext - - :param Version version: Version that contains the resource - :param workspace_sid: The workspace_sid - - :returns: twilio.rest.taskrouter.v1.workspace.workspace_statistics.WorkspaceStatisticsContext - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_statistics.WorkspaceStatisticsContext - """ - super(WorkspaceStatisticsContext, self).__init__(version) - - # Path Solution - self._solution = {'workspace_sid': workspace_sid, } - self._uri = '/Workspaces/{workspace_sid}/Statistics'.format(**self._solution) - - def fetch(self, minutes=values.unset, start_date=values.unset, - end_date=values.unset, task_channel=values.unset, - split_by_wait_time=values.unset): - """ - Fetch a WorkspaceStatisticsInstance - - :param unicode minutes: The minutes - :param datetime start_date: The start_date - :param datetime end_date: The end_date - :param unicode task_channel: The task_channel - :param unicode split_by_wait_time: The split_by_wait_time - - :returns: Fetched WorkspaceStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_statistics.WorkspaceStatisticsInstance - """ - params = values.of({ - 'Minutes': minutes, - 'StartDate': serialize.iso8601_datetime(start_date), - 'EndDate': serialize.iso8601_datetime(end_date), - 'TaskChannel': task_channel, - 'SplitByWaitTime': split_by_wait_time, - }) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return WorkspaceStatisticsInstance( - self._version, - payload, - workspace_sid=self._solution['workspace_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkspaceStatisticsContext {}>'.format(context) - - -class WorkspaceStatisticsInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, workspace_sid): - """ - Initialize the WorkspaceStatisticsInstance - - :returns: twilio.rest.taskrouter.v1.workspace.workspace_statistics.WorkspaceStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_statistics.WorkspaceStatisticsInstance - """ - super(WorkspaceStatisticsInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'realtime': payload['realtime'], - 'cumulative': payload['cumulative'], - 'account_sid': payload['account_sid'], - 'workspace_sid': payload['workspace_sid'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'workspace_sid': workspace_sid, } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: WorkspaceStatisticsContext for this WorkspaceStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_statistics.WorkspaceStatisticsContext - """ - if self._context is None: - self._context = WorkspaceStatisticsContext( - self._version, - workspace_sid=self._solution['workspace_sid'], - ) - return self._context - - @property - def realtime(self): - """ - :returns: The realtime - :rtype: dict - """ - return self._properties['realtime'] - - @property - def cumulative(self): - """ - :returns: The cumulative - :rtype: dict - """ - return self._properties['cumulative'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def workspace_sid(self): - """ - :returns: The workspace_sid - :rtype: unicode - """ - return self._properties['workspace_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self, minutes=values.unset, start_date=values.unset, - end_date=values.unset, task_channel=values.unset, - split_by_wait_time=values.unset): - """ - Fetch a WorkspaceStatisticsInstance - - :param unicode minutes: The minutes - :param datetime start_date: The start_date - :param datetime end_date: The end_date - :param unicode task_channel: The task_channel - :param unicode split_by_wait_time: The split_by_wait_time - - :returns: Fetched WorkspaceStatisticsInstance - :rtype: twilio.rest.taskrouter.v1.workspace.workspace_statistics.WorkspaceStatisticsInstance - """ - return self._proxy.fetch( - minutes=minutes, - start_date=start_date, - end_date=end_date, - task_channel=task_channel, - split_by_wait_time=split_by_wait_time, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Taskrouter.V1.WorkspaceStatisticsInstance {}>'.format(context) diff --git a/twilio/rest/trunking/__init__.py b/twilio/rest/trunking/__init__.py deleted file mode 100644 index 9134532..0000000 --- a/twilio/rest/trunking/__init__.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.domain import Domain -from twilio.rest.trunking.v1 import V1 - - -class Trunking(Domain): - - def __init__(self, twilio): - """ - Initialize the Trunking Domain - - :returns: Domain for Trunking - :rtype: twilio.rest.trunking.Trunking - """ - super(Trunking, self).__init__(twilio) - - self.base_url = 'https://trunking.twilio.com' - - # Versions - self._v1 = None - - @property - def v1(self): - """ - :returns: Version v1 of trunking - :rtype: twilio.rest.trunking.v1.V1 - """ - if self._v1 is None: - self._v1 = V1(self) - return self._v1 - - @property - def trunks(self): - """ - :rtype: twilio.rest.trunking.v1.trunk.TrunkList - """ - return self.v1.trunks - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Trunking>' diff --git a/twilio/rest/trunking/__pycache__/__init__.cpython-36.pyc b/twilio/rest/trunking/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index e609ba7f1b6b60dff53b90067e8b324775a9cb4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1615 zcmaJ>&2HQ_5GE<DR#w(Y69g#Gpa5_69-{Rkw}lZTNPr+fYNV*^gP?$sMQ&D(R#Hjs z8Y}2#2YHO1`z*cmtZPqwg`PUpUu?h$0g@weIP-n;!zcUu-d}(J5xln%`UhPb@Qt3q zREMx|6d;Z{N%5Kl1RL2(t+gH47`;N==A$dbM}k~h!H7G*qUpGdypvU;Xq<CFFCs-h zh)l>x3r^2=UPxz@Q5dkWs@pwU(E~OOXRsWwDx6icI+%gRcJ3eghn~@=aIqaT?_U6h zrnq)q=IbcQKq9B}*!=8=)d}hd1c3q!JjiFX#D>e28(6~T7Pqg^B@RX)1NKIC_?Wv_ zC>Vc6HVRzevsb$(a+7^bvJWxoteV|;FjG-jG}5?2m*kvO_!65aRft)fz-n^>R;=<< z$AZ$=S)!9DO-e!aO3>aqZOM3p-a-n!k(pX_Cv=(1LHnAP-W6g&^+l2<xi5v%zU~0~ zz3oA}e6-TKP>b1Y(CIG5`TBS|sz+*52q{es)GlKQU}da!&mtw*My9pJw(}{eZ6(rW z;Iwxk{(FqYX`~cmf1>~1y;y|5DIrz(OA@T2JbYdhFC!g=Z}K=w!xOPC!XhaipKX$q zKYpUpe7RE>VQZ}443V%08TLs0VkaHIb`Pd90vdlu9IL$FGxdAT7@JcVW;Y3Y0aN_| zONGuMK_6ZDut}OpRr3$hM9OzVsJ?{%6sRP52GvOOCG9a?Q~X8-pn^~5gX-~=NEaYT zQ#n&C_l$gJSSBFVWIO*6_LiOFVGoyg26o%|4PJ&@!^;>oyv{MOz~%G7<3fHLT*IcV zlQ)Ud!#x1HZ_qf6g1Q~6ybCHn!BkCWjLLfh(DvHxU`=sx1C*5I;P9=?w+Xx$5nake zWIWwbDGI0pk?BZ7_-|{BpQCt{Wa6t=x)+1?QBYbA4$J#TCvDI4pr1CWxSgtL27`w& zf8aa5QFiUAc`q2tqP2jw@fcg@e3Ke^!r1SdC~Z%g8m`?!=Fn_<*MzzWrZk0J?|0o4 zi!=qdLxBJ^56-2jlcq&Yij>K{OD1<G-elbTJ)S!Cm@%Hmj0F$6{x%)#^X9#jCR@Sx j-NDTlV>@qZv$6BVaVs_D=^nL|o{o)g(}Fgc;EDA=u~v`v diff --git a/twilio/rest/trunking/v1/__init__.py b/twilio/rest/trunking/v1/__init__.py deleted file mode 100644 index ca3694a..0000000 --- a/twilio/rest/trunking/v1/__init__.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.trunking.v1.trunk import TrunkList - - -class V1(Version): - - def __init__(self, domain): - """ - Initialize the V1 version of Trunking - - :returns: V1 version of Trunking - :rtype: twilio.rest.trunking.v1.V1.V1 - """ - super(V1, self).__init__(domain) - self.version = 'v1' - self._trunks = None - - @property - def trunks(self): - """ - :rtype: twilio.rest.trunking.v1.trunk.TrunkList - """ - if self._trunks is None: - self._trunks = TrunkList(self) - return self._trunks - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Trunking.V1>' diff --git a/twilio/rest/trunking/v1/__pycache__/__init__.cpython-36.pyc b/twilio/rest/trunking/v1/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index c24fd9115f124092cc8ea6d248429fe46e9e4a06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1388 zcmah|O^@3)5G5)3W3}EkKynIDfIu&+L+mwjGlC#N0t5k)MT5FN2m)BGNN1VIl1j>6 z*wAek$T2^m=U(zhdg)o$p86MZ>I@~jAIKsDaX6sJ;d?WW4^K{l-~aeE`s5MvC;6B8 z5I=!o&%j9%5lJP>=!!**V(ew!%8z_XUJ&Wa-VKpG#jd@mC;LB=aIi~)`K7izEu`XC ziREuqu1r!X$uG7+%qLuMFmR&o=787yRD|&a+^MMJNzLoi3GCQR$7kcS0QYk^*xDrc z3xJW3HiLySRu?&hM{~2z-@nqfO7Z93fSWVNMUjXCANGMPDRR0QMxOGeC;c08O#weJ zxFJ#h1Mx{TKrRhiOjFk7z!~%5upC@PDq53k_Kwx`nqqBgB0R~!`;x(VZ}+jo&iTt+ zS31e`PVwqe@x_#HTJXGBatB`LZ-c}3nNii+<aT!3&aN1IW~yzeX1u!6nJ&gg*=k&2 zEg;<(>bJn}kTznQ>3P^|dUjnZW3biDPzVj+glGmGq-G#o3LCP<w<=pUeOas$?FubK znkCi>@f-R4^Rrp}lLa2}8y#IHMf|iZpC?rkzbeusi|1-p#-%PFT_A3U^KvE16L zxW&4k5OTbS9B-!a9?!Vknm!=>7KX)u4DQfA-5mp`{hpNKIvCE_p=U7ceQ-5-2OW7o zH1}MWus3cE`oeZk4;A@Z{T#6Ie6Oy<x$}^jAzWin4k0y17>^F_1fr(jRuR#(_<I2j z=<W#cw}1YF9vL|F*cC|~&fVd@A55{)@S+mFG+N~{+j65ysGZ8Iq=HBACGEUU(o3DI zTaWx-M7A=A3wQS(&09@5@+hap^s%FO3tbQrLK5P8B<!BeplepU9u84#d9qR<wm^tg zA=eqkBO!iSCt3T)^}HFDrT~dnTk{QMGpK>)q|;uivJCDzR2%Rd<0dS+(=-OI;zKq% z9v!*0^RN%P7P3f%i0*dJ<sz|a+^OCm;^@2E9+K;r>$Xex&+TpG8a{l~QhGet1Mu01 Hj=aAClzdv? diff --git a/twilio/rest/trunking/v1/trunk/__init__.py b/twilio/rest/trunking/v1/trunk/__init__.py deleted file mode 100644 index a4d09dc..0000000 --- a/twilio/rest/trunking/v1/trunk/__init__.py +++ /dev/null @@ -1,623 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.trunking.v1.trunk.credential_list import CredentialListList -from twilio.rest.trunking.v1.trunk.ip_access_control_list import IpAccessControlListList -from twilio.rest.trunking.v1.trunk.origination_url import OriginationUrlList -from twilio.rest.trunking.v1.trunk.phone_number import PhoneNumberList - - -class TrunkList(ListResource): - """ """ - - def __init__(self, version): - """ - Initialize the TrunkList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.trunking.v1.trunk.TrunkList - :rtype: twilio.rest.trunking.v1.trunk.TrunkList - """ - super(TrunkList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Trunks'.format(**self._solution) - - def create(self, friendly_name=values.unset, domain_name=values.unset, - disaster_recovery_url=values.unset, - disaster_recovery_method=values.unset, recording=values.unset, - secure=values.unset): - """ - Create a new TrunkInstance - - :param unicode friendly_name: The friendly_name - :param unicode domain_name: The domain_name - :param unicode disaster_recovery_url: The disaster_recovery_url - :param unicode disaster_recovery_method: The disaster_recovery_method - :param unicode recording: The recording - :param bool secure: The secure - - :returns: Newly created TrunkInstance - :rtype: twilio.rest.trunking.v1.trunk.TrunkInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'DomainName': domain_name, - 'DisasterRecoveryUrl': disaster_recovery_url, - 'DisasterRecoveryMethod': disaster_recovery_method, - 'Recording': recording, - 'Secure': secure, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return TrunkInstance(self._version, payload, ) - - def stream(self, limit=None, page_size=None): - """ - Streams TrunkInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.trunking.v1.trunk.TrunkInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists TrunkInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.trunking.v1.trunk.TrunkInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of TrunkInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of TrunkInstance - :rtype: twilio.rest.trunking.v1.trunk.TrunkPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return TrunkPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of TrunkInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of TrunkInstance - :rtype: twilio.rest.trunking.v1.trunk.TrunkPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return TrunkPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a TrunkContext - - :param sid: The sid - - :returns: twilio.rest.trunking.v1.trunk.TrunkContext - :rtype: twilio.rest.trunking.v1.trunk.TrunkContext - """ - return TrunkContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a TrunkContext - - :param sid: The sid - - :returns: twilio.rest.trunking.v1.trunk.TrunkContext - :rtype: twilio.rest.trunking.v1.trunk.TrunkContext - """ - return TrunkContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Trunking.V1.TrunkList>' - - -class TrunkPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the TrunkPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.trunking.v1.trunk.TrunkPage - :rtype: twilio.rest.trunking.v1.trunk.TrunkPage - """ - super(TrunkPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of TrunkInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.trunking.v1.trunk.TrunkInstance - :rtype: twilio.rest.trunking.v1.trunk.TrunkInstance - """ - return TrunkInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Trunking.V1.TrunkPage>' - - -class TrunkContext(InstanceContext): - """ """ - - def __init__(self, version, sid): - """ - Initialize the TrunkContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.trunking.v1.trunk.TrunkContext - :rtype: twilio.rest.trunking.v1.trunk.TrunkContext - """ - super(TrunkContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Trunks/{sid}'.format(**self._solution) - - # Dependents - self._origination_urls = None - self._credentials_lists = None - self._ip_access_control_lists = None - self._phone_numbers = None - - def fetch(self): - """ - Fetch a TrunkInstance - - :returns: Fetched TrunkInstance - :rtype: twilio.rest.trunking.v1.trunk.TrunkInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return TrunkInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the TrunkInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, friendly_name=values.unset, domain_name=values.unset, - disaster_recovery_url=values.unset, - disaster_recovery_method=values.unset, recording=values.unset, - secure=values.unset): - """ - Update the TrunkInstance - - :param unicode friendly_name: The friendly_name - :param unicode domain_name: The domain_name - :param unicode disaster_recovery_url: The disaster_recovery_url - :param unicode disaster_recovery_method: The disaster_recovery_method - :param unicode recording: The recording - :param bool secure: The secure - - :returns: Updated TrunkInstance - :rtype: twilio.rest.trunking.v1.trunk.TrunkInstance - """ - data = values.of({ - 'FriendlyName': friendly_name, - 'DomainName': domain_name, - 'DisasterRecoveryUrl': disaster_recovery_url, - 'DisasterRecoveryMethod': disaster_recovery_method, - 'Recording': recording, - 'Secure': secure, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return TrunkInstance(self._version, payload, sid=self._solution['sid'], ) - - @property - def origination_urls(self): - """ - Access the origination_urls - - :returns: twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlList - :rtype: twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlList - """ - if self._origination_urls is None: - self._origination_urls = OriginationUrlList(self._version, trunk_sid=self._solution['sid'], ) - return self._origination_urls - - @property - def credentials_lists(self): - """ - Access the credentials_lists - - :returns: twilio.rest.trunking.v1.trunk.credential_list.CredentialListList - :rtype: twilio.rest.trunking.v1.trunk.credential_list.CredentialListList - """ - if self._credentials_lists is None: - self._credentials_lists = CredentialListList(self._version, trunk_sid=self._solution['sid'], ) - return self._credentials_lists - - @property - def ip_access_control_lists(self): - """ - Access the ip_access_control_lists - - :returns: twilio.rest.trunking.v1.trunk.ip_access_control_list.IpAccessControlListList - :rtype: twilio.rest.trunking.v1.trunk.ip_access_control_list.IpAccessControlListList - """ - if self._ip_access_control_lists is None: - self._ip_access_control_lists = IpAccessControlListList( - self._version, - trunk_sid=self._solution['sid'], - ) - return self._ip_access_control_lists - - @property - def phone_numbers(self): - """ - Access the phone_numbers - - :returns: twilio.rest.trunking.v1.trunk.phone_number.PhoneNumberList - :rtype: twilio.rest.trunking.v1.trunk.phone_number.PhoneNumberList - """ - if self._phone_numbers is None: - self._phone_numbers = PhoneNumberList(self._version, trunk_sid=self._solution['sid'], ) - return self._phone_numbers - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Trunking.V1.TrunkContext {}>'.format(context) - - -class TrunkInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, sid=None): - """ - Initialize the TrunkInstance - - :returns: twilio.rest.trunking.v1.trunk.TrunkInstance - :rtype: twilio.rest.trunking.v1.trunk.TrunkInstance - """ - super(TrunkInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'domain_name': payload['domain_name'], - 'disaster_recovery_method': payload['disaster_recovery_method'], - 'disaster_recovery_url': payload['disaster_recovery_url'], - 'friendly_name': payload['friendly_name'], - 'secure': payload['secure'], - 'recording': payload['recording'], - 'auth_type': payload['auth_type'], - 'auth_type_set': payload['auth_type_set'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'sid': payload['sid'], - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: TrunkContext for this TrunkInstance - :rtype: twilio.rest.trunking.v1.trunk.TrunkContext - """ - if self._context is None: - self._context = TrunkContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def domain_name(self): - """ - :returns: The domain_name - :rtype: unicode - """ - return self._properties['domain_name'] - - @property - def disaster_recovery_method(self): - """ - :returns: The disaster_recovery_method - :rtype: unicode - """ - return self._properties['disaster_recovery_method'] - - @property - def disaster_recovery_url(self): - """ - :returns: The disaster_recovery_url - :rtype: unicode - """ - return self._properties['disaster_recovery_url'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def secure(self): - """ - :returns: The secure - :rtype: bool - """ - return self._properties['secure'] - - @property - def recording(self): - """ - :returns: The recording - :rtype: dict - """ - return self._properties['recording'] - - @property - def auth_type(self): - """ - :returns: The auth_type - :rtype: unicode - """ - return self._properties['auth_type'] - - @property - def auth_type_set(self): - """ - :returns: The auth_type_set - :rtype: unicode - """ - return self._properties['auth_type_set'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a TrunkInstance - - :returns: Fetched TrunkInstance - :rtype: twilio.rest.trunking.v1.trunk.TrunkInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the TrunkInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, friendly_name=values.unset, domain_name=values.unset, - disaster_recovery_url=values.unset, - disaster_recovery_method=values.unset, recording=values.unset, - secure=values.unset): - """ - Update the TrunkInstance - - :param unicode friendly_name: The friendly_name - :param unicode domain_name: The domain_name - :param unicode disaster_recovery_url: The disaster_recovery_url - :param unicode disaster_recovery_method: The disaster_recovery_method - :param unicode recording: The recording - :param bool secure: The secure - - :returns: Updated TrunkInstance - :rtype: twilio.rest.trunking.v1.trunk.TrunkInstance - """ - return self._proxy.update( - friendly_name=friendly_name, - domain_name=domain_name, - disaster_recovery_url=disaster_recovery_url, - disaster_recovery_method=disaster_recovery_method, - recording=recording, - secure=secure, - ) - - @property - def origination_urls(self): - """ - Access the origination_urls - - :returns: twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlList - :rtype: twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlList - """ - return self._proxy.origination_urls - - @property - def credentials_lists(self): - """ - Access the credentials_lists - - :returns: twilio.rest.trunking.v1.trunk.credential_list.CredentialListList - :rtype: twilio.rest.trunking.v1.trunk.credential_list.CredentialListList - """ - return self._proxy.credentials_lists - - @property - def ip_access_control_lists(self): - """ - Access the ip_access_control_lists - - :returns: twilio.rest.trunking.v1.trunk.ip_access_control_list.IpAccessControlListList - :rtype: twilio.rest.trunking.v1.trunk.ip_access_control_list.IpAccessControlListList - """ - return self._proxy.ip_access_control_lists - - @property - def phone_numbers(self): - """ - Access the phone_numbers - - :returns: twilio.rest.trunking.v1.trunk.phone_number.PhoneNumberList - :rtype: twilio.rest.trunking.v1.trunk.phone_number.PhoneNumberList - """ - return self._proxy.phone_numbers - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Trunking.V1.TrunkInstance {}>'.format(context) diff --git a/twilio/rest/trunking/v1/trunk/__pycache__/__init__.cpython-36.pyc b/twilio/rest/trunking/v1/trunk/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 20bb9d99fb69cbd3dd28e8d998a054003b28e74c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20192 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 QUv}|NwC5I|M|$x80OCh%&Hw-a diff --git a/twilio/rest/trunking/v1/trunk/__pycache__/credential_list.cpython-36.pyc b/twilio/rest/trunking/v1/trunk/__pycache__/credential_list.cpython-36.pyc deleted file mode 100644 index 3e19b9a1c306001faf3e7f514f00e923ef840435..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14415 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 diff --git a/twilio/rest/trunking/v1/trunk/__pycache__/ip_access_control_list.cpython-36.pyc b/twilio/rest/trunking/v1/trunk/__pycache__/ip_access_control_list.cpython-36.pyc deleted file mode 100644 index e6214f278fc0cf27c3112879391aff7539f4c409..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15036 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 L*Ir&+UcB)?i-^I4 diff --git a/twilio/rest/trunking/v1/trunk/__pycache__/origination_url.cpython-36.pyc b/twilio/rest/trunking/v1/trunk/__pycache__/origination_url.cpython-36.pyc deleted file mode 100644 index 99c3872a0a5a9a83fe0b059ba7265d6dd719297e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17021 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 IE-l{sKePK>6951J diff --git a/twilio/rest/trunking/v1/trunk/__pycache__/phone_number.cpython-36.pyc b/twilio/rest/trunking/v1/trunk/__pycache__/phone_number.cpython-36.pyc deleted file mode 100644 index 38d7323c0a344cde818c07aeb650842422de99ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19025 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 Mhl#`Ui}UCH2M*!FwEzGB diff --git a/twilio/rest/trunking/v1/trunk/credential_list.py b/twilio/rest/trunking/v1/trunk/credential_list.py deleted file mode 100644 index 70d6b1a..0000000 --- a/twilio/rest/trunking/v1/trunk/credential_list.py +++ /dev/null @@ -1,396 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class CredentialListList(ListResource): - """ """ - - def __init__(self, version, trunk_sid): - """ - Initialize the CredentialListList - - :param Version version: Version that contains the resource - :param trunk_sid: The trunk_sid - - :returns: twilio.rest.trunking.v1.trunk.credential_list.CredentialListList - :rtype: twilio.rest.trunking.v1.trunk.credential_list.CredentialListList - """ - super(CredentialListList, self).__init__(version) - - # Path Solution - self._solution = {'trunk_sid': trunk_sid, } - self._uri = '/Trunks/{trunk_sid}/CredentialLists'.format(**self._solution) - - def create(self, credential_list_sid): - """ - Create a new CredentialListInstance - - :param unicode credential_list_sid: The credential_list_sid - - :returns: Newly created CredentialListInstance - :rtype: twilio.rest.trunking.v1.trunk.credential_list.CredentialListInstance - """ - data = values.of({'CredentialListSid': credential_list_sid, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return CredentialListInstance(self._version, payload, trunk_sid=self._solution['trunk_sid'], ) - - def stream(self, limit=None, page_size=None): - """ - Streams CredentialListInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.trunking.v1.trunk.credential_list.CredentialListInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists CredentialListInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.trunking.v1.trunk.credential_list.CredentialListInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of CredentialListInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of CredentialListInstance - :rtype: twilio.rest.trunking.v1.trunk.credential_list.CredentialListPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return CredentialListPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of CredentialListInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of CredentialListInstance - :rtype: twilio.rest.trunking.v1.trunk.credential_list.CredentialListPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return CredentialListPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a CredentialListContext - - :param sid: The sid - - :returns: twilio.rest.trunking.v1.trunk.credential_list.CredentialListContext - :rtype: twilio.rest.trunking.v1.trunk.credential_list.CredentialListContext - """ - return CredentialListContext(self._version, trunk_sid=self._solution['trunk_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a CredentialListContext - - :param sid: The sid - - :returns: twilio.rest.trunking.v1.trunk.credential_list.CredentialListContext - :rtype: twilio.rest.trunking.v1.trunk.credential_list.CredentialListContext - """ - return CredentialListContext(self._version, trunk_sid=self._solution['trunk_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Trunking.V1.CredentialListList>' - - -class CredentialListPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the CredentialListPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param trunk_sid: The trunk_sid - - :returns: twilio.rest.trunking.v1.trunk.credential_list.CredentialListPage - :rtype: twilio.rest.trunking.v1.trunk.credential_list.CredentialListPage - """ - super(CredentialListPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of CredentialListInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.trunking.v1.trunk.credential_list.CredentialListInstance - :rtype: twilio.rest.trunking.v1.trunk.credential_list.CredentialListInstance - """ - return CredentialListInstance(self._version, payload, trunk_sid=self._solution['trunk_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Trunking.V1.CredentialListPage>' - - -class CredentialListContext(InstanceContext): - """ """ - - def __init__(self, version, trunk_sid, sid): - """ - Initialize the CredentialListContext - - :param Version version: Version that contains the resource - :param trunk_sid: The trunk_sid - :param sid: The sid - - :returns: twilio.rest.trunking.v1.trunk.credential_list.CredentialListContext - :rtype: twilio.rest.trunking.v1.trunk.credential_list.CredentialListContext - """ - super(CredentialListContext, self).__init__(version) - - # Path Solution - self._solution = {'trunk_sid': trunk_sid, 'sid': sid, } - self._uri = '/Trunks/{trunk_sid}/CredentialLists/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a CredentialListInstance - - :returns: Fetched CredentialListInstance - :rtype: twilio.rest.trunking.v1.trunk.credential_list.CredentialListInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return CredentialListInstance( - self._version, - payload, - trunk_sid=self._solution['trunk_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the CredentialListInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Trunking.V1.CredentialListContext {}>'.format(context) - - -class CredentialListInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, trunk_sid, sid=None): - """ - Initialize the CredentialListInstance - - :returns: twilio.rest.trunking.v1.trunk.credential_list.CredentialListInstance - :rtype: twilio.rest.trunking.v1.trunk.credential_list.CredentialListInstance - """ - super(CredentialListInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'sid': payload['sid'], - 'trunk_sid': payload['trunk_sid'], - 'friendly_name': payload['friendly_name'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'trunk_sid': trunk_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: CredentialListContext for this CredentialListInstance - :rtype: twilio.rest.trunking.v1.trunk.credential_list.CredentialListContext - """ - if self._context is None: - self._context = CredentialListContext( - self._version, - trunk_sid=self._solution['trunk_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def trunk_sid(self): - """ - :returns: The trunk_sid - :rtype: unicode - """ - return self._properties['trunk_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a CredentialListInstance - - :returns: Fetched CredentialListInstance - :rtype: twilio.rest.trunking.v1.trunk.credential_list.CredentialListInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the CredentialListInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Trunking.V1.CredentialListInstance {}>'.format(context) diff --git a/twilio/rest/trunking/v1/trunk/ip_access_control_list.py b/twilio/rest/trunking/v1/trunk/ip_access_control_list.py deleted file mode 100644 index e9ca55f..0000000 --- a/twilio/rest/trunking/v1/trunk/ip_access_control_list.py +++ /dev/null @@ -1,396 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class IpAccessControlListList(ListResource): - """ """ - - def __init__(self, version, trunk_sid): - """ - Initialize the IpAccessControlListList - - :param Version version: Version that contains the resource - :param trunk_sid: The trunk_sid - - :returns: twilio.rest.trunking.v1.trunk.ip_access_control_list.IpAccessControlListList - :rtype: twilio.rest.trunking.v1.trunk.ip_access_control_list.IpAccessControlListList - """ - super(IpAccessControlListList, self).__init__(version) - - # Path Solution - self._solution = {'trunk_sid': trunk_sid, } - self._uri = '/Trunks/{trunk_sid}/IpAccessControlLists'.format(**self._solution) - - def create(self, ip_access_control_list_sid): - """ - Create a new IpAccessControlListInstance - - :param unicode ip_access_control_list_sid: The ip_access_control_list_sid - - :returns: Newly created IpAccessControlListInstance - :rtype: twilio.rest.trunking.v1.trunk.ip_access_control_list.IpAccessControlListInstance - """ - data = values.of({'IpAccessControlListSid': ip_access_control_list_sid, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return IpAccessControlListInstance(self._version, payload, trunk_sid=self._solution['trunk_sid'], ) - - def stream(self, limit=None, page_size=None): - """ - Streams IpAccessControlListInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.trunking.v1.trunk.ip_access_control_list.IpAccessControlListInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists IpAccessControlListInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.trunking.v1.trunk.ip_access_control_list.IpAccessControlListInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of IpAccessControlListInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of IpAccessControlListInstance - :rtype: twilio.rest.trunking.v1.trunk.ip_access_control_list.IpAccessControlListPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return IpAccessControlListPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of IpAccessControlListInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of IpAccessControlListInstance - :rtype: twilio.rest.trunking.v1.trunk.ip_access_control_list.IpAccessControlListPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return IpAccessControlListPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a IpAccessControlListContext - - :param sid: The sid - - :returns: twilio.rest.trunking.v1.trunk.ip_access_control_list.IpAccessControlListContext - :rtype: twilio.rest.trunking.v1.trunk.ip_access_control_list.IpAccessControlListContext - """ - return IpAccessControlListContext(self._version, trunk_sid=self._solution['trunk_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a IpAccessControlListContext - - :param sid: The sid - - :returns: twilio.rest.trunking.v1.trunk.ip_access_control_list.IpAccessControlListContext - :rtype: twilio.rest.trunking.v1.trunk.ip_access_control_list.IpAccessControlListContext - """ - return IpAccessControlListContext(self._version, trunk_sid=self._solution['trunk_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Trunking.V1.IpAccessControlListList>' - - -class IpAccessControlListPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the IpAccessControlListPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param trunk_sid: The trunk_sid - - :returns: twilio.rest.trunking.v1.trunk.ip_access_control_list.IpAccessControlListPage - :rtype: twilio.rest.trunking.v1.trunk.ip_access_control_list.IpAccessControlListPage - """ - super(IpAccessControlListPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of IpAccessControlListInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.trunking.v1.trunk.ip_access_control_list.IpAccessControlListInstance - :rtype: twilio.rest.trunking.v1.trunk.ip_access_control_list.IpAccessControlListInstance - """ - return IpAccessControlListInstance(self._version, payload, trunk_sid=self._solution['trunk_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Trunking.V1.IpAccessControlListPage>' - - -class IpAccessControlListContext(InstanceContext): - """ """ - - def __init__(self, version, trunk_sid, sid): - """ - Initialize the IpAccessControlListContext - - :param Version version: Version that contains the resource - :param trunk_sid: The trunk_sid - :param sid: The sid - - :returns: twilio.rest.trunking.v1.trunk.ip_access_control_list.IpAccessControlListContext - :rtype: twilio.rest.trunking.v1.trunk.ip_access_control_list.IpAccessControlListContext - """ - super(IpAccessControlListContext, self).__init__(version) - - # Path Solution - self._solution = {'trunk_sid': trunk_sid, 'sid': sid, } - self._uri = '/Trunks/{trunk_sid}/IpAccessControlLists/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a IpAccessControlListInstance - - :returns: Fetched IpAccessControlListInstance - :rtype: twilio.rest.trunking.v1.trunk.ip_access_control_list.IpAccessControlListInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return IpAccessControlListInstance( - self._version, - payload, - trunk_sid=self._solution['trunk_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the IpAccessControlListInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Trunking.V1.IpAccessControlListContext {}>'.format(context) - - -class IpAccessControlListInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, trunk_sid, sid=None): - """ - Initialize the IpAccessControlListInstance - - :returns: twilio.rest.trunking.v1.trunk.ip_access_control_list.IpAccessControlListInstance - :rtype: twilio.rest.trunking.v1.trunk.ip_access_control_list.IpAccessControlListInstance - """ - super(IpAccessControlListInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'sid': payload['sid'], - 'trunk_sid': payload['trunk_sid'], - 'friendly_name': payload['friendly_name'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'trunk_sid': trunk_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: IpAccessControlListContext for this IpAccessControlListInstance - :rtype: twilio.rest.trunking.v1.trunk.ip_access_control_list.IpAccessControlListContext - """ - if self._context is None: - self._context = IpAccessControlListContext( - self._version, - trunk_sid=self._solution['trunk_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def trunk_sid(self): - """ - :returns: The trunk_sid - :rtype: unicode - """ - return self._properties['trunk_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a IpAccessControlListInstance - - :returns: Fetched IpAccessControlListInstance - :rtype: twilio.rest.trunking.v1.trunk.ip_access_control_list.IpAccessControlListInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the IpAccessControlListInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Trunking.V1.IpAccessControlListInstance {}>'.format(context) diff --git a/twilio/rest/trunking/v1/trunk/origination_url.py b/twilio/rest/trunking/v1/trunk/origination_url.py deleted file mode 100644 index d8fd2c7..0000000 --- a/twilio/rest/trunking/v1/trunk/origination_url.py +++ /dev/null @@ -1,501 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class OriginationUrlList(ListResource): - """ """ - - def __init__(self, version, trunk_sid): - """ - Initialize the OriginationUrlList - - :param Version version: Version that contains the resource - :param trunk_sid: The trunk_sid - - :returns: twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlList - :rtype: twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlList - """ - super(OriginationUrlList, self).__init__(version) - - # Path Solution - self._solution = {'trunk_sid': trunk_sid, } - self._uri = '/Trunks/{trunk_sid}/OriginationUrls'.format(**self._solution) - - def create(self, weight, priority, enabled, friendly_name, sip_url): - """ - Create a new OriginationUrlInstance - - :param unicode weight: The weight - :param unicode priority: The priority - :param bool enabled: The enabled - :param unicode friendly_name: The friendly_name - :param unicode sip_url: The sip_url - - :returns: Newly created OriginationUrlInstance - :rtype: twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlInstance - """ - data = values.of({ - 'Weight': weight, - 'Priority': priority, - 'Enabled': enabled, - 'FriendlyName': friendly_name, - 'SipUrl': sip_url, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return OriginationUrlInstance(self._version, payload, trunk_sid=self._solution['trunk_sid'], ) - - def stream(self, limit=None, page_size=None): - """ - Streams OriginationUrlInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists OriginationUrlInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of OriginationUrlInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of OriginationUrlInstance - :rtype: twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return OriginationUrlPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of OriginationUrlInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of OriginationUrlInstance - :rtype: twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return OriginationUrlPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a OriginationUrlContext - - :param sid: The sid - - :returns: twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlContext - :rtype: twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlContext - """ - return OriginationUrlContext(self._version, trunk_sid=self._solution['trunk_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a OriginationUrlContext - - :param sid: The sid - - :returns: twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlContext - :rtype: twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlContext - """ - return OriginationUrlContext(self._version, trunk_sid=self._solution['trunk_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Trunking.V1.OriginationUrlList>' - - -class OriginationUrlPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the OriginationUrlPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param trunk_sid: The trunk_sid - - :returns: twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlPage - :rtype: twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlPage - """ - super(OriginationUrlPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of OriginationUrlInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlInstance - :rtype: twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlInstance - """ - return OriginationUrlInstance(self._version, payload, trunk_sid=self._solution['trunk_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Trunking.V1.OriginationUrlPage>' - - -class OriginationUrlContext(InstanceContext): - """ """ - - def __init__(self, version, trunk_sid, sid): - """ - Initialize the OriginationUrlContext - - :param Version version: Version that contains the resource - :param trunk_sid: The trunk_sid - :param sid: The sid - - :returns: twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlContext - :rtype: twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlContext - """ - super(OriginationUrlContext, self).__init__(version) - - # Path Solution - self._solution = {'trunk_sid': trunk_sid, 'sid': sid, } - self._uri = '/Trunks/{trunk_sid}/OriginationUrls/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a OriginationUrlInstance - - :returns: Fetched OriginationUrlInstance - :rtype: twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return OriginationUrlInstance( - self._version, - payload, - trunk_sid=self._solution['trunk_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the OriginationUrlInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def update(self, weight=values.unset, priority=values.unset, - enabled=values.unset, friendly_name=values.unset, - sip_url=values.unset): - """ - Update the OriginationUrlInstance - - :param unicode weight: The weight - :param unicode priority: The priority - :param bool enabled: The enabled - :param unicode friendly_name: The friendly_name - :param unicode sip_url: The sip_url - - :returns: Updated OriginationUrlInstance - :rtype: twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlInstance - """ - data = values.of({ - 'Weight': weight, - 'Priority': priority, - 'Enabled': enabled, - 'FriendlyName': friendly_name, - 'SipUrl': sip_url, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return OriginationUrlInstance( - self._version, - payload, - trunk_sid=self._solution['trunk_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Trunking.V1.OriginationUrlContext {}>'.format(context) - - -class OriginationUrlInstance(InstanceResource): - """ """ - - def __init__(self, version, payload, trunk_sid, sid=None): - """ - Initialize the OriginationUrlInstance - - :returns: twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlInstance - :rtype: twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlInstance - """ - super(OriginationUrlInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'sid': payload['sid'], - 'trunk_sid': payload['trunk_sid'], - 'weight': deserialize.integer(payload['weight']), - 'enabled': payload['enabled'], - 'sip_url': payload['sip_url'], - 'friendly_name': payload['friendly_name'], - 'priority': deserialize.integer(payload['priority']), - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'trunk_sid': trunk_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: OriginationUrlContext for this OriginationUrlInstance - :rtype: twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlContext - """ - if self._context is None: - self._context = OriginationUrlContext( - self._version, - trunk_sid=self._solution['trunk_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def trunk_sid(self): - """ - :returns: The trunk_sid - :rtype: unicode - """ - return self._properties['trunk_sid'] - - @property - def weight(self): - """ - :returns: The weight - :rtype: unicode - """ - return self._properties['weight'] - - @property - def enabled(self): - """ - :returns: The enabled - :rtype: bool - """ - return self._properties['enabled'] - - @property - def sip_url(self): - """ - :returns: The sip_url - :rtype: unicode - """ - return self._properties['sip_url'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def priority(self): - """ - :returns: The priority - :rtype: unicode - """ - return self._properties['priority'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a OriginationUrlInstance - - :returns: Fetched OriginationUrlInstance - :rtype: twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the OriginationUrlInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def update(self, weight=values.unset, priority=values.unset, - enabled=values.unset, friendly_name=values.unset, - sip_url=values.unset): - """ - Update the OriginationUrlInstance - - :param unicode weight: The weight - :param unicode priority: The priority - :param bool enabled: The enabled - :param unicode friendly_name: The friendly_name - :param unicode sip_url: The sip_url - - :returns: Updated OriginationUrlInstance - :rtype: twilio.rest.trunking.v1.trunk.origination_url.OriginationUrlInstance - """ - return self._proxy.update( - weight=weight, - priority=priority, - enabled=enabled, - friendly_name=friendly_name, - sip_url=sip_url, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Trunking.V1.OriginationUrlInstance {}>'.format(context) diff --git a/twilio/rest/trunking/v1/trunk/phone_number.py b/twilio/rest/trunking/v1/trunk/phone_number.py deleted file mode 100644 index f71c319..0000000 --- a/twilio/rest/trunking/v1/trunk/phone_number.py +++ /dev/null @@ -1,573 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class PhoneNumberList(ListResource): - """ """ - - def __init__(self, version, trunk_sid): - """ - Initialize the PhoneNumberList - - :param Version version: Version that contains the resource - :param trunk_sid: The trunk_sid - - :returns: twilio.rest.trunking.v1.trunk.phone_number.PhoneNumberList - :rtype: twilio.rest.trunking.v1.trunk.phone_number.PhoneNumberList - """ - super(PhoneNumberList, self).__init__(version) - - # Path Solution - self._solution = {'trunk_sid': trunk_sid, } - self._uri = '/Trunks/{trunk_sid}/PhoneNumbers'.format(**self._solution) - - def create(self, phone_number_sid): - """ - Create a new PhoneNumberInstance - - :param unicode phone_number_sid: The phone_number_sid - - :returns: Newly created PhoneNumberInstance - :rtype: twilio.rest.trunking.v1.trunk.phone_number.PhoneNumberInstance - """ - data = values.of({'PhoneNumberSid': phone_number_sid, }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return PhoneNumberInstance(self._version, payload, trunk_sid=self._solution['trunk_sid'], ) - - def stream(self, limit=None, page_size=None): - """ - Streams PhoneNumberInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.trunking.v1.trunk.phone_number.PhoneNumberInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists PhoneNumberInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.trunking.v1.trunk.phone_number.PhoneNumberInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of PhoneNumberInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of PhoneNumberInstance - :rtype: twilio.rest.trunking.v1.trunk.phone_number.PhoneNumberPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return PhoneNumberPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of PhoneNumberInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of PhoneNumberInstance - :rtype: twilio.rest.trunking.v1.trunk.phone_number.PhoneNumberPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return PhoneNumberPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a PhoneNumberContext - - :param sid: The sid - - :returns: twilio.rest.trunking.v1.trunk.phone_number.PhoneNumberContext - :rtype: twilio.rest.trunking.v1.trunk.phone_number.PhoneNumberContext - """ - return PhoneNumberContext(self._version, trunk_sid=self._solution['trunk_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a PhoneNumberContext - - :param sid: The sid - - :returns: twilio.rest.trunking.v1.trunk.phone_number.PhoneNumberContext - :rtype: twilio.rest.trunking.v1.trunk.phone_number.PhoneNumberContext - """ - return PhoneNumberContext(self._version, trunk_sid=self._solution['trunk_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Trunking.V1.PhoneNumberList>' - - -class PhoneNumberPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the PhoneNumberPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param trunk_sid: The trunk_sid - - :returns: twilio.rest.trunking.v1.trunk.phone_number.PhoneNumberPage - :rtype: twilio.rest.trunking.v1.trunk.phone_number.PhoneNumberPage - """ - super(PhoneNumberPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of PhoneNumberInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.trunking.v1.trunk.phone_number.PhoneNumberInstance - :rtype: twilio.rest.trunking.v1.trunk.phone_number.PhoneNumberInstance - """ - return PhoneNumberInstance(self._version, payload, trunk_sid=self._solution['trunk_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Trunking.V1.PhoneNumberPage>' - - -class PhoneNumberContext(InstanceContext): - """ """ - - def __init__(self, version, trunk_sid, sid): - """ - Initialize the PhoneNumberContext - - :param Version version: Version that contains the resource - :param trunk_sid: The trunk_sid - :param sid: The sid - - :returns: twilio.rest.trunking.v1.trunk.phone_number.PhoneNumberContext - :rtype: twilio.rest.trunking.v1.trunk.phone_number.PhoneNumberContext - """ - super(PhoneNumberContext, self).__init__(version) - - # Path Solution - self._solution = {'trunk_sid': trunk_sid, 'sid': sid, } - self._uri = '/Trunks/{trunk_sid}/PhoneNumbers/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a PhoneNumberInstance - - :returns: Fetched PhoneNumberInstance - :rtype: twilio.rest.trunking.v1.trunk.phone_number.PhoneNumberInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return PhoneNumberInstance( - self._version, - payload, - trunk_sid=self._solution['trunk_sid'], - sid=self._solution['sid'], - ) - - def delete(self): - """ - Deletes the PhoneNumberInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Trunking.V1.PhoneNumberContext {}>'.format(context) - - -class PhoneNumberInstance(InstanceResource): - """ """ - - class AddressRequirement(object): - NONE = "none" - ANY = "any" - LOCAL = "local" - FOREIGN = "foreign" - - def __init__(self, version, payload, trunk_sid, sid=None): - """ - Initialize the PhoneNumberInstance - - :returns: twilio.rest.trunking.v1.trunk.phone_number.PhoneNumberInstance - :rtype: twilio.rest.trunking.v1.trunk.phone_number.PhoneNumberInstance - """ - super(PhoneNumberInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'address_requirements': payload['address_requirements'], - 'api_version': payload['api_version'], - 'beta': payload['beta'], - 'capabilities': payload['capabilities'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'friendly_name': payload['friendly_name'], - 'links': payload['links'], - 'phone_number': payload['phone_number'], - 'sid': payload['sid'], - 'sms_application_sid': payload['sms_application_sid'], - 'sms_fallback_method': payload['sms_fallback_method'], - 'sms_fallback_url': payload['sms_fallback_url'], - 'sms_method': payload['sms_method'], - 'sms_url': payload['sms_url'], - 'status_callback': payload['status_callback'], - 'status_callback_method': payload['status_callback_method'], - 'trunk_sid': payload['trunk_sid'], - 'url': payload['url'], - 'voice_application_sid': payload['voice_application_sid'], - 'voice_caller_id_lookup': payload['voice_caller_id_lookup'], - 'voice_fallback_method': payload['voice_fallback_method'], - 'voice_fallback_url': payload['voice_fallback_url'], - 'voice_method': payload['voice_method'], - 'voice_url': payload['voice_url'], - } - - # Context - self._context = None - self._solution = {'trunk_sid': trunk_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: PhoneNumberContext for this PhoneNumberInstance - :rtype: twilio.rest.trunking.v1.trunk.phone_number.PhoneNumberContext - """ - if self._context is None: - self._context = PhoneNumberContext( - self._version, - trunk_sid=self._solution['trunk_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def address_requirements(self): - """ - :returns: The address_requirements - :rtype: PhoneNumberInstance.AddressRequirement - """ - return self._properties['address_requirements'] - - @property - def api_version(self): - """ - :returns: The api_version - :rtype: unicode - """ - return self._properties['api_version'] - - @property - def beta(self): - """ - :returns: The beta - :rtype: bool - """ - return self._properties['beta'] - - @property - def capabilities(self): - """ - :returns: The capabilities - :rtype: unicode - """ - return self._properties['capabilities'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - @property - def phone_number(self): - """ - :returns: The phone_number - :rtype: unicode - """ - return self._properties['phone_number'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def sms_application_sid(self): - """ - :returns: The sms_application_sid - :rtype: unicode - """ - return self._properties['sms_application_sid'] - - @property - def sms_fallback_method(self): - """ - :returns: The sms_fallback_method - :rtype: unicode - """ - return self._properties['sms_fallback_method'] - - @property - def sms_fallback_url(self): - """ - :returns: The sms_fallback_url - :rtype: unicode - """ - return self._properties['sms_fallback_url'] - - @property - def sms_method(self): - """ - :returns: The sms_method - :rtype: unicode - """ - return self._properties['sms_method'] - - @property - def sms_url(self): - """ - :returns: The sms_url - :rtype: unicode - """ - return self._properties['sms_url'] - - @property - def status_callback(self): - """ - :returns: The status_callback - :rtype: unicode - """ - return self._properties['status_callback'] - - @property - def status_callback_method(self): - """ - :returns: The status_callback_method - :rtype: unicode - """ - return self._properties['status_callback_method'] - - @property - def trunk_sid(self): - """ - :returns: The trunk_sid - :rtype: unicode - """ - return self._properties['trunk_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def voice_application_sid(self): - """ - :returns: The voice_application_sid - :rtype: unicode - """ - return self._properties['voice_application_sid'] - - @property - def voice_caller_id_lookup(self): - """ - :returns: The voice_caller_id_lookup - :rtype: bool - """ - return self._properties['voice_caller_id_lookup'] - - @property - def voice_fallback_method(self): - """ - :returns: The voice_fallback_method - :rtype: unicode - """ - return self._properties['voice_fallback_method'] - - @property - def voice_fallback_url(self): - """ - :returns: The voice_fallback_url - :rtype: unicode - """ - return self._properties['voice_fallback_url'] - - @property - def voice_method(self): - """ - :returns: The voice_method - :rtype: unicode - """ - return self._properties['voice_method'] - - @property - def voice_url(self): - """ - :returns: The voice_url - :rtype: unicode - """ - return self._properties['voice_url'] - - def fetch(self): - """ - Fetch a PhoneNumberInstance - - :returns: Fetched PhoneNumberInstance - :rtype: twilio.rest.trunking.v1.trunk.phone_number.PhoneNumberInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the PhoneNumberInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Trunking.V1.PhoneNumberInstance {}>'.format(context) diff --git a/twilio/rest/video/__init__.py b/twilio/rest/video/__init__.py deleted file mode 100644 index 35a9261..0000000 --- a/twilio/rest/video/__init__.py +++ /dev/null @@ -1,67 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.domain import Domain -from twilio.rest.video.v1 import V1 - - -class Video(Domain): - - def __init__(self, twilio): - """ - Initialize the Video Domain - - :returns: Domain for Video - :rtype: twilio.rest.video.Video - """ - super(Video, self).__init__(twilio) - - self.base_url = 'https://video.twilio.com' - - # Versions - self._v1 = None - - @property - def v1(self): - """ - :returns: Version v1 of video - :rtype: twilio.rest.video.v1.V1 - """ - if self._v1 is None: - self._v1 = V1(self) - return self._v1 - - @property - def compositions(self): - """ - :rtype: twilio.rest.video.v1.composition.CompositionList - """ - return self.v1.compositions - - @property - def recordings(self): - """ - :rtype: twilio.rest.video.v1.recording.RecordingList - """ - return self.v1.recordings - - @property - def rooms(self): - """ - :rtype: twilio.rest.video.v1.room.RoomList - """ - return self.v1.rooms - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Video>' diff --git a/twilio/rest/video/__pycache__/__init__.cpython-36.pyc b/twilio/rest/video/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 76f561fc198dec808e5d7a4db95878f58ad74fd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1975 zcma)7Pix~w6d(PuttfUjyX>J93Uh0GSUG0t#e}6LOH0c(wA(ZVAs7_Rc&${Hv@^1U zg%5=U_G9$i&(cfJy7tts&{N+V$+8R1k}>n<XTLY|esA8J=a++l`{!T3`@eMv`J3zv z8}OGf)hP&0e8LTGCdS<KO#`u&SaaLA4e|})Ht*aM-Vx@V<#%}ZCo=4np?f)t6^$}3 z=xwOzJCO<*7J}33l^f6zWfTSowr*CJuIULI1|twBY#of&bbT@ci{;om^-f*1r?9ae zBljO5MutY!eVxt2I0a;0jU)VVGpq)vO8|oS2E<{0AX5Wlxp#a^*xcgwJ-IXd4q)J} zaTjopI~w-@A8=P=had9(J@F4d5S#ce#5t%sS1}h^WHzpFMYlK=1yPW~Sd%;R##|eB z243BoFpHZYZEnI5R=H|Iqx9P}F5)nWOF@g7p!#T9hv&9N6Df*?Ox2{(&}k-X(;bsy zm5T{2ZsR1*JSkM+Es>|Ek8JJAPi94ttI23oYa9D0n_mn&RYxsyAthEq<uDclImRmI zI#hx!WKvmdIUbsotwb{QyY*hk!U1DZ5-P>mALL*Ed=mVugjB(gu|Es5;Hx};9Ts8m zCX2!(xD@j|$m9IQ^&(FAi<c_NrYm(D)Q4>r<R55;!G?yHuVfd9J%OnZklwM`waOzM zptmuL3{=6u6?1bAQ+*0zO>Q6;zdG`{&JSiq{{|T`%U{|X+Fte*1QBN`R3pu%RI}N! zdg#8PcCW^*-Nn$94mg)s9z#POAU<qGA5dj3$DhGk2i0{A*C?GjsO9*7;b2HQ96S-j zxiNseQGVCDo5+vQf+Xjef_lqR?|h5j#Hwfy0J;O@)ZZ~y`+3VFF#H^*(odmNKC4OZ z?tB#euUqdQr7uO4Ngk)~ytf;)m%7^;K13W#$lD=)Tod2!dlc=nN7Bx+x%U>tUa}nt znumBE1II6Rcpf%9am#*+_;NWGg;|y@y&q(@gjPU9I+d|Vd9tEX<nY8qT7*~)`#R0{ zVKj?V@!*!GDbr2LR3Tf3<<Z$?-G?;cSGwT$7ZJ7@B*WNQ8)$F)rfb#k5Y5tXE}$E^ zjLkE?ND%iKd%p;iTBEx|<>WGh9#*V$9qSsEm~V-fDW8I<22Hz)M3R8__B8@S7me^y z>K=$MLE$&Y>>u^reh)udb202zJ;rzzG3GyOnkcqOkL$lCiBH0R-Y9mu@p7y?fj(sG XxkkDfIA?WquX^Yl`<!j|jlT6CG2+$3 diff --git a/twilio/rest/video/v1/__init__.py b/twilio/rest/video/v1/__init__.py deleted file mode 100644 index 0925ebf..0000000 --- a/twilio/rest/video/v1/__init__.py +++ /dev/null @@ -1,64 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.video.v1.composition import CompositionList -from twilio.rest.video.v1.recording import RecordingList -from twilio.rest.video.v1.room import RoomList - - -class V1(Version): - - def __init__(self, domain): - """ - Initialize the V1 version of Video - - :returns: V1 version of Video - :rtype: twilio.rest.video.v1.V1.V1 - """ - super(V1, self).__init__(domain) - self.version = 'v1' - self._compositions = None - self._recordings = None - self._rooms = None - - @property - def compositions(self): - """ - :rtype: twilio.rest.video.v1.composition.CompositionList - """ - if self._compositions is None: - self._compositions = CompositionList(self) - return self._compositions - - @property - def recordings(self): - """ - :rtype: twilio.rest.video.v1.recording.RecordingList - """ - if self._recordings is None: - self._recordings = RecordingList(self) - return self._recordings - - @property - def rooms(self): - """ - :rtype: twilio.rest.video.v1.room.RoomList - """ - if self._rooms is None: - self._rooms = RoomList(self) - return self._rooms - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Video.V1>' diff --git a/twilio/rest/video/v1/__pycache__/__init__.cpython-36.pyc b/twilio/rest/video/v1/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index f3469fa7bb808943e5dc18c05fb1cb5dba065c27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1996 zcmbVMPjA~c6sKfak`){2za6?m!P{bBm1Fc&BPcecSht}Iwl4EQ&_F06-Kdo;jg%eO z@GZgmF?QZ(*=1*4ciLCjY46dp;s#C*rL4zi@{#)e-oIzPp7+<^e*`aWLjECJ!vg&) zc-6NcI0*<hxS1N68JGs@t+bU{fu(gTZD)31YrUO1nH#tUc}2L*oh!l}VP3X^4tIYh z{mwG-PR|oX<D3h65h?msOofa}!Rgt;3+aF|3IhaN)w4%e^nmrl0f+;(3I{8?Iv9Y( zeCQwghaTEfIJh1I?_U5+`bOo9g;YsC1$F;8&x%|nCH#Gzs1lZXZ$z9+o=o4?3+|gd z&rpx?{ARRjMY}<ezyMd6AIQW&cU-waOIW<ctt)bA1Z~jU+}64cy2D+qJG{faD-yUL zh(&@9xM8m{$HUmH@5ULwgRlA$L`h0xMJ~;E=E}G<(5)-NTHFL_Y1!7&<|f?LTK-<U zfYR@#Kru>_rJ&`xpyMH(uYExC2^}X~<X&StlA@f+sT%DxtG!7_vRo8mM9YgLO>$of zRr+(h$OrF_@z-1!nDgOD->KSaRtPB}p-AO2mH;NkDyK$L^;moz3{~whxe0`-Y$hQH zs&7`766vI}d7ecHMzF(JoJLA9_9yx8*W*$6ivnihPf2hd<>A*w@iHo-@O2(XX?QBK zA}o^P>Deqv`O{}A%_j?W5w1CGCZrN-D&c$>ZgBd=Lb`zbKE}cWL7aPrt)Jx{@ZH$O z2JXSY83T9>ulgLsioAn>y?5m!9YhSBUV~7X%kLX+-RamZ5BWDzx4Gb?Z%PCxF>U&W z?4f?I5lEowZe66Fz>31CkhW)d#&RF%Z0~;}rEeNUcT#Gi?0-~v&0(ao2iPPwo?Ga6 z%_Zs!u-Ycm12WgUpGf7XL31}1$WedOEt(@ppo;|Bw-adV^gg_S-9_w}_aDK=#L`KH z4&jDQpJns4A7zfYOCvgwiJ0<qL8T}lr^U34u+8l%^dF-5Jei7HkK8PJRm$dr%lk*C z>mH!{2o(Mcoo%;-3JM?bF!mhD>Q3j>1+-r8d)OSNQ6``{c#LH^pQWgG8T)M(rRyDC zi<Mi*99l}bkPqNC`4Gh;6rX{BhO%xAu}D++YEuG$Y#)uV5_C7hf4Zh!v)k)-@X_lh zfW={q=P_f!!@AR*MN0T}&yt8g*xduSDo9si@MLGJY;sfQckp<(5hQ_59}Vl8$y(DD S?H;Wi^}^YZvCOWapVt4L7wl93 diff --git a/twilio/rest/video/v1/composition/__init__.py b/twilio/rest/video/v1/composition/__init__.py deleted file mode 100644 index ff87d01..0000000 --- a/twilio/rest/video/v1/composition/__init__.py +++ /dev/null @@ -1,551 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class CompositionList(ListResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version): - """ - Initialize the CompositionList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.video.v1.composition.CompositionList - :rtype: twilio.rest.video.v1.composition.CompositionList - """ - super(CompositionList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Compositions'.format(**self._solution) - - def stream(self, status=values.unset, date_created_after=values.unset, - date_created_before=values.unset, limit=None, page_size=None): - """ - Streams CompositionInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param CompositionInstance.Status status: The status - :param datetime date_created_after: The date_created_after - :param datetime date_created_before: The date_created_before - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.video.v1.composition.CompositionInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - status=status, - date_created_after=date_created_after, - date_created_before=date_created_before, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, status=values.unset, date_created_after=values.unset, - date_created_before=values.unset, limit=None, page_size=None): - """ - Lists CompositionInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param CompositionInstance.Status status: The status - :param datetime date_created_after: The date_created_after - :param datetime date_created_before: The date_created_before - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.video.v1.composition.CompositionInstance] - """ - return list(self.stream( - status=status, - date_created_after=date_created_after, - date_created_before=date_created_before, - limit=limit, - page_size=page_size, - )) - - def page(self, status=values.unset, date_created_after=values.unset, - date_created_before=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of CompositionInstance records from the API. - Request is executed immediately - - :param CompositionInstance.Status status: The status - :param datetime date_created_after: The date_created_after - :param datetime date_created_before: The date_created_before - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of CompositionInstance - :rtype: twilio.rest.video.v1.composition.CompositionPage - """ - params = values.of({ - 'Status': status, - 'DateCreatedAfter': serialize.iso8601_datetime(date_created_after), - 'DateCreatedBefore': serialize.iso8601_datetime(date_created_before), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return CompositionPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of CompositionInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of CompositionInstance - :rtype: twilio.rest.video.v1.composition.CompositionPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return CompositionPage(self._version, response, self._solution) - - def create(self, audio_sources=values.unset, video_sources=values.unset, - video_layout=values.unset, resolution=values.unset, - format=values.unset, desired_bitrate=values.unset, - desired_max_duration=values.unset, status_callback=values.unset, - status_callback_method=values.unset, trim=values.unset, - reuse=values.unset): - """ - Create a new CompositionInstance - - :param unicode audio_sources: The audio_sources - :param unicode video_sources: The video_sources - :param CompositionInstance.VideoLayout video_layout: The video_layout - :param unicode resolution: The resolution - :param CompositionInstance.Format format: The format - :param unicode desired_bitrate: The desired_bitrate - :param unicode desired_max_duration: The desired_max_duration - :param unicode status_callback: The status_callback - :param unicode status_callback_method: The status_callback_method - :param bool trim: The trim - :param bool reuse: The reuse - - :returns: Newly created CompositionInstance - :rtype: twilio.rest.video.v1.composition.CompositionInstance - """ - data = values.of({ - 'AudioSources': serialize.map(audio_sources, lambda e: e), - 'VideoSources': serialize.map(video_sources, lambda e: e), - 'VideoLayout': video_layout, - 'Resolution': resolution, - 'Format': format, - 'DesiredBitrate': desired_bitrate, - 'DesiredMaxDuration': desired_max_duration, - 'StatusCallback': status_callback, - 'StatusCallbackMethod': status_callback_method, - 'Trim': trim, - 'Reuse': reuse, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return CompositionInstance(self._version, payload, ) - - def get(self, sid): - """ - Constructs a CompositionContext - - :param sid: The sid - - :returns: twilio.rest.video.v1.composition.CompositionContext - :rtype: twilio.rest.video.v1.composition.CompositionContext - """ - return CompositionContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a CompositionContext - - :param sid: The sid - - :returns: twilio.rest.video.v1.composition.CompositionContext - :rtype: twilio.rest.video.v1.composition.CompositionContext - """ - return CompositionContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Video.V1.CompositionList>' - - -class CompositionPage(Page): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, response, solution): - """ - Initialize the CompositionPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.video.v1.composition.CompositionPage - :rtype: twilio.rest.video.v1.composition.CompositionPage - """ - super(CompositionPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of CompositionInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.video.v1.composition.CompositionInstance - :rtype: twilio.rest.video.v1.composition.CompositionInstance - """ - return CompositionInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Video.V1.CompositionPage>' - - -class CompositionContext(InstanceContext): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - def __init__(self, version, sid): - """ - Initialize the CompositionContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.video.v1.composition.CompositionContext - :rtype: twilio.rest.video.v1.composition.CompositionContext - """ - super(CompositionContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Compositions/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a CompositionInstance - - :returns: Fetched CompositionInstance - :rtype: twilio.rest.video.v1.composition.CompositionInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return CompositionInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the CompositionInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Video.V1.CompositionContext {}>'.format(context) - - -class CompositionInstance(InstanceResource): - """ PLEASE NOTE that this class contains preview products that are subject - to change. Use them with caution. If you currently do not have developer - preview access, please contact help@twilio.com. """ - - class Status(object): - PROCESSING = "processing" - COMPLETED = "completed" - DELETED = "deleted" - FAILED = "failed" - - class Format(object): - MKA = "mka" - MP3 = "mp3" - M4A = "m4a" - MKV = "mkv" - MP4 = "mp4" - WEBM = "webm" - - class VideoLayout(object): - GRID = "grid" - SINGLE = "single" - PIP = "pip" - SEQUENCE = "sequence" - - def __init__(self, version, payload, sid=None): - """ - Initialize the CompositionInstance - - :returns: twilio.rest.video.v1.composition.CompositionInstance - :rtype: twilio.rest.video.v1.composition.CompositionInstance - """ - super(CompositionInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'status': payload['status'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_completed': payload['date_completed'], - 'date_deleted': payload['date_deleted'], - 'sid': payload['sid'], - 'audio_sources': payload['audio_sources'], - 'video_sources': payload['video_sources'], - 'video_layout': payload['video_layout'], - 'resolution': payload['resolution'], - 'format': payload['format'], - 'bitrate': deserialize.integer(payload['bitrate']), - 'size': deserialize.integer(payload['size']), - 'duration': deserialize.integer(payload['duration']), - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: CompositionContext for this CompositionInstance - :rtype: twilio.rest.video.v1.composition.CompositionContext - """ - if self._context is None: - self._context = CompositionContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def status(self): - """ - :returns: The status - :rtype: CompositionInstance.Status - """ - return self._properties['status'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_completed(self): - """ - :returns: The date_completed - :rtype: unicode - """ - return self._properties['date_completed'] - - @property - def date_deleted(self): - """ - :returns: The date_deleted - :rtype: unicode - """ - return self._properties['date_deleted'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def audio_sources(self): - """ - :returns: The audio_sources - :rtype: unicode - """ - return self._properties['audio_sources'] - - @property - def video_sources(self): - """ - :returns: The video_sources - :rtype: unicode - """ - return self._properties['video_sources'] - - @property - def video_layout(self): - """ - :returns: The video_layout - :rtype: CompositionInstance.VideoLayout - """ - return self._properties['video_layout'] - - @property - def resolution(self): - """ - :returns: The resolution - :rtype: unicode - """ - return self._properties['resolution'] - - @property - def format(self): - """ - :returns: The format - :rtype: CompositionInstance.Format - """ - return self._properties['format'] - - @property - def bitrate(self): - """ - :returns: The bitrate - :rtype: unicode - """ - return self._properties['bitrate'] - - @property - def size(self): - """ - :returns: The size - :rtype: unicode - """ - return self._properties['size'] - - @property - def duration(self): - """ - :returns: The duration - :rtype: unicode - """ - return self._properties['duration'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a CompositionInstance - - :returns: Fetched CompositionInstance - :rtype: twilio.rest.video.v1.composition.CompositionInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the CompositionInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Video.V1.CompositionInstance {}>'.format(context) diff --git a/twilio/rest/video/v1/composition/__pycache__/__init__.cpython-36.pyc b/twilio/rest/video/v1/composition/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index d19db7a531d5f26472ee34b636532edc0a45123b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19170 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 diff --git a/twilio/rest/video/v1/recording/__init__.py b/twilio/rest/video/v1/recording/__init__.py deleted file mode 100644 index fa67dcf..0000000 --- a/twilio/rest/video/v1/recording/__init__.py +++ /dev/null @@ -1,495 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class RecordingList(ListResource): - """ """ - - def __init__(self, version): - """ - Initialize the RecordingList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.video.v1.recording.RecordingList - :rtype: twilio.rest.video.v1.recording.RecordingList - """ - super(RecordingList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Recordings'.format(**self._solution) - - def stream(self, status=values.unset, source_sid=values.unset, - grouping_sid=values.unset, date_created_after=values.unset, - date_created_before=values.unset, limit=None, page_size=None): - """ - Streams RecordingInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param RecordingInstance.Status status: The status - :param unicode source_sid: The source_sid - :param unicode grouping_sid: The grouping_sid - :param datetime date_created_after: The date_created_after - :param datetime date_created_before: The date_created_before - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.video.v1.recording.RecordingInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - status=status, - source_sid=source_sid, - grouping_sid=grouping_sid, - date_created_after=date_created_after, - date_created_before=date_created_before, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, status=values.unset, source_sid=values.unset, - grouping_sid=values.unset, date_created_after=values.unset, - date_created_before=values.unset, limit=None, page_size=None): - """ - Lists RecordingInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param RecordingInstance.Status status: The status - :param unicode source_sid: The source_sid - :param unicode grouping_sid: The grouping_sid - :param datetime date_created_after: The date_created_after - :param datetime date_created_before: The date_created_before - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.video.v1.recording.RecordingInstance] - """ - return list(self.stream( - status=status, - source_sid=source_sid, - grouping_sid=grouping_sid, - date_created_after=date_created_after, - date_created_before=date_created_before, - limit=limit, - page_size=page_size, - )) - - def page(self, status=values.unset, source_sid=values.unset, - grouping_sid=values.unset, date_created_after=values.unset, - date_created_before=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of RecordingInstance records from the API. - Request is executed immediately - - :param RecordingInstance.Status status: The status - :param unicode source_sid: The source_sid - :param unicode grouping_sid: The grouping_sid - :param datetime date_created_after: The date_created_after - :param datetime date_created_before: The date_created_before - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of RecordingInstance - :rtype: twilio.rest.video.v1.recording.RecordingPage - """ - params = values.of({ - 'Status': status, - 'SourceSid': source_sid, - 'GroupingSid': serialize.map(grouping_sid, lambda e: e), - 'DateCreatedAfter': serialize.iso8601_datetime(date_created_after), - 'DateCreatedBefore': serialize.iso8601_datetime(date_created_before), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return RecordingPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of RecordingInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of RecordingInstance - :rtype: twilio.rest.video.v1.recording.RecordingPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return RecordingPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a RecordingContext - - :param sid: The sid - - :returns: twilio.rest.video.v1.recording.RecordingContext - :rtype: twilio.rest.video.v1.recording.RecordingContext - """ - return RecordingContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a RecordingContext - - :param sid: The sid - - :returns: twilio.rest.video.v1.recording.RecordingContext - :rtype: twilio.rest.video.v1.recording.RecordingContext - """ - return RecordingContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Video.V1.RecordingList>' - - -class RecordingPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the RecordingPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.video.v1.recording.RecordingPage - :rtype: twilio.rest.video.v1.recording.RecordingPage - """ - super(RecordingPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of RecordingInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.video.v1.recording.RecordingInstance - :rtype: twilio.rest.video.v1.recording.RecordingInstance - """ - return RecordingInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Video.V1.RecordingPage>' - - -class RecordingContext(InstanceContext): - """ """ - - def __init__(self, version, sid): - """ - Initialize the RecordingContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.video.v1.recording.RecordingContext - :rtype: twilio.rest.video.v1.recording.RecordingContext - """ - super(RecordingContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Recordings/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a RecordingInstance - - :returns: Fetched RecordingInstance - :rtype: twilio.rest.video.v1.recording.RecordingInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return RecordingInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the RecordingInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Video.V1.RecordingContext {}>'.format(context) - - -class RecordingInstance(InstanceResource): - """ """ - - class Status(object): - PROCESSING = "processing" - COMPLETED = "completed" - DELETED = "deleted" - FAILED = "failed" - - class Type(object): - AUDIO = "audio" - VIDEO = "video" - DATA = "data" - - class Format(object): - MKA = "mka" - MKV = "mkv" - - class Codec(object): - VP8 = "VP8" - H264 = "H264" - OPUS = "OPUS" - PCMU = "PCMU" - - def __init__(self, version, payload, sid=None): - """ - Initialize the RecordingInstance - - :returns: twilio.rest.video.v1.recording.RecordingInstance - :rtype: twilio.rest.video.v1.recording.RecordingInstance - """ - super(RecordingInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'status': payload['status'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'sid': payload['sid'], - 'source_sid': payload['source_sid'], - 'size': deserialize.integer(payload['size']), - 'url': payload['url'], - 'type': payload['type'], - 'duration': deserialize.integer(payload['duration']), - 'container_format': payload['container_format'], - 'codec': payload['codec'], - 'grouping_sids': payload['grouping_sids'], - 'track_name': payload['track_name'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: RecordingContext for this RecordingInstance - :rtype: twilio.rest.video.v1.recording.RecordingContext - """ - if self._context is None: - self._context = RecordingContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def status(self): - """ - :returns: The status - :rtype: RecordingInstance.Status - """ - return self._properties['status'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def source_sid(self): - """ - :returns: The source_sid - :rtype: unicode - """ - return self._properties['source_sid'] - - @property - def size(self): - """ - :returns: The size - :rtype: unicode - """ - return self._properties['size'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def type(self): - """ - :returns: The type - :rtype: RecordingInstance.Type - """ - return self._properties['type'] - - @property - def duration(self): - """ - :returns: The duration - :rtype: unicode - """ - return self._properties['duration'] - - @property - def container_format(self): - """ - :returns: The container_format - :rtype: RecordingInstance.Format - """ - return self._properties['container_format'] - - @property - def codec(self): - """ - :returns: The codec - :rtype: RecordingInstance.Codec - """ - return self._properties['codec'] - - @property - def grouping_sids(self): - """ - :returns: The grouping_sids - :rtype: dict - """ - return self._properties['grouping_sids'] - - @property - def track_name(self): - """ - :returns: The track_name - :rtype: unicode - """ - return self._properties['track_name'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a RecordingInstance - - :returns: Fetched RecordingInstance - :rtype: twilio.rest.video.v1.recording.RecordingInstance - """ - return self._proxy.fetch() - - def delete(self): - """ - Deletes the RecordingInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Video.V1.RecordingInstance {}>'.format(context) diff --git a/twilio/rest/video/v1/recording/__pycache__/__init__.cpython-36.pyc b/twilio/rest/video/v1/recording/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 456c9bd55a3e0a8515bb152c48d739fade4465c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16719 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 Ttl$t*f7!}!YUe61R9^dES7wJv diff --git a/twilio/rest/video/v1/room/__init__.py b/twilio/rest/video/v1/room/__init__.py deleted file mode 100644 index e695531..0000000 --- a/twilio/rest/video/v1/room/__init__.py +++ /dev/null @@ -1,620 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.video.v1.room.recording import RoomRecordingList -from twilio.rest.video.v1.room.room_participant import ParticipantList - - -class RoomList(ListResource): - """ """ - - def __init__(self, version): - """ - Initialize the RoomList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.video.v1.room.RoomList - :rtype: twilio.rest.video.v1.room.RoomList - """ - super(RoomList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Rooms'.format(**self._solution) - - def create(self, enable_turn=values.unset, type=values.unset, - unique_name=values.unset, status_callback=values.unset, - status_callback_method=values.unset, max_participants=values.unset, - record_participants_on_connect=values.unset, - video_codecs=values.unset, media_region=values.unset): - """ - Create a new RoomInstance - - :param bool enable_turn: The enable_turn - :param RoomInstance.RoomType type: The type - :param unicode unique_name: The unique_name - :param unicode status_callback: The status_callback - :param unicode status_callback_method: The status_callback_method - :param unicode max_participants: The max_participants - :param bool record_participants_on_connect: The record_participants_on_connect - :param RoomInstance.VideoCodec video_codecs: The video_codecs - :param unicode media_region: The media_region - - :returns: Newly created RoomInstance - :rtype: twilio.rest.video.v1.room.RoomInstance - """ - data = values.of({ - 'EnableTurn': enable_turn, - 'Type': type, - 'UniqueName': unique_name, - 'StatusCallback': status_callback, - 'StatusCallbackMethod': status_callback_method, - 'MaxParticipants': max_participants, - 'RecordParticipantsOnConnect': record_participants_on_connect, - 'VideoCodecs': serialize.map(video_codecs, lambda e: e), - 'MediaRegion': media_region, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return RoomInstance(self._version, payload, ) - - def stream(self, status=values.unset, unique_name=values.unset, - date_created_after=values.unset, date_created_before=values.unset, - limit=None, page_size=None): - """ - Streams RoomInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param RoomInstance.RoomStatus status: The status - :param unicode unique_name: The unique_name - :param datetime date_created_after: The date_created_after - :param datetime date_created_before: The date_created_before - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.video.v1.room.RoomInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - status=status, - unique_name=unique_name, - date_created_after=date_created_after, - date_created_before=date_created_before, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, status=values.unset, unique_name=values.unset, - date_created_after=values.unset, date_created_before=values.unset, - limit=None, page_size=None): - """ - Lists RoomInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param RoomInstance.RoomStatus status: The status - :param unicode unique_name: The unique_name - :param datetime date_created_after: The date_created_after - :param datetime date_created_before: The date_created_before - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.video.v1.room.RoomInstance] - """ - return list(self.stream( - status=status, - unique_name=unique_name, - date_created_after=date_created_after, - date_created_before=date_created_before, - limit=limit, - page_size=page_size, - )) - - def page(self, status=values.unset, unique_name=values.unset, - date_created_after=values.unset, date_created_before=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of RoomInstance records from the API. - Request is executed immediately - - :param RoomInstance.RoomStatus status: The status - :param unicode unique_name: The unique_name - :param datetime date_created_after: The date_created_after - :param datetime date_created_before: The date_created_before - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of RoomInstance - :rtype: twilio.rest.video.v1.room.RoomPage - """ - params = values.of({ - 'Status': status, - 'UniqueName': unique_name, - 'DateCreatedAfter': serialize.iso8601_datetime(date_created_after), - 'DateCreatedBefore': serialize.iso8601_datetime(date_created_before), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return RoomPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of RoomInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of RoomInstance - :rtype: twilio.rest.video.v1.room.RoomPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return RoomPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a RoomContext - - :param sid: The sid - - :returns: twilio.rest.video.v1.room.RoomContext - :rtype: twilio.rest.video.v1.room.RoomContext - """ - return RoomContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a RoomContext - - :param sid: The sid - - :returns: twilio.rest.video.v1.room.RoomContext - :rtype: twilio.rest.video.v1.room.RoomContext - """ - return RoomContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Video.V1.RoomList>' - - -class RoomPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the RoomPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.video.v1.room.RoomPage - :rtype: twilio.rest.video.v1.room.RoomPage - """ - super(RoomPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of RoomInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.video.v1.room.RoomInstance - :rtype: twilio.rest.video.v1.room.RoomInstance - """ - return RoomInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Video.V1.RoomPage>' - - -class RoomContext(InstanceContext): - """ """ - - def __init__(self, version, sid): - """ - Initialize the RoomContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.video.v1.room.RoomContext - :rtype: twilio.rest.video.v1.room.RoomContext - """ - super(RoomContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Rooms/{sid}'.format(**self._solution) - - # Dependents - self._recordings = None - self._participants = None - - def fetch(self): - """ - Fetch a RoomInstance - - :returns: Fetched RoomInstance - :rtype: twilio.rest.video.v1.room.RoomInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return RoomInstance(self._version, payload, sid=self._solution['sid'], ) - - def update(self, status): - """ - Update the RoomInstance - - :param RoomInstance.RoomStatus status: The status - - :returns: Updated RoomInstance - :rtype: twilio.rest.video.v1.room.RoomInstance - """ - data = values.of({'Status': status, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return RoomInstance(self._version, payload, sid=self._solution['sid'], ) - - @property - def recordings(self): - """ - Access the recordings - - :returns: twilio.rest.video.v1.room.recording.RoomRecordingList - :rtype: twilio.rest.video.v1.room.recording.RoomRecordingList - """ - if self._recordings is None: - self._recordings = RoomRecordingList(self._version, room_sid=self._solution['sid'], ) - return self._recordings - - @property - def participants(self): - """ - Access the participants - - :returns: twilio.rest.video.v1.room.room_participant.ParticipantList - :rtype: twilio.rest.video.v1.room.room_participant.ParticipantList - """ - if self._participants is None: - self._participants = ParticipantList(self._version, room_sid=self._solution['sid'], ) - return self._participants - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Video.V1.RoomContext {}>'.format(context) - - -class RoomInstance(InstanceResource): - """ """ - - class RoomStatus(object): - IN_PROGRESS = "in-progress" - COMPLETED = "completed" - FAILED = "failed" - - class RoomType(object): - PEER_TO_PEER = "peer-to-peer" - GROUP = "group" - - class VideoCodec(object): - VP8 = "VP8" - H264 = "H264" - - def __init__(self, version, payload, sid=None): - """ - Initialize the RoomInstance - - :returns: twilio.rest.video.v1.room.RoomInstance - :rtype: twilio.rest.video.v1.room.RoomInstance - """ - super(RoomInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'status': payload['status'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'account_sid': payload['account_sid'], - 'enable_turn': payload['enable_turn'], - 'unique_name': payload['unique_name'], - 'status_callback': payload['status_callback'], - 'status_callback_method': payload['status_callback_method'], - 'end_time': deserialize.iso8601_datetime(payload['end_time']), - 'duration': deserialize.integer(payload['duration']), - 'type': payload['type'], - 'max_participants': deserialize.integer(payload['max_participants']), - 'record_participants_on_connect': payload['record_participants_on_connect'], - 'video_codecs': payload['video_codecs'], - 'media_region': payload['media_region'], - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: RoomContext for this RoomInstance - :rtype: twilio.rest.video.v1.room.RoomContext - """ - if self._context is None: - self._context = RoomContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def status(self): - """ - :returns: The status - :rtype: RoomInstance.RoomStatus - """ - return self._properties['status'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def enable_turn(self): - """ - :returns: The enable_turn - :rtype: bool - """ - return self._properties['enable_turn'] - - @property - def unique_name(self): - """ - :returns: The unique_name - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def status_callback(self): - """ - :returns: The status_callback - :rtype: unicode - """ - return self._properties['status_callback'] - - @property - def status_callback_method(self): - """ - :returns: The status_callback_method - :rtype: unicode - """ - return self._properties['status_callback_method'] - - @property - def end_time(self): - """ - :returns: The end_time - :rtype: datetime - """ - return self._properties['end_time'] - - @property - def duration(self): - """ - :returns: The duration - :rtype: unicode - """ - return self._properties['duration'] - - @property - def type(self): - """ - :returns: The type - :rtype: RoomInstance.RoomType - """ - return self._properties['type'] - - @property - def max_participants(self): - """ - :returns: The max_participants - :rtype: unicode - """ - return self._properties['max_participants'] - - @property - def record_participants_on_connect(self): - """ - :returns: The record_participants_on_connect - :rtype: bool - """ - return self._properties['record_participants_on_connect'] - - @property - def video_codecs(self): - """ - :returns: The video_codecs - :rtype: RoomInstance.VideoCodec - """ - return self._properties['video_codecs'] - - @property - def media_region(self): - """ - :returns: The media_region - :rtype: unicode - """ - return self._properties['media_region'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a RoomInstance - - :returns: Fetched RoomInstance - :rtype: twilio.rest.video.v1.room.RoomInstance - """ - return self._proxy.fetch() - - def update(self, status): - """ - Update the RoomInstance - - :param RoomInstance.RoomStatus status: The status - - :returns: Updated RoomInstance - :rtype: twilio.rest.video.v1.room.RoomInstance - """ - return self._proxy.update(status, ) - - @property - def recordings(self): - """ - Access the recordings - - :returns: twilio.rest.video.v1.room.recording.RoomRecordingList - :rtype: twilio.rest.video.v1.room.recording.RoomRecordingList - """ - return self._proxy.recordings - - @property - def participants(self): - """ - Access the participants - - :returns: twilio.rest.video.v1.room.room_participant.ParticipantList - :rtype: twilio.rest.video.v1.room.room_participant.ParticipantList - """ - return self._proxy.participants - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Video.V1.RoomInstance {}>'.format(context) diff --git a/twilio/rest/video/v1/room/__pycache__/__init__.cpython-36.pyc b/twilio/rest/video/v1/room/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 236fe2fc48c33435919f29cc2016b7364f2c0d77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19825 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 RzLw_Ze><}}|HAzD{}*y(jv@d6 diff --git a/twilio/rest/video/v1/room/recording/__init__.py b/twilio/rest/video/v1/room/recording/__init__.py deleted file mode 100644 index d88879a..0000000 --- a/twilio/rest/video/v1/room/recording/__init__.py +++ /dev/null @@ -1,483 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class RoomRecordingList(ListResource): - """ """ - - def __init__(self, version, room_sid): - """ - Initialize the RoomRecordingList - - :param Version version: Version that contains the resource - :param room_sid: The room_sid - - :returns: twilio.rest.video.v1.room.recording.RoomRecordingList - :rtype: twilio.rest.video.v1.room.recording.RoomRecordingList - """ - super(RoomRecordingList, self).__init__(version) - - # Path Solution - self._solution = {'room_sid': room_sid, } - self._uri = '/Rooms/{room_sid}/Recordings'.format(**self._solution) - - def stream(self, status=values.unset, source_sid=values.unset, - date_created_after=values.unset, date_created_before=values.unset, - limit=None, page_size=None): - """ - Streams RoomRecordingInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param RoomRecordingInstance.Status status: The status - :param unicode source_sid: The source_sid - :param datetime date_created_after: The date_created_after - :param datetime date_created_before: The date_created_before - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.video.v1.room.recording.RoomRecordingInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - status=status, - source_sid=source_sid, - date_created_after=date_created_after, - date_created_before=date_created_before, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, status=values.unset, source_sid=values.unset, - date_created_after=values.unset, date_created_before=values.unset, - limit=None, page_size=None): - """ - Lists RoomRecordingInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param RoomRecordingInstance.Status status: The status - :param unicode source_sid: The source_sid - :param datetime date_created_after: The date_created_after - :param datetime date_created_before: The date_created_before - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.video.v1.room.recording.RoomRecordingInstance] - """ - return list(self.stream( - status=status, - source_sid=source_sid, - date_created_after=date_created_after, - date_created_before=date_created_before, - limit=limit, - page_size=page_size, - )) - - def page(self, status=values.unset, source_sid=values.unset, - date_created_after=values.unset, date_created_before=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of RoomRecordingInstance records from the API. - Request is executed immediately - - :param RoomRecordingInstance.Status status: The status - :param unicode source_sid: The source_sid - :param datetime date_created_after: The date_created_after - :param datetime date_created_before: The date_created_before - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of RoomRecordingInstance - :rtype: twilio.rest.video.v1.room.recording.RoomRecordingPage - """ - params = values.of({ - 'Status': status, - 'SourceSid': source_sid, - 'DateCreatedAfter': serialize.iso8601_datetime(date_created_after), - 'DateCreatedBefore': serialize.iso8601_datetime(date_created_before), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return RoomRecordingPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of RoomRecordingInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of RoomRecordingInstance - :rtype: twilio.rest.video.v1.room.recording.RoomRecordingPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return RoomRecordingPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a RoomRecordingContext - - :param sid: The sid - - :returns: twilio.rest.video.v1.room.recording.RoomRecordingContext - :rtype: twilio.rest.video.v1.room.recording.RoomRecordingContext - """ - return RoomRecordingContext(self._version, room_sid=self._solution['room_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a RoomRecordingContext - - :param sid: The sid - - :returns: twilio.rest.video.v1.room.recording.RoomRecordingContext - :rtype: twilio.rest.video.v1.room.recording.RoomRecordingContext - """ - return RoomRecordingContext(self._version, room_sid=self._solution['room_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Video.V1.RoomRecordingList>' - - -class RoomRecordingPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the RoomRecordingPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param room_sid: The room_sid - - :returns: twilio.rest.video.v1.room.recording.RoomRecordingPage - :rtype: twilio.rest.video.v1.room.recording.RoomRecordingPage - """ - super(RoomRecordingPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of RoomRecordingInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.video.v1.room.recording.RoomRecordingInstance - :rtype: twilio.rest.video.v1.room.recording.RoomRecordingInstance - """ - return RoomRecordingInstance(self._version, payload, room_sid=self._solution['room_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Video.V1.RoomRecordingPage>' - - -class RoomRecordingContext(InstanceContext): - """ """ - - def __init__(self, version, room_sid, sid): - """ - Initialize the RoomRecordingContext - - :param Version version: Version that contains the resource - :param room_sid: The room_sid - :param sid: The sid - - :returns: twilio.rest.video.v1.room.recording.RoomRecordingContext - :rtype: twilio.rest.video.v1.room.recording.RoomRecordingContext - """ - super(RoomRecordingContext, self).__init__(version) - - # Path Solution - self._solution = {'room_sid': room_sid, 'sid': sid, } - self._uri = '/Rooms/{room_sid}/Recordings/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a RoomRecordingInstance - - :returns: Fetched RoomRecordingInstance - :rtype: twilio.rest.video.v1.room.recording.RoomRecordingInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return RoomRecordingInstance( - self._version, - payload, - room_sid=self._solution['room_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Video.V1.RoomRecordingContext {}>'.format(context) - - -class RoomRecordingInstance(InstanceResource): - """ """ - - class Status(object): - PROCESSING = "processing" - COMPLETED = "completed" - DELETED = "deleted" - FAILED = "failed" - - class Type(object): - AUDIO = "audio" - VIDEO = "video" - DATA = "data" - - class Format(object): - MKA = "mka" - MKV = "mkv" - - class Codec(object): - VP8 = "VP8" - H264 = "H264" - OPUS = "OPUS" - PCMU = "PCMU" - - def __init__(self, version, payload, room_sid, sid=None): - """ - Initialize the RoomRecordingInstance - - :returns: twilio.rest.video.v1.room.recording.RoomRecordingInstance - :rtype: twilio.rest.video.v1.room.recording.RoomRecordingInstance - """ - super(RoomRecordingInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'account_sid': payload['account_sid'], - 'status': payload['status'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'sid': payload['sid'], - 'source_sid': payload['source_sid'], - 'size': deserialize.integer(payload['size']), - 'type': payload['type'], - 'duration': deserialize.integer(payload['duration']), - 'container_format': payload['container_format'], - 'codec': payload['codec'], - 'grouping_sids': payload['grouping_sids'], - 'room_sid': payload['room_sid'], - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'room_sid': room_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: RoomRecordingContext for this RoomRecordingInstance - :rtype: twilio.rest.video.v1.room.recording.RoomRecordingContext - """ - if self._context is None: - self._context = RoomRecordingContext( - self._version, - room_sid=self._solution['room_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def status(self): - """ - :returns: The status - :rtype: RoomRecordingInstance.Status - """ - return self._properties['status'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def source_sid(self): - """ - :returns: The source_sid - :rtype: unicode - """ - return self._properties['source_sid'] - - @property - def size(self): - """ - :returns: The size - :rtype: unicode - """ - return self._properties['size'] - - @property - def type(self): - """ - :returns: The type - :rtype: RoomRecordingInstance.Type - """ - return self._properties['type'] - - @property - def duration(self): - """ - :returns: The duration - :rtype: unicode - """ - return self._properties['duration'] - - @property - def container_format(self): - """ - :returns: The container_format - :rtype: RoomRecordingInstance.Format - """ - return self._properties['container_format'] - - @property - def codec(self): - """ - :returns: The codec - :rtype: RoomRecordingInstance.Codec - """ - return self._properties['codec'] - - @property - def grouping_sids(self): - """ - :returns: The grouping_sids - :rtype: dict - """ - return self._properties['grouping_sids'] - - @property - def room_sid(self): - """ - :returns: The room_sid - :rtype: unicode - """ - return self._properties['room_sid'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a RoomRecordingInstance - - :returns: Fetched RoomRecordingInstance - :rtype: twilio.rest.video.v1.room.recording.RoomRecordingInstance - """ - return self._proxy.fetch() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Video.V1.RoomRecordingInstance {}>'.format(context) diff --git a/twilio/rest/video/v1/room/recording/__pycache__/__init__.cpython-36.pyc b/twilio/rest/video/v1/room/recording/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 6da23e0c00a5cd40796e00e8cf612befbf866f87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16618 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 F{{dO6q%r^i diff --git a/twilio/rest/video/v1/room/room_participant/__init__.py b/twilio/rest/video/v1/room/room_participant/__init__.py deleted file mode 100644 index aa61889..0000000 --- a/twilio/rest/video/v1/room/room_participant/__init__.py +++ /dev/null @@ -1,541 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.video.v1.room.room_participant.room_participant_published_track import PublishedTrackList -from twilio.rest.video.v1.room.room_participant.room_participant_subscribed_track import SubscribedTrackList - - -class ParticipantList(ListResource): - """ """ - - def __init__(self, version, room_sid): - """ - Initialize the ParticipantList - - :param Version version: Version that contains the resource - :param room_sid: The room_sid - - :returns: twilio.rest.video.v1.room.room_participant.ParticipantList - :rtype: twilio.rest.video.v1.room.room_participant.ParticipantList - """ - super(ParticipantList, self).__init__(version) - - # Path Solution - self._solution = {'room_sid': room_sid, } - self._uri = '/Rooms/{room_sid}/Participants'.format(**self._solution) - - def stream(self, status=values.unset, identity=values.unset, - date_created_after=values.unset, date_created_before=values.unset, - limit=None, page_size=None): - """ - Streams ParticipantInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param ParticipantInstance.Status status: The status - :param unicode identity: The identity - :param datetime date_created_after: The date_created_after - :param datetime date_created_before: The date_created_before - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.video.v1.room.room_participant.ParticipantInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - status=status, - identity=identity, - date_created_after=date_created_after, - date_created_before=date_created_before, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, status=values.unset, identity=values.unset, - date_created_after=values.unset, date_created_before=values.unset, - limit=None, page_size=None): - """ - Lists ParticipantInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param ParticipantInstance.Status status: The status - :param unicode identity: The identity - :param datetime date_created_after: The date_created_after - :param datetime date_created_before: The date_created_before - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.video.v1.room.room_participant.ParticipantInstance] - """ - return list(self.stream( - status=status, - identity=identity, - date_created_after=date_created_after, - date_created_before=date_created_before, - limit=limit, - page_size=page_size, - )) - - def page(self, status=values.unset, identity=values.unset, - date_created_after=values.unset, date_created_before=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of ParticipantInstance records from the API. - Request is executed immediately - - :param ParticipantInstance.Status status: The status - :param unicode identity: The identity - :param datetime date_created_after: The date_created_after - :param datetime date_created_before: The date_created_before - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of ParticipantInstance - :rtype: twilio.rest.video.v1.room.room_participant.ParticipantPage - """ - params = values.of({ - 'Status': status, - 'Identity': identity, - 'DateCreatedAfter': serialize.iso8601_datetime(date_created_after), - 'DateCreatedBefore': serialize.iso8601_datetime(date_created_before), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return ParticipantPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of ParticipantInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of ParticipantInstance - :rtype: twilio.rest.video.v1.room.room_participant.ParticipantPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return ParticipantPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a ParticipantContext - - :param sid: The sid - - :returns: twilio.rest.video.v1.room.room_participant.ParticipantContext - :rtype: twilio.rest.video.v1.room.room_participant.ParticipantContext - """ - return ParticipantContext(self._version, room_sid=self._solution['room_sid'], sid=sid, ) - - def __call__(self, sid): - """ - Constructs a ParticipantContext - - :param sid: The sid - - :returns: twilio.rest.video.v1.room.room_participant.ParticipantContext - :rtype: twilio.rest.video.v1.room.room_participant.ParticipantContext - """ - return ParticipantContext(self._version, room_sid=self._solution['room_sid'], sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Video.V1.ParticipantList>' - - -class ParticipantPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the ParticipantPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param room_sid: The room_sid - - :returns: twilio.rest.video.v1.room.room_participant.ParticipantPage - :rtype: twilio.rest.video.v1.room.room_participant.ParticipantPage - """ - super(ParticipantPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of ParticipantInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.video.v1.room.room_participant.ParticipantInstance - :rtype: twilio.rest.video.v1.room.room_participant.ParticipantInstance - """ - return ParticipantInstance(self._version, payload, room_sid=self._solution['room_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Video.V1.ParticipantPage>' - - -class ParticipantContext(InstanceContext): - """ """ - - def __init__(self, version, room_sid, sid): - """ - Initialize the ParticipantContext - - :param Version version: Version that contains the resource - :param room_sid: The room_sid - :param sid: The sid - - :returns: twilio.rest.video.v1.room.room_participant.ParticipantContext - :rtype: twilio.rest.video.v1.room.room_participant.ParticipantContext - """ - super(ParticipantContext, self).__init__(version) - - # Path Solution - self._solution = {'room_sid': room_sid, 'sid': sid, } - self._uri = '/Rooms/{room_sid}/Participants/{sid}'.format(**self._solution) - - # Dependents - self._published_tracks = None - self._subscribed_tracks = None - - def fetch(self): - """ - Fetch a ParticipantInstance - - :returns: Fetched ParticipantInstance - :rtype: twilio.rest.video.v1.room.room_participant.ParticipantInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return ParticipantInstance( - self._version, - payload, - room_sid=self._solution['room_sid'], - sid=self._solution['sid'], - ) - - def update(self, status=values.unset): - """ - Update the ParticipantInstance - - :param ParticipantInstance.Status status: The status - - :returns: Updated ParticipantInstance - :rtype: twilio.rest.video.v1.room.room_participant.ParticipantInstance - """ - data = values.of({'Status': status, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return ParticipantInstance( - self._version, - payload, - room_sid=self._solution['room_sid'], - sid=self._solution['sid'], - ) - - @property - def published_tracks(self): - """ - Access the published_tracks - - :returns: twilio.rest.video.v1.room.room_participant.room_participant_published_track.PublishedTrackList - :rtype: twilio.rest.video.v1.room.room_participant.room_participant_published_track.PublishedTrackList - """ - if self._published_tracks is None: - self._published_tracks = PublishedTrackList( - self._version, - room_sid=self._solution['room_sid'], - participant_sid=self._solution['sid'], - ) - return self._published_tracks - - @property - def subscribed_tracks(self): - """ - Access the subscribed_tracks - - :returns: twilio.rest.video.v1.room.room_participant.room_participant_subscribed_track.SubscribedTrackList - :rtype: twilio.rest.video.v1.room.room_participant.room_participant_subscribed_track.SubscribedTrackList - """ - if self._subscribed_tracks is None: - self._subscribed_tracks = SubscribedTrackList( - self._version, - room_sid=self._solution['room_sid'], - subscriber_sid=self._solution['sid'], - ) - return self._subscribed_tracks - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Video.V1.ParticipantContext {}>'.format(context) - - -class ParticipantInstance(InstanceResource): - """ """ - - class Status(object): - CONNECTED = "connected" - DISCONNECTED = "disconnected" - - def __init__(self, version, payload, room_sid, sid=None): - """ - Initialize the ParticipantInstance - - :returns: twilio.rest.video.v1.room.room_participant.ParticipantInstance - :rtype: twilio.rest.video.v1.room.room_participant.ParticipantInstance - """ - super(ParticipantInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'room_sid': payload['room_sid'], - 'account_sid': payload['account_sid'], - 'status': payload['status'], - 'identity': payload['identity'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'start_time': deserialize.iso8601_datetime(payload['start_time']), - 'end_time': deserialize.iso8601_datetime(payload['end_time']), - 'duration': deserialize.integer(payload['duration']), - 'url': payload['url'], - 'links': payload['links'], - } - - # Context - self._context = None - self._solution = {'room_sid': room_sid, 'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: ParticipantContext for this ParticipantInstance - :rtype: twilio.rest.video.v1.room.room_participant.ParticipantContext - """ - if self._context is None: - self._context = ParticipantContext( - self._version, - room_sid=self._solution['room_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def room_sid(self): - """ - :returns: The room_sid - :rtype: unicode - """ - return self._properties['room_sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def status(self): - """ - :returns: The status - :rtype: ParticipantInstance.Status - """ - return self._properties['status'] - - @property - def identity(self): - """ - :returns: The identity - :rtype: unicode - """ - return self._properties['identity'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def start_time(self): - """ - :returns: The start_time - :rtype: datetime - """ - return self._properties['start_time'] - - @property - def end_time(self): - """ - :returns: The end_time - :rtype: datetime - """ - return self._properties['end_time'] - - @property - def duration(self): - """ - :returns: The duration - :rtype: unicode - """ - return self._properties['duration'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - def fetch(self): - """ - Fetch a ParticipantInstance - - :returns: Fetched ParticipantInstance - :rtype: twilio.rest.video.v1.room.room_participant.ParticipantInstance - """ - return self._proxy.fetch() - - def update(self, status=values.unset): - """ - Update the ParticipantInstance - - :param ParticipantInstance.Status status: The status - - :returns: Updated ParticipantInstance - :rtype: twilio.rest.video.v1.room.room_participant.ParticipantInstance - """ - return self._proxy.update(status=status, ) - - @property - def published_tracks(self): - """ - Access the published_tracks - - :returns: twilio.rest.video.v1.room.room_participant.room_participant_published_track.PublishedTrackList - :rtype: twilio.rest.video.v1.room.room_participant.room_participant_published_track.PublishedTrackList - """ - return self._proxy.published_tracks - - @property - def subscribed_tracks(self): - """ - Access the subscribed_tracks - - :returns: twilio.rest.video.v1.room.room_participant.room_participant_subscribed_track.SubscribedTrackList - :rtype: twilio.rest.video.v1.room.room_participant.room_participant_subscribed_track.SubscribedTrackList - """ - return self._proxy.subscribed_tracks - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Video.V1.ParticipantInstance {}>'.format(context) diff --git a/twilio/rest/video/v1/room/room_participant/__pycache__/__init__.cpython-36.pyc b/twilio/rest/video/v1/room/room_participant/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 4c18a017e6720e7528d69b20e749e3343fe90b81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18582 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 azCbJHBw(Z^%Q$FK%U1tTTd1C{e)d1`A}gK% diff --git a/twilio/rest/video/v1/room/room_participant/__pycache__/room_participant_published_track.cpython-36.pyc b/twilio/rest/video/v1/room/room_participant/__pycache__/room_participant_published_track.cpython-36.pyc deleted file mode 100644 index 9fa7fd4b2ac2d53af2bca0fe8cb8a7381287764d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14984 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 diff --git a/twilio/rest/video/v1/room/room_participant/__pycache__/room_participant_subscribed_track.cpython-36.pyc b/twilio/rest/video/v1/room/room_participant/__pycache__/room_participant_subscribed_track.cpython-36.pyc deleted file mode 100644 index 72838cfdd944223d3d2a99251938768c452f149d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13029 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 B#P|RJ diff --git a/twilio/rest/video/v1/room/room_participant/room_participant_published_track.py b/twilio/rest/video/v1/room/room_participant/room_participant_published_track.py deleted file mode 100644 index 2e07efd..0000000 --- a/twilio/rest/video/v1/room/room_participant/room_participant_published_track.py +++ /dev/null @@ -1,406 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class PublishedTrackList(ListResource): - """ """ - - def __init__(self, version, room_sid, participant_sid): - """ - Initialize the PublishedTrackList - - :param Version version: Version that contains the resource - :param room_sid: The room_sid - :param participant_sid: The participant_sid - - :returns: twilio.rest.video.v1.room.room_participant.room_participant_published_track.PublishedTrackList - :rtype: twilio.rest.video.v1.room.room_participant.room_participant_published_track.PublishedTrackList - """ - super(PublishedTrackList, self).__init__(version) - - # Path Solution - self._solution = {'room_sid': room_sid, 'participant_sid': participant_sid, } - self._uri = '/Rooms/{room_sid}/Participants/{participant_sid}/PublishedTracks'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams PublishedTrackInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.video.v1.room.room_participant.room_participant_published_track.PublishedTrackInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists PublishedTrackInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.video.v1.room.room_participant.room_participant_published_track.PublishedTrackInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of PublishedTrackInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of PublishedTrackInstance - :rtype: twilio.rest.video.v1.room.room_participant.room_participant_published_track.PublishedTrackPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return PublishedTrackPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of PublishedTrackInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of PublishedTrackInstance - :rtype: twilio.rest.video.v1.room.room_participant.room_participant_published_track.PublishedTrackPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return PublishedTrackPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a PublishedTrackContext - - :param sid: The sid - - :returns: twilio.rest.video.v1.room.room_participant.room_participant_published_track.PublishedTrackContext - :rtype: twilio.rest.video.v1.room.room_participant.room_participant_published_track.PublishedTrackContext - """ - return PublishedTrackContext( - self._version, - room_sid=self._solution['room_sid'], - participant_sid=self._solution['participant_sid'], - sid=sid, - ) - - def __call__(self, sid): - """ - Constructs a PublishedTrackContext - - :param sid: The sid - - :returns: twilio.rest.video.v1.room.room_participant.room_participant_published_track.PublishedTrackContext - :rtype: twilio.rest.video.v1.room.room_participant.room_participant_published_track.PublishedTrackContext - """ - return PublishedTrackContext( - self._version, - room_sid=self._solution['room_sid'], - participant_sid=self._solution['participant_sid'], - sid=sid, - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Video.V1.PublishedTrackList>' - - -class PublishedTrackPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the PublishedTrackPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param room_sid: The room_sid - :param participant_sid: The participant_sid - - :returns: twilio.rest.video.v1.room.room_participant.room_participant_published_track.PublishedTrackPage - :rtype: twilio.rest.video.v1.room.room_participant.room_participant_published_track.PublishedTrackPage - """ - super(PublishedTrackPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of PublishedTrackInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.video.v1.room.room_participant.room_participant_published_track.PublishedTrackInstance - :rtype: twilio.rest.video.v1.room.room_participant.room_participant_published_track.PublishedTrackInstance - """ - return PublishedTrackInstance( - self._version, - payload, - room_sid=self._solution['room_sid'], - participant_sid=self._solution['participant_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Video.V1.PublishedTrackPage>' - - -class PublishedTrackContext(InstanceContext): - """ """ - - def __init__(self, version, room_sid, participant_sid, sid): - """ - Initialize the PublishedTrackContext - - :param Version version: Version that contains the resource - :param room_sid: The room_sid - :param participant_sid: The participant_sid - :param sid: The sid - - :returns: twilio.rest.video.v1.room.room_participant.room_participant_published_track.PublishedTrackContext - :rtype: twilio.rest.video.v1.room.room_participant.room_participant_published_track.PublishedTrackContext - """ - super(PublishedTrackContext, self).__init__(version) - - # Path Solution - self._solution = {'room_sid': room_sid, 'participant_sid': participant_sid, 'sid': sid, } - self._uri = '/Rooms/{room_sid}/Participants/{participant_sid}/PublishedTracks/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a PublishedTrackInstance - - :returns: Fetched PublishedTrackInstance - :rtype: twilio.rest.video.v1.room.room_participant.room_participant_published_track.PublishedTrackInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return PublishedTrackInstance( - self._version, - payload, - room_sid=self._solution['room_sid'], - participant_sid=self._solution['participant_sid'], - sid=self._solution['sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Video.V1.PublishedTrackContext {}>'.format(context) - - -class PublishedTrackInstance(InstanceResource): - """ """ - - class Kind(object): - AUDIO = "audio" - VIDEO = "video" - DATA = "data" - - def __init__(self, version, payload, room_sid, participant_sid, sid=None): - """ - Initialize the PublishedTrackInstance - - :returns: twilio.rest.video.v1.room.room_participant.room_participant_published_track.PublishedTrackInstance - :rtype: twilio.rest.video.v1.room.room_participant.room_participant_published_track.PublishedTrackInstance - """ - super(PublishedTrackInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'participant_sid': payload['participant_sid'], - 'room_sid': payload['room_sid'], - 'name': payload['name'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'enabled': payload['enabled'], - 'kind': payload['kind'], - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = { - 'room_sid': room_sid, - 'participant_sid': participant_sid, - 'sid': sid or self._properties['sid'], - } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: PublishedTrackContext for this PublishedTrackInstance - :rtype: twilio.rest.video.v1.room.room_participant.room_participant_published_track.PublishedTrackContext - """ - if self._context is None: - self._context = PublishedTrackContext( - self._version, - room_sid=self._solution['room_sid'], - participant_sid=self._solution['participant_sid'], - sid=self._solution['sid'], - ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def participant_sid(self): - """ - :returns: The participant_sid - :rtype: unicode - """ - return self._properties['participant_sid'] - - @property - def room_sid(self): - """ - :returns: The room_sid - :rtype: unicode - """ - return self._properties['room_sid'] - - @property - def name(self): - """ - :returns: The name - :rtype: unicode - """ - return self._properties['name'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def enabled(self): - """ - :returns: The enabled - :rtype: bool - """ - return self._properties['enabled'] - - @property - def kind(self): - """ - :returns: The kind - :rtype: PublishedTrackInstance.Kind - """ - return self._properties['kind'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a PublishedTrackInstance - - :returns: Fetched PublishedTrackInstance - :rtype: twilio.rest.video.v1.room.room_participant.room_participant_published_track.PublishedTrackInstance - """ - return self._proxy.fetch() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Video.V1.PublishedTrackInstance {}>'.format(context) diff --git a/twilio/rest/video/v1/room/room_participant/room_participant_subscribed_track.py b/twilio/rest/video/v1/room/room_participant/room_participant_subscribed_track.py deleted file mode 100644 index 0f21fc2..0000000 --- a/twilio/rest/video/v1/room/room_participant/room_participant_subscribed_track.py +++ /dev/null @@ -1,365 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class SubscribedTrackList(ListResource): - """ """ - - def __init__(self, version, room_sid, subscriber_sid): - """ - Initialize the SubscribedTrackList - - :param Version version: Version that contains the resource - :param room_sid: The room_sid - :param subscriber_sid: The subscriber_sid - - :returns: twilio.rest.video.v1.room.room_participant.room_participant_subscribed_track.SubscribedTrackList - :rtype: twilio.rest.video.v1.room.room_participant.room_participant_subscribed_track.SubscribedTrackList - """ - super(SubscribedTrackList, self).__init__(version) - - # Path Solution - self._solution = {'room_sid': room_sid, 'subscriber_sid': subscriber_sid, } - self._uri = '/Rooms/{room_sid}/Participants/{subscriber_sid}/SubscribedTracks'.format(**self._solution) - - def stream(self, date_created_after=values.unset, - date_created_before=values.unset, track=values.unset, - publisher=values.unset, kind=values.unset, limit=None, - page_size=None): - """ - Streams SubscribedTrackInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param datetime date_created_after: The date_created_after - :param datetime date_created_before: The date_created_before - :param unicode track: The track - :param unicode publisher: The publisher - :param SubscribedTrackInstance.Kind kind: The kind - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.video.v1.room.room_participant.room_participant_subscribed_track.SubscribedTrackInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - date_created_after=date_created_after, - date_created_before=date_created_before, - track=track, - publisher=publisher, - kind=kind, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, date_created_after=values.unset, - date_created_before=values.unset, track=values.unset, - publisher=values.unset, kind=values.unset, limit=None, page_size=None): - """ - Lists SubscribedTrackInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param datetime date_created_after: The date_created_after - :param datetime date_created_before: The date_created_before - :param unicode track: The track - :param unicode publisher: The publisher - :param SubscribedTrackInstance.Kind kind: The kind - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.video.v1.room.room_participant.room_participant_subscribed_track.SubscribedTrackInstance] - """ - return list(self.stream( - date_created_after=date_created_after, - date_created_before=date_created_before, - track=track, - publisher=publisher, - kind=kind, - limit=limit, - page_size=page_size, - )) - - def page(self, date_created_after=values.unset, - date_created_before=values.unset, track=values.unset, - publisher=values.unset, kind=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of SubscribedTrackInstance records from the API. - Request is executed immediately - - :param datetime date_created_after: The date_created_after - :param datetime date_created_before: The date_created_before - :param unicode track: The track - :param unicode publisher: The publisher - :param SubscribedTrackInstance.Kind kind: The kind - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of SubscribedTrackInstance - :rtype: twilio.rest.video.v1.room.room_participant.room_participant_subscribed_track.SubscribedTrackPage - """ - params = values.of({ - 'DateCreatedAfter': serialize.iso8601_datetime(date_created_after), - 'DateCreatedBefore': serialize.iso8601_datetime(date_created_before), - 'Track': track, - 'Publisher': publisher, - 'Kind': kind, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return SubscribedTrackPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of SubscribedTrackInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of SubscribedTrackInstance - :rtype: twilio.rest.video.v1.room.room_participant.room_participant_subscribed_track.SubscribedTrackPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return SubscribedTrackPage(self._version, response, self._solution) - - def update(self, track=values.unset, publisher=values.unset, kind=values.unset, - status=values.unset): - """ - Update the SubscribedTrackInstance - - :param unicode track: The track - :param unicode publisher: The publisher - :param SubscribedTrackInstance.Kind kind: The kind - :param SubscribedTrackInstance.Status status: The status - - :returns: Updated SubscribedTrackInstance - :rtype: twilio.rest.video.v1.room.room_participant.room_participant_subscribed_track.SubscribedTrackInstance - """ - data = values.of({'Track': track, 'Publisher': publisher, 'Kind': kind, 'Status': status, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return SubscribedTrackInstance( - self._version, - payload, - room_sid=self._solution['room_sid'], - subscriber_sid=self._solution['subscriber_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Video.V1.SubscribedTrackList>' - - -class SubscribedTrackPage(Page): - """ """ - - def __init__(self, version, response, solution): - """ - Initialize the SubscribedTrackPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param room_sid: The room_sid - :param subscriber_sid: The subscriber_sid - - :returns: twilio.rest.video.v1.room.room_participant.room_participant_subscribed_track.SubscribedTrackPage - :rtype: twilio.rest.video.v1.room.room_participant.room_participant_subscribed_track.SubscribedTrackPage - """ - super(SubscribedTrackPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of SubscribedTrackInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.video.v1.room.room_participant.room_participant_subscribed_track.SubscribedTrackInstance - :rtype: twilio.rest.video.v1.room.room_participant.room_participant_subscribed_track.SubscribedTrackInstance - """ - return SubscribedTrackInstance( - self._version, - payload, - room_sid=self._solution['room_sid'], - subscriber_sid=self._solution['subscriber_sid'], - ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Video.V1.SubscribedTrackPage>' - - -class SubscribedTrackInstance(InstanceResource): - """ """ - - class Kind(object): - AUDIO = "audio" - VIDEO = "video" - DATA = "data" - - class Status(object): - SUBSCRIBE = "subscribe" - UNSUBSCRIBE = "unsubscribe" - - def __init__(self, version, payload, room_sid, subscriber_sid): - """ - Initialize the SubscribedTrackInstance - - :returns: twilio.rest.video.v1.room.room_participant.room_participant_subscribed_track.SubscribedTrackInstance - :rtype: twilio.rest.video.v1.room.room_participant.room_participant_subscribed_track.SubscribedTrackInstance - """ - super(SubscribedTrackInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'room_sid': payload['room_sid'], - 'name': payload['name'], - 'publisher_sid': payload['publisher_sid'], - 'subscriber_sid': payload['subscriber_sid'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'enabled': payload['enabled'], - 'kind': payload['kind'], - } - - # Context - self._context = None - self._solution = {'room_sid': room_sid, 'subscriber_sid': subscriber_sid, } - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def room_sid(self): - """ - :returns: The room_sid - :rtype: unicode - """ - return self._properties['room_sid'] - - @property - def name(self): - """ - :returns: The name - :rtype: unicode - """ - return self._properties['name'] - - @property - def publisher_sid(self): - """ - :returns: The publisher_sid - :rtype: unicode - """ - return self._properties['publisher_sid'] - - @property - def subscriber_sid(self): - """ - :returns: The subscriber_sid - :rtype: unicode - """ - return self._properties['subscriber_sid'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def enabled(self): - """ - :returns: The enabled - :rtype: bool - """ - return self._properties['enabled'] - - @property - def kind(self): - """ - :returns: The kind - :rtype: SubscribedTrackInstance.Kind - """ - return self._properties['kind'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Video.V1.SubscribedTrackInstance>' diff --git a/twilio/rest/wireless/__init__.py b/twilio/rest/wireless/__init__.py deleted file mode 100644 index 36f1de3..0000000 --- a/twilio/rest/wireless/__init__.py +++ /dev/null @@ -1,67 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.domain import Domain -from twilio.rest.wireless.v1 import V1 - - -class Wireless(Domain): - - def __init__(self, twilio): - """ - Initialize the Wireless Domain - - :returns: Domain for Wireless - :rtype: twilio.rest.wireless.Wireless - """ - super(Wireless, self).__init__(twilio) - - self.base_url = 'https://wireless.twilio.com' - - # Versions - self._v1 = None - - @property - def v1(self): - """ - :returns: Version v1 of wireless - :rtype: twilio.rest.wireless.v1.V1 - """ - if self._v1 is None: - self._v1 = V1(self) - return self._v1 - - @property - def commands(self): - """ - :rtype: twilio.rest.wireless.v1.command.CommandList - """ - return self.v1.commands - - @property - def rate_plans(self): - """ - :rtype: twilio.rest.wireless.v1.rate_plan.RatePlanList - """ - return self.v1.rate_plans - - @property - def sims(self): - """ - :rtype: twilio.rest.wireless.v1.sim.SimList - """ - return self.v1.sims - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Wireless>' diff --git a/twilio/rest/wireless/__pycache__/__init__.cpython-36.pyc b/twilio/rest/wireless/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 00906d29363dc6fb7368775a6f5f6607d88cc6f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2014 zcma)7OK&4Z5bk-{o=ogzvmhaXkorb^*m0~C7c090Wf34P(ZYrxjb_!FOt<lbdC@&~ z<dJU)+F!t#Grxrk=ecs?FL0u2UhzuKlD4|~v%9+ctFG$LPevpA&%b_mf9nzQH`!_? z;Lo9}BQTt}glk-nv{-j_4Y3g!vFVx``HFCp_ihO93H{n|d%XXOj0c5ppDjW~gOm$; z<tzG=NQCrr!Rf`?_UME%3Jna~G^0&7^pK6c37A8+@g^I(Ih=sUYU&(0M>hIXSXj4- z{SOc$W3B8zPh&q!0O{w`0Do+o(ExP@KoD1hIP^DUu3;=UmTL%;8{E7h*P7b{4BRW+ z2Rz_bg$IE5xLsk3@AKgearfR3lejj-IV!CmLn$JmRG>Gf;fN<=R}@T6a&1Gd^-F!D zU2AxI8^R2(gEhGhyBNi<O>~rglZ1KbM`0moz7VwCoz_9xo!?A~d?^z(Yi8&?m7VvN zSH8}~jOJHi6sC?8DtE3L!cMz)=Usff$n#9iCX>#mSs0}8>9|++)G`xNVr`TbV<B*5 zth6qCCD>9%rNLIyv0j==M02-auZ6tqF&0F=QjGmU{(XHi^L|i5D(}0{UHGZ@MV3AH zbKiTB27ct7i8%AJFnfHl3?u&diHg$sT3vbdX6=B1cr8h<W#VLO*#~a#L01UK;Gy0( zii0*%r}YdpoP~xXChP>d`UuR1Ttb3=w&Vv@(lAxkZ;&Rvc->vq?e(8SC}EmFmC|%h zTTWY!@5lgD_W87PJss=P0tyl<XROIR#QU8Y0xI>@^b;8C==!#1YsG#S-D>()To_vw z7jBAiU1|`8R(#o=IFs)t2WgM}ggYno_##w!w-(5bkdf6msojj_1918jx~kqsZz~z? z!h4bax;yy)NTbTIEb<fQdq6J%?Bs2Ces?j)GIF+<zu#T-?b3U3e|m53DvX_1VZ4*D z36pnGeF!u^+oC$^sN$mCB=Hq<tO&g*I)X1{x(Y$EeL9z+NO-iSQe^PlM3VbC)cGz2 z`qmE?VIuBa(nvOKGpBOd9atP3pVi{jQhrv|{O)Q()j>Xt9e2?Vwo0m<9q*%O;>QB? z$!080`7%O0WbBuvAJsFJSd>;KQ&6>hUDb0{uM$%)@lxdhm~zwzSRkSZj_BSbkhIYW zpJt_s_#za3v-IJEp*<Ynr<yq(_saoeJPjCgA2qUy!s+np?@QwIa6fD&-WKZBw338s apWDN0RH=e>TnG4Ufajy~nfg#08vg;6Mdu6v diff --git a/twilio/rest/wireless/v1/__init__.py b/twilio/rest/wireless/v1/__init__.py deleted file mode 100644 index 7ed77cd..0000000 --- a/twilio/rest/wireless/v1/__init__.py +++ /dev/null @@ -1,64 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base.version import Version -from twilio.rest.wireless.v1.command import CommandList -from twilio.rest.wireless.v1.rate_plan import RatePlanList -from twilio.rest.wireless.v1.sim import SimList - - -class V1(Version): - - def __init__(self, domain): - """ - Initialize the V1 version of Wireless - - :returns: V1 version of Wireless - :rtype: twilio.rest.wireless.v1.V1.V1 - """ - super(V1, self).__init__(domain) - self.version = 'v1' - self._commands = None - self._rate_plans = None - self._sims = None - - @property - def commands(self): - """ - :rtype: twilio.rest.wireless.v1.command.CommandList - """ - if self._commands is None: - self._commands = CommandList(self) - return self._commands - - @property - def rate_plans(self): - """ - :rtype: twilio.rest.wireless.v1.rate_plan.RatePlanList - """ - if self._rate_plans is None: - self._rate_plans = RatePlanList(self) - return self._rate_plans - - @property - def sims(self): - """ - :rtype: twilio.rest.wireless.v1.sim.SimList - """ - if self._sims is None: - self._sims = SimList(self) - return self._sims - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Wireless.V1>' diff --git a/twilio/rest/wireless/v1/__pycache__/__init__.cpython-36.pyc b/twilio/rest/wireless/v1/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index c12d8b053ee3a9f4d0e517da6716a8ada1c84713..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1992 zcmbVM&5zqe6d!*icAP{Mx?Dhl;lxH_osD`TDivr!6sfEVT^7l*H1&EWtc$;xak5I3 z+pg3je*$Oz7A~B9<;1_hiTB2iyHrFgb!<PsvER)6e(&qSc<lZ0=WoGLpOC-Etzm=y zIXvny2u=dR4Q{4JW(KB#x|Ld)9oSm8(_YpO`daU$PUZ%#LB1xu&z&2>9bsNu!GOEZ z$YijIytB(h(YWA(UPX%jByu66N^p9y_Ch+PjKToHw(Z-aTYAVQ;S|In+lJFE-5yTC zVm0%R{bLX9DJ*Qp)cYF%lZjC~=R&Ha$Uz;R6j>JK{7IrJn2x@O1D~c*-p-w8Nrq~S zD|f?c73}~)0t1|2z9b6+9dY9Zmaw_S?Hh7!1U=Auysz~>=ni+a?(hNkZb;z1BsK{K z;DBLmp3h>l-5cL{4nFD=5EZG6Ex9&dm|Nr8K!<J#v$zS;*0QH%pPR6kwfVIrPw6*# zQYBHEYy_<?1wEh9Rl}YZ3;JUsMJkl?I`g>{)l%kazR$AtCY{S_U5Yuau97q<d?{4r zU$xu$5P);MyKMt=H9MU+bx$ozAtmG#sa?hr0LNJEw2<lni<@|;ddM*Ntb|~wy2n(K zsfk(JN~DXr&x<TdFn$BZ;xtl<vERu*&rjyz4+_|Y-zC9iRD@rY<(E+vg-?n&O2ade zm0_8bM;FT^<wp-xS}fM;Dr^|+UPvU|5eZkbaEH<_*U|;tZ(~S25X8A>^!2qF0^6Nk zY~Vi__{KP%z@y#+u_Z4cZa=&7K*tgzsJ}tP%*|JwukP|}>mvVF>UL{SC#FPf5))@) z$T8~oI)T`0cjw~|V5Tq>q~{r)p;_$yy&;Ro9g@3PbkX&1*Ic(8i3|am#CEfXh}Z3* zJ_f7XRK^gHSAXA-%x4{%yU0Lx`faP|)*yosGU)ARU}IVzzlPlb?D+jZs4<yzBB4LH zp;Knlo%K`}s|5OHL>Dp<IZxMAiV{*;<W*EbtNXtK|2B#*lU(dw@_MDKN_Gcs4j!I0 zg}-YdQ0<R&rtJw9R69aq>{Fzx`<&C(P4j)?VMoZLOh8BQ7|RO2Oi>>(_RBI#n?Je) zYqyjI^pR>U-+|raeG~^M-UU&Q+olkUG=)>U^ao^bp%GSrZb3NHrR<uc@o0dT{(cHr z9L9JNGZx%$JKRO2gx@wQiTHyL_w~NEh;$JKAMLa1@>Az{@cuqK$OWB48rmy1jn-83 R!^T;UoE;(C92xqu{so)R>Bs;8 diff --git a/twilio/rest/wireless/v1/__pycache__/command.cpython-36.pyc b/twilio/rest/wireless/v1/__pycache__/command.cpython-36.pyc deleted file mode 100644 index 297518b6a4af49d9927be7653909ac67f685a932..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15432 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 N-0vIj&z+r{{~wtzc%J|O diff --git a/twilio/rest/wireless/v1/__pycache__/rate_plan.cpython-36.pyc b/twilio/rest/wireless/v1/__pycache__/rate_plan.cpython-36.pyc deleted file mode 100644 index b2813a4f264fec422b15113aadbc6ed7c9edd20f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18134 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 diff --git a/twilio/rest/wireless/v1/command.py b/twilio/rest/wireless/v1/command.py deleted file mode 100644 index db1456c..0000000 --- a/twilio/rest/wireless/v1/command.py +++ /dev/null @@ -1,451 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class CommandList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version): - """ - Initialize the CommandList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.wireless.v1.command.CommandList - :rtype: twilio.rest.wireless.v1.command.CommandList - """ - super(CommandList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Commands'.format(**self._solution) - - def stream(self, sim=values.unset, status=values.unset, direction=values.unset, - limit=None, page_size=None): - """ - Streams CommandInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param unicode sim: The sim - :param CommandInstance.Status status: The status - :param CommandInstance.Direction direction: The direction - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.wireless.v1.command.CommandInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(sim=sim, status=status, direction=direction, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, sim=values.unset, status=values.unset, direction=values.unset, - limit=None, page_size=None): - """ - Lists CommandInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param unicode sim: The sim - :param CommandInstance.Status status: The status - :param CommandInstance.Direction direction: The direction - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.wireless.v1.command.CommandInstance] - """ - return list(self.stream( - sim=sim, - status=status, - direction=direction, - limit=limit, - page_size=page_size, - )) - - def page(self, sim=values.unset, status=values.unset, direction=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of CommandInstance records from the API. - Request is executed immediately - - :param unicode sim: The sim - :param CommandInstance.Status status: The status - :param CommandInstance.Direction direction: The direction - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of CommandInstance - :rtype: twilio.rest.wireless.v1.command.CommandPage - """ - params = values.of({ - 'Sim': sim, - 'Status': status, - 'Direction': direction, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return CommandPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of CommandInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of CommandInstance - :rtype: twilio.rest.wireless.v1.command.CommandPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return CommandPage(self._version, response, self._solution) - - def create(self, command, sim=values.unset, callback_method=values.unset, - callback_url=values.unset, command_mode=values.unset, - include_sid=values.unset): - """ - Create a new CommandInstance - - :param unicode command: The command - :param unicode sim: The sim - :param unicode callback_method: The callback_method - :param unicode callback_url: The callback_url - :param CommandInstance.CommandMode command_mode: The command_mode - :param unicode include_sid: The include_sid - - :returns: Newly created CommandInstance - :rtype: twilio.rest.wireless.v1.command.CommandInstance - """ - data = values.of({ - 'Command': command, - 'Sim': sim, - 'CallbackMethod': callback_method, - 'CallbackUrl': callback_url, - 'CommandMode': command_mode, - 'IncludeSid': include_sid, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return CommandInstance(self._version, payload, ) - - def get(self, sid): - """ - Constructs a CommandContext - - :param sid: The sid - - :returns: twilio.rest.wireless.v1.command.CommandContext - :rtype: twilio.rest.wireless.v1.command.CommandContext - """ - return CommandContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a CommandContext - - :param sid: The sid - - :returns: twilio.rest.wireless.v1.command.CommandContext - :rtype: twilio.rest.wireless.v1.command.CommandContext - """ - return CommandContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Wireless.V1.CommandList>' - - -class CommandPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the CommandPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.wireless.v1.command.CommandPage - :rtype: twilio.rest.wireless.v1.command.CommandPage - """ - super(CommandPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of CommandInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.wireless.v1.command.CommandInstance - :rtype: twilio.rest.wireless.v1.command.CommandInstance - """ - return CommandInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Wireless.V1.CommandPage>' - - -class CommandContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, sid): - """ - Initialize the CommandContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.wireless.v1.command.CommandContext - :rtype: twilio.rest.wireless.v1.command.CommandContext - """ - super(CommandContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Commands/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a CommandInstance - - :returns: Fetched CommandInstance - :rtype: twilio.rest.wireless.v1.command.CommandInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return CommandInstance(self._version, payload, sid=self._solution['sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Wireless.V1.CommandContext {}>'.format(context) - - -class CommandInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - class Direction(object): - FROM_SIM = "from_sim" - TO_SIM = "to_sim" - - class Status(object): - QUEUED = "queued" - SENT = "sent" - DELIVERED = "delivered" - RECEIVED = "received" - FAILED = "failed" - - class CommandMode(object): - TEXT = "text" - BINARY = "binary" - - def __init__(self, version, payload, sid=None): - """ - Initialize the CommandInstance - - :returns: twilio.rest.wireless.v1.command.CommandInstance - :rtype: twilio.rest.wireless.v1.command.CommandInstance - """ - super(CommandInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'account_sid': payload['account_sid'], - 'sim_sid': payload['sim_sid'], - 'command': payload['command'], - 'command_mode': payload['command_mode'], - 'status': payload['status'], - 'direction': payload['direction'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: CommandContext for this CommandInstance - :rtype: twilio.rest.wireless.v1.command.CommandContext - """ - if self._context is None: - self._context = CommandContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def sim_sid(self): - """ - :returns: The sim_sid - :rtype: unicode - """ - return self._properties['sim_sid'] - - @property - def command(self): - """ - :returns: The command - :rtype: unicode - """ - return self._properties['command'] - - @property - def command_mode(self): - """ - :returns: The command_mode - :rtype: CommandInstance.CommandMode - """ - return self._properties['command_mode'] - - @property - def status(self): - """ - :returns: The status - :rtype: CommandInstance.Status - """ - return self._properties['status'] - - @property - def direction(self): - """ - :returns: The direction - :rtype: CommandInstance.Direction - """ - return self._properties['direction'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a CommandInstance - - :returns: Fetched CommandInstance - :rtype: twilio.rest.wireless.v1.command.CommandInstance - """ - return self._proxy.fetch() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Wireless.V1.CommandInstance {}>'.format(context) diff --git a/twilio/rest/wireless/v1/rate_plan.py b/twilio/rest/wireless/v1/rate_plan.py deleted file mode 100644 index dafd1dc..0000000 --- a/twilio/rest/wireless/v1/rate_plan.py +++ /dev/null @@ -1,530 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class RatePlanList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version): - """ - Initialize the RatePlanList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.wireless.v1.rate_plan.RatePlanList - :rtype: twilio.rest.wireless.v1.rate_plan.RatePlanList - """ - super(RatePlanList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/RatePlans'.format(**self._solution) - - def stream(self, limit=None, page_size=None): - """ - Streams RatePlanInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.wireless.v1.rate_plan.RatePlanInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, limit=None, page_size=None): - """ - Lists RatePlanInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.wireless.v1.rate_plan.RatePlanInstance] - """ - return list(self.stream(limit=limit, page_size=page_size, )) - - def page(self, page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of RatePlanInstance records from the API. - Request is executed immediately - - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of RatePlanInstance - :rtype: twilio.rest.wireless.v1.rate_plan.RatePlanPage - """ - params = values.of({'PageToken': page_token, 'Page': page_number, 'PageSize': page_size, }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return RatePlanPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of RatePlanInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of RatePlanInstance - :rtype: twilio.rest.wireless.v1.rate_plan.RatePlanPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return RatePlanPage(self._version, response, self._solution) - - def create(self, unique_name=values.unset, friendly_name=values.unset, - data_enabled=values.unset, data_limit=values.unset, - data_metering=values.unset, messaging_enabled=values.unset, - voice_enabled=values.unset, national_roaming_enabled=values.unset, - international_roaming=values.unset, - national_roaming_data_limit=values.unset, - international_roaming_data_limit=values.unset): - """ - Create a new RatePlanInstance - - :param unicode unique_name: The unique_name - :param unicode friendly_name: The friendly_name - :param bool data_enabled: The data_enabled - :param unicode data_limit: The data_limit - :param unicode data_metering: The data_metering - :param bool messaging_enabled: The messaging_enabled - :param bool voice_enabled: The voice_enabled - :param bool national_roaming_enabled: The national_roaming_enabled - :param unicode international_roaming: The international_roaming - :param unicode national_roaming_data_limit: The national_roaming_data_limit - :param unicode international_roaming_data_limit: The international_roaming_data_limit - - :returns: Newly created RatePlanInstance - :rtype: twilio.rest.wireless.v1.rate_plan.RatePlanInstance - """ - data = values.of({ - 'UniqueName': unique_name, - 'FriendlyName': friendly_name, - 'DataEnabled': data_enabled, - 'DataLimit': data_limit, - 'DataMetering': data_metering, - 'MessagingEnabled': messaging_enabled, - 'VoiceEnabled': voice_enabled, - 'NationalRoamingEnabled': national_roaming_enabled, - 'InternationalRoaming': serialize.map(international_roaming, lambda e: e), - 'NationalRoamingDataLimit': national_roaming_data_limit, - 'InternationalRoamingDataLimit': international_roaming_data_limit, - }) - - payload = self._version.create( - 'POST', - self._uri, - data=data, - ) - - return RatePlanInstance(self._version, payload, ) - - def get(self, sid): - """ - Constructs a RatePlanContext - - :param sid: The sid - - :returns: twilio.rest.wireless.v1.rate_plan.RatePlanContext - :rtype: twilio.rest.wireless.v1.rate_plan.RatePlanContext - """ - return RatePlanContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a RatePlanContext - - :param sid: The sid - - :returns: twilio.rest.wireless.v1.rate_plan.RatePlanContext - :rtype: twilio.rest.wireless.v1.rate_plan.RatePlanContext - """ - return RatePlanContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Wireless.V1.RatePlanList>' - - -class RatePlanPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the RatePlanPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.wireless.v1.rate_plan.RatePlanPage - :rtype: twilio.rest.wireless.v1.rate_plan.RatePlanPage - """ - super(RatePlanPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of RatePlanInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.wireless.v1.rate_plan.RatePlanInstance - :rtype: twilio.rest.wireless.v1.rate_plan.RatePlanInstance - """ - return RatePlanInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Wireless.V1.RatePlanPage>' - - -class RatePlanContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, sid): - """ - Initialize the RatePlanContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.wireless.v1.rate_plan.RatePlanContext - :rtype: twilio.rest.wireless.v1.rate_plan.RatePlanContext - """ - super(RatePlanContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/RatePlans/{sid}'.format(**self._solution) - - def fetch(self): - """ - Fetch a RatePlanInstance - - :returns: Fetched RatePlanInstance - :rtype: twilio.rest.wireless.v1.rate_plan.RatePlanInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return RatePlanInstance(self._version, payload, sid=self._solution['sid'], ) - - def update(self, unique_name=values.unset, friendly_name=values.unset): - """ - Update the RatePlanInstance - - :param unicode unique_name: The unique_name - :param unicode friendly_name: The friendly_name - - :returns: Updated RatePlanInstance - :rtype: twilio.rest.wireless.v1.rate_plan.RatePlanInstance - """ - data = values.of({'UniqueName': unique_name, 'FriendlyName': friendly_name, }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return RatePlanInstance(self._version, payload, sid=self._solution['sid'], ) - - def delete(self): - """ - Deletes the RatePlanInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._version.delete('delete', self._uri) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Wireless.V1.RatePlanContext {}>'.format(context) - - -class RatePlanInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, payload, sid=None): - """ - Initialize the RatePlanInstance - - :returns: twilio.rest.wireless.v1.rate_plan.RatePlanInstance - :rtype: twilio.rest.wireless.v1.rate_plan.RatePlanInstance - """ - super(RatePlanInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'unique_name': payload['unique_name'], - 'account_sid': payload['account_sid'], - 'friendly_name': payload['friendly_name'], - 'data_enabled': payload['data_enabled'], - 'data_metering': payload['data_metering'], - 'data_limit': deserialize.integer(payload['data_limit']), - 'messaging_enabled': payload['messaging_enabled'], - 'voice_enabled': payload['voice_enabled'], - 'national_roaming_enabled': payload['national_roaming_enabled'], - 'national_roaming_data_limit': deserialize.integer(payload['national_roaming_data_limit']), - 'international_roaming': payload['international_roaming'], - 'international_roaming_data_limit': deserialize.integer(payload['international_roaming_data_limit']), - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: RatePlanContext for this RatePlanInstance - :rtype: twilio.rest.wireless.v1.rate_plan.RatePlanContext - """ - if self._context is None: - self._context = RatePlanContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def unique_name(self): - """ - :returns: The unique_name - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def data_enabled(self): - """ - :returns: The data_enabled - :rtype: bool - """ - return self._properties['data_enabled'] - - @property - def data_metering(self): - """ - :returns: The data_metering - :rtype: unicode - """ - return self._properties['data_metering'] - - @property - def data_limit(self): - """ - :returns: The data_limit - :rtype: unicode - """ - return self._properties['data_limit'] - - @property - def messaging_enabled(self): - """ - :returns: The messaging_enabled - :rtype: bool - """ - return self._properties['messaging_enabled'] - - @property - def voice_enabled(self): - """ - :returns: The voice_enabled - :rtype: bool - """ - return self._properties['voice_enabled'] - - @property - def national_roaming_enabled(self): - """ - :returns: The national_roaming_enabled - :rtype: bool - """ - return self._properties['national_roaming_enabled'] - - @property - def national_roaming_data_limit(self): - """ - :returns: The national_roaming_data_limit - :rtype: unicode - """ - return self._properties['national_roaming_data_limit'] - - @property - def international_roaming(self): - """ - :returns: The international_roaming - :rtype: unicode - """ - return self._properties['international_roaming'] - - @property - def international_roaming_data_limit(self): - """ - :returns: The international_roaming_data_limit - :rtype: unicode - """ - return self._properties['international_roaming_data_limit'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - def fetch(self): - """ - Fetch a RatePlanInstance - - :returns: Fetched RatePlanInstance - :rtype: twilio.rest.wireless.v1.rate_plan.RatePlanInstance - """ - return self._proxy.fetch() - - def update(self, unique_name=values.unset, friendly_name=values.unset): - """ - Update the RatePlanInstance - - :param unicode unique_name: The unique_name - :param unicode friendly_name: The friendly_name - - :returns: Updated RatePlanInstance - :rtype: twilio.rest.wireless.v1.rate_plan.RatePlanInstance - """ - return self._proxy.update(unique_name=unique_name, friendly_name=friendly_name, ) - - def delete(self): - """ - Deletes the RatePlanInstance - - :returns: True if delete succeeds, False otherwise - :rtype: bool - """ - return self._proxy.delete() - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Wireless.V1.RatePlanInstance {}>'.format(context) diff --git a/twilio/rest/wireless/v1/sim/__init__.py b/twilio/rest/wireless/v1/sim/__init__.py deleted file mode 100644 index cf913db..0000000 --- a/twilio/rest/wireless/v1/sim/__init__.py +++ /dev/null @@ -1,710 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page -from twilio.rest.wireless.v1.sim.data_session import DataSessionList -from twilio.rest.wireless.v1.sim.usage_record import UsageRecordList - - -class SimList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version): - """ - Initialize the SimList - - :param Version version: Version that contains the resource - - :returns: twilio.rest.wireless.v1.sim.SimList - :rtype: twilio.rest.wireless.v1.sim.SimList - """ - super(SimList, self).__init__(version) - - # Path Solution - self._solution = {} - self._uri = '/Sims'.format(**self._solution) - - def stream(self, status=values.unset, iccid=values.unset, - rate_plan=values.unset, e_id=values.unset, - sim_registration_code=values.unset, limit=None, page_size=None): - """ - Streams SimInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param SimInstance.Status status: The status - :param unicode iccid: The iccid - :param unicode rate_plan: The rate_plan - :param unicode e_id: The e_id - :param unicode sim_registration_code: The sim_registration_code - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.wireless.v1.sim.SimInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page( - status=status, - iccid=iccid, - rate_plan=rate_plan, - e_id=e_id, - sim_registration_code=sim_registration_code, - page_size=limits['page_size'], - ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, status=values.unset, iccid=values.unset, rate_plan=values.unset, - e_id=values.unset, sim_registration_code=values.unset, limit=None, - page_size=None): - """ - Lists SimInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param SimInstance.Status status: The status - :param unicode iccid: The iccid - :param unicode rate_plan: The rate_plan - :param unicode e_id: The e_id - :param unicode sim_registration_code: The sim_registration_code - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.wireless.v1.sim.SimInstance] - """ - return list(self.stream( - status=status, - iccid=iccid, - rate_plan=rate_plan, - e_id=e_id, - sim_registration_code=sim_registration_code, - limit=limit, - page_size=page_size, - )) - - def page(self, status=values.unset, iccid=values.unset, rate_plan=values.unset, - e_id=values.unset, sim_registration_code=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of SimInstance records from the API. - Request is executed immediately - - :param SimInstance.Status status: The status - :param unicode iccid: The iccid - :param unicode rate_plan: The rate_plan - :param unicode e_id: The e_id - :param unicode sim_registration_code: The sim_registration_code - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of SimInstance - :rtype: twilio.rest.wireless.v1.sim.SimPage - """ - params = values.of({ - 'Status': status, - 'Iccid': iccid, - 'RatePlan': rate_plan, - 'EId': e_id, - 'SimRegistrationCode': sim_registration_code, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return SimPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of SimInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of SimInstance - :rtype: twilio.rest.wireless.v1.sim.SimPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return SimPage(self._version, response, self._solution) - - def get(self, sid): - """ - Constructs a SimContext - - :param sid: The sid - - :returns: twilio.rest.wireless.v1.sim.SimContext - :rtype: twilio.rest.wireless.v1.sim.SimContext - """ - return SimContext(self._version, sid=sid, ) - - def __call__(self, sid): - """ - Constructs a SimContext - - :param sid: The sid - - :returns: twilio.rest.wireless.v1.sim.SimContext - :rtype: twilio.rest.wireless.v1.sim.SimContext - """ - return SimContext(self._version, sid=sid, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Wireless.V1.SimList>' - - -class SimPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the SimPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - - :returns: twilio.rest.wireless.v1.sim.SimPage - :rtype: twilio.rest.wireless.v1.sim.SimPage - """ - super(SimPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of SimInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.wireless.v1.sim.SimInstance - :rtype: twilio.rest.wireless.v1.sim.SimInstance - """ - return SimInstance(self._version, payload, ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Wireless.V1.SimPage>' - - -class SimContext(InstanceContext): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, sid): - """ - Initialize the SimContext - - :param Version version: Version that contains the resource - :param sid: The sid - - :returns: twilio.rest.wireless.v1.sim.SimContext - :rtype: twilio.rest.wireless.v1.sim.SimContext - """ - super(SimContext, self).__init__(version) - - # Path Solution - self._solution = {'sid': sid, } - self._uri = '/Sims/{sid}'.format(**self._solution) - - # Dependents - self._usage_records = None - self._data_sessions = None - - def fetch(self): - """ - Fetch a SimInstance - - :returns: Fetched SimInstance - :rtype: twilio.rest.wireless.v1.sim.SimInstance - """ - params = values.of({}) - - payload = self._version.fetch( - 'GET', - self._uri, - params=params, - ) - - return SimInstance(self._version, payload, sid=self._solution['sid'], ) - - def update(self, unique_name=values.unset, callback_method=values.unset, - callback_url=values.unset, friendly_name=values.unset, - rate_plan=values.unset, status=values.unset, - commands_callback_method=values.unset, - commands_callback_url=values.unset, sms_fallback_method=values.unset, - sms_fallback_url=values.unset, sms_method=values.unset, - sms_url=values.unset, voice_fallback_method=values.unset, - voice_fallback_url=values.unset, voice_method=values.unset, - voice_url=values.unset): - """ - Update the SimInstance - - :param unicode unique_name: The unique_name - :param unicode callback_method: The callback_method - :param unicode callback_url: The callback_url - :param unicode friendly_name: The friendly_name - :param unicode rate_plan: The rate_plan - :param SimInstance.Status status: The status - :param unicode commands_callback_method: The commands_callback_method - :param unicode commands_callback_url: The commands_callback_url - :param unicode sms_fallback_method: The sms_fallback_method - :param unicode sms_fallback_url: The sms_fallback_url - :param unicode sms_method: The sms_method - :param unicode sms_url: The sms_url - :param unicode voice_fallback_method: The voice_fallback_method - :param unicode voice_fallback_url: The voice_fallback_url - :param unicode voice_method: The voice_method - :param unicode voice_url: The voice_url - - :returns: Updated SimInstance - :rtype: twilio.rest.wireless.v1.sim.SimInstance - """ - data = values.of({ - 'UniqueName': unique_name, - 'CallbackMethod': callback_method, - 'CallbackUrl': callback_url, - 'FriendlyName': friendly_name, - 'RatePlan': rate_plan, - 'Status': status, - 'CommandsCallbackMethod': commands_callback_method, - 'CommandsCallbackUrl': commands_callback_url, - 'SmsFallbackMethod': sms_fallback_method, - 'SmsFallbackUrl': sms_fallback_url, - 'SmsMethod': sms_method, - 'SmsUrl': sms_url, - 'VoiceFallbackMethod': voice_fallback_method, - 'VoiceFallbackUrl': voice_fallback_url, - 'VoiceMethod': voice_method, - 'VoiceUrl': voice_url, - }) - - payload = self._version.update( - 'POST', - self._uri, - data=data, - ) - - return SimInstance(self._version, payload, sid=self._solution['sid'], ) - - @property - def usage_records(self): - """ - Access the usage_records - - :returns: twilio.rest.wireless.v1.sim.usage_record.UsageRecordList - :rtype: twilio.rest.wireless.v1.sim.usage_record.UsageRecordList - """ - if self._usage_records is None: - self._usage_records = UsageRecordList(self._version, sim_sid=self._solution['sid'], ) - return self._usage_records - - @property - def data_sessions(self): - """ - Access the data_sessions - - :returns: twilio.rest.wireless.v1.sim.data_session.DataSessionList - :rtype: twilio.rest.wireless.v1.sim.data_session.DataSessionList - """ - if self._data_sessions is None: - self._data_sessions = DataSessionList(self._version, sim_sid=self._solution['sid'], ) - return self._data_sessions - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Wireless.V1.SimContext {}>'.format(context) - - -class SimInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - class Status(object): - NEW = "new" - READY = "ready" - ACTIVE = "active" - SUSPENDED = "suspended" - DEACTIVATED = "deactivated" - CANCELED = "canceled" - SCHEDULED = "scheduled" - UPDATING = "updating" - - def __init__(self, version, payload, sid=None): - """ - Initialize the SimInstance - - :returns: twilio.rest.wireless.v1.sim.SimInstance - :rtype: twilio.rest.wireless.v1.sim.SimInstance - """ - super(SimInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'unique_name': payload['unique_name'], - 'account_sid': payload['account_sid'], - 'rate_plan_sid': payload['rate_plan_sid'], - 'friendly_name': payload['friendly_name'], - 'iccid': payload['iccid'], - 'e_id': payload['e_id'], - 'status': payload['status'], - 'commands_callback_url': payload['commands_callback_url'], - 'commands_callback_method': payload['commands_callback_method'], - 'sms_fallback_method': payload['sms_fallback_method'], - 'sms_fallback_url': payload['sms_fallback_url'], - 'sms_method': payload['sms_method'], - 'sms_url': payload['sms_url'], - 'voice_fallback_method': payload['voice_fallback_method'], - 'voice_fallback_url': payload['voice_fallback_url'], - 'voice_method': payload['voice_method'], - 'voice_url': payload['voice_url'], - 'date_created': deserialize.iso8601_datetime(payload['date_created']), - 'date_updated': deserialize.iso8601_datetime(payload['date_updated']), - 'url': payload['url'], - 'links': payload['links'], - 'ip_address': payload['ip_address'], - } - - # Context - self._context = None - self._solution = {'sid': sid or self._properties['sid'], } - - @property - def _proxy(self): - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: SimContext for this SimInstance - :rtype: twilio.rest.wireless.v1.sim.SimContext - """ - if self._context is None: - self._context = SimContext(self._version, sid=self._solution['sid'], ) - return self._context - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def unique_name(self): - """ - :returns: The unique_name - :rtype: unicode - """ - return self._properties['unique_name'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def rate_plan_sid(self): - """ - :returns: The rate_plan_sid - :rtype: unicode - """ - return self._properties['rate_plan_sid'] - - @property - def friendly_name(self): - """ - :returns: The friendly_name - :rtype: unicode - """ - return self._properties['friendly_name'] - - @property - def iccid(self): - """ - :returns: The iccid - :rtype: unicode - """ - return self._properties['iccid'] - - @property - def e_id(self): - """ - :returns: The e_id - :rtype: unicode - """ - return self._properties['e_id'] - - @property - def status(self): - """ - :returns: The status - :rtype: SimInstance.Status - """ - return self._properties['status'] - - @property - def commands_callback_url(self): - """ - :returns: The commands_callback_url - :rtype: unicode - """ - return self._properties['commands_callback_url'] - - @property - def commands_callback_method(self): - """ - :returns: The commands_callback_method - :rtype: unicode - """ - return self._properties['commands_callback_method'] - - @property - def sms_fallback_method(self): - """ - :returns: The sms_fallback_method - :rtype: unicode - """ - return self._properties['sms_fallback_method'] - - @property - def sms_fallback_url(self): - """ - :returns: The sms_fallback_url - :rtype: unicode - """ - return self._properties['sms_fallback_url'] - - @property - def sms_method(self): - """ - :returns: The sms_method - :rtype: unicode - """ - return self._properties['sms_method'] - - @property - def sms_url(self): - """ - :returns: The sms_url - :rtype: unicode - """ - return self._properties['sms_url'] - - @property - def voice_fallback_method(self): - """ - :returns: The voice_fallback_method - :rtype: unicode - """ - return self._properties['voice_fallback_method'] - - @property - def voice_fallback_url(self): - """ - :returns: The voice_fallback_url - :rtype: unicode - """ - return self._properties['voice_fallback_url'] - - @property - def voice_method(self): - """ - :returns: The voice_method - :rtype: unicode - """ - return self._properties['voice_method'] - - @property - def voice_url(self): - """ - :returns: The voice_url - :rtype: unicode - """ - return self._properties['voice_url'] - - @property - def date_created(self): - """ - :returns: The date_created - :rtype: datetime - """ - return self._properties['date_created'] - - @property - def date_updated(self): - """ - :returns: The date_updated - :rtype: datetime - """ - return self._properties['date_updated'] - - @property - def url(self): - """ - :returns: The url - :rtype: unicode - """ - return self._properties['url'] - - @property - def links(self): - """ - :returns: The links - :rtype: unicode - """ - return self._properties['links'] - - @property - def ip_address(self): - """ - :returns: The ip_address - :rtype: unicode - """ - return self._properties['ip_address'] - - def fetch(self): - """ - Fetch a SimInstance - - :returns: Fetched SimInstance - :rtype: twilio.rest.wireless.v1.sim.SimInstance - """ - return self._proxy.fetch() - - def update(self, unique_name=values.unset, callback_method=values.unset, - callback_url=values.unset, friendly_name=values.unset, - rate_plan=values.unset, status=values.unset, - commands_callback_method=values.unset, - commands_callback_url=values.unset, sms_fallback_method=values.unset, - sms_fallback_url=values.unset, sms_method=values.unset, - sms_url=values.unset, voice_fallback_method=values.unset, - voice_fallback_url=values.unset, voice_method=values.unset, - voice_url=values.unset): - """ - Update the SimInstance - - :param unicode unique_name: The unique_name - :param unicode callback_method: The callback_method - :param unicode callback_url: The callback_url - :param unicode friendly_name: The friendly_name - :param unicode rate_plan: The rate_plan - :param SimInstance.Status status: The status - :param unicode commands_callback_method: The commands_callback_method - :param unicode commands_callback_url: The commands_callback_url - :param unicode sms_fallback_method: The sms_fallback_method - :param unicode sms_fallback_url: The sms_fallback_url - :param unicode sms_method: The sms_method - :param unicode sms_url: The sms_url - :param unicode voice_fallback_method: The voice_fallback_method - :param unicode voice_fallback_url: The voice_fallback_url - :param unicode voice_method: The voice_method - :param unicode voice_url: The voice_url - - :returns: Updated SimInstance - :rtype: twilio.rest.wireless.v1.sim.SimInstance - """ - return self._proxy.update( - unique_name=unique_name, - callback_method=callback_method, - callback_url=callback_url, - friendly_name=friendly_name, - rate_plan=rate_plan, - status=status, - commands_callback_method=commands_callback_method, - commands_callback_url=commands_callback_url, - sms_fallback_method=sms_fallback_method, - sms_fallback_url=sms_fallback_url, - sms_method=sms_method, - sms_url=sms_url, - voice_fallback_method=voice_fallback_method, - voice_fallback_url=voice_fallback_url, - voice_method=voice_method, - voice_url=voice_url, - ) - - @property - def usage_records(self): - """ - Access the usage_records - - :returns: twilio.rest.wireless.v1.sim.usage_record.UsageRecordList - :rtype: twilio.rest.wireless.v1.sim.usage_record.UsageRecordList - """ - return self._proxy.usage_records - - @property - def data_sessions(self): - """ - Access the data_sessions - - :returns: twilio.rest.wireless.v1.sim.data_session.DataSessionList - :rtype: twilio.rest.wireless.v1.sim.data_session.DataSessionList - """ - return self._proxy.data_sessions - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) - return '<Twilio.Wireless.V1.SimInstance {}>'.format(context) diff --git a/twilio/rest/wireless/v1/sim/__pycache__/__init__.cpython-36.pyc b/twilio/rest/wireless/v1/sim/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index ecf9eb446b70256aa2da764726987fb68f6e638e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22289 zcmeHPU5p&Zao*Ygzx&}oDeGq>$}-ocmZW9L_F1BJI-X?O)R`uEbTU4BHQb&f=eU2K znI*;55<zeR{G>c2uLk@Q1hF5ImmmT1-~fRW1V|9%DF)^tKoTH8fFQ_I9*iK!SJgAU zJ^Ob{NmeXadzhY@p8lz>uCA`CuDKVMmdbzo4?nW3@1#=yn$mt*z^~%+{}72tSt((N zbjxU`t+YXK25`p8Fq~~=+c_)8aITea7pwxq`Bt%AvPujWTIF`dsxVw^RohF}62qm| za(l&EF;Z`&L|IhcO^J$A+Rs?4c&>^iJTEyFJRidIvRJ|Mij%|hVLY#jLwG*q6!3gR z9KN2a9U0i=8+TmaY<7iX-nV`8w$pJuJ8*<~>p^+PJZCmc{E#$;(Y<UA%`=VK&N(D! z8pEA)LvwiM97^1~P(NQkU#9XVD$3uv^1p*1shSa1gyTD&Yq#8igU9?myVZAmKr5F! zeqeW+&PKNrIBy5YT8*==IexeAHK{`Nit7j3bM~rzoAOsK*@1oC@qM@3p(2#E?c?1w zr`h!cWi<(f_*aYo|BnDTDa*iYrG;T-evsP5oQcf4MJwy%_VVMG$cpT4LF7dKUBfDj zzoqA>L_ri$qByODp0`^RB~eDnlBkI4yD6(Imc%md6|o{#aj%L);xO(@KS*U$)-ugk zSh()CX-I>+=G7~k>(@8Ut#97gG=n>KfP`kUW&1RroxpZGzIn?DY_sQeMZX#NvY72T zrr*D{=QL5J%k$N|V|Q*lb#vQyP{wJS_ub%**|hrsh*~$B>4;`@&qSC1SpY#QFovo9 z^j>;s>>EbPO$}3xj4<}HyMXpGzk|1poJa%r%;4t{Z<yxgjvGi$pzh3QOl9?ct!I07 z+q~&`G^^%4d0$f*JX|$KYQl>cMQg)zg1*=B*UaF)+j6^g6bb70UC(KOS?b_c-)-09 zt|N9e*Sz3C&v~>ugWNeZ<8RgSVb1UO9M3C*G-0vPa52tCBP=!iZi{Id=6AbZ+YZ8P zqwl%3beQ#>)^1pcMhM<5H5xpHjmD2tzYrU1JD3yC-}#nn-Lbnn>%AVa`_7ea({AnD zaN50{p4)r=R^M%j=U?z!-Q5TN{T(^r_(tR2iO0Qj@4^noy%XbB?>+FU!1e?#KaV6; zTFvB*!D>X9dR%a;87~|f9Kjp7{8y1+qEmauFh4Bprymya1ZEhfhnZn^m>U*_aVjO! z@8utsxLjsfLSE)n3TgIKYCi+k$k{)E{8Y1lJ@6d6?GszXascy7i`h4Ky>6R%X8r1A z6Y|QAC05rneXdtm?XYC)Vm@qQW3y!s+|~oL)wR)1+#Z^6c6Z&T>vRIV#AB}uQF5#0 znEg)Rwz#jB+jaxhEEXB?Yu<5$-W9W8zlB9c>r3(;q-YYwv!>rgi)dkl79QG8yX!p| zAyU`4Sgr((6!q(Y9rS&SmTqh24RF7N6^7CB>33X~>u$5@3R#fBS>;IXH+n6*Bg?AC zS>>HZ+$=$}N`c!No^u;AOU^@saEj2L_G-Kxw-cB=0c+-V50fb$OspfGn@+!d3z^+r zHKjo}B7Z&Nh%+_SX1vTt_uGAl8tgj`q+{3YI9Q2MbrX|9;?M@`5Char^OCb`V~$PC zS*I&=RnrmC3EducpN5ZpZq3}9hTg6dH1C)+7SH)UHo@SmdH;^nL7Rc;I{~C`t7Z0m zN3}gdSBFUMi3lU!O^FIGo{tFud@t`3o(dhp8x`D+Gny^E!4Z6`A7E+mu(e8HUtVHo zY7#{|2q1xI7eSx4p!qleW!WO{E`)u%>jxvYXGBe++ga1CV>@cQoikkHta;)5`SUex zSt#NDhE!OX8?Xm5=^nUFOPKv0Atrl-45YQGu#3ff3vBtF1NMhl27Oo64oixpkokGJ z`obJ9uCS!mO_-&15gwbm0=#38oMDd9v&!5a!?i3nj%YiuDn!->=lfxn3Q=z)9cyK8 z6%BaDDIwwQouuRxC67_^DN3jhD=+JNPf*Sgl^iALNhHtV@(&|Pom@_5jkNl!W(La; zJfv>aWv^-vAo)-G0Pg{h0|;mrFf_T3-9Q-c74{9t_q6?WUA|L;i%NHzpplr}?zG&y zB<_d=XKH7s$WjMH@=UuUBrA}#H{W6kycI7D6KhoJJ;d;l@V(_gqQrvR?cDxE1`}~K zp~f_PA2OI`5CUT)XVo&I4w649ew6_KL;^F>6B0NgC(F4h@^@@gN|HBz`nb#AT44dX zN6Ix3i)CD`xTv@smyl0ExP1ecPvSOpBCn()$;m-AmXFj^vqVMktKd@7@l`wo6S9%? z;vW|G4c3a&dl`|2{LBtZBJ*D6VL8aL7F|Y~XAL=P{{d_-wQ{aGf#*V1!5-~HRzX>% zy@9rW;1lmxO5Eu>^GKFnld1<Xm-DvM?32y!w%d+yp$4`dXnXCiy$T8@l1fz2z3V_b zz6xUBAdoEUd#+$_32URUO4KB2vXi%Wsj14^kzN>WU{ZO*L_kyM!3rVWw%H<+gf;t- zQZ?S>934|CNM~aOk+s_w&ug=)G$<O)80(D2u$VbaO{hAxVwjgUij})erbk%329~-C z!@|mJUKZ97FzGeTBG`aIV3ib6y#iK@Rix+Z&;`TH8=E&^80VP{eXRWq-iPV#u1AW8 zRBKi!i+m$g%Ui-ztulYbM>-eJs8#8qT0>3{D^1>MYOn~kvDfXu03TDENR?{g@(F{~ zQC(>wu~3Euoi?&YF*6bn)PwS)&<Mz5xPi-m1_>5AM8qBm0w_^1qtii_@?b`%_Tax` zCF-;>Lj?4krVAVPBM<_#5(3-1?F8^&wAM`U`|~50;r6vF$}Wp68!U}T_h#%q3jXtm zptU@6N0=AgHXLDAUMl%vA;Qc1Gzv*Z$uOgY<<Yo2Qi;drJS@_nX%>GEFMW1~l*^dr zd}ib<iHoR-CWo1t=w&>_dNOola*Cw~f2P(A+@ByX`{`_w<B>a5BbgM$er$CE&|a$b ze1JI<HybMhu_^S3)vzKnKmfaJd4wy|yq1<L?{ia#m;r@;pXf(~NtFf_)V)F~KJtGp zh~^PhK%uj^9Y`&B5aH%)H5z}6(lN<2&zyYOgjnDo-RWYfLR=@<_!<lpi(Qr5m1)C| zhV4aQukoB77AUqFc9Kowr#Ip2g3DlLm2pM_6RQpfkH36FdSAaCJ6>;Ih@Gw%d5P5w z$u3C|OWspLt<m^%3`CB-Fj{Ew%i0PR?AUDwZq{<6(T1bDMR2vz_<rARMQ;j?hUhj? ziCmp>|H$<r*QIjkk&Y+#k<SwJJSBBX&LIhxB9Cm-p{W>&1t3mVv&V)sse3d6-$YVO zXVcY{qER#spRO8Zqxw`8aM4(Pws@#mDOT7&+(be3%S4cW9>A<a2^=rva2$XG2vNX2 z&&L7<NRc8-vyb*jfcT4kbSLcT;_XmB5*ViUar^~OFdqu=CWfP{ksdpF4nX_2#)MMh z-FzSC0E#PR6W5}hoOUDL($`FtrR&F9--`-VMp<?DJ`|>{TGk_zLGDS+qO8GW<-#~b zuV_cIit#Z*%zC_LnE$BO-{A6jUdo5%rbMVI4}L<v(sXT5d8!z1O8c}W8H0aT%l9=p zSAa7G9uqjZa6~t*C#sT>W-449D)sCK<aQxVmjOldg!le^P&&43M!haZ?TLEWwP@#w z^L0TS79#XV3!PVZSf$N9ro+#PbkQDm6fH5K^#UJDp-iKgCzM$p{)-yAl*bW|Nns69 zL=w!qK*{GRd4Uq<=`RsP64iT=5+(0rW@bJnwd`lOSiy?qXoVL>6S?Zg#yFn*-$ine zymaz=g%5J=uCm0XBi)j~q3ye=eZwjP<^y=ZIKHK$cdN=0c?pYXnK$^4RwC1qrXSto z%U{ETE|KYw7A8j8rGr^`9mWo7NmAzpr3FDoM|SW(YOzfU>sXakMItHiA;{}r4JDVg zwLyiCch9{8oE~n0!&z3J1z{y$ldSegxA)izU2gO#`T*JspIC;=4S^HehA$%&{F*d3 zJeKOL3`S~1QkMT0+Ve@NNR?MJWrNRT$!?BFJ`(D&@<%hC!?l6S{{j;7Il17}hnVTe zup|!?LLA^>N=F_hGA}XTIHAqH$0xCachzLR&Zkstio}9)n#|^6F!MBds+w5PwouK- zyQudJ1^~Hm8aJsi8}cTNfA3k!C)+#B@mU&E-g}91dFPC1%+<e0xk}hbZS5<_%Yt&e z`=tuyw6fPpyN+qhO*d(x=toVEzQ+W<31FI24~N_3VP#kyE)AE5E5lVd`BpInhoUKv zPQF9z<U1Tq!C{^P9EFP<PeI<kfIVE1aJvWg;i!xRh1L6L$;D^AxZ^~THDY<js%6Zo zLuSM+yLq?Kc7i+I=%jco^T4|74xqDWRS`L}YQ@%vhG!ycRy}pJcEAa>#*2@BT;A-q z+c-b++4h>G%Z#_PP@ZgUM5&3U=8(*9`;Fac6E)?<EL;*r6&mBY^J?oHLiObHyc&sa z=8W%N*KIn}M>zG>tUkvItL`WB=eMAbRMwq8R#|4OI~wn(8)Z<)HT~g=%-X6|-sZ)> z1#8$^-iUbRO<vPhC4S!aT2}S-$oi+E-qVm}o{7Xdz7cU`TsW$HWIUf5Idr}4zn<)5 zS<9j#B|Jw><N;FFk()HnWA#=OnN+O8IZ@prKOj5IUj62E@&#vUOP#+l<ohf*$9IM! zY*U35O)Q2hN@TT}SYcIV^wH^3LNv*9b~<(sPfo7wsDWdXZ>Xgs{^TMKR}-03tV}sk zO9g@{^Vq#<3nV-|mQ6*gGB0YOB%koYdxd6t+J1NuFOJcENLo$G9QS9BLINbD`L_>g z`=z9K!tx<&ls8PWU$N0a_q<z#3z>BiJVOJ;#+P{y8)Jjtv(EV!YR#-So6wv1XeFUl zO<Ps-9GH6L`dD<R>TD5hWub<)BGwEGJ|djROPck*3<7v`K*)NFR8yvVzLxYp{HruA zdDKf4%f@kIa8f6@u4w+U=$_DCAC>NU<@%*$pzb5leW8Y8x_fVeT%b7_KOTAN52m@^ zzP~ev=81xe=Hv><;9_1U?Gz!fh<ZdYF~`O1rT0^ppo^0>F0y+W3YG<@=l(xkv%fG* zg+8H9OVy`~VuFUL?;hVtKQtbu1)V~{VBAmNgmd}(h?EB6=|S$Dhp)T?Ysg^Br<MuR z_4A=|H#F{z>Ds?2y-Wv0Z}+^5T_P({Dw`TSr?GMD%&ouNqOex~VqH}kJTt?89O>xh zI}a}+Vk*1WbvwMK5QT-9G+$yR4<f=sQwElgVaC3QJA@MrJym$j7$hyM$fdD7+oeHv z1iO<xvba1FqhS$e!U*jP9(Y@n_f1L;@_LZi{SRDBd-i%9g{PQ(#yCZc{+3^;;>V7K zCd#Ux@`d~iW6^yf2>E9Y6d5OrkpG-m=MZ-aU@uvDrywX$oqQQZz!Zv3a0xJnqqC2r zAVbp0$ANqfO9xy9%%SOkmjE9TN4f4Y;A7%A!z+MKh?5Mj0zM@kV;G+wh);>f89og7 z3GpPuM*u%1OoopFep)=k@G-!r#j^|_2mERA9K$C7e@2{P_$1((_$<Sx0Dn%LW%x0` z&x<<4p8|YNoM-rPz!${l8GZur3*rk5KMD9n@e;#Ni7$#T!KY(7PwzeRK`wZYzAV-d z=6@Qke?`2^tv?I+6>*W_Pm8aLSJBgR>^=Gnme*@+%6_!oBgIYtz(=W9aj`m}bCgJ1 zSwWnXwelio6-3@DiUK}hDB|OV5-=|h4r5`*_IzY}g_(|XKg>}q;{z*iHv{(`&inno z-@_4<Bj7$mI5je1=OR|1Nq*)QvP(Y2SmQWHSVdMX5b3goWBsIq(aLOXe%s1j+g!i& zn^t~(<HqHin@~KruV3BVy0m%8s$AOS%=H_1C~mB8ZERivRJy+LwarW01QxfiURu9# zdFu^LKCr)l9g-&KaG!((EwdsH_4Pkio41-QKk%CF6oyIS)c-pq<DR!6#3v%()1>tv zr6~9`MZqJ@ahm6}z-f`w5~pQOE1Xt2UE*|^(-lrvIX%Sb;Zvy~18+}S96^k|5y3|Z zM&2<lbDYx?(7#Up@C5X)oH)haKVz8b{Uvm>9O24-LabiQ?PG%<sV#fb7Z}g^qiP5m zyQtO|QN*UzW3|isDhMA|>}Ioz2!7JO!X@Q5phxdD6p%5q94^Ztw3jH4c5iQ!lGiDD zgOaaNa+#8^Q}PW;t{@4k&;*=D6I@MfE1#qWEW!+_;fU?+-1Wn<+iTcD;M~ctofu*0 z?NCeKrQ}1w$NL^N)u7}pN^DAQAyFPnc8^slJB=h<b^Y#_UOIn)+>=h=ww<ujh_)`* z@o}sg@0t^5QEWlXc3u89trpr3Q-#%R-Z=QLYE-$@GD;8VG$rPxNiQc!CR$}QQ~sma z6!s}pRSXsdjXQ~>t!TU|g2j!_yeLQuZY`-pP`F&v?%DK#NOxB?hz*}U?16+b@7bQ) z#rGK`(h$*sDExIq^T&<F+5D9V$o;kp*C_&CwJxTuAP{9ELO_1_05mj0DLfWjIZ<1x zno^v3R<oW1^0K0FpyHe-o_YJhk7>@?N-43GlGp`g5v6R>91;ie9FmJ$+J&c5tXO_U zA+@IbCFEAb!qwi$kF;RK)5jz#KlTU+Gz!g>B(^5gS)9`V|CEp=3{v^Qibh3z5GEGH zazpi*#8PuBXeDM~OM(h$&cT*S{8YpCgpRG&*9XK}la&W!O>%2K)>PuJXJM`NwIJ4; z8cy*ieZ&z7p{|vgL2VMX^YNw<f3M+vN~d<Bw-1PU!l869=C2)yIhFXwS(qn!TM+YC zG^})*k9|KD9luYk!xIN$OeOwF!<hU?O6+ql3u5~63`~=sq|HK<6oC0mK_&i8LzE7P z6r$A0f_Q3i!AZHspYdsfknF4XB7<pF5srPIk2I+?|EVFJ5XbU!r3KM`Q+1mZbW<Ii zTG<(kkkqXCs8fmm)=+<1r^M7=7aYk|4LhBsC)<>cQ?2-n!O#Xae=t<yf3?9pJAW{; z;|0g_4GlqkJPCL5qC+92cm7bQL>`-Fym3CI4`oW93y$Jzi;M!=v{r1!Y>>)6e+X1! zSsTLRGlzf<7sUTH4YBcASd{o=XUxZ(N*vcPKR%B6BXQ1G=is~$smUgqk1&;ZQbU*= zYf5THM;Z%Kc$NejJNQ_X*ksDh$DK+%r{SKEKvR2Na3o)!LHDsX7n%YxM&}QMO4PMs zJgHB?WS0w$;nLhOEIJ8fMbF2cO1z|DPsbjLfh6{i#PjQO@m`4JWcANSno3;MkUlnv z^x~3bmfEYk9kfA7sTkYx>IJ(6=3`BcgV!~z6QtIATaZQOA|8226n?S6I*B;BGUg*r zCAQ`w9`&{$;<HT8g}CFb1JR`tH#Kw<rsv{(F-tXXk+*4rt`n-ceITAx;(HpN3Dul? zS&*Ky_QsJz>|k_n9f&TK*wxTY?2V(Y5;#L8OS&KSjD2!H7{40fZ}>iB7Z`eUyo4n% z&5uE^I%?E~L1L1Ufol}NrUKW_;(`1v<KOBJi<6;i@2!$Y=96%=k%MV0*iQKbJ_$!t zaf4G#fzc|L-(o~E$xIZ50F3@Aj2<JC5WSPNr3x^rH?Dt7)<|?Sr}Z%fN$+Utt65_l zE3CSo%%9)FBm(otD%&6Hj>bFcM!6xjIa2Dw4oBm281Gfc8*iPG*C^qCQo;u=WEy*9 z>@RxY5(`B-WUn2PLXrHVA7U5d&SL87J_*@p0Hn<1xBufoQTT5F2{((>J*ICv6q6#Q zFmE~^_jspxYAE1g#(qVwexmlP;vnH$O$0o>e~Lke9L3pBWAu3uVtVCYexy=NF^UeE zK{0yuC$lJ~W9uu5q4dWs3dy?)oYep_c*x><|8Yp(w@}@?M#*(b_#mGXKK{9ZyuXTx ziZG<l=oZ?%IHc1v;*esSR0bk>+teq25OR|s`YHrd%?jMNDPs&BiVONFp+ke_2&A#& z&nN`R*s7fwi+kV?tHOMj|Bs_*qPqMV<u?do?U9bUq!9k7j+$9v9gBy0geWLFp!T7f z`@|Cz1+`jUK2u$)79ZuWSel5N`dqbKEptfCR_!R$&8kGA;FgVl?m)|iv9=!9vg>Yi z{;LkcX_BlbrWV2JKL4LmFGpog>1F6Y!{B3}=zX5vuj=o6_*h8(%ZoEnHVRMvqe^|n zb4;T(x414+W!Nd5w8}3`$p(-g%Z%7jEs?PJviykpBK;c<{-PHjGvkC_`^&8UR_gPs IXOI^E58OOVBme*a diff --git a/twilio/rest/wireless/v1/sim/__pycache__/data_session.cpython-36.pyc b/twilio/rest/wireless/v1/sim/__pycache__/data_session.cpython-36.pyc deleted file mode 100644 index 0064660c337e7ad159f26e796270a86e9140b272..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11888 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 diff --git a/twilio/rest/wireless/v1/sim/__pycache__/usage_record.cpython-36.pyc b/twilio/rest/wireless/v1/sim/__pycache__/usage_record.cpython-36.pyc deleted file mode 100644 index 031f350fdca5242b90cec53c086656166bcdeb3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9912 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 H_FDI!FnVG( diff --git a/twilio/rest/wireless/v1/sim/data_session.py b/twilio/rest/wireless/v1/sim/data_session.py deleted file mode 100644 index 26b1d14..0000000 --- a/twilio/rest/wireless/v1/sim/data_session.py +++ /dev/null @@ -1,346 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import deserialize -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class DataSessionList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, sim_sid): - """ - Initialize the DataSessionList - - :param Version version: Version that contains the resource - :param sim_sid: The sim_sid - - :returns: twilio.rest.wireless.v1.sim.data_session.DataSessionList - :rtype: twilio.rest.wireless.v1.sim.data_session.DataSessionList - """ - super(DataSessionList, self).__init__(version) - - # Path Solution - self._solution = {'sim_sid': sim_sid, } - self._uri = '/Sims/{sim_sid}/DataSessions'.format(**self._solution) - - def stream(self, end=values.unset, start=values.unset, limit=None, - page_size=None): - """ - Streams DataSessionInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param datetime end: The end - :param datetime start: The start - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.wireless.v1.sim.data_session.DataSessionInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(end=end, start=start, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, end=values.unset, start=values.unset, limit=None, - page_size=None): - """ - Lists DataSessionInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param datetime end: The end - :param datetime start: The start - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.wireless.v1.sim.data_session.DataSessionInstance] - """ - return list(self.stream(end=end, start=start, limit=limit, page_size=page_size, )) - - def page(self, end=values.unset, start=values.unset, page_token=values.unset, - page_number=values.unset, page_size=values.unset): - """ - Retrieve a single page of DataSessionInstance records from the API. - Request is executed immediately - - :param datetime end: The end - :param datetime start: The start - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of DataSessionInstance - :rtype: twilio.rest.wireless.v1.sim.data_session.DataSessionPage - """ - params = values.of({ - 'End': serialize.iso8601_datetime(end), - 'Start': serialize.iso8601_datetime(start), - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return DataSessionPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of DataSessionInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of DataSessionInstance - :rtype: twilio.rest.wireless.v1.sim.data_session.DataSessionPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return DataSessionPage(self._version, response, self._solution) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Wireless.V1.DataSessionList>' - - -class DataSessionPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the DataSessionPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param sim_sid: The sim_sid - - :returns: twilio.rest.wireless.v1.sim.data_session.DataSessionPage - :rtype: twilio.rest.wireless.v1.sim.data_session.DataSessionPage - """ - super(DataSessionPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of DataSessionInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.wireless.v1.sim.data_session.DataSessionInstance - :rtype: twilio.rest.wireless.v1.sim.data_session.DataSessionInstance - """ - return DataSessionInstance(self._version, payload, sim_sid=self._solution['sim_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Wireless.V1.DataSessionPage>' - - -class DataSessionInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, payload, sim_sid): - """ - Initialize the DataSessionInstance - - :returns: twilio.rest.wireless.v1.sim.data_session.DataSessionInstance - :rtype: twilio.rest.wireless.v1.sim.data_session.DataSessionInstance - """ - super(DataSessionInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sid': payload['sid'], - 'sim_sid': payload['sim_sid'], - 'account_sid': payload['account_sid'], - 'radio_link': payload['radio_link'], - 'operator_mcc': payload['operator_mcc'], - 'operator_mnc': payload['operator_mnc'], - 'operator_country': payload['operator_country'], - 'operator_name': payload['operator_name'], - 'cell_id': payload['cell_id'], - 'cell_location_estimate': payload['cell_location_estimate'], - 'packets_uploaded': deserialize.integer(payload['packets_uploaded']), - 'packets_downloaded': deserialize.integer(payload['packets_downloaded']), - 'last_updated': deserialize.iso8601_datetime(payload['last_updated']), - 'start': deserialize.iso8601_datetime(payload['start']), - 'end': deserialize.iso8601_datetime(payload['end']), - } - - # Context - self._context = None - self._solution = {'sim_sid': sim_sid, } - - @property - def sid(self): - """ - :returns: The sid - :rtype: unicode - """ - return self._properties['sid'] - - @property - def sim_sid(self): - """ - :returns: The sim_sid - :rtype: unicode - """ - return self._properties['sim_sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def radio_link(self): - """ - :returns: The radio_link - :rtype: unicode - """ - return self._properties['radio_link'] - - @property - def operator_mcc(self): - """ - :returns: The operator_mcc - :rtype: unicode - """ - return self._properties['operator_mcc'] - - @property - def operator_mnc(self): - """ - :returns: The operator_mnc - :rtype: unicode - """ - return self._properties['operator_mnc'] - - @property - def operator_country(self): - """ - :returns: The operator_country - :rtype: unicode - """ - return self._properties['operator_country'] - - @property - def operator_name(self): - """ - :returns: The operator_name - :rtype: unicode - """ - return self._properties['operator_name'] - - @property - def cell_id(self): - """ - :returns: The cell_id - :rtype: unicode - """ - return self._properties['cell_id'] - - @property - def cell_location_estimate(self): - """ - :returns: The cell_location_estimate - :rtype: dict - """ - return self._properties['cell_location_estimate'] - - @property - def packets_uploaded(self): - """ - :returns: The packets_uploaded - :rtype: unicode - """ - return self._properties['packets_uploaded'] - - @property - def packets_downloaded(self): - """ - :returns: The packets_downloaded - :rtype: unicode - """ - return self._properties['packets_downloaded'] - - @property - def last_updated(self): - """ - :returns: The last_updated - :rtype: datetime - """ - return self._properties['last_updated'] - - @property - def start(self): - """ - :returns: The start - :rtype: datetime - """ - return self._properties['start'] - - @property - def end(self): - """ - :returns: The end - :rtype: datetime - """ - return self._properties['end'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Wireless.V1.DataSessionInstance>' diff --git a/twilio/rest/wireless/v1/sim/usage_record.py b/twilio/rest/wireless/v1/sim/usage_record.py deleted file mode 100644 index 70b3418..0000000 --- a/twilio/rest/wireless/v1/sim/usage_record.py +++ /dev/null @@ -1,271 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -from twilio.base import serialize -from twilio.base import values -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.page import Page - - -class UsageRecordList(ListResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, sim_sid): - """ - Initialize the UsageRecordList - - :param Version version: Version that contains the resource - :param sim_sid: The sim_sid - - :returns: twilio.rest.wireless.v1.sim.usage_record.UsageRecordList - :rtype: twilio.rest.wireless.v1.sim.usage_record.UsageRecordList - """ - super(UsageRecordList, self).__init__(version) - - # Path Solution - self._solution = {'sim_sid': sim_sid, } - self._uri = '/Sims/{sim_sid}/UsageRecords'.format(**self._solution) - - def stream(self, end=values.unset, start=values.unset, granularity=values.unset, - limit=None, page_size=None): - """ - Streams UsageRecordInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param datetime end: The end - :param datetime start: The start - :param UsageRecordInstance.Granularity granularity: The granularity - :param int limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.wireless.v1.sim.usage_record.UsageRecordInstance] - """ - limits = self._version.read_limits(limit, page_size) - - page = self.page(end=end, start=start, granularity=granularity, page_size=limits['page_size'], ) - - return self._version.stream(page, limits['limit'], limits['page_limit']) - - def list(self, end=values.unset, start=values.unset, granularity=values.unset, - limit=None, page_size=None): - """ - Lists UsageRecordInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param datetime end: The end - :param datetime start: The start - :param UsageRecordInstance.Granularity granularity: The granularity - :param int limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param int page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - :rtype: list[twilio.rest.wireless.v1.sim.usage_record.UsageRecordInstance] - """ - return list(self.stream( - end=end, - start=start, - granularity=granularity, - limit=limit, - page_size=page_size, - )) - - def page(self, end=values.unset, start=values.unset, granularity=values.unset, - page_token=values.unset, page_number=values.unset, - page_size=values.unset): - """ - Retrieve a single page of UsageRecordInstance records from the API. - Request is executed immediately - - :param datetime end: The end - :param datetime start: The start - :param UsageRecordInstance.Granularity granularity: The granularity - :param str page_token: PageToken provided by the API - :param int page_number: Page Number, this value is simply for client state - :param int page_size: Number of records to return, defaults to 50 - - :returns: Page of UsageRecordInstance - :rtype: twilio.rest.wireless.v1.sim.usage_record.UsageRecordPage - """ - params = values.of({ - 'End': serialize.iso8601_datetime(end), - 'Start': serialize.iso8601_datetime(start), - 'Granularity': granularity, - 'PageToken': page_token, - 'Page': page_number, - 'PageSize': page_size, - }) - - response = self._version.page( - 'GET', - self._uri, - params=params, - ) - - return UsageRecordPage(self._version, response, self._solution) - - def get_page(self, target_url): - """ - Retrieve a specific page of UsageRecordInstance records from the API. - Request is executed immediately - - :param str target_url: API-generated URL for the requested results page - - :returns: Page of UsageRecordInstance - :rtype: twilio.rest.wireless.v1.sim.usage_record.UsageRecordPage - """ - response = self._version.domain.twilio.request( - 'GET', - target_url, - ) - - return UsageRecordPage(self._version, response, self._solution) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Wireless.V1.UsageRecordList>' - - -class UsageRecordPage(Page): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - def __init__(self, version, response, solution): - """ - Initialize the UsageRecordPage - - :param Version version: Version that contains the resource - :param Response response: Response from the API - :param sim_sid: The sim_sid - - :returns: twilio.rest.wireless.v1.sim.usage_record.UsageRecordPage - :rtype: twilio.rest.wireless.v1.sim.usage_record.UsageRecordPage - """ - super(UsageRecordPage, self).__init__(version, response) - - # Path Solution - self._solution = solution - - def get_instance(self, payload): - """ - Build an instance of UsageRecordInstance - - :param dict payload: Payload response from the API - - :returns: twilio.rest.wireless.v1.sim.usage_record.UsageRecordInstance - :rtype: twilio.rest.wireless.v1.sim.usage_record.UsageRecordInstance - """ - return UsageRecordInstance(self._version, payload, sim_sid=self._solution['sim_sid'], ) - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Wireless.V1.UsageRecordPage>' - - -class UsageRecordInstance(InstanceResource): - """ PLEASE NOTE that this class contains beta products that are subject to - change. Use them with caution. """ - - class Granularity(object): - HOURLY = "hourly" - DAILY = "daily" - ALL = "all" - - def __init__(self, version, payload, sim_sid): - """ - Initialize the UsageRecordInstance - - :returns: twilio.rest.wireless.v1.sim.usage_record.UsageRecordInstance - :rtype: twilio.rest.wireless.v1.sim.usage_record.UsageRecordInstance - """ - super(UsageRecordInstance, self).__init__(version) - - # Marshaled Properties - self._properties = { - 'sim_sid': payload['sim_sid'], - 'account_sid': payload['account_sid'], - 'period': payload['period'], - 'commands': payload['commands'], - 'data': payload['data'], - } - - # Context - self._context = None - self._solution = {'sim_sid': sim_sid, } - - @property - def sim_sid(self): - """ - :returns: The sim_sid - :rtype: unicode - """ - return self._properties['sim_sid'] - - @property - def account_sid(self): - """ - :returns: The account_sid - :rtype: unicode - """ - return self._properties['account_sid'] - - @property - def period(self): - """ - :returns: The period - :rtype: dict - """ - return self._properties['period'] - - @property - def commands(self): - """ - :returns: The commands - :rtype: dict - """ - return self._properties['commands'] - - @property - def data(self): - """ - :returns: The data - :rtype: dict - """ - return self._properties['data'] - - def __repr__(self): - """ - Provide a friendly representation - - :returns: Machine friendly representation - :rtype: str - """ - return '<Twilio.Wireless.V1.UsageRecordInstance>' diff --git a/twilio/twiml/__init__.py b/twilio/twiml/__init__.py deleted file mode 100644 index 97892de..0000000 --- a/twilio/twiml/__init__.py +++ /dev/null @@ -1,124 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -import json -import re -import xml.etree.ElementTree as ET - - -def lower_camel(string): - if not string or '_' not in string: - return string - - result = "".join([x.title() for x in string.split('_')]) - return result[0].lower() + result[1:] - - -def format_language(language): - """ - Attempt to format language parameter as 'ww-WW'. - - :param string language: language parameter - """ - if not language: - return language - - if not re.match('^[a-zA-Z]{2}[_-][a-zA-Z]{2}$', language): - raise TwiMLException('Invalid value for language parameter.') - - return language[0:2].lower() + '-' + language[3:5].upper() - - -class TwiMLException(Exception): - pass - - -class TwiML(object): - MAP = { - 'from_': 'from' - } - - def __init__(self, **kwargs): - self.name = self.__class__.__name__ - self.value = None - self.verbs = [] - self.attrs = {} - - for k, v in kwargs.items(): - if v is not None: - self.attrs[lower_camel(self.MAP.get(k, k))] = v - - def __str__(self): - return self.to_xml() - - def __enter__(self): - return self - - def __exit__(self, exc_type, exc_value, traceback): - return False - - def to_xml(self, xml_declaration=True): - """ - Return the contents of this verb as an XML string - - :param bool xml_declaration: Include the XML declaration. Defaults to True - """ - xml = ET.tostring(self.xml()).decode('utf-8') - return '<?xml version="1.0" encoding="UTF-8"?>{}'.format(xml) if xml_declaration else xml - - def append(self, verb): - """ - Add a TwiML doc - - :param verb: TwiML Document - - :returns: self - """ - if not isinstance(verb, TwiML): - raise TwiMLException('Only appending of TwiML is allowed') - - self.verbs.append(verb) - return self - - def nest(self, verb): - """ - Add a TwiML doc. Unlike `append()`, this returns the created verb. - - :param verb: TwiML Document - - :returns: the TwiML verb - """ - if not isinstance(verb, TwiML): - raise TwiMLException('Only nesting of TwiML is allowed') - - self.verbs.append(verb) - return verb - - def xml(self): - el = ET.Element(self.name) - - keys = self.attrs.keys() - keys = sorted(keys) - for a in keys: - value = self.attrs[a] - - if isinstance(value, bool): - el.set(a, str(value).lower()) - else: - el.set(a, str(value)) - - if self.value: - if isinstance(self.value, dict): - self.value = json.dumps(self.value) - - el.text = self.value - - for verb in self.verbs: - el.append(verb.xml()) - - return el diff --git a/twilio/twiml/__pycache__/__init__.cpython-36.pyc b/twilio/twiml/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 89c1eb4c357243d017d3f510dc1c997a826d9629..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3629 zcmbVO&2t+`74P|yM`PK}dh=0P0!*1~VpU-|uuG9LjyJA&LoFl*HV)a+Dmy!#ZaX87 zHA+t_wzcC63LL580tXJ9x$%E+;oMhF`4@8H_j+VSG1)2#spj?P>wf)vzkaVjnwty$ z`LDmVlUc_8&8B`X>UZ%KI}n_;8MnBdS#8UdcH1_k({;OEyT%>vzGUqg?(rH*|L2U) zaQ`LazNn9!c7S%B2WSUk7VQSNAF<}_Fb;N}rA3(JT!cq)5$=ngkg*ax+&u|8;c6I# z_(4SFxD3KFT#lNZRfy%N?5vhyxx9)QFMiaz)w&hX{1A%OZ#8%Y<Jop%QGuV0j}CSZ zU$F&IvIZ;WxmB`*8M#=pM~vHDRvo8gT^x2~ZLtyLsa0CsyUM!uh@n>F?DzInb_E*E znQd)Fn!UA)gT)`wE*By8vCq>6t<Ys7_9y$f`-uIWH7)I_RAr)RYrAzzTgQ@YGvf8* zduyG?g^)$(H);D>oOd?+{jFHVod<amXPq5!*zfey{>ttk&G^bkMV9ZK6h|F(lxAr@ zRUBrWC`x;&ilSEk<aMx~rG-lJ!~Vu1Sx11>*zo&Vek5d+#D^klt!K1Fv4P6jTuA`F zBGGiT+s)IS_KJR%D(x9foS;@HnfCT|O^RZWsW(TFKGgK=)DH9LD5#fN^OkFWV95)p zPvE0%CQiDGMv2+v8f6?(vXNa}Q#Q9p*6-jrau&Iw>x>xpu3$EtGh=$(QRN_i*fq@9 zR0_DMQ03uXE)QcBW^r$S5bukyA4?ow2^oTiH;;~1o;<nP3XIm884IiPO*GafwKuwE z`taIUU&brL&6W1kZ+?9GWwi2is(F3*;b*-UahCEBav;c#cP!MZ04MLfwpLydnO=Di zO;6iWXb+|*&-DDxQTp(~r^kutt2FP)In2=Bpx+k~-15)PcHR{W)!C!7@yk#v0ti-f z;f{vo+wudn66!kpkyGyCD;f}jAq+4I0bsu^ub^ui#PFl22N0u32T^pG^Fc=SMif0C z#91{mWsBiDvB2nmNNdx1eap1p+MLdRmnQrc;?3sVPOY{xjy>);_IOp~K}<3c2Qldq zZ}7R7R@>+Ed;!s^&M)xyPzHRFzmIa3U&JvkYtO)`y*-&9M%txf!bviA2H!8wtUz!8 z8%q}19E^(`y5f<WlJt&0#zn7<*cN-b+_6vXQ>Sz|JE+SWr2{=r%|QCydTE#T2rOP_ z&u=_IjD;1}b~DiRC`z)pD56My2m5K4u+yF)3<@E43+=^9Nfap<U6}i$orjyh*3Q0A zO;@{x$o6#Y;3$^+g|-f~^<oNob0gucaa^D?(Vb*gVAbevFIv7etmxG`n>N9Ms6gL6 zeC8Sx7NfECmaeHhIzG&rmTY3e`CVtC2p1`eZj&<kn_0s-13We|Bk$ga96&Ju2$?0n zWqCj+dbq_=^s}iA7S1*pk0rDk{ivKAg&Gy3x9?YbxaJ7j7spAYPWnREsaE-+u4J5u z-8eZoe?$N)jw#@7V8OF9PQa{&b`o=TOdxJk-Jp2`6^e2|6lrE;bsb7Tr*>({B_t*n ze8H6~DSJA@zl^h87=A9)K=wlQOdyxy_&rsG`5xLxu0$7#X>l+7;^BjF6srOoCCPDc z+s*SVgx4Z2Kt1GO#FMq~vtE)7keg{?Ql1)Yg<E1TMxZY!n(oMfm{>FP25N8R_HcRq z6Rb!E6j<%f5;F8sD0;~D$P; `D>=xxMts#y6)F)jr+PzRJfr#DSi!VK+Psbgc?k zO{a3k!Z|DDPl4Gv7swX+Ht`k4(Y1@#uu)N<;^qW=0-hXTz+XZ|A-5|F31$%q2GCQ2 z>Ee-7qHa|Lw1;0!j=ITt7>8!*kmt#N!Ajt-jmNk0WN--AOihx;Z^c?jw{^1UaOqdQ z>?Dj4$9n`7xw6^<?u;`^q#Te1X_58{755S$zX#Jz*p$~%)3r($p_#6rcFBzM5Upe6 z7x=0~><5VYjR{PZ{{Ib=NejcjPEK?VrdIg4m!$_H{JPp_x%u@EE3%FOshBK<c?y#8 z<4in7*#8w-qHYBqX-q5{h6dxFDAcziEGdMXgH{r3V_fAO8YhNT!bDY<miz*JZ{r$N z^rOK^e5+v=C3Qo-f1onC`SjQ{v>UNgTX}TrPwnITrHzcTfoy`Y(z(h`T~#YxH8Zm1 z=g2sI>8N_?B5DMP9k#`uU!U%+dY*v9-C6lZXrfdN=>9>?b?2!yqI@<>wbF_fj<2D1 z0Xr_9dRXVZ((5i#Ov1W<#wz4vWUKe(Phh#8`7{$mZb_F&QZm=>fjBAfEX*Yy^ae}q zQkc<BAryp?=D{L=U?%f4QFvJvIbN20aM&-jtHiM~d^Vt)d)};7jJ8E4?~<Ms8~t~= z!YJ%vQbD(aSq&Q;M}`YfUbZjVHLGFG+r;`sdswghgV?g&w04>elX&Gd=*jPrxJhD# z#43qfBt9lVk*2bbqW$?`WXNIOIAjA|#)6*RzU@1HfDiwm?$7)4hGxw<jr52(g2aEH zR=WhDFTtpmP*RB27~~z)wP(8Y>{Op|g?S5@_nWT2c^c9aP1o|>u1Hix={LNc7^(gB Y>eaSEPaX3laBUx;H5}jf7cRK}0VgC)_W%F@ diff --git a/twilio/twiml/__pycache__/fax_response.cpython-36.pyc b/twilio/twiml/__pycache__/fax_response.cpython-36.pyc deleted file mode 100644 index 078a56755a046291978e40916f3f3b1615aff1e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1527 zcmbVL&yU<R6t<I0GEH~s(k?|pJ@|mc2B|Yey^X3BRVz5KtVG!&5k<1Rv1d1n^8-86 z>5g*Sm3r%i0~aLD{4HEK=gNtHffMf~nPF5d7cBYNFMjcR-}gR0-rWs<|Kr#ACzp^v z$=2{-|2a&HMv|CFDjiK@3ahJ~+>PDbi#<xdB+`?kYa&O=y>jCb_`VFl4?5qM&bK5Q zuS9rqo>`WbQn975>`WEPh+0W@dKo5c$~c1ohBw0+vW6Y-D4Bve;7u}ZSaUFih*zIY z9!(yF7|-CxeoVu^pipugIqm3VnSFiK-kFys7d6+SI9rG_mE!q&0NifaPhn96V3F97 zG<M&RIRKUJ^*HuqAV<=_rt#<v@ks0=koNW$;`Iw<tFo|a^?*HD?+;m*mO)kqAque4 zA&CPkCcF*PJ^)jbnl|Lhxp3yBp>HV#b{oQ7Ng#!D+>Y0mMqWFzi%J=T{b<LWXGK<X z-g<?|6=3zO((~5;VJXa+jc9v|^Hd9KIsc9P{r$69^3p0}lW(&4T$IVvs(LPJksOt& z(8-C)tE9@Rho_57%ZHDxF6WnanbgZnXXVzC>trrob2FfxRF@`za_%7<tc%dQbhW?5 z%Vb^Wak?fN<9wK3!L%QNX~+ezfcP6A{uifle|Fx|D~b%P+M&CQJu?ba!UPhXs_d0I zWJ;@C6?M3YnN`AwoQbr~%3{Wbz`<uPUmU#~nXCG|ls84P{^;EwdVXh2NSR?0p_!;_ zlbtSVWw#13s$Q7F&Tgo7&?$qa`F*9W-zSTl*ejH++hC|X^2{w@$h?Q<4w?|n&c^J* zt_@62$cNxqlo$zD_qLlboP(f_qX4yongQ*Eoad!nXx#5`{^LUE;UwT(mMQ05d(Hcp zWp@x%s<eiKO$`w>C})GEbmH8Djl~X+spsr?-M19n%~&hJGWhggPp*4tBhY|n@WR#o zEhhW-^_?=O|Nm)qx5DLEXt(d7j=_zbo^|AUjjn^+K}5lS0`p(N?+xABh&}SnU5GIF zF3dif576MB=02L6$wQnU!|ZNG^7<Ns?(f#Suw@bN^lx$kORfzz+aR4C$vuqC-F=o$ WA>$`~pAWGFix@p;O!xe~{eJ)*iC=X9 diff --git a/twilio/twiml/__pycache__/messaging_response.cpython-36.pyc b/twilio/twiml/__pycache__/messaging_response.cpython-36.pyc deleted file mode 100644 index 396d5ca95a5118465f56df192029811a6a01792c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3919 zcmb_fOOG2x5bhbzjK|*fuJa%-9%*twnL~C1fs3_735h_6#K0!uU|AZ?y4$;x%)@k# zvs!CzSt++%5fXwk{1t@6d9IxJ3!JFxdH4}Ku!LT9P4`T7ch%QbUwLn|TFqa7|Ec%U z8X<p>nP$NF7IZlR!AOrVjp>2b)8JVP^sv^eg+|ZN$Y+EZ%seK{<h5tDo(Xe{)nQ&& za|`A+Yrwpr=5?4i*&58()ZB*oI%~narREK$KOoM=#A`l0@Fg9@jMGC;(tRFr;U%2W zy`yHIZc~>+1L3B{vq@8W)ph#YAg;P;e><h=)osvt`u^7St?NzHr?4<@+s!}0G17JP z%zSw0-@lh_4r38|i5qy){@B~+1N>e#s~E@+VZaH%KzcgUdbQ_d2*9w~vE4IRgPF`a z)_NwmSZ6kjtmniay*jwGmYurKrS$gwXn&W>Q5;D=xlDJ;@lC4CpkM{f6*;)C73b>k ztU-rsBJwQ|2}!h+JkuZRLy~GQGz~5&C2oxoI7{zlcDb)(WTqUCxDa@yneDoM<R`A1 z8Ic!qaNm$T7-rU!Lr?5WN6Q+nI|w`}UH515mwTtve<Zn({jdGrffx60k4AUB#OvRS z2VT&B$iq>8<d3fHjs1XKyCH*kcq9+|$)O+k@ysI(`eEt4D+>3wMn|F!Mx8;Y&^n@> z)+U!;f@!O?xjR60Y&P^J^e>>xD<D$x7!W}$Qa!DuMrx)O(|)kh`gi&Z?U{zCc)tLg zMI2CiM{tNI>d~D7?wgbcJmgW*taLgfPk15Si`h}9ycPNh%oa70xI@1>h$BwB<8Y4) zn#5G{h*gV{cyY;4#Nj_ILY2j3-XQVgs6%h7Cw;VgZ&4%U$wAC!HNXmdwWuf)FBwZ0 zE;88j22VQlfqFs97r6Nry~{^}4^-;;5gmF@Awc6H&F$D)+%pfO4)qxG(NHg-UXloZ zZ=7&B1FYc5SVXe31pOjIsbggZBA@9=oSBG)n_2m>nUy=4Z7%qL@f>lPWcA`w9a}UY zJj4cyO%!bur%;?mfx#y*l*D=^S}@A$dBF1XFp;>3Y}%S${aM=N;>(d*tQlagV#BC5 zp{qE(1cN+IQw>-HBGuQ@+B7~Vzg1{XgL9WNAMj6BN9R}s9a^frDj;TcXbxa?U=isj zzrJ$QseR@BDSRDWoCUX$k8(d8LtRK#1GDoRSO&f=3ia!-SR(t8<}zj|)f}s<nxl0c z8%Yky4M?u(x?#-50gl&Q_uH`-6kqDD%i@9SDh3kg-~e$EMAj<kZ@_~9zE(luXadPs zU~DKV#gLF_yR8}ex<Rz&1@(TeZj^B#DJZV08>&W_z)*(3V4IxBs!-l~UKPIKVvi0K z4xoX%Vpr7w*>A2I0N<6>0N9YYMo|;g=8h?_mZ@>>I#Ow7KJ|hzcWQaETtE$Ut#n$U zpgczcz6D*XiU@oSd2p(<wjyfB5*X~_O%zzJ#M>xvv3Li?a#+#(kD;q#fUqhv=Kxh@ z0#!Z$F$*Ybs8U>G#&H8mF&1J1g&4~)nJL3f@dhlMoSWgD8HBsbA$|{*tcF-znTHt< zC}GC&6lQT5KNTP=Mp_N>=b$R_Zm=j?nxReF1*KIe&l!urD3(E1o3cz=RzGd>W0mYv zcEMUU&D=_%V1t6qUS0Z5P8suumUK}vg@K<-kW^kSAqd6iUxKGOH#8>eB{*0yP6*8R zmETif?n454tC3Nht8|tT?#UrpIBpRWQ++Q%snT<rMv9g)GeoO<GqAKuSkxEAj;k|M zMI_S6t8x@0`cpgsV-s_9!?M>@QqAQl(i66SOMLHw?&K_HrNTYW$!<K3UYqrB=Q15} zydoVdP?vL_kG{-s-i9)?O2z+3cxcZMcgE~hgokfl3rGqZOwQ1qJjwn?9C70kM;x!f zvC7!xI0{%fi(?Dzd|epPoESH*V8l00Q&pYJcr4?nx1Ol~Nw(k-1_CRoz!+5}JFkX{ lt5t;H>Y3cCs$XXB<i93vVkMK9FNSVwZL58)-DuNx<8KT;NB{r; diff --git a/twilio/twiml/__pycache__/voice_response.cpython-36.pyc b/twilio/twiml/__pycache__/voice_response.cpython-36.pyc deleted file mode 100644 index fb20e7c578ce4e92813045e98f3a48415d845689..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22916 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 diff --git a/twilio/twiml/fax_response.py b/twilio/twiml/fax_response.py deleted file mode 100644 index 81d7ae3..0000000 --- a/twilio/twiml/fax_response.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -import json -from twilio.twiml import ( - TwiML, - format_language, -) - - -class FaxResponse(TwiML): - """ <Response> TwiML for Faxes """ - - def __init__(self, **kwargs): - super(FaxResponse, self).__init__(**kwargs) - self.name = 'Response' - - def receive(self, action=None, method=None, **kwargs): - """ - Create a <Receive> element - - :param action: Receive action URL - :param method: Receive action URL method - :param kwargs: additional attributes - - :returns: <Receive> element - """ - return self.nest(Receive(action=action, method=method, **kwargs)) - - -class Receive(TwiML): - """ <Receive> TwiML Verb """ - - def __init__(self, **kwargs): - super(Receive, self).__init__(**kwargs) - self.name = 'Receive' diff --git a/twilio/twiml/messaging_response.py b/twilio/twiml/messaging_response.py deleted file mode 100644 index 323ea28..0000000 --- a/twilio/twiml/messaging_response.py +++ /dev/null @@ -1,117 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -import json -from twilio.twiml import ( - TwiML, - format_language, -) - - -class MessagingResponse(TwiML): - """ <Response> TwiML for Messages """ - - def __init__(self, **kwargs): - super(MessagingResponse, self).__init__(**kwargs) - self.name = 'Response' - - def message(self, body=None, to=None, from_=None, action=None, method=None, - status_callback=None, **kwargs): - """ - Create a <Message> element - - :param body: Message Body - :param to: Phone Number to send Message to - :param from: Phone Number to send Message from - :param action: Action URL - :param method: Action URL Method - :param status_callback: Status callback URL. Deprecated in favor of action. - :param kwargs: additional attributes - - :returns: <Message> element - """ - return self.nest(Message( - body=body, - to=to, - from_=from_, - action=action, - method=method, - status_callback=status_callback, - **kwargs - )) - - def redirect(self, url, method=None, **kwargs): - """ - Create a <Redirect> element - - :param url: Redirect URL - :param method: Redirect URL method - :param kwargs: additional attributes - - :returns: <Redirect> element - """ - return self.nest(Redirect(url, method=method, **kwargs)) - - -class Redirect(TwiML): - """ <Redirect> TwiML Verb """ - - def __init__(self, url, **kwargs): - super(Redirect, self).__init__(**kwargs) - self.name = 'Redirect' - self.value = url - - -class Message(TwiML): - """ <Message> TwiML Verb """ - - def __init__(self, body=None, **kwargs): - super(Message, self).__init__(**kwargs) - self.name = 'Message' - if body: - self.value = body - - def body(self, message, **kwargs): - """ - Create a <Body> element - - :param message: Message Body - :param kwargs: additional attributes - - :returns: <Body> element - """ - return self.nest(Body(message, **kwargs)) - - def media(self, url, **kwargs): - """ - Create a <Media> element - - :param url: Media URL - :param kwargs: additional attributes - - :returns: <Media> element - """ - return self.nest(Media(url, **kwargs)) - - -class Media(TwiML): - """ <Media> TwiML Noun """ - - def __init__(self, url, **kwargs): - super(Media, self).__init__(**kwargs) - self.name = 'Media' - self.value = url - - -class Body(TwiML): - """ <Body> TwiML Noun """ - - def __init__(self, message, **kwargs): - super(Body, self).__init__(**kwargs) - self.name = 'Body' - self.value = message diff --git a/twilio/twiml/voice_response.py b/twilio/twiml/voice_response.py deleted file mode 100644 index 7077b02..0000000 --- a/twilio/twiml/voice_response.py +++ /dev/null @@ -1,714 +0,0 @@ -# coding=utf-8 -""" -This code was generated by -\ / _ _ _| _ _ - | (_)\/(_)(_|\/| |(/_ v1.0.0 - / / -""" - -import json -from twilio.twiml import ( - TwiML, - format_language, -) - - -class VoiceResponse(TwiML): - """ <Response> TwiML for Voice """ - - def __init__(self, **kwargs): - super(VoiceResponse, self).__init__(**kwargs) - self.name = 'Response' - - def dial(self, number=None, action=None, method=None, timeout=None, - hangup_on_star=None, time_limit=None, caller_id=None, record=None, - trim=None, recording_status_callback=None, - recording_status_callback_method=None, - recording_status_callback_event=None, answer_on_bridge=None, - ring_tone=None, **kwargs): - """ - Create a <Dial> element - - :param number: Phone number to dial - :param action: Action URL - :param method: Action URL method - :param timeout: Time to wait for answer - :param hangup_on_star: Hangup call on star press - :param time_limit: Max time length - :param caller_id: Caller ID to display - :param record: Record the call - :param trim: Trim the recording - :param recording_status_callback: Recording status callback URL - :param recording_status_callback_method: Recording status callback URL method - :param recording_status_callback_event: Recording status callback events - :param answer_on_bridge: Preserve the ringing behavior of the inbound call until the Dialed call picks up - :param ring_tone: Ringtone allows you to override the ringback tone that Twilio will play back to the caller while executing the Dial - :param kwargs: additional attributes - - :returns: <Dial> element - """ - return self.nest(Dial( - number=number, - action=action, - method=method, - timeout=timeout, - hangup_on_star=hangup_on_star, - time_limit=time_limit, - caller_id=caller_id, - record=record, - trim=trim, - recording_status_callback=recording_status_callback, - recording_status_callback_method=recording_status_callback_method, - recording_status_callback_event=recording_status_callback_event, - answer_on_bridge=answer_on_bridge, - ring_tone=ring_tone, - **kwargs - )) - - def echo(self, **kwargs): - """ - Create a <Echo> element - - :param kwargs: additional attributes - - :returns: <Echo> element - """ - return self.nest(Echo(**kwargs)) - - def enqueue(self, name=None, action=None, method=None, wait_url=None, - wait_url_method=None, workflow_sid=None, **kwargs): - """ - Create a <Enqueue> element - - :param name: Friendly name - :param action: Action URL - :param method: Action URL method - :param wait_url: Wait URL - :param wait_url_method: Wait URL method - :param workflow_sid: TaskRouter Workflow SID - :param kwargs: additional attributes - - :returns: <Enqueue> element - """ - return self.nest(Enqueue( - name=name, - action=action, - method=method, - wait_url=wait_url, - wait_url_method=wait_url_method, - workflow_sid=workflow_sid, - **kwargs - )) - - def gather(self, input=None, action=None, method=None, timeout=None, - speech_timeout=None, max_speech_time=None, profanity_filter=None, - finish_on_key=None, num_digits=None, partial_result_callback=None, - partial_result_callback_method=None, language=None, hints=None, - barge_in=None, **kwargs): - """ - Create a <Gather> element - - :param input: Input type Twilio should accept - :param action: Action URL - :param method: Action URL method - :param timeout: Time to wait to gather input - :param speech_timeout: Time to wait to gather speech input and it should be either auto or a positive integer. - :param max_speech_time: Max allowed time for speech input - :param profanity_filter: Profanity Filter on speech - :param finish_on_key: Finish gather on key - :param num_digits: Number of digits to collect - :param partial_result_callback: Partial result callback URL - :param partial_result_callback_method: Partial result callback URL method - :param language: Language to use - :param hints: Speech recognition hints - :param barge_in: Stop playing media upon speech - :param kwargs: additional attributes - - :returns: <Gather> element - """ - return self.nest(Gather( - input=input, - action=action, - method=method, - timeout=timeout, - speech_timeout=speech_timeout, - max_speech_time=max_speech_time, - profanity_filter=profanity_filter, - finish_on_key=finish_on_key, - num_digits=num_digits, - partial_result_callback=partial_result_callback, - partial_result_callback_method=partial_result_callback_method, - language=language, - hints=hints, - barge_in=barge_in, - **kwargs - )) - - def hangup(self, **kwargs): - """ - Create a <Hangup> element - - :param kwargs: additional attributes - - :returns: <Hangup> element - """ - return self.nest(Hangup(**kwargs)) - - def leave(self, **kwargs): - """ - Create a <Leave> element - - :param kwargs: additional attributes - - :returns: <Leave> element - """ - return self.nest(Leave(**kwargs)) - - def pause(self, length=None, **kwargs): - """ - Create a <Pause> element - - :param length: Length in seconds to pause - :param kwargs: additional attributes - - :returns: <Pause> element - """ - return self.nest(Pause(length=length, **kwargs)) - - def play(self, url=None, loop=None, digits=None, **kwargs): - """ - Create a <Play> element - - :param url: Media URL - :param loop: Times to loop media - :param digits: Play DTMF tones for digits - :param kwargs: additional attributes - - :returns: <Play> element - """ - return self.nest(Play(url=url, loop=loop, digits=digits, **kwargs)) - - def queue(self, name, url=None, method=None, reservation_sid=None, - post_work_activity_sid=None, **kwargs): - """ - Create a <Queue> element - - :param name: Queue name - :param url: Action URL - :param method: Action URL method - :param reservation_sid: TaskRouter Reservation SID - :param post_work_activity_sid: TaskRouter Activity SID - :param kwargs: additional attributes - - :returns: <Queue> element - """ - return self.nest(Queue( - name, - url=url, - method=method, - reservation_sid=reservation_sid, - post_work_activity_sid=post_work_activity_sid, - **kwargs - )) - - def record(self, action=None, method=None, timeout=None, finish_on_key=None, - max_length=None, play_beep=None, trim=None, - recording_status_callback=None, - recording_status_callback_method=None, transcribe=None, - transcribe_callback=None, **kwargs): - """ - Create a <Record> element - - :param action: Action URL - :param method: Action URL method - :param timeout: Timeout to begin recording - :param finish_on_key: Finish recording on key - :param max_length: Max time to record in seconds - :param play_beep: Play beep - :param trim: Trim the recording - :param recording_status_callback: Status callback URL - :param recording_status_callback_method: Status callback URL method - :param transcribe: Transcribe the recording - :param transcribe_callback: Transcribe callback URL - :param kwargs: additional attributes - - :returns: <Record> element - """ - return self.nest(Record( - action=action, - method=method, - timeout=timeout, - finish_on_key=finish_on_key, - max_length=max_length, - play_beep=play_beep, - trim=trim, - recording_status_callback=recording_status_callback, - recording_status_callback_method=recording_status_callback_method, - transcribe=transcribe, - transcribe_callback=transcribe_callback, - **kwargs - )) - - def redirect(self, url, method=None, **kwargs): - """ - Create a <Redirect> element - - :param url: Redirect URL - :param method: Redirect URL method - :param kwargs: additional attributes - - :returns: <Redirect> element - """ - return self.nest(Redirect(url, method=method, **kwargs)) - - def reject(self, reason=None, **kwargs): - """ - Create a <Reject> element - - :param reason: Rejection reason - :param kwargs: additional attributes - - :returns: <Reject> element - """ - return self.nest(Reject(reason=reason, **kwargs)) - - def say(self, message, voice=None, loop=None, language=None, **kwargs): - """ - Create a <Say> element - - :param message: Message to say - :param voice: Voice to use - :param loop: Times to loop message - :param language: Message langauge - :param kwargs: additional attributes - - :returns: <Say> element - """ - return self.nest(Say(message, voice=voice, loop=loop, language=language, **kwargs)) - - def sms(self, message, to=None, from_=None, action=None, method=None, - status_callback=None, **kwargs): - """ - Create a <Sms> element - - :param message: Message body - :param to: Number to send message to - :param from: Number to send message from - :param action: Action URL - :param method: Action URL method - :param status_callback: Status callback URL - :param kwargs: additional attributes - - :returns: <Sms> element - """ - return self.nest(Sms( - message, - to=to, - from_=from_, - action=action, - method=method, - status_callback=status_callback, - **kwargs - )) - - -class Sms(TwiML): - """ <Sms> TwiML Noun """ - - def __init__(self, message, **kwargs): - super(Sms, self).__init__(**kwargs) - self.name = 'Sms' - self.value = message - - -class Say(TwiML): - """ <Say> TwiML Verb """ - - def __init__(self, message, **kwargs): - super(Say, self).__init__(**kwargs) - self.name = 'Say' - self.value = message - - -class Reject(TwiML): - """ <Reject> TwiML Verb """ - - def __init__(self, **kwargs): - super(Reject, self).__init__(**kwargs) - self.name = 'Reject' - - -class Redirect(TwiML): - """ <Redirect> TwiML Verb """ - - def __init__(self, url, **kwargs): - super(Redirect, self).__init__(**kwargs) - self.name = 'Redirect' - self.value = url - - -class Record(TwiML): - """ <Record> TwiML Verb """ - - def __init__(self, **kwargs): - super(Record, self).__init__(**kwargs) - self.name = 'Record' - - -class Queue(TwiML): - """ <Queue> TwiML Noun """ - - def __init__(self, name, **kwargs): - super(Queue, self).__init__(**kwargs) - self.name = 'Queue' - self.value = name - - -class Play(TwiML): - """ <Play> TwiML Verb """ - - def __init__(self, url=None, **kwargs): - super(Play, self).__init__(**kwargs) - self.name = 'Play' - if url: - self.value = url - - -class Pause(TwiML): - """ <Pause> TwiML Verb """ - - def __init__(self, **kwargs): - super(Pause, self).__init__(**kwargs) - self.name = 'Pause' - - -class Leave(TwiML): - """ <Leave> TwiML Verb """ - - def __init__(self, **kwargs): - super(Leave, self).__init__(**kwargs) - self.name = 'Leave' - - -class Hangup(TwiML): - """ <Hangup> TwiML Verb """ - - def __init__(self, **kwargs): - super(Hangup, self).__init__(**kwargs) - self.name = 'Hangup' - - -class Gather(TwiML): - """ <Gather> TwiML Verb """ - - def __init__(self, **kwargs): - super(Gather, self).__init__(**kwargs) - self.name = 'Gather' - - def say(self, message, voice=None, loop=None, language=None, **kwargs): - """ - Create a <Say> element - - :param message: Message to say - :param voice: Voice to use - :param loop: Times to loop message - :param language: Message langauge - :param kwargs: additional attributes - - :returns: <Say> element - """ - return self.nest(Say(message, voice=voice, loop=loop, language=language, **kwargs)) - - def pause(self, length=None, **kwargs): - """ - Create a <Pause> element - - :param length: Length in seconds to pause - :param kwargs: additional attributes - - :returns: <Pause> element - """ - return self.nest(Pause(length=length, **kwargs)) - - def play(self, url=None, loop=None, digits=None, **kwargs): - """ - Create a <Play> element - - :param url: Media URL - :param loop: Times to loop media - :param digits: Play DTMF tones for digits - :param kwargs: additional attributes - - :returns: <Play> element - """ - return self.nest(Play(url=url, loop=loop, digits=digits, **kwargs)) - - -class Enqueue(TwiML): - """ <Enqueue> TwiML Noun """ - - def __init__(self, name=None, **kwargs): - super(Enqueue, self).__init__(**kwargs) - self.name = 'Enqueue' - if name: - self.value = name - - def task(self, body, priority=None, timeout=None, **kwargs): - """ - Create a <Task> element - - :param body: TaskRouter task attributes - :param priority: Task priority - :param timeout: Timeout associated with task - :param kwargs: additional attributes - - :returns: <Task> element - """ - return self.nest(Task(body, priority=priority, timeout=timeout, **kwargs)) - - -class Task(TwiML): - """ <Task> TwiML Noun """ - - def __init__(self, body, **kwargs): - super(Task, self).__init__(**kwargs) - self.name = 'Task' - self.value = body - - -class Echo(TwiML): - """ <Echo> TwiML Verb """ - - def __init__(self, **kwargs): - super(Echo, self).__init__(**kwargs) - self.name = 'Echo' - - -class Dial(TwiML): - """ <Dial> TwiML Verb """ - - def __init__(self, number=None, **kwargs): - super(Dial, self).__init__(**kwargs) - self.name = 'Dial' - if number: - self.value = number - - def client(self, name, url=None, method=None, status_callback_event=None, - status_callback=None, status_callback_method=None, **kwargs): - """ - Create a <Client> element - - :param name: Client name - :param url: Client URL - :param method: Client URL Method - :param status_callback_event: Events to trigger status callback - :param status_callback: Status Callback URL - :param status_callback_method: Status Callback URL Method - :param kwargs: additional attributes - - :returns: <Client> element - """ - return self.nest(Client( - name, - url=url, - method=method, - status_callback_event=status_callback_event, - status_callback=status_callback, - status_callback_method=status_callback_method, - **kwargs - )) - - def conference(self, name, muted=None, beep=None, - start_conference_on_enter=None, end_conference_on_exit=None, - wait_url=None, wait_method=None, max_participants=None, - record=None, region=None, whisper=None, trim=None, - status_callback_event=None, status_callback=None, - status_callback_method=None, recording_status_callback=None, - recording_status_callback_method=None, - recording_status_callback_event=None, event_callback_url=None, - **kwargs): - """ - Create a <Conference> element - - :param name: Conference name - :param muted: Join the conference muted - :param beep: Play beep when joining - :param start_conference_on_enter: Start the conference on enter - :param end_conference_on_exit: End the conferenceon exit - :param wait_url: Wait URL - :param wait_method: Wait URL method - :param max_participants: Maximum number of participants - :param record: Record the conference - :param region: Conference region - :param whisper: Call whisper - :param trim: Trim the conference recording - :param status_callback_event: Events to call status callback URL - :param status_callback: Status callback URL - :param status_callback_method: Status callback URL method - :param recording_status_callback: Recording status callback URL - :param recording_status_callback_method: Recording status callback URL method - :param recording_status_callback_event: Recording status callback events - :param event_callback_url: Event callback URL - :param kwargs: additional attributes - - :returns: <Conference> element - """ - return self.nest(Conference( - name, - muted=muted, - beep=beep, - start_conference_on_enter=start_conference_on_enter, - end_conference_on_exit=end_conference_on_exit, - wait_url=wait_url, - wait_method=wait_method, - max_participants=max_participants, - record=record, - region=region, - whisper=whisper, - trim=trim, - status_callback_event=status_callback_event, - status_callback=status_callback, - status_callback_method=status_callback_method, - recording_status_callback=recording_status_callback, - recording_status_callback_method=recording_status_callback_method, - recording_status_callback_event=recording_status_callback_event, - event_callback_url=event_callback_url, - **kwargs - )) - - def number(self, phone_number, send_digits=None, url=None, method=None, - status_callback_event=None, status_callback=None, - status_callback_method=None, **kwargs): - """ - Create a <Number> element - - :param phone_number: Phone Number to dial - :param send_digits: DTMF tones to play when the call is answered - :param url: TwiML URL - :param method: TwiML URL method - :param status_callback_event: Events to call status callback - :param status_callback: Status callback URL - :param status_callback_method: Status callback URL method - :param kwargs: additional attributes - - :returns: <Number> element - """ - return self.nest(Number( - phone_number, - send_digits=send_digits, - url=url, - method=method, - status_callback_event=status_callback_event, - status_callback=status_callback, - status_callback_method=status_callback_method, - **kwargs - )) - - def queue(self, name, url=None, method=None, reservation_sid=None, - post_work_activity_sid=None, **kwargs): - """ - Create a <Queue> element - - :param name: Queue name - :param url: Action URL - :param method: Action URL method - :param reservation_sid: TaskRouter Reservation SID - :param post_work_activity_sid: TaskRouter Activity SID - :param kwargs: additional attributes - - :returns: <Queue> element - """ - return self.nest(Queue( - name, - url=url, - method=method, - reservation_sid=reservation_sid, - post_work_activity_sid=post_work_activity_sid, - **kwargs - )) - - def sim(self, sim_sid, **kwargs): - """ - Create a <Sim> element - - :param sim_sid: SIM SID - :param kwargs: additional attributes - - :returns: <Sim> element - """ - return self.nest(Sim(sim_sid, **kwargs)) - - def sip(self, sip_url, username=None, password=None, url=None, method=None, - status_callback_event=None, status_callback=None, - status_callback_method=None, **kwargs): - """ - Create a <Sip> element - - :param sip_url: SIP URL - :param username: SIP Username - :param password: SIP Password - :param url: Action URL - :param method: Action URL method - :param status_callback_event: Status callback events - :param status_callback: Status callback URL - :param status_callback_method: Status callback URL method - :param kwargs: additional attributes - - :returns: <Sip> element - """ - return self.nest(Sip( - sip_url, - username=username, - password=password, - url=url, - method=method, - status_callback_event=status_callback_event, - status_callback=status_callback, - status_callback_method=status_callback_method, - **kwargs - )) - - -class Sip(TwiML): - """ <Sip> TwiML Noun """ - - def __init__(self, sip_url, **kwargs): - super(Sip, self).__init__(**kwargs) - self.name = 'Sip' - self.value = sip_url - - -class Sim(TwiML): - """ <Sim> TwiML Noun """ - - def __init__(self, sim_sid, **kwargs): - super(Sim, self).__init__(**kwargs) - self.name = 'Sim' - self.value = sim_sid - - -class Number(TwiML): - """ <Number> TwiML Noun """ - - def __init__(self, phone_number, **kwargs): - super(Number, self).__init__(**kwargs) - self.name = 'Number' - self.value = phone_number - - -class Conference(TwiML): - """ <Conference> TwiML Noun """ - - def __init__(self, name, **kwargs): - super(Conference, self).__init__(**kwargs) - self.name = 'Conference' - self.value = name - - -class Client(TwiML): - """ <Client> TwiML Noun """ - - def __init__(self, name, **kwargs): - super(Client, self).__init__(**kwargs) - self.name = 'Client' - self.value = name From 00a7b97cc42186435f46ee180fd95a161792f25b Mon Sep 17 00:00:00 2001 From: Qi Zhao <zhaoqi99@outlook.com> Date: Mon, 24 Dec 2018 16:35:47 +0800 Subject: [PATCH 10/15] =?UTF-8?q?chore:=20=E6=8A=BD=E7=A6=BB=E5=87=BAsave?= =?UTF-8?q?=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/configs.py | 11 +---------- src/send.py | 1 + src/spider.py | 47 +++++++++++++++++++++++++++-------------------- 3 files changed, 29 insertions(+), 30 deletions(-) diff --git a/src/configs.py b/src/configs.py index c44412c..9067984 100644 --- a/src/configs.py +++ b/src/configs.py @@ -37,15 +37,6 @@ # spider config SPIDER_CONFIG = [ - { - 'department_EN': '', - 'department_CN': '', - 'url': '', - 'url_main': '', - 'rule': '', - 'coding': '', - 'type': '' - } ] # we_chat config @@ -55,7 +46,7 @@ SECRET = ' ' # mysql config -TARGET_IP='localhost' +TARGET_IP='' SQL_USERNAME='' SQL_PASSWORD='' DATABASE_NAME='' diff --git a/src/send.py b/src/send.py index 5b57931..82f640c 100644 --- a/src/send.py +++ b/src/send.py @@ -161,6 +161,7 @@ def Send(msgs, subject, send_number, to_addr_str, message_type,flag=True): send_number: 短信接收者的手机号码 to_addr_str: 收件人的邮箱地址,多个邮箱地址之间应以','分割,类型为字符串 例如:'example@qq.com','example1@qq.com,example2@qq.com' + message_type: 类型(通知/新闻) flag: 一个可选变量,用来决定是否在发送日志中记录此次发送信息,默认为True(记录) ''' log_send = [] diff --git a/src/spider.py b/src/spider.py index 67c3671..51261b0 100644 --- a/src/spider.py +++ b/src/spider.py @@ -44,11 +44,12 @@ def Data_processing(department_EN, data, url_main,message_type): 返回检查更新的状态码与处理后的数据 Args: - subject_EN: 生成的数据文件的文件名 + department_EN: 生成的数据文件的文件名 data: 存储通知主要内容的列表,且该列表每个元素为字典 例如:[{'title':'关于xxx的通知','date':'2017-03-10','link':'id=5'}, {'title':'关于xxx的通知','date':'2017-03-10','link':'id=5'}] url_main: 单条通知的url的公共部分 + message_type: 类型(通知/新闻) Returns: status: 检查更新的状态码,无新通知时为0,首次抓取为-1,有新通知时通知条数 new_data: 存储经处理后的通知内容的列表,且该列表每个元素为字典 @@ -88,15 +89,6 @@ def Data_processing(department_EN, data, url_main,message_type): item['date'] = item['date'].replace('/', '-') # 将日期统一转换为yy-mm-dd格式 status += 1 new_data.append(item) - - # 存储到文件中 - f_temp = open(file, 'ab') - for item in new_data: - f_temp.write(item['title'].encode('utf-8')) - f_temp.write(" ".encode('utf-8') + item['date'].encode('utf-8')) - f_temp.write(" ".encode('utf-8') + item['link'].encode('utf-8')) - f_temp.write("\n".encode('utf-8')) - f_temp.close() elif configs.SAVE_TYPE.upper()=="MYSQL": helper = sqlhelper.SqlHelper( @@ -124,19 +116,34 @@ def Data_processing(department_EN, data, url_main,message_type): if link_count == 0: # 首次抓取 status = -1 + return status, new_data +def Save(new_data,department_EN,message_type): + # 将新抓取到的通知信息写入数据文件 + if configs.SAVE_TYPE.upper()=="FILE": + if message_type=="通知": + file = "Data/{}_{}.md".format(department_EN,"notice") + else: + file="Data/{}_{}.md".format(department_EN,"news") + + # 存储到文件中 + f_temp = open(file, 'ab') + for item in new_data: + f_temp.write(item['title'].encode('utf-8')) + f_temp.write(" ".encode('utf-8') + item['date'].encode('utf-8')) + f_temp.write(" ".encode('utf-8') + item['link'].encode('utf-8')) + f_temp.write("\n".encode('utf-8')) + f_temp.close() + + elif configs.SAVE_TYPE.upper()=="MYSQL": + table_name=department_EN + helper = sqlhelper.SqlHelper( + configs.TARGET_IP, configs.SQL_USERNAME, configs.SQL_PASSWORD) for item in new_data: sql = "insert into" + " " + table_name + "(link,title,date,type) values ('%s','%s','%s','%s')" % ( item['link'], item['title'], item['date'],item['type']) - # print(sql) helper.Execute(configs.DATABASE_NAME, sql) - - # Todo: 解决频繁开启关闭数据库的问题 - # Todo: 异常处理 - - # 将新抓取到的通知信息写入数据文件 - return status, new_data - + return True def Log_generate(status, data, department_CN,message_type): ''' @@ -146,7 +153,7 @@ def Log_generate(status, data, department_CN,message_type): data:存储通知提醒主要内容的列表,且该列表每个元素为字典 例如:[{'title':'关于xxx的通知','date':'2017-03-10','link':'http://xxxx.com'}, {'title':'关于xxx的通知','date':'2017-03-10','link':'http://xxxx.com'}] - subject_CN: 抓取的网站类型 + department_CN: 抓取的部门名称 status: 检查更新的状态码 Returns: @@ -193,7 +200,7 @@ def Spider(dic, flag=True): ''' data_use = Spider_data(dic['url'], dic['rule'], dic['coding']) status, new_data = Data_processing(dic['department_EN'], data_use, dic['url_main'],dic['type']) - + Save(new_data, dic['department_EN'], dic['type']) log_txt = Log_generate(status, new_data, dic['department_CN'],dic['type']) if flag == True: if dic['type']=="通知": From 10adde93e53269db97f58628a7b76141e03a2820 Mon Sep 17 00:00:00 2001 From: Qi Zhao <zhaoqi99@outlook.com> Date: Mon, 24 Dec 2018 16:46:51 +0800 Subject: [PATCH 11/15] docs: rebuild docs --- Pydoc/configs.html | 8 +++++--- Pydoc/main.html | 2 +- Pydoc/send.html | 12 +++++++----- Pydoc/spider.html | 41 ++++++++++++++++++++++++----------------- Pydoc/tool.html | 4 ++-- src/spider.py | 15 ++++++++++++--- 6 files changed, 51 insertions(+), 31 deletions(-) diff --git a/Pydoc/configs.html b/Pydoc/configs.html index 829375b..f3df5e4 100644 --- a/Pydoc/configs.html +++ b/Pydoc/configs.html @@ -13,9 +13,9 @@ @contact: zhaoqi99@outlook.com<br> @since: 2018-09-19<br> @license: GNU GPLv3<br> -@version: 0.2.1<br> +@version: 0.3.0<br> @LastModifiedBy: QiZhao<br> -@LastModifiedDate: 2018-10-27</tt></p> +@LastModifiedDate: 2018-12-24</tt></p> <p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#55aa55"> @@ -35,9 +35,11 @@ <strong>GRANT_TYPE</strong> = 'client_credential'<br> <strong>LOG_ENABLED</strong> = True<br> <strong>PASSWORD</strong> = ''<br> +<strong>SAVE_TYPE</strong> = 'MYSQL'<br> <strong>SCHOOL_NAME</strong> = ''<br> <strong>SECRET</strong> = ' '<br> -<strong>SPIDER_CONFIG</strong> = [{'coding': '', 'rule': '', 'subject_CN': '', 'subject_EN': '', 'url': '', 'url_main': ''}, {'coding': '', 'rule': '', 'subject_CN': '', 'subject_EN': '', 'url': '', 'url_main': ''}]<br> +<strong>SHOW_RIGHT</strong> = False<br> +<strong>SPIDER_CONFIG</strong> = []<br> <strong>SQL_PASSWORD</strong> = ''<br> <strong>SQL_USERNAME</strong> = ''<br> <strong>TARGET_IP</strong> = ''<br> diff --git a/Pydoc/main.html b/Pydoc/main.html index fadcb2a..f0d4361 100644 --- a/Pydoc/main.html +++ b/Pydoc/main.html @@ -13,7 +13,7 @@ @contact: zhaoqi99@outlook.com<br> @since: 2018-05-08<br> @license: GNU GPLv3<br> -@version: 0.2.1<br> +@version: 0.3.0<br> @LastModifiedBy: QiZhao<br> @LastModifiedDate: 2018-10-27</tt></p> <p> diff --git a/Pydoc/send.html b/Pydoc/send.html index 84f241d..fa023de 100644 --- a/Pydoc/send.html +++ b/Pydoc/send.html @@ -13,9 +13,9 @@ @contact: zhaoqi99@outlook.com<br> @since: 2018-05-07<br> @license: GNU GPLv3<br> -@version: 0.2.1<br> -@LastModifiedBy: Keyi Xie<br> -@LastModifiedDate: 2018-10-23</tt></p> +@version: 0.3.0<br> +@LastModifiedBy: QiZhao<br> +@LastModifiedDate: 2018-10-24</tt></p> <p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#aa55cc"> @@ -27,7 +27,8 @@ <a href="json.html">json</a><br> </td><td width="25%" valign=top><a href="requests.html">requests</a><br> <a href="smtplib.html">smtplib</a><br> -</td><td width="25%" valign=top><a href="twilio.html">twilio</a><br> +</td><td width="25%" valign=top><a href="time.html">time</a><br> +<a href="twilio.html">twilio</a><br> </td><td width="25%" valign=top></td></tr></table></td></tr></table><p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#eeaa77"> @@ -35,7 +36,7 @@ <font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr> <tr><td bgcolor="#eeaa77"><tt>      </tt></td><td> </td> -<td width="100%"><dl><dt><a name="-Send"><strong>Send</strong></a>(msgs, subject, send_number, to_addr_str, flag=True)</dt><dd><tt>向手机号码为send_number的人发送通知信息<br> +<td width="100%"><dl><dt><a name="-Send"><strong>Send</strong></a>(msgs, subject, send_number, to_addr_str, message_type, flag=True)</dt><dd><tt>向手机号码为send_number的人发送通知信息<br> 向to_addr_str中的邮箱地址发送主题为subject的通知信息<br> 支持是否写入日志记录的选择               <br>  <br> @@ -48,6 +49,7 @@     send_number: 短信接收者的手机号码<br>     to_addr_str: 收件人的邮箱地址,多个邮箱地址之间应以','分割,类型为字符串<br>         例如:'example@qq.com','example1@qq.com,example2@qq.com'<br> +    message_type: 类型(通知/新闻)<br>     flag: 一个可选变量,用来决定是否在发送日志中记录此次发送信息,默认为True(记录)</tt></dd></dl> <dl><dt><a name="-Send_email"><strong>Send_email</strong></a>(txt, to_addr_str, subject)</dt><dd><tt>向to_addr_str中的邮箱地址发送主题为subject,正文部分为txt的邮件<br> 支持多人同时发送<br> diff --git a/Pydoc/spider.html b/Pydoc/spider.html index ea7c440..e190132 100644 --- a/Pydoc/spider.html +++ b/Pydoc/spider.html @@ -29,37 +29,44 @@ <font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr> <tr><td bgcolor="#eeaa77"><tt>      </tt></td><td> </td> -<td width="100%"><dl><dt><a name="-Data_processing"><strong>Data_processing</strong></a>(subject_EN, data, url_main)</dt><dd><tt>读取数据文件,并将新抓取的通知信息中的链接部分处理为长链接,<br> -然后以通知链接为参照,与数据库中的数据进行对比,并将新通知写入数据库,<br> +<td width="100%"><dl><dt><a name="-Data_processing"><strong>Data_processing</strong></a>(department_EN, data, url_main, message_type)</dt><dd><tt>读取数据文件,并将新抓取的通知信息中的链接部分处理为长链接,<br> +然后以通知链接为参照,与文件/数据库中的数据进行对比,并将新通知写入文件/数据库,<br> 返回检查更新的状态码与处理后的数据<br>  <br> Args:<br> -    subject_EN: 生成的数据文件的文件名<br> +    department_EN: 生成的数据文件的文件名<br>     data: 存储通知主要内容的列表,且该列表每个元素为字典<br>     例如:[{'title':'关于xxx的通知','date':'2017-03-10','link':'id=5'},<br>     {'title':'关于xxx的通知','date':'2017-03-10','link':'id=5'}]<br>     url_main: 单条通知的url的公共部分<br> +    message_type: 类型(通知/新闻)<br> Returns:<br>     status: 检查更新的状态码,无新通知时为0,首次抓取为-1,有新通知时通知条数<br>     new_data: 存储经处理后的通知内容的列表,且该列表每个元素为字典<br>         例如:[{'title':'关于xxx的通知','date':'2017-03-10','link':'<a href="http://xxxx.com">http://xxxx.com</a>'},<br>     {'title':'关于xxx的通知','date':'2017-03-10','link':'<a href="http://xxxx.com">http://xxxx.com</a>‘}]</tt></dd></dl> - <dl><dt><a name="-Log_generate"><strong>Log_generate</strong></a>(status, data, subject_CN)</dt><dd><tt>    依据检查更新的结果,生成不同的日志内容,并返回日志内容<br> + <dl><dt><a name="-Log_generate"><strong>Log_generate</strong></a>(status, data, department_CN, message_type)</dt><dd><tt>依据检查更新的结果,生成不同的日志内容,并返回日志内容<br>  <br> -    Args:<br> -        data:存储通知提醒主要内容的列表,且该列表每个元素为字典<br> -        例如:[{'title':'关于xxx的通知','date':'2017-03-10','link':'<a href="http://xxxx.com">http://xxxx.com</a>'},<br> -        {'title':'关于xxx的通知','date':'2017-03-10','link':'<a href="http://xxxx.com">http://xxxx.com</a>'}]<br> -        subject_CN: 抓取的网站类型<br> -        status: 检查更新的状态码<br> +Args:<br> +    data:存储通知提醒主要内容的列表,且该列表每个元素为字典<br> +    例如:[{'title':'关于xxx的通知','date':'2017-03-10','link':'<a href="http://xxxx.com">http://xxxx.com</a>'},<br> +    {'title':'关于xxx的通知','date':'2017-03-10','link':'<a href="http://xxxx.com">http://xxxx.com</a>'}]<br> +    department_CN: 抓取的部门名称<br> +    status: 检查更新的状态码<br> + <br> +Returns:<br> +    log_txt: 日志的主要内容,类型为字符串或每个元素均为列表的列表,且元素列表的元素均为字符串。<br> +    例如:'首次抓取师师大主页!','师大主页暂无新通知!'<br> +    [['关于xxx的通知','2017-03-10','<a href="http://xxxx.com'],['关于xxx的通知','2017-03-10','http://xxxx.com">http://xxxx.com'],['关于xxx的通知','2017-03-10','http://xxxx.com</a>']]</tt></dd></dl> + <dl><dt><a name="-Save"><strong>Save</strong></a>(new_data, department_EN, message_type)</dt><dd><tt>将新抓取到的通知信息写入数据文件或数据库中<br>  <br> -    Returns:<br> -        log_txt: 日志的主要内容,类型为字符串或每个元素均为列表的列表,且元素列表的元素均为字符串。<br> -        例如:'首次抓取师师大主页!<br> -','师大主页暂无新通知!<br> -'<br> -        [['关于xxx的通知','2017-03-10','<a href="http://xxxx.com'],['关于xxx的通知','2017-03-10','http://xxxx.com">http://xxxx.com'],['关于xxx的通知','2017-03-10','http://xxxx.com</a>']]</tt></dd></dl> - <dl><dt><a name="-Spider"><strong>Spider</strong></a>(url, url_main, rule, subject_CN, subject_EN, coding, flag=True)</dt><dd><tt>爬取url的源码,并从中按照rule提供的正则表达式规则提取有用信息,并对数据进行处理,<br> +Args:<br> +    new_data: 存储经处理后的通知内容的列表,且该列表每个元素为字典<br> +        例如:[{'title':'关于xxx的通知','date':'2017-03-10','link':'<a href="http://xxxx.com">http://xxxx.com</a>'},<br> +    {'title':'关于xxx的通知','date':'2017-03-10','link':'<a href="http://xxxx.com">http://xxxx.com</a>‘}]<br> +    department_EN: 生成的数据文件的文件名<br> +    message_type: 类型(通知/新闻)</tt></dd></dl> + <dl><dt><a name="-Spider"><strong>Spider</strong></a>(dic, flag=True)</dt><dd><tt>爬取url的源码,并从中按照rule提供的正则表达式规则提取有用信息,并对数据进行处理,<br> 生成通知提醒的内容,在subject_EN+'_log.md'文件中记录日志,<br> 返回检查更新的状态码,以及通知提醒的内容<br> 若无新通知,则通知提醒的内容为空<br> diff --git a/Pydoc/tool.html b/Pydoc/tool.html index f70ea07..af8cecd 100644 --- a/Pydoc/tool.html +++ b/Pydoc/tool.html @@ -13,9 +13,9 @@ @contact: zhaoqi99@outlook.com<br> @since: 2018-05-08<br> @license: GNU GPLv3<br> -@version: 0.2.0<br> +@version: 0.3.0<br> @LastModifiedBy: QiZhao<br> -@LastModifiedDate: 2018-10-18</tt></p> +@LastModifiedDate: 2018-12-24</tt></p> <p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#aa55cc"> diff --git a/src/spider.py b/src/spider.py index 51261b0..b10adc1 100644 --- a/src/spider.py +++ b/src/spider.py @@ -40,7 +40,7 @@ def Spider_data(url, rule, coding='utf-8'): def Data_processing(department_EN, data, url_main,message_type): ''' 读取数据文件,并将新抓取的通知信息中的链接部分处理为长链接, - 然后以通知链接为参照,与数据库中的数据进行对比,并将新通知写入数据库, + 然后以通知链接为参照,与文件/数据库中的数据进行对比,并将新通知写入文件/数据库, 返回检查更新的状态码与处理后的数据 Args: @@ -119,7 +119,16 @@ def Data_processing(department_EN, data, url_main,message_type): return status, new_data def Save(new_data,department_EN,message_type): - # 将新抓取到的通知信息写入数据文件 + ''' + 将新抓取到的通知信息写入数据文件或数据库中 + + Args: + new_data: 存储经处理后的通知内容的列表,且该列表每个元素为字典 + 例如:[{'title':'关于xxx的通知','date':'2017-03-10','link':'http://xxxx.com'}, + {'title':'关于xxx的通知','date':'2017-03-10','link':'http://xxxx.com‘}] + department_EN: 生成的数据文件的文件名 + message_type: 类型(通知/新闻) + ''' if configs.SAVE_TYPE.upper()=="FILE": if message_type=="通知": file = "Data/{}_{}.md".format(department_EN,"notice") @@ -158,7 +167,7 @@ def Log_generate(status, data, department_CN,message_type): Returns: log_txt: 日志的主要内容,类型为字符串或每个元素均为列表的列表,且元素列表的元素均为字符串。 - 例如:'首次抓取师师大主页!\n','师大主页暂无新通知!\n' + 例如:'首次抓取师师大主页!','师大主页暂无新通知!' [['关于xxx的通知','2017-03-10','http://xxxx.com'],['关于xxx的通知','2017-03-10','http://xxxx.com']] ''' if status == -1: From 6a7a31d2cc66ac8b3e1b43e1915f738b40317627 Mon Sep 17 00:00:00 2001 From: Qi Zhao <zhaoqi99@outlook.com> Date: Mon, 24 Dec 2018 18:06:36 +0800 Subject: [PATCH 12/15] =?UTF-8?q?test:=20=E6=B7=BB=E5=8A=A0unit=20test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/configs_sample1.py | 502 ++ test/html/snnu_chem_news.html | 635 +++ test/html/snnu_chem_notice.html | 635 +++ test/html/snnu_clxy_notice.html | 4698 +++++++++++++++++ test/html/snnu_css_news.html | 413 ++ test/html/snnu_css_notice.html | 418 ++ test/html/snnu_cxinw_news.html | 670 +++ test/html/snnu_cxinw_notice.html | 670 +++ test/html/snnu_geog_news.html | 276 + test/html/snnu_geog_notice.html | 276 + test/html/snnu_his_news.html | 297 ++ test/html/snnu_his_notice.html | 294 ++ test/html/snnu_ibs_news.html | 815 +++ test/html/snnu_ibs_notice.html | 776 +++ test/html/snnu_index_news.html | 401 ++ test/html/snnu_index_notice.html | 397 ++ test/html/snnu_iscs_news.html | 968 ++++ test/html/snnu_iscs_notice.html | 968 ++++ test/html/snnu_jwc_news.html | 534 ++ test/html/snnu_jwc_notice.html | 994 ++++ test/html/snnu_lib_news.html | 376 ++ test/html/snnu_lib_notice.html | 376 ++ test/html/snnu_lifesci_news.html | 257 + test/html/snnu_lifesci_notice.html | 257 + test/html/snnu_lit_news.html | 343 ++ test/html/snnu_lit_notice.html | 342 ++ test/html/snnu_marxism_news.html | 568 +++ test/html/snnu_marxism_notice.html | 639 +++ test/html/snnu_maths_news.html | 821 +++ test/html/snnu_maths_notice.html | 821 +++ test/html/snnu_meishuxy_news.html | 659 +++ test/html/snnu_meishuxy_notice.html | 659 +++ test/html/snnu_music_news.html | 333 ++ test/html/snnu_music_notice.html | 333 ++ test/html/snnu_psych_news.html | 7362 +++++++++++++++++++++++++++ test/html/snnu_psych_notice.html | 6237 +++++++++++++++++++++++ test/html/snnu_se_news.html | 260 + test/html/snnu_se_notice.html | 260 + test/html/snnu_spg_news.html | 646 +++ test/html/snnu_spg_notice.html | 646 +++ test/html/snnu_spgcx_news.html | 484 ++ test/html/snnu_spgcx_notice.html | 484 ++ test/html/snnu_tyxy_news.html | 753 +++ test/html/snnu_tyxy_notice.html | 735 +++ test/html/snnu_wuli_news.html | 344 ++ test/html/snnu_wuli_notice.html | 344 ++ test/html/snnu_wyxy_news.html | 296 ++ test/html/snnu_wyxy_notice.html | 296 ++ test/html/snnu_xsc_news.html | 747 +++ test/html/snnu_xsc_notice.html | 691 +++ test/test_configs.py | 75 - test/test_single_spider.py | 99 - test/test_spider.py | 109 +- test/test_tool.py | 44 +- 54 files changed, 43045 insertions(+), 288 deletions(-) create mode 100644 test/configs_sample1.py create mode 100644 test/html/snnu_chem_news.html create mode 100644 test/html/snnu_chem_notice.html create mode 100644 test/html/snnu_clxy_notice.html create mode 100644 test/html/snnu_css_news.html create mode 100644 test/html/snnu_css_notice.html create mode 100644 test/html/snnu_cxinw_news.html create mode 100644 test/html/snnu_cxinw_notice.html create mode 100644 test/html/snnu_geog_news.html create mode 100644 test/html/snnu_geog_notice.html create mode 100644 test/html/snnu_his_news.html create mode 100644 test/html/snnu_his_notice.html create mode 100644 test/html/snnu_ibs_news.html create mode 100644 test/html/snnu_ibs_notice.html create mode 100644 test/html/snnu_index_news.html create mode 100644 test/html/snnu_index_notice.html create mode 100644 test/html/snnu_iscs_news.html create mode 100644 test/html/snnu_iscs_notice.html create mode 100644 test/html/snnu_jwc_news.html create mode 100644 test/html/snnu_jwc_notice.html create mode 100644 test/html/snnu_lib_news.html create mode 100644 test/html/snnu_lib_notice.html create mode 100644 test/html/snnu_lifesci_news.html create mode 100644 test/html/snnu_lifesci_notice.html create mode 100644 test/html/snnu_lit_news.html create mode 100644 test/html/snnu_lit_notice.html create mode 100644 test/html/snnu_marxism_news.html create mode 100644 test/html/snnu_marxism_notice.html create mode 100644 test/html/snnu_maths_news.html create mode 100644 test/html/snnu_maths_notice.html create mode 100644 test/html/snnu_meishuxy_news.html create mode 100644 test/html/snnu_meishuxy_notice.html create mode 100644 test/html/snnu_music_news.html create mode 100644 test/html/snnu_music_notice.html create mode 100644 test/html/snnu_psych_news.html create mode 100644 test/html/snnu_psych_notice.html create mode 100644 test/html/snnu_se_news.html create mode 100644 test/html/snnu_se_notice.html create mode 100644 test/html/snnu_spg_news.html create mode 100644 test/html/snnu_spg_notice.html create mode 100644 test/html/snnu_spgcx_news.html create mode 100644 test/html/snnu_spgcx_notice.html create mode 100644 test/html/snnu_tyxy_news.html create mode 100644 test/html/snnu_tyxy_notice.html create mode 100644 test/html/snnu_wuli_news.html create mode 100644 test/html/snnu_wuli_notice.html create mode 100644 test/html/snnu_wyxy_news.html create mode 100644 test/html/snnu_wyxy_notice.html create mode 100644 test/html/snnu_xsc_news.html create mode 100644 test/html/snnu_xsc_notice.html delete mode 100644 test/test_configs.py delete mode 100644 test/test_single_spider.py diff --git a/test/configs_sample1.py b/test/configs_sample1.py new file mode 100644 index 0000000..7bd2096 --- /dev/null +++ b/test/configs_sample1.py @@ -0,0 +1,502 @@ +# encoding='utf-8' +''' +@author: QiZhao +@contact: zhaoqi99@outlook.com +@since: 2018-09-19 +@license: GNU GPLv3 +@version: 0.3.0 +@LastModifiedBy: QiZhao +@LastModifiedDate: 2018-12-24 +''' +# show right +SHOW_RIGHT=False + +# save type +# File/MySQL +SAVE_TYPE='File' + +# show config +SCHOOL_NAME = '' +VERSION = '' +AUTHOR_NAME = '' +AUTHOR_EMAIL = '' + +# twillo config +ACCOUNT_ID = '' +AUTH_TOKEN = '' +TWILIO_NUMBER = '' + +# send_email config +FROM_ADDR = "" +PASSWORD = "" +EMAIL_PORT = 0 +EMAIL_SERVER = '' + +# Log Config +LOG_ENABLED = True + +# spider config +SPIDER_CONFIG = [ + { + 'department_EN': 'snnu_index', + 'department_CN': '学校主页', + 'url': 'http://www.snnu.edu.cn/tzgg.htm', + 'url_main': 'http://www.snnu.edu.cn/info/1085/', + 'rule': 'info/1085/(?P<link>\d+\.htm)" target="_blank">(?P<title>[\s\S]{5,100})((?P<date>\d*-\d*-\d*))', + 'coding': 'utf-8', + 'type': '通知' + }, + { + 'department_EN': 'snnu_index', + 'department_CN': '学校主页', + 'url': 'http://www.snnu.edu.cn/sdxw.htm', + 'url_main': 'http://www.snnu.edu.cn/info/1084/', + 'rule': 'info/1084/(?P<link>\d+.htm)" target="_blank" title="(?P<title>[^"]+?)"><[^<]+?<[^<]+?<[^<]+?<p class="qh-wide-pushtime">(?P<date>\d*-\d*-\d*)', + 'coding': 'utf-8', + 'type': '新闻' + }, + { + 'department_EN': 'snnu_css', + 'department_CN': '计算机科学学院', + 'url': 'http://ccs.snnu.edu.cn/tzgg.htm', + 'url_main': 'http://ccs.snnu.edu.cn/', + 'rule': '<a target="_blank" href="(?P<link>[^"]*)">(?P<title>[^<]*)<[^"]*"[^>]*>(?P<date>\d*-\d*-\d*)', + 'coding': 'utf-8', + 'type': '通知' + }, + { + 'department_EN': 'snnu_css', + 'department_CN': '计算机科学学院', + 'url': 'http://ccs.snnu.edu.cn/xydt.htm', + 'url_main': 'http://ccs.snnu.edu.cn/', + 'rule': '<a target="_blank" href="(?P<link>[^"]*)">(?P<title>[^<]*?)<[^"]*"[^>]*>(?P<date>\d*-\d*-\d*)', + 'coding': 'utf-8', + 'type': '新闻' + }, + { + 'department_EN': 'snnu_jwc', + 'department_CN': '教务处', + 'url': 'http://jwc.snnu.edu.cn/news_more.xhm?lm=2', + 'url_main': 'http://jwc.snnu.edu.cn/html/news_view.xhm?newsid=', + 'rule': 'newsid=(?P<link>\d*)" [^ ]* title="(?P<title>[^(">)]*)[^<]*[^(]*\((?P<date>\d*/\d*/\d*)', + 'coding': 'gbk', + 'type': '通知' + }, + { + 'department_EN': 'snnu_jwc', + 'department_CN': '教务处', + 'url': 'http://jwc.snnu.edu.cn/news_more.xhm?lm=1', + 'url_main': 'http://jwc.snnu.edu.cn/html/news_view.xhm?newsid=', + 'rule': 'newsid=(?P<link>\d*)" [^ ]* title="(?P<title>[^(">)]*)[^<]*[^(]*\((?P<date>\d*/\d*/\d*)', + 'coding': 'gbk', + 'type': '新闻' + }, + { + 'department_EN': 'snnu_xsc', + 'department_CN': '学生处', + 'url': 'http://www.xsc.snnu.edu.cn/Announcements.asp', + 'url_main': 'http://www.xsc.snnu.edu.cn/Announcements.asp?id=144&bh=', + 'rule': 'gk3">(?P<date>\d*-\d*-\d*)[^;]*;[^;]*;[^;]*;[^;]*;bh=(?P<link>\d*)[^>]*>(?P<title>[^</]*)', + 'coding': 'gbk', + 'type': '通知' + }, + { + 'department_EN': 'snnu_xsc', + 'department_CN': '学生处', + 'url': 'http://www.xsc.snnu.edu.cn/News.asp', + 'url_main': 'http://www.xsc.snnu.edu.cn/News.asp?id=159&bh=', + 'rule': 'gk3">(?P<date>\d*-\d*-\d*)[^;]*;[^;]*;[^;]*;[^;]*;bh=(?P<link>\d*)[^>]*>(?P<title>[^</]*)', + 'coding': 'gbk', + 'type': '新闻' + }, + { + 'department_EN': 'snnu_lib', + 'department_CN': '图书馆', + 'url': 'http://www.lib.snnu.edu.cn/action.do?webid=w-d-bggg-l', + 'url_main': 'http://www.lib.snnu.edu.cn/action.do?webid=w-l-showmsg>ype=a&pid=', + 'rule': 'pid=(?P<link>\d*)[\s\S]{20,57}>(?P<title>[^<]*)</[af][\S\s]{18,70}(?P<date>\d{4}-\d*-\d*)', + 'coding': 'utf-8', + 'type':'通知' + }, + { + 'department_EN': 'snnu_lib', + 'department_CN': '图书馆', + 'url': 'http://www.lib.snnu.edu.cn/action.do?webid=w-d-bgxw-l', + 'url_main': 'http://www.lib.snnu.edu.cn/action.do?webid=w-l-showmsg>ype=a&pid=', + 'rule': 'pid=(?P<link>\d*)[\s\S]{20,57}>(?P<title>[^<]*)</[af][\S\s]{18,70}(?P<date>\d{4}-\d*-\d*)', + 'coding': 'utf-8', + 'type':'新闻' + }, + { + 'department_EN': 'snnu_clxy', + 'department_CN': '材料科学与工程学院', + 'url': 'http://clxy.snnu.edu.cn/home/list/?bh=008', + 'url_main': 'http://clxy.snnu.edu.cn/Home/show/', + 'rule': 'show[/](?P<link>\d*)"[\s\S]{1,}?"(?P<title>[\s\S]{1,}?)"[^<]{1,}?</a>[\S\s]{1,200}<td align="center">[^\d]*(?P<date>\d*-\d*-\d*)', + 'coding': 'utf-8', + 'type': '通知' + }, + { + 'department_EN': 'snnu_clxy', + 'department_CN': '材料科学与工程学院', + 'url': 'http://clxy.snnu.edu.cn/home/list/?bh=009', + 'url_main': 'http://clxy.snnu.edu.cn/Home/show/', + 'rule': 'show[/](?P<link>\d*)"[\s\S]{1,}?"(?P<title>[\s\S]{1,}?)"[^<]{1,}?</a>[\S\s]{1,200}<td align="center">[^\d]*(?P<date>\d*-\d*-\d*)', + 'coding': 'utf-8', + 'type': '通知' + }, + { + 'department_EN': 'snnu_marxism', + 'department_CN': '马克思主义学院', + 'url': 'http://marxism.snnu.edu.cn/tzgg/tzgg.htm', + 'url_main': 'http://marxism.snnu.edu.cn/info/1062/', + 'rule': 'class="fr">(?P<date>\d*-\d*-\d*)</span>[\s]+?<a href="../info/1062/(?P<link>\d+.htm)" target="_blank" title="(?P<title>[^"]+?)">', + 'coding': 'utf-8', + 'type': '通知' + }, + { + 'department_EN': 'snnu_marxism', + 'department_CN': '马克思主义学院', + 'url': 'http://marxism.snnu.edu.cn/xyxw/xyxw.htm', + 'url_main': 'http://marxism.snnu.edu.cn/info/1062/', + 'rule': 'href="../info/1061/(?P<link>\d+.htm)" target="_blank" title="(?P<title>[^"]+?)">[\S]+[\s]+?<h2>(?P<date>\d*-\d*-\d*)<', + 'coding': 'utf-8', + 'type': '新闻' + }, + { + 'department_EN': 'snnu_lit', + 'department_CN': '文学院', + 'url': 'http://www.lit.snnu.edu.cn/index.php?m=content&c=index&a=lists&catid=62', + 'url_main': 'http://www.lit.snnu.edu.cn/index.php?m=content&c=index&a=show&catid=', + 'rule': 'show&catid=(?P<link>\d*&id=\d*)[\s\S]+?title">(?P<title>[^<]*)<[\s\S]+?date2">(?P<date>\d*-\d*-\d*)', + 'coding': 'utf-8', + 'type': '通知' + }, + { + 'department_EN': 'snnu_lit', + 'department_CN': '文学院', + 'url': 'http://www.lit.snnu.edu.cn/index.php?m=content&c=index&a=lists&catid=9', + 'url_main': 'http://www.lit.snnu.edu.cn/index.php?m=content&c=index&a=show&catid=', + 'rule': 'show&catid=(?P<link>\d*&id=\d*)[\s\S]+?title">(?P<title>[^<]*)<[\s\S]+?date2">(?P<date>\d*-\d*-\d*)', + 'coding': 'utf-8', + 'type': '新闻' + }, + { + 'department_EN': 'snnu_his', + 'department_CN': '历史文化学院', + 'url': 'http://his.snnu.edu.cn/notice.asp', + 'url_main': 'http://his.snnu.edu.cn/notice.asp?id=', + 'rule': 'notice.asp[?]id=(?P<link>\d*)">(?P<title>[^<]*)[^\[]*\[(?P<date>\d*/\d*/\d*)', + 'coding': 'utf-8', + 'type': '通知' + }, + { + 'department_EN': 'snnu_his', + 'department_CN': '历史文化学院', + 'url': 'http://his.snnu.edu.cn/news.asp', + 'url_main': 'http://his.snnu.edu.cn/news.asp?id=', + 'rule': 'news.asp[?]id=(?P<link>\d*)">(?P<title>[^<]*)[^\[]*\[(?P<date>\d*/\d*/\d*)', + 'coding': 'utf-8', + 'type': '新闻' + }, + { + 'department_EN': 'snnu_se', + 'department_CN': '教育学院', + 'url': 'http://se.snnu.edu.cn/news.php?cat_id=1342', + 'url_main': 'http://se.snnu.edu.cn/news_detail.php?id=', + 'rule': 'php[?]id=(?P<link>\d*)">(?P<title>[^(]*)((?P<date>\d*-\d*-\d*)', + 'coding': 'utf-8', + 'type': '通知' + }, + { + 'department_EN': 'snnu_se', + 'department_CN': '教育学院', + 'url': 'http://se.snnu.edu.cn/news.php?cat_id=1341', + 'url_main': 'http://se.snnu.edu.cn/news_detail.php?id=', + 'rule': 'php[?]id=(?P<link>\d*)">(?P<title>[^(]*)((?P<date>\d*-\d*-\d*)', + 'coding': 'utf-8', + 'type': '新闻' + }, + { + 'department_EN': 'snnu_psych', + 'department_CN': '心理学院', + 'url': 'http://psych.snnu.edu.cn/home/list/?bh=008', + 'url_main': 'http://psych.snnu.edu.cn/home/show/', + 'rule': 'show/(?P<link>\d*)[^>]+?>(?P<title>[^ ]*)[\S\s]+?<td align=[\s\S]+?(?P<date>\d*-\d*-\d*)', + 'coding': 'utf-8', + 'type': '通知' + }, + { + 'department_EN': 'snnu_psych', + 'department_CN': '心理学院', + 'url': 'http://psych.snnu.edu.cn/home/list/?bh=009', + 'url_main': 'http://psych.snnu.edu.cn/home/show/', + 'rule': 'show/(?P<link>\d*)[^>]+?>(?P<title>[^ ]*)[\S\s]+?<td align=[\s\S]+?(?P<date>\d*-\d*-\d*)', + 'coding': 'utf-8', + 'type': '新闻' + }, + { + 'department_EN': 'snnu_wyxy', + 'department_CN': '外国语学院', + 'url': 'http://www.wyxy.snnu.edu.cn/wenzi_list.jsp?urltype=tree.TreeTempUrl&wbtreeid=1044', + 'url_main': 'http://www.wyxy.snnu.edu.cn/info/1044/', + 'rule': 'info/1044/(?P<link>\d+.htm)" title="" class="left">(?P<title>\S{4,100})</a><span class="right">(?P<date>\d*-\d*-\d*)<', + 'coding': 'utf-8', + 'type': '通知' + }, + { + 'department_EN': 'snnu_wyxy', + 'department_CN': '外国语学院', + 'url': 'http://www.wyxy.snnu.edu.cn/wenzi_list.jsp?urltype=tree.TreeTempUrl&wbtreeid=1043', + 'url_main': 'http://www.wyxy.snnu.edu.cn/info/1043/', + 'rule': 'info/1043/(?P<link>\d+.htm)" title="" class="left">(?P<title>\S{4,100})</a><span class="right">(?P<date>\d*-\d*-\d*)<', + 'coding': 'utf-8', + 'type': '新闻' + }, + { + 'department_EN': 'snnu_maths', + 'department_CN': '数学与信息科学学院', + 'url': 'http://maths.snnu.edu.cn/ggtz.htm', + 'url_main': 'http://maths.snnu.edu.cn/info/1041/', + 'rule': '1041/(?P<link>\d*.htm)">[\s\S]{18}(?P<title>[^ ]+)[ ]{5,}[^[]+?[^\d]+?(?P<date>\d+-\d+-\d+)', + 'coding': 'utf-8', + 'type': '通知' + }, + { + 'department_EN': 'snnu_maths', + 'department_CN': '数学与信息科学学院', + 'url': 'http://maths.snnu.edu.cn/xyxw.htm', + 'url_main': 'http://maths.snnu.edu.cn/info/1042/', + 'rule': '1042/(?P<link>\d*.htm)">[\s\S]{18}(?P<title>[^ ]+)[ ]{5,}[^[]+?[^\d]+?(?P<date>\d+-\d+-\d+)', + 'coding': 'utf-8', + 'type': '新闻' + }, + { + 'department_EN': 'snnu_wuli', + 'department_CN': '物理学与信息技术学院', + 'url': 'http://wuli.snnu.edu.cn/home/list/12', + 'url_main': 'http://wuli.snnu.edu.cn/home/content/', + 'rule': 'content/(?P<link>\d+)" title="(?P<title>[^"]*)[^<]+?</a>[^>]+?>(?P<date>\d*-\d*-\d*)', + 'coding': 'utf-8', + 'type': '通知' + }, + { + 'department_EN': 'snnu_wuli', + 'department_CN': '物理学与信息技术学院', + 'url': 'http://wuli.snnu.edu.cn/home/list/11', + 'url_main': 'http://wuli.snnu.edu.cn/home/content/', + 'rule': 'content/(?P<link>\d+)" title="(?P<title>[^"]*)[^<]+?</a>[^>]+?>(?P<date>\d*-\d*-\d*)', + 'coding': 'utf-8', + 'type': '新闻' + }, + { + 'department_EN': 'snnu_spg', + 'department_CN': '哲学与政府管理学院', + 'url': 'http://spg.snnu.edu.cn/Notice.asp', + 'url_main': 'http://spg.snnu.edu.cn/Notice.asp?id=32&bh=', + 'rule': 'bh=(?P<link>\d+)[^>]+?>(?P<title>[^<]+?)<[^;]+?;[^;]+?;">(?P<date>\d+-\d+-\d+)', + 'coding': 'gbk', + 'type': '通知' + }, + { + 'department_EN': 'snnu_spg', + 'department_CN': '哲学与政府管理学院', + 'url': 'http://spg.snnu.edu.cn/College_News.asp', + 'url_main': 'http://spg.snnu.edu.cn/College_News.asp?id=31&bh=', + 'rule': 'bh=(?P<link>\d+)[^>]+?>(?P<title>[^<]+?)<[^;]+?;[^;]+?;">(?P<date>\d+-\d+-\d+)', + 'coding': 'gbk', + 'type': '新闻' + }, + { + 'department_EN': 'snnu_chem', + 'department_CN': '化学化工学院', + 'url': 'http://www.chem.snnu.edu.cn/wenzi_list.aspx?category_id=19', + 'url_main': 'http://www.chem.snnu.edu.cn/neiye_show.aspx?id=', + 'rule': 'aspx[?]id=(?P<link>\d*)">(?P<title>[^<]*)<[\S\s]{1,45}(?P<date>\d{4}-\d{2}-\d{2})', + 'coding': 'utf-8', + 'type': '通知' + }, + { + 'department_EN': 'snnu_chem', + 'department_CN': '化学化工学院', + 'url': 'http://www.chem.snnu.edu.cn/wenzi_list.aspx?category_id=20', + 'url_main': 'http://www.chem.snnu.edu.cn/neiye_show.aspx?id=', + 'rule': 'aspx[?]id=(?P<link>\d*)">(?P<title>[^<]*)<[\S\s]{1,45}(?P<date>\d{4}-\d{2}-\d{2})', + 'coding': 'utf-8', + 'type': '新闻' + }, + { + 'department_EN': 'snnu_lifesci', + 'department_CN': '生命科学学院', + 'url': 'http://lifesci.snnu.edu.cn/listall.aspx?Index_code=tzgg', + 'url_main': 'http://lifesci.snnu.edu.cn/inforshow.aspx?id=', + 'rule': 'aspx[?]id=(?P<link>\d*)">(?P<title>[^<]*)</a></li>[^>]*>(?P<date>\d*-\d*-\d*)</li>', + 'coding': 'utf-8', + 'type': '通知' + }, + { + 'department_EN': 'snnu_lifesci', + 'department_CN': '生命科学学院', + 'url': 'http://lifesci.snnu.edu.cn/listall.aspx?Index_code=xydt', + 'url_main': 'http://lifesci.snnu.edu.cn/inforshow.aspx?id=', + 'rule': 'aspx[?]id=(?P<link>\d*)">(?P<title>[^<]*)</a></li>[^>]*>(?P<date>\d*-\d*-\d*)</li>', + 'coding': 'utf-8', + 'type': '新闻' + }, + { + 'department_EN': 'snnu_geog', + 'department_CN': '地理科学与旅游学院', + 'url': 'http://geog.snnu.edu.cn/news.jsp?urltype=tree.TreeTempUrl&wbtreeid=1020', + 'url_main': 'http://geog.snnu.edu.cn/info/1020/', + 'rule': '<span class="fr">(?P<date>\d{4}-\d{2}-\d{2})<[^"]{1,100}"info/1020/(?P<link>\d*.htm)">(?P<title>[^<]*)<', + 'coding': 'utf-8', + 'type': '通知' + }, + { + 'department_EN': 'snnu_geog', + 'department_CN': '地理科学与旅游学院', + 'url': 'http://geog.snnu.edu.cn/news.jsp?urltype=tree.TreeTempUrl&wbtreeid=1019', + 'url_main': 'http://geog.snnu.edu.cn/info/1019/', + 'rule': '<span class="fr">(?P<date>\d{4}-\d{2}-\d{2})<[^"]{1,100}"info/1019/(?P<link>\d*.htm)">(?P<title>[^<]*)<', + 'coding': 'utf-8', + 'type': '新闻' + }, + { + 'department_EN': 'snnu_cxinw', + 'department_CN': '新闻与传播学院', + 'url': 'http://cxinw.snnu.edu.cn/News_bulletin.asp?id=15', + 'url_main': 'http://cxinw.snnu.edu.cn/News_bulletin.asp?id=15&bh=', + 'rule': 'bh=(?P<link>\d*)" class="c5">(?P<title>[^<]*)</a>[\s\S]{1,100}<span class="gk3">(?P<date>\d*-\d*-\d*)<', + 'coding': 'gbk', + 'type': '通知' + }, + { + 'department_EN': 'snnu_cxinw', + 'department_CN': '新闻与传播学院', + 'url': 'http://cxinw.snnu.edu.cn/News_bulletin.asp?id=14', + 'url_main': 'http://cxinw.snnu.edu.cn/News_bulletin.asp?id=14&bh=', + 'rule': 'bh=(?P<link>\d*)" class="c5">(?P<title>[^<]*)</a>[\s\S]{1,100}<span class="gk3">(?P<date>\d*-\d*-\d*)<', + 'coding': 'gbk', + 'type': '新闻' + }, + { + 'department_EN': 'snnu_tyxy', + 'department_CN': '体育学院', + 'url': 'http://tyxy.snnu.edu.cn/Notice.asp', + 'url_main': 'http://tyxy.snnu.edu.cn/Notice.asp?id=34&bh=', + 'rule': 'font-weight:normal;">(?P<date>\d*-\d*-\d*)</span></td>[^&]+? /   <a href="/News_information.asp[?]id=33&bh=(?P<link>\d*)">\r\n(?P<title>[^\r]*?)\r\n', + 'coding': 'gbk', + 'type': '通知' + }, + { + 'department_EN': 'snnu_tyxy', + 'department_CN': '体育学院', + 'url': 'http://tyxy.snnu.edu.cn/News_information.asp', + 'url_main': 'http://tyxy.snnu.edu.cn/News_information.asp?id=33&bh=', + 'rule': 'font-weight:normal;">(?P<date>\d*-\d*-\d*)</span></td>[^&]+? /   <a href="/News_information.asp[?]id=33&bh=(?P<link>\d*)">\r\n(?P<title>[^\r]*?)\r\n', + 'coding': 'gbk', + 'type': '新闻' + }, + { + 'department_EN': 'snnu_music', + 'department_CN': '音乐学院', + 'url': 'http://music.snnu.edu.cn/xwzx/tzgg.htm', + 'url_main': 'http://music.snnu.edu.cn/info/1018/', + 'rule': '<span class="fr">(?P<date>\d{4}-\d{2}-\d{2})<[^\d]{1,50}1018/(?P<link>\d*.htm)">(?P<title>[^<]*)<', + 'coding': 'utf-8', + 'type': '通知' + }, + { + 'department_EN': 'snnu_music', + 'department_CN': '音乐学院', + 'url': 'http://music.snnu.edu.cn/xwzx/xyxw.htm', + 'url_main': 'http://music.snnu.edu.cn/info/1017/', + 'rule': '<span class="fr">(?P<date>\d{4}-\d{2}-\d{2})<[^\d]{1,50}1017/(?P<link>\d*.htm)">(?P<title>[^<]*)<', + 'coding': 'utf-8', + 'type': '新闻' + }, + { + 'department_EN': 'snnu_meishuxy', + 'department_CN': '美术学院', + 'url': 'http://meishuxy.snnu.edu.cn/News_Center.asp?id=15', + 'url_main': 'http://meishuxy.snnu.edu.cn/News_Center.asp?id=15&bh=', + 'rule': 'bh=(?P<link>\d*)" class="c5">(?P<title>[^<]*)</a>[\s\S]{1,160}>(?P<date>\d*-\d*-\d*)<', + 'coding': 'gbk', + 'type': '通知' + }, + { + 'department_EN': 'snnu_meishuxy', + 'department_CN': '美术学院', + 'url': 'http://meishuxy.snnu.edu.cn/News_Center.asp?id=14', + 'url_main': 'http://meishuxy.snnu.edu.cn/News_Center.asp?id=14&bh=', + 'rule': 'bh=(?P<link>\d*)" class="c5">(?P<title>[^<]*)</a>[\s\S]{1,160}>(?P<date>\d*-\d*-\d*)<', + 'coding': 'gbk', + 'type': '新闻' + }, + { + 'department_EN': 'snnu_ibs', + 'department_CN': '国际商学院', + 'url': 'http://www.ibs.snnu.edu.cn/Announcements.asp', + 'url_main': 'http://www.ibs.snnu.edu.cn/Announcements.asp?id=18&bh=', + 'rule': 'bh=(?P<link>\d*)" class="c5">(?P<title>[^<]*)</a>[\s\S]{1,150}>\[(?P<date>\d*-\d*-\d*)\]', + 'coding': 'gbk', + 'type': '通知' + }, + { + 'department_EN': 'snnu_ibs', + 'department_CN': '国际商学院', + 'url': 'http://www.ibs.snnu.edu.cn/News.asp', + 'url_main': 'http://www.ibs.snnu.edu.cn/Announcements.asp?id=16&bh=', + 'rule': 'bh=(?P<link>\d*)" class="c5">(?P<title>[^<]*)</a>[\s\S]{1,150}>\[(?P<date>\d*-\d*-\d*)\]', + 'coding': 'gbk', + 'type': '新闻' + }, + { + 'department_EN': 'snnu_iscs', + 'department_CN': '国际汉学院', + 'url': 'http://iscs.snnu.edu.cn/xwdt/xygg.htm', + 'url_main': 'http://iscs.snnu.edu.cn/info/1132/', + 'rule': '1132[/](?P<link>\d*.htm)"[^>]*>(?P<title>[^<]*)</a>[\s\S]{1,80}>(?P<date>\d*-\d*-\d*) <', + 'coding': 'utf-8', + 'type': '通知' + }, + { + 'department_EN': 'snnu_iscs', + 'department_CN': '国际汉学院', + 'url': 'http://iscs.snnu.edu.cn/xwdt/zhyw.htm', + 'url_main': 'http://iscs.snnu.edu.cn/info/1133/', + 'rule': '1133[/](?P<link>\d*.htm)"[^>]*>(?P<title>[^<]*)</a>[\s\S]{1,80}>(?P<date>\d*-\d*-\d*) <', + 'coding': 'utf-8', + 'type': '新闻' + }, + { + 'department_EN': 'snnu_spgcx', + 'department_CN': '食品工程与营养科学学院', + 'url': 'http://spgcx.snnu.edu.cn/xwdt/tzgg.htm', + 'url_main': 'http://spgcx.snnu.edu.cn/info/1193/', + 'rule': 'class="fr">(?P<date>\d*-\d*)</span><a href="../info/1193/(?P<link>\d*.htm)" target="_blank" title="(?P<title>[^"]*?)"', + 'coding': 'utf-8', + 'type': '通知' + }, + { + 'department_EN': 'snnu_spgcx', + 'department_CN': '食品工程与营养科学学院', + 'url': 'http://spgcx.snnu.edu.cn/xwdt/xyxw.htm', + 'url_main': 'http://spgcx.snnu.edu.cn/info/1192/', + 'rule': 'class="fr">(?P<date>\d*-\d*)</span><a href="../info/1192/(?P<link>\d*.htm)" target="_blank" title="(?P<title>[^"]*?)"', + 'coding': 'utf-8', + 'type': '新闻' + } +] + +# we_chat config + +GRANT_TYPE = 'client_credential' +APPID = ' ' +SECRET = ' ' + +# mysql config +TARGET_IP='localhost' +SQL_USERNAME='root' +SQL_PASSWORD='root' +DATABASE_NAME='test' diff --git a/test/html/snnu_chem_news.html b/test/html/snnu_chem_news.html new file mode 100644 index 0000000..4c91fcb --- /dev/null +++ b/test/html/snnu_chem_news.html @@ -0,0 +1,635 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <meta charset="utf-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" /> + <script type="text/javascript" src="/templates/main/js/jquery.js"></script> + <title>学院新闻 + + + + + + + + + + + + 西安市公安局文化保卫支队 + + + + + + + + + + + + + +
+
+ + +
+ 手机站 +
+
+ + +
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + +
+ + + + + + +
+ + + + + + + + + + + +
+
+ + 新闻 +
+ + +
+ +
+ + + + + + +
+
+ + + + + + + + + + + +
+
+
+
+ + +
+ +
+ + + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ + + +
+ +
化学化工学院团委微信公众号
+
+
+
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/test/html/snnu_chem_notice.html b/test/html/snnu_chem_notice.html new file mode 100644 index 0000000..bf0d5a0 --- /dev/null +++ b/test/html/snnu_chem_notice.html @@ -0,0 +1,635 @@ + + + + + + + 通知公告 + + + + + + + + + + + + 西安市公安局文化保卫支队 + + + + + + + + + + + + + +
+
+ + +
+ 手机站 +
+
+ + +
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + +
+ + + + + + +
+ + + + + + + + + + + +
+
+ + 新闻 +
+ + +
+ +
+ + + + + + +
+
+ + + + + + + + + + + +
+
+
+
+ + +
+ +
+ + + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ + + +
+ +
化学化工学院团委微信公众号
+
+
+
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/test/html/snnu_clxy_notice.html b/test/html/snnu_clxy_notice.html new file mode 100644 index 0000000..fafd263 --- /dev/null +++ b/test/html/snnu_clxy_notice.html @@ -0,0 +1,4698 @@ + + + + + 陕西师范大学材料科学与工程学院 + + + + + + +
+ +
+ 当前位置: 首页 > 通知公告 +
+ +
+ 日期范围: + + 至 + + +      + + 标题: + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 类型 + + 标题 + + 发布人 + + 发布时间 +
+ 新闻动态 + + 我院在大面积柔性钙钛矿单晶薄膜研究中取得突破性进展 + + + admin + + 2018-12-24 17:06:01 +
+ 新闻动态 + + 学院召开党支部书记抓党建述职评议会议 + + + admin + + 2018-12-21 11:11:08 +
+ 新闻动态 + + 我院组织低年级学生观看学习庆祝改革开放40周年大会 + + + admin + + 2018-12-19 17:39:58 +
+ 新闻动态 + + 学院党总支组织师生党员观看改革开放四十周年大会 + + + admin + + 2018-12-19 16:56:08 +
+ 新闻动态 + + 李玉虎教授出席“减少灾害风险管理和促进文献遗产可持续保护全球论坛” + + + admin + + 2018-12-18 20:26:26 +
+ 新闻动态 + + 材料学子大讲堂第十二讲——做自己的锦鲤 + + + admin + + 2018-12-14 17:56:15 +
+ 新闻动态 + + 李玉虎教授获“陕西最美科技工作者”荣誉称号 + + + admin + + 2018-12-14 08:52:08 +
+ 新闻动态 + + 波兰国家档案馆代表团来我院历史文化遗产保护教育部工程研究中心交流学习 + + + admin + + 2018-12-12 13:05:15 +
+ 新闻动态 + + “材与你相遇”学院2019年迎新晚会 + + + admin + + 2018-12-12 09:01:35 +
+ 新闻动态 + + 我院成功举办光电功能高分子材料学术论坛 + + + admin + + 2018-12-11 10:03:40 +
+ 新闻动态 + + 材料学子大讲堂第十一讲——大学怎样度过 + + + admin + + 2018-12-07 18:10:51 +
+ 新闻动态 + + 2018级研究生新生健康讲座----艾滋病的流行与预防 + + + admin + + 2018-12-03 11:12:01 +
+ 新闻动态 + + “与你同行,很温暖”——我院举行2018级新生心理团体辅导活动 + + + admin + + 2018-12-01 16:49:20 +
+ 新闻动态 + + 学院实验室安全与卫生检查情况 + + + admin + + 2018-11-30 16:42:07 +
+ 新闻动态 + + 材料学子大讲堂第十讲——与新同学的对话 + + + admin + + 2018-11-22 15:07:13 +
+ 新闻动态 + + 我校材料科学进入ESI全球排名前5‰ + + + admin + + 2018-11-19 14:33:51 +
+ 新闻动态 + + 材料学子大讲堂第九讲——大学生活及未来的职业规划 + + + admin + + 2018-11-16 16:27:56 +
+ 新闻动态 + + 我院为低年级学生举办英语四级备考指导讲座 + + + admin + + 2018-11-12 16:22:27 +
+ 新闻动态 + + 我院在稳定高效的全无机钙钛矿电池研究方面取得重要进展 + + + admin + + 2018-11-12 15:30:42 +
+ 新闻动态 + + 浙江工业大学李瑛教授应邀来我院进行学术交流 + + + admin + + 2018-11-09 17:50:53 +
+ 新闻动态 + + 我院开展大学生艾滋病预防专题讲座 + + + admin + + 2018-11-07 16:59:28 +
+ 新闻动态 + + 材料学子大讲堂第八讲——大学教育与自我成长 + + + admin + + 2018-11-06 11:30:24 +
+ 新闻动态 + + 我院为大二学生举行英语四级模拟考试 + + + admin + + 2018-11-05 10:47:26 +
+ 新闻动态 + + 学院各团支部十月团日活动集锦 + + + admin + + 2018-11-05 10:15:07 +
+ 新闻动态 + + 我院江瑞斌、赵奎老师入选2018年陕西省中青年科技创新领军人才 + + + admin + + 2018-11-05 09:49:07 +
+ 新闻动态 + + 心动力,新起点 ----研究生新生心理适应讲座 + + + admin + + 2018-11-02 17:28:39 +
+ 新闻动态 + + 我院研究生在研究生“迎新杯”篮球联赛小组赛首场获胜 + + + admin + + 2018-10-31 16:54:46 +
+ 新闻动态 + + 日本高知工科大学山本哲也教授应邀来我院进行学术交流 + + + admin + + 2018-10-31 10:09:46 +
+ 新闻动态 + + 学院召开党总支委员会换届选举大会 + + + admin + + 2018-10-28 17:31:25 +
+ 新闻动态 + + 我院刘生忠教授团队在Angewandte Chemie上发表柔性钙钛矿太阳能电池的综述文章 + + + + + 2018-10-23 17:20:24 +
+ 新闻动态 + + 我院成功举办成果转化与专利申请及其风险防控专题研讨会 + + + admin + + 2018-10-22 10:05:30 +
+ 新闻动态 + + 我院开展入学教育讲座第七讲——机会是留给有准备的人 + + + admin + + 2018-10-22 09:01:21 +
+ 新闻动态 + + 故宫博物院古建部赵鹏副主任应邀来我院进行学术交流 + + + admin + + 2018-10-22 08:49:41 +
+ 新闻动态 + + 陕西关中地区部分古建彩画发展概况及地域特征学术交流在我校举行 + + + admin + + 2018-10-22 08:35:38 +
+ 新闻动态 + + 我院赴吉林省重点中学进行招生宣传 + + + admin + + 2018-10-18 08:17:55 +
+ 新闻动态 + + 我院领导班子成员赴陕西科技大学调研交流 + + + admin + + 2018-10-17 15:11:36 +
+ 新闻动态 + + 学院召开研究生会成立大会及本科生学生会工作例会 + + + admin + + 2018-10-17 14:31:04 +
+ 新闻动态 + + 我院成功举办第二届师生友谊赛秋季运动会 + + + admin + + 2018-10-16 19:59:18 +
+ 新闻动态 + + 哈尔滨师范大学化学化工学院来我院调研本科教学工作 + + + admin + + 2018-10-12 18:01:13 +
+ 新闻动态 + + 奏响人才培养主旋律--材料学院深化工程教育改革工作拉开帷幕 + + + admin + + 2018-10-08 14:58:04 +
+ 新闻动态 + + 我院2018级研究生开学典礼暨入学教育圆满完成 + + + admin + + 2018-10-08 11:25:39 +
+ 新闻动态 + + 材料学院班子成员外出考察学习 + + + admin + + 2018-10-07 14:14:12 +
+ 新闻动态 + + 我院成功举办第三届“曲江学者论坛”材料学分论坛 + + + admin + + 2018-09-28 16:35:06 +
+ 新闻动态 + + 学院为2018级新生开展入学教育讲座——材料科学与工程简介 + + + admin + + 2018-09-24 17:51:42 +
+ 新闻动态 + + 我院召开2019届研究生就业动员会 + + + admin + + 2018-09-20 15:17:50 +
+ 新闻动态 + + 2018级入学教育讲座进行时——我院为新生开展学业规范、班风建设及安全教育讲座 + + + admin + + 2018-09-17 14:51:29 +
+ 新闻动态 + + 学院召开全院教职工大会 + + + admin + + 2018-09-16 09:52:47 +
+ 新闻动态 + + 学院举行2018级研究生开学典礼暨师生见面会 + + + admin + + 2018-09-16 09:52:11 +
+ 新闻动态 + + 我院组织2018级本科生参观实验室 + + + admin + + 2018-09-14 12:25:19 +
+ 新闻动态 + + 我院新增一个校外本科/研究生人才培养基地 + + + admin + + 2018-09-14 09:41:43 +
+ 新闻动态 + + 欢乐Party过教师节 + + + admin + + 2018-09-14 08:14:50 +
+ 新闻动态 + + 郑州宇通集团有限公司来学院做招聘宣讲 + + + admin + + 2018-09-12 10:03:10 +
+ 新闻动态 + + 逐迹寻真,究源求知——学院2018暑期社会实践活动系列报道 + + + admin + + 2018-09-05 12:03:40 +
+ 新闻动态 + + 材料科学与工程学院2018级新生工作启航——入学教育与军训 + + + admin + + 2018-09-01 16:16:58 +
+ 新闻动态 + + 学院检查新学期实验室安全及科研平台运行情况 + + + admin + + 2018-08-30 10:29:38 +
+ 新闻动态 + + 迎新---紧张、繁忙并快乐、期盼着 ——材料科学与工程学院迎新工作记 + + + admin + + 2018-08-27 08:26:10 +
+ 新闻动态 + + 我院领导班子召开新学期部署工作会议 + + + admin + + 2018-08-24 11:41:58 +
+ 新闻动态 + + 材料科学与工程学院学工组走访2018级新生困难家庭 + + + admin + + 2018-08-23 12:59:12 +
+ 新闻动态 + + 我院9项项目获2018年国家自然科学基金资助 + + + admin + + 2018-08-22 11:20:06 +
+ 新闻动态 + + 我校与常州市武进区签署产学研合作协议 + + + admin + + 2018-08-02 08:30:57 +
+ 新闻动态 + + 关爱让生活更温馨—学院工会给教工过生日 + + + admin + + 2018-07-23 14:47:21 +
+ 新闻动态 + + 研究生第三党支部赴八路军西安办事处纪念馆参观学习 + + + admin + + 2018-07-11 18:27:19 +
+ 新闻动态 + + 喜讯:我院2部教材获得校级教材建设项目立项支持 + + + admin + + 2018-07-11 17:54:38 +
+ 新闻动态 + + 我院举行2018年暑期夏令营开营仪式 + + + admin + + 2018-07-10 18:16:51 +
+ 新闻动态 + + 我院举行2015级材料化学专业教育实习动员会 + + + admin + + 2018-07-09 14:00:51 +
+ 新闻动态 + + 我院石峰老师入选2019年度陕西省青年科技新星 + + + admin + + 2018-07-09 09:18:17 +
+ 新闻动态 + + 学院召开期末全院教职工大会 + + + admin + + 2018-07-06 17:38:42 +
+ 新闻动态 + + 我院首次获批陕西省科技创新团队 + + + admin + + 2018-07-06 09:23:39 +
+ 新闻动态 + + 我院6项项目获得2018年度陕西省科技计划资助 + + + + + 2018-07-05 17:33:14 +
+ 新闻动态 + + 我院召开学院发展规划专题会议 + + + admin + + 2018-07-05 10:11:01 +
+ 新闻动态 + + 我院召开本科生期末考试动员大会 + + + admin + + 2018-07-02 16:02:48 +
+ 新闻动态 + + 青春不散场,毕业不别离—— 材料科学与工程学院2018届毕业生欢送会 + + + admin + + 2018-06-29 17:13:55 +
+ 新闻动态 + + 我院召开2018年本科生材料学子科研创新基金项目评审会 + + + + + 2018-06-29 12:48:15 +
+ 新闻动态 + + 我院陈煜教授课题组在乙醇电氧化领域取得新进展 + + + admin + + 2018-06-28 15:19:38 +
+ 新闻动态 + + 学风建设系列讲座——学院为低年级学生举办优秀学子交流会 + + + admin + + 2018-06-19 20:35:37 +
+ 新闻动态 + + 我院学生社团海燕爱心社与西安世博园举行长期合作签约仪式 + + + admin + + 2018-06-15 16:48:00 +
+ 新闻动态 + + 助力研途,扬帆起航——四川大学、西安交通大学来我院举办研究生招生宣讲 + + + admin + + 2018-06-07 18:17:32 +
+ 新闻动态 + + 我院举行材料科学与工程博士学位授权点和材料工程专业硕士学位授权点自我评估评审会 + + + admin + + 2018-06-07 12:56:59 +
+ 新闻动态 + + 学风建设系列讲座——学院为低年级学生举办英语四六级备考指导讲座 + + + admin + + 2018-05-28 11:47:24 +
+ 新闻动态 + + 学院组织2016级本科生学习习近平在北京大学师生座谈会上的讲话精神 + + + admin + + 2018-05-14 16:45:09 +
+ 新闻动态 + + 学院召开第一次教学与课程建设委员会会议 + + + + + 2018-05-14 13:10:04 +
+ 新闻动态 + + 我院学生党支部组织党员观看纪录片《厉害了,我的国》 + + + admin + + 2018-05-09 11:41:39 +
+ 新闻动态 + + 首届电子元器件关键材料与技术研讨会在我校成功举办 + + + admin + + 2018-05-02 09:58:49 +
+ 新闻动态 + + 人事处来学院召开青年教师座谈会 + + + admin + + 2018-05-02 07:19:55 +
+ 新闻动态 + + 凝心聚力 奋勇拼搏——记我院2018年校运动 + + + admin + + 2018-04-29 10:24:59 +
+ 新闻动态 + + 学校党委副书记马博虎同志来学院指导工作 + + + admin + + 2018-04-27 17:48:47 +
+ 新闻动态 + + 我院师生党员前往铜川照金参观学习 + + + admin + + 2018-04-23 11:51:57 +
+ 新闻动态 + + 教育部本科教学工作审核评估专家走访材料科学与工程学院 + + + admin + + 2018-04-18 15:33:00 +
+ 新闻动态 + + 学风建设系列讲座——学院为2017级学生举办专业指导讲座Ⅱ + + + admin + + 2018-04-17 13:25:50 +
+ 新闻动态 + + 我院召开全院教职工大会 + + + admin + + 2018-04-13 13:47:42 +
+ 新闻动态 + + 我院召开党员大会选举党代表 + + + + + 2018-04-11 12:19:17 +
+ 新闻动态 + + 我院学生社团海燕爱心社与西安世博园合作开展志愿服务活动 + + + admin + + 2018-04-03 19:56:43 +
+ 新闻动态 + + 学风建设系列讲座——学院为2017级学生举办专业指导讲座 + + + admin + + 2018-03-28 18:11:05 +
+ 新闻动态 + + 本科教学工作审核评估预评估专家来院检查指导工作 + + + admin + + 2018-03-22 18:43:50 +
+ 新闻动态 + + 学风建设系列讲座——考研英语学习方法指导 + + + admin + + 2018-03-21 09:30:03 +
+ 新闻动态 + + 我院刘渝城同学入选2017年陕西省大学生自强之星 + + + admin + + 2018-03-18 20:08:10 +
+ 新闻动态 + + 学院召开本科教学工作审核评估预备会 Ⅱ + + + admin + + 2018-03-16 18:29:32 +
+ 新闻动态 + + 学院召开第十一次党代会工作部署会 + + + admin + + 2018-03-15 17:36:04 +
+ 新闻动态 + + 学院召开本科教学工作审核评估预备会 + + + admin + + 2018-03-14 15:30:35 +
+ 新闻动态 + + 精准定位找差距 凝心聚力谋发展-学院召开新学期工作部署会 + + + admin + + 2018-03-12 18:05:47 +
+ 新闻动态 + + 学院第三届工会委员会换届选举大会顺利召开 + + + admin + + 2018-03-10 11:05:14 +
+ 新闻动态 + + 研究生院一行来我院调研指导 + + + admin + + 2018-03-08 16:23:20 +
+ 新闻动态 + + 学院检查督导新学期实验室安全工作 + + + admin + + 2018-03-06 17:16:14 +
+ 新闻动态 + + 学院组织观看十三届全国人大一次会议 + + + admin + + 2018-03-05 18:05:07 +
+ 新闻动态 + + 学院开展教学档案整改工作 + + + admin + + 2018-02-19 11:44:38 +
+ 新闻动态 + + 学院召开教研室主任工作会议 + + + admin + + 2018-02-02 07:16:48 +
+ 新闻动态 + + 第十届电介质材料物理交流讨论会在我院成功举办 + + + admin + + 2018-01-30 15:33:38 +
+ 新闻动态 + + 学院举行中央高校基本业务费自由探索项目答辩会 + + + admin + + 2018-01-18 09:45:13 +
+ 新闻动态 + + 学院召开青年教师座谈会 + + + admin + + 2018-01-18 09:24:29 +
+ 新闻动态 + + 学院召开党总支中心组学习研讨会 + + + admin + + 2018-01-17 10:33:32 +
+ 新闻动态 + + 学院召开期末考试动员大会 + + + admin + + 2018-01-16 18:54:08 +
+ 新闻动态 + + 我院成功举办第四届研究生学术论坛 + + + admin + + 2018-01-16 11:40:09 +
+ 新闻动态 + + 我院与陕西德飞新能源科技有限公司开展深化合作交流座谈会 + + + admin + + 2018-01-16 10:18:34 +
+ 新闻动态 + + 材料学院召开全院大会部署学期末工作 + + + admin + + 2018-01-09 20:24:53 +
+ 新闻动态 + + 学院深入学习十九大报告精神 + + + + + 2018-01-05 09:40:58 +
+ 新闻动态 + + 我院学生参加学校第三届大学生课外学术科技作品博览会 + + + admin + + 2017-12-27 16:16:18 +
+ 新闻动态 + + 我院学生参加学校乒乓球比赛获得团体第七名 + + + admin + + 2017-12-27 11:41:44 +
+ 新闻动态 + + 材德兼备铭初心 笃行致远创未来 ----学院2018年迎新晚会成功举办 + + + admin + + 2017-12-18 15:13:55 +
+ 新闻动态 + + 我院青年教师在第十届青年教师教学基本功大赛中喜获佳绩 + + + admin + + 2017-12-14 08:10:36 +
+ 新闻动态 + + 陕西省文物修复与环保工程技术研究中心工程项目顺利通过验收 + + + admin + + 2017-12-14 08:31:33 +
+ 新闻动态 + + 第二届曲江学者论坛暨陕西省丝绸之路青年学者论坛--材料学分论坛圆满结束 + + + admin + + 2017-11-29 08:27:31 +
+ 新闻动态 + + 基础实验教学中心开展主题党日活动-- 认真学习党的十九大报告 + + + admin + + 2017-11-27 08:51:12 +
+ 新闻动态 + + 天使的守护——学院新生团体心理辅导活动 + + + admin + + 2017-11-24 15:45:43 +
+ 新闻动态 + + 材料科学与工程学院党总支认真学习党的十九大报告 + + + admin + + 2017-11-17 16:28:08 +
+ 新闻动态 + + 学院教师党支部与机关党委实验室建设与管理处党支部一起学习党的十九大报告 + + + admin + + 2017-11-10 18:14:57 +
+ 新闻动态 + + 利用校外资源优化职业生涯课程 + + + admin + + 2017-11-10 17:33:24 +
+ 新闻动态 + + 李玉虎教授主持感光影像档案修复与保护关键技术研究项目获国家档案局优秀科技成果特等奖 + + + admin + + 2017-11-10 16:36:10 +
+ 新闻动态 + + 夯实基础管理 创新服务模式-材料学院召开第二次全院教职工大会 + + + admin + + 2017-11-02 15:49:45 +
+ 新闻动态 + + 不忘初心 牢记使命——学院主题党日活动 + + + admin + + 2017-11-02 12:04:48 +
+ 新闻动态 + + 学风建设系列活动——学院邀请西安交通大学师生做思维导图在化学学习中应用的讲座 + + + admin + + 2017-10-30 17:26:57 +
+ 新闻动态 + + 学院举行2018届研究生毕业生就业动员会 + + + admin + + 2017-10-28 15:54:33 +
+ 新闻动态 + + 2017级材料工程专业研究生赴大荔德飞新能源科技有限公司实习实践 + + + admin + + 2017-10-23 11:32:18 +
+ 新闻动态 + + 学院师生集体观看党的十九大开幕式 + + + admin + + 2017-10-18 16:02:05 +
+ 新闻动态 + + 我院研究生在陕西省第二届微结构摄影大赛中取得佳绩 + + + admin + + 2017-10-09 22:03:59 +
+ 新闻动态 + + 材料科学与工程学院学风建设活动---实验室安全教育篇 + + + admin + + 2017-09-30 13:13:42 +
+ 新闻动态 + + 带你走好研途第一步——2017级研究生新生入学教育系列讲座 + + + admin + + 2017-09-19 17:45:41 +
+ 新闻动态 + + 我院石峰副教授课题组参与国家重点研发计划项目 + + + admin + + 2017-09-14 09:07:18 +
+ 新闻动态 + + 学院举行2014级教学实习动员大会 + + + admin + + 2017-09-07 09:57:35 +
+ 新闻动态 + + 我院获批2017年国家自然基金项目11项 + + + admin + + 2017-09-01 18:11:36 +
+ 新闻动态 + + 架起沟通桥,铺就成长路—我院召开2017级新生家长座谈会 + + + admin + + 2017-08-25 22:29:22 +
+ 新闻动态 + + 科研筑梦 实践探寻——学院暑期三下乡社会实践活动顺利完成 + + + admin + + 2017-08-02 11:57:40 +
+ 新闻动态 + + 我院陈煜教授在制氢领域取得系列进展 + + + admin + + 2017-07-17 09:21:34 +
+ 新闻动态 + + 我院与陕西德飞新能源科技有限公司举行实践基地授牌仪式 + + + admin + + 2017-07-14 14:46:49 +
+ 新闻动态 + + 材料科学与工程学院成功举办第一届优秀大学生暑期夏令营 + + + admin + + 2017-07-12 18:05:44 +
+ 新闻动态 + + 学院召开推进两学一做学习教育常态化制度化工作部署会 + + + admin + + 2017-07-08 12:51:42 +
+ 新闻动态 + + 印度尼西亚国家档案局局长考察我院历史文化遗产保护教育部工程研究中心 + + + admin + + 2017-06-22 16:53:53 +
+ 新闻动态 + + 我院学生作品在挑战杯陕西省大学生课外学术科技作品竞赛中荣获二等奖 + + + admin + + 2017-06-13 15:48:47 +
+ 新闻动态 + + 学风建设系列活动—学院举办求职经验分享会 + + + admin + + 2017-06-08 17:16:32 +
+ 新闻动态 + + 我院举办研究生安全教育培训讲座 + + + admin + + 2017-06-01 11:43:14 +
+ 新闻动态 + + 学风建设系列活动——学院举办国家留学基金委资助本科生出国交流项目经验分享会 + + + admin + + 2017-05-31 15:58:44 +
+ 新闻动态 + + 学风建设系列活动—学院成功举办考研经验分享会 + + + admin + + 2017-05-25 21:22:29 +
+ 新闻动态 + + 学风建设系列活动—学院推出学业指导和职业生涯规划系列讲座 + + + admin + + 2017-05-23 17:30:53 +
+ 新闻动态 + + 学院召开毕业生就业工作推进会 + + + + + 2017-05-16 17:46:21 +
+ 新闻动态 + + 学风建设系列活动—优秀毕业生出国留学经验分享会 + + + admin + + 2017-05-15 17:34:11 +
+ 新闻动态 + + 纪念建军90周年,喜迎党的十九大——经典再现·胶片老电影展示会 + + + admin + + 2017-05-15 11:56:18 +
+ 新闻动态 + + 材料科学与工程学院2017年师生球类友谊赛成功举办 + + + + + 2017-05-13 18:06:52 +
+ 新闻动态 + + 追忆红色岁月,缅怀革命先烈——材料科学与工程学院2015级研究生赴杨虎城止园别墅旧址参观 + + + admin + + 2017-05-12 15:45:03 +
+ 新闻动态 + + 学院行政党支部政治理论学习工作会 + + + admin + + 2017-04-28 17:05:18 +
+ 新闻动态 + + 我院成功举办经典再现·胶片老电影保护研讨展示会——著名艺术表演家许还山先生出席 + + + admin + + 2017-04-24 11:41:47 +
+ 新闻动态 + + 学院举办春季优秀宿舍评比活动 + + + admin + + 2017-03-31 11:16:48 +
+ 新闻动态 + + 学院召开党支部政治理论学习工作部署会 + + + admin + + 2017-03-25 11:07:32 +
+ 新闻动态 + + 学风建设系列讲座—树立学术规范理念 促进科研知识创新 + + + admin + + 2017-03-22 11:15:46 +
+ 新闻动态 + + 外国语学院教师和我院师生座谈 + + + admin + + 2017-03-21 12:46:53 +
+ 新闻动态 + + 学风建设系列讲座—出国留学及英语学习 + + + admin + + 2017-03-20 16:38:51 +
+ 新闻动态 + + 学院有序推进学生就业工作 + + + admin + + 2017-03-17 18:33:02 +
+ 新闻动态 + + 学院学生积极关注总理政府报告 + + + admin + + 2017-03-07 16:04:30 +
+ 新闻动态 + + 我院召开新学期工作部署会议 + + + + + 2017-03-06 12:00:20 +
+ 新闻动态 + + 我院博士毕业生张慧入围江苏省第五期333工程第三层次培养对象 + + + admin + + 2017-02-15 09:42:45 +
+ 新闻动态 + + 我院承担的蓝田猿人遗址黄土剖面病害抢救性治理工程通过验收 + + + admin + + 2017-01-17 10:32:33 +
+ 新闻动态 + + 学院召开2016年领导班子民主生活会 + + + admin + + 2017-01-16 11:02:11 +
+ 新闻动态 + + 材料学院召开二级教代会 + + + admin + + 2017-01-13 17:41:13 +
+ 新闻动态 + + 马博虎同志参加学院青年教师座谈会 + + + admin + + 2017-01-12 10:59:02 +
+ 新闻动态 + + 第八届电介质材料物理交流讨论会(西安片区)在我院成功举办 + + + admin + + 2017-01-12 08:54:49 +
+ 新闻动态 + + 我院承担的江西庐山(星子)明代高僧墓壁画抢救修复保护工程顺利通过验收 + + + admin + + 2017-01-10 14:57:46 +
+ 新闻动态 + + 陕西师范大学历史文化遗产保护教育部工程研究中心承担的中国第二历史档案馆2016年特藏档案抢救保护项目顺利通过验收 + + + admin + + 2017-01-10 14:46:48 +
+ 新闻动态 + + 学院党总支召开2016年民主评议党员工作部署会 + + + admin + + 2016-12-30 16:09:40 +
+ 新闻动态 + + 学校党委书记甘晖到我院调研两学一做学习教育工作 + + + admin + + 2016-12-26 17:22:43 +
+ 新闻动态 + + 扬帆起航材料梦,求索笃行学子心——学院举办2017年迎新晚会 + + + admin + + 2016-12-21 18:36:40 +
+ 新闻动态 + + 材料科学与工程学院召开省级工程实验室及重点实验室学术委员会会议 + + + admin + + 2016-12-13 09:33:56 +
+ 新闻动态 + + 学院党中心组召开学习十八届六中全会精神会议 + + + admin + + 2016-12-11 19:32:53 +
+ 新闻动态 + + 马博虎同志参加学院教师党支部专题学习会 + + + admin + + 2016-11-29 16:52:37 +
+ 新闻动态 + + 学院教师党支部选举大会顺利召开 + + + admin + + 2016-11-04 17:51:01 +
+ 新闻动态 + + 学校两学一做学习教育督导组来学院检查工作 + + + admin + + 2016-11-04 11:06:22 +
+ 新闻动态 + + 我院2014级本科生团体心理辅导活动顺利开展 + + + admin + + 2016-11-03 15:31:10 +
+ 新闻动态 + + 材料科学与工程学院教工党支部两学一做第四专题讨论会 + + + admin + + 2016-11-01 11:40:52 +
+ 新闻动态 + + 学院党中心组两学一做学习研讨会 + + + admin + + 2016-11-01 11:35:09 +
+ 新闻动态 + + 我院举行第九届青年教师教学基本功预赛 + + + admin + + 2016-10-28 17:05:11 +
+ 新闻动态 + + 我院储能材料研究团队取得重要成果 + + + admin + + 2016-10-25 16:29:57 +
+ 新闻动态 + + 我院举办2016级研究生新生教育系列讲座 + + + admin + + 2016-10-25 15:20:53 +
+ % + + 我院举办纪念中央红军长征胜利80周年主题团日活动 + + + admin + + 2016-10-24 18:02:37 +
+ 新闻动态 + + 常州天合光能有限公司来我院招聘毕业生 + + + admin + + 2016-10-24 11:31:47 +
+ 新闻动态 + + 发扬长征精神 走好当代长征路--学院党中心组两学一做学习研讨会 + + + admin + + 2016-10-23 15:59:58 +
+ 新闻动态 + + 我院研究生力夺2016届新生篮球赛亚军 + + + admin + + 2016-10-17 15:06:28 +
+ 新闻动态 + + 我院举行学生会换届大会 + + + admin + + 2016-10-12 11:24:40 +
+ 新闻动态 + + 学院党总支中心组召开第三专题学习讨论会 + + + admin + + 2016-09-30 15:30:37 +
+ 新闻动态 + + 学院教工党支部两学一做专题讨论 + + + + + 2016-09-29 10:52:38 +
+ 新闻动态 + + 我院召开新学期工作部署会议 + + + admin + + 2016-09-23 11:32:15 +
+ 新闻动态 + + 成材之路——我院2013级本科生实习工作圆满结束 + + + admin + + 2016-09-22 18:10:33 +
+ 新闻动态 + + 我院2013级考研动员大会顺利举行 + + + admin + + 2016-09-22 17:10:18 +
+ 新闻动态 + + 材料科学与工程学院2016级研究生实验安全教育培训讲座圆满结束 + + + admin + + 2016-09-18 16:42:43 +
+ 新闻动态 + + 我院2016年本科生新生入学工作圆满完成 + + + admin + + 2016-09-05 10:08:15 +
+ 新闻动态 + + 我院2016级研究生迎新工作圆满结束 + + + admin + + 2016-09-05 09:40:12 +
+ 新闻动态 + + 我院本科教学管理工作得到学校肯定 + + + admin + + 2016-09-01 11:44:14 +
+ 新闻动态 + + 温暖开学季,迎新更赢心 + + + admin + + 2016-08-15 10:10:37 +
+ 新闻动态 + + 访革命旧址,探文保之路——我院2016年暑期社会实践 + + + admin + + 2016-07-22 16:05:13 +
+ 新闻动态 + + 学院党总支中心组召开学习习总书记七一讲话专题会议 + + + admin + + 2016-07-21 21:43:14 +
+ 新闻动态 + + 我院召开全院教职工教学研讨会 + + + admin + + 2016-07-13 11:21:08 +
+ 新闻动态 + + 材料学院党总支组织党员参观习仲勋陵园并举行新党员入党宣誓仪式 + + + admin + + 2016-07-01 10:06:45 +
+ 新闻动态 + + 我校协办联合国教科文组织世界记忆项目亚太地区档案保护研讨会 + + + admin + + 2016-06-21 09:15:49 +
+ 新闻动态 + + 化学化工学院和我院邀请任晓伟教授为师生党员作 两学一做专题报告 + + + admin + + 2016-06-17 17:24:48 +
+ 新闻动态 + + 材料科学与工程学院学子出国留学再创佳绩 + + + admin + + 2016-06-06 17:58:57 +
+ 新闻动态 + + 学院教工党支部两学一做专题讨论 + + + admin + + 2016-06-06 12:24:53 +
+ 新闻动态 + + 学院召开研究生就业工作推进会 + + + admin + + 2016-05-27 09:02:31 +
+ 新闻动态 + + 材料学院组织2015级材料化学专业学生来院参观 + + + admin + + 2016-05-27 08:27:42 +
+ 新闻动态 + + 我院在金纳米晶的制备和光学性质研究方面获得新突破 + + + admin + + 2016-05-25 11:55:52 +
+ 新闻动态 + + 我院在二维原子晶体材料制备研究中取得重要进展 + + + admin + + 2016-05-18 15:59:00 +
+ 新闻动态 + + 材料学院开展放飞梦想,展望未来主题团日活动 + + + admin + + 2016-05-17 11:02:50 +
+ 新闻动态 + + 学院党总支中心组召开专题学习讨论活动 + + + admin + + 2016-05-11 15:57:50 +
+ 新闻动态 + + 材料学院两学一做学习教育系列活动 + + + admin + + 2016-05-04 15:30:18 +
+ 新闻动态 + + 材料科学与工程学院召开两学一做学习教育动员部署会 + + + admin + + 2016-04-28 17:04:55 +
+ 新闻动态 + + 天生我材必有用—学院师生在校运会上获佳绩 + + + admin + + 2016-04-25 19:26:05 +
+ 新闻动态 + + 学院2016年师生趣味运动会 + + + admin + + 2016-04-22 19:51:23 +
+ 新闻动态 + + 学院研究生会新学期工作安排部署会 + + + admin + + 2016-03-30 10:57:10 +
+ 新闻动态 + + 学院组织学生观看第十二届全国人民代表大会第四次会议 + + + admin + + 2016-03-07 15:17:38 +
+ 新闻动态 + + 我院召开2015年年终总结及二级教代会 + + + admin + + 2016-01-16 09:19:41 +
+ 新闻动态 + + 第六届电介质材料物理研究生交流讨论会在我院成功举办 + + + admin + + 2016-01-16 08:47:35 +
+ 新闻动态 + + 我院召开领导班子三严三实专题民主生活会 + + + admin + + 2016-01-14 15:34:23 +
+ 新闻动态 + + 学院举办海外留学经验交流会 + + + admin + + 2016-01-06 08:58:31 +
+ 新闻动态 + + 材料科学与工程学院2016年迎新晚会举办 + + + admin + + 2016-01-04 11:47:15 +
+ 新闻动态 + + 我院参加2015年纪念12.9运动阳光体育半程马拉松比赛 + + + admin + + 2015-12-17 16:50:42 +
+ 新闻动态 + + 德飞新能源科技有限公司马振忠总经理访问我院 + + + admin + + 2015-12-10 11:09:34 +
+ 新闻动态 + + 我院进行2015年教学委员会第一次会议 + + + admin + + 2015-12-08 10:06:47 +
+ 新闻动态 + + 我院举行2012级本科生实习总结大会 + + + admin + + 2015-12-04 17:09:16 +
+ 新闻动态 + + 我院学生在陕西省大学生武术套路锦标赛中获太极拳冠军 + + + admin + + 2015-12-03 10:14:18 +
+ 新闻动态 + + 我院举行2014级博士及硕士研究生中期考核 + + + admin + + 2015-12-01 09:30:37 +
+ 新闻动态 + + 复旦大学赵东元院士访问我院 + + + admin + + 2015-12-01 08:27:29 +
+ 新闻动态 + + 我院领导参加了第六届知名大学材料学院院长沙龙 + + + admin + + 2015-11-19 11:49:45 +
+ 新闻动态 + + 我院组织全体教工党员学习《准则》和《条例》 + + + admin + + 2015-11-15 18:02:18 +
+ 新闻动态 + + 我院学生参观陕西省第二届研究生创新成果展暨创新成果洽谈会 + + + admin + + 2015-11-09 10:04:25 +
+ 新闻动态 + + 材料科学与工程学院党总支召开三严三实第二专题研讨会 + + + admin + + 2015-11-03 10:21:25 +
+ 新闻动态 + + 我院举行第八届青年教师教学基本功大赛预赛 + + + admin + + 2015-11-03 08:37:23 +
+ 新闻动态 + + 我院迎接陕西省高校巡视诊断工作圆满结束 + + + admin + + 2015-10-29 15:04:48 +
+ 新闻动态 + + 材料科学与工程学院2015年专业实习纪实 + + + + + 2015-10-28 11:23:59 +
+ 新闻动态 + + 职业导航——陕西德飞新能源科技有限公司刘建波博士来我院进行主题讲座 + + + admin + + 2015-10-22 15:01:07 +
+ 新闻动态 + + 学而思西安分校来我院举行专场招聘会 + + + admin + + 2015-10-20 09:26:42 +
+ 新闻动态 + + 学院参加纪念中国人民抗日战争暨世界反法西斯战争胜利70周年合唱比赛荣获优秀组织奖 + + + admin + + 2015-10-18 17:14:52 +
+ 新闻动态 + + 学院召开2016届毕业生就业动员会 + + + admin + + 2015-10-12 10:20:39 +
+ 新闻动态 + + 我院召开迎接陕西高校巡视诊断工作部署会议 + + + admin + + 2015-09-30 10:32:30 +
+ 新闻动态 + + 院学生会举办新老生交流会 + + + admin + + 2015-09-30 08:56:43 +
+ 新闻动态 + + 以德治企,助梦飞翔----记2012级本科生德飞集团实习总结交流会 + + + admin + + 2015-09-29 11:08:59 +
+ 新闻动态 + + 齐心协力迎接省高校巡诊工作-我院召开新学期教职工大会 + + + admin + + 2015-09-25 15:04:41 +
+ 新闻动态 + + 学院举办2015级研究生新生心理讲座 + + + admin + + 2015-09-25 09:23:34 +
+ 新闻动态 + + 陕西师范大学材料科学与工程学院——陕西德飞集团教育教学实践基地启动仪式成功举行 + + + admin + + 2015-09-15 11:31:06 +
+ 新闻动态 + + 学院组织师生收看抗战胜利70周年纪念大会现场直播 + + + admin + + 2015-09-06 16:00:18 +
+ 新闻动态 + + 材料科学与工程学院和化学化工学院2015暑期三下乡社会实践活动圆满结束 + + + admin + + 2015-07-28 10:16:03 +
+ 新闻动态 + + 学院教工党支部召开三严三实专题组织生活会 + + + admin + + 2015-07-16 11:21:25 +
+ 新闻动态 + + 我院召开期末教职工大会 + + + admin + + 2015-07-06 17:21:29 +
+ 新闻动态 + + 世界那么大,我想去看看 + + + admin + + 2015-07-06 16:10:59 +
+ 新闻动态 + + 常州石墨烯研究所实习动员会 + + + admin + + 2015-07-06 11:01:34 +
+ 新闻动态 + + 土耳其国家档案总局代表团访问历史文化遗产保护教育部工程研究中心 + + + admin + + 2015-06-26 10:07:31 +
+ 新闻动态 + + 我院举行专业实践基地及产学研合作基地揭牌仪式 + + + admin + + 2015-06-26 09:56:57 +
+ 新闻动态 + + 学院举办三严三实专题教育党课 + + + admin + + 2015-06-18 09:55:35 +
+ 新闻动态 + + 我院在常州企业暨研究院建立实习基地 + + + admin + + 2015-05-29 15:50:19 +
+ 新闻动态 + + 我院学生作品在挑战杯陕西省大学生课外学术科技作品竞赛中荣获一等奖 + + + admin + + 2015-05-25 20:38:45 +
+ 新闻动态 + + 西汉彩绘兵马俑彩绘层微米级龟裂缝隙显微修复与动态检测技术顺利通过国家文物局专家鉴定 + + + admin + + 2015-05-20 16:16:03 +
+ 新闻动态 + + 我院召开一流学科建设讨论会 + + + admin + + 2015-05-06 17:44:06 +
+ 新闻动态 + + 陕西德飞新能源研究所刘建波一行来我院交流座谈 + + + admin + + 2015-05-05 15:30:13 +
+ 新闻动态 + + 材料学院2015届毕业生就业工作推进会 + + + admin + + 2015-04-30 11:10:09 +
+ 新闻动态 + + 蛮拼的材料学院师生 + + + admin + + 2015-04-29 12:00:44 +
+ 新闻动态 + + 我院圆满完成2014年度科技目标任务 + + + admin + + 2015-04-10 10:42:02 +
+ 新闻动态 + + 学院举行党课培训开班典礼 + + + admin + + 2015-04-14 09:50:51 +
+ 新闻动态 + + 学院举行考研助力交流会 + + + admin + + 2015-04-13 11:23:35 +
+ 新闻动态 + + 我院召开新学期教职工大会 + + + admin + + 2015-03-19 05:05:02 +
+ 新闻动态 + + 国际交流与合作处徐峰处长一行访问我院 + + + admin + + 2015-03-13 11:30:48 +
+ 新闻动态 + + 游旭群副校长一行来我院走访座谈 + + + admin + + 2015-04-15 17:35:09 +
+ 新闻动态 + + 李玉虎教授被授予中国感光学会突出贡献奖 + + + admin + + 2015-04-15 17:36:14 +
+ 新闻动态 + + 我校10项科技成果获2015年度陕西高等学校科学技术奖 + + + admin + + 2015-03-06 11:13:40 +
+ 新闻动态 + + 2014级材料化学专业学生来院参观 + + + admin + + 2015-03-05 07:33:27 +
+ 新闻动态 + + 李玉虎教授主持的档案保护科研项目获国家档案局优秀科技成果一等奖 + + + admin + + 2015-03-05 11:03:47 +
+ 新闻动态 + + 材料科学与工程学院教学研讨会成功举办 + + + admin + + 2015-01-29 02:11:03 +
+ 新闻动态 + + 《新能源材料与器件科学论坛》成功举行 + + + admin + + 2015-04-15 17:37:01 +
+ 新闻动态 + + 我院召开2015年国家自然科学基金申请院内评审会 + + + admin + + 2015-01-19 05:48:24 +
+ 新闻动态 + + 第四届电介质材料物理交流讨论会在我院成功举办 + + + admin + + 2015-01-15 10:15:09 +
+ 新闻动态 + + 材料科学与工程学院举办2015年迎新晚会 + + + admin + + 2015-01-05 04:59:44 +
+ 新闻动态 + + 我院和化学化工学院联合举办非师范专业学生职业规划培训课程 + + + admin + + 2014-12-30 11:35:19 +
+ 新闻动态 + + 2012级材料化学本科生专业指导教师见面会 + + + admin + + 2014-12-02 10:44:31 +
+ 新闻动态 + + 我院召开全院教职工大会 + + + admin + + 2014-11-26 09:49:25 +
+ 新闻动态 + + 材料学院校庆70周年系列活动 历史文化遗产保护教育部工程研究中心成立十周年学术研讨会暨史前彩绘陶器科学研究博物馆开馆仪式顺利举行 + + + admin + + 2014-10-11 03:17:42 +
+ 新闻动态 + + 参观学习 + + + admin + + 2014-09-27 09:34:46 +
+ 新闻动态 + + 2014级研究生入学教育第一课—研究生的国际化交流 + + + admin + + 2014-09-18 10:27:23 +
+ 新闻动态 + + 我校承担的抢救修复韩城元代建筑藻井画抢救修复项目受到专家高度评价 + + + admin + + 2014-08-19 05:47:43 +
+ 新闻动态 + + 我校成功科学修复保护唐皇城墙含光门、大唐西市两处唐代土遗址 + + + admin + + 2014-08-19 05:46:29 +
+ 新闻动态 + + 陕西省档案局局长王建领一行来我校历史文化遗产保护教育部工程研究中心考察调研 + + + admin + + 2014-08-19 05:41:38 +
+ 新闻动态 + + 留住回忆,放飞梦想--材料科学与工程学院欢送2014届毕业生系列活动 + + + admin + + 2014-06-13 08:59:15 +
+ 新闻动态 + + 程光旭校长莅临我院走访调研 + + + admin + + 2014-06-06 09:48:53 +
+ 新闻动态 + + 喀什师范学院来我院招聘 + + + admin + + 2014-05-21 04:35:03 +
+ 新闻动态 + + 我院参加第二届西安市高校材料论坛开幕式 + + + admin + + 2014-05-15 09:59:12 +
+ 新闻动态 + + 李玉虎教授主持的陕西省13115科技创新工程重大专项通过验收与鉴定 + + + admin + + 2014-04-18 10:39:07 +
+ 新闻动态 + + 我院在研究生运动会上取得可喜成绩 + + + admin + + 2014-04-04 04:01:04 +
+ 新闻动态 + + 我院成功举办第二期材料科学论坛 + + + admin + + 2014-03-10 01:05:59 +
+ 新闻动态 + + 我院刘宗怀教授、雷志斌教授受邀参加亚太电化学能源储存与转化会议 + + + admin + + 2014-02-19 11:18:10 +
+ 新闻动态 + + 我院成功举办首期材料科学论坛暨2013年学术年会 + + + admin + + 2014-01-22 01:39:23 +
+ + + + + + + + + + + +

+ + + + diff --git a/test/html/snnu_css_news.html b/test/html/snnu_css_news.html new file mode 100644 index 0000000..b41aa15 --- /dev/null +++ b/test/html/snnu_css_news.html @@ -0,0 +1,413 @@ + + + +学院动态-陕西师范大学计算机科学学院 + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+ + + +
+ +
+ +
+ + +
+ +
+
+
+
+
+ 学院动态
+
+ 当前位置: + 网站首页 + + +
+
+ + +
+ +
+ +
+ + + + + +
+
共542条  1/37 
首页上页  
+
+ +
+
+
+ + +
+ +
+ + + + diff --git a/test/html/snnu_css_notice.html b/test/html/snnu_css_notice.html new file mode 100644 index 0000000..624805e --- /dev/null +++ b/test/html/snnu_css_notice.html @@ -0,0 +1,418 @@ + + + +通知公告-陕西师范大学计算机科学学院 + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+ + + +
+ +
+ +
+ + +
+ +
+
+
+
+
+ 通知公告
+
+ 当前位置: + 网站首页 + + +
+
+ + +
+ +
+ +
+ + + + + +
+
共396条  1/27 
首页上页  
+
+ +
+
+
+ + +
+ +
+ + + + diff --git a/test/html/snnu_cxinw_news.html b/test/html/snnu_cxinw_news.html new file mode 100644 index 0000000..3090ee4 --- /dev/null +++ b/test/html/snnu_cxinw_news.html @@ -0,0 +1,670 @@ + + + + + + +ѧԺ-ʦѧ봫ѧԺ-վ֧֣ + + + + + + + + + + + + +
+ + + + + + + +
+ + + + + + + + + +
+ + + + + + + + + + + + + +
+
+ +
+ + + + + + + +
+ + + + + + + + + + +
+
+ +
+ +
+ + + + +
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ҳѧԺſŹʦʶѧѧоѧչʽУ
+ +
+
+ + + + + +
+ + + + +
+ + + + + + +
+ + + + + + + + + + +
+ + + + + +
+ Ź
+ + + + +
+ + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
ѧԺλãҳ > ѧԺ
+
+ + + + + + +
+ + + + +
+ + + + + + + + +
Ժչ2018-12-20
+ + + + + + + +
Ժٿ2018-2019ѧѧᣨߴΣ2018-12-20
+ + + + + + + +
˹ŵѧʮڡ־ҺӵӺϰƽŴʵŴҪо2018-12-19
+ + + + + + + +
괫㣬ǡԺ2019ӭԲ2018-12-19
+ + + + + + + +
ĸ↑ʮѧϰ˳2018-12-19
+ + + + + + + +
˹ŵѧʮڡȹ㣺ý顢ۡѧ2018-12-18
+ + + + + + + +
˼Źϵн̳ʮһϰƽۺ˼ۡµ۹2018-12-13
+ + + + + + + +
ӰءʽԺ2018-12-13
+ + + + + + + +
ѧУʵҰȫԺʵҰȫ2018-12-13
+ + + + + + + +
ԺУѵγ˳2018-12-11
+ + + + + + + +
´רãΪѧƵķչשߡʦר2018-12-10
+ + + + + + + +
У201812·9˶ɽɹ2018-12-10
+ + + + + + + +
´רã ÿѧ˼άһϰ ר2018-12-09
+ + + + + + + +
´רãλרҵ ΰר2018-12-09
+ + + + + + + +
Ժӭ˳2018-12-08
+ + + + + + + +
´רãҵתδչר2018-12-08
+ + + + + + + +
´רãС»㽭ӣʷ ־ǿר2018-12-08
+ + + + + + + +
´רãһУһ ѧ֮Ϊ˴֮ƽר2018-12-08
+ + + + + + + +
˹ŵѧ70ڣܡ㴫ͳĻ Ļ2018-12-07
+ + + + + + + +
Ժٰ˹ŵѧ̳71ڡޣ̨˼𡷵Ĵ˼2018-12-07
+ + + + + + + +
Ժٰ˹ŵѧ̳69ڡ裺ÿѧ˼άΪһϰ2018-12-07
+ + + + + + + +
ѧϰ᳹ȫᾫ񡪡ΪԺʦ2018-12-07
+ + + + + + + +
Ժ2016㲥ӱർרҵϰչӳ˳2018-12-06
+ + + + + + + +
Ժٿ2018-2019ѧѧᣨΣ2018-12-06
+ + + + + + + +
ԺУѵγ̵ڶ˳չ2018-12-05
+ + + + + +
+ + + + +
+
 36ҳ ҳ 
+
+ +
+
+
+ +
+
+ + + + + +
+ + + + +
+ + + + + + + + + + + + + + + +
+ + + + + +
+
+ + + + +
+ + + + +
+ + + + +
+
+ + + \ No newline at end of file diff --git a/test/html/snnu_cxinw_notice.html b/test/html/snnu_cxinw_notice.html new file mode 100644 index 0000000..211fcae --- /dev/null +++ b/test/html/snnu_cxinw_notice.html @@ -0,0 +1,670 @@ + + + + + + +֪ͨ-ʦѧ봫ѧԺ-վ֧֣ + + + + + + + + + + + + +
+ + + + + + + +
+ + + + + + + + + +
+ + + + + + + + + + + + + +
+
+ +
+ + + + + + + +
+ + + + + + + + + + +
+
+ +
+ +
+ + + + +
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ҳѧԺſŹʦʶѧѧоѧչʽУ
+ +
+
+ + + + + +
+ + + + +
+ + + + + + +
+ + + + + + + + + + +
+ + + + + +
+ Ź
+ + + + +
+ + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
֪ͨλãҳ > ֪ͨ
+
+ + + + + + +
+ + + + +
+ + + + + + + + +
Ժ2018оѧѧѡĹʾ2018-12-21
+ + + + + + + +
˼Ź̳ϵнԤ棺ϰƽۺŹۡµ۹2018-12-06
+ + + + + + + +
봫ѧԺ20181215࿼ʦ֪ͨ2018-12-06
+ + + + + + + +
봫ѧԺ2018רҵԱƸ μӱԱ԰2018-12-06
+ + + + + + + +
˹ŵѧԤ棺л㴫ͳĻĻ2018-12-02
+ + + + + + + +
˹ŵѧԤ棺ÿѧ˼άΪһϰ2018-12-02
+ + + + + + + +
봫ѧԺ2018רҵְְʸʾ2018-11-20
+ + + + + + + +
ѡƸѧԺʦ2019굣αε֪ͨ2018-11-16
+ + + + + + + +
˼Ź̳ϵнԤ棺ʩķ֮йѧʮ2018-11-06
+ + + + + + + +
˼Ź̳ϵнԤ棺й˼ʵ۵ĵ2018-11-06
+ + + + + + + +
ʦѧ봫ѧԺѧĿĻ񽱹ʾ2018-11-01
+ + + + + + + +
봫ѧԺ2019ҵƸ뺯2018-10-31
+ + + + + + + +
2018 йʷѧ༭оίԱѧߡʱı༭۴ҵչ̳֪ͨ2018-10-25
+ + + + + + + +
2018봫ѧԺѧ֪ͨ2018-10-23
+ + + + + + + +
Ժ2018оҽѧѡĹʾ2018-10-16
+ + + + + + + +
˿·Ӱڡ˿·µĵӰʴ߷̳֮У԰ӳὫУ2018-10-11
+ + + + + + + +
2018ȴýѧڶιֻ֪ͨ2018-10-11
+ + + + + + + +
ʦѧ봫ѧԺѧʾ2018-10-10
+ + + + + + + +
˿·µĵӰʴ߷̳УУ2018-10-10
+ + + + + + + +
˿·ӰڡУ԰ӳᡱԺ2018-10-09
+ + + + + + + +
ٴӳ봫ѧԺ2018ʵ鼼ԱƸʱĹ2018-10-09
+ + + + + + + +
2018ֵల2018-09-26
+ + + + + + + +
봫ѧԺ2017-2018ѧȹҽѧⱨʾ2018-09-26
+ + + + + + + +
ʦѧ봫ѧԺƼԹ2019о֪ͨ2018-09-20
+ + + + + + + +
ھٰʦѧʮһʦѧ֪ͨ2018-09-20
+ + + + + +
+ + + + +
+
 16ҳ ҳ 
+
+ +
+
+
+ +
+
+ + + + + +
+ + + + +
+ + + + + + + + + + + + + + + +
+ + + + + +
+
+ + + + +
+ + + + +
+ + + + +
+
+ + + \ No newline at end of file diff --git a/test/html/snnu_geog_news.html b/test/html/snnu_geog_news.html new file mode 100644 index 0000000..983b349 --- /dev/null +++ b/test/html/snnu_geog_news.html @@ -0,0 +1,276 @@ + + +学院新闻-地理科学与旅游学院 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + +
+ +
+ +
+ +
+ + +
+
+ + + + + + + + + + + +
+
+
+ + 学院新闻 +
+
+ 您现在所在的位置: + 首页 + >> + 学院新闻 + +
+
+
+ +
+
共1188条  1/80 
上页123456..80
+ +
+
+
+
+ + + + + + + + diff --git a/test/html/snnu_geog_notice.html b/test/html/snnu_geog_notice.html new file mode 100644 index 0000000..db46830 --- /dev/null +++ b/test/html/snnu_geog_notice.html @@ -0,0 +1,276 @@ + + +通知公告-地理科学与旅游学院 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + +
+ +
+ +
+ +
+ + +
+
+ + + + + + + + + + + +
+
+
+ + 通知公告 +
+
+ 您现在所在的位置: + 首页 + >> + 通知公告 + +
+
+
+ +
+
共981条  1/66 
上页123456..66
+ +
+
+
+
+ + + + + + + + diff --git a/test/html/snnu_his_news.html b/test/html/snnu_his_news.html new file mode 100644 index 0000000..1de54e9 --- /dev/null +++ b/test/html/snnu_his_news.html @@ -0,0 +1,297 @@ + + + + + +新闻中心 新闻中心陕西师范大学历史文化学院 + + + + + + + + + +
+
+ + +
+
+ + +
+
+

新闻中心

+
+
+
+

新闻中心

+
您当前所在位置首页 > 新闻中心
+
+ + + +
+ + + +
+ +
+
+
首页12345尾页共 [ 230 ] 页
+
+
+ +
+
+
+ + +
+
+ +
+
+ 院长:hzl AT snnu.edu.cn
+ 书记:duhaibin AT snnu.edu.cn +
+ + + + +
+
+
+ + + + diff --git a/test/html/snnu_his_notice.html b/test/html/snnu_his_notice.html new file mode 100644 index 0000000..3546b02 --- /dev/null +++ b/test/html/snnu_his_notice.html @@ -0,0 +1,294 @@ + + + + + +通知公告 通知公告陕西师范大学历史文化学院 + + + + + + + + + +
+
+ + +
+
+ + +
+
+

通知公告

+
+
+
+

通知公告

+
您当前所在位置首页 > 通知公告
+
+ + + +
+
+ +
+
+
首页12345尾页共 [ 149 ] 页
+
+
+ +
+
+
+ + +
+
+ +
+
+ 院长:hzl AT snnu.edu.cn
+ 书记:duhaibin AT snnu.edu.cn +
+ + + + +
+
+
+ + + + diff --git a/test/html/snnu_ibs_news.html b/test/html/snnu_ibs_news.html new file mode 100644 index 0000000..851c986 --- /dev/null +++ b/test/html/snnu_ibs_news.html @@ -0,0 +1,815 @@ + + + + + +ѧԺ-ʦѧѧԺ-֧֣ + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
 ǣ20181224 һ + + + + +
 Ժ    ̹¼
+ + + + + + + + + + +
ѧУҳղEnglish
 
+ + + + +
  + + + + + + + +
+
+ + +
+ + + + +
+ + + + + + + + + + +
+
    +
  • +
  • + +
+
+
+ + + + +
+ + + + + +
+ + + + + +
+ + + + + + + + + + +
ѧԺ
+ + + + +
+ + + + +
+ +
+ + + + +
+
+
+ + + + +
+ + + + + + + + + +
+ + + + +
+ + + + + + +
ѧԺ λãҳ > ѧԺ
+ + + + +
+ + + + +
+ + + + + + + +
ʦѧƶоġũҵȺչɳɹ[2018-12-22]
+ + + + + + + +
Ժܽʱ̡ۺϱӭɹٰ[2018-12-21]
+ + + + + + + +
Ժ֯ʦտףĸ↑40[2018-12-18]
+ + + + + + + +
ԺѧμУ2019ҵƸ[2018-12-17]
+ + + + + + + +
ѧԺٿ֧ǹ[2018-12-14]
+ + + + + + + +
Ժڶоѧ˼̳ɹٰ[2018-12-12]
+ + + + + + + +
ԺٿMBAָʦ[2018-12-11]
+ + + + + + + +
ԺμйѧᲢѡµλ[2018-12-10]
+ + + + + + + +
Ժٿ2019Ȼѧ걨[2018-12-10]
+ + + + + + + +
ԺѧٻѼ[2018-12-10]
+ + + + + + + +
Уٿĸ﷢չѧоؽ[2018-12-07]
+ + + + + + + +
Ժٿίѧϰ[2018-12-06]
+ + + + + + + +
Ժٿȫᾫֻ[2018-12-06]
+ + + + + + + +
Ժ2018ѧ´ҵ⽲[2018-12-05]
+ + + + + + + +
ԺԱڵרٻ칫ʮѧѧɹ[2018-12-05]
+ + + + + +
+ + + + +
+
+ ҳ   + һҳ   + һҳ   + ĩҳ   + 47ҳ  ǵڡ1ҳ   + ת + + + ҳ +
+
+
+
+
+
+ + + + +
+ + + + +
+ + + +
Copyright © 2012- All Rights Reserved.ʦѧѧԺ Ȩ ֧֣
ַʡг620 ʱࣺ710119 绰02985310273
+
+ + + diff --git a/test/html/snnu_ibs_notice.html b/test/html/snnu_ibs_notice.html new file mode 100644 index 0000000..6bb3ace --- /dev/null +++ b/test/html/snnu_ibs_notice.html @@ -0,0 +1,776 @@ + + + + + +֪ͨ-ʦѧѧԺ-֧֣ + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
 ǣ20181224 һ + + + + +
 Ժ    ̹¼
+ + + + + + + + + + +
ѧУҳղEnglish
 
+ + + + +
  + + + + + + + +
+
+ + +
+ + + + +
+ + + + + + + + + + +
+
    +
  • +
  • + +
+
+
+ + + + +
+ + + + + +
+ + + + + +
+ + + + + + + + + + +
֪ͨ
+ + + + +
+ + + + +
+ +
+ + + + +
+
+
+ + + + +
+ + + + + + + + + +
+ + + + +
+ + + + + +
֪ͨλãҳ > ֪ͨ
+ + + + +
+ + + + +
+ + + + + + + +
ѧԺD˲϶ʾ[2018-12-24]
+ + + + + + + +
ѧԺѧԤ[2018-12-18]
+ + + + + + + +
ھٰԺ2018ۺϱӭ֪ͨ[2018-12-17]
+ + + + + + + +
ѧԺݿ⣨S180561SHANGXUE012Fɹ[2018-12-17]
+ + + + + + + +
ݿɹ[2018-11-28]
+ + + + + + + +
ѧԺ2018ְ걨Ϲʾ[2018-11-19]
+ + + + + + + +
ѧԺѧԤ[2018-11-16]
+ + + + + + + +
ѧԺѧԤ[2018-11-02]
+ + + + + + + +
ѧԺСʱʦOffice Hourű[2018-10-08]
+ + + + + + + +
2018ֵలű[2018-09-29]
+ + + + + + + +
2018ֵలű[2018-09-21]
+ + + + + + + +
ѧԺѧԤ[2018-09-21]
+ + + + + + + +
ѧԺʮ߽ѧᡢоҪѧɲʾ[2018-09-18]
+ + + + + + + +
ѧԺ2019Ƽо˵[2018-09-13]
+ + + + + + + +
ھйѧԺ2018ѧ֪ͨ[2018-09-10]
+ + + + + +
+ + + + +
+
+ ҳ   + һҳ   + һҳ   + ĩҳ   + 28ҳ  ǵڡ1ҳ   + ת + + + ҳ +
+
+
+
+
+
+ + + + +
+ + + + +
+ + + +
Copyright © 2012- All Rights Reserved.ʦѧѧԺ Ȩ ֧֣
ַʡг620 ʱࣺ710119 绰02985310273
+
+ + + diff --git a/test/html/snnu_index_news.html b/test/html/snnu_index_news.html new file mode 100644 index 0000000..075c728 --- /dev/null +++ b/test/html/snnu_index_news.html @@ -0,0 +1,401 @@ + + +师大新闻-陕西师范大学 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+
+
您的位置: 首页 >> 师大新闻
+
+

师大新闻

+ + +
+ +
+ + +

2018-12-24

【扶贫在路上】“陕西师范大学扶贫政策与评估研究中心”揭牌
详情 12月20日下午,“陕西师范大学扶贫政策与评估研究中心”揭牌仪式在文澜楼举行。我校杨祖培副校长与...
+
+ + +
+ + +

2018-12-24

我校召开“中华礼仪文化街区建设”研讨会
详情 12月23日上午,“中华礼仪文化街区建设”研讨会在雁塔校区崇鋈楼三层敏行厅召开。副校长党怀兴出席...
+
+ + +
+ + +

2018-12-24

我校印度尼西亚籍博士入选2018年度“博士后国际交流计划”引进项目
详情 12月20日,全国博士后管委会办公室公布了2018年度“博士后国际交流计划”引进项目获选结果,由我校...
+
+ + +
+ + +

2018-12-24

【科研动态】我校在大面积柔性钙钛矿单晶薄膜研究中取得突破性进展
详情 钙钛矿单晶由于具有高的吸收系数,长的载流子寿命,大的迁移率以及高的缺陷容忍性等特点而备受关注...
+
+ + +
+ + +

2018-12-24

出版总社开展致敬改革开放40周年系列宣传
详情 12月18日出版的《中国出版传媒商报》、19日出版的《中国新闻出版广电报》先后发布了“致敬改革开放4...
+
+ + +
+ + +

2018-12-23

“梦回长安——百万校友回归”我校专场活动隆重举行
详情 12月22日下午,由中共西安市委、西安市人民政府、陕西师范大学主办的“梦回长安——百万校友回归”...
+
+ + + + + +
+ + +

2018-12-22

我校组织召开第五届中国教育后勤互联网大会
详情 12月19日,由中国教育后勤协会和中国教育后勤协会信息化建设专业委员会主办的“第五届中国教育后勤...
+
+ +
+
共5972条  1/747 
首页上页  
+ +

[ 返回顶部 | 师大新闻网 ]

+
+ +
+
+
+
+ + + + + + + + diff --git a/test/html/snnu_index_notice.html b/test/html/snnu_index_notice.html new file mode 100644 index 0000000..173c6fc --- /dev/null +++ b/test/html/snnu_index_notice.html @@ -0,0 +1,397 @@ + + +通知公告-陕西师范大学 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ 您的位置: 首页 >> 通知公告 +
+ +

通知公告

+ + +
+ +
+
共4079条  1/204 
首页上页  
+
+
+
+
+ + + + + + + diff --git a/test/html/snnu_iscs_news.html b/test/html/snnu_iscs_news.html new file mode 100644 index 0000000..de7041e --- /dev/null +++ b/test/html/snnu_iscs_news.html @@ -0,0 +1,968 @@ + + + + + + + +综合要闻-陕西师范大学国际汉学院 + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + +
+ + + + + + + + + + + + + +
+ 设为首页 + | + 加入收藏 + |联系我们
+ +
+ + + + + + + +
+ + +
+ + + + + + + +
+ + +
+
+ + + + + + + + + +
+ + + + + + + + +
+ + + + + + + + +
+ + + + + +
 
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
院长寄语 +
+ + + +
学院概况 +
+ + + +
学院领导 +
+ + + +
机构设置 +
+ + + +
师资队伍 +
+ + + +
管理制度 +
+ + + +
合作交流 +
+ + + + + + + + + + + +
+ + + + + +
 
+ + +
+ +地址:陕西省西安市长安南路199号 +
邮编:710062 +
网址:http://iscs.snnu.edu.cn +
传真:86-29-85303653 +
邮箱:hxyuan@snnu.edu.cn +
+ + + + +
+ + + +
+ + + + + + +
+ + + + +
  +
+
+ +
您现在的位置: + + 首页 + + >> + + 新闻动态 + + >> + + 综合要闻 + +
+ + + + + + + + + + +
综合要闻
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
国际汉学院在首届研究生汉语教学微课大赛(全国邀请赛)中荣获佳绩 2018-12-24
​中山大学周小兵教授莅临国际汉学院作学术讲座 2018-12-24
数月磨砺,且看今朝——国际汉学院举办考研、考汉办志愿者学生慰问座谈会 2018-12-24
匈牙利赛格德大学客座教授李文焘莅临国际汉学院作学术讲座 2018-12-10
国际汉学院开展冬季学生宿舍全面检查 2018-11-13
2018年国侨办“热心海外华教人士”研习班 在我校顺利结业 2018-10-23
2018年国侨办“热心海外华教人士”研习班 开班仪式在我校举行 2018-10-23
“感知中国-创业舞台”陕西省来华留学生就业创业体验活动启动仪式在我校成功举办 2018-10-17
2018“青年汉学家研修计划(西安)”开班仪式成功举办 2018-09-11
华文教育——2018海外华文教师陕西培训班圆满落幕 2018-07-12
暑期项目——2018俄罗斯高等经济技术大学暑期短期项目举行开班仪式暨入学教育 2018-07-03
华文教育——2018海外华文教师陕西培训班在我校开班 2018-07-03
国际汉学院成功举办第二十期青年学术沙龙 2018-07-02
“感知长安城”——2018香港恒生管理学院“普通话实践与中国传统文化体验项目”顺利进行 2018-06-14
美国博林格林州立大学2018年暑期项目顺利开班 2018-05-24
“让理想扎根 让青春飞扬”——“学习习近平总书记在北京大学师生座谈会上的讲话”主题教育活动 2018-05-24
中外学生感知中国新时代——国际汉学院组织中外学生集体观看《厉害了,我的国》纪录片 2018-05-24
心有猛虎,一路向阳——汉语国际教育2015级本科生举行心理健康教育主题班会 2018-05-24
秉信立行,诚信就业——汉语国际教育2014级本科生举行诚信就业宣誓仪式 2018-05-24
美国莱特州立大学短期汉语文化进修班顺利开班 2018-05-17
+ + + +
+
共436条  1/22 
首页上页  
+ + + + +
+ + + + + + +
+ + + + +
+ + + +

  地址:西安市长安南路199号  邮编:710062  电话:029-85308874 传真:029-85303653
院长邮箱:hxy_yuanzhang@163.com 版权:陕西师范大学国际汉学院

+ +回到顶部 + + + + + + + +无标题文档 + + + + + + + +
+ +
+
+
+
    + +
  • 在线客服
  • +
+ + +
+
+
+ + diff --git a/test/html/snnu_iscs_notice.html b/test/html/snnu_iscs_notice.html new file mode 100644 index 0000000..ca84f32 --- /dev/null +++ b/test/html/snnu_iscs_notice.html @@ -0,0 +1,968 @@ + + + + + + + +学院公告-陕西师范大学国际汉学院 + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + +
+ + + + + + + + + + + + + +
+ 设为首页 + | + 加入收藏 + |联系我们
+ +
+ + + + + + + +
+ + +
+ + + + + + + +
+ + +
+
+ + + + + + + + + +
+ + + + + + + + +
+ + + + + + + + +
+ + + + + +
 
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
院长寄语 +
+ + + +
学院概况 +
+ + + +
学院领导 +
+ + + +
机构设置 +
+ + + +
师资队伍 +
+ + + +
管理制度 +
+ + + +
合作交流 +
+ + + + + + + + + + + +
+ + + + + +
 
+ + +
+ +地址:陕西省西安市长安南路199号 +
邮编:710062 +
网址:http://iscs.snnu.edu.cn +
传真:86-29-85303653 +
邮箱:hxyuan@snnu.edu.cn +
+ + + + +
+ + + +
+ + + + + + +
+ + + + +
  +
+
+ +
您现在的位置: + + 首页 + + >> + + 新闻动态 + + >> + + 学院公告 + +
+ + + + + + + + + + +
学院公告
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
国际汉学院2018年国庆节值班安排表 2018-09-27
陕西师范大学国际汉学院2019年推免复试时间安排 2018-09-20
2018年中秋节值班安排表 2018-09-19
陕西师范大学国际汉学院接收2019级推荐免试硕士研究生工作安排 2018-09-18
国际汉学院2018年暑假上班安排表 2018-07-12
国际汉学院2018年端午节值班安排表 2018-06-12
国际汉学院晋升八级职员名单公示 2018-05-15
国际汉学院2018年劳动节值班安排表 2018-04-23
国际汉学院2018年清明节值班安排表 2018-04-02
2018年陕西师范大学国际汉学院第一志愿复试时间安排 2018-03-23
2018年陕西师范大学国际汉学院优秀生源复试时间安排 2018-03-20
【招聘】美国国务院关键语言奖学金中文项目2018年暑期兼职对外汉语教师招聘启事 2018-03-16
国际汉学院2018年硕士研究生优秀生源调剂公告 2018-03-06
2018 Enrollment Brochure for the "Visiting Program for Young Sinologists" (Xi'an) 2018-02-14
2018“青年汉学家研修计划”(西安)招生简章 2018-02-14
国际汉学院2018年寒假值班安排 2018-01-27
陕西师范大学国际汉学院留学生管理办公室招聘启事 2017-12-28
2018年“元旦”值班安排 2017-12-27
国际汉学院2017年国庆节、中秋节值班安排表 2017-09-28
陕西师范大学国际汉学院推免研究生复试安排 2017-09-28
+ + + +
+
共181条  1/10 
首页上页  
+ + + + +
+ + + + + + +
+ + + + +
+ + + +

  地址:西安市长安南路199号  邮编:710062  电话:029-85308874 传真:029-85303653
院长邮箱:hxy_yuanzhang@163.com 版权:陕西师范大学国际汉学院

+ +回到顶部 + + + + + + + +无标题文档 + + + + + + + +
+ +
+
+
+
    + +
  • 在线客服
  • +
+ + +
+
+
+ + diff --git a/test/html/snnu_jwc_news.html b/test/html/snnu_jwc_news.html new file mode 100644 index 0000000..194e929 --- /dev/null +++ b/test/html/snnu_jwc_news.html @@ -0,0 +1,534 @@ + + + + +ʦѧ + + + + + + + +
+ + + + + + + + + +
ѧУҳ | ɰ | ղ
20181224 
+ + + + +
վ + + + +
+ + + + +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
վҳ| + + | + + | + + | + + | + + | + + || + +
+ + + + + +
+ + + + + + + +
+
+ + + + + +
+ + + + +
ַʡг620
绰029-85310332
+ + + + + +
+ + + + +
+
+
+
+ + + + + + + + + + + + +
λ>>Ŷ̬
+ + + + + + + +
Ŷ̬
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ Ķ:139 +
(2018/11/13) +
+
+ Ķ:145 +
(2018/10/19) +
+
+ Ķ:145 +
(2018/9/29) +
+
+ Ķ:240 +
(2018/9/26) +
+
+ Ķ:164 +
(2018/9/21) +
+
+ Ķ:123 +
(2018/9/21) +
+
+ Ķ:92 +
(2018/9/21) +
+
+ Ķ:163 +
(2018/9/14) +
+
+ Ķ:132 +
(2018/9/12) +
+
+ Ķ:740 +
(2018/7/19) +
+
+ Ķ:589 +
(2018/7/17) +
+
+ Ķ:674 +
(2018/7/11) +
+
+ Ķ:813 +
(2018/7/6) +
+
+ Ķ:1267 +
(2018/6/22) +
+
+ Ķ:1048 +
(2018/6/6) +
+
+ Ķ:561 +
(2018/6/6) +
+
+ Ķ:1510 +
(2018/6/5) +
+
+ Ķ:1086 +
(2018/5/31) +
+
+ Ķ:541 +
(2018/5/16) +
+
+ Ķ:589 +
(2018/5/2) +
+
+
+ + һҳ βҳ + + 45ÿҳʾ201ҳ3ҳ + + + +
 
 
+ + + + +
+ + + + +
+ + + +
Copyright©2018ʦѧ
ַ:ʡг620
绰:029-85310332
+12314574 ֧֣Ļ
+ + + + + +
+
+ + + diff --git a/test/html/snnu_jwc_notice.html b/test/html/snnu_jwc_notice.html new file mode 100644 index 0000000..660d229 --- /dev/null +++ b/test/html/snnu_jwc_notice.html @@ -0,0 +1,994 @@ + + + + +ʦѧ + + + + + + + +
+ + + + + + + + + +
ѧУҳ | ɰ | ղ
20181224 
+ + + + +
վ + + + +
+ + + + +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
վҳ| + + | + + | + + | + + | + + | + + || + +
+ + + + + +
+ + + + + + + +
+
+ + + + + +
+ + + + +
ַʡг620
绰029-85310332
+ + + + + +
+ + + + +
+
+
+
+ + + + + + + + + + + + +
λ>>֪ͨ
+ + + + + + + +
֪ͨ
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ Ķ:666 +
(2018/12/19) +
+
+ Ķ:348 +
(2018/12/19) +
+
+ Ķ:923 +
(2018/12/18) +
+
+ Ķ:255 +
(2018/12/17) +
+
+ Ķ:608 +
(2018/12/17) +
+
+ Ķ:484 +
(2018/12/17) +
+
+ Ķ:3570 +
(2018/12/14) +
+
+ Ķ:319 +
(2018/12/12) +
+
+ Ķ:193 +
(2018/12/12) +
+
+ Ķ:290 +
(2018/12/11) +
+
+ Ķ:412 +
(2018/12/12) +
+
+ Ķ:330 +
(2018/12/12) +
+
+ Ķ:978 +
(2018/12/11) +
+
+ Ķ:302 +
(2018/12/11) +
+
+ Ķ:199 +
(2018/12/11) +
+
+ Ķ:204 +
(2018/12/11) +
+
+ Ķ:609 +
(2018/12/7) +
+
+ Ķ:794 +
(2018/12/6) +
+
+ Ķ:761 +
(2018/12/5) +
+
+ Ķ:232 +
(2018/12/4) +
+
+
+ + һҳ βҳ + + 4646ÿҳʾ201ҳ233ҳ + + + +
 
 
+ + + + +
+ + + + +
+ + + +
Copyright©2018ʦѧ
ַ:ʡг620
绰:029-85310332
+12314573 ֧֣Ļ
+ + + + + +
+
+ + + diff --git a/test/html/snnu_lib_news.html b/test/html/snnu_lib_news.html new file mode 100644 index 0000000..c6ea39f --- /dev/null +++ b/test/html/snnu_lib_news.html @@ -0,0 +1,376 @@ + + + + + + + + + + + + +陕西师范大学图书馆 + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+
+
+ + +
+
+
+ + + +
+
+
+ +

馆内新闻

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+标题 + +时间 + +访问次数 +
+图书馆进入刷脸、扫码入馆时代 + +2018-12-21 + +98 +
+“笔墨传情,文脉相承”古籍函套题名书写活动圆满结束 + +2018-12-11 + +170 +
+我馆代表参加2018年陕西省高校图工委信息技术应用专题研讨会 + +2018-12-11 + +105 +
+图书馆荣获中国图书馆学会“2017年全民阅读优秀组织”称号 + +2018-12-05 + +125 +
+我馆代表参加2018年陕西高校图书馆员读者服务典型案例展示交流会 + +2018-11-23 + +234 +
+图书馆荣获2018年教职工乒乓球团体比赛第三名 + +2018-11-21 + +200 +
+图书馆同数学与信息科学学院联合举办学术报告 + +2018-11-21 + +153 +
+2018陕西师范大学读书节圆满闭幕 + +2018-11-16 + +202 +
+图书馆代表队在我校2018年教职工登山团体赛中摘得桂冠 + +2018-11-09 + +208 +
+异口同声,声动梁尘——“2018陕西师范大学读书节·经典晨读”圆满结束 + +2018-11-06 + +206 +
+图书馆2018读书节专家讲座:“我们为什么要研读希罗多德《历史》?” + +2018-11-05 + +145 +
+我馆馆员在“陕西省图书馆员知识竞赛”中荣获佳绩 + +2018-10-31 + +243 +
+李永明馆长率团调研大荔县图书馆并喜结帮扶对子 + +2018-10-31 + +273 +
+2018陕西师范大学读书节·寻书大赛成功举办 + +2018-10-31 + +225 +
+图书馆召开2018年馆内科研项目评审会 + +2018-10-25 + +228 +
+图书馆首次在 ILS 学科领域 SSCI 2 区期刊上发表研究成果 + +2018-10-22 + +420 +
+碑石遗韵 拓古传今:图书馆举办馆藏精品拓片展 + +2018-10-18 + +204 +
+南京邮电大学图书馆钱军馆长来馆作交流报告 + +2018-10-16 + +333 +
+清渠如许,活水为源 —— 2018陕西师范大学读书节隆重开幕 + +2018-10-11 + +334 +
+我馆首次在国际著名SCI期刊上发表图书情报类研究论文 + +2018-09-03 + +945 +
+ + + + + + + + + + + + + + +
+
+
+
+ +
+
+
+
+
+ 地址:西安市长安区西长安街620号邮编:710119 联系电话:029-85310113
+ Copyright© 2016 Shaanxi Normal University Library. All rights reserved. +
+

    图书馆微信
+
+
+
+
+ +
+ + + \ No newline at end of file diff --git a/test/html/snnu_lib_notice.html b/test/html/snnu_lib_notice.html new file mode 100644 index 0000000..c351885 --- /dev/null +++ b/test/html/snnu_lib_notice.html @@ -0,0 +1,376 @@ + + + + + + + + + + + + +陕西师范大学图书馆 + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+
+
+ + +
+
+
+ + + +
+
+
+ +

馆内公告

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+标题 + +时间 + +访问次数 +
+听报告,趣答题——网上报告厅有奖竞赛活动获奖通知 + +2018-12-21 + +69 +
+2018 IEEE Xplore科技文献趣味检索达人挑战赛获奖通知 + +2018-12-07 + +253 +
+陕西师范大学文献QQ群开通公告 + +2018-12-03 + +1632 +
+关于“笔墨传情,文脉相承”古籍函套题名书写人招募的通知 + +2018-11-19 + +483 +
+听报告,趣答题——网上报告厅有奖竞赛活动通知 + +2018-11-19 + +453 +
+2018年专业技术职务任职资格评审初审通过人员名单公示 + +2018-11-16 + +597 +
+爱如生系列数据库升级为网络版使用通知 + +2018-11-12 + +580 +
+“聪明大脑”来答题—科学文库有奖问答获奖名单 + +2018-11-06 + +404 +
+2018年陕西师范大学读书节“真人图书馆”邀你来聆听分享 + +2018-11-05 + +267 +
+陕西师范大学图书馆中外文报刊使用情况调查表 + +2018-10-26 + +416 +
+IEEE Xplore科技文献趣味检索达人挑战赛 + +2018-10-23 + +364 +
+2018陕西师范大学读书节.寻书大赛比赛时间等事项的通知 + +2018-10-22 + +802 +
+写心得 赢Kindle(有奖征文) + +2018-10-17 + +763 +
+关于陕西师范大学图书馆精品拓片的通知 + +2018-10-11 + +502 +
+清渠如许,活水为源——2018陕西师范大学读书节 + +2018-10-08 + +657 +
+导航有北斗,寻书有你2018陕西师范大学读书节·寻书大赛 + +2018-10-08 + +343 +
+2018陕西师范大学读书节·经典晨读人员分组名单 + +2018-09-30 + +533 +
+关于开通“陕师大教师外文服务群”的试用通知 + +2018-09-30 + +456 +
+“聪明大脑”来答题——科学文库有奖问答活动 + +2018-09-30 + +576 +
+2018年国庆节图书馆值班安排表 + +2018-09-28 + +646 +
+ + + + + + + + + + + + + + +
+
+
+
+ +
+
+
+
+
+ 地址:西安市长安区西长安街620号邮编:710119 联系电话:029-85310113
+ Copyright© 2016 Shaanxi Normal University Library. All rights reserved. +
+

    图书馆微信
+
+
+
+
+ +
+ + + \ No newline at end of file diff --git a/test/html/snnu_lifesci_news.html b/test/html/snnu_lifesci_news.html new file mode 100644 index 0000000..7c4a130 --- /dev/null +++ b/test/html/snnu_lifesci_news.html @@ -0,0 +1,257 @@ + + + + + + + 陕西师范大学生命科学学院 School Of Life Sciences,SNNU + + + + + + + + + + + + +
+ + + + + +
+
+
+ 现在是:2018/12/24 17:34:55,

+
+ + +
+
+ + + + +
+ +
+
+
+
+
+ 学院动态
+
+ 当前位置: + 网站首页> + 学院动态> + 所有新闻 +
+
+ + +
+ +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ +
+
+
+ + +
+ +
+ +
+ + diff --git a/test/html/snnu_lifesci_notice.html b/test/html/snnu_lifesci_notice.html new file mode 100644 index 0000000..e4438bc --- /dev/null +++ b/test/html/snnu_lifesci_notice.html @@ -0,0 +1,257 @@ + + + + + + + 陕西师范大学生命科学学院 School Of Life Sciences,SNNU + + + + + + + + + + + + +
+ + + + + +
+
+
+ 现在是:2018/12/24 17:34:55,

+
+ + +
+
+ + + + +
+ +
+
+
+
+
+ 通知公告
+
+ 当前位置: + 网站首页> + 通知公告> + 所有通知公告 +
+
+ + +
+ +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ +
+
+
+ + +
+ +
+ +
+ + diff --git a/test/html/snnu_lit_news.html b/test/html/snnu_lit_news.html new file mode 100644 index 0000000..8e36a5e --- /dev/null +++ b/test/html/snnu_lit_news.html @@ -0,0 +1,343 @@ + + + + + + + + 学院新闻 - 陕西师范大学文学院 + + + + + + + +
+
+ + +
+
+ + + + + + +
+
+ + +
+
+
+
+
+ 快速导航 +
+ +
+
+
+ 友情链接: + + + + + +
+ +
+ + +
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/test/html/snnu_lit_notice.html b/test/html/snnu_lit_notice.html new file mode 100644 index 0000000..b0900de --- /dev/null +++ b/test/html/snnu_lit_notice.html @@ -0,0 +1,342 @@ + + + + + + + + 公告 - 陕西师范大学文学院 + + + + + + + +
+
+ + +
+
+ + + + + + +
+
+
+
+ 学院新闻 +
+ +
+ +
+
+
+
+
+ 快速导航 +
+ +
+
+
+ 友情链接: + + + + + +
+ +
+ + +
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/test/html/snnu_marxism_news.html b/test/html/snnu_marxism_news.html new file mode 100644 index 0000000..c0d3910 --- /dev/null +++ b/test/html/snnu_marxism_news.html @@ -0,0 +1,568 @@ + + +学院新闻-马克思主义学院 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + +
+ +
+ +
+ +
+ + + + + + + + + + + + + + +
+ +
+
+ +
+
+
+ + +
+
+
+ +
+ + + +
+
    +
  • +
    +
    + +
    +
    +
    +

    我院青年团校初级培训班第五讲“庆祝改革开放四十周年学习会”顺利举办

    +

    2018-12-22

    +

    为深入学习贯彻习近平总书记在庆祝改革开放40周年大会上的重要讲话精神,弘扬并坚持以爱国主义为核心的民族精神和以改革创新为核心的时代精神,12月20日晚,“青年大学习,奋进新时代——庆祝改革开放40周年”主题学习交流会在学院四楼3423教师技能训练室成功举办。学生会成员及社团代表参加此次交流会,交流会由学院团委副书记、2016级本科生牛欣欣主持。会前,同学们观看了庆祝改革开放40周年讲话要点视频,回顾大会盛况,学...

    +
    +
    +
  • +
  • +
    +
    + +
    +
    +
    +

    我院“传经送宝,砥砺奋进,思政一家人”经验交流会、读书分享会成功举办

    +

    2018-12-20

    +

    为增强我院思想政治教育专业研究生的凝聚力与向心力、激发学生的学习热情、培养学生的研究能力。12月18日,我院思想政治教育学位点召开了以“传经送宝,砥砺奋进,思政一家人”为主题的思想政治教育专业经验交流会和读书分享会,参加活动的有朱尉副教授、博士研究生马喜宁以及思想政治教育专业全体硕士研究生,会议由张莹主持。首先,在经验交流会环节,优秀老生代表依次进行了经验分享。朱尉副教授强调在读研期间我们需要具...

    +
    +
    +
  • +
  • +
    +
    + +
    +
    +
    +

    我院在第八届“华文杯”教育硕士(学科教学·思政)教学技能展示活动中获佳绩

    +

    2018-12-20

    +

    ​12月15日至16日,中国教育协会2018微格教学·思想政治课程与教学论高峰论坛暨第八届“华文杯”教育硕士(学科教学·思政)教学技能展示活动在华中师范大学举行。本次活动由中国教育技术协会微格教学专业委员会主办,华中师范大学马克思主义学院承办。我院宋吉玲副教授带队赴华中师范大学参加比赛。来自全国各地四十余所院校一百多位选手分为五组进行了教学技能展示。经过激烈角逐,马克思主义学院2018级学科教学(思政)专业...

    +
    +
    +
  • +
  • +
    +
    + +
    +
    +
    +

    “四十回眸话改革,唱响青春最强音”——我院新时代大学生理论宣讲团赴西北工业大学理学院宣讲交流

    +

    2018-12-20

    +

    12月19日下午,我院新时代大学生理论宣讲团应邀前往西北工业大学理学院参加以“四十回眸话改革,建功立业新时代”为主题的宣讲交流会。参加本次宣讲交流会的有我院王东红副教授、辅导员朱瑜及西北工业大学理学院团委段利兵副书记与辅导员樊文迪。同时理学院部分学生代表也积极参与了本次交流活动。西工大理学院党委副书记段利兵对新时代大学生理论宣讲团的到来表示欢迎,并指出此次交流活动是文理交融,理论联系实践的优秀示...

    +
    +
    +
  • +
  • +
    +
    + +
    +
    +
    +

    研究生第一党支部接收预备党员大会暨组织生活会胜利召开

    +

    2018-12-20

    +

    12月18日晚,我院研究生第一党支部接收预备党员暨组织生活会在文澜楼C段四层学院会议室召开,会议主题为接收预备党员和学习纪念改革开放四十周年的相关材料和视频。研究生第一党支部全体党员参加本次会议,会议由研究生第一党支部书记张迪主持。会议首先进行接收预备党员的议程,四名同志对自己成为入党积极分子以来的思想、学习、工作等方面进行了汇报,并诚恳的请各位党员同志批评指正,这四位同志的入党培养联系人、党小组...

    +
    +
    +
  • +
  • +
    +
    + +
    +
    +
    +

    我院2018级本科生组织收看“庆祝改革开放40周年”大会视频

    +

    2018-12-19

    +

    为进一步加深同学们对改革开放的了解,更好传承和弘扬改革开放精神,在新时代促进改革开放精神深扎青年学生思想沃土。12月18日下午16:30,我院2018级本科生在雁塔校区教学五楼5101教室观看“庆祝改革开放40周年”大会。活动由2018级辅导员杨子熙主持。杨子熙就改革开放有关知识向同学们进行详细介绍并传达我院观看大会的会议精神。同学们全体起立跟唱国歌并认真观看大会讲话视频。大会指出,改革开放铸就的伟大改革开放精神,...

    +
    +
    +
  • +
  • +
    +
    + +
    +
    +
    +

    深刻的变革 伟大的成就——研究生第二党支部学习习近平总书记在庆祝改革开放40周年大会上的重要讲话

    +

    2018-12-19

    +

    12月18日晚19时,研究生第二党支部在学院教师技能训练室举行以学习贯彻习近平总书记在庆祝改革开放40周年大会上的重要讲话为主题的支部会议,会议由支部书记刘帅强主持。习近平同志的讲话从10个方面回顾了改革开放40年以来的辉煌成就,深刻总结了改革开放的宝贵经验,重点提出九个“必须坚持”。当日,支部组织全体党员和积极分子观看了庆祝改革开放40周年大会直播,党员同志们对改革开放的历史地位以及重要意义有了更加深刻...

    +
    +
    +
  • +
  • +
    +
    + +
    +
    +
    +

    我院2019年考研学生慰问座谈会成功举行

    +

    2018-12-19

    +

    12月18日上午,学院在综合学术研讨室举行2019年考研学生慰问座谈会,学院党委书记闫文浩、院长任晓伟出席会议,本科生毕业班辅导员崔林刚以及参加2019年研究生入学考试的全体学生参加了会议,会议由学院党委副书记屈桃主持。屈桃向参会学生介绍了座谈会的目的。她谈到,学院选在距离考试前三四天的日子举行座谈会,主要目的在于帮助同学们以更加积极的心态参加考试,学院还为参加考试的同学准备了考试文具,祝愿同学们取得优...

    +
    +
    +
  • +
  • +
    +
    + +
    +
    +
    +

    美国路易斯安那大学威廉·戴维教授做客我院正学论坛

    +

    2018-12-19

    +

    12月18日上午,我院“正学论坛”第三十五期在学院四楼会议室成功举办。美国传播学领域知名学者、路易斯安那大学教授威廉·戴维应邀作了题为“美国媒体眼中的中美贸易战”的学术报告。学院许晓春副教授及30余名研究生参加了报告会,报告会由副院长刘力波教授主持。报告会伊始,戴维教授首先从媒体传播如何影响政治的三个关键概念切入,向在座师生剖析了美国总统特朗普在中美贸易战中如何利用媒体传播规律,以异于常态的方式引起...

    +
    +
    +
  • +
  • +
    +
    + +
    +
    +
    +

    我院师生收看庆祝改革开放40周年大会

    +

    2018-12-18

    +

    12月18日上午10时,庆祝改革开放40周年大会在人民大会堂隆重举行。中共中央总书记、国家主席、中央军委主席习近平出席大会并发表重要讲话。为深入学习贯彻庆祝改革开放40周年大会精神,感知新时代的新发展和新变化,学院领导班子、各党支部、团支部共计三百余名师生代表在文澜楼B段一层报告厅集中收看大会直播。下午,2018级一百五十余名本科生在雁塔校区教学五楼5101教室集中观看了会议回顾。各团支部通过多种形式进行了同步收...

    +
    +
    +
  • +
+
+
+
共537条  1/54 
首页上页  
+
+
+
+
+
+
+ + + + + + + diff --git a/test/html/snnu_marxism_notice.html b/test/html/snnu_marxism_notice.html new file mode 100644 index 0000000..7f658aa --- /dev/null +++ b/test/html/snnu_marxism_notice.html @@ -0,0 +1,639 @@ + + +通知公告-马克思主义学院 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+ + + + +
+ +
+ +
+ +
+ + + +
+ +
+
+ +
+
+ + + + +
+
+
+
+
+ +
+ + + +
+
共185条  1/13 
首页上页  
+
+
+
+
+
+
+ + + + + + + diff --git a/test/html/snnu_maths_news.html b/test/html/snnu_maths_news.html new file mode 100644 index 0000000..0387912 --- /dev/null +++ b/test/html/snnu_maths_news.html @@ -0,0 +1,821 @@ + + + + + +学院新闻-数学与信息科学学院 + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+

欢迎光临数学与信息科学学院!   

+ + + + + + +
+ + 设为首页 + | + + 加入收藏 + | +联系我们 | 怀念旧版 + + +
+ +
+
+ + + + + + +
+ + +
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + + + + + + + +
+ + + + + +
+ + + + + + + + + +
+ + + + + +
+ + + +
学院新闻
+ + + +
+ + + + +
    学院新闻
+ + +
+ + + + + + + + + + +
+ + + + + +
+ + + + +
推荐新闻 
+ + + +
+ + + + + +
游旭群副校长参加我院党委201...
+ + + + + +
我院年度学术报告会顺利召开
+ + + + + +
2016年度我院基金资助成绩喜...
+ + + + + +
我院2016年获12项国家自然科...
+ + + + + +
我院卓越教师实验班学生走进...
+ + + + + +
我院党委换届选举大会顺利举行
+ + + + + +
李三平老师在2015年全省基础...
+ + + +
+ + + + + + + + + +
+ + + + + +
+ 您现在的位置: + 首页 + > + 学院新闻 +
+ + + +
+ + + + + + + + +
+ + 我院举行王世全院士兼职教授聘任仪式
+ + + + + + +
+ + 【党建工作】校发展规划办公室党支部与我院教工第三党支部联合开展主题...
+ + + + + + +
+ + 我院党委书记田安政一行走访西安电子科技大学网络与信息安全学院党委
+ + + + + + +
+ + 【党建工作】我院党委召开2018年党支部书记述职评议工作会
+ + + + + + +
+ + 我院窦井波教授入选2019年度陕西省杰出青年科学基金资助计划
+ + + + + + +
+ + 【党建工作】我院党委组织收看庆祝改革开放40周年大会
+ + + + + + +
+ + 【党建工作】文学院、数学与信息科学学院学生工作交流座谈会
+ + + + + + +
+ + 我院举办“学习全国教育大会精神”的专题党课
+ + + + + + +
+ + 英国伯明翰大学Achim Jung教授和湖南大学李庆国教授来我院进行学术交流
+ + + + + + +
+ + 我院召开2015级本科生实习工作总结暨毕业论文开题动员大会
+ + + + + + +
+ + 我院召开学习贯彻全国教育大会精神系列交流会
+ + + + + + +
+ + 柴天佑院士来我校交流指导工作
+ + + + + + +
+ + 我院召开青年骨干教师学习贯彻全国教育大会精神研讨交流会
+ + + + + + +
+ + 我校2018年全国大学生数学建模竞赛成绩创历史新高
+ + + + + + +
+ + 我院召开2018年院友交流座谈会
+ + + + + + +
+ + Fuzzy Sets and Systems杂志主编De Baets教授来我院进行学术交流
+ + + + + + +
+ + 我院接受师范类专业国家认证专家现场考查
+
+
共193条  1/12 
首页上页  
+ +
+ + + + + +
+ + + + + +
+
地址:西安市长安区西长安街620号       邮编:710119 
邮箱:maths@snnu.edu.cn 电话:029-85310232 传真:029-85310277 
+ + + + + + +
+

陕西师范大学数学与信息科学学院

+ + diff --git a/test/html/snnu_maths_notice.html b/test/html/snnu_maths_notice.html new file mode 100644 index 0000000..2f120cd --- /dev/null +++ b/test/html/snnu_maths_notice.html @@ -0,0 +1,821 @@ + + + + + +公告通知-数学与信息科学学院 + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+

欢迎光临数学与信息科学学院!   

+ + + + + + +
+ + 设为首页 + | + + 加入收藏 + | +联系我们 | 怀念旧版 + + +
+ +
+
+ + + + + + +
+ + +
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + + + + + + + +
+ + + + + +
+ + + + + + + + + +
+ + + + + +
+ + + +
公告通知
+ + + +
+ + + + +
    公告通知
+ + +
+ + + + + + + + + + +
+ + + + + +
+ + + + +
推荐新闻 
+ + + +
+ + + + + +
游旭群副校长参加我院党委201...
+ + + + + +
我院年度学术报告会顺利召开
+ + + + + +
2016年度我院基金资助成绩喜...
+ + + + + +
我院2016年获12项国家自然科...
+ + + + + +
我院卓越教师实验班学生走进...
+ + + + + +
我院党委换届选举大会顺利举行
+ + + + + +
李三平老师在2015年全省基础...
+ + + +
+ + + + + + + + + +
+ + + + + +
+ 您现在的位置: + 首页 + > + 公告通知 +
+ + + +
+ + + + + + + + +
+ + 工作量表填写通知
+ + + + + + +
+ + 关于核对2018-2019学年本科春季课程清单的通知
+ + + + + + +
+ + 数学与信息科学学院2018年结题中央高校自由探索项目参评优秀推荐公示
+ + + + + + +
+ + 关于2019年度国家自然科学基金项目申请与结题等有关事项的通知
+ + + + + + +
+ + 关于核对2018-2019学年第二学期公共课必修课+专业基础课课表通知
+ + + + + + +
+ + AIMS电子期刊数据库(2019年-2020年)采购结果公告
+ + + + + + +
+ + EMS电子期刊(2019年-2021年)&电子图书数据库(2004年-2020年)采购结...
+ + + + + + +
+ + 关于开展2017级博士及硕士研究生中期考核及开题工作的通知
+ + + + + + +
+ + 关于征集2019年度中央高校基本科研业务费专项资金项目(理工类)的通知
+ + + + + + +
+ + 2018年博士研究生指导教师岗位首次上岗资格备案的公示
+ + + + + + +
+ + 我院2018年“创新科研训练”项目立项结果公示
+ + + + + + +
+ + 关于采集我校个税申报自然人信息的通知
+ + + + + + +
+ + 关于做好2018年年终财务报销工作的通知
+ + + + + + +
+ + 关于做好2018-2019学年春季通识教育选修课申报工作的通知
+ + + + + + +
+ + 2018年度专业技术职务任职资格学院初审结果公示
+ + + + + + +
+ + 2018年下半年博士研究生毕业论文答辩海报(二)
+ + + + + + +
+ + 2018年下半年博士研究生毕业论文答辩海报(一)
+
+
共660条  1/39 
首页上页  
+ +
+ + + + + +
+ + + + + +
+
地址:西安市长安区西长安街620号       邮编:710119 
邮箱:maths@snnu.edu.cn 电话:029-85310232 传真:029-85310277 
+ + + + + + +
+

陕西师范大学数学与信息科学学院

+ + diff --git a/test/html/snnu_meishuxy_news.html b/test/html/snnu_meishuxy_news.html new file mode 100644 index 0000000..c6f7ccd --- /dev/null +++ b/test/html/snnu_meishuxy_news.html @@ -0,0 +1,659 @@ + + + + + + +ѧԺ-ʦѧѧԺ,ʦѧԺ-վ֧֣ + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+
+ + + + +
+ + + + +
+ + + + + + +
+ + + + +
+ + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ҳѧԺſʦƽѧоѧѧоȺѧҵƶչ
+
+
+
+ +
+ + + + + +
+ + + + + +
+ + + + + + + +
+ + + + + + + + + + +
+
+ + + + +
+ + + + + + + + + + + +
+
+
+ + + + + + + + + +
+ + + + + +
   λãҳ > +  > + ѧԺ
+ + + + + + + +
+
+
+ + + + + + +
+ + + + + + + +
ǮڡԺ̳2018-12-24
+ + + + + + + +
ƶ·ϣԺٰ᰸ļʦд㱨չ2018-12-19
+ + + + + + + +
Ժٰ2015ѧο̸2018-12-19
+ + + + + + + +
ѧԺ֯ʦտףĸ↑ʮʢ2018-12-19
+ + + + + + + +
ѧԺٿ֧ǹ2018-12-19
+ + + + + + + +
ѧԺѧϰ᳹ȫᾫר⸨2018-12-18
+ + + + + + + +
ѧԺ12ʦƷѡȫửƷչ2018-12-18
+ + + + + + + +
Ժμӣȫ黭Эߵѧ2018̳2018-12-11
+ + + + + + + +
ԺʦμӡУʷ״ȫѧֻ2018-12-11
+ + + + + + + +
ѧԺٿ2018оѧѧ2018-12-10
+ + + + + + + +
Ժʦμӡʦ̳ɪȫʦչ2018-12-03
+ + + + + + + +
ѧԺ2018ꡰӭ ·ͬСӭɹ2018-11-28
+ + + + + + + +
Ժɹٰ조ϰ䡱鷨2018-11-20
+ + + + + + + +
ѧԺ֧ѧϰȫᾫ2018-11-12
+ + + + + + + +
ΪԺоڡѧһΡ2018-11-06
+ + + + + + + +
ѧѧԺѧԺ2018-11-06
+ + + + + + + +
ƶ·ϣԺ᰸ļչ ׼ƶBļд2018-11-05
+ + + + + + + +
ԺѧʦѧԴءǩԼʽ2018-11-05
+ + + + + + + +
ԺڽԴСרҵʵϰдءǩԼʽ2018-11-01
+ + + + + + + +
Ժ֧̹֯ԱӰѧϰ2018-10-30
+ + + + + + + +
ԺڽʡѧʦѧԴءǩԼʽ2018-10-30
+ + + + + + + +
Խ㡪Ժٿ2019ҵ߾ҵԱ2018-10-26
+ + + + + + + +
ѧԺửѧɹѼ2018-10-23
+ + + + + + + +
ͨ͡ʶοչʦԻѧ2018-10-19
+ + + + + + + +
ѧԺٿ2018оҽѧ2018-10-16
+ + + + + +
+ + + + +
+
 24ҳ ҳ 
+
+
+
+ + + + + +
+ + + + +
+ + + +
+ + + + + +
Copyright ©2015- +  ʦѧѧԺ,ʦѧԺ Ȩ
+ַг620 ʱࣺ710119
+ + + + + + + +
Design & Support ֧֣
עǣ   
+
+ + + \ No newline at end of file diff --git a/test/html/snnu_meishuxy_notice.html b/test/html/snnu_meishuxy_notice.html new file mode 100644 index 0000000..d60450d --- /dev/null +++ b/test/html/snnu_meishuxy_notice.html @@ -0,0 +1,659 @@ + + + + + + +֪ͨ-ʦѧѧԺ,ʦѧԺ-վ֧֣ + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+
+ + + + +
+ + + + +
+ + + + + + +
+ + + + +
+ + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ҳѧԺſʦƽѧоѧѧоȺѧҵƶչ
+
+
+
+ +
+ + + + + +
+ + + + + +
+ + + + + + + +
+ + + + + + + + + + +
+
+ + + + +
+ + + + + + + + + + + +
+
+
+ + + + + + + + + +
+ + + + + +
   λãҳ > +  > + ֪ͨ
+ + + + + + + +
+
+
+ + + + + + +
+ + + + + + + +
ڷʦƸڿ˵Ĺʾ2018-12-20
+ + + + + + + +
2018ѧԺμְԱزϵĹʾ2018-11-20
+ + + + + + + +
תѧϰġŦԼѧϰйУѧѧѧϰƻ 2019괺ѧڱ֪ͨ2018-10-29
+ + + + + + + +
ѧԤ棺ȫ˿·ڽѧֻ2018-10-06
+ + + + + + + +
2018ֵలű2018-09-30
+ + + + + + + +
2018ֵలű2018-09-21
+ + + + + + + +
ѧԺ2019о԰2018-09-19
+ + + + + + + +
Ԥ2018-09-13
+ + + + + + + +
ѧԺ2018ϰలű2018-07-13
+ + + + + + + +
ѧԺװڼע֪ͨ2018-07-04
+ + + + + + + +
2018-2019.1ҿααĩ԰ű2018-07-02
+ + + + + + + +
ѧԺ2018ֵల2018-06-15
+ + + + + + + +
ںƸڿ˽Ĺʾ2018-06-14
+ + + + + + + +
525ԹڽԤ2018-05-23
+ + + + + + + +
Ľʦѧʦչ̳뺯2018-05-11
+ + + + + + + +
Ԥ2018-05-11
+ + + + + + + +
ʮһѧλίԱίԱƼʾ2018-05-08
+ + + + + + + +
ѧԺ2018ֵలű2018-04-04
+ + + + + + + +
ڶٻƸڿ˽Ĺʾ2018-03-23
+ + + + + + + +
2017ѧԺֵల2018-01-26
+ + + + + + + +
ѧԺ2017Ƚְ˽ʾ2018-01-09
+ + + + + + + +
2018Ԫֵలű2017-12-27
+ + + + + + + +
У2018Ԫżٵ֪ͨ2017-12-26
+ + + + + + + +
2017Ƚְ˹İ2017-12-26
+ + + + + + + +
ʾ2017-11-14
+ + + + + +
+ + + + +
+
 12ҳ ҳ 
+
+
+
+ + + + + +
+ + + + +
+ + + +
+ + + + + +
Copyright ©2015- +  ʦѧѧԺ,ʦѧԺ Ȩ
+ַг620 ʱࣺ710119
+ + + + + + + +
Design & Support ֧֣
עǣ   
+
+ + + \ No newline at end of file diff --git a/test/html/snnu_music_news.html b/test/html/snnu_music_news.html new file mode 100644 index 0000000..12ff996 --- /dev/null +++ b/test/html/snnu_music_news.html @@ -0,0 +1,333 @@ + + + + + + + + + + + + 学院新闻-陕西师范大学音乐学院 + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + + + +
+
+ +
+
+ + + +
+ +
+ +
+ +
+ + + + +
+ +
+
+
+ +
+
+

学院新闻

+
+ 您所在的位置:学院新闻 +
+
+
+ + +
+ + +
+
+
共782条  1/40 
首页上页  
+
+
+
+
+ + +
+ + + + + + + diff --git a/test/html/snnu_music_notice.html b/test/html/snnu_music_notice.html new file mode 100644 index 0000000..4e003b5 --- /dev/null +++ b/test/html/snnu_music_notice.html @@ -0,0 +1,333 @@ + + + + + + + + + + + + 通知公告-陕西师范大学音乐学院 + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + + + +
+
+ +
+
+ + + +
+ +
+ +
+ +
+ + + + +
+ +
+
+
+ +
+
+

通知公告

+
+ 您所在的位置:通知公告 +
+
+
+ + + +
+
共328条  1/17 
首页上页  
+
+
+
+
+ + +
+ + + + + + + diff --git a/test/html/snnu_psych_news.html b/test/html/snnu_psych_news.html new file mode 100644 index 0000000..0dec994 --- /dev/null +++ b/test/html/snnu_psych_news.html @@ -0,0 +1,7362 @@ + + + + + 陕西师范大学心理学院 + + + + + + + + +
+
+ + +
+ +
+ 当前位置: 首页 > 学院新闻 +
+ +
+ 日期范围: + + 至 + + +      + + 标题: + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 类型 + + 标题 + + 发布人 + + 发布时间 +
+ 学院新闻 + + 我院举办2019届毕业研究生就业工作推进座谈会 + + + 段晓辉 + + 2018-12-24 12:20:24 +
+ 学院新闻 + + 第八期Seminar学术研讨会成功举办 + + + 段晓辉 + + 2018-12-24 10:04:13 +
+ 学院新闻 + + 我院举办“初心共向”第二期专家圆桌座谈会 + + + 2007042 + + 2018-12-24 08:52:10 +
+ 学院新闻 + + 我院成功举办2018年“逐梦新时代,共启心征程”迎新晚会暨综合表彰大会 + + + 2007042 + + 2018-12-21 10:51:54 +
+ 学院新闻 + + 我院召开2018年党支部书记抓基层党建述职评议考核工作会议 + + + 2007042 + + 2018-12-20 18:15:39 +
+ 学院新闻 + + 我院组织师生收看庆祝改革开放40周年大会 + + + 段晓辉 + + 2018-12-18 16:17:54 +
+ 学院新闻 + + 泽如心理学创新实验班系列讲座(十二)圆满结束 + + + 杜娟 + + 2018-12-03 14:48:21 +
+ 学院新闻 + + 我院举办2019届本科毕业生考研动员与慰问大会 + + + 段晓辉 + + 2018-11-28 11:58:54 +
+ 学院新闻 + + 心理学院2016级泽如心理学创新实验班项目中期答辩圆满结束 + + + 杜娟 + + 2018-11-28 11:41:35 +
+ 学院新闻 + + 泽如心理学创新实验班系列讲座(十一)圆满结束 + + + 杜娟 + + 2018-11-28 11:34:07 +
+ 学院新闻 + + 我院召开2018年人才引进与师资补充考核会议 + + + 董增云 + + 2018-11-22 10:29:14 +
+ 学院新闻 + + 庆阳市第六期中小学心理健康教育教师培训班圆满结束 + + + 李奕伯 + + 2018-11-22 09:42:34 +
+ 学院新闻 + + 我院举办研究生党支部委员培训会 + + + 段晓辉 + + 2018-11-12 22:21:35 +
+ 学院新闻 + + 王振宏院长一行赴新疆昌吉学院走访慰问援疆干部 + + + 李奕伯 + + 2018-11-09 16:34:40 +
+ 学院新闻 + + 我院党校2018年下半年党课培训第五讲顺利举行 + + + 2007042 + + 2018-11-09 11:20:01 +
+ 学院新闻 + + 我院党校2018年下半年党课培训第四讲顺利举行 + + + 2007042 + + 2018-11-09 10:57:37 +
+ 学院新闻 + + 我院举办2019届本科毕业生考研就业动员大会 + + + 董增云 + + 2018-11-05 15:50:40 +
+ 学院新闻 + + 我院召开2015级本科生实习总结大会 + + + 段晓辉 + + 2018-11-02 18:22:42 +
+ 学院新闻 + + 我院组织教师和学生党员赴铜川照金红色教育基地参观学习 + + + 2007042 + + 2018-11-02 08:57:10 +
+ 学院新闻 + + 我院党校2018年下半年党课培训第三讲顺利举行 + + + 2007042 + + 2018-11-01 15:50:07 +
+ 学院新闻 + + 我院党校2018年下半年党课培训第二讲顺利举行 + + + 2007042 + + 2018-10-31 11:16:51 +
+ 学院新闻 + + 我院党校举行2018年下半年党课培训开班仪式暨党课培训第一讲 + + + 2007042 + + 2018-10-31 09:33:39 +
+ 学院新闻 + + 第十一届青年教师教学基本功大赛学院预赛圆满举行 + + + 杜娟 + + 2018-10-30 10:46:39 +
+ 学院新闻 + + 我院领导慰问2015级本科实习生 + + + 杜娟 + + 2018-10-30 09:51:27 +
+ 学院新闻 + + 我院第二届“别具匠心”英文影视作品配音比赛成功举办 + + + 2007042 + + 2018-10-29 11:43:52 +
+ 学院新闻 + + 我院成功举办“新时代 新起点 新梦想 新青年”主题演讲比赛 + + + 2007042 + + 2018-10-29 11:33:45 +
+ 学院新闻 + + “心”启航|新生入学教育:新阶段 心开始——新生心理健康教育专题讲座 + + + + + 2018-10-28 19:47:00 +
+ 学院新闻 + + “心”启航|新生入学教育:做好大学生职业生涯规划 + + + + + 2018-10-28 18:40:42 +
+ 学院新闻 + + “心”研途 新起航|坚定理想信念 加强组织管理 + + + 段晓辉 + + 2018-10-28 18:22:32 +
+ 学院新闻 + + 我院召开本科生班主任工作座谈会 + + + 2007042 + + 2018-10-28 17:38:33 +
+ 学院新闻 + + 我院举办毕业研究生就业工作座谈会 + + + 段晓辉 + + 2018-10-25 22:39:24 +
+ 学院新闻 + + 中国心理学会心理服务机构工作委员会成立大会暨第一次工作委员会会议在我校举行 + + + 李奕伯 + + 2018-10-25 10:26:13 +
+ 学院新闻 + + 甘肃省庆阳市第六期中小学心理健康教育教师培训班在我院开班 + + + 李奕伯 + + 2018-10-23 15:43:59 +
+ 学院新闻 + + “心”启航||新生入学教育:优秀毕业生经验交流会 + + + + + 2018-10-17 17:58:04 +
+ 学院新闻 + + 我院2018年研究生国家奖学金评审会顺利召开 + + + 段晓辉 + + 2018-10-16 21:01:20 +
+ 学院新闻 + + 中国心理学会工程心理学专业委员会2018年学术年会在我校召开 + + + 杜娟 + + 2018-10-16 18:00:35 +
+ 学院新闻 + + 我院举办2018年下半年学生工作会议暨学生组织换届大会 + + + 2007042 + + 2018-10-14 13:57:35 +
+ 学院新闻 + + 任晓伟教授为我院全体师生党员做专题报告 + + + 段晓辉 + + 2018-10-10 21:45:09 +
+ 学院新闻 + + “心”研途 新起航|“院长一课”之求实创新 学以致用 + + + 段晓辉 + + 2018-09-30 21:53:54 +
+ 学院新闻 + + 我院成功举办第三届“曲江学者论坛”心理学分论坛 + + + 李奕伯 + + 2018-09-29 15:20:45 +
+ 学院新闻 + + 我院召开2019届毕业研究生就业动员大会 + + + 段晓辉 + + 2018-09-27 10:25:38 +
+ 学院新闻 + + “心”启航|新生入学教育:“院长一课”——志存高远,砥砺前行 + + + 2007042 + + 2018-09-25 15:13:18 +
+ 学院新闻 + + “心”启航|新生入学教育:青春逐梦,导师领航——新生班主任、本科生导师见面会 + + + 2007042 + + 2018-09-25 10:24:26 +
+ 学院新闻 + + “心”启航|新生入学教育:“发现 成长”——我眼中的大学生活 + + + 2007042 + + 2018-09-25 10:22:29 +
+ 学院新闻 + + 我院心理学大讲堂第118期学术报告圆满举行 + + + admin + + 2018-09-25 08:20:44 +
+ 学院新闻 + + “心”研途 新起航|励志勤学 做最好的自己 + + + 段晓辉 + + 2018-09-19 23:41:31 +
+ 学院新闻 + + "心"研途 新起航|2018级研究生新生见面会 + + + 段晓辉 + + 2018-09-19 22:09:13 +
+ 学院新闻 + + 我院2018年研究生迎新工作圆满完成 + + + 段晓辉 + + 2018-09-16 14:18:53 +
+ 学院新闻 + + 我院隆重举行2018级新生开学典礼 + + + 李奕伯 + + 2018-09-16 11:38:14 +
+ 学院新闻 + + 我院召开新学期工作部署会 + + + 李奕伯 + + 2018-09-14 09:43:08 +
+ 学院新闻 + + 学院党总支中心组召开《中国共产党纪律处分条例》专题学习会议 + + + + + 2018-09-12 18:06:13 +
+ 学院新闻 + + 军训中慰问,传递“心”关怀——学院领导慰问2018级军训新生 + + + 2007042 + + 2018-09-02 10:40:43 +
+ 学院新闻 + + 迎新纪实(五):合力育人,学院召开2018级新生家长见面会 + + + + + 2018-08-24 17:57:50 +
+ 学院新闻 + + 迎新纪实(四):最美不过初相见,开展新生首次点名活动 + + + + + 2018-08-24 17:20:59 +
+ 学院新闻 + + 迎新纪实(三):以生为本,学院领导深入宿舍看望本科新生 + + + + + 2018-08-24 16:26:45 +
+ 学院新闻 + + 迎新纪实(二):如火如荼,井然有序开展各项迎新工作 + + + 2007042 + + 2018-08-24 16:19:09 +
+ 学院新闻 + + 迎新纪实(一):蓄势待发,积极做好各项迎新生准备工作 + + + 2007042 + + 2018-08-22 18:24:32 +
+ 学院新闻 + + 热烈欢迎2018级新同学 + + + 2007042 + + 2018-08-21 08:11:54 +
+ 学院新闻 + + 我院举办2018年暑假研究生留校学生工作会议 + + + 2007042 + + 2018-07-08 10:34:58 +
+ 学院新闻 + + 我院心理学大讲堂第117期学术报告圆满举行 + + + 李奕伯 + + 2018-07-05 10:40:34 +
+ 学院新闻 + + 我院心理学大讲堂第116期学术报告圆满举行 + + + 李奕伯 + + 2018-07-03 10:17:18 +
+ 学院新闻 + + 我院与西安高新一中举行“心理学院实习实践基地” 签约授牌仪式 + + + 董增云 + + 2018-07-02 16:51:18 +
+ 学院新闻 + + 我院心理学大讲堂第115期学术报告圆满举行 + + + 李奕伯 + + 2018-06-25 09:47:38 +
+ 学院新闻 + + 我院召开新进教师首聘期考核会议 + + + 成爱军 + + 2018-06-21 08:58:56 +
+ 学院新闻 + + 我院硕士研究生郑婷婷荣获国家公派出国留学攻读博士学位 + + + 雷萍 + + 2018-06-19 18:06:10 +
+ 学院新闻 + + 我院心理学大讲堂第114期学术报告圆满举行 + + + 李奕伯 + + 2018-06-15 08:27:29 +
+ 学院新闻 + + 我院心理学大讲堂第113期学术报告圆满举行 + + + 李奕伯 + + 2018-06-11 10:37:50 +
+ 学院新闻 + + 陕西师范大学党校2018年第3期发展党员集中培训班成功举办 + + + 仉天聪 + + 2018-06-07 09:29:26 +
+ 学院新闻 + + 我院心理学大讲堂第112期学术报告圆满举行 + + + 李奕伯 + + 2018-06-07 08:03:55 +
+ 学院新闻 + + 美国密歇根大学Kai Cortina教授一行来访我院 + + + 杜娟 + + 2018-05-30 15:24:23 +
+ 学院新闻 + + 我院学位授权点自评估专家评审会顺利召开 + + + 李奕伯 + + 2018-05-28 08:29:10 +
+ 学院新闻 + + 我院心理学大讲堂第111期学术报告圆满举行 + + + 李奕伯 + + 2018-05-25 15:23:40 +
+ 学院新闻 + + 我院举行学生工作推进会暨学生会、心理学社成立大会 + + + 仉天聪 + + 2018-05-21 16:29:25 +
+ 学院新闻 + + 我院心理学大讲堂第110期学术报告圆满举行 + + + 李奕伯 + + 2018-05-21 09:55:18 +
+ 学院新闻 + + 我院心理学大讲堂第109期学术报告圆满举行 + + + 李奕伯 + + 2018-05-21 08:09:46 +
+ 学院新闻 + + 我院兰继军教授承担的2018-2019年度西安地铁运营分公司员工帮助计划项目顺... + + + 成爱军 + + 2018-05-15 16:29:17 +
+ 学院新闻 + + 心理学院召开党代表选举大会 + + + 仉天聪 + + 2018-05-14 17:37:19 +
+ 学院新闻 + + 我院心理学大讲堂第107期学术报告圆满举行 + + + 成爱军 + + 2018-05-14 11:15:10 +
+ 学院新闻 + + 我院心理学大讲堂第108期学术报告暨交流座谈会圆满举行 + + + admin + + 2018-05-12 23:10:53 +
+ 学院新闻 + + 我院心理学大讲堂第106期学术报告圆满举行 + + + admin + + 2018-05-12 14:42:53 +
+ 学院新闻 + + 我院心理学大讲堂第105期学术报告圆满举行 + + + admin + + 2018-05-11 08:45:52 +
+ 学院新闻 + + 我院王振宏教授参加中国心理学会人格心理学专业委员会2018年学术年会并做大会报告 + + + 成爱军 + + 2018-05-08 17:28:01 +
+ 学院新闻 + + 我院举办第二届“我与我的青春故事”优秀学子成长经验报告会 + + + 仉天聪 + + 2018-05-08 12:03:24 +
+ 学院新闻 + + 甘肃省庆阳市第五期中小学心理健康教育教师培训班圆满结束 + + + 李奕伯 + + 2018-05-07 11:10:24 +
+ 学院新闻 + + 我院举办高新国际学校专场招聘会 + + + + + 2018-05-02 10:20:49 +
+ 学院新闻 + + 我院举办铁一中专场招聘会 + + + 董增云 + + 2018-05-02 10:05:53 +
+ 学院新闻 + + 英国南安普顿大学Constantine Sedikides教授《人格与社会心理... + + + 成爱军 + + 2018-05-02 08:23:56 +
+ 学院新闻 + + 阳光拥抱青春梦想 拼搏助跑理想飞扬 + + + 仉天聪 + + 2018-04-28 18:16:25 +
+ 学院新闻 + + 教育部本科教学审核评估专家梁福成教授莅临我院走访座谈 + + + 成爱军 + + 2018-04-18 15:33:27 +
+ 学院新闻 + + 教育部本科教学审核评估专家董奇教授莅临我院走访考察 + + + 成爱军 + + 2018-04-18 14:32:50 +
+ 学院新闻 + + 我院举办校运会运动员慰问会 + + + 仉天聪 + + 2018-04-17 11:47:39 +
+ 学院新闻 + + 我院举行领导班子党风廉政建设责任书签署仪式 + + + 仉天聪 + + 2018-04-12 10:53:42 +
+ 学院新闻 + + 甘肃省庆阳市第五期中小学教师培训班在我校开班 + + + 李奕伯 + + 2018-04-11 11:02:33 +
+ 学院新闻 + + 我院师生赴美国密歇根大学访问活动圆满完成 + + + 成爱军 + + 2018-04-09 14:53:49 +
+ 学院新闻 + + 我院心理学大讲堂第104期学术报告圆满举行 + + + 成爱军 + + 2018-04-09 06:49:09 +
+ 学院新闻 + + 我院召开师资补充答辩报告会议 + + + 成爱军 + + 2018-03-22 11:27:12 +
+ 学院新闻 + + 我院举行教师岗位聘用合同书签订仪式 + + + 成爱军 + + 2018-03-22 11:26:09 +
+ 学院新闻 + + 我院心理学大讲堂第103期学术报告圆满举行 + + + 成爱军 + + 2018-03-20 15:54:20 +
+ 学院新闻 + + 我院开展2018届毕业生考研复试调剂、就业工作座谈会 + + + 董增云 + + 2018-03-20 11:19:17 +
+ 学院新闻 + + 我院召开2018年工作部署暨学科建设会议 + + + 李奕伯 + + 2018-03-14 18:25:11 +
+ 学院新闻 + + 研究生院一行到心理学院开展研究生教育管理座谈会 + + + 雷萍 + + 2018-03-09 15:37:15 +
+ 学院新闻 + + 我院组织师生收看学习十三届全国人大一次会议开幕会 + + + 仉天聪 + + 2018-03-05 18:50:08 +
+ 学院新闻 + + 我院寒假送温暖筑心桥 ——学工干部走... + + + 仉天聪 + + 2018-02-05 21:34:49 +
+ 学院新闻 + + 高新一中师生一行来我院参观学习 + + + 杜娟 + + 2018-01-31 10:19:31 +
+ 学院新闻 + + 我院召开2017年度教职工代表会议 + + + 成爱军 + + 2018-01-29 17:50:40 +
+ 学院新闻 + + 我院心理学大讲堂第102期学术报告圆满举行 + + + 成爱军 + + 2018-01-29 09:39:10 +
+ 学院新闻 + + 心理学院领导班子召开2017年度民主生活会 + + + + + 2018-01-26 10:26:43 +
+ 学院新闻 + + 我院基础心理学教职工党支部召开专题组织生活会与民主评议党员会议 + + + 李奕伯 + + 2018-01-24 10:32:34 +
+ 学院新闻 + + 我院举办2018年寒假留宿学生工作会议 + + + 仉天聪 + + 2018-01-23 23:16:15 +
+ 学院新闻 + + 我院行政党支部召开专题组织生活会与民主评议党员会议 + + + 仉天聪 + + 2018-01-18 16:34:18 +
+ 学院新闻 + + 心理学院举办党支部书记工作会议 + + + 仉天聪 + + 2018-01-15 17:26:32 +
+ 学院新闻 + + 我院召开2017-2018学年度第一学期期末考试暨本科教学审核评估工作动员会 + + + 杜娟 + + 2018-01-15 10:40:23 +
+ 学院新闻 + + 心理学院举行本科生期末考试动员会议 + + + 仉天聪 + + 2018-01-12 11:15:40 +
+ 学院新闻 + + 财务处处长刘继波一行来我院调研财务工作 + + + 李奕伯 + + 2018-01-05 11:29:06 +
+ 学院新闻 + + 我院第100期心理学大讲堂圆满结束 + + + 成老师 + + 2017-12-25 11:24:26 +
+ 学院新闻 + + 我院第101期心理学大讲堂圆满结束 + + + 成爱军 + + 2017-12-25 09:04:52 +
+ 学院新闻 + + 我院吕薇副教授在国际情绪、生理心理学顶级SSCI/SCI期刊发表系列高水平论文 + + + 成老师 + + 2017-12-22 17:27:29 +
+ 学院新闻 + + 泽如心理学创新实验班系列讲座(十)圆满结束 + + + 杜老师 + + 2017-12-22 11:55:49 +
+ 学院新闻 + + 我院与美国堪萨斯大学教育学院举行了合作交流研讨会议 + + + 成老师 + + 2017-12-21 11:35:44 +
+ 学院新闻 + + 心理学院青年师生学术沙龙第三十期顺利举办 + + + 雷老师 + + 2017-12-20 10:14:14 +
+ 学院新闻 + + 心理学院2017年迎新晚会隆重举行 + + + admin + + 2017-12-08 17:13:21 +
+ 学院新闻 + + 甘肃省庆阳市第四期中小学心理健康教育教师培训班圆满结束 + + + 成老师 + + 2017-12-08 15:45:23 +
+ 学院新闻 + + 泽如心理学创新实验班系列讲座(九)圆满结束 + + + 杜老师 + + 2017-12-07 11:57:34 +
+ 学院新闻 + + 心理学院青年师生学术沙龙第二十九期顺利举办 + + + 雷老师 + + 2017-12-05 16:07:33 +
+ 学院新闻 + + 心理学院青年师生学术沙龙第二十八期顺利举办 + + + 雷老师 + + 2017-11-27 15:04:05 +
+ 学院新闻 + + 我院在学校2017年“两学一做”支部风采展示活动中取得佳绩 + + + 2007042 + + 2017-11-27 11:33:55 +
+ 学院新闻 + + 心理学院举办学习党的十九大精神辅导报告会 + + + 2007042 + + 2017-11-23 20:24:18 +
+ 学院新闻 + + 我院李录志书记一行赴新疆昌吉学院看望援疆干部并签订合作协议 + + + 成老师 + + 2017-11-23 11:06:39 +
+ 学院新闻 + + 心理学院青年师生学术沙龙第二十七期顺利举办 + + + 雷老师 + + 2017-11-21 15:41:14 +
+ 学院新闻 + + 我院王勇慧教授团队成员李雅博士在Cerebral Cortex上发表研究成果 + + + 成老师 + + 2017-11-20 08:32:39 +
+ 学院新闻 + + “曲江学者论坛”之第99期心理学大讲堂学术讲座圆满结束 + + + 成老师 + + 2017-11-17 16:11:26 +
+ 学院新闻 + + 我院召开全院党支部书记工作会议 + + + 2007042 + + 2017-11-14 18:30:08 +
+ 学院新闻 + + 中国心理学会社区心理专业委员会第三届学术年会在我校召开 + + + 成老师 + + 2017-11-12 14:39:08 +
+ 学院新闻 + + 甘肃省庆阳市第四期中小学心理健康教育教师培训班在我院开班 + + + 杜老师 + + 2017-11-10 16:04:28 +
+ 学院新闻 + + 心理学院召开2014级本科生实习总结大会 + + + 2007042 + + 2017-11-09 15:49:53 +
+ 学院新闻 + + 心理学院2018届本科毕业生考研就业动员大会 + + + admin + + 2017-11-09 15:37:24 +
+ 学院新闻 + + 我院第98期心理学大讲堂圆满结束 + + + 成老师 + + 2017-11-09 10:34:32 +
+ 学院新闻 + + 英国斯旺西大学国际合作官员James Kerr来我院调研与座谈 + + + 成老师 + + 2017-11-08 09:33:59 +
+ 学院新闻 + + 乌兹别克斯坦国立大学国际交流处处长马萨姆.哈基莫夫来我院调研 + + + 成老师 + + 2017-11-03 17:13:18 +
+ 学院新闻 + + 俄罗斯精神病学和麻醉学联邦医学研究中心所长与我院师生座谈 + + + 成老师 + + 2017-11-03 16:04:17 +
+ 学院新闻 + + 我院第97期心理学大讲堂圆满结束 + + + admin + + 2017-11-01 16:23:27 +
+ 学院新闻 + + 第十届青年教师教学基本功大赛学院预赛圆满举行 + + + 杜老师 + + 2017-11-01 09:43:23 +
+ 学院新闻 + + 我院党校举行2017年下半年党课培训开班仪式暨党课培训第一讲 + + + 2007042 + + 2017-10-31 18:33:25 +
+ 学院新闻 + + 心理学院青年师生学术沙龙第二十六期顺利举办 + + + 雷老师 + + 2017-10-31 18:07:08 +
+ 学院新闻 + + 我院召开2017年职称评审工作安排会议 + + + 2010074 + + 2017-10-27 15:04:00 +
+ 学院新闻 + + 我院领导慰问2014级本科实习生 + + + 杜老师 + + 2017-10-24 11:02:06 +
+ 学院新闻 + + 我院举办毕业生就业面试指导与职场礼仪培训讲座 + + + 2007042 + + 2017-10-20 15:35:41 +
+ 学院新闻 + + 我院组织党员观看党的十九大开幕会 + + + admin + + 2017-10-18 22:03:57 +
+ 学院新闻 + + 我院“喜迎十九大 青春铸辉煌”演讲比赛圆满结束 + + + 2007042 + + 2017-10-18 20:29:13 +
+ 学院新闻 + + 用激情唱响党的赞歌——我院研究生在校合唱比赛中荣获三等奖 + + + 2007042 + + 2017-10-18 20:16:34 +
+ 学院新闻 + + 我院航空航天心理学与人因工程研究团队参加第二届中国人因工程高峰论坛 + + + 成老师 + + 2017-10-18 17:43:01 +
+ 学院新闻 + + 我院召开2017年下半年学生工作会议 + + + 2007042 + + 2017-10-13 11:22:22 +
+ 学院新闻 + + 我院召开2017年人才引进与师资补充考核会议 + + + 成老师 + + 2017-10-12 15:17:17 +
+ 学院新闻 + + 心理学院举办杨文汇同学入伍欢送会并组织学生观看新闻联播征兵入伍相关节目 + + + + + 2017-09-26 20:54:09 +
+ 学院新闻 + + 我院青年师生学术沙龙第二十五期圆满举办 + + + 雷老师 + + 2017-09-26 15:52:48 +
+ 学院新闻 + + 我院召开2018届硕士毕业生就业动员大会 + + + 2007042 + + 2017-09-22 18:41:47 +
+ 学院新闻 + + 我院举行2017级学术型硕士研究生政策解读与日常管理教育报告会 + + + 2007042 + + 2017-09-22 18:26:44 +
+ 学院新闻 + + 我院青年师生学术沙龙第二十四期圆满举办 + + + 雷老师 + + 2017-09-19 10:52:20 +
+ 学院新闻 + + 我院开展新学期班干部工作安排会议 + + + 2007042 + + 2017-09-17 15:39:53 +
+ 学院新闻 + + 规范组织生活,争做合格党员——我院开展2017级新生党员入学教育活动 + + + 2007042 + + 2017-09-15 10:24:25 +
+ 学院新闻 + + 我院召开2017年新学期工作部署会议 + + + 成老师 + + 2017-09-13 09:01:53 +
+ 学院新闻 + + 我院隆重举行2018级新生开学典礼 + + + 李奕伯 + + 2017-09-11 16:17:45 +
+ 学院新闻 + + 我院第96期心理学大讲堂圆满结束 + + + 成老师 + + 2017-09-06 08:37:51 +
+ 学院新闻 + + 慰问军训新生 传递真情关怀 + + + 2007042 + + 2017-09-05 18:36:22 +
+ 学院新闻 + + 迎新纪实(十一):新生入学教育之“爱国如家,励志兴邦”爱国主义教育讲座 + + + 2007042 + + 2017-09-05 16:03:39 +
+ 学院新闻 + + 我院第95期心理学大讲堂圆满结束 + + + 成老师 + + 2017-09-05 11:20:36 +
+ 学院新闻 + + 迎新纪实(十):新生入学教育之“遵纪守法,严于律己”新生校纪校规专题讲座 + + + 2007042 + + 2017-09-02 16:02:28 +
+ 学院新闻 + + 迎新纪实(九):新生入学教育之“律己修身,自立自强”新生日常管理教育讲座 + + + 2007042 + + 2017-09-02 15:55:23 +
+ 学院新闻 + + 迎新纪实(八):新生入学教育之“厚德积学,朴实力行”本科生培养讲座 + + + 2007042 + + 2017-08-29 12:42:19 +
+ 学院新闻 + + 迎新纪实(七):新生入学教育之“刚好遇见,一路有爱”新生适应性团体辅导 + + + admin + + 2017-08-28 10:47:25 +
+ 学院新闻 + + 迎新纪实(六):新生入学教育之“提早规划,励志成才”大学生职业生涯规划指导讲座 + + + 2007042 + + 2017-08-27 11:36:20 +
+ 学院新闻 + + 迎新纪实(五):家校合力,育人共当——我院举行2017级新生家长座谈会 + + + 2007042 + + 2017-08-26 14:50:45 +
+ 学院新闻 + + 迎新纪实(四):迎“新”+用“心”,志愿服务润物无声 + + + 2007042 + + 2017-08-25 13:45:57 +
+ 学院新闻 + + 迎新纪实(三):“第一时间”的关爱 ——学院领导深入宿舍看望慰问2017级新生 + + + 2007042 + + 2017-08-25 11:38:51 +
+ 学院新闻 + + 迎新纪实(二):全方位、多举措做好迎新准备 + + + 2007042 + + 2017-08-23 15:28:50 +
+ 学院新闻 + + 迎新纪实(一):启动“宿舍学长制”,守护新生成长,引领梦想起航 + + + 2007042 + + 2017-08-22 12:23:15 +
+ 学院新闻 + + 心理学院2017年暑期社会实践活动稳步推进 + + + 2007042 + + 2017-07-15 11:12:51 +
+ 学院新闻 + + 我院2017年本科生国际暑期学校开课 + + + 杜老师 + + 2017-07-14 18:37:03 +
+ 学院新闻 + + 华南师范大学心理学院院长张卫一行来我院调研 + + + 成老师 + + 2017-07-12 08:36:44 +
+ 学院新闻 + + 我院与铜川市王益区教育科技体育局签署教育战略合作协议 + + + 成老师 + + 2017-07-10 08:37:22 +
+ 学院新闻 + + 心理学院与北京双高国际人力资本集团举行“心理学专业实习实践基地”签约授牌仪式 + + + admin + + 2017-06-29 12:03:32 +
+ 学院新闻 + + 我院第94期心理学大讲堂圆满结束 + + + 成老师 + + 2017-06-28 17:07:15 +
+ 学院新闻 + + 我院召开2016-2017学年度第二学期期末考试工作会议 + + + 杜老师 + + 2017-06-23 12:15:00 +
+ 学院新闻 + + 我院首届航空航天心理学专业硕士论文答辩工作圆满结束 + + + 雷老师 + + 2017-06-09 17:55:29 +
+ 学院新闻 + + 我院2017年上半年博士论文答辩顺利举行 + + + 雷老师 + + 2017-05-27 17:52:22 +
+ 学院新闻 + + 心理学院“陕Star暖心阁”线上心理咨询平台上线了 + + + 2007042 + + 2017-05-25 16:34:07 +
+ 学院新闻 + + 密歇根大学师生来访学院并进行学术交流 + + + 杜老师 + + 2017-05-25 11:53:59 +
+ 学院新闻 + + 泽如实验班与密歇根大学师生项目报告交流会暨第八次系列讲座圆满结束 + + + 2007042 + + 2017-05-19 18:13:37 +
+ 学院新闻 + + 我院第93期心理学大讲堂圆满结束 + + + 成老师 + + 2017-05-18 11:27:32 +
+ 学院新闻 + + 我院召开关键三级及其以下教师岗位人员聘用工作部署会议 + + + 成老师 + + 2017-05-18 10:23:49 +
+ 学院新闻 + + 我院召开财务报销系统推介会议 + + + 成老师 + + 2017-05-18 10:20:17 +
+ 学院新闻 + + 陕西省教育厅网站:我院多举措助力新生入学教育成效好 + + + 2007042 + + 2017-05-17 17:07:44 +
+ 学院新闻 + + 我院召开2017年师资补充考核会议 + + + 成老师 + + 2017-05-16 17:13:54 +
+ 学院新闻 + + 第四届中国精神遗传学峰会在我校举行 + + + admin + + 2017-05-15 13:22:20 +
+ 学院新闻 + + 我院召开2018届毕业生实习动员会 + + + 2007042 + + 2017-05-12 17:38:34 +
+ 学院新闻 + + “大学第一年”:我院多管齐下扎实做好新生入学教育 + + + admin + + 2017-05-10 16:12:05 +
+ 学院新闻 + + 我院第92期心理学大讲堂圆满结束 + + + 成老师 + + 2017-05-10 09:52:07 +
+ 学院新闻 + + 泽如心理学创新实验班系列讲座(六)(七)圆满结束 + + + 杜老师 + + 2017-05-09 16:48:40 +
+ 学院新闻 + + 甘肃省庆阳市第三期中小学心理健康教育教师培训班圆满结束 + + + 成老师 + + 2017-05-07 10:59:09 +
+ 学院新闻 + + 我院学子在第二十届“外研社杯”全国英语辩论华西赛区喜夺冠 + + + 2007042 + + 2017-05-04 09:26:39 +
+ 学院新闻 + + 我院举办“我与我的青春故事”优秀学子成长经验报告会 + + + admin + + 2017-05-02 16:58:57 +
+ 学院新闻 + + 心理学院2015级泽如创新实验班参观第四军医大学实验室 + + + 杜老师 + + 2017-04-28 09:28:26 +
+ 学院新闻 + + 心理学院多措并举有效推进毕业生就业工作 + + + admin + + 2017-04-25 11:36:12 +
+ 学院新闻 + + “院长一课”之“如何查阅文献与撰写研究论文” + + + 2007042 + + 2017-04-24 09:32:46 +
+ 学院新闻 + + 我院师生赴美国密歇根大学访问活动顺利举行 + + + 成老师 + + 2017-04-10 14:37:19 +
+ 学院新闻 + + 甘肃省庆阳市第三期中小学心理健康教育教师培训班在我院开班 + + + 成老师 + + 2017-04-08 22:22:21 +
+ 学院新闻 + + 我院实习实践基地、儿童发展研究基地揭牌仪式在铭城小学举行 + + + 杜老师 + + 2017-04-05 10:22:28 +
+ 学院新闻 + + 我院承办学校第二十届“外研社杯”全国大学生英语辩论赛校园选拔赛活动 + + + 2007042 + + 2017-03-31 08:44:09 +
+ 学院新闻 + + 心理学院召开全体党支部委员会议 + + + 2007042 + + 2017-03-26 14:32:44 +
+ 学院新闻 + + 【学风建设】知之 好之 乐之——记心理学院举办“我与我的科研梦”系列科研指导活动 + + + 2007042 + + 2017-03-20 09:18:15 +
+ 学院新闻 + + 我院举办2017年国家大学生创新创业训练计划项目申报报告会 + + + admin + + 2017-03-17 09:08:17 +
+ 学院新闻 + + 我院召开2017年学生工作会议 + + + admin + + 2017-03-16 17:33:14 +
+ 学院新闻 + + 我院第91期心理学大讲堂圆满结束 + + + admin + + 2017-03-13 08:29:51 +
+ 学院新闻 + + 我院召开2017年新学期工作部署会议 + + + 成老师 + + 2017-03-02 10:06:29 +
+ 学院新闻 + + 杨祖培副校长一行莅临我院检查指导工作 + + + 成老师 + + 2017-02-20 16:03:04 +
+ 学院新闻 + + 我院开展教学秩序检查工作 + + + 成老师 + + 2017-02-20 16:00:26 +
+ 学院新闻 + + 我院召开2016年度教职工代表大会 + + + 成老师 + + 2017-01-22 20:15:23 +
+ 学院新闻 + + 心理学院领导班子召开2016年度民主生活会 + + + 成老师 + + 2017-01-12 10:19:33 +
+ 学院新闻 + + 教务处一行来我院进行调研座谈 + + + 杜老师 + + 2017-01-12 09:43:50 +
+ 学院新闻 + + 我院召开2016-2017学年度第一学期期末考试工作会议 + + + admin + + 2017-01-10 10:17:01 +
+ 学院新闻 + + 我院青年师生学术沙龙第二十三期圆满举行 + + + admin + + 2017-01-05 08:30:41 +
+ 学院新闻 + + 我院第90期心理学大讲堂圆满结束 + + + 成老师 + + 2016-12-30 10:11:28 +
+ 学院新闻 + + 我院召开2017届本科毕业生就业座谈会 + + + admin + + 2016-12-30 08:31:44 +
+ 学院新闻 + + 我院举办天成元心理集团招聘宣讲会 + + + admin + + 2016-12-29 14:53:59 +
+ 学院新闻 + + 心理学院举办2016级专业学习辅导讲座 + + + admin + + 2016-12-22 16:24:46 +
+ 学院新闻 + + 心理学院与西安高新逸翠园学校举行“心理学专业实习实践基地”签约授牌仪式 + + + 杜老师 + + 2016-12-21 09:17:00 +
+ 学院新闻 + + 我院青年师生学术沙龙第二十二期圆满举行 + + + 雷老师 + + 2016-12-20 09:11:11 +
+ 学院新闻 + + 我院第89期心理学大讲堂圆满结束 + + + 成老师 + + 2016-12-13 08:16:15 +
+ 学院新闻 + + 我院青年师生学术沙龙第二十一期圆满举行 + + + admin + + 2016-12-12 16:10:48 +
+ 学院新闻 + + 我院青年师生学术沙龙第二十期圆满举行 + + + admin + + 2016-12-05 17:36:23 +
+ 学院新闻 + + 甘肃省庆阳市第二期中小学心理健康教育教师培训班圆满结束 + + + admin + + 2016-12-02 17:15:10 +
+ 学院新闻 + + 我院泽如心理学创新实验班系列讲座(三)圆满结束 + + + admin + + 2016-12-02 15:39:19 +
+ 学院新闻 + + 泽如心理学创新实验班创新创业项目培育答辩会圆满结束 + + + admin + + 2016-12-01 17:06:22 +
+ 学院新闻 + + “构建庆阳市中小学心理健康教育体系”项目组赴庆阳市调研 + + + admin + + 2016-11-28 08:45:07 +
+ 学院新闻 + + 我院青年师生学术沙龙第十九期圆满举行 + + + admin + + 2016-11-21 15:24:53 +
+ 学院新闻 + + 我院青年师生学术沙龙第十八期圆满举行 + + + admin + + 2016-11-14 17:09:44 +
+ 学院新闻 + + 王振宏同志为心理学院发展与应用心理学教职工和博士生党支部讲授“两学一做”专题党课 + + + 赵老师 + + 2016-11-14 09:56:57 +
+ 学院新闻 + + 我院2017年研究生招生宣传工作圆满结束 + + + 成老师 + + 2016-11-08 16:24:11 +
+ 学院新闻 + + 第九届青年教师教学基本功大赛学院预赛圆满举行 + + + 杜老师 + + 2016-11-08 15:52:22 +
+ 学院新闻 + + 我院青年师生学术沙龙第十七期如期举行 + + + 雷老师 + + 2016-11-08 09:24:17 +
+ 学院新闻 + + 高子伟副校长参加心理学院2015级研究生第一党支部学习研讨 + + + 赵老师 + + 2016-11-07 15:59:39 +
+ 学院新闻 + + 心理学院举办第八期党校开学典礼 + + + admin + + 2016-11-03 15:31:03 +
+ 学院新闻 + + 基础心理学职工党支部举办“两学一做”第三专题学习讨论会 + + + 赵老师 + + 2016-11-03 13:14:50 +
+ 学院新闻 + + 甘肃省庆阳市第二期中小学心理健康教育教师培训班在我院开班 + + + 成老师 + + 2016-11-03 11:16:17 +
+ 学院新闻 + + 学校“两学一做”学习教育督导组莅临我院督导检查 + + + 赵老师 + + 2016-11-02 18:13:21 +
+ 学院新闻 + + 科技处陈新兵副处长莅临我院进行国家自然科学基金项目申报座谈 + + + 雷老师 + + 2016-11-02 10:53:36 +
+ 学院新闻 + + 心理学院首届球类运动会圆满结束 + + + 赵老师 + + 2016-11-01 14:08:27 +
+ 学院新闻 + + 我院召开2016年专业技术职务任职资格评审工作会议 + + + 成老师 + + 2016-10-28 16:15:12 +
+ 学院新闻 + + 心理学院召开2017届毕业生就业动员大会 + + + admin + + 2016-10-28 15:53:12 +
+ 学院新闻 + + 我院2016级研究生第一党支部观看《榜样》直播 + + + 赵老师 + + 2016-10-27 11:22:41 +
+ 学院新闻 + + 我院第88期心理学大讲堂圆满结束 + + + 成老师 + + 2016-10-27 10:45:19 +
+ 学院新闻 + + 我院泽如心理学创新实验班系列讲座(一)、(二)圆满结束 + + + 杜老师 + + 2016-10-25 15:06:28 +
+ 学院新闻 + + 心理学院党总支召开“两学一做”学习教育推进会 + + + 赵老师 + + 2016-10-24 10:00:37 +
+ 学院新闻 + + 我院第87期心理学大讲堂圆满结束 + + + 成老师 + + 2016-10-20 17:02:44 +
+ 学院新闻 + + 机关党委来我院调研 + + + 赵老师 + + 2016-10-19 09:47:48 +
+ 学院新闻 + + 我院领导看望并慰问实习学生 + + + 赵老师 + + 2016-10-12 15:56:47 +
+ 学院新闻 + + 我院第86期心理学大讲堂圆满结束 + + + 成老师 + + 2016-10-10 16:11:11 +
+ 学院新闻 + + 心理学院党总支举办“两学一做”第三专题讨论 + + + 赵老师 + + 2016-09-29 14:38:00 +
+ 学院新闻 + + 我院举行学生工作座谈会 + + + 赵老师 + + 2016-09-29 10:35:16 +
+ 学院新闻 + + 我院党总支举办学习总书记“七一”重要讲话中心组学习 + + + 赵老师 + + 2016-09-27 15:58:41 +
+ 学院新闻 + + 高子伟副校长莅临我院进行研究生招生工作调研 + + + 成老师 + + 2016-09-23 16:01:57 +
+ 学院新闻 + + 心理学院2015级泽如创新实验班开班典礼顺利举行 + + + admin + + 2016-09-22 11:21:49 +
+ 学院新闻 + + 我院召开新学期工作部署暨学术委员会选举会议 + + + 成老师 + + 2016-09-10 16:49:04 +
+ 学院新闻 + + 我院召开第十九届全国心理学学术大会筹备工作推进会议 + + + 成老师 + + 2016-09-05 08:46:50 +
+ 学院新闻 + + 我院获批6项国家自然科学基金项目与2项教育部人文社科项目 + + + 成老师 + + 2016-09-01 23:43:54 +
+ 学院新闻 + + 我院游旭群教授入选哲学社会科学领军人才 + + + admin + + 2016-09-01 23:21:29 +
+ 学院新闻 + + 我院隆重举行2016级新生开学典礼 + + + admin + + 2016-09-01 10:51:36 +
+ 学院新闻 + + 我院举行新生入学教育活动之三——心理学本科专业介绍 + + + 赵老师 + + 2016-08-26 09:39:39 +
+ 学院新闻 + + 我院举行新生入学教育活动之二——大学生职业生涯规划 + + + 赵老师 + + 2016-08-26 09:38:43 +
+ 学院新闻 + + 我院领导慰问军训师生 + + + 赵老师 + + 2016-08-21 17:11:31 +
+ 学院新闻 + + 我院举行新生入学教育系列活动之一—奋进中的陕西师范大学心理学院 + + + 赵老师 + + 2016-08-21 16:57:45 +
+ 学院新闻 + + 我院代表团精彩亮相第31届国际心理学大会 + + + 成老师 + + 2016-08-18 17:58:19 +
+ 学院新闻 + + 我院召开2016级新生家长座谈会 + + + 赵老师 + + 2016-08-18 11:57:48 +
+ 学院新闻 + + 北京市朝阳区校长后备干部高级研修项目培训班在我院举行 + + + admin + + 2016-07-21 09:34:18 +
+ 学院新闻 + + 我院2016年暑期学校课程教学圆满结束 + + + 杜老师 + + 2016-07-20 18:13:57 +
+ 学院新闻 + + 中科院心理研究所所长、中国心理学会秘书长傅小兰研究员一行来我院考察指导全国心理... + + + 成老师 + + 2016-07-17 08:06:49 +
+ 学院新闻 + + 我院召开学生管理工作推进会议 + + + 成老师 + + 2016-07-07 17:30:06 +
+ 学院新闻 + + 我院第85期心理学大讲堂圆满结束 + + + 成老师 + + 2016-07-05 11:50:42 +
+ 学院新闻 + + 我院第84期心理学大讲堂圆满结束 + + + 成老师 + + 2016-07-01 11:36:36 +
+ 学院新闻 + + 我院本科生何景怡获美国名校全奖博士录取 + + + 赵老师 + + 2016-06-30 10:42:54 +
+ 学院新闻 + + 我院召开2015-2016学年第二学期期末考试工作会议 + + + 杜老师 + + 2016-06-27 16:17:24 +
+ 学院新闻 + + 甘肃省庆阳市心理健康教育教师培训班圆满结束 + + + 成老师 + + 2016-06-23 16:28:45 +
+ 学院新闻 + + “‘丝绸之路经济带’建设背景下西部教育改革与创新”研讨会在我校圆满召开 + + + 成爱军 + + 2016-06-22 17:05:05 +
+ 学院新闻 + + “癌症患者心理护理需求及其变化模式”联合科研启动会在陕西省肿瘤医院举行 + + + 董老师 + + 2016-06-14 09:35:20 +
+ 学院新闻 + + 守纪律,讲规矩做合格的共产党员——我院举办两学一做专题党课 + + + 赵老师 + + 2016-06-14 08:56:26 +
+ 学院新闻 + + 我院学生参加第十九届“外研社杯”大学生英语辩论赛全国总决赛取得优异成绩 + + + 赵老师 + + 2016-06-07 09:23:04 +
+ 学院新闻 + + 我院发展与应用心理学、基础心理学教工党支部开展“两学一做”专题学习 + + + 赵老师 + + 2016-05-30 17:23:16 +
+ 学院新闻 + + 我院开展“两学一做”学习教育专题报告 + + + 赵老师 + + 2016-05-30 10:49:29 +
+ 学院新闻 + + 我院2015级研究生党支部开展“两学一做”第二专题学习 + + + 赵老师 + + 2016-05-27 09:16:55 +
+ 学院新闻 + + 甘肃省庆阳市心理健康教育教师培训班在我院开班 + + + 成老师 + + 2016-05-26 15:30:42 +
+ 学院新闻 + + 我院成功举办“学校情境中儿童心理发展跨文化研究”学术研讨会 + + + 杜老师 + + 2016-05-26 09:51:54 +
+ 学院新闻 + + 陕西省行为与认知神经科学重点实验室开展心理科普活动 + + + 成老师 + + 2016-05-25 14:59:38 +
+ 学院新闻 + + 我院党总支中心组开展“两学一做”专题学习 + + + 赵老师 + + 2016-05-24 17:11:26 +
+ 学院新闻 + + 我院第83期心理学大讲堂圆满结束 + + + 成老师 + + 2016-05-19 08:27:20 +
+ 学院新闻 + + 我院行政教职工党支部召开“两学一做”第一专题学习讨论会 + + + 赵老师 + + 2016-05-17 16:09:06 +
+ 学院新闻 + + 心理学博士后科研流动站4名博士后获得博士后科学基金第59批面上资助项目 + + + 成老师 + + 2016-05-14 16:49:35 +
+ 学院新闻 + + 我院第82期心理学大讲堂圆满结束 + + + 成老师 + + 2016-05-10 22:54:16 +
+ 学院新闻 + + 我院王勇慧教授一行参加第五届国际心理学应用及趋势会议 + + + 成老师 + + 2016-05-10 08:55:10 +
+ 学院新闻 + + 我院召开“两学一做”学习教育动员大会 + + + 赵老师 + + 2016-05-06 10:28:04 +
+ 学院新闻 + + 我院召开参加全全国第四轮学科评估工作部署会议 + + + 成老师 + + 2016-05-05 08:56:42 +
+ 学院新闻 + + 我院成功实现与国际知名大学远程同步课堂教学 + + + 杜老师 + + 2016-05-03 11:07:22 +
+ 学院新闻 + + 我院一门教师教育国家级精品资源共享课已上线“爱课程网” + + + 成老师 + + 2016-04-20 18:16:10 +
+ 学院新闻 + + 我院教职工积极参加2016年校运动会 + + + 成老师 + + 2016-04-20 17:28:55 +
+ 学院新闻 + + 我院第81期心理学大讲堂圆满结束 + + + 成老师 + + 2016-04-15 15:17:01 +
+ 学院新闻 + + 我院召开2016年第二次人才引进与师资补充考核会议 + + + 成老师 + + 2016-04-14 15:14:09 +
+ 学院新闻 + + 心理学院党总支召开换届选举大会选举产生新一届党总支委员 + + + 赵老师 + + 2016-03-24 16:03:44 +
+ 学院新闻 + + 我院召开师资补充答辩报告会议 + + + 成老师 + + 2016-03-11 11:37:05 +
+ 学院新闻 + + 我院召开优秀青年科学基金申报答辩会议 + + + 成老师 + + 2016-03-08 17:24:24 +
+ 学院新闻 + + 中国科学院心理研究所蒋毅研究员做客我院第80期心理学大讲堂 + + + admin + + 2016-03-08 16:21:37 +
+ 学院新闻 + + 党委组织部来我院调研基层党建工作 + + + 赵老师 + + 2016-03-07 15:23:37 +
+ 学院新闻 + + 教务处李贵安处长一行来我院走访调研 + + + 成老师 + + 2016-03-03 16:01:57 +
+ 学院新闻 + + 我院召开2016年工作部署会议 + + + 成老师 + + 2016-03-03 10:50:29 +
+ 学院新闻 + + 我校党委书记甘晖一行莅临我院检查指导工作 + + + 成老师 + + 2016-02-23 22:59:45 +
+ 学院新闻 + + 我院“心理学虚拟仿真实验教学中心”获批为国家级虚拟仿真实验教学中心 + + + 董老师 + + 2016-02-20 11:51:23 +
+ 学院新闻 + + 陕西省行为与认知神经科学重点实验室召开建设与学术研讨会 + + + 成老师 + + 2016-02-19 09:46:26 +
+ 学院新闻 + + 爱尔兰国立大学Brian Hughes教授做客我院第79期心理学大讲堂 + + + 成老师 + + 2016-02-01 14:48:43 +
+ 学院新闻 + + 我院青年师生学术沙龙第十六期圆满结束 + + + 成老师 + + 2016-01-13 09:34:58 +
+ 学院新闻 + + 我院党总支召开“三严三实”专题民主生活会 + + + 董老师 + + 2016-01-07 15:28:58 +
+ 学院新闻 + + 我院召开2015-2016学年第一学期期末考试工作会议 + + + admin + + 2015-12-29 11:01:48 +
+ 学院新闻 + + 我院青年师生学术沙龙第十五期圆满结束 + + + 董老师 + + 2015-12-24 16:21:21 +
+ 学院新闻 + + 我院青年师生学术沙龙第十四期圆满举行 + + + 董老师 + + 2015-12-21 17:15:06 +
+ 学院新闻 + + 陕西省2015年秋季“领导干部心理素质提升”专题培训班学员来我院参观座谈 + + + admin + + 2015-12-21 17:09:04 +
+ 学院新闻 + + 我院举办的“西安市雁塔区2015年心理健康教育教师培训班”圆满结束 + + + admin + + 2015-12-21 17:04:10 +
+ 学院新闻 + + 我院青年师生学术沙龙第十三期圆满结束 + + + admin + + 2015-12-21 17:02:43 +
+ 学院新闻 + + 中国东方航空股份有限公司与我校合作开展的飞行员心理援助项目启动 + + + admin + + 2015-12-21 17:00:55 +
+ 学院新闻 + + 我院青年师生学术沙龙第十二期圆满举行 + + + admin + + 2015-12-21 16:59:02 +
+ 学院新闻 + + 我院第78期心理学大讲堂圆满结束 + + + admin + + 2015-12-21 16:57:17 +
+ 学院新闻 + + 我院青年师生学术沙龙第十一期圆满举行 + + + admin + + 2015-12-21 16:55:17 +
+ 学院新闻 + + 中国心理学会教育心理学专业委员会2015年学术研讨及工作会议在我校召开 + + + admin + + 2015-11-19 19:28:44 +
+ 学院新闻 + + 我院青年师生学术沙龙第十期圆满举行 + + + admin + + 2015-11-11 09:00:44 +
+ 学院新闻 + + 我院王勇慧教授赴美国北佛罗里达大学进行学术交流 + + + admin + + 2015-11-09 09:19:28 +
+ 学院新闻 + + 第八届青年教师教学基本功大赛学院预赛圆满举行 + + + admin + + 2015-11-09 09:13:59 +
+ 学院新闻 + + 陕西师范大学心理学院第七期党课培训第二讲顺利进行 + + + + + 2015-11-07 17:26:50 +
+ 学院新闻 + + 我院举办第七期党校开学典礼 + + + admin + + 2015-11-04 15:37:06 +
+ 学院新闻 + + 心理学院举办2016届毕业生就业动员大会 + + + admin + + 2015-11-03 10:09:24 +
+ 学院新闻 + + 澳大利亚心理学会主席Michael Kyrios教授做客我院第77期心理学大讲堂 + + + admin + + 2015-11-02 14:40:51 +
+ 学院新闻 + + 社科处马瑞映处长莅临我院作关于国家社科基金申请的报告 + + + admin + + 2015-11-02 10:29:30 +
+ 学院新闻 + + 我院第76期心理学大讲堂圆满结束 + + + admin + + 2015-11-01 17:12:12 +
+ 学院新闻 + + 中科院心理所杨玉芳研究员做客我院第75期心理学大讲堂 + + + admin + + 2015-11-01 16:57:09 +
+ 学院新闻 + + 2013级应用心理学班召开学风建设主题班会 + + + admin + + 2015-10-26 11:45:57 +
+ 学院新闻 + + 我院领导看望并慰问实习学生 + + + admin + + 2015-10-26 08:49:17 +
+ 学院新闻 + + 2013级心理学一班召开“学风建设”主题班会 + + + admin + + 2015-10-26 08:42:56 +
+ 学院新闻 + + 我院举办北京市朝阳区2015年骨干教师高级研修项目培训班 + + + admin + + 2015-10-23 16:35:49 +
+ 学院新闻 + + 心理学院召开迎接陕西省高校巡视诊断动员大会 + + + admin + + 2015-10-23 14:24:44 +
+ 学院新闻 + + 心理学院党总支召开“三严三实”第二专题研讨会 + + + admin + + 2015-10-23 09:01:47 +
+ 学院新闻 + + 蓝月亮2016校园招聘简章 + + + admin + + 2015-10-21 16:19:24 +
+ 学院新闻 + + 唱响红色旋律,显我学子风范 + + + admin + + 2015-10-21 09:26:02 +
+ 学院新闻 + + 我院心理学大讲堂第74期学术报告圆满结束 + + + admin + + 2015-10-19 11:24:05 +
+ 学院新闻 + + 陕西秦盾爆破技术培训中心招聘启事 + + + admin + + 2015-10-09 11:39:18 +
+ 学院新闻 + + 我院召开迎接陕西高校巡视诊断工作动员部署会议 + + + admin + + 2015-09-30 14:31:38 +
+ 学院新闻 + + 我院院长王振宏教授应邀参加第十九届欧洲认知心理学大会 + + + admin + + 2015-09-24 15:16:08 +
+ 学院新闻 + + 我院多项科研成果近期在国际心理学SSCI/SCI顶级期刊发表 + + + admin + + 2015-09-17 15:30:18 +
+ 学院新闻 + + 我院召开2016年推荐免试攻读硕士研究生说明会 + + + admin + + 2015-09-17 08:45:02 +
+ 学院新闻 + + 我院召开2015年新学期工作部署会议 + + + admin + + 2015-09-10 09:47:47 +
+ 学院新闻 + + 心理学院举办2015级研究生新生见面会既入学教育 + + + admin + + 2015-09-02 10:58:13 +
+ 学院新闻 + + 我院赵晶晶博士获2015年国际精神疾病基因协会优秀青年科学研究者奖 + + + admin + + 2015-08-30 08:45:17 +
+ 学院新闻 + + 我院李彩娜副教授实验团队研究成果被国际著名期刊录用 + + + admin + + 2015-08-30 08:29:31 +
+ 学院新闻 + + 萧正洪副校长参加我院 “三严三实”专题研讨会 + + + admin + + 2015-07-15 14:54:19 +
+ 学院新闻 + + 我院游旭群教授主持的教育部哲学社会科学重大课题攻关项目取得突破性成果 + + + admin + + 2015-07-09 09:15:42 +
+ 学院新闻 + + 我院本科生党支部举行“三严三实”联系支部主题学习活动——人民日报“读报用报”学... + + + admin + + 2015-07-03 10:46:57 +
+ 学院新闻 + + 我院全面落实处级干部联系基层制度 + + + admin + + 2015-07-03 10:40:27 +
+ 学院新闻 + + 我院举行“三严三实”教育专题党课 + + + admin + + 2015-06-30 18:09:44 +
+ 学院新闻 + + 我院青年教师陈煦海副教授研究组揭示跨通道情绪变化的整合加工机制 + + + admin + + 2015-06-29 11:43:34 +
+ 学院新闻 + + 我院游旭群教授团队的研究成果被国际著名教师教育研究期刊录用 + + + admin + + 2015-06-26 10:06:24 +
+ 学院新闻 + + 我院首位留学生顺利通过博士论文答辩并获得理学博士学位 + + + admin + + 2015-06-19 16:54:37 +
+ 学院新闻 + + 我院青年师生学术沙龙第九期圆满结束 + + + admin + + 2015-06-10 08:58:51 +
+ 学院新闻 + + 我院心理学大讲堂第73期学术报告圆满结束 + + + admin + + 2015-06-01 14:57:57 +
+ 学院新闻 + + 密西根大学Cortina教授为我院师生做出国留学程序宣讲 + + + admin + + 2015-06-01 14:57:19 +
+ 学院新闻 + + 萧正洪副校长莅临我院与我院师生代表座谈 + + + admin + + 2015-06-01 11:52:23 +
+ 学院新闻 + + 我院心理学大讲堂第72期学术报告暨引进人才考核会议圆满结束 + + + admin + + 2015-06-01 11:33:17 +
+ 学院新闻 + + 我院心理学大讲堂第71期学术报告圆满结束 + + + admin + + 2015-05-29 08:49:19 +
+ 学院新闻 + + 我院青年师生学术沙龙第八期圆满举行 + + + admin + + 2015-05-28 10:33:44 +
+ 学院新闻 + + “领导干部心理素质提升”专题培训班学员来我院参观座谈 + + + admin + + 2015-05-25 14:46:07 +
+ 学院新闻 + + 我院举办第六届与美国密歇根大学交流活动 + + + admin + + 2015-05-22 11:04:49 +
+ 学院新闻 + + 心理学院召开毕业生相关工作说明会 + + + admin + + 2015-05-21 14:24:35 +
+ 学院新闻 + + 我院举办本科生就业工作推进会 + + + admin + + 2015-05-20 15:26:05 +
+ 学院新闻 + + 中国航天员科研训练中心吴斌主任一行访问我院 + + + admin + + 2015-05-18 20:52:58 +
+ 学院新闻 + + 我院心理学大讲堂第70期学术报告圆满结束 + + + admin + + 2015-05-15 15:44:40 +
+ 学院新闻 + + 我院荣获 “学院文化建设先进单位”称号 + + + admin + + 2015-05-14 16:56:51 +
+ 学院新闻 + + 《心理科学》第六次主编扩大会议暨2014—2017届编委会第二次会议在我校召开 + + + admin + + 2015-04-30 15:16:02 +
+ 学院新闻 + + 中科院心理所杨玉芳研究员做客我院第69期心理学大讲堂 + + + admin + + 2015-04-30 15:15:16 +
+ 学院新闻 + + 我院心理学大讲堂第68期学术报告圆满结束 + + + admin + + 2015-04-30 15:14:22 +
+ 学院新闻 + + 我院心理学大讲堂第67期学术报告圆满举行 + + + admin + + 2015-04-30 15:13:04 +
+ 学院新闻 + + 莫雷教授做客我院第66期心理学大讲堂 + + + admin + + 2015-04-30 15:10:16 +
+ 学院新闻 + + 我院心理学大讲堂第65期学术报告圆满举行 + + + admin + + 2015-04-30 15:08:27 +
+ 学院新闻 + + 我院青年师生学术沙龙第七期圆满举行 + + + admin + + 2015-04-29 11:21:55 +
+ 学院新闻 + + 我院召开2015年第二次教学科研人员补充考察会议 + + + admin + + 2015-04-28 16:11:49 +
+ 学院新闻 + + 校运会系列报道之三——努力创辉煌 + + + admin + + 2015-04-27 15:41:42 +
+ 学院新闻 + + 校运会系列报道之二——团结共奋进 + + + admin + + 2015-04-27 15:34:24 +
+ 学院新闻 + + 校运会系列报道之一——师生齐拼搏 + + + admin + + 2015-04-27 15:01:07 +
+ 学院新闻 + + 我院举办“诚信是否吃亏”主题辩论会 + + + admin + + 2015-04-27 14:58:09 +
+ 学院新闻 + + 齐心协力创比赛佳绩,团结拼搏展学子风采——记我院学子参加首届男子篮球联赛 + + + admin + + 2015-04-21 09:34:17 +
+ 学院新闻 + + [推荐]我院2011级学生孙鑫被评为陕西师范大学“优秀学生标兵” + + + admin + + 2015-04-21 09:30:16 +
+ 学院新闻 + + 我院举办未就业研究生座谈会 + + + admin + + 2015-04-16 08:47:18 +
+ 学院新闻 + + 我院举办本科生培养方案修订座谈会 + + + admin + + 2015-04-14 11:35:52 +
+ 学院新闻 + + 中国科学院心理所傅小兰研究员做客我院第64期心理学大讲堂 + + + admin + + 2015-04-14 08:53:52 +
+ 学院新闻 + + 我院举办未就业本科毕业生帮扶会议 + + + admin + + 2015-04-10 15:09:00 +
+ 学院新闻 + + 我院举办2015年运动会动员大会 + + + admin + + 2015-04-02 18:04:12 +
+ 学院新闻 + + 我院心理学大讲堂第63期学术报告圆满举行 + + + admin + + 2015-03-30 15:43:34 +
+ 学院新闻 + + 我院召开人才引进与师资补充考核会议 + + + admin + + 2015-03-27 13:31:13 +
+ 学院新闻 + + 我院召开2015年工作部署会议 + + + admin + + 2015-03-19 10:25:54 +
+ 学院新闻 + + 我院心理学大讲堂第62期学术报告圆满举行 + + + admin + + 2015-03-16 20:13:34 +
+ 学院新闻 + + 奕阳教育来我院招聘毕业生 + + + admin + + 2015-03-16 14:59:23 +
+ 学院新闻 + + 我院召开2015年国家社科基金项目初评会议 + + + admin + + 2015-02-02 16:55:42 +
+ 学院新闻 + + 德国洪堡大学Werner Sommer教授作客第61期心理学大讲堂 + + + admin + + 2015-02-02 16:53:17 +
+ 学院新闻 + + 陕西省心理学会第七次会员代表大会在我校召开 + + + admin + + 2015-02-02 16:32:44 +
+ 学院新闻 + + 我院举办中学教师教育能力促进培训班圆满结束 + + + admin + + 2015-01-25 22:04:55 +
+ 学院新闻 + + 我院召开二级教代会 + + + admin + + 2015-01-23 10:39:19 +
+ 学院新闻 + + 我院召开处级干部民主生活会 + + + admin + + 2015-01-21 18:40:43 +
+ 学院新闻 + + 萧正洪副校长一行来我院调研 + + + admin + + 2015-01-18 14:01:54 +
+ 学院新闻 + + 我院召开2014-2015学年第一学期期末考试工作会议 + + + admin + + 2015-01-17 11:08:45 +
+ 学院新闻 + + 郑州幼儿师范高等专科学校公开招聘心理健康教育教师 + + + admin + + 2015-01-05 11:15:09 +
+ 学院新闻 + + 党委副书记王涛为心理学院教职工做“新时期意识形态建设与挑战”专题报告 + + + admin + + 2014-12-26 08:49:03 +
+ 学院新闻 + + 火样的热情 飞扬的青春——我院学子参加纪念“12.9”运动暨“阳光体育”半程马... + + + admin + + 2014-12-11 11:13:06 +
+ 学院新闻 + + 长江大学外国语学院来我院招聘毕业生 + + + admin + + 2014-12-04 11:56:26 +
+ 学院新闻 + + 我院70周年校庆系列学术活动之名家讲坛(十)暨心理学大讲堂第60期学术报告圆满... + + + admin + + 2014-12-02 10:09:18 +
+ 学院新闻 + + 我院70周年校庆系列学术活动之青年师生学术沙龙第六期圆满举行 + + + admin + + 2014-12-01 14:46:57 +
+ 学院新闻 + + 苏宁云商1200营销管理培训生招聘简章 + + + admin + + 2014-11-25 14:48:27 +
+ 学院新闻 + + 我院70周年校庆系列学术活动之青年师生第五期学术沙龙圆满举行 + + + admin + + 2014-11-14 19:36:24 +
+ 学院新闻 + + 就业信息发布:陕西省房地产研究会招聘简介 + + + admin + + 2014-11-13 09:21:23 +
+ 学院新闻 + + 我院召开校内收入分配制度调整通报会议 + + + admin + + 2014-11-12 11:36:38 +
+ 学院新闻 + + 再勉学路,启立职场——心理学院2012级本科生学风建设系列活动之一保研考研交流会 + + + admin + + 2014-11-11 15:49:35 +
+ 学院新闻 + + “时代心理”来我院招聘毕业生 + + + admin + + 2014-11-11 09:47:57 +
+ 学院新闻 + + 改变自我 创造未来——心理学院2012级本科生学风建设主题班会 + + + admin + + 2014-11-07 14:50:03 +
+ 学院新闻 + + 心理学院70周年校庆系列学术活动之校友讲坛(五)暨心理学大讲堂第59期学术报告... + + + admin + + 2014-11-07 11:37:56 +
+ 学院新闻 + + 时代心理2014招聘计划 + + + admin + + 2014-11-07 10:52:27 +
+ 学院新闻 + + 陕西省科技厅副书记张书玲一行到心理学院进行立项考察 + + + admin + + 2014-11-03 15:47:12 +
+ 学院新闻 + + 心理学院召开学生党支部委员业务知识培训会议 + + + admin + + 2014-10-31 09:46:01 +
+ 学院新闻 + + 我院举办2015届本科毕业生实习总结暨就业动员大会 + + + admin + + 2014-10-30 18:39:10 +
+ 学院新闻 + + 心理学院举办2015届研究生毕业生就业动员大会 + + + admin + + 2014-10-28 10:37:24 +
+ 学院新闻 + + 我院70周年校庆系列学术活动之名家讲坛(九)暨心理学大讲堂第58期学术报告圆满... + + + admin + + 2014-10-27 17:32:50 +
+ 学院新闻 + + 我院70周年校庆系列学术活动之青年师生第四期学术沙龙圆满举行 + + + admin + + 2014-10-27 17:30:22 +
+ 学院新闻 + + 我院召开学生会成立暨工作方法研讨会 + + + admin + + 2014-10-24 15:41:16 +
+ 学院新闻 + + 心理学院70周年校庆系列学术活动之校友讲坛(四)暨第57期心理学大讲堂学术报告... + + + admin + + 2014-10-22 11:57:01 +
+ 学院新闻 + + 我院师生积极参加中国心理学会第十七届全国心理学学术大会 + + + admin + + 2014-10-20 11:43:17 +
+ 学院新闻 + + 心理学院70周年校庆系列学术活动之名家讲坛(八)暨第56期心理学大讲堂圆满成功 + + + admin + + 2014-10-20 09:37:08 +
+ 学院新闻 + + [图文]我院游旭群教授当选中国心理学会理事长 + + + admin + + 2014-10-15 09:04:12 +
+ 学院新闻 + + 我院举行庆祝建校七十周年学院与学科发展座谈会 + + + admin + + 2014-10-14 11:06:31 +
+ 学院新闻 + + 心理学院70周年校庆系列学术活动之名家讲坛(七)暨心理学大讲堂第55期学术报告... + + + admin + + 2014-09-25 18:07:50 +
+ 学院新闻 + + 我院70周年校庆系列学术活动之青年师生第三期学术沙龙圆满举行 + + + admin + + 2014-09-25 17:42:28 +
+ 学院新闻 + + 我院举行70周年校庆系列学术活动之名家讲坛(六)暨心理学大讲堂第54期学术报告... + + + admin + + 2014-09-25 16:10:42 +
+ 学院新闻 + + 我院举行70周年校庆系列学术活动之名家讲坛(五)暨心理学大讲堂第53期学术报告 + + + admin + + 2014-09-25 11:48:40 +
+ 学院新闻 + + 国家能源新材料技术研发中心中物功能材料研究院有限公司董事长一行访问心理学院 + + + admin + + 2014-09-22 11:14:34 +
+ 学院新闻 + + 我院举行70周年校庆系列学术活动之校友讲坛(三)暨心理学大讲堂第52期学术报告 + + + admin + + 2014-09-18 11:06:41 +
+ 学院新闻 + + 我院2012级应用心理班召开班委换届主题班会 + + + admin + + 2014-09-16 11:39:21 +
+ 学院新闻 + + 我院召开2014-2015学年第一学期工作部署会议 + + + admin + + 2014-09-16 07:58:09 +
+ 学院新闻 + + 我院召开2014级研究生迎新大会 + + + admin + + 2014-09-15 11:45:51 +
+ 学院新闻 + + 我院召开2015年本科生推免工作动员会 + + + admin + + 2014-09-09 17:44:34 +
+ 学院新闻 + + 2014年我院暑期学校课程教学圆满结束 + + + admin + + 2014-07-22 15:41:36 +
+ 学院新闻 + + 我院举行70周年校庆系列学术活动之名家讲坛(四)暨心理学大讲堂第51期学术报告 + + + admin + + 2014-07-08 17:37:28 +
+ 学院新闻 + + 我院举行70年校庆系列学术活动之第二期青年师生学术沙龙 + + + admin + + 2014-07-08 17:33:22 +
+ 学院新闻 + + 我院举行70周年校庆系列学术活动之青年师生学术沙龙第一期预告 + + + admin + + 2014-07-08 17:31:17 +
+ 学院新闻 + + 我院基层党建工作取得可喜成绩 + + + admin + + 2014-07-01 17:33:24 +
+ 学院新闻 + + 有梦,就能梦成真 + + + admin + + 2014-06-26 17:30:12 +
+ 学院新闻 + + 我院举行70周年校庆系列学术活动之校友讲坛(二)暨心理学大讲堂第50期学术报告 + + + admin + + 2014-06-23 08:21:38 +
+ 学院新闻 + + 我院举行70周年校庆系列学术活动之校友讲坛(一)暨心理学大讲堂第49期学术报告 + + + admin + + 2014-06-20 10:27:19 +
+ 学院新闻 + + 我院举行70周年校庆系列学术活动之教授讲坛(二) 暨心理学大讲堂第48期学术报告 + + + admin + + 2014-06-19 10:11:49 +
+ 学院新闻 + + 程光旭校长一行莅临我院调研与指导工作 + + + admin + + 2014-06-15 16:14:18 +
+ 学院新闻 + + 学院举行70周年校庆系列学术活动之教授讲坛(一)暨心理学大讲堂第47期学术报告 + + + admin + + 2014-06-12 16:54:55 +
+ 学院新闻 + + 我院博士、硕士研究生学位毕业论文答辩圆满结束 + + + admin + + 2014-06-12 16:49:30 +
+ 学院新闻 + + 我院举行70周年校庆之本科教学学术交流活动 + + + admin + + 2014-06-11 20:15:42 +
+ 学院新闻 + + 我院举办2011级本科生考研就业经验交流会 + + + admin + + 2014-06-09 09:18:32 +
+ 学院新闻 + + 七十周年校庆心理学院系列学术活动开幕式隆重举行 + + + admin + + 2014-05-30 16:50:09 +
+ 学院新闻 + + 我校教育学院师生参观我院心理学实验室 + + + admin + + 2014-05-27 10:34:48 +
+ 学院新闻 + + 美国密西根大学Miller教授为我院本科生讲授 “教育心理学” + + + admin + + 2014-05-19 10:44:50 +
+ 学院新闻 + + 我院召开诚信教育主题班会 + + + admin + + 2014-05-08 15:47:35 +
+ 学院新闻 + + 杜鹏教授做客第43期心理学大讲堂 + + + admin + + 2014-04-30 10:45:32 +
+ 学院新闻 + + 我院王勇慧教授及博士生赵亮赴欧洲进行学术交流 + + + admin + + 2014-04-22 11:50:15 +
+ 学院新闻 + + 我院教职员工积极参加学校春季运动会 + + + admin + + 2014-04-21 10:58:57 +
+ 学院新闻 + + 心理学院研究生国家奖学金评选程序及评选细则 + + + admin + + 2014-04-14 15:17:38 +
+ 学院新闻 + + 心理学院研究生奖学金评选实施办法 + + + admin + + 2014-04-14 15:14:40 +
+ 学院新闻 + + 西安市第三中学来我院招聘毕业生 + + + admin + + 2014-04-11 14:58:53 +
+ 学院新闻 + + 余嘉元教授作客第42期心理学大讲堂 + + + admin + + 2014-04-01 15:42:05 +
+ 学院新闻 + + 我院召开党的群众路线教育实践活动总结大会 + + + admin + + 2014-03-25 09:06:06 +
+ 学院新闻 + + 我院2014年工作部署会议召开 + + + admin + + 2014-02-24 11:17:13 +
+ 学院新闻 + + 校党委书记甘晖一行到我院检查、调研开学各项工作运行情况 + + + admin + + 2014-02-18 11:24:30 +
+ 学院新闻 + + 我院王振宏教授团队的研究成果被国际顶级心理学期刊录用 + + + admin + + 2014-02-16 21:21:01 +
+ 学院新闻 + + 我院举行国家自然科学基金、国家社会科学基金项目申报交流研讨会 + + + admin + + 2014-02-09 10:58:06 +
+ 学院新闻 + + 游旭群教授主持的教育部哲学社会科学重大招标课题研究进展研讨会如期举行 + + + admin + + 2014-01-24 10:54:16 +
+ 学院新闻 + + 我院游旭群教授被聘为《心理学报》副主编 + + + admin + + 2014-01-22 18:05:58 +
+ 学院新闻 + + 心理学大讲堂第41期学术报告圆满结束 + + + admin + + 2014-01-13 08:55:27 +
+
+ + +
+ + + + + + + + + +
+
+ + + diff --git a/test/html/snnu_psych_notice.html b/test/html/snnu_psych_notice.html new file mode 100644 index 0000000..31070bd --- /dev/null +++ b/test/html/snnu_psych_notice.html @@ -0,0 +1,6237 @@ + + + + + 陕西师范大学心理学院 + + + + + + + + +
+
+ + +
+ +
+ 当前位置: 首页 > 通知公告 +
+ +
+ 日期范围: + + 至 + + +      + + 标题: + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 类型 + + 标题 + + 发布人 + + 发布时间 +
+ 通知公告 + + 泽如心理学创新实验班系列讲座(十二)预告 + + + 杜娟 + + 2018-11-28 11:48:39 +
+ 通知公告 + + 心理学院 2018年专业技术职务任职资格初审结果公示 + + + 董增云 + + 2018-11-20 17:35:27 +
+ 通知公告 + + 泽如心理学创新实验班系列讲座(十一)预告 + + + 杜娟 + + 2018-11-07 11:34:31 +
+ 通知公告 + + 心理学院2018年国庆节值班安排表 + + + 成爱军 + + 2018-09-28 11:06:55 +
+ 通知公告 + + 陕西师范大学第三届“曲江学者论坛”之“青年学者论坛”分论坛预告 + + + 雷萍 + + 2018-09-21 21:06:15 +
+ 通知公告 + + 心理学院2019年接收优秀应届生 推荐免试攻读硕士生招生办法 + + + 雷萍 + + 2018-09-20 15:39:32 +
+ 通知公告 + + 2018年中秋节值班安排表 + + + 成爱军 + + 2018-09-18 10:36:46 +
+ 通知公告 + + 心理学院2019年免试攻读硕士学位研究生拟推荐名单公示 + + + 董增云 + + 2018-09-14 07:51:59 +
+ 通知公告 + + 关于举行我院2018级新生开学典礼的通知 + + + 李奕伯 + + 2018-09-13 09:14:59 +
+ 通知公告 + + 心理学大讲堂第118期学术报告预告 + + + admin + + 2018-09-12 08:55:48 +
+ 通知公告 + + 64导脑电记录系统(XX180065)采购结果公告 + + + + + 2018-07-30 17:22:58 +
+ 通知公告 + + 行为数据集成采集与分析系统(XX180063)采购结果公告 + + + 成爱军 + + 2018-07-30 16:38:59 +
+ 通知公告 + + 公 示 + + + 成爱军 + + 2018-07-29 16:39:14 +
+ 通知公告 + + 2018年中芬联合学习创新研究院“未来学习创新人才”论坛通知 + + + 成爱军 + + 2018-07-29 16:36:49 +
+ 通知公告 + + 2018年第二届全国工程心理学学术年会会议通知(第二轮) + + + 成爱军 + + 2018-07-26 15:55:30 +
+ 通知公告 + + 关于举办第三届“曲江学者论坛”暨陕西省“丝绸之路青年学者论坛”分论坛的通知 + + + 董增云 + + 2018-07-13 17:07:55 +
+ 通知公告 + + 64导脑电记录系统(XX180065)采购公告 + + + 成爱军 + + 2018-07-13 11:26:58 +
+ 通知公告 + + 行为数据集成采集与分析系统(XX180063)采购公告 + + + 成爱军 + + 2018-07-12 17:27:06 +
+ 通知公告 + + 关于2018年心理学院研究生创新项目中期考核及结项工作结果公布 + + + 雷萍 + + 2018-07-12 11:38:00 +
+ 通知公告 + + 关于2018年心理学院研究生创新项目评选结果的公示 + + + 雷萍 + + 2018-07-12 11:15:42 +
+ 通知公告 + + FMS无创血流动力学系统(XX180055)采购结果公告 + + + 成爱军 + + 2018-07-11 17:18:44 +
+ 通知公告 + + 关于首届“陕西师范大学教书育人奖”拟推荐人选的公示 + + + 2007042 + + 2018-07-11 16:19:18 +
+ 通知公告 + + 心理学大讲堂第117期学术报告预告 + + + 李奕伯 + + 2018-06-28 09:52:05 +
+ 通知公告 + + 心理学大讲堂第116期学术报告预告 + + + 成爱军 + + 2018-06-23 20:14:20 +
+ 通知公告 + + 公 示 + + + 成爱军 + + 2018-06-21 10:32:32 +
+ 通知公告 + + FMS无创血流动力学系统采购(XX180055)公告 + + + 成爱军 + + 2018-06-20 21:16:39 +
+ 通知公告 + + 心理学大讲堂第115期学术报告预告 + + + 李奕伯 + + 2018-06-20 08:27:55 +
+ 通知公告 + + 2018年端午节值班安排表 + + + 成爱军 + + 2018-06-15 11:30:53 +
+ 通知公告 + + 心理学院关于评选2017-2018学年度优秀研究生、 优秀毕业研究生、优秀研究... + + + 2007042 + + 2018-06-14 10:00:33 +
+ 通知公告 + + 关于对2018年度宝钢教育奖候选人(优秀研究生)评选结果公示的通知 + + + 2007042 + + 2018-06-14 09:56:23 +
+ 通知公告 + + 眼动追踪系统(XX180047)采购结果公告 + + + 成爱军 + + 2018-06-13 16:41:29 +
+ 通知公告 + + 心理学大讲堂第114期学术报告预告 + + + 李奕伯 + + 2018-06-11 10:17:41 +
+ 通知公告 + + 眼动追踪系统(XX180040)采购结果公告 + + + 成爱军 + + 2018-06-06 17:18:48 +
+ 通知公告 + + 心理学大讲堂第113期学术报告预告 + + + 李奕伯 + + 2018-06-06 09:05:15 +
+ 通知公告 + + 心理学大讲堂第112期学术报告预告 + + + 李奕伯 + + 2018-06-01 10:53:55 +
+ 通知公告 + + 陕西师范大学眼动追踪系统(XX180047)采购公告 + + + 成爱军 + + 2018-05-29 16:11:08 +
+ 通知公告 + + 陕西师范大学眼动追踪系统(XX180040)采购公告(二次) + + + 成爱军 + + 2018-05-17 15:31:42 +
+ 通知公告 + + 眼动追踪系统采购项目(XX180040)流标公告 + + + 成爱军 + + 2018-05-17 15:25:04 +
+ 通知公告 + + 心理学大讲堂第111期学术报告预告 + + + 李奕伯 + + 2018-05-17 08:56:54 +
+ 通知公告 + + 心理学大讲堂第110期学术报告预告 + + + 成爱军 + + 2018-05-10 08:30:13 +
+ 通知公告 + + 心理学大讲堂第109期学术报告预告 + + + 成爱军 + + 2018-05-08 09:12:41 +
+ 通知公告 + + 心理学大讲堂第108期学术报告预告 + + + admin + + 2018-05-08 09:10:48 +
+ 通知公告 + + 心理学大讲堂第107期学术报告预告 + + + 成爱军 + + 2018-05-04 18:11:11 +
+ 通知公告 + + 心理学大讲堂第106期学术报告预告 + + + admin + + 2018-05-04 18:10:32 +
+ 通知公告 + + 心理学大讲堂第105期学术报告预告 + + + admin + + 2018-05-04 18:09:43 +
+ 通知公告 + + 关于2018年心理学院研究生创新项目中期检查及结题工作的通知 + + + 雷萍 + + 2018-04-28 17:34:52 +
+ 通知公告 + + 关于申报2018年心理学院研究生创新项目的通知 + + + 雷萍 + + 2018-04-28 17:19:05 +
+ 通知公告 + + 陕西师范大学眼动追踪系统(XX180040)采购公告 + + + 成爱军 + + 2018-04-25 15:42:58 +
+ 通知公告 + + 2018年劳动节值班安排表 + + + 成爱军 + + 2018-04-24 16:15:03 +
+ 通知公告 + + 人格与社会心理学课程系列讲座预告 + + + 成爱军 + + 2018-04-16 21:29:23 +
+ 通知公告 + + 2018年清明节值班安排表 + + + 成爱军 + + 2018-04-04 15:08:43 +
+ 通知公告 + + 心理学大讲堂第104期学术报告预告 + + + 成爱军 + + 2018-04-02 14:57:46 +
+ 通知公告 + + 心理学院2018年接收非全日制专业学位心理健康教育专业 硕士研究生调剂公告 + + + 雷萍 + + 2018-03-27 11:30:06 +
+ 通知公告 + + 2018年硕士研究生招生考试复试计划 + + + 雷萍 + + 2018-03-24 18:30:11 +
+ 通知公告 + + 陕西师范大学心理学院2018年教师岗位招聘公告 + + + 董增云 + + 2018-03-08 16:34:07 +
+ 通知公告 + + 心理学大讲堂第103期学术报告预告 + + + 成爱军 + + 2018-03-08 09:17:45 +
+ 通知公告 + + 心理学院2018年接收硕士研究生优秀生源调剂公告 + + + 雷萍 + + 2018-03-06 08:51:36 +
+ 通知公告 + + 心理学大讲堂第102期学术报告预告 + + + admin + + 2018-01-18 15:20:45 +
+ 通知公告 + + 心理学院2017年度教职工考核拟定优秀人员公示 + + + 成老师 + + 2018-01-03 16:03:39 +
+ 通知公告 + + 2018年元旦值班安排表 + + + 成老师 + + 2017-12-29 15:32:44 +
+ 通知公告 + + 心理学大讲堂第101期学术报告预告 + + + 成爱军 + + 2017-12-19 16:46:48 +
+ 通知公告 + + 心理学大讲堂第100期学术报告预告 + + + 成老师 + + 2017-12-14 19:21:29 +
+ 通知公告 + + 心理学院青年学术沙龙第三十期预告 + + + 雷老师 + + 2017-12-13 11:39:13 +
+ 通知公告 + + 2017年职称评审心理学科评议组评审结果公示 + + + 成老师 + + 2017-12-07 09:00:36 +
+ 通知公告 + + 泽如心理学创新实验班系列讲座(十)预告 + + + 杜老师 + + 2017-12-01 09:37:37 +
+ 通知公告 + + 泽如心理学创新实验班系列讲座(九)预告 + + + 杜老师 + + 2017-12-01 09:36:38 +
+ 通知公告 + + 心理学院青年学术沙龙第二十九期预告 + + + 雷老师 + + 2017-11-29 16:42:35 +
+ 通知公告 + + 心理学院青年师生学术沙龙第二十八期预告 + + + 雷老师 + + 2017-11-23 10:58:26 +
+ 通知公告 + + 陕西师范大学第二届“曲江学者论坛”之心理学大讲堂第99期学术报告预告 + + + 成老师 + + 2017-11-15 09:20:36 +
+ 通知公告 + + 心理学院青年师生学术沙龙第二十七期预告 + + + 雷老师 + + 2017-11-14 09:27:04 +
+ 通知公告 + + 心理学院 2017年专业技术职务任职资格初审结果公示 + + + 成老师 + + 2017-11-13 15:46:46 +
+ 通知公告 + + 心理学大讲堂第98期学术报告预告 + + + 成老师 + + 2017-11-03 10:39:11 +
+ 通知公告 + + 心理学院青年师生学术沙龙第二十六期预告 + + + 雷老师 + + 2017-10-26 17:11:35 +
+ 通知公告 + + 关于对2017年研究生国家奖学金评选结果公示的通知 + + + 2007042 + + 2017-10-19 16:09:11 +
+ 通知公告 + + 关于对2017年优秀青年学术骨干资助计划拟推荐人选公示的通知 + + + 成老师 + + 2017-10-19 15:35:54 +
+ 通知公告 + + 关于对新进教师聘期考核结果公示的通知 + + + admin + + 2017-10-19 14:48:39 +
+ 通知公告 + + 心理学大讲堂第97期学术报告预告 + + + 成老师 + + 2017-10-09 11:15:58 +
+ 通知公告 + + 2017年国庆节、中秋节值班安排 + + + 成老师 + + 2017-09-27 08:57:30 +
+ 通知公告 + + 心理学院青年师生学术沙龙第二十五期预告 + + + 雷老师 + + 2017-09-19 10:54:57 +
+ 通知公告 + + 心理学院关于推荐2018年免试硕士研究生候选人的公示 + + + 2007042 + + 2017-09-15 11:06:06 +
+ 通知公告 + + 心理学院青年师生学术沙龙第二十四期预告 + + + 雷老师 + + 2017-09-13 15:35:04 +
+ 通知公告 + + 心理学大讲堂第96期学术报告预告 + + + 成老师 + + 2017-08-29 10:55:36 +
+ 通知公告 + + 心理学大讲堂第95期学术报告预告 + + + 成老师 + + 2017-08-26 10:36:55 +
+ 通知公告 + + 关于2017年心理学院研究生创新项目评选结果的公示 + + + 雷老师 + + 2017-07-10 19:23:58 +
+ 通知公告 + + 关于2017年心理学院研究生创新项目中期考核及结项工作结果公布 + + + 雷老师 + + 2017-07-10 19:17:25 +
+ 通知公告 + + 心理学院七级及以下职员职级晋升具有申报资格人员名单公示 + + + 成老师 + + 2017-07-05 10:20:18 +
+ 通知公告 + + 心理学院职员职级晋升具有申报资格人员名单公示 + + + 成老师 + + 2017-07-01 09:27:11 +
+ 通知公告 + + 心理学大讲堂第94期学术报告预告 + + + 成老师 + + 2017-06-22 08:57:36 +
+ 通知公告 + + 心理学院教师关键三级及其以下岗位拟聘人员名单公示 + + + 成老师 + + 2017-06-09 11:34:04 +
+ 通知公告 + + 心理学院教师关键三级及其以下岗位聘用具有参评资格人员名单公示 + + + 成老师 + + 2017-06-05 10:32:10 +
+ 通知公告 + + 心理学院2017年端午节值班安排表 + + + 成老师 + + 2017-05-27 23:17:16 +
+ 通知公告 + + 关于2017年心理学院研究生创新项目中期检查及结题工作的通知 + + + 雷老师 + + 2017-05-27 18:45:06 +
+ 通知公告 + + 关于申报2017年心理学院研究生创新项目的通知 + + + 雷老师 + + 2017-05-27 18:26:13 +
+ 通知公告 + + 泽如心理学创新实验班系列讲座(八)预告 + + + 杜老师 + + 2017-05-15 10:23:26 +
+ 通知公告 + + 心理学大讲堂第93期学术报告预告 + + + 成老师 + + 2017-05-12 17:16:22 +
+ 通知公告 + + 学术报告预告:The 4th Summit on Chinese Psychi... + + + 成老师 + + 2017-05-05 22:28:02 +
+ 通知公告 + + 泽如心理学创新实验班系列讲座(七)预告 + + + 杜老师 + + 2017-05-04 19:15:17 +
+ 通知公告 + + 泽如心理学创新实验班系列讲座(六)预告 + + + 杜老师 + + 2017-05-04 19:14:04 +
+ 通知公告 + + 学术讲座预告 + + + 成老师 + + 2017-05-04 15:19:47 +
+ 通知公告 + + 心理学大讲堂第92期学术报告预告 + + + 成老师 + + 2017-05-01 08:47:04 +
+ 通知公告 + + 中国心理学会普通心理学与实验心理学专业委员会 2017年学术年会志愿者名单公示 + + + 2007042 + + 2017-04-17 11:30:20 +
+ 通知公告 + + 2017年心理学院硕士复试安排 + + + 雷老师 + + 2017-03-19 17:49:37 +
+ 通知公告 + + 心理学大讲堂第91期学术报告预告 + + + admin + + 2017-03-08 15:40:25 +
+ 通知公告 + + 关于举办2017年春季陕西高校心理健康教育与咨询人才招聘会的通知 + + + admin + + 2017-03-08 09:26:00 +
+ 通知公告 + + 心理学院2017年上半年学位论文答辩工作安排 + + + 雷老师 + + 2017-03-03 23:38:47 +
+ 通知公告 + + 心理学院2017年接收硕士研究生优秀生源调剂公告 + + + 雷老师 + + 2017-03-03 17:04:39 +
+ 通知公告 + + 心理学院教师关键二级岗位推荐人选公示 + + + 成老师 + + 2017-03-02 09:59:46 +
+ 通知公告 + + 心理学院2017年教师岗位招聘公告 + + + 成老师 + + 2017-02-23 08:13:02 +
+ 通知公告 + + 公示 + + + 成老师 + + 2017-01-15 10:13:34 +
+ 通知公告 + + 心理学院2017年寒假值班安排 + + + 成老师 + + 2017-01-13 17:40:51 +
+ 通知公告 + + 心理学院2016年度教职工考核拟定优秀人员公示 + + + admin + + 2017-01-04 10:28:03 +
+ 通知公告 + + 心理学大讲堂第90期学术报告预告 + + + 成老师 + + 2016-12-26 15:36:31 +
+ 通知公告 + + 心理学院青年师生学术沙龙第二十三期预告 + + + 雷老师 + + 2016-12-22 10:28:08 +
+ 通知公告 + + 心理学院关于2016年度教职工考核工作的安排意见 + + + 成老师 + + 2016-12-21 14:53:08 +
+ 通知公告 + + 泽如心理学创新实验班系列讲座(五)预告 + + + 杜老师 + + 2016-12-20 17:19:22 +
+ 通知公告 + + 泽如心理学创新实验班系列讲座(四)预告 + + + 杜老师 + + 2016-12-19 09:08:41 +
+ 通知公告 + + 心理学院青年师生学术沙龙第二十二期预告 + + + 雷老师 + + 2016-12-15 11:18:56 +
+ 通知公告 + + 心理学科评议组评审结果公示 + + + admin + + 2016-12-10 17:24:53 +
+ 通知公告 + + 心理学大讲堂第89期学术报告预告 + + + 成老师 + + 2016-12-09 15:05:39 +
+ 通知公告 + + 心理学院青年师生学术沙龙第二十一期预告 + + + 雷老师 + + 2016-12-07 14:47:39 +
+ 通知公告 + + 关于举行2016年迎新晚会的通知 + + + admin + + 2016-12-06 16:23:47 +
+ 通知公告 + + 心理学院2015-2016学年度“优秀奖学金”获奖名单公示 + + + 赵老师 + + 2016-12-06 15:45:40 +
+ 通知公告 + + 心理学院青年师生学术沙龙第二十期预告 + + + 雷老师 + + 2016-11-28 16:50:19 +
+ 通知公告 + + 泽如心理学创新实验班系列讲座(三)预告 + + + 杜老师 + + 2016-11-23 09:59:26 +
+ 通知公告 + + 2017年密歇根大学安娜堡分校游学项目公告 + + + 杜老师 + + 2016-11-21 11:59:45 +
+ 通知公告 + + 心理学院青年师生学术沙龙第十九期预告 + + + 雷老师 + + 2016-11-16 09:29:40 +
+ 通知公告 + + 心理学院 2016年专业技术职务任职资格初审结果公示 + + + 董老师 + + 2016-11-11 10:37:30 +
+ 通知公告 + + 心理学院青年师生学术沙龙第十八期预告 + + + 雷老师 + + 2016-11-08 09:10:40 +
+ 通知公告 + + 心理学院青年师生学术沙龙第十七期预告 + + + 雷老师 + + 2016-11-03 14:22:42 +
+ 通知公告 + + 心理学大讲堂第88期学术报告预告 + + + 成老师 + + 2016-10-19 11:10:39 +
+ 通知公告 + + 心理学大讲堂第87期学术报告预告 + + + 成老师 + + 2016-10-18 10:32:49 +
+ 通知公告 + + 泽如心理学创新实验班系列讲座(一)、(二)预告 + + + 杜老师 + + 2016-10-12 17:33:49 +
+ 通知公告 + + 心理学院2017年接收推荐免试硕士生部分名额的公告 + + + 雷老师 + + 2016-10-09 15:12:37 +
+ 通知公告 + + 心理学大讲堂第86期学术报告预告 + + + 成老师 + + 2016-10-07 16:17:16 +
+ 通知公告 + + 心理学院关于推荐2017年“补偿名额”免试硕士研究生候选人的公示 + + + admin + + 2016-09-14 17:57:22 +
+ 通知公告 + + 心理学院关于推荐2017年免试硕士研究生候选人的公示 + + + admin + + 2016-09-14 17:55:45 +
+ 通知公告 + + 关于招募第十九届全国心理学学术会议志愿者的通知 + + + 赵老师 + + 2016-09-05 09:34:55 +
+ 通知公告 + + 2015级 “泽如心理学创新实验班”开班通知 + + + 杜老师 + + 2016-07-17 15:06:44 +
+ 通知公告 + + 心理学院2016年暑假值班安排 + + + 成老师 + + 2016-07-11 09:54:42 +
+ 通知公告 + + 关于2016年心理学院研究生创新项目评选结果的公示 + + + 雷老师 + + 2016-07-07 13:06:31 +
+ 通知公告 + + 心理学大讲堂第85期学术报告预告 + + + 成老师 + + 2016-06-28 16:31:11 +
+ 通知公告 + + 心理学大讲堂第84期学术报告预告 + + + 成老师 + + 2016-06-24 10:16:30 +
+ 通知公告 + + “”两学一做“学习教育”讲座预告 + + + 赵老师 + + 2016-05-25 08:02:58 +
+ 通知公告 + + 心理学大讲堂第83期学术报告预告 + + + 成老师 + + 2016-05-10 09:00:06 +
+ 通知公告 + + 心理学大讲堂第82期学术报告预告 + + + admin + + 2016-04-25 10:05:25 +
+ 通知公告 + + 关于2016年心理学院资助研究生出国学习评选结果的公示 + + + 雷老师 + + 2016-04-18 12:16:27 +
+ 通知公告 + + 心理学院2016年第二批师资补充答辩报告会预告 + + + 董老师 + + 2016-04-13 09:54:59 +
+ 通知公告 + + 心理学大讲堂第81期学术报告预告 + + + 成老师 + + 2016-04-11 08:23:46 +
+ 通知公告 + + 关于申报2016年心理学院资助研究生出国学习的通知 + + + 雷老师 + + 2016-03-30 14:18:02 +
+ 通知公告 + + 关于申报2016年心理学院研究生创新项目的通知 + + + 雷老师 + + 2016-03-29 17:20:53 +
+ 通知公告 + + 2016年心理学院优秀生源调剂复试工作安排 + + + 雷老师 + + 2016-03-21 18:23:41 +
+ 通知公告 + + 2016年心理学院缺额专业普通调剂复试工作安排 + + + 雷老师 + + 2016-03-21 14:33:05 +
+ 通知公告 + + 2016年硕士研究生招生考试复试计划(一志愿及少干) + + + 雷老师 + + 2016-03-18 11:34:04 +
+ 通知公告 + + 2016年硕士研究生招生考试复试计划(调剂) + + + 雷老师 + + 2016-03-18 10:44:41 +
+ 通知公告 + + 2016年心理学院硕士研究生复试工作安排 + + + 雷老师 + + 2016-03-17 10:00:42 +
+ 通知公告 + + 心理学院2016年接收部分缺额专业硕士研究生调剂公告 + + + 雷老师 + + 2016-03-17 09:58:44 +
+ 通知公告 + + 心理学院2016年接收优秀生源硕士研究生调剂公告 + + + 雷老师 + + 2016-03-17 09:56:09 +
+ 通知公告 + + 心理学院党总支委员会换届会议通知 + + + 成老师 + + 2016-03-15 17:16:01 +
+ 通知公告 + + 心理学院2016年工作要点 + + + 成老师 + + 2016-03-14 11:26:22 +
+ 通知公告 + + 心理学院2016年师资补充答辩报告会预告 + + + 董老师 + + 2016-03-10 08:46:35 +
+ 通知公告 + + “十三五”改革发展院长谈--我院王振宏院长接受校电视台专访 + + + 董老师 + + 2016-03-09 17:21:50 +
+ 通知公告 + + 心理学大讲堂第80期学术报告预告 + + + admin + + 2016-03-04 10:11:15 +
+ 通知公告 + + 心理学大讲堂第79期学术报告预告 + + + 成老师 + + 2016-01-25 10:37:50 +
+ 通知公告 + + 心理学院2016年寒假值班安排 + + + 成老师 + + 2016-01-16 11:36:07 +
+ 通知公告 + + 心理学院青年师生学术沙龙第十六期预告 + + + admin + + 2015-12-30 15:19:27 +
+ 通知公告 + + 心理学院2015年度教职工考核拟定优秀人员公示 + + + admin + + 2015-12-28 15:18:04 +
+ 通知公告 + + 关于2015年度教职工考核工作的安排意见 + + + admin + + 2015-12-23 17:31:03 +
+ 通知公告 + + 心理学院2016年教师岗位招聘公告 + + + admin + + 2015-12-22 08:57:36 +
+ 通知公告 + + 心理学院青年师生学术沙龙第十五期预告 + + + admin + + 2015-12-21 18:34:38 +
+ 通知公告 + + 心理学院青年师生学术沙龙第十四期预告 + + + admin + + 2015-12-21 18:34:03 +
+ 通知公告 + + 心理学院心理学科评议组评审结果公示 + + + admin + + 2015-12-21 18:32:52 +
+ 通知公告 + + 心理学院青年师生学术沙龙第十三期预告 + + + admin + + 2015-12-21 18:32:11 +
+ 通知公告 + + 心理学院青年师生学术沙龙第十二期预告 + + + admin + + 2015-12-21 18:19:30 +
+ 通知公告 + + 心理学大讲堂第78期学术报告预告 + + + admin + + 2015-12-21 18:16:04 +
+ 通知公告 + + 心理学院工作简报[总第3期] + + + admin + + 2015-12-21 18:08:45 +
+ 通知公告 + + 心理学院青年师生学术沙龙第十一期预告 + + + admin + + 2015-12-21 18:00:49 +
+ 通知公告 + + 心理学院研究生国家奖学金评选结果公示 + + + admin + + 2015-12-21 17:22:01 +
+ 通知公告 + + 关于心理学院2015-2016学年研究生评奖、评优工作的通知 + + + admin + + 2015-11-06 14:46:47 +
+ 通知公告 + + 2015年职称申报材料复核结果公示 + + + admin + + 2015-11-05 16:51:34 +
+ 通知公告 + + 心理学院青年师生学术沙龙第十期 + + + admin + + 2015-11-04 16:23:53 +
+ 通知公告 + + 我院举办第七期党校开学典礼 + + + admin + + 2015-11-04 15:37:06 +
+ 通知公告 + + 澳大利亚心理学会主席Michael Kyrios教授做客我院第77期心理学大讲堂 + + + admin + + 2015-11-02 14:40:51 +
+ 通知公告 + + 社科处马瑞映处长莅临我院作关于国家社科基金申请的报告 + + + admin + + 2015-11-02 10:29:30 +
+ 通知公告 + + 我院第76期心理学大讲堂圆满结束 + + + admin + + 2015-11-01 17:12:12 +
+ 通知公告 + + 中科院心理所杨玉芳研究员做客我院第75期心理学大讲堂 + + + admin + + 2015-11-01 16:57:09 +
+ 通知公告 + + 2015年职称申报材料公示 + + + admin + + 2015-10-31 09:12:35 +
+ 通知公告 + + 心理学大讲堂第77期学术报告预告 + + + admin + + 2015-10-29 15:27:55 +
+ 通知公告 + + 2013级应用心理学班召开学风建设主题班会 + + + admin + + 2015-10-26 11:45:57 +
+ 通知公告 + + 我院领导看望并慰问实习学生 + + + admin + + 2015-10-26 08:49:17 +
+ 通知公告 + + 2013级心理学一班召开“学风建设”主题班会 + + + admin + + 2015-10-26 08:42:56 +
+ 通知公告 + + 心理学大讲堂第76期学术报告预告 + + + admin + + 2015-10-23 16:59:04 +
+ 通知公告 + + 心理学大讲堂第75期学术报告预告 + + + admin + + 2015-10-23 16:58:19 +
+ 通知公告 + + 我院举办北京市朝阳区2015年骨干教师高级研修项目培训班 + + + admin + + 2015-10-23 16:35:49 +
+ 通知公告 + + 心理学院召开迎接陕西省高校巡视诊断动员大会 + + + admin + + 2015-10-23 14:24:44 +
+ 通知公告 + + 心理学院党总支召开“三严三实”第二专题研讨会 + + + admin + + 2015-10-23 09:01:47 +
+ 通知公告 + + 蓝月亮2016校园招聘简章 + + + admin + + 2015-10-21 16:19:24 +
+ 通知公告 + + 唱响红色旋律,显我学子风范 + + + admin + + 2015-10-21 09:26:02 +
+ 通知公告 + + 我院心理学大讲堂第74期学术报告圆满结束 + + + admin + + 2015-10-19 11:24:05 +
+ 通知公告 + + 陕西秦盾爆破技术培训中心招聘启事 + + + admin + + 2015-10-09 11:39:18 +
+ 通知公告 + + 心理学大讲堂第74期学术报告预告 + + + admin + + 2015-10-09 10:04:49 +
+ 通知公告 + + 我院召开迎接陕西高校巡视诊断工作动员部署会议 + + + admin + + 2015-09-30 14:31:38 +
+ 通知公告 + + 我院院长王振宏教授应邀参加第十九届欧洲认知心理学大会 + + + admin + + 2015-09-24 15:16:08 +
+ 通知公告 + + 我院多项科研成果近期在国际心理学SSCI/SCI顶级期刊发表 + + + admin + + 2015-09-17 15:30:18 +
+ 通知公告 + + 我院召开2016年推荐免试攻读硕士研究生说明会 + + + admin + + 2015-09-17 08:45:02 +
+ 通知公告 + + 我院召开2015年新学期工作部署会议 + + + admin + + 2015-09-10 09:47:47 +
+ 通知公告 + + 心理学院举办2015级研究生新生见面会既入学教育 + + + admin + + 2015-09-02 10:58:13 +
+ 通知公告 + + 我院赵晶晶博士获2015年国际精神疾病基因协会优秀青年科学研究者奖 + + + admin + + 2015-08-30 08:45:17 +
+ 通知公告 + + 我院李彩娜副教授实验团队研究成果被国际著名期刊录用 + + + admin + + 2015-08-30 08:29:31 +
+ 通知公告 + + 萧正洪副校长参加我院 “三严三实”专题研讨会 + + + admin + + 2015-07-15 14:54:19 +
+ 通知公告 + + 心理学院工作简报[总第2期] + + + admin + + 2015-07-09 11:55:28 +
+ 通知公告 + + 我院游旭群教授主持的教育部哲学社会科学重大课题攻关项目取得突破性成果 + + + admin + + 2015-07-09 09:15:42 +
+ 通知公告 + + 我院本科生党支部举行“三严三实”联系支部主题学习活动——人民日报“读报用报”学... + + + admin + + 2015-07-03 10:46:57 +
+ 通知公告 + + 我院全面落实处级干部联系基层制度 + + + admin + + 2015-07-03 10:40:27 +
+ 通知公告 + + 我院举行“三严三实”教育专题党课 + + + admin + + 2015-06-30 18:09:44 +
+ 通知公告 + + 我院青年教师陈煦海副教授研究组揭示跨通道情绪变化的整合加工机制 + + + admin + + 2015-06-29 11:43:34 +
+ 通知公告 + + 我院游旭群教授团队的研究成果被国际著名教师教育研究期刊录用 + + + admin + + 2015-06-26 10:06:24 +
+ 通知公告 + + 我院首位留学生顺利通过博士论文答辩并获得理学博士学位 + + + admin + + 2015-06-19 16:54:37 +
+ 通知公告 + + 2015年心理学院聘用第二批教学科研人员名单公示 + + + admin + + 2015-06-11 15:05:44 +
+ 通知公告 + + 我院青年师生学术沙龙第九期圆满结束 + + + admin + + 2015-06-10 08:58:51 +
+ 通知公告 + + 心理学院70年校庆系列学术活动之青年师生学术沙龙第九期 + + + admin + + 2015-06-03 16:16:03 +
+ 通知公告 + + 我院心理学大讲堂第73期学术报告圆满结束 + + + admin + + 2015-06-01 14:57:57 +
+ 通知公告 + + 密西根大学Cortina教授为我院师生做出国留学程序宣讲 + + + admin + + 2015-06-01 14:57:19 +
+ 通知公告 + + 萧正洪副校长莅临我院与我院师生代表座谈 + + + admin + + 2015-06-01 11:52:23 +
+ 通知公告 + + 我院心理学大讲堂第72期学术报告暨引进人才考核会议圆满结束 + + + admin + + 2015-06-01 11:33:17 +
+ 通知公告 + + 我院心理学大讲堂第71期学术报告圆满结束 + + + admin + + 2015-05-29 08:49:19 +
+ 通知公告 + + 我院青年师生学术沙龙第八期圆满举行 + + + admin + + 2015-05-28 10:33:44 +
+ 通知公告 + + 心理学大讲堂第73期学术报告预告 + + + admin + + 2015-05-26 08:16:31 +
+ 通知公告 + + 心理学大讲堂第72期学术报告预告 + + + admin + + 2015-05-26 08:15:46 +
+ 通知公告 + + “对分课堂”讲座及其研讨会 + + + admin + + 2015-05-25 15:13:42 +
+ 通知公告 + + “领导干部心理素质提升”专题培训班学员来我院参观座谈 + + + admin + + 2015-05-25 14:46:07 +
+ 通知公告 + + 我院举办第六届与美国密歇根大学交流活动 + + + admin + + 2015-05-22 11:04:49 +
+ 通知公告 + + 心理学院召开毕业生相关工作说明会 + + + admin + + 2015-05-21 14:24:35 +
+ 通知公告 + + 我院举办本科生就业工作推进会 + + + admin + + 2015-05-20 15:26:05 +
+ 通知公告 + + 中国航天员科研训练中心吴斌主任一行访问我院 + + + admin + + 2015-05-18 20:52:58 +
+ 通知公告 + + 2015年心理学院聘用教学科研人员名单公示 + + + admin + + 2015-05-18 16:42:25 +
+ 通知公告 + + 心理学大讲堂第71期学术报告预告 + + + admin + + 2015-05-18 10:33:57 +
+ 通知公告 + + 我院心理学大讲堂第70期学术报告圆满结束 + + + admin + + 2015-05-15 15:44:40 +
+ 通知公告 + + 心理学院工作简报[总第1期] + + + admin + + 2015-05-15 15:10:30 +
+ 通知公告 + + 心理学院70年校庆系列学术活动之青年师生学术沙龙第八期 + + + admin + + 2015-05-15 14:44:39 +
+ 通知公告 + + 我院荣获 “学院文化建设先进单位”称号 + + + admin + + 2015-05-14 16:56:51 +
+ 通知公告 + + 心理学大讲堂第70期学术报告预告 + + + admin + + 2015-05-12 09:32:15 +
+ 通知公告 + + 心理学院党员发展公示 + + + admin + + 2015-05-04 12:02:14 +
+ 通知公告 + + 心理学院党员发展公示 + + + admin + + 2015-05-04 12:02:14 +
+ 通知公告 + + 《心理科学》第六次主编扩大会议暨2014—2017届编委会第二次会议在我校召开 + + + admin + + 2015-04-30 15:16:02 +
+ 通知公告 + + 中科院心理所杨玉芳研究员做客我院第69期心理学大讲堂 + + + admin + + 2015-04-30 15:15:16 +
+ 通知公告 + + 我院心理学大讲堂第68期学术报告圆满结束 + + + admin + + 2015-04-30 15:14:22 +
+ 通知公告 + + 莫雷教授做客我院第66期心理学大讲堂 + + + admin + + 2015-04-30 15:10:16 +
+ 通知公告 + + 我院心理学大讲堂第65期学术报告圆满举行 + + + admin + + 2015-04-30 15:08:27 +
+ 通知公告 + + 我院青年师生学术沙龙第七期圆满举行 + + + admin + + 2015-04-29 11:21:55 +
+ 通知公告 + + 我院召开2015年第二次教学科研人员补充考察会议 + + + admin + + 2015-04-28 16:11:49 +
+ 通知公告 + + 校运会系列报道之三——努力创辉煌 + + + admin + + 2015-04-27 15:41:42 +
+ 通知公告 + + 校运会系列报道之二——团结共奋进 + + + admin + + 2015-04-27 15:34:24 +
+ 通知公告 + + 校运会系列报道之一——师生齐拼搏 + + + admin + + 2015-04-27 15:01:07 +
+ 通知公告 + + 我院举办“诚信是否吃亏”主题辩论会 + + + admin + + 2015-04-27 14:58:09 +
+ 通知公告 + + 心理学大讲堂第69期学术报告预告 + + + admin + + 2015-04-24 13:50:21 +
+ 通知公告 + + 心理学大讲堂第67期学术报告预告 + + + 成爱军 + + 2015-04-22 15:23:41 +
+ 通知公告 + + 齐心协力创比赛佳绩,团结拼搏展学子风采——记我院学子参加首届男子篮球联赛 + + + admin + + 2015-04-21 09:34:17 +
+ 通知公告 + + [推荐]我院2011级学生孙鑫被评为陕西师范大学“优秀学生标兵” + + + admin + + 2015-04-21 09:30:16 +
+ 通知公告 + + 心理学大讲堂第66期学术报告预告 + + + admin + + 2015-04-21 08:01:52 +
+ 通知公告 + + 心理学大讲堂第65期学术报告预告 + + + admin + + 2015-04-21 08:00:53 +
+ 通知公告 + + 我院举办未就业研究生座谈会 + + + admin + + 2015-04-16 08:47:18 +
+ 通知公告 + + 我院举办本科生培养方案修订座谈会 + + + admin + + 2015-04-14 11:35:52 +
+ 通知公告 + + 我院举办未就业本科毕业生帮扶会议 + + + admin + + 2015-04-10 15:09:00 +
+ 通知公告 + + 我院举办2015年运动会动员大会 + + + admin + + 2015-04-02 18:04:12 +
+ 通知公告 + + 心理学大讲堂第64期学术报告预告 + + + admin + + 2015-04-02 15:03:26 +
+ 通知公告 + + 我院心理学大讲堂第63期学术报告圆满举行 + + + admin + + 2015-03-30 15:43:34 +
+ 通知公告 + + 我院召开人才引进与师资补充考核会议 + + + admin + + 2015-03-27 13:31:13 +
+ 通知公告 + + 心理学大讲堂第63期学术报告预告 + + + admin + + 2015-03-24 09:26:48 +
+ 通知公告 + + 心理学院2015年上半年学位论文答辩工作安排 + + + admin + + 2015-03-19 11:01:35 +
+ 通知公告 + + 我院召开2015年工作部署会议 + + + admin + + 2015-03-19 10:25:54 +
+ 通知公告 + + 2015年心理学院硕士研究生复试工作安排 + + + admin + + 2015-03-17 15:06:38 +
+ 通知公告 + + 奕阳教育来我院招聘毕业生 + + + admin + + 2015-03-16 14:59:23 +
+ 通知公告 + + 心理学院2015年接收优秀生源硕士研究生调剂公告 + + + admin + + 2015-03-13 12:39:05 +
+ 通知公告 + + 心理学院2015年接收部分缺额专业硕士研究生调剂公告 + + + admin + + 2015-03-13 12:31:12 +
+ 通知公告 + + 心理学大讲堂第62期学术报告预告 + + + admin + + 2015-03-11 10:18:16 +
+ 通知公告 + + 关于我校2015届本科毕业生进行图像信息校对的通知 + + + admin + + 2015-03-09 10:50:21 +
+ 通知公告 + + 讣 告 + + + admin + + 2015-02-20 18:49:58 +
+ 通知公告 + + 我院召开2015年国家社科基金项目初评会议 + + + admin + + 2015-02-02 16:55:42 +
+ 通知公告 + + 陕西省心理学会第七次会员代表大会在我校召开 + + + admin + + 2015-02-02 16:32:44 +
+ 通知公告 + + 我院举办中学教师教育能力促进培训班圆满结束 + + + admin + + 2015-01-25 22:04:55 +
+ 通知公告 + + 我院召开二级教代会 + + + admin + + 2015-01-23 10:39:19 +
+ 通知公告 + + 我院召开处级干部民主生活会 + + + admin + + 2015-01-21 18:40:43 +
+ 通知公告 + + 心理学大讲堂第61期学术报告预告 + + + admin + + 2015-01-18 16:26:52 +
+ 通知公告 + + 萧正洪副校长一行来我院调研 + + + admin + + 2015-01-18 14:01:54 +
+ 通知公告 + + 我院召开2014-2015学年第一学期期末考试工作会议 + + + admin + + 2015-01-17 11:08:45 +
+ 通知公告 + + 心理学院2014年度教职工考核拟定优秀人员公示 + + + admin + + 2015-01-15 17:17:11 +
+ 通知公告 + + 心理学院关于2014年度教职工考核工作的安排意见 + + + admin + + 2015-01-09 17:01:08 +
+ 通知公告 + + 心理学院2014年在职联考教育硕士复试工作安排 + + + admin + + 2015-01-05 11:41:42 +
+ 通知公告 + + 郑州幼儿师范高等专科学校公开招聘心理健康教育教师 + + + admin + + 2015-01-05 11:15:09 +
+ 通知公告 + + 党委副书记王涛为心理学院教职工做“新时期意识形态建设与挑战”专题报告 + + + admin + + 2014-12-26 08:49:03 +
+ 通知公告 + + 转发:国有资产管理处“关于我校调整公积金的说明” + + + admin + + 2014-12-16 16:48:13 +
+ 通知公告 + + 火样的热情 飞扬的青春——我院学子参加纪念“12.9”运动暨“阳光体育”半程马... + + + admin + + 2014-12-11 11:13:06 +
+ 通知公告 + + 长江大学外国语学院来我院招聘毕业生 + + + admin + + 2014-12-04 11:56:26 +
+ 通知公告 + + 我院70周年校庆系列学术活动之名家讲坛(十)暨心理学大讲堂第60期学术报告圆满... + + + 成爱军 + + 2014-12-02 10:09:18 +
+ 通知公告 + + 我院70周年校庆系列学术活动之青年师生学术沙龙第六期圆满举行 + + + admin + + 2014-12-01 14:46:57 +
+ 通知公告 + + 心理学院70周年校庆系列学术活动之青年师生学术沙龙第六期预告 + + + admin + + 2014-11-27 11:08:57 +
+ 通知公告 + + 苏宁云商1200营销管理培训生招聘简章 + + + admin + + 2014-11-25 14:48:27 +
+ 通知公告 + + 心理学院70周年校庆系列学术活动之名家讲坛(十)暨心理学大讲堂第60期 + + + 成爱军 + + 2014-11-24 09:59:13 +
+ 通知公告 + + 我院70周年校庆系列学术活动之青年师生第五期学术沙龙圆满举行 + + + admin + + 2014-11-14 19:36:24 +
+ 通知公告 + + 就业信息发布:陕西省房地产研究会招聘简介 + + + admin + + 2014-11-13 09:21:23 +
+ 通知公告 + + 我院召开校内收入分配制度调整通报会议 + + + admin + + 2014-11-12 11:36:38 +
+ 通知公告 + + 再勉学路,启立职场——心理学院2012级本科生学风建设系列活动之一保研考研交流会 + + + admin + + 2014-11-11 15:49:35 +
+ 通知公告 + + “时代心理”来我院招聘毕业生 + + + admin + + 2014-11-11 09:47:57 +
+ 通知公告 + + 改变自我 创造未来——心理学院2012级本科生学风建设主题班会 + + + admin + + 2014-11-07 14:50:03 +
+ 通知公告 + + 心理学院70周年校庆系列学术活动之校友讲坛(五)暨心理学大讲堂第59期学术报告... + + + admin + + 2014-11-07 11:37:56 +
+ 通知公告 + + 时代心理2014招聘计划 + + + admin + + 2014-11-07 10:52:27 +
+ 通知公告 + + 心理学院70周年校庆系列学术活动之青年师生学术沙龙第五期预告 + + + admin + + 2014-11-06 15:41:50 +
+ 通知公告 + + 陕西省科技厅副书记张书玲一行到心理学院进行立项考察 + + + admin + + 2014-11-03 15:47:12 +
+ 通知公告 + + 心理学院召开学生党支部委员业务知识培训会议 + + + admin + + 2014-10-31 09:46:01 +
+ 通知公告 + + 我院举办2015届本科毕业生实习总结暨就业动员大会 + + + admin + + 2014-10-30 18:39:10 +
+ 通知公告 + + 理学院70周年校庆系列学术活动之校友讲坛(五)暨心理学大讲堂第59期学术报告预告 + + + admin + + 2014-10-29 16:52:16 +
+ 通知公告 + + 心理学院2014年拟晋升专业技术职务人员申报材料公示 + + + admin + + 2014-10-28 15:22:10 +
+ 通知公告 + + 心理学院举办2015届研究生毕业生就业动员大会 + + + admin + + 2014-10-28 10:37:24 +
+ 通知公告 + + 我院70周年校庆系列学术活动之名家讲坛(九)暨心理学大讲堂第58期学术报告圆满... + + + admin + + 2014-10-27 17:32:50 +
+ 通知公告 + + 我院70周年校庆系列学术活动之青年师生第四期学术沙龙圆满举行 + + + admin + + 2014-10-27 17:30:22 +
+ 通知公告 + + 我院召开学生会成立暨工作方法研讨会 + + + admin + + 2014-10-24 15:41:16 +
+ 通知公告 + + 关于派普(PEP)被试中心运营的通知 + + + admin + + 2014-10-23 17:10:33 +
+ 通知公告 + + 关于派普(PEP)被试中心运营的通知 + + + admin + + 2014-10-23 17:10:33 +
+ 通知公告 + + 心理学院70周年校庆系列学术活动之校友讲坛(四)暨第57期心理学大讲堂学术报告... + + + admin + + 2014-10-22 11:57:01 +
+ 通知公告 + + 心理学院2015年招收“申请-审核”制博士研究生办法 + + + admin + + 2014-10-22 11:51:34 +
+ 通知公告 + + 心理学院70周年校庆系列学术活动之名家讲坛(九)暨心理学大讲堂第58期学术报告... + + + admin + + 2014-10-20 15:29:37 +
+ 通知公告 + + 我院师生积极参加中国心理学会第十七届全国心理学学术大会 + + + admin + + 2014-10-20 11:43:17 +
+ 通知公告 + + 心理学院70周年校庆系列学术活动之名家讲坛(八)暨第56期心理学大讲堂圆满成功 + + + admin + + 2014-10-20 09:37:08 +
+ 通知公告 + + 心理学院70周年校庆系列学术活动之校友讲坛(四)暨心理学大讲堂第57期学术报告... + + + admin + + 2014-10-19 16:10:07 +
+ 通知公告 + + 心理学院70周年校庆系列学术活动之青年师生学术沙龙第四期预告 + + + admin + + 2014-10-16 15:59:46 +
+ 通知公告 + + 心理学院70周年校庆系列学术活动之名家讲坛(八)暨心理学大讲堂第56期学术报告... + + + admin + + 2014-10-15 15:35:14 +
+ 通知公告 + + [图文]我院游旭群教授当选中国心理学会理事长 + + + admin + + 2014-10-15 09:04:12 +
+ 通知公告 + + 我院举行庆祝建校七十周年学院与学科发展座谈会 + + + admin + + 2014-10-14 11:06:31 +
+ 通知公告 + + 心理学院关于评定2013级、2012级研究生厚德奖学金的通知 + + + admin + + 2014-09-28 15:29:49 +
+ 通知公告 + + 心理学院关于评定2013级、2012级研究生厚德奖学金的通知 + + + admin + + 2014-09-28 15:29:49 +
+ 通知公告 + + 心理学院70周年校庆系列学术活动之名家讲坛(七)暨心理学大讲堂第55期学术报告... + + + admin + + 2014-09-25 18:07:50 +
+ 通知公告 + + 我院70周年校庆系列学术活动之青年师生第三期学术沙龙圆满举行 + + + admin + + 2014-09-25 17:42:28 +
+ 通知公告 + + 我院举行70周年校庆系列学术活动之名家讲坛(六)暨心理学大讲堂第54期学术报告... + + + admin + + 2014-09-25 16:10:42 +
+ 通知公告 + + 我院举行70周年校庆系列学术活动之名家讲坛(五)暨心理学大讲堂第53期学术报告 + + + admin + + 2014-09-25 11:48:40 +
+ 通知公告 + + 国家能源新材料技术研发中心中物功能材料研究院有限公司董事长一行访问心理学院 + + + admin + + 2014-09-22 11:14:34 +
+ 通知公告 + + 心理学院70周年校庆系列学术活动之名家讲坛(七)暨心理学大讲堂第55期学术报告... + + + admin + + 2014-09-21 09:53:32 +
+ 通知公告 + + 心理学院70年校庆系列学术活动之青年师生学术沙龙第三期预告 + + + admin + + 2014-09-21 09:51:42 +
+ 通知公告 + + 心理学院70周年校庆系列学术活动之名家讲坛(六)暨心理学大讲堂第54期学术报告... + + + admin + + 2014-09-18 14:31:12 +
+ 通知公告 + + 我院举行70周年校庆系列学术活动之校友讲坛(三)暨心理学大讲堂第52期学术报告 + + + admin + + 2014-09-18 11:06:41 +
+ 通知公告 + + 心理学院70周年校庆系列学术活动之名家讲坛(五)暨心理学大讲堂第53期学术报告... + + + admin + + 2014-09-17 09:54:31 +
+ 通知公告 + + 我院2012级应用心理班召开班委换届主题班会 + + + admin + + 2014-09-16 11:39:21 +
+ 通知公告 + + 我院召开2014-2015学年第一学期工作部署会议 + + + admin + + 2014-09-16 07:58:09 +
+ 通知公告 + + 心理学院70周年校庆系列学术活动之校友讲坛(三)暨心理学大讲堂第52期学术报告... + + + admin + + 2014-09-15 14:27:56 +
+ 通知公告 + + 我院召开2014级研究生迎新大会 + + + admin + + 2014-09-15 11:45:51 +
+ 通知公告 + + 我院召开2015年本科生推免工作动员会 + + + admin + + 2014-09-09 17:44:34 +
+ 通知公告 + + 2014年我院暑期学校课程教学圆满结束 + + + admin + + 2014-07-22 15:41:36 +
+ 通知公告 + + 我院举行70周年校庆系列学术活动之名家讲坛(四)暨心理学大讲堂第51期学术报告 + + + admin + + 2014-07-08 17:37:28 +
+ 通知公告 + + 我院举行70年校庆系列学术活动之第二期青年师生学术沙龙 + + + admin + + 2014-07-08 17:33:22 +
+ 通知公告 + + 我院举行70周年校庆系列学术活动之青年师生学术沙龙第一期预告 + + + admin + + 2014-07-08 17:31:17 +
+ 通知公告 + + 我院基层党建工作取得可喜成绩 + + + admin + + 2014-07-01 17:33:24 +
+ 通知公告 + + 心理学院70周年校庆系列学术活动之名家讲坛(四)暨心理学大讲堂第51期学术报告... + + + admin + + 2014-06-30 08:34:15 +
+ 通知公告 + + 有梦,就能梦成真 + + + admin + + 2014-06-26 17:30:12 +
+ 通知公告 + + 我院举行70周年校庆系列学术活动之校友讲坛(二)暨心理学大讲堂第50期学术报告 + + + admin + + 2014-06-23 08:21:38 +
+ 通知公告 + + 我院举行70周年校庆系列学术活动之校友讲坛(一)暨心理学大讲堂第49期学术报告 + + + admin + + 2014-06-20 10:27:19 +
+ 通知公告 + + 我院举行70周年校庆系列学术活动之教授讲坛(二) 暨心理学大讲堂第48期学术报告 + + + admin + + 2014-06-19 10:11:49 +
+ 通知公告 + + 心理学院70周年校庆系列学术活动之校友讲坛(二)暨心理学大讲堂第50期学术报告... + + + admin + + 2014-06-17 08:28:22 +
+ 通知公告 + + 心理学院70周年校庆系列学术活动之校友讲坛(一)暨心理学大讲堂第49期学术报告... + + + admin + + 2014-06-16 18:01:02 +
+ 通知公告 + + 心理学院70周年校庆系列学术活动之教授讲坛(二)暨心理学大讲堂第48期学术报告... + + + admin + + 2014-06-16 14:53:04 +
+ 通知公告 + + 程光旭校长一行莅临我院调研与指导工作 + + + admin + + 2014-06-15 16:14:18 +
+ 通知公告 + + 学院举行70周年校庆系列学术活动之教授讲坛(一)暨心理学大讲堂第47期学术报告 + + + admin + + 2014-06-12 16:54:55 +
+ 通知公告 + + 我院博士、硕士研究生学位毕业论文答辩圆满结束 + + + admin + + 2014-06-12 16:49:30 +
+ 通知公告 + + 我院举行70周年校庆之本科教学学术交流活动 + + + admin + + 2014-06-11 20:15:42 +
+ 通知公告 + + 心理学院70周年校庆之本科教学学术交流活动预告 + + + admin + + 2014-06-09 16:53:53 +
+ 通知公告 + + 心理学院70周年校庆系列学术活动之教授讲坛(一)暨心理学大讲堂第47期学术报告... + + + admin + + 2014-06-09 11:06:21 +
+ 通知公告 + + 我院举办2011级本科生考研就业经验交流会 + + + admin + + 2014-06-09 09:18:32 +
+ 通知公告 + + 心理学院70周年校庆系列学术活动之青年师生学术沙龙第一期预告 + + + admin + + 2014-06-05 08:33:19 +
+ 通知公告 + + 七十周年校庆心理学院系列学术活动开幕式隆重举行 + + + admin + + 2014-05-30 16:50:09 +
+ 通知公告 + + 2014年拟录取博士研究生办理相关手续注意事项 + + + admin + + 2014-05-27 16:35:39 +
+ 通知公告 + + 我校教育学院师生参观我院心理学实验室 + + + admin + + 2014-05-27 10:34:48 +
+ 通知公告 + + 陕西师范大学七十周年校庆心理学院系列学术活动安排 + + + admin + + 2014-05-20 08:40:41 +
+ 通知公告 + + 美国密西根大学Miller教授为我院本科生讲授 “教育心理学” + + + admin + + 2014-05-19 10:44:50 +
+ 通知公告 + + 美国密西根大学师生交流访问活动通知 + + + admin + + 2014-05-13 10:21:02 +
+ 通知公告 + + 我院召开诚信教育主题班会 + + + admin + + 2014-05-08 15:47:35 +
+ 通知公告 + + 心理学院党员发展公示 + + + admin + + 2014-05-08 15:45:29 +
+ 通知公告 + + 心理学院党员发展公示 + + + admin + + 2014-05-08 15:45:29 +
+ 通知公告 + + 杜鹏教授做客第43期心理学大讲堂 + + + admin + + 2014-04-30 10:45:32 +
+ 通知公告 + + 数据处理中心试运营的通知 + + + admin + + 2014-04-28 17:29:27 +
+ 通知公告 + + 数据处理中心试运营的通知 + + + admin + + 2014-04-28 17:29:27 +
+ 通知公告 + + 心理学大讲堂第43期学术报告预告 + + + admin + + 2014-04-25 15:51:07 +
+ 通知公告 + + 我院王勇慧教授及博士生赵亮赴欧洲进行学术交流 + + + admin + + 2014-04-22 11:50:15 +
+ 通知公告 + + 我院教职员工积极参加学校春季运动会 + + + admin + + 2014-04-21 10:58:57 +
+ 通知公告 + + 心理学院研究生国家奖学金评选程序及评选细则 + + + admin + + 2014-04-14 15:17:38 +
+ 通知公告 + + 心理学院研究生奖学金评选实施办法 + + + admin + + 2014-04-14 15:14:40 +
+ 通知公告 + + 西安市第三中学来我院招聘毕业生 + + + admin + + 2014-04-11 14:58:53 +
+ 通知公告 + + 心理学院2014年师资补充答辩会预告 + + + admin + + 2014-04-10 08:19:02 +
+ 通知公告 + + 2014年教育实验经济研究所硕士研究生复试 + + + admin + + 2014-04-02 08:16:31 +
+ 通知公告 + + 教育实验经济研究所2014年硕士研究生调剂信息 + + + admin + + 2014-04-02 08:08:31 +
+ 通知公告 + + 心理学院2014年接收优秀调剂硕士研究生公告 + + + admin + + 2014-04-01 16:03:26 +
+ 通知公告 + + 心理学院2014年接收普通调剂硕士研究生公告 + + + admin + + 2014-04-01 15:59:00 +
+ 通知公告 + + 余嘉元教授作客第42期心理学大讲堂 + + + admin + + 2014-04-01 15:42:05 +
+ 通知公告 + + 我院召开党的群众路线教育实践活动总结大会 + + + admin + + 2014-03-25 09:06:06 +
+ 通知公告 + + 心理学大讲堂第42期学术报告预告 + + + admin + + 2014-03-21 08:06:38 +
+ 通知公告 + + 心理学院2014年教师岗位招聘公告 + + + admin + + 2014-03-11 16:24:47 +
+ 通知公告 + + 关于派普(PEP)被试中心公开运营的通知 + + + admin + + 2014-02-27 09:35:53 +
+ 通知公告 + + 关于派普(PEP)被试中心公开运营的通知 + + + admin + + 2014-02-27 09:35:53 +
+ 通知公告 + + 我院2014年工作部署会议召开 + + + admin + + 2014-02-24 11:17:13 +
+ 通知公告 + + 心理学院2013-2014学年第二学期研究生各类奖学金评选通知 + + + admin + + 2014-02-21 11:33:12 +
+ 通知公告 + + 心理学院2013-2014学年第二学期研究生各类奖学金评选通知 + + + admin + + 2014-02-21 11:33:12 +
+ 通知公告 + + 校党委书记甘晖一行到我院检查、调研开学各项工作运行情况 + + + admin + + 2014-02-18 11:24:30 +
+ 通知公告 + + 我院王振宏教授团队的研究成果被国际顶级心理学期刊录用 + + + admin + + 2014-02-16 21:21:01 +
+ 通知公告 + + 我院举行国家自然科学基金、国家社会科学基金项目申报交流研讨会 + + + admin + + 2014-02-09 10:58:06 +
+ 通知公告 + + 游旭群教授主持的教育部哲学社会科学重大招标课题研究进展研讨会如期举行 + + + admin + + 2014-01-24 10:54:16 +
+ 通知公告 + + 我院游旭群教授被聘为《心理学报》副主编 + + + admin + + 2014-01-22 18:05:58 +
+ 通知公告 + + 心理学大讲堂第41期学术报告圆满结束 + + + admin + + 2014-01-13 08:55:27 +
+ 通知公告 + + 心理学大讲堂第41期学术报告预告 + + + admin + + 2014-01-07 15:40:22 +
+ 通知公告 + + 2014年博士生招生“申请-审核”制工作方案 + + + admin + + 2014-01-07 11:32:23 +
+
+ + +
+ + + + + + + + + +
+
+ + + diff --git a/test/html/snnu_se_news.html b/test/html/snnu_se_news.html new file mode 100644 index 0000000..33d9ff8 --- /dev/null +++ b/test/html/snnu_se_news.html @@ -0,0 +1,260 @@ + + + + + + + + + + + + + + + + + + +  + + 陕西师范大学教育学院-陕西师范大学教育学院 + + + + + + + + +
+
+ + + + + + +
+
+
+ + 新闻动态
+
+ 您现在所在的位置:首页 > 学院新闻 +
+
+
+ + +
+ +
总共5页 当前第
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/test/html/snnu_se_notice.html b/test/html/snnu_se_notice.html new file mode 100644 index 0000000..bb43732 --- /dev/null +++ b/test/html/snnu_se_notice.html @@ -0,0 +1,260 @@ + + + + + + + + + + + + + + + + + + +  + + 陕西师范大学教育学院-陕西师范大学教育学院 + + + + + + + + +
+
+ + + + + + +
+
+
+ + 新闻动态
+
+ 您现在所在的位置:首页 > 通知公告 +
+
+
+ + +
+ +
总共7页 当前第
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/test/html/snnu_spg_news.html b/test/html/snnu_spg_news.html new file mode 100644 index 0000000..cbe20a3 --- /dev/null +++ b/test/html/snnu_spg_news.html @@ -0,0 +1,646 @@ + + + + + + +ѧԺ-ʦѧѧѧԺ,վ֧֣ + + + + + + + + + + + + + + +
+ + + + + + + +
+ + + + + +
+ +
+
+ +
+ + + + +
+ + + + + +
+ +
+ + + + + +
+ + + + + +
+ + + +
+ +
+ + + + + +
+ + + + + + + +
+ +
+ + + + +
+ + + + + + +
+ + + + + + + + +
+ + + ѧԺ
+ + + + + + + + +
+ + + + +
+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
ѧԺλãҳ > ѧԺ
+
+ + + + + + +
+ + + + +
+ + + + + + + + +
Ժ2018ֿչϰ2018-12-19
+ + + + + + + +
Ժ֯ʦۿѧϰףĸ↑402018-12-18
+ + + + + + + +
ԺϵΡְ֧˹˳2018-12-17
+ + + + + + + +
Ժơѻдѧְ㽱2018-12-17
+ + + + + + + +
Ժ2018оѧѧ2018-12-17
+ + + + + + + +
Ժٿ2018о̸2018-12-17
+ + + + + + + +
ְӢ ĪУ칫Աȫģ⿼ԴԲĻ2018-12-15
+ + + + + + + +
Ժѧϵ2017о繤˳2018-12-14
+ + + + + + + +
ϽҫԺ12·9˶ɽ2018-12-13
+ + + + + + + +
Ժٿ2019ҵҵƽ2018-12-13
+ + + + + + + +
ԬΪ۲Աμ㲥̨ʱ̡2018-12-10
+ + + + + + + +
ʡѧᷨĻо2018ߡʱйɫ巨ĻɫĻСѧֻɹ2018-12-08
+ + + + + + + +
Ժѧϵչҡܷܡ2018-12-07
+ + + + + + + +
Ժ2019쿼ѧο̸2018-12-07
+ + + + + + + +
Ժίȫᾫѧϰ2018-12-07
+ + + + + + + +
Ժѧϵչ2018-12-07
+ + + + + + + +
ƪϵʦδ Ժ2018оĿѧһ족2018-12-05
+ + + + + + + +
ѧӻμУϰ䡱ϵл2018-12-05
+ + + + + + + +
ԺСҹ2018-12-05
+ + + + + + + +
ʱഺáԺ2018оչջ2018-12-05
+ + + + + + + +
ѧϰ᳹ȫᾫ һѧԺԺٿίѧϰ󣩻2018-12-03
+ + + + + + + +
ܽع ̡Ժ2017ٿΰŽ蹤2018-12-03
+ + + + + + + +
ѧϵ֯ʦʡ߼ԺĦͥ2018-11-30
+ + + + + + + +
ҵĴѧһ족Ժ2018չϵ2018-11-30
+ + + + + + + +
Ժѧٻ2018-11-29
+ + + + + +
+ + + + +
+
 49ҳ ҳ 
+
+ +
+
+
+ +
+
+ + + + + +
+ + + + +
+ + + + +
Design & Support ֧֣
+
+ + + \ No newline at end of file diff --git a/test/html/snnu_spg_notice.html b/test/html/snnu_spg_notice.html new file mode 100644 index 0000000..7ba7fd9 --- /dev/null +++ b/test/html/snnu_spg_notice.html @@ -0,0 +1,646 @@ + + + + + + +֪ͨ-ʦѧѧѧԺ,վ֧֣ + + + + + + + + + + + + + + +
+ + + + + + + +
+ + + + + +
+ +
+
+ +
+ + + + +
+ + + + + +
+ +
+ + + + + +
+ + + + + +
+ + + +
+ +
+ + + + + +
+ + + + + + + +
+ +
+ + + + +
+ + + + + + +
+ + + + + + + + +
+ + + ֪ͨ
+ + + + + + + + +
+ + + + +
+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
֪ͨλãҳ > ֪ͨ
+
+ + + + + + +
+ + + + +
+ + + + + + + + +
[Ƽ]ѧѧԺڶ조ۡѧ֮ѧ12ڣѧҾڹ͵ķʶܵġѧڹΪ ˣ2018-12-24
+ + + + + + + +
[Ƽ]ѧѧԺڶ조ۡѧ֮ѧ11ڣѧѧϵоĹ۲뷴˼ ˣӰ2018-12-24
+ + + + + + + +
[Ƽ]ʦѧɳ20187ڣеġʧ黰 ˣ֣2018-12-24
+ + + + + + + +
[Ƽ]ѧѧԺڶ조ۡѧ̳֮203ڣҹչеļì ˣ쾰2018-12-20
+ + + + + + + +
[Ƽ]ѧѧԺڶ조ۡѧ֮ѧ10ڣȻû漣𣿡Ȼ漣ļ ˣ2018-12-19
+ + + + + + + +
֯տףĸ↑40֪ͨ2018-12-17
+ + + + + + + +
Ժ2018оѧѧѡĹʾ2018-12-11
+ + + + + + + +
У조ְӢ ĪԱȫģ⿼Դŵ֪ͨ2018-12-11
+ + + + + + + +
[Ƽ]ѧѧԺڶ조ۡѧ̳֮202ڣ϶׼͹˲ƶ ˣ2018-12-07
+ + + + + + + +
[Ƽ]ѧѧԺڶ조ۡѧ̳֮201ڣ˷Ľ ˣ2018-12-07
+ + + + + + + +
[Ƽ]ѧѧԺڶ조ۡѧ̳֮200ڣִıѧ䳬Խ ˣ2018-12-06
+ + + + + + + +
[Ƽ]ʦѧɳ20185ڣҹʲȫķɱ ˣ԰2018-12-05
+ + + + + + + +
[Ƽ]ʦѧɳ20186ڣְ缰ЧӦȽо ˣФ2018-11-30
+ + + + + + + +
ڿչȫᾫѧϰ֪ͨ2018-11-30
+ + + + + + + +
ѧѧԺڶ조ۡѧ¡Իѧʷоѧ2018-11-29
+ + + + + + + +
[Ƽ]ѧѧԺڶ조ۡѧ̳֮199ڣʱĵ۹ ˣν2018-11-28
+ + + + + + + +
[Ƽ]ѧѧԺڶ조ۡѧ֮ѧ9ڣִѧеĹ ˣ2018-11-28
+ + + + + + + +
[Ƽ]ѧѧԺڶ조ۡѧ̳֮198ڣʵѧеĵ¹ ˣ2018-11-28
+ + + + + + + +
[Ƽ]ѧѧԺڶ조ۡѧ֮ѧ82018-11-28
+ + + + + + + +
ڸϵ칫/֧õ֪ͨ2018-11-27
+ + + + + + + +
[Ƽ]ʦѧɳ20184ڣṹϸתͣйũزȨƶȱǨ߼ ˣΰ2018-11-26
+ + + + + + + +
[Ƽ]ʦѧɳ20183ڣ˾ʵн蹤̼ۿܳȨΪЧ϶ ˣ2018-11-25
+ + + + + + + +
ڿչѧѧԺ2019ӭﱸ֪ͨ2018-11-21
+ + + + + + + +
У조ְӢ ĪԱģ⿼Դŵ֪ͨ2018-11-21
+ + + + + + + +
ѧѧԺ2019ӭ⣨ƪ£֪ͨ2018-11-21
+ + + + + +
+ + + + +
+
 24ҳ ҳ 
+
+ +
+
+
+ +
+
+ + + + + +
+ + + + +
+ + + + +
Design & Support ֧֣
+
+ + + \ No newline at end of file diff --git a/test/html/snnu_spgcx_news.html b/test/html/snnu_spgcx_news.html new file mode 100644 index 0000000..5b4385a --- /dev/null +++ b/test/html/snnu_spgcx_news.html @@ -0,0 +1,484 @@ + + +学院新闻-陕西师范大学食品学院 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + +
+ +
+ +
+ +
+ + +
+ + + +
+
+ +
+
+

学院新闻

+
+
+ + +
+ +
+
共557条  1/38 
首页上页  
+
+
+
+
+
+
+ + + + + + + diff --git a/test/html/snnu_spgcx_notice.html b/test/html/snnu_spgcx_notice.html new file mode 100644 index 0000000..81496f7 --- /dev/null +++ b/test/html/snnu_spgcx_notice.html @@ -0,0 +1,484 @@ + + +通知公告-陕西师范大学食品学院 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + +
+ +
+ +
+ +
+ + +
+ + + +
+
+ +
+
+

通知公告

+
+
+ + +
+ +
+
共259条  1/18 
首页上页  
+
+
+
+
+
+
+ + + + + + + diff --git a/test/html/snnu_tyxy_news.html b/test/html/snnu_tyxy_news.html new file mode 100644 index 0000000..79a7521 --- /dev/null +++ b/test/html/snnu_tyxy_news.html @@ -0,0 +1,753 @@ + + + + + + + + + + +ѧԺ-ʦѧѧԺ,վ֧֣ + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + +
+
+ + + + + + +
+
+
+ +
+ + + + +
+ + + + + +
+ + + + + +
+ +
+ + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + + +
+ + + ѧԺ
+ + + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + + +
ҳ > ѧԺ > ѧԺ
+ ѧԺ +
+ + + + + + +
2018-12-21 /    +ѧԺٿ2018ȵ֧ץְ鿼˴ +
+ + + + + +
2018-12-20 /    +ѧѧԺ2017뿪չѧҵʾѧ һһ԰רж +
+ + + + + +
2018-12-19 /    +ѧԺѧչĦʱͬСףĸ↑40ʦѧѧɹչջ +
+ + + + + +
2018-12-18 /    +ĸ↑ʱԺʦܽ +
+ + + + + +
2018-12-14 /    +ѧԺٿ2019챾Ʊҵҵ̸ +
+ + + + + +
2018-12-14 /    +ʦѧѧԺʦƸ +
+ + + + + +
2018-12-14 /    +ѧdzɡѧԺٰڽ +
+ + + + + +
2018-12-14 /    +ѧԺн̸̹֧ +
+ + + + + +
2018-12-13 /    +ѧѧԺ2017ļģ⿼ +
+ + + + + +
2018-12-10 /    +ѧѧԺٿ2017ί +
+ + + + + +
2018-12-08 /    +ѧԺٿ2019칫ʦҵٽ +
+ + + + + +
2018-12-04 /    +ԺλʦѡйѧѧӰѧ +
+ + + + + +
2018-12-03 /    +Ժٰ׽˶ʿƽѧʵϰؽ̸ +
+ + + + + +
2018-12-01 /    +2018ѧԺоѧ̳ɹٰ +
+ + + + + +
2018-11-23 /    +Ժ2016ѧμӡ119רҽ +
+ + + + + +
2018-11-22 /    +Ժٿоѧλijרѧϰ +
+ + + + + +
2018-11-22 /    +У2018оӭ±߱ĻʽԲ +
+ + + + + +
2018-11-22 /    +ѧһ֧ٿ֧ +
+ + + + + +
2018-11-15 /    +ѧԺ36뵳ӵѵ˳ +
+ + + + + +
2018-11-15 /    +Dale A. Ulrichڱ潻˳ +
+ + + + + +
2018-11-14 /    +ѧԺ2019챾ʦרҵҵҵԱ +
+ + + + + +
2018-11-14 /    +ѧԺѶʡУ· ѧѵϳʵ +
+ + + + + +
2018-11-13 /    +ѧԺ2018걾ʴ +
+ + + + + +
2018-11-10 /    +ѧͬ۹·һ·|ѧԺ˳չ +
+ + + + + +
2018-11-10 /    +ѧѧԺٿ2017೤ +
+ + + + + +
+ + + + +
+ +
+ + + + + + + + + + + + +
ҳһҳһҳĩҳ     [ 17 ] ҳ   ǵ [ 1 ] ҳ   + ת + ҳ +
+
+ + +
+ +
+ +
+
+ + + + + +
+ + + + +
+ + + + +
Design & Support ֧֣
+
+ + + \ No newline at end of file diff --git a/test/html/snnu_tyxy_notice.html b/test/html/snnu_tyxy_notice.html new file mode 100644 index 0000000..cf5ebab --- /dev/null +++ b/test/html/snnu_tyxy_notice.html @@ -0,0 +1,735 @@ + + + + + + + + + + +֪ͨ-ʦѧѧԺ,վ֧֣ + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + +
+
+ + + + + + +
+
+
+ +
+ + + + +
+ + + + + +
+ + + + + +
+ +
+ + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + + +
+ + + ֪ͨ
+ + + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + + +
ҳ > ֪ͨ > ֪ͨ
+ ֪ͨ +
+ + + + + + +
2018-12-14 /    +ڡԴѧƼĹʾ +
+ + + + + +
2018-12-14 /    +ʦѧѧԺʦƸ +
+ + + + + +
2018-12-12 /    +Ժ2018оѧѧѡĹʾ +
+ + + + + +
2018-12-08 /    +ѧԺʴ겹֪ͨ +
+ + + + + +
2018-12-05 /    +Ժ2018оѧѧѡ취Ĺʾ +
+ + + + + +
2018-11-18 /    +2018ѧԺμְԱزϵĹʾ +
+ + + + + +
2018-10-26 /    +ڲμʡӶμѵ֪ͨ +
+ + + + + +
2018-10-23 /    +ٿȫԺְ֪ͨ +
+ + + + + +
2018-10-17 /    +Ժ2018оҽѧѡĹʾ +
+ + + + + +
2018-10-09 /    +ڶ2018רҵְְʸ׵֪ͨ +
+ + + + + +
2018-09-26 /    +2018ѧԺڡֵలű +
+ + + + + +
2018-09-18 /    +2018ѧԺֵల +
+ + + + + +
2018-09-14 /    +ѧԺ-2018°о2018-2019ѧ^α +
+ + + + + +
2018-09-14 /    +ѧԺ2019ƼӦ챾ƱҵԹ˶ʿѧλоʾ +
+ + + + + +
2018-09-07 /    +ڿչѡγ̵֪ͨת֪ͨ +
+ + + + + +
2018-09-07 /    +ӡ2018-2019ѧ^ѧСα֪ͨת֪ͨ +
+ + + + + +
2018-09-07 /    +֯ڶ조ѧɾͽѧͻ׽ѡ֪ͨת֪ͨ +
+ + + + + +
2018-09-07 /    +֯ڶ조ѧŶӽѡ֪ͨת֪ͨ +
+ + + + + +
2018-08-31 /    +ٿѧԺѧڹ֪ͨ +
+ + + + + +
2018-08-18 /    +ʦѧѧԺʦƸ棨 +
+ + + + + +
2018-07-30 /    +2018ѧԺֵ +
+ + + + + +
2018-07-22 /    +ڵһȫߵʦԺУѧëʾ֪ͨ +
+ + + + + +
2018-07-17 /    +ʦѧ齨ʡӣU20 +
+ + + + + +
2018-07-13 /    +ʦѧѧԺƸʦƸ +
+ + + + + +
2018-07-11 /    +Ƽ׽조ʦѧ˽ʦѡĹʾ +
+ + + + + +
+ + + + +
+ +
+ + + + + + + + + + + + +
ҳһҳһҳĩҳ     [ 8 ] ҳ   ǵ [ 1 ] ҳ   + ת + ҳ +
+
+ + +
+ +
+ +
+
+ + + + + +
+ + + + +
+ + + + +
Design & Support ֧֣
+
+ + + \ No newline at end of file diff --git a/test/html/snnu_wuli_news.html b/test/html/snnu_wuli_news.html new file mode 100644 index 0000000..8a4cc60 --- /dev/null +++ b/test/html/snnu_wuli_news.html @@ -0,0 +1,344 @@ + + + + + + 陕西师范大学物理学与信息技术学院-学院新闻 + + + + + + + + + +
+ +
+ + +
+
+ 您的当前位置:首页 + > 学院新闻 +
+
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ + + +
+
+
+
+
+ 版权所有:陕西师范大学物理学与信息技术学院|地址:陕西师范大学长安校区致知楼|邮编:710119|电话:029-81530750|Email:wlbg@snnu.edu.cn +
+
+ copyright © 2013 wuli.snnu.edu.cn Inc. + All right Reserved. +
+
+ + + + +
+ +
+
+
+ + diff --git a/test/html/snnu_wuli_notice.html b/test/html/snnu_wuli_notice.html new file mode 100644 index 0000000..dc007fc --- /dev/null +++ b/test/html/snnu_wuli_notice.html @@ -0,0 +1,344 @@ + + + + + + 陕西师范大学物理学与信息技术学院-通知公告 + + + + + + + + + +
+ +
+ + +
+
+ 您的当前位置:首页 + > 通知公告 +
+
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ + + +
+
+
+
+
+ 版权所有:陕西师范大学物理学与信息技术学院|地址:陕西师范大学长安校区致知楼|邮编:710119|电话:029-81530750|Email:wlbg@snnu.edu.cn +
+
+ copyright © 2013 wuli.snnu.edu.cn Inc. + All right Reserved. +
+
+ + + + +
+ +
+
+
+ + diff --git a/test/html/snnu_wyxy_news.html b/test/html/snnu_wyxy_news.html new file mode 100644 index 0000000..84ad345 --- /dev/null +++ b/test/html/snnu_wyxy_news.html @@ -0,0 +1,296 @@ + + + + +院内新闻-外国语学院网站 + + + + + + + + + + + + + +
+
+ +
+
+ +
+ + + + + + + + + +院内新闻 + + + + +
+ +
 
+
    +
  • +
  • +
  • +
  • +
+ + + + + + +
+ + + + + + + + +
+ + + + + + + + + + + + +
+
+
+ 院内新闻 + 您所在的位置: + + +首页 +> + + + +院内新闻 + +> + +
+
+
  • +《中国社会科学报》专版介绍我校国别与区域研究新进展2018-12-19
  • + + +
  • +外国语学院举办2018年外籍教师座谈会2018-12-21
  • + + +
  • +我院开展本科新生入学教育第七场报告会2018-12-14
  • + + +
  • +我校2018年外语活动月成功落下帷幕2018-12-12
  • + + +
  • +我院四位学生在“师范院校英语专业学生教学素质风采展示活动”中取得佳绩2018-12-12
  • + + +
  • +我院开展学生冬季心理排查及宿舍走访2018-12-06
  • + + +
  • +唯实求新,青春激昂2018-12-03
  • + + +
  • +呼和浩特民族学院外语系肖查娜主任一行来我院交流2018-11-29
  • + + +
  • +我校荣获“华北华中区优秀UKVI雅思考点”称号2018-11-29
  • + + +
  • +“博学术经纬,议思想纵横”2018-11-28
  • + + +
  • +西北农林科技大学外语系来我院调研2018-11-23
  • + + +
  • +厦门大学外文学院来我院调研2018-11-22
  • + + +
  • +优秀校友系列之:1983届杨晓云2018-11-19
  • + + +
  • +外国语学院白靖宇教授受邀在我校外语活动月之学术论坛作专题报告2018-11-18
  • + + +
  • +张韧教授受邀参加全国首届认知语法专题论坛2018-11-14
  • + + +
    +
    +
    共210条  1/14 
    上页123456..14
    +
    +
    +
+
+
+
+
+
+
+ + + + diff --git a/test/html/snnu_wyxy_notice.html b/test/html/snnu_wyxy_notice.html new file mode 100644 index 0000000..157a8af --- /dev/null +++ b/test/html/snnu_wyxy_notice.html @@ -0,0 +1,296 @@ + + + + +公告通知-外国语学院网站 + + + + + + + + + + + + + +
+
+ +
+
+ +
+ + + + + + + + + + +公告通知 + + + +
+ +
 
+
    +
  • +
  • +
  • +
  • +
+ + + + + + +
+ + + + + + + + +
+ + + + + + + + + + + + +
+
+
+ 公告通知 + 您所在的位置: + + +首页 +> + + + +公告通知 + +> + +
+
+ +
+
+
+
+
+
+ + + + diff --git a/test/html/snnu_xsc_news.html b/test/html/snnu_xsc_news.html new file mode 100644 index 0000000..c036561 --- /dev/null +++ b/test/html/snnu_xsc_news.html @@ -0,0 +1,747 @@ + + + + + + +
+ +
+ + + + + + + + +Ѷ-ʦѧѧվ-֧֣ + + + + + + + + + + + + +
+ + + + + +
+ + + + + + + + + + + + +
ѧУҳ   Ϊҳ   ղ
+ + + + + + +
+
+
+ + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + +
+ +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+
+ + + + + +
+ + + + + + + + + + +
+ + + + +
+ + + + + + + +
Ѷ
+ + + + + + + + + + + +
+
+ + + + +
+ + + + +
+
+ + + + +
+ + + + + + + + + + +
+ + + + + +
Ѷλãҳ > + Ѷ +
+ + + + +
+ + + + +
+ + + + + + +
/ 2018-12-24 /  ʮһڡ´á
+ + + + + + +
/ 2018-12-21 /  Ҳع¸ѧ˹
+ + + + + + +
/ 2018-12-20 /  УٿѧԺǹ
+ + + + + + +
/ 2018-12-19 /  Ӧ ʵ ůУ벢2018ѧ
+ + + + + + +
/ 2018-12-18 /  ѧ֯ѧտףĸ↑40
+ + + + + + +
/ 2018-12-18 /  ѧ֧֯տףĸ↑40
+ + + + + + +
/ 2018-12-17 /  У2018ʵĿ
+ + + + + + +
/ 2018-12-14 /  Уٿ2018ꡰҶʥսѧ𡱰䷢ʽ
+ + + + + + +
/ 2018-12-13 /  ίѧ(ѧ)ٿ2018-2019ѧȵһѧڵ5δ
+ + + + + + +
/ 2018-12-13 /  Уٿ2018ȡѧ𡱰䷢ʽ
+ + + + + + +
/ 2018-12-10 /  ŹҸԱŶӿչѧ罨輰ѧҵʾר
+ + + + + + +
/ 2018-12-09 /  УС΢·ԶС־׶Сѧ
+ + + + + + +
/ 2018-12-06 /  2018ꡰůͬСУ»У
+ + + + + + +
/ 2018-12-05 /  ѧѯָٿѧר
+ + + + + + +
/ 2018-12-03 /  У2018ꡰüѧ𡱰䷢ʽ
+ + + + + + +
/ 2018-12-03 /  У֯չ2018д»Ŀ ڴ
+ + + + + + +
/ 2018-12-03 /  ְҵʦѧѧͬУѧ
+ + + + + + +
/ 2018-11-30 /  ȫᾫ Ϊѧ֧
+ + + + + + +
/ 2018-11-30 /  ϲƾѧѧͬʵУѧ
+ + + + + + +
/ 2018-11-29 /  Ҳٿڹѧ취2018޶ѧ
+ + + + + + +
/ 2018-11-29 /  ½У½ѧ
+ + + + + + +
/ 2018-11-29 /  Ҳٿѧϰ᳹ȫᾫֻ
+ + + + + + +
/ 2018-11-27 /  У¡ؾ2017-2018ѧѧϵͳô
+ + + + + + +
/ 2018-11-26 /  ίѧѧٿѧڵ4δ
+ + + + + + +
/ 2018-11-26 /  ѧٿѧԺվ걨
+ + + + + +
+ + + + +
+ +
+ + + + + + + + + + + + +
ҳһҳһҳĩҳ     [ 70 ] ҳ   ǵ [ 1 ] ҳ   + ת + ҳ +
+
+ +
+
+
+
+
+ + + + + + +
+ + + + + + + + \ No newline at end of file diff --git a/test/html/snnu_xsc_notice.html b/test/html/snnu_xsc_notice.html new file mode 100644 index 0000000..7eefe4a --- /dev/null +++ b/test/html/snnu_xsc_notice.html @@ -0,0 +1,691 @@ + + + + + + +
+ +
+ + + + + + + + +֪ͨ-ʦѧѧվ-֧֣ + + + + + + + + + + + + +
+ + + + + +
+ + + + + + + + + + + + +
ѧУҳ   Ϊҳ   ղ
+ + + + + + +
+
+
+ + + + + + + +
+
+
+
+ + + + +
+ + + + + + + + + + + + + +
+ +
+ + + + +
+ + + + +
+ + + + +
+ + + + + +
+
+ + + + + +
+ + + + + + + + + + +
+ + + + +
+ + + + + + + +
֪ͨ
+ + + + + + + + + +
+
+ + + + +
+ + + + +
+
+ + + + +
+ + + + + + + + + + +
+ + + + + +
֪ͨλãҳ > + ֪ͨ +
+ + + + +
+ + + + +
+ + + + + + +
/ 2018-12-24 /  ֯Ա걨ʮڸԱڸУ֪ͨ
+ + + + + + +
/ 2018-12-19 /  ´õʮһ¿θĿôʵ
+ + + + + + +
/ 2018-12-19 /  2018ʵĿ֪ͨ
+ + + + + + +
/ 2018-12-19 /  ڱ2018ҽѧѧ¼ϵ֪ͨ
+ + + + + + +
/ 2018-12-17 /  Уѧȫ֪ͨ
+ + + + + + +
/ 2018-12-17 /  ֯ѧտѧϰףĸ↑40֪ͨ
+ + + + + + +
/ 2018-12-17 /  1216ѧͨ
+ + + + + + +
/ 2018-12-14 /  ȫУѧ뿪չĽһѡ ֪ͨ
+ + + + + + +
/ 2018-12-13 /  ڿչԼڶ˵ջ֪ͨ
+ + + + + + +
/ 2018-12-12 /  ڶ2017ʵĿн֪ͨ
+ + + + + + +
/ 2018-12-11 /  ٿ2018ꡰҶʥսѧ𡱰䷢ʽ֪ͨ
+ + + + + + +
/ 2018-12-11 /  ٿѧ𡱰䷢ʽ֪ͨ
+ + + + + + +
/ 2018-12-10 /  129ѧͨ
+ + + + + + +
/ 2018-12-07 /  ѧϵͳѧϰ᳹ȫᾫ֪ͨ
+ + + + + + +
/ 2018-12-05 /  2018д»Ŀڴʾ֪ͨ
+ + + + + + +
/ 2018-12-03 /  122ѧͨ
+ + + + + + +
/ 2018-12-02 /  ڿչ2018ꡰůͬ У»֪ͨ
+ + + + + + +
/ 2018-11-27 /  ѧԺվĹʾ
+ + + + + + +
/ 2018-11-26 /  2017-2018ѧѧԺѧЧͨ
+ + + + + + +
/ 2018-11-26 /  ڱУʮ조Ž¡֯λȽ˼Ʒľ
+ + + + + + +
/ 2018-11-26 /  ھ20172018ѧѧϵͳô֪ͨ
+ + + + + + +
/ 2018-11-26 /  ڿչ2018궬ѧΣŲ͸Ԥ֪ͨ
+ + + + + + +
/ 2018-11-26 /  1125ѧͨ
+ + + + + + +
/ 2018-11-25 /  ڶ֪ͨͨ
+ + + + + + +
/ 2018-11-21 /  ڵڡ롷¼֪ͨ
+ + + + + +
+ + + + +
+ +
+ + + + + + + + + + + + +
ҳһҳһҳĩҳ     [ 48 ] ҳ   ǵ [ 1 ] ҳ   + ת + ҳ +
+
+ +
+
+
+
+
+ + + + + + +
+ + + + + + + + \ No newline at end of file diff --git a/test/test_configs.py b/test/test_configs.py deleted file mode 100644 index d8e17e6..0000000 --- a/test/test_configs.py +++ /dev/null @@ -1,75 +0,0 @@ -''' -Created on Oct 8, 2018 - -@author: QiZhao -''' -# show config -SCHOOL_NAME = '陕师大' -VERSION = 'v0.2.0' -AUTHOR_NAME = 'QiZhao' -AUTHOR_EMAIL = 'zhaoqi99@outlook.com' - -# twillo config -ACCOUNT_ID = '' -AUTH_TOKEN = '' -TWILIO_NUMBER = '' - -# send_email config -FROM_ADDR = "" -PASSWORD = "" -EMAIL_PORT = 0 -EMAIL_SERVER = '' - -# Log Config -LOG_ENABLED = True - -# spider config -SPIDER_CONFIG = [ - { - 'subject_EN': 'snnu_index', - 'subject_CN': '师大主页', - 'url': 'http://www.snnu.edu.cn/tzgg.htm', - 'url_main': 'http://www.snnu.edu.cn/info/1085/', - 'rule': 'info/1085/(?P\d+\.htm)" target="_blank">(?P[\s\S]{5,100})((?P<date>\d*-\d*-\d*))', - 'coding': 'utf-8' - }, - { - 'subject_EN': 'snnu_css', - 'subject_CN': '计科院主页', - 'url': 'http://ccs.snnu.edu.cn/tzgg.htm', 'url_main': 'http://ccs.snnu.edu.cn/', - 'rule': '<a target="_blank" href="(?P<link>[^"]*)">(?P<title>[^( </)]*)[^"]*"[^>]*>(?P<date>\d*-\d*-\d*)', - 'coding': 'utf-8' - }, - { - 'subject_EN': 'snnu_jwc', - 'subject_CN': '教务处主页', - 'url': 'http://jwc.snnu.edu.cn/news_more.xhm?lm=2', - 'url_main': 'http://jwc.snnu.edu.cn/html/news_view.xhm?newsid=', - 'rule': 'newsid=(?P<link>\d*)" [^ ]* title="(?P<title>[^(">)]*)[^<]*[^(]*\((?P<date>\d*/\d*/\d*)', - 'coding': 'gbk' - }, - { - 'subject_EN': 'snnu_xsc', - 'subject_CN': '学生处主页', - 'url': 'http://www.xsc.snnu.edu.cn/Announcements.asp', - 'url_main': 'http://www.xsc.snnu.edu.cn/Announcements.asp?id=144&bh=', - 'rule': 'gk3">(?P<date>\d*-\d*-\d*)[^;]*;[^;]*;[^;]*;[^;]*;bh=(?P<link>\d*)[^>]*>(?P<title>[^</]*)', - 'coding': 'gbk' - }, - { - 'subject_EN': 'snnu_lib', - 'subject_CN': '图书馆主页', - 'url': 'http://www.lib.snnu.edu.cn/action.do?webid=w-d-bggg-l', - 'url_main': 'http://www.lib.snnu.edu.cn/action.do?webid=w-l-showmsg>ype=a&pid=', - 'rule': 'pid=(?P<link>\d*)[\s\S]{20,57}>(?P<title>[^<]*)</[af][\S\s]{18,70}(?P<date>\d{4}-\d*-\d*)', - 'coding': 'utf-8' - }, - { - 'subject_EN': 'snnu_clxy', - 'subject_CN': '材料院', - 'url': 'http://clxy.snnu.edu.cn/home/list/?bh=008', - 'url_main': 'http://clxy.snnu.edu.cn/Home/show/', - 'rule': 'show[/](?P<link>\d*)"[\s\S]{1,}?"(?P<title>[\s\S]{1,}?)"[^<]{1,}?</a>[\S\s]{1,200}<td align="center">[^\d]*(?P<date>\d*-\d*-\d*)', - 'coding': 'utf-8' - } -] diff --git a/test/test_single_spider.py b/test/test_single_spider.py deleted file mode 100644 index 49f9e98..0000000 --- a/test/test_single_spider.py +++ /dev/null @@ -1,99 +0,0 @@ -''' -Created on Oct 15, 2018 - -@author: QiZhao -''' -from spider import Spider - - -def test(dic): - try: - status, data = Spider(dic['url'], dic['url_main'], dic['rule'], dic['subject_CN'], - dic['subject_EN'], dic['coding']) - print(status) - print(data) - except Exception as e: - print(e) - - -def test_index(): - dic = { - 'subject_EN': 'snnu_index', - 'subject_CN': '师大主页', - 'url': 'http://www.snnu.edu.cn/tzgg.htm', - 'url_main': 'http://www.snnu.edu.cn/info/1085/', - 'rule': 'info/1085/(?P<link>\d+\.htm)" target="_blank">(?P<title>[\s\S]{5,100})((?P<date>\d*-\d*-\d*))', - 'coding': 'utf-8' - } - test(dic) - - -def test_css(): - dic = { - 'subject_EN': 'snnu_css', - 'subject_CN': '计科院主页', - 'url': 'http://ccs.snnu.edu.cn/tzgg.htm', 'url_main': 'http://ccs.snnu.edu.cn/', - 'rule': '<a target="_blank" href="(?P<link>[^"]*)">(?P<title>[^( </)]*)[^"]*"[^>]*>(?P<date>\d*-\d*-\d*)', - 'coding': 'utf-8' - } - test(dic) - - -def test_jwc(): - dic = { - 'subject_EN': 'snnu_jwc', - 'subject_CN': '教务处主页', - 'url': 'http://jwc.snnu.edu.cn/news_more.xhm?lm=2', - 'url_main': 'http://jwc.snnu.edu.cn/html/news_view.xhm?newsid=', - 'rule': 'newsid=(?P<link>\d*)" [^ ]* title="(?P<title>[^(">)]*)[^<]*[^(]*\((?P<date>\d*/\d*/\d*)', - 'coding': 'gbk' - } - test(dic) - - -def test_xsc(): - dic = { - 'subject_EN': 'snnu_xsc', - 'subject_CN': '学生处主页', - 'url': 'http://www.xsc.snnu.edu.cn/Announcements.asp', - 'url_main': 'http://www.xsc.snnu.edu.cn/Announcements.asp?id=144&bh=', - 'rule': 'gk3">(?P<date>\d*-\d*-\d*)[^;]*;[^;]*;[^;]*;[^;]*;bh=(?P<link>\d*)[^>]*>(?P<title>[^</]*)', - 'coding': 'gbk' - } - test(dic) - - -def test_lib(): - dic = { - 'subject_EN': 'snnu_lib', - 'subject_CN': '图书馆主页', - 'url': 'http://www.lib.snnu.edu.cn/action.do?webid=w-d-bggg-l', - 'url_main': 'http://www.lib.snnu.edu.cn/action.do?webid=w-l-showmsg>ype=a&pid=', - 'rule': 'pid=(?P<link>\d*)[\s\S]{20,57}>(?P<title>[^<]*)</[af][\S\s]{18,70}(?P<date>\d{4}-\d*-\d*)', - 'coding': 'utf-8' - } - test(dic) - - -def test_clxy(): - dic = { - 'subject_EN': 'snnu_clxy', - 'subject_CN': '材料院', - 'url': 'http://clxy.snnu.edu.cn/home/list/?bh=008', - 'url_main': 'http://clxy.snnu.edu.cn/Home/show/', - 'rule': 'show[/](?P<link>\d*)"[\s\S]{1,}?"(?P<title>[\s\S]{1,}?)"[^<]{1,}?</a>[\S\s]{1,200}<td align="center">[^\d]*(?P<date>\d*-\d*-\d*)', - 'coding': 'utf-8' - } - test(dic) - - -def main(): - test_index() - test_css() - test_jwc() - test_xsc() - test_lib() - test_clxy() - -if __name__ == '__main__': - main() diff --git a/test/test_spider.py b/test/test_spider.py index 4bd7711..d5ecc58 100644 --- a/test/test_spider.py +++ b/test/test_spider.py @@ -1,95 +1,24 @@ ''' -Created on Oct 8, 2018 +Created on Oct 10, 2018 @author: QiZhao ''' -from spider import * -from traceback import format_exc from tool import * -from test_configs import * -from configs import LOG_ENABLED - - -def test_re_group(): - url = 'http://www.lib.snnu.edu.cn/action.do?webid=w-d-bggg-l' - response = urllib.request.urlopen(url) - data = response.read().decode('utf-8') - rule = 'pid=(?P<link>\d*)[\s\S]{20,57}>(?P<title>[^<]*)</[af][\S\s]{18,70}(?P<date>\d{4}-\d*-\d*)' - pattern = re.compile(rule, re.S) - m = pattern.finditer(data) - for mm in m: - print(mm.groupdict()) - - -def test_Spider_data_1(): - url = 'http://www.lib.snnu.edu.cn/action.do?webid=w-d-bggg-l' - rule = 'pid=(?P<link>\d*)[\s\S]{20,57}>(?P<title>[^<]*)</[af][\S\s]{18,70}(?P<date>\d{4}-\d*-\d*)' - data_use = Spider_data(url, rule) - print(data_use) - - -def test_Spider_data_2(): - url = 'http://www.xsc.snnu.edu.cn/Announcements.asp' - rule = 'gk3">(?P<date>\d*-\d*-\d*)[^;]*;[^;]*;[^;]*;[^;]*;bh=(?P<link>\d*)[^>]*>(?P<title>[^</]*)' - data_use = Spider_data(url, rule, 'gbk') - print(data_use) - - -def test_dict_oper(): - url = 'http://www.xsc.snnu.edu.cn/Announcements.asp' - rule = 'gk3">(?P<date>\d*-\d*-\d*)[^;]*;[^;]*;[^;]*;[^;]*;bh=(?P<link>\d*)[^>]*>(?P<title>[^</]*)' - data_use = Spider_data(url, rule, 'gbk') - for item_dict in data_use: - item_dict['link'] += 'test' - print(data_use) - - -def test_Data_processing(): - url = 'http://www.xsc.snnu.edu.cn/Announcements.asp' - rule = 'gk3">(?P<date>\d*-\d*-\d*)[^;]*;[^;]*;[^;]*;[^;]*;bh=(?P<link>\d*)[^>]*>(?P<title>[^</]*)' - data = Spider_data(url, rule, 'gbk') - status, new_data = Data_processing('test', data, "Main") - print(status) - print(new_data) - - -def test_spider_config(): - print(SPIDER_CONFIG) - for dic in SPIDER_CONFIG: - print(dic) - for key in dic: - print(key + ':' + dic[key] + ',', end='') - - -def test_Spider(): - spider_list = SPIDER_CONFIG - for dic in spider_list: - try: - status, data = Spider(dic['url'], dic['url_main'], dic['rule'], dic['subject_CN'], - dic['subject_EN'], dic['coding'], LOG_ENABLED) - print(status) - print(data) - except Exception as e: - print('Exception: ', e) - Error_log = '异常信息如下:\n' + format_exc() + '-' * 70 + '\n' - Log_Write('Exception', Error_log, 0) - finally: - print('-' * 51) - - -def main(): - Mkdir('Log') - Mkdir('Data') - Mkfile('Log/' + 'Exception_log.log') - sqlhelper.CreateDatabase('database') - test_re_group() - test_Spider_data_1() - test_Spider_data_2() - test_dict_oper() - test_Data_processing() - test_spider_config() - test_Spider() - - -if __name__ == '__main__': - main() +import unittest +from spider import * +import configs_sample1 + +class TestSpider(unittest.TestCase): + "Test tool.py" + + def test_spider_date(self): + for dic in configs_sample1.SPIDER_CONFIG: + try: + ret=spider(dic['url'],dic['rule'], dic['coding']) + self.assertTrue(len(ret)>0) + except Exception: + pass + +if __name__ == "__main__": + #import sys;sys.argv = ['', 'Test.testName'] + unittest.main() \ No newline at end of file diff --git a/test/test_tool.py b/test/test_tool.py index db99b97..bbd3b98 100644 --- a/test/test_tool.py +++ b/test/test_tool.py @@ -4,27 +4,23 @@ @author: QiZhao ''' from tool import * - - -def main(): - Mkdir('Log') - Mkdir('Log') - - Mkfile('Log/' + 'Exception_log.log') - - Mkfile('Data/test.md', 1) - Mkfile('Data/test.md', 0) - - Mkfile('Data/test2.md', 1) - Mkfile('Data/test2.md', 1) - - Log_Write('test_str', 'test_str\n') - test_list = [['test1_1', 'test1_2', 'test1_3'], - ['test2_1', 'test2_2', 'test2_3']] - Log_Write('test_list', test_list) - - print(time_text()) - - -if __name__ == '__main__': - main() +import unittest + +class TestTool(unittest.TestCase): + "Test tool.py" + + def test_Mkdir(self): + temp=os.getcwd() + self.assertEqual(False,os.path.exists(temp+"/test1")) + Mkdir("test1") + self.assertNotEqual(False,os.path.exists(temp+"/test1")) + + def test_Mkfile(self): + temp=os.getcwd() + self.assertEqual(False,os.path.exists(temp+"/test.in")) + Mkfile("test.in") + self.assertNotEqual(False,os.path.exists(temp+"/test.in")) + +if __name__ == "__main__": + #import sys;sys.argv = ['', 'Test.testName'] + unittest.main() \ No newline at end of file From 14ea6b80e6aa17e0d8035b80b6828d5c9a53f6f3 Mon Sep 17 00:00:00 2001 From: Qi Zhao <zhaoqi99@outlook.com> Date: Mon, 24 Dec 2018 18:10:45 +0800 Subject: [PATCH 13/15] =?UTF-8?q?=E6=B7=BB=E5=8A=A0requirements.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- requirements.txt | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..22485a8 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,13 @@ +beautifulsoup4==4.6.3 +bs4==0.0.1 +certifi==2018.11.29 +chardet==3.0.4 +idna==2.8 +PyJWT==1.7.1 +PyMySQL==0.9.3 +PySocks==1.6.8 +pytz==2018.7 +requests==2.21.0 +six==1.12.0 +twilio==6.22.0 +urllib3==1.24.1 From 521f68ecd17302030a5929bbd11a30e66bfb31a1 Mon Sep 17 00:00:00 2001 From: Qi Zhao <zhaoqi99@outlook.com> Date: Mon, 24 Dec 2018 18:12:38 +0800 Subject: [PATCH 14/15] =?UTF-8?q?test:=20=E4=BF=AE=E6=94=B9.travis.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .travis.yml | 9 ++------- test/test_tool.py | 26 -------------------------- 2 files changed, 2 insertions(+), 33 deletions(-) delete mode 100644 test/test_tool.py diff --git a/.travis.yml b/.travis.yml index 8681760..5dfd23c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,13 +3,8 @@ sudo: true python: - "3.6" install: - - pip install twilio - - pip install pypyodbc + - pip install -r requirements.txt script: - cp src/* test/ - cd test - - python test_spider.py - - python test_spider.py - - python test_tool.py - - python test_tool.py - - python test_single_spider.py + - /usr/bin/time -v python test_spider.py \ No newline at end of file diff --git a/test/test_tool.py b/test/test_tool.py deleted file mode 100644 index bbd3b98..0000000 --- a/test/test_tool.py +++ /dev/null @@ -1,26 +0,0 @@ -''' -Created on Oct 10, 2018 - -@author: QiZhao -''' -from tool import * -import unittest - -class TestTool(unittest.TestCase): - "Test tool.py" - - def test_Mkdir(self): - temp=os.getcwd() - self.assertEqual(False,os.path.exists(temp+"/test1")) - Mkdir("test1") - self.assertNotEqual(False,os.path.exists(temp+"/test1")) - - def test_Mkfile(self): - temp=os.getcwd() - self.assertEqual(False,os.path.exists(temp+"/test.in")) - Mkfile("test.in") - self.assertNotEqual(False,os.path.exists(temp+"/test.in")) - -if __name__ == "__main__": - #import sys;sys.argv = ['', 'Test.testName'] - unittest.main() \ No newline at end of file From c788238e2c08f00c444eeb1516865583f13f9542 Mon Sep 17 00:00:00 2001 From: Qi Zhao <zhaoqi99@outlook.com> Date: Mon, 24 Dec 2018 20:08:52 +0800 Subject: [PATCH 15/15] Modify README --- README.md | 87 +++++++++++++++++++++++++++++++------------------ README.zh-CN.md | 86 ++++++++++++++++++++++++++++++------------------ 2 files changed, 109 insertions(+), 64 deletions(-) diff --git a/README.md b/README.md index 129dcb7..3a10898 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ An application of using python to check notifications update for various campus - [x] Send log、check udate log - [x] log function optional - [ ] The department which each user need to be reminded is optional -- [x] Database storage +- [x] Database storage/file storge ## Dependencies * [Python](http://www.python.org/) @@ -67,47 +67,70 @@ Whether logs can be logged in the log file, which is true by default ``` LOG_ENABLED = True ``` + +### Save Type Config +The type of storging data,including file storge,mysql storge +``` +SAVE_TYPE = 'MYSQL' +SAVE_TYPE = 'File' +``` +### Show Right Config +Whether show the information of copyright. +``` +SHOW_RIGHT = False +``` + ### Spider Config -Crawler configuration,including: department type (EN), department type (CN), "more notifications " page link, link public part, regular expression, Web page encoding format -subject_ENf: File name of data file -subject_CN: Used to display in logs, message headers +Crawler configuration,including: department type (EN), department type (CN), "more notifications " page link, link public part, regular expression, Web page encoding format,type(notice/news) +department_EN: File name of data file +department_CN: Used to display in logs, message headers **Warning: There must be three groups in the regular expression, which the name must be ` link,date,title`** Such as:`info/1085/(?P<link>\d+\.htm)" target="_blank">(?P<title>[\s\S]{5,100})((?P<date>\d*-\d*-\d*))` ```python SPIDER_CONFIG = [ -{ - 'subject_EN':'', - 'subject_CN':'', - 'url': '', - 'url_main' : '', - 'rule' : '', - 'coding':'' -}, -{ - 'subject_EN':'', - 'subject_CN':'', - 'url': '', - 'url_main' : '', - 'rule' : '', - 'coding':'' -} - ] + { + 'department_EN': '', + 'department_CN': '', + 'url': '', + 'url_main': '', + 'rule': '', + 'coding': '', + 'type': '' + }, + { + 'department_EN': '', + 'department_CN': '', + 'url': '', + 'url_main': '', + 'rule': '', + 'coding': '', + 'type': '' + } +] ``` Here is an example about crawler configuration: #### Example ```python SPIDER_CONFIG = [ -{ -'subject_EN':'snnu_index', 'subject_CN':'师大主页', 'url': 'http://www.snnu.edu.cn/tzgg.htm', 'url_main' : 'http://www.snnu.edu.cn/info/1085/', - 'rule' : 'info/1085/(?P<link>\d+\.htm)" target="_blank">(?P<title>[\s\S]{5,100})((?P<date>\d*-\d*-\d*))','coding':'utf-8'}, -{'subject_EN':'snnu_css', 'subject_CN':'计科院主页', 'url': 'http://ccs.snnu.edu.cn/tzgg.htm', 'url_main' : 'http://ccs.snnu.edu.cn/' -, 'rule' : '<a target="_blank" href="(?P<link>[^"]*)">(?P<title>[^( </)]*)[^"]*"[^>]*>(?P<date>\d*-\d*-\d*)','coding':'utf-8'}, -{'subject_EN':'snnu_jwc', 'subject_CN':'教务处主页', 'url': 'http://jwc.snnu.edu.cn/news_more.xhm?lm=2', 'url_main' : 'http://jwc.snnu.edu.cn/html/news_view.xhm?newsid=', - 'rule' : 'newsid=(?P<link>\d*)" [^ ]* title="(?P<title>[^(">)]*)[^<]*[^(]*\((?P<date>\d*/\d*/\d*)','coding':'gbk'}, -{'subject_EN':'snnu_xsc', 'subject_CN':'学生处主页', 'url': 'http://www.xsc.snnu.edu.cn/Announcements.asp', 'url_main' : 'http://www.xsc.snnu.edu.cn/Announcements.asp?id=144&bh=', - 'rule' : 'gk3">(?P<date>\d*-\d*-\d*)[^;]*;[^;]*;[^;]*;[^;]*;bh=(?P<link>\d*)[^>]*>(?P<title>[^</]*)','coding':'gbk'}, -{'subject_EN':'snnu_lib', 'subject_CN':'图书馆主页', 'url': 'http://www.lib.snnu.edu.cn/action.do?webid=w-d-bggg-l', 'url_main' : 'http://www.lib.snnu.edu.cn/action.do?webid=w-l-showmsg>ype=a&pid=', - 'rule' : 'pid=(?P<link>\d*)[\s\S]{20,57}>(?P<title>[^<]*)</[af][\S\s]{18,70}(?P<date>\d{4}-\d*-\d*)','coding':'utf-8'}] + { + 'department_EN': 'snnu_index', + 'department_CN': '学校主页', + 'url': 'http://www.snnu.edu.cn/tzgg.htm', + 'url_main': 'http://www.snnu.edu.cn/info/1085/', + 'rule': 'info/1085/(?P<link>\d+\.htm)" target="_blank">(?P<title>[\s\S]{5,100})((?P<date>\d*-\d*-\d*))', + 'coding': 'utf-8', + 'type': '通知' + }, + { + 'department_EN': 'snnu_index', + 'department_CN': '学校主页', + 'url': 'http://www.snnu.edu.cn/sdxw.htm', + 'url_main': 'http://www.snnu.edu.cn/info/1084/', + 'rule': 'info/1084/(?P<link>\d+.htm)" target="_blank" title="(?P<title>[^"]+?)"><[^<]+?<[^<]+?<[^<]+?<p class="qh-wide-pushtime">(?P<date>\d*-\d*-\d*)', + 'coding': 'utf-8', + 'type': '新闻' + } +] ``` ## Packaging exe(Windows) 1. Install pywin32 diff --git a/README.zh-CN.md b/README.zh-CN.md index 1a165e7..faeb155 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -21,7 +21,7 @@ - [x] 发送日志、更新检查日志 - [x] 日志功能可选 - [ ] 每个用户要提醒的部门可选 -- [x] 数据库存储 +- [x] 数据库存储/文件存储 ## 依赖项 * [Python](http://www.python.org/) @@ -66,48 +66,70 @@ AUTHOR_EMAIL = '' ``` LOG_ENABLED = True ``` +### Save Type Config +数据存储类型,分为文件存储,数据库存储 +``` +SAVE_TYPE = 'MYSQL' +SAVE_TYPE = 'File' +``` +### Show Right Config +是否显示版权信息 +``` +SHOW_RIGHT = False +``` + ### Spider Config -爬虫的相关配置,包括:部门类型(EN),部门类型(CN)中,"更多通知"页的链接,链接的公共部分,正则表达式,网页编码格式 -subject_EN:数据文件的文件名 -subject_CN:用于在日志、邮件标题中显示 +爬虫的相关配置,包括:部门名称(EN),部门名称(CN)中,"更多通知"页的链接,链接的公共部分,正则表达式,网页编码格式,类型(通知/新闻) +department_EN:数据文件的文件名 +department_CN:用于在日志、邮件标题中显示 **警告:正则表达式中必须有三个分组,且名称必须为`link,date,title`** 如:`info/1085/(?P<link>\d+\.htm)" target="_blank">(?P<title>[\s\S]{5,100})((?P<date>\d*-\d*-\d*))` ```python SPIDER_CONFIG = [ -{ - 'subject_EN':'', - 'subject_CN':'', - 'url': '', - 'url_main' : '', - 'rule' : '', - 'coding':'' -}, -{ - 'subject_EN':'', - 'subject_CN':'', - 'url': '', - 'url_main' : '', - 'rule' : '', - 'coding':'' -} - ] + { + 'department_EN': '', + 'department_CN': '', + 'url': '', + 'url_main': '', + 'rule': '', + 'coding': '', + 'type': '' + }, + { + 'department_EN': '', + 'department_CN': '', + 'url': '', + 'url_main': '', + 'rule': '', + 'coding': '', + 'type': '' + } +] ``` 这里有一个爬虫配置的例子: #### 例子 ```python SPIDER_CONFIG = [ -{ -'subject_EN':'snnu_index', 'subject_CN':'师大主页', 'url': 'http://www.snnu.edu.cn/tzgg.htm', 'url_main' : 'http://www.snnu.edu.cn/info/1085/', - 'rule' : 'info/1085/(?P<link>\d+\.htm)" target="_blank">(?P<title>[\s\S]{5,100})((?P<date>\d*-\d*-\d*))','coding':'utf-8'}, -{'subject_EN':'snnu_css', 'subject_CN':'计科院主页', 'url': 'http://ccs.snnu.edu.cn/tzgg.htm', 'url_main' : 'http://ccs.snnu.edu.cn/' -, 'rule' : '<a target="_blank" href="(?P<link>[^"]*)">(?P<title>[^( </)]*)[^"]*"[^>]*>(?P<date>\d*-\d*-\d*)','coding':'utf-8'}, -{'subject_EN':'snnu_jwc', 'subject_CN':'教务处主页', 'url': 'http://jwc.snnu.edu.cn/news_more.xhm?lm=2', 'url_main' : 'http://jwc.snnu.edu.cn/html/news_view.xhm?newsid=', - 'rule' : 'newsid=(?P<link>\d*)" [^ ]* title="(?P<title>[^(">)]*)[^<]*[^(]*\((?P<date>\d*/\d*/\d*)','coding':'gbk'}, -{'subject_EN':'snnu_xsc', 'subject_CN':'学生处主页', 'url': 'http://www.xsc.snnu.edu.cn/Announcements.asp', 'url_main' : 'http://www.xsc.snnu.edu.cn/Announcements.asp?id=144&bh=', - 'rule' : 'gk3">(?P<date>\d*-\d*-\d*)[^;]*;[^;]*;[^;]*;[^;]*;bh=(?P<link>\d*)[^>]*>(?P<title>[^</]*)','coding':'gbk'}, -{'subject_EN':'snnu_lib', 'subject_CN':'图书馆主页', 'url': 'http://www.lib.snnu.edu.cn/action.do?webid=w-d-bggg-l', 'url_main' : 'http://www.lib.snnu.edu.cn/action.do?webid=w-l-showmsg>ype=a&pid=', - 'rule' : 'pid=(?P<link>\d*)[\s\S]{20,57}>(?P<title>[^<]*)</[af][\S\s]{18,70}(?P<date>\d{4}-\d*-\d*)','coding':'utf-8'}] + { + 'department_EN': 'snnu_index', + 'department_CN': '学校主页', + 'url': 'http://www.snnu.edu.cn/tzgg.htm', + 'url_main': 'http://www.snnu.edu.cn/info/1085/', + 'rule': 'info/1085/(?P<link>\d+\.htm)" target="_blank">(?P<title>[\s\S]{5,100})((?P<date>\d*-\d*-\d*))', + 'coding': 'utf-8', + 'type': '通知' + }, + { + 'department_EN': 'snnu_index', + 'department_CN': '学校主页', + 'url': 'http://www.snnu.edu.cn/sdxw.htm', + 'url_main': 'http://www.snnu.edu.cn/info/1084/', + 'rule': 'info/1084/(?P<link>\d+.htm)" target="_blank" title="(?P<title>[^"]+?)"><[^<]+?<[^<]+?<[^<]+?<p class="qh-wide-pushtime">(?P<date>\d*-\d*-\d*)', + 'coding': 'utf-8', + 'type': '新闻' + } +] ``` ## 打包exe(Windows) 1. 安装pywin32