From 20e712f9703d8b2eaf226fdf8807315edcea6a9a Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Fri, 7 Feb 2014 15:17:01 +0100 Subject: [PATCH] myslice/config becomes myslice/configengine to avoid confusion --- README | 2 +- manifold/manifoldapi.py | 8 +++----- manifold/manifoldproxy.py | 4 ++-- myslice/{config.py => configengine.py} | 18 +++++++++++++----- portal/homeview.py | 5 ++--- portal/resourceview.py | 4 ++-- portal/sliceview.py | 7 +++---- unfold/page.py | 5 ++--- 8 files changed, 28 insertions(+), 25 deletions(-) rename myslice/{config.py => configengine.py} (76%) diff --git a/README b/README index 69360d37..78ffe6c2 100644 --- a/README +++ b/README @@ -16,7 +16,7 @@ $ apt-get install python-django-south -- or -- * git clone ssh://yourlogin@git.onelab.eu/git/myslice.git -* edit myslice/config.py and enter the details of your manifold backend +* edit/create myslice/myslice.ini and enter the details of your manifold backend $ apt-get install python-django-south * init django diff --git a/manifold/manifoldapi.py b/manifold/manifoldapi.py index 6639d484..b1a1a0cc 100644 --- a/manifold/manifoldapi.py +++ b/manifold/manifoldapi.py @@ -1,7 +1,7 @@ # Manifold API Python interface import copy, xmlrpclib -from myslice.config import Config +from myslice.configengine import ConfigEngine from django.contrib import messages from manifoldresult import ManifoldResult, ManifoldCode, ManifoldException @@ -39,8 +39,7 @@ class ManifoldAPI: self.trace = [] self.calls = {} self.multicall = False - config = Config() - self.url = config.manifold_url() + self.url = ConfigEngine().manifold_url() self.server = xmlrpclib.Server(self.url, verbose=False, allow_none=True) def __repr__ (self): return "ManifoldAPI[%s]"%self.url @@ -158,7 +157,6 @@ def execute_query(request, query): return _execute_query(request, query, manifold_api_session_auth) def execute_admin_query(request, query): - config = Config() - admin_user, admin_password = config.manifold_admin_user_password() + admin_user, admin_password = ConfigEngine().manifold_admin_user_password() admin_auth = {'AuthMethod': 'password', 'Username': admin_user, 'AuthString': admin_password} return _execute_query(request, query, admin_auth) diff --git a/manifold/manifoldproxy.py b/manifold/manifoldproxy.py index d43a3cd4..f850fe91 100644 --- a/manifold/manifoldproxy.py +++ b/manifold/manifoldproxy.py @@ -11,7 +11,7 @@ from manifold.core.result_value import ResultValue from manifold.manifoldapi import ManifoldAPI from manifold.manifoldresult import ManifoldException from manifold.util.log import Log -from myslice.config import Config +from myslice.configengine import ConfigEngine debug=False #debug=True @@ -52,7 +52,7 @@ with the query passed using POST""" # We allow some requests to use the ADMIN user account if (manifold_query.get_from() == 'local:user' and manifold_query.get_action() == 'create') \ or (manifold_query.get_from() == 'local:platform' and manifold_query.get_action() == 'get'): - admin_user, admin_password = Config().manifold_admin_user_password() + admin_user, admin_password = ConfigEngine().manifold_admin_user_password() manifold_api_session_auth = {'AuthMethod': 'password', 'Username': admin_user, 'AuthString': admin_password} else: manifold_api_session_auth = request.session['manifold']['auth'] diff --git a/myslice/config.py b/myslice/configengine.py similarity index 76% rename from myslice/config.py rename to myslice/configengine.py index 908b6512..8c98b4c0 100644 --- a/myslice/config.py +++ b/myslice/configengine.py @@ -2,18 +2,26 @@ import os.path from ConfigParser import RawConfigParser from myslice.settings import ROOT -# as this code suggests, you have the option to override these defaults +# +# DO NOT EDIT !!! +# +# This file does not contain any user-modifiable data +# +# te defaults here are, well, only default values, +# and, you have the option to override them # by writing a file myslice/myslice.ini # that looks like this #[manifold] #url = http://manifold.pl.sophia.inria.fr:7080/ #admin_user = admin #admin_password = admin +#[googlemap] +#api_key=theapikeyasprovidedbygoogle # use a singleton instead of staticmethods from manifold.util.singleton import Singleton -class Config(object): +class ConfigEngine(object): __metaclass__ = Singleton # the OpenLab-wide backend as managed by UPMC @@ -30,9 +38,9 @@ class Config(object): def __init__ (self): parser = RawConfigParser () parser.add_section('manifold') - parser.set ('manifold', 'url', Config.default_manifold_url) - parser.set ('manifold', 'admin_user', Config.default_manifold_admin_user) - parser.set ('manifold', 'admin_password', Config.default_manifold_admin_password) + parser.set ('manifold', 'url', ConfigEngine.default_manifold_url) + parser.set ('manifold', 'admin_user', ConfigEngine.default_manifold_admin_user) + parser.set ('manifold', 'admin_password', ConfigEngine.default_manifold_admin_password) parser.add_section('googlemap') parser.set ('googlemap','api_key', None) parser.read (os.path.join(ROOT,'myslice/myslice.ini')) diff --git a/portal/homeview.py b/portal/homeview.py index a6656772..c71481ad 100644 --- a/portal/homeview.py +++ b/portal/homeview.py @@ -9,15 +9,14 @@ from unfold.loginrequired import FreeAccessView from manifold.manifoldresult import ManifoldResult from ui.topmenu import topmenu_items, the_user -from myslice.config import Config +from myslice.configengine import ConfigEngine class HomeView (FreeAccessView): # expose this so we can mention the backend URL on the welcome page def default_env (self): - config=Config() return { - 'MANIFOLD_URL':config.manifold_url(), + 'MANIFOLD_URL':ConfigEngine().manifold_url(), } def post (self,request): diff --git a/portal/resourceview.py b/portal/resourceview.py index 3ed9dcca..ac1813c7 100644 --- a/portal/resourceview.py +++ b/portal/resourceview.py @@ -9,7 +9,7 @@ from plugins.querytable import QueryTable from plugins.lists.simplelist import SimpleList from plugins.slicestat import SliceStat -from myslice.config import Config +from myslice.configengine import ConfigEngine # View for 1 platform and its details class ResourceView(FreeAccessView): @@ -53,7 +53,7 @@ class ResourceView(FreeAccessView): togglable = True, query = resource_query, query_all = resource_query, - googlemap_api_key = Config().googlemap_api_key(), + googlemap_api_key = ConfigEngine().googlemap_api_key(), checkboxes = False, # center on Paris #latitude = 49., diff --git a/portal/sliceview.py b/portal/sliceview.py index 0e56cce7..eaec3faa 100644 --- a/portal/sliceview.py +++ b/portal/sliceview.py @@ -29,7 +29,7 @@ from plugins.quickfilter import QuickFilter from plugins.messages import Messages from plugins.slicestat import SliceStat -from myslice.config import Config +from myslice.configengine import ConfigEngine tmp_default_slice='ple.upmc.myslicedemo' @@ -56,8 +56,7 @@ class SliceView (LoginRequiredAutoLogoutView): page.add_js_chunks ('$(function() { messages.debug("sliceview: jQuery version " + $.fn.jquery); });') page.add_js_chunks ('$(function() { messages.debug("sliceview: users turned %s"); });'%("on" if do_query_users else "off")) page.add_js_chunks ('$(function() { messages.debug("sliceview: leases turned %s"); });'%("on" if do_query_leases else "off")) - config=Config() - page.add_js_chunks ('$(function() { messages.debug("manifold URL %s"); });'%(config.manifold_url())) + page.add_js_chunks ('$(function() { messages.debug("manifold URL %s"); });'%(ConfigEngine().manifold_url())) metadata = page.get_metadata() resource_md = metadata.details_by_object('resource') @@ -199,7 +198,7 @@ class SliceView (LoginRequiredAutoLogoutView): query = sq_resource, query_all = query_resource_all, # this key is the one issued by google - googlemap_api_key = Config().googlemap_api_key(), + googlemap_api_key = ConfigEngine().googlemap_api_key(), # the key to use at init-time init_key = main_query_init_key, checkboxes = True, diff --git a/unfold/page.py b/unfold/page.py index 834be7e3..9c2fdd7e 100644 --- a/unfold/page.py +++ b/unfold/page.py @@ -10,7 +10,7 @@ from manifold.metadata import MetaData from unfold.prelude import Prelude -from myslice.config import Config +from myslice.configengine import ConfigEngine # decorator to deflect calls on this Page to its prelude def to_prelude (method): @@ -124,8 +124,7 @@ class Page: self.add_js_init_chunks("var MANIFOLD_METADATA =" + self.get_metadata().to_json() + ";\n") def expose_js_manifold_config (self): - config=Config() - self.add_js_init_chunks(config.manifold_js_export()) + self.add_js_init_chunks(ConfigEngine().manifold_js_export()) #################### requirements/prelude management # just forward to self.prelude - see decorator above -- 2.43.0