Example #1
0
	def post( self, request, *args, **kwargs ):
		d=self.request.POST.copy() or {}
		mime=kwargs.get( 'mimetype' ).lower()
		delay=int( d.get( 'delay', 0 ) )
		if delay > 0:
			time.sleep( delay )
		if mime == 'html':
			print 'returning HTML '
			return dump( d.get( 'html' ), mimetype="text/html", dumps=False )
		elif mime == 'json':
			return dump( json.loads( d.get( 'json', d ) ))
		return dump( d )
Example #2
0
	def export_fiddle( self, **kwargs ):
		if self.object:
			exportform=FiddleExportForm( data=self.request.POST, fiddle=self.object )
			if exportform.is_valid():
				d=exportform.cleaned_data
				Exporter=exportManager.get( d.get( 'format' ) )
				exporter=Exporter( fiddle=self.object, user=self.user )
				url=exporter.export( d )
				return dump({ 'url': url })
			else:
				return dump({ 'success': False, 'errors': [ e for e in form.errors ]})
		else:
			return dump({ 'success': False, 'errors': [ 'Something is f****d up, no object should not be able to export',]})
Example #3
0
	def base_fiddle( self, fiddle, form, **kwargs ):
		''' make this fiddle the base '''
		if self.object and self.object.creator==self.user and self.object.revision > 0 and not self.object.temp:
			fiddle.temp=False
			fiddle.creator=self.object.creator
			fiddle.slug=self.object.slug
			fiddle.base=True
			
			#overwrite the old base
			Fiddle.objects.filter( slug=fiddle.slug, base=True ).delete()
			fiddle.save()
			form.save_m2m()
			return dump({ 'url': fiddle.get_absolute_url() })
		else:
			return dump({ 'success': False, 'errors': [ 'Fiddle is not eligible for basing', ] })
Example #4
0
	def delete(self, request, *args, **kwargs):
		self.object = self.get_object()
		if self.object.base:
			Fiddle.objects.filter( slug=self.object.slug ).delete()
		else:
			self.object.deactivate()
		return dump({ 'success': True })
Example #5
0
	def post( self, request, *args, **kwargs ):
		self.object=self.get_object()
		action=request.POST.get( 'action', 'run' )
		method='%s_fiddle' % action
		form=FiddleForm( data=request.POST )
		if hasattr( self, method ):
			if action in ( 'export', ):
				return getattr( self, method )()
			if form.is_valid():
					fiddle=form.save( commit=False )
					return getattr( self, method )( fiddle, form )
			else:
				print 'invalid form %s' % str( form.errors )
				return dump({ 'success': False, 'errors':[ e for e in form.errors ] })
		else:
			return dump({ 'success': False, 'errors': [ 'invalid action', ] })
Example #6
0
	def fork_fiddle( self, fiddle, form, **kwargs ):
		''' clone fiddle, the clone must be saved after being forked ( ohduzit? ) '''
		fiddle.base=True
		fiddle.temp=False
		if self.user:
			fiddle.creator=self.user
		fiddle.save()
		return dump({ 'url': fiddle.get_absolute_url() })
Example #7
0
	def get_resource( self, request, *args, **kwargs ):
		q=request.GET.get( 'term' )
		ret=[]
		if request.user.is_authenticated():
			ret=[ { 'value': r.url, 'label': os.path.basename( r.url ) } for r in request.user.resource_set.filter( name__istartswith=q ) ]
		return dump( ret )
Example #8
0
	def get_deps( self, request, *args, **kwargs ):
		try:
			framework=Framework.objects.get( pk=kwargs.get( 'pk' ) )
			return dump( [ { 'name': dep.name, 'pk': dep.pk, } for dep in framework.deps.all() ] )
		except Exception, e:
			print 'EROR IN DEPS %s' % e
Example #9
0
	def form_invalid( self, form ):
		print 'INVALID upload'
		return dump( [ e for e in form.errors ] )
Example #10
0
	def respond( self, fiddle, form ):
		fiddle.save()
		form.save_m2m()
		return dump( fiddleRecord( fiddle ) )