@@ -53,6 +53,8 @@ def get_or_create_contentprovider_lookup():
5353 except Exception as e :
5454 base_ns .logger .error (e )
5555
56+
57+ global contentprovider_lookup
5658contentprovider_lookup = get_or_create_contentprovider_lookup ()
5759
5860@base_ns .route ('/search' )
@@ -70,6 +72,9 @@ def post(self):
7072 del params ["optradio" ]
7173 errors = search_param_schema .validate (params , partial = True )
7274 if "repo" in params :
75+ global contentprovider_lookup
76+ if not contentprovider_lookup :
77+ contentprovider_lookup = get_or_create_contentprovider_lookup ()
7378 repo_name = contentprovider_lookup .get (params ["repo" ])
7479 params ["repo_name" ] = repo_name
7580 params ["limit" ] = 120
@@ -111,15 +116,16 @@ class ContentProvider(Resource):
111116 @base_ns .produces (["application/json" ])
112117 def post (self ):
113118 """
114- params: can be empty
115- content_provider: BASE internal name, e.g. "ftunivlausanne"
119+ params: can be empty, or {"repo": "ft..."}, BASE internal name, e.g. "ftunivlausanne"
116120
117121 returns: json
118- {"contentprovider_short": "ftunivlausanne",
119- "repo_name": "Université de Lausanne (UNIL): Serval - Serveur académique lausannois"}
122+ {"repo_name": "Université de Lausanne (UNIL): Serval - Serveur académique lausannois"}
120123 """
121124 params = request .get_json ()
122125 base_ns .logger .debug (params )
126+ global contentprovider_lookup
127+ if not contentprovider_lookup :
128+ contentprovider_lookup = get_or_create_contentprovider_lookup ()
123129 if not params :
124130 result = contentprovider_lookup
125131 else :
0 commit comments