Projet

Général

Profil

0001-settings-deployed-services-exposed-in-KNOWN_SERVICES.patch

Voir les différences:

Subject: [PATCH] settings: deployed services exposed in KNOWN_SERVICES setting
 (#6711)

Current service domain and secret repeated for each service
 hobo/multitenant/settings_loaders.py | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)
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
-