-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathapi.py
38 lines (25 loc) · 1.09 KB
/
api.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# coding=utf-8
import xmlrpc.client
import functools
BASE_URL = 'http://127.0.0.1:8087/rpc/xmlrpc'
USERNAME = 'username'
PASSWORD = 'password'
NEW_BASE_URL = 'http://127.0.0.1:8090/rpc/xmlrpc'
NEW_USERNAME = 'username'
NEW_PASSWORD = 'password'
class ConfluenceAPI(object):
def __init__(self, base_url, username, password):
self._cli = xmlrpc.client.Server(base_url)
self._token = self._cli.confluence1.login(username, password)
def __getattr__(self, name):
cli_c = getattr(self._cli, 'confluence1')
return functools.partial(getattr(cli_c, name), self._token)
class Confluence2API(object):
def __init__(self, base_url, username, password):
self._cli = xmlrpc.client.Server(base_url)
self._token = self._cli.confluence1.login(username, password)
def __getattr__(self, name):
cli_c = getattr(self._cli, 'confluence2')
return functools.partial(getattr(cli_c, name), self._token)
old_confluence_api = ConfluenceAPI(BASE_URL, USERNAME, PASSWORD)
new_confluence_api = Confluence2API(NEW_BASE_URL, NEW_USERNAME, NEW_PASSWORD)