Using with statement for editing files

This commit is contained in:
saksham1115 2016-07-25 19:23:31 +00:00
parent c36c683304
commit 1342282983
2 changed files with 15 additions and 28 deletions

View File

@ -18,24 +18,18 @@ from mediagoblin import mg_globals
import os import os
def get_path(path): def get_path(path):
path = eval(path) # Converting string to a tuple path = eval(path) # Converting string to a tuple
return path return path
def open_subtitle(path): def open_subtitle(path):
subtitle_public_filepath = get_path(path) subtitle_public_filepath = get_path(path)
subtitle_public_file = mg_globals.public_store.get_file( with mg_globals.public_store.get_file(
subtitle_public_filepath, 'rb') subtitle_public_filepath, 'rb') as subtitle_public_file:
try:
text = subtitle_public_file.read().decode('utf-8') text = subtitle_public_file.read().decode('utf-8')
return text return text
finally:
subtitle_public_file.close()
def save_subtitle(path,text): def save_subtitle(path,text):
subtitle_public_filepath = get_path(path) subtitle_public_filepath = get_path(path)
subtitle_public_file = mg_globals.public_store.get_file( with mg_globals.public_store.get_file(
subtitle_public_filepath, 'wb') subtitle_public_filepath, 'wb') as subtitle_public_file:
try: subtitle_public_file.write(text)
subtitle_public_file.write(text)
finally:
subtitle_public_file.close()

View File

@ -64,14 +64,11 @@ def edit_subtitles(request, media):
['media_entries', six.text_type(media.id), 'subtitle', ['media_entries', six.text_type(media.id), 'subtitle',
public_filename]) public_filename])
subtitle_public_file = mg_globals.public_store.get_file( with mg_globals.public_store.get_file(
subtitle_public_filepath, 'wb') subtitle_public_filepath, 'wb') as subtitle_public_file:
try:
subtitle_public_file.write( subtitle_public_file.write(
request.files['subtitle_file'].stream.read()) request.files['subtitle_file'].stream.read())
finally: request.files['subtitle_file'].stream.close()
request.files['subtitle_file'].stream.close()
media.subtitle_files.append(dict( media.subtitle_files.append(dict(
name=form.subtitle_language.data \ name=form.subtitle_language.data \
@ -85,7 +82,7 @@ def edit_subtitles(request, media):
messages.add_message( messages.add_message(
request, request,
messages.SUCCESS, messages.SUCCESS,
("You added the subttile %s!") % ("You added the subtitle %s!") %
(form.subtitle_language.data or (form.subtitle_language.data or
request.files['subtitle_file'].filename)) request.files['subtitle_file'].filename))
@ -114,12 +111,8 @@ def custom_subtitles(request,media,path=None):
request, request,
messages.SUCCESS, messages.SUCCESS,
("Subtitle file changed!!!")) ("Subtitle file changed!!!"))
return render_to_response( return redirect(request,
request, location=media.url_for_self(request.urlgen))
"mediagoblin/plugins/custom_subtitles/custom_subtitles.html",
{"path": path,
"media": media,
"form": form })
return render_to_response( return render_to_response(
request, request,