Some changes
This commit is contained in:
		
							
								
								
									
										35
									
								
								dm.py
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								dm.py
									
									
									
									
									
								
							| @@ -30,6 +30,7 @@ def firstInit(): | ||||
|  | ||||
|     # Если конфиг уже есть читаем его если нет, создаем и потом читаем | ||||
|     if os.path.isfile(cfg_file): | ||||
|         print('Read config -' + cfg_file) | ||||
|         config.read(cfg_file) | ||||
|     else: | ||||
|         # Запись конфигурации в файл 'example.cfg' | ||||
| @@ -42,13 +43,14 @@ def firstInit(): | ||||
|     template_dir = config.get('Directory', 'template_dir') | ||||
|     db_type = config.get('DataBase', 'db_type') | ||||
|     db_hostname =  config.get('DataBase', 'db_hostname') | ||||
|     db_name =  config.get('DataBase', 'db_name') | ||||
|     template_file = os.path.join(template_dir, "{}.json".format(db_name)) | ||||
|  | ||||
|     if db_type == 'sqlite': | ||||
|         db_name =  os.path.join(work_dir, config.get('DataBase', 'db_name')) | ||||
|     else: | ||||
|         db_name = config.get('DataBase', 'db_name') | ||||
|          db_name = "{}.{}".format(os.path.join(work_dir, db_name), 'sqlite') | ||||
|  | ||||
|     db_user = config.get('DataBase', 'db_user') | ||||
|     db_password = config.get('DataBase', 'db_password') | ||||
|  | ||||
|     # Создаём нужные каталоги | ||||
|     if os.path.isdir(work_dir): | ||||
|         print(work_dir + " already exists") | ||||
| @@ -59,15 +61,17 @@ def firstInit(): | ||||
|     else: | ||||
|         os.mkdir(template_dir) | ||||
|     # копируем и читаем файл шаблон БД | ||||
|     template_file = os.path.join(template_dir, 'tables.json') | ||||
|     #print("template file "+ template_file) | ||||
|     #template_file = os.path.join(template_dir, 'tables.json') | ||||
|     if os.path.isfile(template_file): | ||||
|         print("Template file already exists") | ||||
|     else: | ||||
|         shutil.copy('tables.json', template_file) | ||||
|         print("Template file " + template_file +" already exists") | ||||
| #    else: | ||||
| #        shutil.copy(template_file_name, template_file) | ||||
|  | ||||
|  | ||||
| def dbConnect(): | ||||
|     global c, db_type, db_hostname, db_user, db_password, db_name, conn | ||||
|     #print(db_name) | ||||
|     if db_type == "mysql": | ||||
|         import pymysql | ||||
|         conn = pymysql.connect( | ||||
| @@ -146,8 +150,15 @@ def createTables(tbl_list): | ||||
|                    index = " PRIMARY KEY" | ||||
|                 else: | ||||
|                     index = '' | ||||
|                 qwery_create = qwery_create + tbl_list[i]["fieldList"][x]["fName"] + ' ' + \ | ||||
|                                tbl_list[i]["fieldList"][x]["fType"] + index + auto_increment | ||||
|                 fieldType = tbl_list[i]["fieldList"][x]["fType"].lower() | ||||
|                 #print(fieldType) | ||||
|                 if fieldType[0:3] == 'int': | ||||
|                     qwery_create = qwery_create + tbl_list[i]["fieldList"][x]["fName"] + ' ' + \ | ||||
|                                    'INTEGER' + index + auto_increment | ||||
|                 #print(fieldType) | ||||
|                 else: | ||||
|                     qwery_create = qwery_create + tbl_list[i]["fieldList"][x]["fName"] + ' ' + \ | ||||
|                                    tbl_list[i]["fieldList"][x]["fType"] + index + auto_increment | ||||
|  | ||||
|                 field_names_list.append([tbl_list[i]["fieldList"][x]["fName"], tbl_list[i]["fieldList"][x]["fDescription"]]) | ||||
|                 # struct_fields_list.append(tbl_list[i]["fieldList"][x]["fName"]) | ||||
| @@ -167,12 +178,13 @@ def createTables(tbl_list): | ||||
|         i = i + 1 | ||||
|         dbTablesDescriptionList.append(one_Table_descr) | ||||
|         dbTablesStructList.append(one_Table_struct) | ||||
|         #print(qwery_create) | ||||
|         print(qwery_create) | ||||
|         c.execute(qwery_create) | ||||
|     return dbTablesNamesList | ||||
|  | ||||
| def initDBstructure(): | ||||
|     global dbTablesDescriptionList, template_file, tblNamesList | ||||
|     #print(template_file) | ||||
|     table_list = open(template_file, "r", encoding="utf-8") | ||||
|     data = json.load(table_list, encoding="utf-8") | ||||
|     tbl_list = data["tables"] | ||||
| @@ -502,4 +514,5 @@ def editDataIntoBD(dataList): | ||||
|  | ||||
| #initDBstructure() | ||||
| firstInit() | ||||
| print(template_file) | ||||
| dbConnect() | ||||
|   | ||||
							
								
								
									
										202
									
								
								tables.json
									
									
									
									
									
								
							
							
						
						
									
										202
									
								
								tables.json
									
									
									
									
									
								
							| @@ -1,202 +0,0 @@ | ||||
| { | ||||
|   "tables": [ | ||||
|     { | ||||
|       "tableName": "users", | ||||
|       "tableDescription": "Пользователи", | ||||
|       "fieldList": [ | ||||
|         { | ||||
|           "fName": "id", | ||||
|           "fDescription": "Номер п.п.", | ||||
|           "fType": "int(6)", | ||||
|           "index": "PRIMARY KEY", | ||||
|           "autoIncrement": "yes", | ||||
|           "relation": [] | ||||
|         }, | ||||
|         { | ||||
|           "fName": "login", | ||||
|           "fDescription": "Логин", | ||||
|           "fType": "char(20)", | ||||
|           "index": "yes", | ||||
|           "autoIncrement": "no", | ||||
|           "relation": [] | ||||
|         }, | ||||
|         { | ||||
|           "fName": "password", | ||||
|           "fDescription": "Пароль", | ||||
|           "fType": "char(20)", | ||||
|           "index": "no", | ||||
|           "autoIncrement": "no", | ||||
|           "relation": [] | ||||
|         }, | ||||
|         { | ||||
|           "fName": "last_name", | ||||
|           "fDescription": "Фамилия", | ||||
|           "fType": "char(20)", | ||||
|           "index": "no", | ||||
|           "autoIncrement": "no", | ||||
|           "relation": [] | ||||
|         }, | ||||
|         { | ||||
|           "fName": "name", | ||||
|           "fDescription": "Имя", | ||||
|           "fType": "char(20)", | ||||
|           "index": "no", | ||||
|           "autoIncrement": "no", | ||||
|           "relation": [] | ||||
|         }, | ||||
|         { | ||||
|           "fName": "middle_name", | ||||
|           "fDescription": "Отчество", | ||||
|           "fType": "char(20)", | ||||
|           "index": "no", | ||||
|           "autoIncrement": "no", | ||||
|           "relation": [] | ||||
|         } | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "tableName": "docs", | ||||
|       "tableDescription": "Документы", | ||||
|       "fieldList": [ | ||||
|         { | ||||
|           "fName": "id", | ||||
|           "fDescription": "Номер п.п.", | ||||
|           "fType": "int(6)", | ||||
|           "index": "PRIMARY KEY", | ||||
|           "autoIncrement": "yes", | ||||
|           "relation": [] | ||||
|         }, | ||||
|         { | ||||
|           "fName": "doc_name", | ||||
|           "fDescription": "Наименование", | ||||
|           "fType": "varchar(100)", | ||||
|           "index": "yes", | ||||
|           "autoIncrement": "no", | ||||
|           "relation": [] | ||||
|         }, | ||||
|         { | ||||
|           "fName": "description", | ||||
|           "fDescription": "Описание", | ||||
|           "fType": "varchar(200)", | ||||
|           "index": "no", | ||||
|           "autoIncrement": "no", | ||||
|           "relation": [] | ||||
|         }, | ||||
|         { | ||||
|           "fName": "users_id", | ||||
|           "fDescription": "Владелец", | ||||
|           "fType": "int(6)", | ||||
|           "index": "no", | ||||
|           "autoIncrement": "no", | ||||
|           "relation": ["users.id", "last_name, name, middle_name"] | ||||
|         }, | ||||
|         { | ||||
|           "fName": "parent_id", | ||||
|           "fDescription": "Родительский документ", | ||||
|           "fType": "int(6)", | ||||
|           "index": "no", | ||||
|           "autoIncrement": "no", | ||||
|           "relation": ["docs.id", "doc_name"] | ||||
|         } | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "tableName": "address", | ||||
|       "tableDescription": "Адреса", | ||||
|       "fieldList": [ | ||||
|         { | ||||
|           "fName": "id", | ||||
|           "fDescription": "Номер п.п.", | ||||
|           "fType": "int(6)", | ||||
|           "index": "PRIMARY KEY", | ||||
|           "autoIncrement": "yes", | ||||
|           "relation": [] | ||||
|         }, | ||||
|         { | ||||
|           "fName": "region", | ||||
|           "fDescription": "Регион", | ||||
|           "fType": "varchar(100)", | ||||
|           "index": "yes", | ||||
|           "autoIncrement": "no", | ||||
|           "relation": [] | ||||
|         }, | ||||
|         { | ||||
|           "fName": "city", | ||||
|           "fDescription": "Населеннй пункт", | ||||
|           "fType": "varchar(200)", | ||||
|           "index": "no", | ||||
|           "autoIncrement": "no", | ||||
|           "relation": [] | ||||
|         }, | ||||
|         { | ||||
|           "fName": "street", | ||||
|           "fDescription": "Улица", | ||||
|           "fType": "varchar(100)", | ||||
|           "index": "no", | ||||
|           "autoIncrement": "no", | ||||
|           "relation": [] | ||||
|         }, | ||||
|         { | ||||
|           "fName": "house", | ||||
|           "fDescription": "Дом", | ||||
|           "fType": "char(6)", | ||||
|           "index": "no", | ||||
|           "autoIncrement": "no", | ||||
|           "relation": [] | ||||
|         } | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "tableName": "test", | ||||
|       "tableDescription": "Шляпа", | ||||
|       "fieldList": [ | ||||
|         { | ||||
|           "fName": "id", | ||||
|           "fDescription": "Номер п.п.", | ||||
|           "fType": "int(11)", | ||||
|           "index": "PRIMARY KEY", | ||||
|           "autoIncrement": "yes", | ||||
|           "relation": [] | ||||
|         }, | ||||
|         { | ||||
|           "fName": "user", | ||||
|           "fDescription": "Юзер шляпы", | ||||
|           "fType": "int(11)", | ||||
|           "index": "no", | ||||
|           "autoIncrement": "no", | ||||
|           "relation": ["users.id", "last_name, name, middle_name"] | ||||
|         } | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "tableName": "test2", | ||||
|       "tableDescription": "Шляпа2", | ||||
|       "fieldList": [ | ||||
|         { | ||||
|           "fName": "id", | ||||
|           "fDescription": "Номер п.п.", | ||||
|           "fType": "int(11)", | ||||
|           "index": "PRIMARY KEY", | ||||
|           "autoIncrement": "yes", | ||||
|           "relation": [] | ||||
|         }, | ||||
|         { | ||||
|           "fName": "ins_date", | ||||
|           "fDescription": "Дата добавления", | ||||
|           "fType": "DATETIME", | ||||
|           "index": "no", | ||||
|           "autoIncrement": "no", | ||||
|           "relation": [] | ||||
|         }, | ||||
|         { | ||||
|           "fName": "user", | ||||
|           "fDescription": "Юзер шляпы", | ||||
|           "fType": "int(11)", | ||||
|           "index": "no", | ||||
|           "autoIncrement": "no", | ||||
|           "relation": ["users.id", "last_name, name, middle_name"] | ||||
|         } | ||||
|       ] | ||||
|     } | ||||
|   ] | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 Sergey Kalinin
					Sergey Kalinin