Пример #1
0
async def schedule_new_post(story: Story) -> None:
    img_links = json.loads(story.img_links)
    keyboard = get_story_keyboard(story)

    if len(img_links) == 1:
        response = await bot.send_photo(ADMIN_CHANNEL,
                                        photo=img_links[0],
                                        caption=story.title,
                                        reply_markup=keyboard)
    elif len(img_links) > 1:
        media = await prepare_media(img_links)

        # text may be added to the message only by
        # adding it to the first item in MediaGroup
        media[0].caption = story.title

        response = await bot.send_media_group(ADMIN_CHANNEL, media)
        response = await bot.send_message(
            ADMIN_CHANNEL,
            story.title,
            reply_to_message_id=response[0].message_id,
            reply_markup=keyboard)
    else:
        response = await bot.send_message(ADMIN_CHANNEL,
                                          story.title,
                                          reply_markup=keyboard,
                                          parse_mode='Markdown')
    story.admin_message_id = response['message_id']
    story.save()
Пример #2
0
Файл: views.py Проект: gcr/twg
def create_new_story(request):
    if request.method == "POST":
        # They attempted to create a story
        story_form = forms.NewStoryForm(request.POST)
        frag_form = forms.AddFragmentForm(request.POST)
        if story_form.is_valid() and frag_form.is_valid():
            # Store the new story and the fragment
            story = Story(
                name = story_form.cleaned_data['story_name'],
                last_update_date = datetime.datetime.now()
            )
            # Give 'er a slug!
            story.slug = slugify(story.name, instance=story)
            story.save()
            story.add_fragment(frag_form.cleaned_data['fragment_text'], request.user)
            return HttpResponseRedirect(reverse('story_detail', kwargs={'slug':story.slug}))
    else:
        # Return a blank form page
        story_form = forms.NewStoryForm()
        frag_form = forms.AddFragmentForm()
        
    return render_to_response("stories/add_new_story.html",
        RequestContext(request, {
            'story_form':story_form,
            'frag_form':frag_form,
        })
    )
Пример #3
0
def add(request):
    url = request.POST['url']
    parsed = urlparse(url)

    if parsed.scheme =='':
        url = 'http://' + url

    domain = urlparse(url)[1]

    soup = BeautifulSoup.BeautifulSoup(urllib.urlopen(url))
    title = soup.title.string

    s = Story(link=url, domain=domain, title=title, user=request.user)
    s.save()
    return redirect('/list.html')
Пример #4
0
def api_create_game(request,*,process,stagename,story,chose,refstoryid,author):
    check_admin(request)
    #若无 stagename 则不创建stage
    tagid=next_id()
    if not story or not story.strip():
        raise APIValueError("story",'story cannot be empty.')
    if not process or not process.strip():
        raise APIValueError('process','process cannot be empty.')
    if not chose or not chose.strip():
        raise APIValueError('chose','chose cannot be empty.')
    if not refstoryid or not refstoryid.strip():
        raise APIValueError('refstoryid','refstoryid cannot be empty.')
    
    story = Story(tagid = tagid,process=process.strip(),story=story.strip(),author=author.strip())
    storyid =yield from Story.findbycolumnname("tagid",'00151272809336730536a55a20d4b01b4853c53a08639f2000')
    # print(storyid.id)
    yield from story.save()
    l_chose = chose.split("#")
    l_refstoryid = refstoryid.split("#")
    for c in l_chose:
        i=0
        tagid = next_id()
        choose = Chose(tagid=tagid,storyid=storyid.id,choose = c)
        yield from choose.save()
        chooseid= yield from Chose.findbycolumnname("tagid",tagid)
        refstory = refStory(tagid = next_id(),chooseid=chooseid.id,refstoryid=l_refstoryid[i])
        i=i+1
        yield from refstory.save()
    return story
Пример #5
0
    def create():
        """ Populates new stories from HN """
        hn = HackerNewsParser()
        posts = hn.get_hacker_json()
        data = [{key: item[key]
                 for key in ['title', 'url', 'time']} for item in posts]

        try:
            for story in data:
                model = Story(title=story['title'],
                              url=story['url'],
                              created_at=story['time'])
                model.save()
        except Exception as e:
            abort(500, str(e))

        return
Пример #6
0
def create_story(request):
	token = getToken(request.META)
	user = getUser(token)

	if(not user):
		return Response(status=status.HTTP_403_FORBIDDEN)

	serialized = StorySerializer(data=request.DATA)

	if(serialized.is_valid):
		story = Story()
		story.title = serialized.initial_data['title']
		story.content = serialized.initial_data['content']
		story.save()

		return Response(status=status.HTTP_201_CREATED)
	else:
		return Response(serialized._errors, status=status.HTTP_400_BAD_REQUEST)
Пример #7
0
def create_post(request):
    post_id = request.POST.get('post_id')
    title = request.POST.get('title')

    desc = request.POST.get('desc')
    postTitle = request.POST.get(post_id)
    storyTitle = request.POST.get('storyTitle')
    storyDesc = request.POST.get('storyDesc')

    post = Post()
    story = Story()

    #	postTitle =

    post.title = title
    post.desc = desc
    post.save()

    story.storyTitle = storyTitle
    story.storyDesc = storyDesc
    story.save()
    return HttpResponse(title + " " + desc + " " + storyTitle + " " +
                        storyDesc)