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()
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, }) )
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')
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
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
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)
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)