0001-settings-deployed-services-exposed-in-KNOWN_SERVICES.patch
hobo/multitenant/settings_loaders.py | ||
---|---|---|
31 | 31 |
raise NotImplemented |
32 | 32 | |
33 | 33 | |
34 |
class KnownServices(FileBaseSettingsLoader): |
|
35 |
FILENAME = 'hobo.json' |
|
36 | ||
37 |
def update_settings_from_path(self, tenant_settings, path): |
|
38 |
known_services = {} |
|
39 |
with file(path) as f: |
|
40 |
hobo_json = json.load(f) |
|
41 |
services = hobo_json.get('services') |
|
42 |
base_url, secret = [(s.get('base_url'), s.get('secret_key')) |
|
43 |
for s in services if s.get('this')][0] |
|
44 | ||
45 |
for service in services: |
|
46 |
service_id = service.get('service-id') |
|
47 |
service_data = { |
|
48 |
'url': service.get('base_url'), |
|
49 |
'title': service.get('title'), |
|
50 |
'orig': urlparse.urlparse(base_url).netloc.split(':')[0], |
|
51 |
'secret': secret, |
|
52 |
'variables': service.get('variables') |
|
53 |
} |
|
54 |
if service_id in known_services: |
|
55 |
known_services[service_id][service.get('slug')] = service_data |
|
56 |
else: |
|
57 |
known_services[service_id] = { |
|
58 |
service.get('slug'): service_data |
|
59 |
} |
|
60 | ||
61 |
tenant_settings.KNOWN_SERVICES = known_services |
|
62 | ||
63 | ||
34 | 64 |
class TemplateVars(FileBaseSettingsLoader): |
35 | 65 |
FILENAME = 'hobo.json' |
36 | 66 | |
37 |
- |