From bbdff5ddee0f50f2efac569b99e75a77705a7f4a Mon Sep 17 00:00:00 2001
From: Ilya Simonov <i.simonov@4taps.me>
Date: Thu, 6 Apr 2023 20:58:12 +0800
Subject: [PATCH] fix upload video file to s3

---
 apps/core/__pycache__/utils.cpython-39.pyc | Bin 2755 -> 2751 bytes
 apps/core/tasks.py                         |  13 ++++++-------
 apps/core/utils.py                         |   7 ++++---
 3 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/apps/core/__pycache__/utils.cpython-39.pyc b/apps/core/__pycache__/utils.cpython-39.pyc
index da5ae6c9764c08f74e8bfebb98648555fa39b3c8..9958b825fed9db3a5348a57c4d9f5aa419b0cde0 100644
GIT binary patch
delta 1017
zcmZ9KyKfUg5Qlf}?0fl<vq>O<BsLHV;}8fCo*_Jf5JD&t4+(M-Iyv5pb8x;3d*`4;
zj)D|K1wzr%6AB7M2S}6@G*tWnZm1Cr9UWrE1q5!j-^|X=&i*vFpZY%b<!ZT{#qj&^
zag2Z2$PK~DMs;*H#nXY-)E&KPI7ZWS%%<g7&5V-)=D}u`YcIjcah)5Fn3Lxwx6t<R
z49}vqd5-7N7I+W0(H1$}V3oo*x@BhLb33o0W8$2~8NZj;;l<8`Z34Gm0<c7D1JA50
ztLb(ck7eagm@cghG`yr-kHW+YlXBdu*S$ENZw0~f?v5hn<SFGEX!41&$Lgf!{lI(8
z#ISs;grz)P(TiYEguG&d0a>u&vSNXyh_XDb4y|3m-Gt$-u&z8CT~*rbE^vjbPvIiF
zlV4Ta%BIp*N!$JYTa2?5j&&7SXpgga@(_dWm_>4iic>Qy>Vvte|M1Zi6FpeFqKX}8
zI$C|972b<QKgCjF7sbqZUw&72W`=Pgx+qCIHIOGaram#!`|e~a4dbGK%ay@s(F@DT
zLaR9!*8Je#W{3=?h%BO_2~~z^ckh<U8157sUg(Kh;<<lHjL0A966}|@_O&>QIgXXo
z8m`Y>*AK-333>$-S=9#%X(~>lI;p^q6QRr7`cTQBDE-ck-CE>SITCJNc<5DhaZEnf
zuT>`~=RYNVHO}27pL>y;MDAixTc)BD(l#dGyu4(*S*y~iF~m)Aklb;?0YnAFVe*fX
zpA`!E#|bA0e`Jc2wA2Zw2&V~?1d=PxAh1ncZBrCDOE`ycOwzSI!Y0Jx7)7^emygY1
zn31o{BfS@JtFle>q3P&B)M)r&L;f=Nt&t)p-;9=gZ*h6d<9-qep;DUGjJOxXTSRvC
z{cWO&Fa0W(@`Nbj0Z}H55cU(!6X@P8lDgtb80#35SiTjMyeYtC_u(60C|MkXs-+sX
Jp&12Z;5X|n*;xPp

delta 997
zcmZ9K&rcIU6vuaVxBH{rEp4?JBISpuNi9|)APR^I95^TmiY9Ji*3wzZ;{Ir6w-^YB
z3FyrjoW!e;m>A>Hc+~@cg15bRHu2`wgYWf##NEv2y_tFQoo`;|Tk)`H)=V=kz_;?E
zN)PwU5_!2-8Qd1A>?yu#sYIYDs(6~OTe_dN(tgIu_=aWprezYrA^TaX9uTX8YE<79
ztQ<|#48%M&s0pz^v$O-^37VsMh$ktzCzK06@y7WwNwmm`V>f6-kY{GXAa;UyalN_s
zHOQu*M29g0BiiTV<ejpKhtvEwnc?@v1(M<)#53|oftC1oF*x0Ug*kvg3M4D$h(-*O
zBXc6_<&UM(;9b~>g-t@qj`(_HOWYJz2^FdIip&a+I=7@)r1B0S!lt+{@dK%AYIaB<
z?f)T=3UGI7enWb?RB@m0P6-UJV%>nU%uYc_l=@05coHS4CUb+B|B^0bN?6lI5AT<|
za#$W|0HN(o`#dM7$WS7(rH$^e=>&c8O3PmgYOdE8wd!>zik4fRx8BbT6fyy2g~|L`
z${si-4a-TP;RFt=#g2U>G4Mv|B^BPM{3u+65-T0o8n#Pq+YMNi=hZTi_=MV>S5R9;
z5!rL2m}z`PE%jpW89t39*J@G}4w+qN4rFDOjq&&DLgfn9{AZ+Cqtsq=sT109Xg9su
zI*N|)K5djt^9S0e?Lj<s39!h9FujbZ0?LF9V?K(x!6eMDBCa8hY_f5jVi(y2ViIv3
zfp*yx0J_xnb^{k~B5naJ9es6%(1eJM;p#E({H@+Y?(i@A@OgZ4<svIWNK`LuG~k6M
z8M;~v8ez2_2Fpx@E&fM8w~ZdHtRJqqPIJBLP&W=4lkuS9ht%<+W47Cl|Fu<bIPq-|
zcNi<c0oIE+i>M%`5$NQY$+q1dSWC1?kZ*bY&J=-Z)CtgtCK|*L4Y6BFOPZ;vT3+k=
E3lLD(<p2Nx

diff --git a/apps/core/tasks.py b/apps/core/tasks.py
index 413413d..70e13d0 100644
--- a/apps/core/tasks.py
+++ b/apps/core/tasks.py
@@ -27,8 +27,11 @@ def send_video_to_s3(video_id=None):
         file_path = settings.DOMAIN_NAME + settings.MEDIA_URL + key
         log.info(f'File path: {file_path}')
 
-        content = download_file(file_path)
-        log.info('get content successfully!')
+        video_file = download_file(file_path)
+
+        local_video.local_file = None
+        local_video.status = READY
+        local_video.s3_file = upload_file(video_file, key, 'video/mp4')
 
         try:
             log.info('Generating thumbnail...')
@@ -40,16 +43,12 @@ def send_video_to_s3(video_id=None):
             log.error(e)
             log.info('Thumbnail generation failed!')
 
-        local_video.s3_file = upload_file(content, key, 'video/mp4')
-        local_video.status = READY
-        local_video.local_file = None
-
         local_video.save()
 
         log.info(f'Video id {local_video.id} uploaded to S3...')
 
         add_video_to_playlist(local_video)
-        os.remove(content)
+        os.remove(video_file.name)
 
     except Exception as e:
         log.error(e)
diff --git a/apps/core/utils.py b/apps/core/utils.py
index 2421c1c..9413023 100644
--- a/apps/core/utils.py
+++ b/apps/core/utils.py
@@ -1,7 +1,6 @@
 import requests
 import logging
 
-from django.conf import settings
 from django.contrib.contenttypes.models import ContentType
 
 from moviepy.editor import VideoFileClip
@@ -22,13 +21,15 @@ def download_file(url):
             for chunk in r.iter_content(chunk_size=8192):
                 f.write(chunk)
 
-    return local_filename
+    log.info('get content successfully!')
+    file = open(local_filename, 'rb')
+
+    return file
 
 
 def handle_uploaded_file(f, file_name):
     with open(file_name, 'wb+') as destination:
         for chunk in f.chunks(chunk_size=4097152):
-            print('chunk')
             destination.write(chunk)
 
 
-- 
2.18.1