def load_service(self, service=None): """Load Service definition from oracle db""" db = None service_def_key = "service_def_%s_%s" % (service.app, service.name) service_def = ContentProxyFactory.cache_get(service_def_key) if not service_def: try: print("Attempting to load base URL and URL patterns from database.") db = self.db.acquire() cursor = db.cursor() cursor.arraysize = 50 sql = """ select s.url base_url, u.pattern url_pattern from service_provider s, widget w, widget_url_pattern u where s.name = :app_name and w.name = :service_name """ cursor.execute(sql, app_name=service.app, service_name=service.name) rows = cursor.fetchall() if rows: service.base_url = rows[0][0] print("found SDW.row base_url = %s" % (service.base_url)) else: print("WARNING: No rows for app '%s' and service '%s'." % (service.app, service.name)) except Exception, detail: print("WARNING: Can't load base URL and URL patterns from database: %s." % detail) finally:
cursor = db.cursor() cursor.arraysize = 50 sql = """ select s.url base_url, u.pattern url_pattern from service_provider s, widget w, widget_url_pattern u where s.name = :app_name and w.name = :service_name """ cursor.execute(sql, app_name=service.app, service_name=service.name) rows = cursor.fetchall() if rows: service.base_url = rows[0][0] print("found SDW.row base_url = %s" % (service.base_url)) else: print("WARNING: No rows for app '%s' and service '%s'." % (service.app, service.name)) except Exception, detail: print("WARNING: Can't load base URL and URL patterns from database: %s." % detail) finally: if db: self.db.release(db) service_def = ServiceDefinition(service.name, app=service.app) service_def.base_url = service.base_url service_def.url_patterns = service.url_patterns ContentProxyFactory.cache_set(service_def_key, service_def) else: # now transfer service_def -> service service.base_url = service_def.base_url service.url_patterns = service_def.url_patterns return service