Exemple #1
0
def get_selected_page_object_elements():
    if request.method == 'POST':
        project = request.form['project']
        page_name = request.form['pageObject']
        po_elements = page_object.get_page_object_content(project, page_name)
        print(po_elements)
        return json.dumps(po_elements)
Exemple #2
0
def page_view(project, full_page_name, no_sidebar=False):
    path = page_object.generate_page_path(root_path, project, full_page_name)
    page_exists_ = page_object.page_exists(test_execution.root_path, project,
                                           full_page_name)
    if not page_exists_:
        abort(404, 'The page {} does not exist'.format(full_page_name))
    _, error = utils.import_module(path)
    if error:
        if no_sidebar:
            url = url_for('page_code_view_no_sidebar', project=project, full_page_name=full_page_name)
        else:
            url = url_for('page_code_view', project=project, full_page_name=full_page_name)
        content = ('<h4>There are errors in the page</h4>'
                   '<p>There are errors and the page cannot be displayed, '
                   'open the page code editor to solve them.</p>'
                   '<a class="btn btn-default" href="{}">Open Page Code</a>'
                   .format(url))
        return render_template('common_element_error.html', project=project,
                               item_name=full_page_name, content=content,
                               no_sidebar=no_sidebar)
    else:
        page_data = page_object.get_page_object_content(project, full_page_name)
        return render_template('page_builder/page_object.html',
                               project=project,
                               page_object_data=page_data,
                               page_name=full_page_name, 
                               no_sidebar=no_sidebar)
Exemple #3
0
def page_view(project, full_page_name):
    if not user.has_permissions_to_project(g.user.id, project, root_path, 'gui'):
        return render_template('not_permission.html')

    page_object_data = page_object.get_page_object_content(root_path, project, full_page_name)

    return render_template('page_object.html', project=project, page_object_data=page_object_data,
                           page_name=full_page_name)
Exemple #4
0
def get_selected_page_object_elements():
    if request.method == 'POST':
        project = request.form['project']
        page_name = request.form['pageObject']
        result = {'error': None, 'content': []}
        if not page_object.page_exists(root_path, project, page_name):
            result['error'] = 'page does not exist'
        else:
            result['content'] = page_object.get_page_object_content(
                project, page_name)
        return json.dumps(result)
Exemple #5
0
def get_selected_page_object_elements():
        project = request.args['project']
        page = request.args['page']
        result = {
            'error': '',
            'contents': []
        }
        if not page_object.page_exists(root_path, project, page):
            result['error'] = 'page does not exist'
        else:
            result['content'] = page_object.get_page_object_content(project, page)
        return json.dumps(result)
Exemple #6
0
def get_selected_page_object_elements():
    if request.method == 'POST':
        project = request.form['project']
        page_name = request.form['pageObject']
        result = {
            'error': None,
            'content': []
        }
        if not page_object.page_exists(root_path, project, page_name):
            result['error'] = 'page does not exist'
        else:
            result['content'] = page_object.get_page_object_content(project, page_name)
        return json.dumps(result)
Exemple #7
0
    def test_get_page_object_content(self, permanent_project_fixture):
        project = permanent_project_fixture['name']
        testdir = permanent_project_fixture['testdir']
        page_name = 'page_test_get_content_ab1412'

        page_object.new_page_object(testdir,
                                    project, [],
                                    page_name,
                                    add_parents=False)
        page_path = os.path.join(testdir, 'projects', project, 'pages',
                                 page_name + '.py')
        with open(page_path, 'w') as page_file:
            page_file.write('elem1 = (\'id\', \'someId\', \'Elem1\')\n')
            page_file.write('def func1(c, b, a):\n')
            page_file.write('    pass')

        content = page_object.get_page_object_content(project, page_name)

        expected = {
            'functions': [{
                'function_name': 'func1',
                'full_function_name': 'page_test_get_content_ab1412.func1',
                'description': None,
                'arguments': ['c', 'b', 'a'],
                'code': 'def func1(c, b, a):\n    pass\n'
            }],
            'elements': [{
                'element_name':
                'elem1',
                'element_selector':
                'id',
                'element_value':
                'someId',
                'element_display_name':
                'Elem1',
                'element_full_name':
                'page_test_get_content_ab1412.elem1'
            }],
            'import_lines': [],
            'code_lines': [
                "elem1 = ('id', 'someId', 'Elem1')", 'def func1(c, b, a):',
                '    pass', ''
            ],
            'source_code':
            ("elem1 = ('id', 'someId', 'Elem1')\ndef func1(c, b, a):\n"
             "    pass\n")
        }
        assert content == expected
Exemple #8
0
def page_view(project, full_page_name, no_sidebar=False):
    if not user.has_permissions_to_project(g.user.id, project, root_path, 'gui'):
        return render_template('not_permission.html')
    path = page_object.generate_page_path(root_path, project, full_page_name)
    error = utils.validate_python_file_syntax(path)
    if error:
        return render_template('page_builder/page_syntax_error.html',
                               project=project,
                               full_page_name=full_page_name)
    else:
        page_data = page_object.get_page_object_content(project, full_page_name)
        return render_template('page_builder/page_object.html',
                               project=project,
                               page_object_data=page_data,
                               page_name=full_page_name,
                               no_sidebar=no_sidebar)
Exemple #9
0
def page_view(project, full_page_name, no_sidebar=False):
    if not user.has_permissions_to_project(g.user.id, project, root_path, 'gui'):
        return render_template('not_permission.html')
    path = page_object.generate_page_path(root_path, project, full_page_name)
    error = utils.validate_python_file_syntax(path)
    if error:
        return render_template('page_builder/page_syntax_error.html',
                               project=project,
                               full_page_name=full_page_name)
    else:
        page_data = page_object.get_page_object_content(project, full_page_name)
        return render_template('page_builder/page_object.html',
                               project=project,
                               page_object_data=page_data,
                               page_name=full_page_name, 
                               no_sidebar=no_sidebar)
Exemple #10
0
 def test_get_page_object_content(self, project_session):
     testdir = project_session.testdir
     project = project_session.name
     page_name = 'page_test_get_content_ab1412'
     page_object.new_page_object(testdir, project, [], page_name)
     page_path = os.path.join(project_session.path, 'pages',
                              page_name + '.py')
     with open(page_path, 'w') as page_file:
         page_file.write('elem1 = (\'id\', \'someId\', \'Elem1\')\n')
         page_file.write('def func1(c, b, a):\n')
         page_file.write('    pass')
     from golem.core import test_execution
     test_execution.root_path = testdir
     content = page_object.get_page_object_content(project, page_name)
     expected = {
         'functions': [{
             'function_name': 'func1',
             'full_function_name': 'page_test_get_content_ab1412.func1',
             'description': None,
             'arguments': ['c', 'b', 'a'],
             'code': 'def func1(c, b, a):\n    pass\n'
         }],
         'elements': [{
             'element_name':
             'elem1',
             'element_selector':
             'id',
             'element_value':
             'someId',
             'element_display_name':
             'Elem1',
             'element_full_name':
             'page_test_get_content_ab1412.elem1'
         }],
         'import_lines': [],
         'code_lines': [
             "elem1 = ('id', 'someId', 'Elem1')", 'def func1(c, b, a):',
             '    pass', ''
         ],
         'source_code':
         ("elem1 = ('id', 'someId', 'Elem1')\ndef func1(c, b, a):\n"
          "    pass\n")
     }
     assert content == expected
Exemple #11
0
    def test_get_page_object_content(self, testdir_fixture, random_project_fixture):

        project = random_project_fixture['name']
        page_name = 'page_test_get_content'

        page_object.new_page_object(testdir_fixture['path'], project, [],
                                    page_name, add_parents=False)
        page_path = os.path.join(testdir_fixture['path'], 'projects',
                                 project, 'pages', page_name + '.py')
        with open(page_path, 'w') as page_file:
            page_file.write('elem1 = (\'id\', \'someId\', \'Elem1\')\n')
            page_file.write('def func1(c, b, a):\n')
            page_file.write('    pass')


        #sys.path.append(testdir_fixture['path'])
        content = page_object.get_page_object_content(project, page_name)

        expected = {
            'function_list': [
                {
                    'function_name': 'func1',
                    'full_function_name': 'page_test_get_content.func1',
                    'description': None,
                    'arguments': ['c', 'b', 'a'],
                    'code': 'def func1(c, b, a):\n    pass\n'
                }],
            'element_list': [
                {
                    'element_name': 'elem1',
                    'element_selector': 'id',
                    'element_value': 'someId',
                    'element_display_name': 'Elem1',
                    'element_full_name': 'page_test_get_content.elem1'
                }],
            'import_lines': [],
            'code_line_list': ["elem1 = ('id', 'someId', 'Elem1')", 'def func1(c, b, a):', '    pass', ''],
            'source_code': "elem1 = ('id', 'someId', 'Elem1')\ndef func1(c, b, a):\n    pass\n"
        }

        assert content == expected