- f = open(self.local_settings_file, 'w')
- f.write("<?php\n @define('CONST_Database_DSN', 'pgsql://@/%s');\n" % dbname)
- f.write("@define('CONST_Osm2pgsql_Flatnode_File', null);\n")
- f.close()
+ dsn = 'pgsql:dbname={}{}{}{}{}'.format(
+ dbname,
+ (';host=' + self.db_host) if self.db_host else '',
+ (';port=' + self.db_port) if self.db_port else '',
+ (';user=' + self.db_user) if self.db_user else '',
+ (';password=' + self.db_pass) if self.db_pass else ''
+ )
+
+ if self.website_dir is not None \
+ and self.test_env is not None \
+ and dsn == self.test_env['NOMINATIM_DATABASE_DSN']:
+ return # environment already set uo
+
+ self.test_env = os.environ
+ self.test_env['NOMINATIM_DATABASE_DSN'] = dsn
+ self.test_env['NOMINATIM_FLATNODE_FILE'] = ''
+ self.test_env['NOMINATIM_IMPORT_STYLE'] = 'full'
+ self.test_env['NOMINATIM_USE_US_TIGER_DATA'] = 'yes'
+
+ if self.website_dir is not None:
+ self.website_dir.cleanup()
+
+ self.website_dir = tempfile.TemporaryDirectory()
+ self.run_setup_script('setup-website')