def newstory(request): if request.user.is_authenticated(): elem= { 'title':'Ny Story', } if request.method=='POST': story_form=StoryForm(request.POST) elem.update({'story_form':story_form,}) if story_form.is_valid(): print story_form.cleaned_data title = request.POST['title'] length = request.POST['length'] if request.POST.get('availability'): availability = request.POST['availability'] else: availability="Public" language=request.POST['language'] category=request.POST['category'] newstory=Story(created=datetime.datetime.now(),creator=request.user,title=title,length=length,availability=availability,language=language,category=category) newstory.save() return HttpResponseRedirect('/home') else: print "invalid story_form" else: story_form=StoryForm() elem.update({'story_form':story_form,}) return render_to_response("newstory.html",elem,context_instance=RequestContext(request)) else: return HttpResponseRedirect("/")
def HandlePostStoryRequest(request): if request.method == 'POST': authorValue = Author.objects.get(username=request.user) received_json_data = json.loads(request.body.decode("utf-8")) if request.user.is_authenticated: if (received_json_data.get('category') in ['tech', 'pol', 'art', 'trivia']): if (received_json_data.get('region') in ['uk', 'w', 'eu']): row = Story(headline=received_json_data.get('headline'), category=received_json_data.get('category'), auth=authorValue, details=received_json_data.get('details'), region=received_json_data.get('region')) row.save() return HttpResponse("CREATED", status=201, content_type='text/plain') else: return HttpResponse("The region value is invalid", status=503, content_type='text/plain') else: return HttpResponse("The category value is invalid", status=503, content_type='text/plain') else: return HttpResponse("Not authenticated, unable to post story", status=503, content_type='text/plain') else: return HttpResponse(status=405, content_type='text/plain')
def generate(self): """Creates story by adding scenes to pages until the end is reached. Story added to MongoDB instance and the UUID of the story is returned to the caller""" pages = [] self.characters[1] = self.locations[1].character # load next non-user character pages.append(Pages(page=self.story_index, sentences=[self.realise(self.aggregation(['opening', 'intro'])), self.realise(self.phrase('quest'))])) self.story_index += 1 while not self.end: pages.append(Pages(page=self.story_index, sentences=self.scene())) self.add_location() self.story_index += 1 pages.append(Pages(page=self.story_index, sentences=[self.realise(self.phrase("end")), "And they all lived happily ever after.", "The end."])) story = Story(title=self.title, author=self.author, pages=pages) story.save() return story.id
def postStory(request, format=None): storyJ = json.loads(json.dumps(request.data)) print(storyJ) with transaction.atomic(): story = Story(title=storyJ["title"], creator=request.user) story.save() for p in storyJ["pieces"]: if p == None: continue pType = p["type"] del p["type"] p["story"] = story.pk if pType == 0: piece = Piece() seriaP = PieceSerializer(piece, data=p) seriaP.is_valid(raise_exception=True) seriaP.save() elif pType == 1: piece = DecisionPiece() choices = p["choices"] del p["choices"] print(p) seriaD = DecisionSerializer(piece, data=p) seriaD.is_valid(raise_exception=True) seriaD.save() for c in choices: print(c) choice = ChoicePiece(story=story, decision=piece) seriaC = ChoiceSerializer(choice, data=c) seriaC.is_valid(raise_exception=True) seriaC.save() elif pType == 2: piece = LosePiece() seriaP = LoseSerializer(piece, data=p) seriaP.is_valid(raise_exception=True) seriaP.save() elif pType == 3: piece = WinPiece() seriaP = WinSerializer(piece, data=p) seriaP.is_valid(raise_exception=True) seriaP.save() return HttpResponse(status=201)
def newstory(request): if request.user.is_authenticated(): elem = { 'title': 'Ny Story', } if request.method == 'POST': story_form = StoryForm(request.POST) elem.update({ 'story_form': story_form, }) if story_form.is_valid(): print story_form.cleaned_data title = request.POST['title'] length = request.POST['length'] if request.POST.get('availability'): availability = request.POST['availability'] else: availability = "Public" language = request.POST['language'] category = request.POST['category'] newstory = Story(created=datetime.datetime.now(), creator=request.user, title=title, length=length, availability=availability, language=language, category=category) newstory.save() return HttpResponseRedirect('/home') else: print "invalid story_form" else: story_form = StoryForm() elem.update({ 'story_form': story_form, }) return render_to_response("newstory.html", elem, context_instance=RequestContext(request)) else: return HttpResponseRedirect("/")
def create_new_story(params): story = Story(user_id=get_current_user().id, **params) story.save() return story