Python open and read file Anyone help me understand the meathod onePDF in the class routs step by step, also can anyone help me write

Answered step by step
Verified Expert Solution
Question
26 users unlocked this solution today!

Python open and read file

Anyone help me understand the meathod onePDF in the class routs step by step, also can anyone help me write a couples tests cases for the meathod

@bp.route('//onePDF') def onePDF(url): outfile = open("content/workmd/testfile.md", "w") for filename in os.listdir('content/'): if filename.endswith(".md"): f = open('content/' + filename, 'r') outfile.write(f.read()) outfile.write(' ') outfile.close() pypandoc.convert('content/workmd/testfile.md', 'pdf', outputfile='content/createdpdfs/fullWiki.pdf', extra_args=['-V geometry:margin=1.5cm']) return send_file('../../content/createdpdfs/fullWiki.pdf')

Class routes:

""" Routes ~~~~~~ """ import os from flask import send_file import pypandoc as pypandoc from flask import Blueprint from flask import flash from flask import redirect from flask import render_template from flask import request from flask import url_for from flask_login import current_user from flask_login import login_required from flask_login import login_user from flask_login import logout_user

from wiki.core import Processor from wiki.web.forms import EditorForm from wiki.web.forms import LoginForm from wiki.web.forms import SearchForm from wiki.web.forms import URLForm from wiki.web import current_wiki from wiki.web import current_users from wiki.web.user import protect

bp = Blueprint('wiki', __name__)

@bp.route('/') @protect def home(): page = current_wiki.get('home') if page: return display('home') return render_template('home.html')

@bp.route('/index/') @protect def index(): pages = current_wiki.index() return render_template('index.html', pages=pages)

@bp.route('//') @protect def display(url): page = current_wiki.get_or_404(url) return render_template('page.html', page=page)

@bp.route('/create/', methods=['GET', 'POST']) @protect def create(): form = URLForm() if form.validate_on_submit(): return redirect(url_for( 'wiki.edit', url=form.clean_url(form.url.data))) return render_template('create.html', form=form)

@bp.route('/edit//', methods=['GET', 'POST']) @protect def edit(url): page = current_wiki.get(url) form = EditorForm(obj=page) if form.validate_on_submit(): if not page: page = current_wiki.get_bare(url) form.populate_obj(page) page.save() flash('"%s" was saved.' % page.title, 'success') return redirect(url_for('wiki.display', url=url)) return render_template('editor.html', form=form, page=page)

@bp.route('/preview/', methods=['POST']) @protect def preview(): data = {} processor = Processor(request.form['body']) data['html'], data['body'], data['meta'] = processor.process() return data['html']

@bp.route('/move//', methods=['GET', 'POST']) @protect def move(url): page = current_wiki.get_or_404(url) form = URLForm(obj=page) if form.validate_on_submit(): newurl = form.url.data current_wiki.move(url, newurl) return redirect(url_for('wiki.display', url=newurl)) return render_template('move.html', form=form, page=page)

@bp.route('/delete//') @protect def delete(url): page = current_wiki.get_or_404(url) current_wiki.delete(url) flash('Page "%s" was deleted.' % page.title, 'success') return redirect(url_for('wiki.home'))

@bp.route('/tags/') @protect def tags(): tags = current_wiki.get_tags() return render_template('tags.html', tags=tags)

@bp.route('/tag//') @protect def tag(name): tagged = current_wiki.index_by_tag(name) return render_template('tag.html', pages=tagged, tag=name)

@bp.route('//onePDF') def onePDF(url): outfile = open("content/workmd/testfile.md", "w") for filename in os.listdir('content/'): if filename.endswith(".md"): f = open('content/' + filename, 'r') outfile.write(f.read()) outfile.write(' ') outfile.close() pypandoc.convert('content/workmd/testfile.md', 'pdf', outputfile='content/createdpdfs/fullWiki.pdf', extra_args=['-V geometry:margin=1.5cm']) return send_file('../../content/createdpdfs/fullWiki.pdf')

@bp.route('//toodt/') def convertODT(url): pypandoc.convert('content/' + url + '.md', 'odt', outputfile='content/createdodts/' + url + '.odt', extra_args=['-V geometry:margin=1.5cm']) return send_file('../../content/createdodts/' + url + '.odt')

@bp.route('//topdf/') def convertPDF(url): pypandoc.convert('content/' + url + '.md', 'pdf', outputfile='content/createdpdfs/' + url + '.pdf', extra_args=['-V geometry:margin=1.5cm']) return send_file('../../content/createdpdfs/' + url + '.pdf')

@bp.route('/search/', methods=['GET', 'POST']) @protect def search(): form = SearchForm() if form.validate_on_submit(): results = current_wiki.search(form.term.data, form.ignore_case.data) return render_template('search.html', form=form, results=results, search=form.term.data) return render_template('search.html', form=form, search=None)

@bp.route('/user/login/', methods=['GET', 'POST']) def user_login(): form = LoginForm() if form.validate_on_submit(): user = current_users.get_user(form.name.data) login_user(user) user.set('authenticated', True) flash('Login successful.', 'success') return redirect(request.args.get("next") or url_for('wiki.index')) return render_template('login.html', form=form)

@bp.route('/user/logout/') @login_required def user_logout(): current_user.set('authenticated', False) logout_user() flash('Logout successful.', 'success') return redirect(url_for('wiki.index'))

@bp.route('/user/') def user_index(): pass

@bp.route('/user/create/') def user_create(): pass

@bp.route('/user//') def user_admin(user_id): pass

@bp.route('/user/delete//') def user_delete(user_id): pass

""" Error Handlers ~~~~~~~~~~~~~~ """

@bp.errorhandler(404) def page_not_found(error): return render_template('404.html'), 404

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Link Copied!

Step: 1

blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

100% Satisfaction Guaranteed-or Get a Refund!

Step: 2Unlock detailed examples and clear explanations to master concepts

blur-text-image_2

Step: 3Unlock to practice, ask and learn with real-world examples

blur-text-image_3

See step-by-step solutions with expert insights and AI powered tools for academic success

  • tick Icon Access 30 Million+ textbook solutions.
  • tick Icon Ask unlimited questions from AI Tutors.
  • tick Icon Order free textbooks.
  • tick Icon 100% Satisfaction Guaranteed-or Get a Refund!

Claim Your Hoodie Now!

Recommended Textbook for

Readings In Database Systems

Authors: Michael Stonebraker

2nd Edition

0934613656, 9780934613651

More Books
flashcard-anime

Study Smart with AI Flashcards

Access a vast library of flashcards, create your own, and experience a game-changing transformation in how you learn and retain knowledge

Explore Flashcards

Students Have Also Explored These Related Databases Questions!

Q:

Choose natural conversational words

Answered: 3 weeks ago