finish off changes to google drive to allow for ppt > pdf and pdf.js
authorSeth Woodworth <seth@sethish.com>
Wed, 26 Jun 2013 21:10:44 +0000 (21:10 +0000)
committerSeth Woodworth <seth@sethish.com>
Wed, 26 Jun 2013 21:10:44 +0000 (21:10 +0000)
karmaworld/apps/notes/gdrive.py
karmaworld/apps/notes/views.py
karmaworld/templates/notes/note_detail.html

index d7bacb9dbdf1fdccf65ab23016948c5080f317a9..daa21fa0c59f053f54c4127f01dd71786570a665 100644 (file)
@@ -171,25 +171,24 @@ def convert_with_google_drive(note):
         new_note.file_type = 'pdf'
 
     elif extension.lower() in ['.ppt', '.pptx']:
-        print "try to save ppt"
         now = datetime.datetime.utcnow()
         # create a folder path to store the ppt > pdf file with year and month folders
-        _path = os.path.join(settings.MEDIA_ROOT, 'ppt_pdf/%s/%s' % (now.year, now.month), filename)
+        nonce_path = '/ppt_pdf/%s/%s/' % (now.year, now.month)
+
+        _path = filename + '.pdf'
         try:
             # If those folders don't exist, create them
             os.makedirs(os.path.realpath(os.path.dirname(_path)))
+        except:
+            print "we failed to create those directories"
 
         _writer = BufferedWriter(FileIO(_path, "w"))
         _writer.write(content_dict['pdf'])
         _writer.close()
 
 
-        new_note.pdf_file = os.path.join(_path, filename)
+        new_note.pdf_file = _path
 
-    # set the .odt as the download from google link
-    if extension.lower() in ['.ppt', '.pptx']:
-        print "is ppt"
-        new_note.pdf_file = File(content_dict['pdf'])
     else:
         # PPT files do not have this export ability
         new_note.gdrive_url = file_dict[u'exportLinks']['application/vnd.oasis.opendocument.text']
index 378a448c00afbeafaecc918fc6562b4742243e49..2202a86ff6c0c0205c65c2b108e697a8a3a3372b 100644 (file)
@@ -18,6 +18,21 @@ from karmaworld.apps.notes.models import Note
 from karmaworld.apps.notes.forms import NoteForm
 
 
+
+def is_pdf(self):
+    _path = self.object.note_file.name
+    _, _extension = os.path.splitext(_path)
+    if _extension.lower() == '.pdf':
+        return True
+    return False
+
+def is_ppt(self):
+    if self.object.pdf_file:
+        print "is a ppt"
+        return True
+    return False
+
+
 class NoteDetailView(DetailView):
     """ Class-based view for the note html page """
     model = Note
@@ -30,14 +45,8 @@ class NoteDetailView(DetailView):
         #kwargs['file_url'] = os.path.basename(_path)
         #kwargs['hostname'] = Site.objects.get_current()
 
-        def is_pdf(self):
-            _path = self.object.note_file.name
-            _, _extension = os.path.splitext(_path)
-            if _extension.lower() == '.pdf':
-                return True
-            return False
-
         kwargs['pdf'] = is_pdf(self)
+        kwargs['ppt'] = is_ppt(self)
 
         return super(NoteDetailView, self).get_context_data(**kwargs)
 
@@ -119,7 +128,11 @@ class PDFView(DetailView):
         # FIXME: There may be an undocumented,
         #   but better way of handling media files in django
 
-        kwargs['pdf_path'] = "{0}{1}".format(settings.MEDIA_URL,
-            os.path.basename(self.object.note_file.name))
+        if is_ppt:
+            kwargs['pdf_path'] = "{0}{1}".format(settings.MEDIA_URL,
+                os.path.basename(self.object.pdf_file.name))
+        elif is_pdf:
+            kwargs['pdf_path'] = "{0}{1}".format(settings.MEDIA_URL,
+                os.path.basename(self.object.note_file.name))
 
         return super(PDFView, self).get_context_data(**kwargs)
index 8c396e69d231a4027a3c41077234d475644cc8fa..3ce6d1dc15446e33a3451b056424de4da9e00d85 100644 (file)
@@ -35,7 +35,7 @@
 
     </div><!-- /course_header -->
     <div id="note_container">
-      {% if  pdf %}
+      {% if pdf or ppt %}
         <!-- Add pdf.js -->
         <div class="row">
           <div class="twelve columns">