def pull(repo_url, index_prefix, es=None): if is_remote_repo_url(repo_url): sm = RemoteStorageManager(repo_url) sm.pull() else: workspace = EG.workspace(repo_url, index_prefix=index_prefix, es=es) workspace.pull()
def __init__(self, request): self.request = request self.locale = request.locale_name self.settings = request.registry.settings self.es_settings = {'urls': [ self.parse_setting('es.host', 'http://localhost:9200', unicode), ]} self.results_per_page = self.parse_setting( 'results_per_page', 10, int) repo_url = self.settings['git.path'] is_remote = is_remote_repo_url(repo_url) workspace_init = RemoteWorkspace if is_remote else EG.workspace self.workspace = workspace_init( repo_url, es=self.es_settings, index_prefix=self.settings['es.index_prefix']) if is_remote: self.workspace.im.sm = CachingRemoteStorageManager(repo_url)
def test_is_remote_repo_url(self): self.assertTrue(is_remote_repo_url('http://domain/repo/foo')) self.assertTrue(is_remote_repo_url('https://domain/repo/foo')) self.assertFalse(is_remote_repo_url('/repos/foo')) self.assertFalse(is_remote_repo_url('foo'))