Exemplo n.º 1
0
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("/")
Exemplo n.º 2
0
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')
Exemplo n.º 3
0
 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
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
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("/")
Exemplo n.º 6
0
    def create_new_story(params):
        story = Story(user_id=get_current_user().id, **params)

        story.save()

        return story