22from typing import Callable , Optional , List , Tuple , Any , Dict
33from io import BytesIO
44from asyncio import Future
5- from datetime import datetime , timedelta
5+ from datetime import datetime , timedelta , timezone
66import logging
77
88from kiota_abstractions .serialization .parsable import Parsable
@@ -20,13 +20,11 @@ class LargeFileUploadTask:
2020
2121 def __init__ (
2222 self ,
23- upload_session : LargeFileUploadSession ,
23+ upload_session : Parsable ,
2424 request_adapter : RequestAdapter ,
2525 stream : BytesIO ,
2626 max_chunk_size : int = 5 * 1024 * 1024
2727 ):
28- if not isinstance (upload_session , LargeFileUploadSession ):
29- raise TypeError ("upload_session must be an instance of LargeFileUploadSession" )
3028 self ._upload_session = upload_session
3129 self ._request_adapter = request_adapter
3230 self .stream = stream
@@ -62,10 +60,8 @@ def chunks(self):
6260 def chunks (self , value ):
6361 self ._chunks = value
6462
65- def upload_session_expired (
66- self , upload_session : Optional [LargeFileUploadSession ] = None
67- ) -> bool :
68- now = datetime .now ()
63+ def upload_session_expired (self , upload_session : Optional [Parsable ] = None ) -> bool :
64+ now = datetime .now (timezone .utc )
6965 upload_session = upload_session or self .upload_session
7066 if not hasattr (upload_session , "expiration_date_time" ):
7167 raise ValueError ("Upload session does not have an expiration date time" )
0 commit comments