Using with statement for editing files
authorsaksham1115 <saksham115@gmail.com>
Mon, 25 Jul 2016 19:23:31 +0000 (19:23 +0000)
committersaksham1115 <saksham115@gmail.com>
Mon, 25 Jul 2016 19:23:31 +0000 (19:23 +0000)
mediagoblin/plugins/custom_subtitles/tools.py
mediagoblin/plugins/custom_subtitles/views.py

index 2cc5157ffa5af05242a35a8f8aef3a1b50125376..f947ba92d0efb9ac13c90b9b9da348143f1cbaa0 100644 (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()
\ No newline at end of file
+    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)
\ No newline at end of file
index 5ea9cf355b9fdcef6836bdac62530a9e2e74bbbf..3d75b0aea1e5cc7e495862a17feca00067cdb485 100644 (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,