def save(self, request, gid=None): """create a new code package""" data = request.POST.copy() u = request.user f = request.FILES['file'] new = CodePackage( title=data['title'], description=data['description'], package=f, user=u, ) new.save() save_group(new, gid, data) save_taxon('code', data['terms'], new) return new
def save(self, request, user=None): """create a new code package""" if not user: return False data = request.POST.copy() f = request.FILES['package'] # TODO: make sure we are not writing the file twice by using the package builder and then passing to the package object. try: p = CodePackage.objects.get(title=data['packageName'], user=user) # update an existing file if the code package exists #package_builder(user.username, data['packageName'], data['packageContents']) p.title=data['packageName'] p.description=data['packageDescription'] p.package = f p.save() # TODO: move old files into versioning except CodePackage.DoesNotExist: # create a new code package if one does not already exist #f = StringIO() #f.write(data['packageContents']) #mf = InMemoryUploadedFile(file=f, field_name='packageContents', name=data['packageName'], content_type='text', size=f.len, charset='') new = CodePackage( title=data['packageName'], description= data['packageDescription'], package=f, user=user, ) new.save() #save_group(new, gid, data) #save_taxon('code', data['terms'], new) return True