pastafari2/libraries/load_task.py
2023-06-01 13:59:24 +02:00

41 lines
1.4 KiB
Python

from paramecio2.libraries.db.webmodel import WebModel
from paramecio2.libraries.db import corefields
from paramecio2.libraries.db.extrafields.ipfield import IpField
from paramecio2.libraries.db.extrafields.arrayfield import ArrayField
from paramecio2.libraries.db.extrafields.parentfield import ParentField
from paramecio2.libraries.db.extrafields.datefield import DateField
from paramecio2.libraries.db.extrafields.dictfield import DictField
from paramecio2.libraries.db.extrafields.jsonfield import JsonValueField
from paramecio2.libraries.i18n import I18n
import urllib3
try:
import ujson as json
except:
import json
from redis import Redis
from rq import Queue
import importlib
import traceback
from modules.pastafari2.models.tasks import Task
def load_db_in_task(task_id, conn):
task_model=Task(conn)
arr_task=task_model.select_a_row(task_id)
if not arr_task:
return False
ssh_task=importlib.import_module(arr_task['path'])
server=arr_task['server']
remote_user=arr_task['user']
remote_password=arr_task['password']
private_key=arr_task['ssh_key_priv']
password_key=arr_task.get('ssh_key_password', '')
final_task=ssh_task.ServerTask(server, conn, remote_user=remote_user, remote_password=remote_password, private_key=private_key, password_key=password_key, remote_path='pastafari2', task_id=task_id, data=json.loads(arr_task['data']))
return final_task