Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @shared_task
- def upload_to_dropbox(document_id, file_name, file_path, member_id):
- document = apps.get_model('members', 'Document').objects.get(pk=document_id)
- dbx = dropbox.Dropbox(settings.DROPBOX_APP_TOKEN)
- file_name = re.sub(r'uploads|/|documents', '', file_name)
- file_name = ''.join([
- '/documents/',
- str(document.created_at.strftime('%d-%m-%Y')), '/', 'member:' + str(member_id), '/',
- file_name
- ])
- with open(os.path.join(settings.MEDIA_ROOT, file_path), 'rb') as f:
- data = f.read()
- try:
- res = dbx.files_upload(data, file_name, dropbox.files.WriteMode.overwrite, mute=True)
- except dropbox.exceptions.ApiError:
- return False
- document.dropbox = res.id
- document.save()
- return True
- @shared_task
- def upload_deposit_to_dropbox(type, deposit_id, file_name, file_path, member_id):
- deposit = Deposit.objects.get(id=deposit_id)
- if type == 'bank':
- deposit = deposit.bank
- dropbox_path = '/bank-deposits/'
- file_name = re.sub(r'uploads|/|bank-deposits', '', file_name)
- elif type == 'card':
- deposit = deposit.card
- dropbox_path = '/credit-card-deposits/'
- file_name = re.sub(r'uploads|/|credit-card-transactions', '', file_name)
- else:
- return False
- dbx = dropbox.Dropbox(settings.DROPBOX_APP_TOKEN)
- file_name = ''.join([
- dropbox_path,
- str(deposit.created_at.strftime('%d-%m-%Y')), '/', 'member:' + str(member_id), '/',
- file_name
- ])
- with open(os.path.join(settings.MEDIA_ROOT, file_path), 'rb') as f:
- data = f.read()
- try:
- res = dbx.files_upload(data, file_name, dropbox.files.WriteMode.overwrite, mute=True)
- except dropbox.exceptions.ApiError:
- return False
- deposit.voucher_dropbox = res.id
- deposit.save(update_fields=['voucher_dropbox'])
- return True
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement