34 lines
1.4 KiB
Python
34 lines
1.4 KiB
Python
import logging
|
||
import os
|
||
from pathlib import Path
|
||
|
||
from django.core.files.uploadedfile import SimpleUploadedFile
|
||
from django.core.management.base import BaseCommand
|
||
|
||
from correlation.services.import_service import ImportRulesService
|
||
from incident.models import IncidentRecommendations
|
||
|
||
_log = logging.getLogger(__name__)
|
||
|
||
|
||
def create_addition():
|
||
"""
|
||
During rules export, only those recommendations and effects that are used in the rules are exported.
|
||
Here we manually create some objects that are not used anywhere in the rules
|
||
"""
|
||
IncidentRecommendations.objects.get_or_create(name="Перевести работу АСУ ТП на резервный ПЛК",
|
||
description="Необходимо перевести работу на резервный ПЛК для "
|
||
"избежания нарушения технологического процесса.")
|
||
|
||
|
||
class Command(BaseCommand):
|
||
help = 'Load default rules'
|
||
|
||
def handle(self, *args, **options):
|
||
rules_path = Path(os.path.abspath(__file__)).parents[0]
|
||
with open(f'{rules_path}/rules_console.json', 'rb') as rule_file:
|
||
file = SimpleUploadedFile("rules.json", rule_file.read())
|
||
|
||
create_addition()
|
||
import_service = ImportRulesService(file, check_version=False)
|
||
import_service.run_import()
|