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
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)
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
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
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.')