2
from .extension import Extension
3
from .settings import RBSettingsPy
4
from .tools import RBTools
7
class ReviewBoard(object):
9
def __init__(self, cmd=None):
12
self._settingspy = RBSettingsPy.from_conf_dir()
13
self._tools = RBTools(cmd)
19
def remove_settings_group(self, name):
20
self._settingspy.remove_group(name)
23
return self._settingspy.is_available()
25
def refresh_extensions(self):
29
self._settingspy.reload()
31
def api(self, hostname='localhost', port=8080, root=''):
32
from rbtools.api.client import RBClient
34
client = RBClient('http://{}:{}/{}'.format(hostname, port, root))
35
root = client.get_root()
38
def ext(self, name, impl=None, group=None):
41
settingspy = self._settingspy.group(group)
42
return Extension(name, self, impl, settingspy)