def perform_create(self, serializer): serializer.save(user=self.request.user) localpath = serializer.data.get('audiofiles') command = System.objects.all().get(name=(serializer.data.get('systems'))).command re1='.*?' # Non-greedy match on filler re2='((?:[a-z][a-z\\.\\d_]+)\\.(?:[a-z\\d]{3}))(?![\\w\\.])' # File Name 1 rg = re.compile(re1+re2,re.IGNORECASE|re.DOTALL) m = rg.search(localpath) file1 = '' if m: file1=m.group(1) re1='((?:[a-z][a-z0-9_]*))' # Variable Name 1 rg = re.compile(re1,re.IGNORECASE|re.DOTALL) m = rg.search(file1) if m: filename=m.group(1) fabfile.process_execute(localpath,filename,command)
def post(self,request): if not request.user.is_authenticated(): return HttpResponseRedirect('/login') form = UploadForm(data=request.POST) if form.is_valid(): upload = Upload( user = request.user, language = form.cleaned_data['language'], environment = form.cleaned_data['environment'], systems = form.cleaned_data['systems'], ) if form.cleaned_data['metadata']: upload.metadata = form.cleaned_data['metadata'] upload.save() localpaths = [] print request.FILES for x in range(1,(len(request.FILES)+1)): try: audioupload = Audiofile(audiofile = request.FILES.__getitem__('file'+str(x)), upload = upload) audioupload.save() localpaths.append(audioupload.audiofile.url) except: pass message = Audiofile.objects.all() user = request.user system = upload.systems pk = str(CustomUser.objects.get(email=user).id) n = 5 - len(pk) pk = ('0' * n) + pk command = System.objects.get(name=system).command timestamp = ''.join(i for i in upload.created.isoformat() if i.isdigit()) filename = 'src-'+pk+'_ses-'+timestamp fabfile.process_execute(localpaths,filename,command) return HttpResponseRedirect('/newupload') else: systemObjects = System.objects.all() languages = set() systems = set() environments = set() for system in System.objects.all(): languages.add(system.language) systems.add(system.name) environments.add(system.environment) uploadlist = Upload.objects.filter(user=request.user) uploads = [] for upload in uploadlist: files = [] for audiofile in Audiofile.objects.filter(upload = upload): file_start = '(/[^/]*\.wav)' file_regex = re.compile(file_start,re.IGNORECASE|re.DOTALL) file_search = file_regex.search(audiofile.audiofile.url) if file_search: files.append(file_search.group(1)) uploads.append((upload,files)) template = loader.get_template('frontend/newupload.html') context = RequestContext(request, { 'languages': languages, 'systems': systems, 'environments': environments, 'uploads': list(reversed(uploads)), 'systemObjects': systemObjects, 'form':form, }) return render(request, 'frontend/newupload.html', context) return HttpResponse(message)