Exemplo n.º 1
0
def test_valid_input():
    print('current working directory', dirname(os.getcwd()))
    message, session_id = u.generate_package_web_tour('images_with_directory.zip', 'Test', 3, 2, os.path.join(dirname(os.getcwd()),'session'))
    expected_output = u.get_html_string('Test', 3, 2, 'jpg')
    f = open(os.path.join(dirname(os.getcwd()),'session', str(session_id), 'index.html'),'r')
    boolean_output = f.read() == expected_output
    f.close()
    shutil.rmtree(os.path.join('session'), str(session_id))
    assert boolean_output
Exemplo n.º 2
0
def main():
    print(request.method)
    if request.method == 'POST':
        try:
            # get tour params from form
            grid_row = int(request.form['grid_row'])
            grid_column = int(request.form['grid_column'])
            title = request.form['title']
            email = request.form['email']
            session_id = ''
            message = ''

            if request.form['submit_button'] == 'Generate Tour':
                grid_location = request.files['grid_location']
                # use aframtour library to generate package: returns success/fail message, image extension value, and a session id
                message, img_ext, session_id = aft.generate_package_web_tour(
                    grid_location, title, grid_row, grid_column, 'static')
                print('generate_package_web_tour returned:', message, img_ext,
                      session_id)

                # if no error message, set tour_generated flag, redirect back to form page with pre-loaded params
                if message == '':

                    # log session to session_tracker.json, create file if necessary
                    if os.path.exists(
                            os.path.join(os.getcwd(), SESSION_TRACKER)):
                        with open(os.path.join(os.getcwd(), SESSION_TRACKER),
                                  'r+') as json_file:
                            session = json.load(json_file)
                            session[str(session_id)] = {}
                            session[str(session_id)]['created_time'] = str(
                                datetime.fromtimestamp(
                                    os.path.getctime(
                                        os.path.join('static',
                                                     str(session_id)))))
                            json.dump(session, json_file)
                            json_file.seek(0)
                            json.dump(session, json_file)
                            json_file.truncate()
                    else:
                        with open(SESSION_TRACKER, 'w+') as json_file:
                            session = {}
                            session[str(session_id)] = {}
                            session[str(session_id)]['created_time'] = str(
                                datetime.fromtimestamp(
                                    os.path.getctime(
                                        os.path.join('static',
                                                     str(session_id)))))
                            json.dump(session, json_file)

                    tour_generated = True
                    return render_template('WebVR_BuildingTour_FE.html',
                                           tour_generated=tour_generated,
                                           session_id=session_id,
                                           title=title,
                                           email=email,
                                           grid_row=grid_row,
                                           grid_column=grid_column)

                # if error message, return error message to render on form page
                else:
                    raise Exception(message)

        except Exception as err:
            logging.error(str(err))
            error = str(err)
            return render_template('WebVR_BuildingTour_FE.html',
                                   error=error,
                                   tour_generated=False,
                                   session_id=session_id,
                                   title=title,
                                   email=email,
                                   grid_row=grid_row,
                                   grid_column=grid_column)

    # if request method is not POST
    else:
        return render_template('WebVR_BuildingTour_FE.html',
                               tour_generated=False)
Exemplo n.º 3
0
def test_invalid_input():
    message, session_id = u.generate_package_web_tour('images_without_directory.zip', 'Test', 4, 2,  os.path.join(dirname(os.getcwd()),'session'))
    boolean_output = message == 'There was an error with the input.'
    assert boolean_output
Exemplo n.º 4
0
def test_invalid_input_files():
    message, session_id = u.generate_package_web_tour('test_invalid_files.zip', 'Test', 4, 2,  os.path.join(dirname(os.getcwd()),'session'))
    boolean_output = message == 'There was an error with the image files in the zip folder.'
    assert boolean_output
Exemplo n.º 5
0
import sys
import aframetour.aframetour as aft

cmd_line_args = sys.argv
print('Number of arguments:', len(cmd_line_args), 'arguments.')
print('Argument List:', str(cmd_line_args))
if len(cmd_line_args) == 5:
    title = cmd_line_args[1]
    num_rows = int(cmd_line_args[2])
    num_col = int(cmd_line_args[3])
    file_path = cmd_line_args[4]
    message, image_extension, session_identifier = aft.generate_package_web_tour(file_path, title, num_rows, num_col, 'default')
    print(message, image_extension, session_identifier)
else:
    print('Invalid Input! Enter input as title, number of rows, number of columns and file path.')