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
def get_path(path):
path = eval(path) # Converting string to a tuple
return path
path = eval(path) # Converting string to a tuple
return path
def open_subtitle(path):
subtitle_public_filepath = get_path(path)
subtitle_public_file = mg_globals.public_store.get_file(
subtitle_public_filepath, 'rb')
try:
subtitle_public_filepath = get_path(path)
with mg_globals.public_store.get_file(
subtitle_public_filepath, 'rb') as subtitle_public_file:
text = subtitle_public_file.read().decode('utf-8')
return text
finally:
subtitle_public_file.close()
def save_subtitle(path,text):
subtitle_public_filepath = get_path(path)
subtitle_public_file = mg_globals.public_store.get_file(
subtitle_public_filepath, 'wb')
try:
subtitle_public_file.write(text)
finally:
subtitle_public_file.close()
subtitle_public_filepath = get_path(path)
with mg_globals.public_store.get_file(
subtitle_public_filepath, 'wb') as subtitle_public_file:
subtitle_public_file.write(text)

View File

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