devtools/__init__.py
changeset 10175 2659f8529a43
parent 10064 91a8f355c082
child 10231 fdcc500002ef
child 10792 daef7ce08fea
equal deleted inserted replaced
10174:7e1c8fb9c407 10175:2659f8529a43
    31 import warnings
    31 import warnings
    32 import tempfile
    32 import tempfile
    33 import getpass
    33 import getpass
    34 from hashlib import sha1 # pylint: disable=E0611
    34 from hashlib import sha1 # pylint: disable=E0611
    35 from datetime import timedelta
    35 from datetime import timedelta
    36 from os.path import (abspath, join, exists, split, isabs, isdir)
    36 from os.path import (abspath, realpath, join, exists, split, isabs, isdir)
    37 from functools import partial
    37 from functools import partial
    38 
    38 
    39 from logilab.common.date import strptime
    39 from logilab.common.date import strptime
    40 from logilab.common.decorators import cached, clear_cache
    40 from logilab.common.decorators import cached, clear_cache
    41 
    41 
   547         for datadir in cls.__CTL:
   547         for datadir in cls.__CTL:
   548             subprocess.call(['pg_ctl', 'stop', '-D', datadir, '-m', 'fast'])
   548             subprocess.call(['pg_ctl', 'stop', '-D', datadir, '-m', 'fast'])
   549 
   549 
   550     def __init__(self, *args, **kwargs):
   550     def __init__(self, *args, **kwargs):
   551         super(PostgresTestDataBaseHandler, self).__init__(*args, **kwargs)
   551         super(PostgresTestDataBaseHandler, self).__init__(*args, **kwargs)
   552         datadir = join(self.config.apphome, 'pgdb')
   552         datadir = realpath(join(self.config.apphome, 'pgdb'))
       
   553         if datadir in self.__CTL:
       
   554             return
   553         if not exists(datadir):
   555         if not exists(datadir):
   554             try:
   556             try:
   555                 subprocess.check_call(['initdb', '-D', datadir, '-E', 'utf-8', '--locale=C'])
   557                 subprocess.check_call(['initdb', '-D', datadir, '-E', 'utf-8', '--locale=C'])
   556 
   558 
   557             except OSError, err:
   559             except OSError, err: