Revision 4964dc96
Déplacement de la configuration dans des fichiers .ini (development.ini + test.ini) afin de pouvoir supprimer les fichiers .py
git-svn-id: https://vigilo-dev.si.c-s.fr/svn@1955 b22e2e97-25c9-44ff-b637-2e5ceca36478
buildout.cfg | ||
---|---|---|
2 | 2 |
extends = ../glue/buildout.cfg |
3 | 3 |
eggs += vigigraph |
4 | 4 |
|
5 |
[nose] |
|
6 |
eggs += vigigraph [tests] |
|
7 |
|
|
5 | 8 |
# vim: set noexpandtab : |
development.ini | ||
---|---|---|
21 | 21 |
|
22 | 22 |
[app:main] |
23 | 23 |
use = egg:vigigraph |
24 |
|
|
25 |
db_basename= |
|
26 |
;password_hashing_function=md5 |
|
27 |
lang=fr |
|
28 |
use_kerberos=False |
|
29 |
|
|
24 | 30 |
full_stack = true |
25 | 31 |
#lang = ru |
26 | 32 |
cache_dir = %(here)s/data |
... | ... | |
28 | 34 |
beaker.session.secret = somesecret |
29 | 35 |
app.vigicore = / |
30 | 36 |
|
37 |
|
|
38 |
# URL |
|
39 |
rrd_url = "http://localhost/rrdgraph" |
|
40 |
nagios_url = "http://localhost/nagios/cgi-bin" |
|
41 |
|
|
42 |
# Vigigraph - refresh for graphs ( en millisecondes) |
|
43 |
delay_refresh = 5*60*1000 |
|
44 |
|
|
45 |
# separateurs pour export CSV |
|
46 |
# - entre valeurs consecutives |
|
47 |
export_csv_sep_values = ';' |
|
48 |
# - dans une valeur |
|
49 |
export_csv_sep_value = "," |
|
50 |
|
|
31 | 51 |
# If you'd like to fine-tune the individual locations of the cache data dirs |
32 | 52 |
# for the Cache data, or the Session saves, un-comment the desired settings |
33 | 53 |
# here: |
... | ... | |
44 | 64 |
# If you have sqlite, here's a simple default to get you started |
45 | 65 |
# in development |
46 | 66 |
|
47 |
sqlalchemy.url = sqlite:///%(here)s/devdata.db |
|
67 |
sqlalchemy.url=postgres://vigilo:vigilo@localhost/vigilo |
|
68 |
#sqlalchemy.url = sqlite:///%(here)s/devdata.db |
|
48 | 69 |
#echo shouldn't be used together with the logging module. |
49 | 70 |
sqlalchemy.echo = false |
50 | 71 |
sqlalchemy.echo_pool = false |
settings.py | ||
---|---|---|
1 |
../glue/settings.py |
setup.py | ||
---|---|---|
7 | 7 |
use_setuptools() |
8 | 8 |
from setuptools import setup, find_packages |
9 | 9 |
|
10 |
tests_require = [ |
|
11 |
'WebTest', |
|
12 |
'BeautifulSoup', |
|
13 |
'coverage', |
|
14 |
] |
|
15 |
|
|
10 | 16 |
setup( |
11 | 17 |
name='vigigraph', |
12 | 18 |
version='0.1', |
... | ... | |
21 | 27 |
"Babel >=0.9.4", |
22 | 28 |
#can be removed iif use_toscawidgets = False |
23 | 29 |
"ToscaWidgets >= 0.9.7.1", |
24 |
"zope.sqlalchemy >= 0.4 ", |
|
25 |
"repoze.tm2 >= 1.0a4", |
|
26 |
"repoze.what-quickstart >= 1.0", |
|
27 |
"psycopg2", |
|
28 | 30 |
"vigilo-models", |
29 | 31 |
"vigilo-themes-default", |
30 | 32 |
"vigilo-turbogears", |
31 |
"PasteScript >= 1.7", # setup_requires has issues |
|
32 |
"PasteDeploy", |
|
33 |
"Paste", |
|
34 |
"decorator != 3.1.0", # Blacklist bad version |
|
35 | 33 |
], |
36 | 34 |
paster_plugins=['PasteScript', 'Pylons', 'TurboGears2', 'tg.devtools'], |
37 | 35 |
packages=find_packages(exclude=['ez_setup']), |
38 | 36 |
include_package_data=True, |
39 | 37 |
test_suite='nose.collector', |
40 |
tests_require=['WebTest', 'BeautifulSoup'], |
|
38 |
tests_require=tests_require, |
|
39 |
extras_require={ |
|
40 |
'tests': tests_require, |
|
41 |
}, |
|
41 | 42 |
package_data={'vigigraph': ['i18n/*/LC_MESSAGES/*.mo', |
42 | 43 |
'templates/*/*', |
43 | 44 |
'public/*/*']}, |
test.ini | ||
---|---|---|
16 | 16 |
port = 5000 |
17 | 17 |
|
18 | 18 |
[app:main] |
19 |
sqlalchemy.url = sqlite:///:memory: |
|
20 | 19 |
use = config:development.ini |
20 |
lang=fr |
|
21 |
|
|
22 |
db_basename = |
|
23 |
|
|
24 |
sqlalchemy.url = sqlite:////tmp/test-vigigraph.sqlite |
|
25 |
sqlalchemy.echo = false |
|
26 |
sqlalchemy.echo_pool = false |
|
27 |
sqlalchemy.pool_recycle = 3600 |
|
21 | 28 |
|
22 | 29 |
[app:main_without_authn] |
23 | 30 |
use = main |
vigigraph/config/app_cfg.py | ||
---|---|---|
15 | 15 |
""" |
16 | 16 |
|
17 | 17 |
from vigilo import models |
18 |
from vigilo.models.session import DBSession |
|
19 |
from vigilo.models.vigilo_bdd_config import metadata |
|
20 |
metadata.bind = DBSession.bind |
|
21 | 18 |
|
22 | 19 |
import vigigraph |
23 | 20 |
from vigilo.turbogears import VigiloAppConfig |
... | ... | |
43 | 40 |
#Configure the base SQLALchemy Setup |
44 | 41 |
base_config.use_sqlalchemy = True |
45 | 42 |
base_config.model = models |
46 |
base_config.DBSession = DBSession |
|
47 | 43 |
|
48 | 44 |
# Configure the authentication backend |
49 | 45 |
base_config.auth_backend = 'sqlalchemy' |
50 |
base_config.sa_auth.dbsession = DBSession |
|
51 | 46 |
|
52 | 47 |
# what is the class you want to use to search for users in the database |
53 | 48 |
base_config.sa_auth.user_class = models.User |
vigigraph/controllers/rpc.py | ||
---|---|---|
1 | 1 |
# -*- coding: utf-8 -*- |
2 | 2 |
"""RPC controller for the combobox of vigigraph""" |
3 | 3 |
|
4 |
from tg import expose, response, request, redirect |
|
4 |
from tg import expose, response, request, redirect, config
|
|
5 | 5 |
|
6 | 6 |
from vigigraph.lib.base import BaseController |
7 | 7 |
|
8 |
from vigilo.models.session import DBSession
|
|
8 |
from vigilo.models.configure import DBSession
|
|
9 | 9 |
from vigilo.models import Host, HostGroup |
10 | 10 |
from vigilo.models import Service, ServiceGroup, LowLevelService |
11 | 11 |
from vigilo.models import PerfDataSource |
... | ... | |
16 | 16 |
from vigilo.models.secondary_tables import GRAPH_PERFDATASOURCE_TABLE |
17 | 17 |
|
18 | 18 |
from sqlalchemy.orm import aliased |
19 |
|
|
20 |
from vigilo.common.conf import settings |
|
21 | 19 |
|
22 | 20 |
from vigilo.turbogears.rrdproxy import RRDProxy |
23 | 21 |
from nagiosproxy import NagiosProxy |
... | ... | |
224 | 222 |
fakeIncr = random.randint(0, 9999999999) |
225 | 223 |
|
226 | 224 |
# url |
227 |
url_l = settings.get('RRD_URL')
|
|
225 |
url_l = config.get('rrd_url')
|
|
228 | 226 |
if url_l is not None: |
229 | 227 |
# proxy |
230 | 228 |
rrdproxy = RRDProxy(url_l) |
... | ... | |
251 | 249 |
fakeIncr = random.randint(0, 9999999999) |
252 | 250 |
|
253 | 251 |
# url |
254 |
url_l = settings.get('RRD_URL')
|
|
252 |
url_l = config.get('rrd_url')
|
|
255 | 253 |
if url_l is not None: |
256 | 254 |
# proxy |
257 | 255 |
rrdproxy = RRDProxy(url_l) |
... | ... | |
273 | 271 |
fakeincr = random.randint(0, 9999999999) |
274 | 272 |
|
275 | 273 |
# url |
276 |
url_l = settings.get('RRD_URL')
|
|
274 |
url_l = config.get('rrd_url')
|
|
277 | 275 |
if url_l is not None: |
278 | 276 |
# proxy |
279 | 277 |
rrdproxy = RRDProxy(url_l) |
... | ... | |
292 | 290 |
result = None |
293 | 291 |
|
294 | 292 |
# url |
295 |
url_l = settings.get('NAGIOS_URL')
|
|
293 |
url_l = config.get('nagios_url')
|
|
296 | 294 |
if url_l is not None: |
297 | 295 |
# proxy |
298 | 296 |
nagiosproxy = NagiosProxy(url_l) |
... | ... | |
313 | 311 |
result = None |
314 | 312 |
|
315 | 313 |
# url |
316 |
url_l = settings.get('NAGIOS_URL')
|
|
314 |
url_l = config.get('nagios_url')
|
|
317 | 315 |
if url_l is not None: |
318 | 316 |
# proxy |
319 | 317 |
nagiosproxy = NagiosProxy(url_l) |
... | ... | |
334 | 332 |
result = None |
335 | 333 |
|
336 | 334 |
# url |
337 |
url_l = settings.get('RRD_URL')
|
|
335 |
url_l = config.get('rrd_url')
|
|
338 | 336 |
if url_l is not None: |
339 | 337 |
# proxy |
340 | 338 |
rrdproxy = RRDProxy(url_l) |
... | ... | |
389 | 387 |
@expose(content_type='text/plain') |
390 | 388 |
def tempoDelayRefresh(self, nocache=None): |
391 | 389 |
'''tempo pour rafraichissement''' |
392 |
delay = settings.get('DELAY_REFRESH')
|
|
390 |
delay = config.get('delay_refresh')
|
|
393 | 391 |
return str(delay) |
394 | 392 |
|
395 | 393 |
@expose('json') |
... | ... | |
428 | 426 |
sep_values = ";" |
429 | 427 |
sep_value = "," |
430 | 428 |
|
431 |
sep = settings.get("EXPORT_CSV_SEP_VALUES")
|
|
429 |
sep = config.get("export_csv_sep_values")
|
|
432 | 430 |
if sep is not None: |
433 | 431 |
sep_values = sep |
434 | 432 |
|
435 |
sep = settings.get("EXPORT_CSV_SEP_VALUE")
|
|
433 |
sep = config.get("export_csv_sep_value")
|
|
436 | 434 |
if sep is not None: |
437 | 435 |
sep_value = sep |
438 | 436 |
|
... | ... | |
472 | 470 |
dict_indicators[idx] = indicators_l[i] |
473 | 471 |
|
474 | 472 |
# url selon configuration |
475 |
url_l = settings.get('RRD_URL')
|
|
473 |
url_l = config.get('rrd_url')
|
|
476 | 474 |
if url_l is not None: |
477 | 475 |
# donnees via proxy |
478 | 476 |
rrdproxy = RRDProxy(url_l) |
vigigraph/tests/__init__.py | ||
---|---|---|
12 | 12 |
import nose |
13 | 13 |
from nose.tools import eq_ |
14 | 14 |
|
15 |
from vigilo.models.vigilo_bdd_config import metadata |
|
16 |
from vigilo.models.session import DBSession |
|
15 |
from vigilo.models.configure import metadata, DBSession |
|
17 | 16 |
|
18 | 17 |
__all__ = ['setup_db', 'teardown_db', 'TestController', 'url_for'] |
19 | 18 |
|
20 |
metadata.bind = DBSession.bind |
|
21 |
|
|
22 | 19 |
def setup_db(): |
23 | 20 |
"""Method used to build a database""" |
24 |
metadata.create_all() |
|
21 |
print "Creating model" |
|
22 |
engine = config['pylons.app_globals'].sa_engine |
|
23 |
metadata.create_all(engine) |
|
25 | 24 |
|
26 | 25 |
def teardown_db(): |
27 | 26 |
"""Method used to destroy a database""" |
28 |
metadata.drop_all() |
|
27 |
print "Destroying model" |
|
28 |
engine = config['pylons.app_globals'].sa_engine |
|
29 |
metadata.drop_all(engine) |
|
29 | 30 |
|
30 | 31 |
|
31 | 32 |
class TestController(object): |
Also available in: Unified diff