def create_entry(request): title = "\'" + request.json["title"] + "\'" text = "\'" + request.json["text"] + "\'" entry = Entry(title=title, text=text, created_at=datetime.datetime.now()) entry.save() return json.dumps(entry.id)
def post(self): if not self.is_login: self.redirect(users.create_login_url(self.request.uri)) filename=self.param('filename') do_comment=self.paramint('c',0) if filename[:4]=='img/':#处理图片 new_filename=filename.split('/')[1] mtype =new_filename.split('.')[1] bits = self.request.body media=Media.all().filter('name =',new_filename) if media.count()>0: media=media[0] else: media=Media() media.name=new_filename media.mtype=mtype media.bits=bits media.put() bid='_'.join(new_filename.split('_')[:-1]) entries=Entry.all().filter('slug =',bid) if entries.count()>0: entry=entries[0] entry.content=entry.content.replace(filename,'/media/'+str(media.key())) entry.put() return if filename=="index.html" or filename[-5:]!='.html': return #处理html页面 bid=filename[:-5] try: soup=BeautifulSoup(self.request.body) bp=soup.find(id='bp') title=self.getChineseStr( soup.title.text) logging.info(bid) pubdate=self.getdate( bp.find(id='bp-'+bid+'-publish').text) body=bp.find('div','blogpost') entries=Entry.all().filter('title = ',title) if entries.count()<1: entry=Entry() else: entry=entries[0] ## entry=Entry.get_by_key_name(bid) ## if not entry: ## entry=Entry(key_name=bid) entry.slug=bid entry.title=title entry.author_name=self.login_user.nickname() entry.date=pubdate entry.settags("") entry.content=unicode(body) entry.author=self.login_user entry.save(True) if do_comment>0: comments=soup.find('div','comments','div') if comments: for comment in comments.contents: name,date=comment.h5.text.split(' - ') # modify by lastmind4 name_date_pair = comment.h5.text if name_date_pair.index('- ') == 0: name_date_pair = 'Anonymous ' + name_date_pair name,date=name_date_pair.split(' - ') key_id=comment.h5['id'] date=self.getdate(date) content=comment.contents[1].text comment=Comment.get_or_insert(key_id,content=content) comment.entry=entry comment.date=date comment.author=name comment.save() except Exception,e : logging.info("import error: %s"%e.message)
def post(self): if not self.is_login: self.redirect(users.create_login_url(self.request.uri)) filename = self.param('filename') do_comment = self.paramint('c', 0) if filename[:4] == 'img/': #处理图片 new_filename = filename.split('/')[1] mtype = new_filename.split('.')[1] bits = self.request.body media = Media.all().filter('name =', new_filename) if media.count() > 0: media = media[0] else: media = Media() media.name = new_filename media.mtype = mtype media.bits = bits media.put() bid = '_'.join(new_filename.split('_')[:-1]) entries = Entry.all().filter('slug =', bid) if entries.count() > 0: entry = entries[0] entry.content = entry.content.replace( filename, '/media/' + str(media.key())) entry.put() return if filename == "index.html" or filename[-5:] != '.html': return #处理html页面 bid = filename[:-5] try: soup = BeautifulSoup(self.request.body) bp = soup.find(id='bp') title = self.getChineseStr(soup.title.text) logging.info(bid) pubdate = self.getdate(bp.find(id='bp-' + bid + '-publish').text) body = bp.find('div', 'blogpost') entries = Entry.all().filter('title = ', title) if entries.count() < 1: entry = Entry() else: entry = entries[0] ## entry=Entry.get_by_key_name(bid) ## if not entry: ## entry=Entry(key_name=bid) entry.slug = bid entry.title = title entry.author_name = self.login_user.nickname() entry.date = pubdate entry.settags("") entry.content = unicode(body) entry.author = self.login_user entry.save(True) if do_comment > 0: comments = soup.find('div', 'comments', 'div') if comments: for comment in comments.contents: name, date = comment.h5.text.split(' - ') # modify by lastmind4 name_date_pair = comment.h5.text if name_date_pair.index('- ') == 0: name_date_pair = 'Anonymous ' + name_date_pair name, date = name_date_pair.split(' - ') key_id = comment.h5['id'] date = self.getdate(date) content = comment.contents[1].text comment = Comment.get_or_insert(key_id, content=content) comment.entry = entry comment.date = date comment.author = name comment.save() except Exception, e: logging.info("import error: %s" % e.message)
entry.categories = get_categories(line) last_section = 'categories' elif is_empty(line): last_section = None elif is_double_backslash(line): last_section = None double_backslash_count += 1 elif is_section(line): last_section = None pass elif is_last_line(line): last_section = None pass else: if last_section is None: if double_backslash_count > 1: last_section = 'abstract' entry.abstract = line.strip() elif last_section == 'title': entry.title += ' ' + line elif last_section == 'categories': entry.categories += ' ' + line elif last_section == 'authors': entry.authors += ' ' + line elif last_section == 'abstract': entry.abstract += ' ' + line else: pass entry.save()