iclientpy.rest package

Submodules

iclientpy.rest.apifactory module

class iclientpy.rest.apifactory.APIFactory(base_url: str, username: str = None, passwd: str = None, token: str = None, proxies=None)[源代码]

基类:object

服务api的工厂类,生产服务的api

__init__(base_url: str, username: str = None, passwd: str = None, token: str = None, proxies=None)[源代码]
参数:
  • base_url -- 服务的地址
  • username -- 服务需要登录的用户名
  • passwd -- 服务需要登录的密码
  • token -- 服务可以访问的token
  • proxies -- 设置代理服务器地址
data_service(service_name: str) → iclientpy.rest.api.restdata.DataService[源代码]

返回指定服务的相关数据的api

参数:service_name -- 服务名称
返回:返回iServer指定服务的api
datacatalog_service(service_name: str = 'datacatalog/rest') → iclientpy.rest.api.datacatalog.Datacatalog[源代码]

返回数据目录服务api

参数:service_name -- 服务名称,默认为datacatalog/rest
返回:返回iServer数据目录服务api
distributedanalyst_service(service_name: str = 'distributedanalyst/rest', version: str = 'v1') → iclientpy.rest.api.distributedanalyst.DistributedAnalyst[源代码]

返回分布式分析服务的api

参数:
  • service_name -- 服务名称,默认为distributedanalyst/rest
  • version -- 版本,默认为v1
返回:

返回iServer分布式分析相关api

management() → iclientpy.rest.api.management.Management[源代码]

iServer管理类的api

返回:返回iServer服务管理类的api
map_service(service_name: str) → iclientpy.rest.api.restmap.MapService[源代码]

返回指定地图服务的相关数据的api

参数:service_name -- 服务名称
返回:返回iServer指定服务的api
security_management() → iclientpy.rest.api.securitymanagement.SecurityManagement[源代码]

iServer安全的api

返回:返回iServer安全的api
security_service() → iclientpy.rest.api.securityservice.SecurityService[源代码]

返回安全类服务的api

返回:返回iServer安全相关的api
servicespage()[源代码]
class iclientpy.rest.apifactory.CookieAuth(cookie_value: str, cookie_name: str = 'JSESSIONID')[源代码]

基类:requests.auth.AuthBase

CookieAuth是身份认证的基础类,用于记录身份认证请求头Cookie中包含的key,value

__init__(cookie_value: str, cookie_name: str = 'JSESSIONID')[源代码]

初始化方法

参数:
  • cookie_value -- cookie头中存放key=value中的value值
  • cookie_name -- cookie头中存放key=value中的key值
class iclientpy.rest.apifactory.OnlineAPIFactory(base_url: str = None, username: str = None, passwd: str = None, token: str = None, proxies=None)[源代码]

基类:object

__init__(base_url: str = None, username: str = None, passwd: str = None, token: str = None, proxies=None)[源代码]
参数:
  • username -- 服务需要登录的用户名
  • passwd -- 服务需要登录的密码
  • token -- 服务可以访问的token
  • proxies -- 设置代理服务器地址
datas_service() → iclientpy.rest.api.onlinedatasservice.OnlineDatasService[源代码]

获取Online数据服务

返回:Online数据服务
maps_service() → iclientpy.rest.api.onlinemapsservice.OnlineMapsService[源代码]

获取Online地图服务

返回:Online地图服务
class iclientpy.rest.apifactory.RestInvocationHandlerImpl(base_url: str, auth: requests.auth.AuthBase = None, proxies=None)[源代码]

基类:iclientpy.rest.proxyfactory.RestInvocationHandler

rest请求的拦截器,拦截请求,并处理请求

__init__(base_url: str, auth: requests.auth.AuthBase = None, proxies=None)[源代码]
参数:
  • base_url -- 服务的基础地址
  • auth -- 存放身份验证的类
  • proxies -- 设置代理
delete(rest, uri, args, kwargs)[源代码]
处理delete请求
参数:
  • rest -- 封装了实际请求的相关信息
  • uri -- 请求的发送地址
  • args -- 请求的位置参数
  • kwargs -- 请求的字典参数
返回:

根据实际方法的返回类型,将delete请求的响应体转换为对应的Python对象

get(rest, uri, args, kwargs)[源代码]

处理get请求

参数:
  • rest -- 封装了实际请求的相关信息
  • uri -- 请求的发送地址
  • args -- 请求的位置参数
  • kwargs -- 请求的字典参数
返回:

根据实际方法的返回类型,将get请求的响应体转换为对应的Python对象

handle_rest_invocation(rest, args, kwargs: dict)[源代码]
参数:
  • rest -- 封装了实际请求的相关信息
  • args -- 请求的位置参数
  • kwargs -- 请求的字典参数
返回:

根据实际方法的返回类型,将请求的响应体转换为对应的Python对象

head(rest, uri, args, kwargs)[源代码]
处理head请求
参数:
  • rest -- 封装了实际请求的相关信息
  • uri -- 请求的发送地址
  • args -- 请求的位置参数
  • kwargs -- 请求的字典参数
返回:

返回head请求的状态码

post(rest, uri, args, kwargs)[源代码]

处理post请求

参数:
  • rest -- 封装了实际请求的相关信息
  • uri -- 请求的发送地址
  • args -- 请求的位置参数
  • kwargs -- 请求的字典参数
返回:

根据实际方法的返回类型,将post请求的响应体转换为对应的Python对象

put(rest, uri, args, kwargs)[源代码]
处理put请求
参数:
  • rest -- 封装了实际请求的相关信息
  • uri -- 请求的发送地址
  • args -- 请求的位置参数
  • kwargs -- 请求的字典参数
返回:

根据实际方法的返回类型,将put请求的响应体转换为对应的Python对象

class iclientpy.rest.apifactory.TokenAuth(token: str)[源代码]

基类:requests.auth.AuthBase

基于Token认证

__init__(token: str)[源代码]

初始化方法

参数:token -- token值
iclientpy.rest.apifactory.create_auth(login_url: str, username: str, passwd: str, token: str, proxies=None, check: Callable = <function _default_check_login_status>) → requests.auth.AuthBase[源代码]

登录服务,并将记录登录信息的CookieAuth/TokenAuth返回,用于授权需要访问权限的api

参数:
  • login_url -- 服务地址
  • username -- 登录的用户名
  • passwd -- 登录的密码
  • token -- 登录的token
  • proxies -- 设置请求的代理
  • check -- 检查登录状态的回调函数
返回:

返回CookieAuth/TokenAuth,存放登录信息

iclientpy.rest.apifactory.create_sso_auth(url: str, username: str, passwd: str, token: str, proxies=None) → requests.auth.AuthBase[源代码]
class iclientpy.rest.apifactory.iManagerAPIFactory(base_url: str, username: str = None, passwd: str = None, token: str = None, proxies=None)[源代码]

基类:object

__init__(base_url: str, username: str = None, passwd: str = None, token: str = None, proxies=None)[源代码]
参数:
  • base_url -- 服务的地址
  • username -- 服务需要登录的用户名
  • passwd -- 服务需要登录的密码
  • token -- 服务可以访问的token
  • proxies -- 设置代理服务器地址
node_service()[源代码]

获取iManager 节点服务

返回:iManager 节点服务
class iclientpy.rest.apifactory.iPortalAPIFactory(base_url: str, username: str = None, passwd: str = None, token: str = None, proxies=None)[源代码]

基类:object

__init__(base_url: str, username: str = None, passwd: str = None, token: str = None, proxies=None)[源代码]
参数:
  • base_url -- 服务的地址
  • username -- 服务需要登录的用户名
  • passwd -- 服务需要登录的密码
  • token -- 服务可以访问的token
  • proxies -- 设置代理服务器地址
datas_service() → iclientpy.rest.api.datasservice.DatasService[源代码]

获取iPortal MyDatas服务

返回:iPortal MyDatas服务
groups_service() → iclientpy.rest.api.groupsservice.GroupsService[源代码]

获取iPortal Groups群组服务

返回:iPortal Groups群组服务
maps_service() → iclientpy.rest.api.mapsservice.MapsService[源代码]

获取iPortal Maps服务

返回:iPortal Maps服务
mydepartments_service() → iclientpy.rest.api.mydepartments.MyDepartments[源代码]

获取iPortal MyDepartments服务

返回:iPortal MyDepartments服务
security_management() → iclientpy.rest.api.securitymanagement.PortalSecurityManagement[源代码]

获取iPortal安全的api

返回:返回iPortal安全的api

iclientpy.rest.decorator module

class iclientpy.rest.decorator.HttpMethod[源代码]

基类:enum.Enum

An enumeration.

DELETE = ('DELETE',)
GET = ('GET',)
HEAD = 'HEAD'
POST = ('POST',)
PUT = ('PUT',)
class iclientpy.rest.decorator.REST(func, method, uri: str, entityKW: str = None, queryKWs: List[str] = None, fixed_queryKWs: dict = {}, splice_url: bool = True, json_deserializer=None, fileKW: str = None)[源代码]

基类:object

REST请求的封装,用于封装Python API参数与rest请求之间的对应关系,比如:查询字符串,请求体之类

__init__(func, method, uri: str, entityKW: str = None, queryKWs: List[str] = None, fixed_queryKWs: dict = {}, splice_url: bool = True, json_deserializer=None, fileKW: str = None)[源代码]

初始化REST类,存放实际调用的rest请求的相关信息

参数:
  • func -- 调用请求的实际方法
  • method -- http请求的方法
  • uri -- 请求地址
  • entityKW -- 请求体的key
  • queryKWs -- 查询字符串的key
get_entityKW() → str[源代码]

获取请求的请求体的key,用于从原始方法参数中找到请求体的Python对象

返回:返回请求体的key
get_fileKW() → str[源代码]

获取请求的文件的key,用于post请求发送文件

返回:返回文件的key
get_fixed_queryKWs()[源代码]

获取固定的查询参数

返回:返回固定查询参数
get_json_deserializer()[源代码]
get_method() → iclientpy.rest.decorator.HttpMethod[源代码]

获取http方法

返回:返回http方法
get_original_func()[源代码]

获取原始的请求发起方法,可用于获取请求的参数以及返回类型

返回:返回请求的发起方法
get_queryKWs() → str[源代码]

获取请求的查询字符串的key,用于从原始方法参数中找到请求的查询参数

返回:返回查询字符串的key
get_splice_url() → bool[源代码]

获取url是否拼接标识

返回:返回url是否拼接标识
get_uri() → str[源代码]

获取请求的uri

返回:返回请求的uri
iclientpy.rest.decorator.delete(uri: str, entityKW: str = None, queryKWs: List[str] = None, fixed_queryKWs: dict = {}, splice_url: bool = True)[源代码]

delete请求的装饰器,可以在方法上直接通过@delete方式使用

参数:
  • uri -- 请求的uri
  • entityKW -- 请求的请求体的key
  • queryKWs -- 请求的查询字符串的key
返回:

封装了请求的REST类

iclientpy.rest.decorator.get(uri: str, entityKW: str = None, queryKWs: List[str] = None, fixed_queryKWs: dict = {}, splice_url: bool = True, *args, **kwargs)[源代码]

get请求的装饰器,可以在方法上直接通过@get方式使用

参数:
  • uri -- 请求的uri
  • entityKW -- 请求的请求体的key
  • queryKWs -- 请求的查询字符串的key
返回:

封装了请求的REST类

iclientpy.rest.decorator.head(uri: str, entityKW: str = None, queryKWs: List[str] = None, splice_url: bool = True, fixed_queryKWs: dict = {})[源代码]

head请求的装饰器,可以在方法上直接通过@head方式使用

参数:
  • uri -- 请求的uri
  • entityKW -- 请求的请求体的key
  • queryKWs -- 请求的查询字符串的key
返回:

封装了请求的REST类

iclientpy.rest.decorator.post(uri: str, entityKW: str = None, queryKWs: List[str] = None, fileKW: str = None, splice_url: bool = True, fixed_queryKWs: dict = {})[源代码]

post请求的装饰器,可以在方法上直接通过@post方式使用

参数:
  • uri -- 请求的uri
  • entityKW -- 请求的请求体的key
  • queryKWs -- 请求的查询字符串的key
  • fileKW -- 请求的文件的key
返回:

封装了请求的REST类

iclientpy.rest.decorator.put(uri: str, entityKW: str = None, queryKWs: List[str] = None, fixed_queryKWs: dict = {}, splice_url: bool = True)[源代码]

put请求的装饰器,可以在方法上直接通过@put方式使用

参数:
  • uri -- 请求的uri
  • entityKW -- 请求的请求体的key
  • queryKWs -- 请求的查询字符串的key
返回:

封装了请求的REST类

iclientpy.rest.decorator.rest(method: iclientpy.rest.decorator.HttpMethod, uri, entityKW: str = None, queryKWs: List[str] = None, splice_url: bool = True, fixed_queryKWs: dict = {}, json_deserializer=None, fileKW: str = None)[源代码]

rest请求的封装方法

参数:
  • method -- http方法
  • uri -- 请求uri
  • entityKW -- 请求的请求体的key
  • queryKWs -- 请求的查询参数的key
返回:

请求的封装类

iclientpy.rest.proxyfactory module

class iclientpy.rest.proxyfactory.RestInvocationHandler[源代码]

基类:object

__call__(rest: iclientpy.rest.decorator.REST, args, kwargs)[源代码]
返回:
handle_rest_invocation(rest, args, kwargs)[源代码]
返回:
iclientpy.rest.proxyfactory.create(clz, handler: iclientpy.rest.proxyfactory.RestInvocationHandler)[源代码]

type clz:type type handler:RestInvocationHandler

iclientpy.rest.proxyfactory.getattribute(self, name)[源代码]

:type name:str :return:

iclientpy.rest.proxyfactory.init(self, resthandler)[源代码]

Module contents