示例#1
0
def home():

    if check_login():

        s = get_session()

        #Load menu

        menu = get_menu(config_admin.modules_admin)

        lang_selected = get_language(s)

        t = PTemplate(env)

        conn = WebModel.connection()

        content_index = admin(t=t, connection=conn)

        if t.show_basic_template == True:

            return t.load_template('admin/content.html',
                                   title='Servers',
                                   content_index=content_index,
                                   menu=menu,
                                   lang_selected=lang_selected,
                                   arr_i18n=I18n.dict_i18n)
        else:

            return content_index

    else:
        redirect(make_url(config.admin_folder))
示例#2
0
def home():

    connection = WebModel.connection()
    #Fix, make local variable

    t = PTemplate(env)

    s = get_session()

    if check_login():

        #Load menu

        menu = get_menu(config_admin.modules_admin)

        lang_selected = get_language(s)

        content_index = t.load_template('pastafari/dashboard.phtml')

        return t.load_template('admin/content.html',
                               title='Dashboard',
                               content_index=content_index,
                               menu=menu,
                               lang_selected=lang_selected,
                               arr_i18n=I18n.dict_i18n)

    else:
        redirect(make_url(config.admin_folder))
示例#3
0
def showprogress(task_id, server):

    # Need check the server

    t = PTemplate(env)

    conn = WebModel.connection()

    s = get_session()

    if check_login():

        content_index = ''

        conn = WebModel.connection()
        task = Task(conn)

        menu = get_menu(config_admin.modules_admin)

        lang_selected = get_language(s)

        arr_task = task.select_a_row(task_id)

        if arr_task:

            server_model = Server(conn)

            server_model.set_conditions('where ip=%s', [server])

            arr_server = server_model.select_a_row_where()

            if arr_server:

                #arr_task=

                content_index = t.load_template(
                    'pastafari/progress.phtml',
                    name_task=arr_task['name_task'] + ' - ' +
                    arr_server['hostname'],
                    description_task=arr_task['description_task'],
                    task_id=task_id,
                    server=server,
                    position=0)
        conn.close()
        return t.load_template('admin/content.html',
                               title='Servers log',
                               content_index=content_index,
                               menu=menu,
                               lang_selected=lang_selected,
                               arr_i18n=I18n.dict_i18n)

    else:
        conn.close()
        return ""
示例#4
0
def graphs(server_id):

    if check_login():

        s = get_session()

        #Load menu

        menu = get_menu(config_admin.modules_admin)

        lang_selected = get_language(s)

        t = PTemplate(env)

        conn = WebModel.connection()

        server = servers.Server(conn)

        arr_server = server.select_a_row(server_id)

        if arr_server:

            content_index = t.load_template('pastafari/admin/graphs.phtml',
                                            server=arr_server,
                                            api_key=config_task.api_key)

        else:

            content_index = ''

        if t.show_basic_template == True:

            return t.load_template('admin/content.html',
                                   title='Servers',
                                   content_index=content_index,
                                   menu=menu,
                                   lang_selected=lang_selected,
                                   arr_i18n=I18n.dict_i18n)
        else:

            return content_index

    else:
        redirect(make_url(config.admin_folder))
示例#5
0
def home():

    if check_login():

        s = get_session()

        #Load menu

        menu = get_menu(config_admin.modules_admin)

        lang_selected = get_language(s)

        t = PTemplate(env)

        conn = WebModel.connection()

        url = make_url(pastafari_folder + '/os')

        os = servers.OsServer(conn)

        admin = GenerateAdminClass(os, url, t)

        admin.list.fields_showed = ['name', 'codename']

        admin.list.s['order'] = '0'
        admin.list.s['order_field'] = 'name'

        admin.list.yes_search = False

        content_index = admin.show()

        return t.load_template('admin/content.html',
                               title='Os Servers',
                               content_index=content_index,
                               menu=menu,
                               lang_selected=lang_selected,
                               arr_i18n=I18n.dict_i18n)

    else:
        redirect(make_url(config.admin_folder))
示例#6
0
def gettasks():

    if check_login():

        s = get_session()

        #Load menu

        menu = get_menu(config_admin.modules_admin)

        lang_selected = get_language(s)

        t = PTemplate(env)

        conn = WebModel.connection()

        getpostfiles = GetPostFiles()

        getpostfiles.obtain_get()

        getpostfiles.get['op'] = getpostfiles.get.get('op', '')
        getpostfiles.get['task_id'] = getpostfiles.get.get('task_id', '0')
        getpostfiles.get['position'] = getpostfiles.get.get('position', '0')
        getpostfiles.get['server'] = getpostfiles.get.get('server', '')

        try:

            task_id = int(getpostfiles.get['task_id'])
        except:
            task_id = 0

        try:
            position = int(getpostfiles.get['position'])
        except:
            position = 0

        task = Task(conn)
        logtask = LogTask(conn)

        arr_task = task.select_a_row(task_id)

        t.show_basic_template = False

        arr_rows = {'wait': 1}

        if arr_task:

            logtask.set_limit([position, 20])

            logtask.set_order({'id': 0})

            logtask.conditions = ['WHERE task_id=%s', [task_id]]

            if getpostfiles.get['server'] != '':
                logtask.conditions = [
                    'WHERE task_id=%s and logtask.server=%s',
                    [task_id, getpostfiles.get['server']]
                ]

            #logtask.set_limit([position, 1])

            #arr_row=logtask.select_a_row_where([], 1, position)

            logtask.yes_reset_conditions = False

            c = logtask.select_count()

            if c > 0:

                arr_rows = []

                with logtask.select([], True) as cursor:
                    for arr_row in cursor:
                        arr_rows.append(arr_row)

            else:
                arr_rows = []

                with logtask.set_conditions(
                        'WHERE task_id=%s and logtask.error=1',
                    [task_id]).select([], True) as cursor:
                    for arr_row in cursor:
                        arr_rows.append(arr_row)

                if arr_rows == 0:

                    arr_rows = {'wait': 1}
                else:

                    with logtask.set_conditions(
                            'WHERE task_id=%s and logtask.server=%s and logtask.error=1',
                        [task_id, getpostfiles.get['server']]).select(
                            [], True) as cursor:
                        for arr_row in cursor:
                            arr_rows.append(arr_row)
            """
                
                arr_rows=[]
                
                with logtask.select() as cursor:            
                    for arr_row in cursor:
                        arr_rows.append(arr_row)
                
                if len(arr_rows)==0:
                    logtask.set_limit([1])
                
                    logtask.set_order({'id': 0})
                    
                    logtask.conditions=['WHERE task_id=%s and status=1 and error=1  and server=""', [task_id]]
                    
                    if logtask.select_count('id', True)==0:
                        
                        if arr_task['status']=='0' or arr_task['status']==0:
                            conn.close()
                            return filter_ajax({'wait': 1})
                        else:
                            conn.close()
                            return filter_ajax({})
                    else:
                        
                        logtask.set_limit([1])
                    
                        logtask.set_order({'id': 0})
                        
                        logtask.conditions=['WHERE task_id=%s and status=1 and error=1  and server=""', [task_id]]
                        
                        arr_rows=logtask.select_to_array([], True)
                
                #response.set_header('Content-type', 'text/plain')
                conn.close()
                return filter_ajax(arr_rows)
                
            else:
                conn.close()
                return filter_ajax({'wait': 1})
            """

        else:

            arr_task = {
                'task_id': task_id,
                'progress': 100,
                'message': 'Error: no exists task',
                'error': 1,
                'status': 1
            }

        conn.close()

        return filter_ajax(arr_rows)

    else:

        redirect(make_url(config.admin_folder))
示例#7
0
def home(server_id, task_id):

    connection = WebModel.connection()
    #Fix, make local variable

    t = PTemplate(env)

    s = get_session()

    if check_login():

        task = Task(connection)
        logtask = LogTask(connection)
        server = Server(connection)

        getpost = GetPostFiles()

        getpost.obtain_get()

        #Load menu

        menu = get_menu(config_admin.modules_admin)

        lang_selected = get_language(s)

        # server_id=getpost.get.get('id', 0)

        server_hostname = ''

        arr_server = server.select_a_row(server_id)

        if arr_server:

            server_hostname = ' - ' + arr_server['hostname']

            ip = arr_server['ip']

            logtask.set_conditions('WHERE server=%s', [ip])

            logtask_list = SimpleList(
                logtask,
                make_url(pastafari_folder + '/serverslogs',
                         {'id': str(server_id)}), t)

            logtask_list.limit_pages = 100

            logtask_list.yes_search = False

            logtask_list.order_field = 'id'
            logtask_list.order = 1

            logtask_list.fields_showed = [
                'id', 'server', 'message', 'error', 'status'
            ]

            logtask_list.arr_extra_fields = []
            logtask_list.arr_extra_options = []

            return_url = make_url('pastafari/servers')

            content_index = t.load_template('pastafari/admin/logs_list.phtml',
                                            logtask_list=logtask_list,
                                            server=arr_server,
                                            return_url=return_url)
            #logtask_list.show()

            # Send request to server

        else:

            content_index = 'Log no exists'

        connection.close()
        return t.load_template('admin/content.html',
                               title='Servers log' + server_hostname,
                               content_index=content_index,
                               menu=menu,
                               lang_selected=lang_selected,
                               arr_i18n=I18n.dict_i18n)

    else:
        connection.close()
        redirect(make_url(config.admin_folder))
示例#8
0
if hasattr(config, 'pastafari_folder'):
    pastafari_folder = config.pastafari_folder

num_updated_servers = 2

if hasattr(config, 'num_updated_servers'):
    num_updated_servers = config.num_updated_servers

load_lang(['paramecio', 'admin'], ['paramecio', 'common'])

env = env_theme(__file__)

env.directories.insert(1, config.paramecio_root + '/modules/admin/templates')

t = PTemplate(env)

# Server tasks list


@app.get('/' + pastafari_folder + '/tasklist/<server_id:int>')
def tasklist(server_id):

    content_index = ''

    if check_login():

        conn = WebModel.connection()

        server = Server(conn)