annotate PerfsDb/ConfigFileBuilder.py @ 156:f1a75985caa8

first Db test framework - work in progress
author am@osimis.io
date Thu, 16 Aug 2018 17:13:32 +0200
parents
children df1f9946571c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
156
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
1 import typing
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
2 import json
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
3
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
4 from DbType import DbType
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
5
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
6 class ConfigFileBuilder:
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
7
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
8 @staticmethod
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
9 def generate(
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
10 outputPath: str,
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
11 plugins: typing.List[str],
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
12 storagePath: str,
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
13 dbType: DbType,
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
14 dbSize: str,
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
15 port: int
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
16 ):
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
17
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
18 config = {}
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
19 config["Plugins"] = plugins
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
20 config["StorageDirectory"] = storagePath
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
21
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
22 dbConfig = {}
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
23 dbConfig["EnableIndex"] = True
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
24 dbConfig["Host"] = "127.0.0.1"
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
25 dbConfig["Lock"] = False
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
26 dbConfig["Port"] = port
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
27
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
28 if dbType == DbType.MySQL:
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
29 dbConfig["EnableStorage"] = False
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
30 dbConfig["Database"] = "orthanc"
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
31 dbConfig["Username"] = "orthanc"
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
32 dbConfig["Password"] = "orthanc"
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
33
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
34 config["MySQL"] = dbConfig
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
35
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
36 elif dbType == DbType.PG9 or dbType == DbType.PG10:
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
37 dbConfig["EnableStorage"] = False
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
38 dbConfig["Database"] = "orthanc"
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
39 dbConfig["Username"] = "orthanc"
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
40 dbConfig["Password"] = "orthanc"
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
41
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
42 config["PostgreSQL"] = dbConfig
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
43
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
44 elif dbType == DbType.MSSQL:
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
45 dbConfig["ConnectionString"] = "Driver={ODBC Driver 13 for SQL Server};Server=tcp:index," + port + ";Database=master;Uid=sa;Pwd=MyStrOngPa55word!;Encrypt=yes;TrustServerCertificate=yes;Connection Timeout=30"
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
46 dbConfig["LicenseString"] = "1abaamBcReVXv6EtE_X___demo-orthanc%osimis.io___HHHnqVHYvEkR3jGs2Y3EvpbxZgTt7yaCniJa2Bz7hFWTMa" # note: this is a trial license expiring on 2018-09-30, replace with your license code
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
47
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
48 config["MSSQL"] = dbConfig
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
49
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
50 elif DbType == DbType.Sqlite:
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
51 config["IndexDirectory"] = storagePath
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
52
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
53 else:
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
54 raise NotImplementedError
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
55
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
56 with open(outputPath, "w") as configFile:
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
57 json.dump(config, fp=configFile, indent=4)