Fixes in progress
This commit is contained in:
parent
472ca499e7
commit
3a375c3399
5 changed files with 92 additions and 1 deletions
|
|
@ -25,6 +25,7 @@ import configparser
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
from importlib import import_module, reload
|
from importlib import import_module, reload
|
||||||
from modules.pastafari2.libraries.progress import load_progress
|
from modules.pastafari2.libraries.progress import load_progress
|
||||||
|
from modules.pastafari2.libraries.load_task import load_db_in_task
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import ujson as json
|
import ujson as json
|
||||||
|
|
@ -626,9 +627,16 @@ def pastafari2_multiprogress():
|
||||||
|
|
||||||
num_servers=task.set_conditions('WHERE parent_id=%s', [task_id]).select_count()
|
num_servers=task.set_conditions('WHERE parent_id=%s', [task_id]).select_count()
|
||||||
|
|
||||||
|
links=''
|
||||||
|
|
||||||
|
task_process=load_db_in_task(task_id, db)
|
||||||
|
|
||||||
|
if task_process:
|
||||||
|
links=task_process.links
|
||||||
|
|
||||||
if arr_task:
|
if arr_task:
|
||||||
|
|
||||||
return t.load_template('multiprogress.phtml', title=I18n.lang('pastafari2', 'task_progress', 'Task progress'), path_module='admin_app.pastafari2_dashboard', name_task=arr_task['name_task'], description_task=arr_task['description_task'], task_id=task_id, server=arr_task['server'], num_servers=num_servers)
|
return t.load_template('multiprogress.phtml', title=I18n.lang('pastafari2', 'task_progress', 'Task progress'), path_module='admin_app.pastafari2_dashboard', name_task=arr_task['name_task'], description_task=arr_task['description_task'], task_id=task_id, server=arr_task['server'], num_servers=num_servers, links=links)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
|
||||||
|
|
|
||||||
41
libraries/load_task.py
Normal file
41
libraries/load_task.py
Normal file
|
|
@ -0,0 +1,41 @@
|
||||||
|
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
|
||||||
|
|
@ -1,11 +1,23 @@
|
||||||
from modules.pastafari2.models.tasks import Task, LogTask
|
from modules.pastafari2.models.tasks import Task, LogTask
|
||||||
from flask import request
|
from flask import request
|
||||||
from paramecio2.libraries.i18n import I18n
|
from paramecio2.libraries.i18n import I18n
|
||||||
|
from modules.pastafari2.libraries.load_task import load_db_in_task
|
||||||
|
|
||||||
def load_progress(db, t, return_tree='', path_module='admin_app.pastafari2_dashboard'):
|
def load_progress(db, t, return_tree='', path_module='admin_app.pastafari2_dashboard'):
|
||||||
|
|
||||||
task_id=request.args.get('task_id', '0')
|
task_id=request.args.get('task_id', '0')
|
||||||
|
|
||||||
|
ssh_task=load_db_in_task(int(task_id), db)
|
||||||
|
|
||||||
|
path_module='admin_app.pastafari2_dashboard'
|
||||||
|
|
||||||
|
if ssh_task:
|
||||||
|
if return_tree=='':
|
||||||
|
return_tree=ssh_task.links
|
||||||
|
if path_module=='admin_app.pastafari2_dashboard':
|
||||||
|
path_module=ssh_task.path_module
|
||||||
|
|
||||||
|
|
||||||
position=request.args.get('position', '0')
|
position=request.args.get('position', '0')
|
||||||
|
|
||||||
task=Task(db)
|
task=Task(db)
|
||||||
|
|
|
||||||
28
media/css/popup.css
Normal file
28
media/css/popup.css
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
|
||||||
|
.title_popup {
|
||||||
|
|
||||||
|
margin-top:0px;
|
||||||
|
border-radius:0px;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.cont_popup {
|
||||||
|
|
||||||
|
margin-bottom:0px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.close_icon {
|
||||||
|
|
||||||
|
color: #fff;
|
||||||
|
position:absolute;
|
||||||
|
right:5px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
a.close_icon:hover {
|
||||||
|
|
||||||
|
color: #ccc;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -5,6 +5,7 @@
|
||||||
</%block>
|
</%block>
|
||||||
<h2>${name_task}</h2>
|
<h2>${name_task}</h2>
|
||||||
<p>${description_task}</p>
|
<p>${description_task}</p>
|
||||||
|
${links|n}
|
||||||
<hr />
|
<hr />
|
||||||
<p>${lang('pastafari2', 'num_servers', 'Number of servers')}: <span id="num_servers">${num_servers}</span></p>
|
<p>${lang('pastafari2', 'num_servers', 'Number of servers')}: <span id="num_servers">${num_servers}</span></p>
|
||||||
<p>${lang('pastafari2', 'completed_tasks', 'Completed tasks')}: <span id="num_completed">0</span></p>
|
<p>${lang('pastafari2', 'completed_tasks', 'Completed tasks')}: <span id="num_completed">0</span></p>
|
||||||
|
|
@ -19,6 +20,7 @@
|
||||||
<div id="finished" style="display:none;">
|
<div id="finished" style="display:none;">
|
||||||
<p><strong>All tasks were finished.</strong></p>
|
<p><strong>All tasks were finished.</strong></p>
|
||||||
</div>
|
</div>
|
||||||
|
${links|n}
|
||||||
<%block name="go_back_bottom">
|
<%block name="go_back_bottom">
|
||||||
<p><a href="${url_for('.pastafari2_dashboard')}">${lang('pastafari2', 'servers', 'Servers')}</a> >> ${lang('pastafari2', 'task_progress', 'Task progress')}</p>
|
<p><a href="${url_for('.pastafari2_dashboard')}">${lang('pastafari2', 'servers', 'Servers')}</a> >> ${lang('pastafari2', 'task_progress', 'Task progress')}</p>
|
||||||
</%block>
|
</%block>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue