def blog_add_view(): user_now = current_user() log('写博客') if user_now is None: return redirect(url_for('login_view')) else: return render_template('blog_add.html', user_now=user_now)
def blog_add(): user_now = current_user() blog = Blog(request.form) blog.user = user_now blog.save() log('发布成功') return redirect(url_for('timeline_view', username=user_now.username))
def runEx(self): for searchStr in search_condition.searchArr: jobCount = self.getJobCountInCity(searchStr) if (jobCount > 0): self.getDataByCity(searchStr, totalJobCount=jobCount) else: log(searchStr, "没有相关职位")
def run(self): for city in search_condition.cityArr: jobCount = self.getJobCountInCity("", city) if(jobCount > 0): self.getDataByCity("", sCity = city, totalJobCount=jobCount) else: log(city, "没有", "", "相关职位,跳过。")
def comment_add(): log('发送评论') user_now = current_user() form = request.get_json() print('form, ', form) c = Comment(form) blog_id = form.get('blog_id', '') # 设置是谁发的 c.sender_name = user_now.username c.blog = Blog.query.filter_by(id=blog_id).first() # 保存到数据库 c.save() blog = c.blog blog.com_count = len(Comment.query.filter_by(blog_id=blog.id).all()) blog.save() log('写评论') status = { 'content': c.content, 'sender_name': c.sender_name, 'created_time': formatted_time(c.created_time), 'id': c.id, } r = json.dumps(status, ensure_ascii=False) print('r, ', r) return r
def unfollow_act(user_id): user_now = current_user() u = User.query.filter_by(id=user_id).first() f = Follow().query.filter_by(user_id=user_now.id, followed_id=user_id).first() f.delete() log('取消关注成功') fan_follow_count(user_now) return redirect(url_for('timeline_view', username=u.username))
def users_view(): user_now = current_user() all_users = User.query.all() if user_now is None: return redirect(url_for('login_view')) else: log('看所有用户') return render_template('all_users.html', user_now=user_now, all_users=all_users)
def users_view(): user_now = current_user() all_users = User.query.all() log('看所有用户') d = dict( user_now=user_now, all_users=all_users, ) return render_template('all_users.html', **d)
def readCsvAndInsertRedisKey(): with open(csv_path, 'r+', newline='') as f: try: rows = csv.DictReader(f, headers) for row in rows: print(row["companyFullName"] + row["positionName"]) redis_dup.isExist(row["companyFullName"] + row["positionName"]) except Exception as e: log(e)
def fan_view(user_id): user_now = current_user() all_fans = Follow.query.filter_by(followed_id=user_id).all() fan_users = [x.follows for x in all_fans] if user_now is None: return redirect(url_for('login_view')) else: log('看粉丝用户') fan_users.sort(key=lambda t: t.created_time, reverse=True) return render_template('fan_users.html', user_now=user_now, fan_users=fan_users)
def reply_view(comment_id): user_now = current_user() if user_now is None: return redirect(url_for('login_view')) else: comment = Comment.query.filter_by(id=comment_id).first() all_comments = Comment.query.filter_by(reply_id=comment_id).all() user = User.query.filter_by(username=comment.sender_name).first() all_comments.sort(key=lambda t: t.created_time, reverse=True) log('查看评论回复') return render_template('reply_view.html', comment=comment, user=user, all_comments=all_comments, user_now=user_now)
def register(): u = User(request.form) if u.valid(): log("用户注册成功") # 保存到数据库 u.save() session['user_id'] = u.id return redirect(url_for('timeline_view', username=u.username)) else: log('注册失败', request.form) flash('注册失败') return redirect(url_for('register_view'))
def reply_act(comment_id): user_now = current_user() c = Comment(request.form) c.sender_name = user_now.username c.reply_id = comment_id comment = Comment.query.filter_by(id=comment_id).first() c.blog_id = comment.blog.id c.save() blog = c.blog blog.com_count = len(Comment.query.filter_by(blog_id=blog.id).all()) blog.save() log('回复评论成功') return redirect(url_for('reply_view', comment_id=comment_id))
def comment_add(blog_id): user_now = current_user() c = Comment(request.form) # 设置是谁发的 c.sender_name = user_now.username c.blog = Blog.query.filter_by(id=blog_id).first() # 保存到数据库 c.save() blog = c.blog blog.com_count = len(Comment.query.filter_by(blog_id=blog.id).all()) blog.save() log('写评论') return redirect(url_for('blog_view', blog_id=blog_id))
def follow_act(user_id): user_now = current_user() if user_now is None: return redirect(url_for('login_view')) else: u = User.query.filter_by(id=user_id).first() f = Follow() f.user_id = user_now.id f.followed_id = user_id f.save() log('关注成功') fan_follow_count(user_now) return redirect(url_for('timeline_view', username=u.username))
def follow_view(user_id): user_now = current_user() all_follows = Follow.query.filter_by(user_id=user_id).all() follow_users_id = [x.followed_id for x in all_follows] follow_users = [] for i in follow_users_id: follow_users.append(User.query.filter_by(id=i).first()) if user_now is None: return redirect(url_for('login_view')) else: log('看关注用户') follow_users.sort(key=lambda t: t.created_time, reverse=True) return render_template('follow_users.html', user_now=user_now, follow_users=follow_users)
def fan_view(user_id): user_now = current_user() user = User.query.filter_by(id=user_id).first() all_fans = Follow.query.filter_by(followed_id=user_id).all() fan_users = [x.follows for x in all_fans] log('看粉丝用户') fan_users.sort(key=lambda t: t.created_time, reverse=True) d = dict( user_now=user_now, fan_users=fan_users, user=user, ) return render_template('fan_users.html', **d)
def reply_view(comment_id): user_now = current_user() comment = Comment.query.filter_by(id=comment_id).first() all_comments = Comment.query.filter_by(reply_id=comment_id).all() user = User.query.filter_by(username=comment.sender_name).first() all_comments.sort(key=lambda t: t.created_time, reverse=True) log('查看回复') d = dict( comment=comment, user=user, all_comments=all_comments, user_now=user_now, ) return render_template('reply_view.html', **d)
def follow_view(user_id): user_now = current_user() user = User.query.filter_by(id=user_id).first() all_follows = Follow.query.filter_by(user_id=user_id).all() follow_users_id = [x.followed_id for x in all_follows] follow_users = [] for i in follow_users_id: follow_users.append(User.query.filter_by(id=i).first()) log('看关注用户') follow_users.sort(key=lambda t: t.created_time, reverse=True) d = dict( user_now=user_now, follow_users=follow_users, user=user ) return render_template('follow_users.html', **d)
def run(self): for searchStr in search_condition.searchArr: for city in search_condition.cityArr: jobCount = self.getJobCountInCity(searchStr, city) if (jobCount > 0): if (jobCount < 3000): self.getDataByCity(searchStr, sCity=city, totalJobCount=jobCount) else: for guimo in search_condition.gmArr: self.getDataByCity( searchStr, city, guimo, self.getJobCountInCity(searchStr, city, guimo)) else: log(city, "没有", searchStr, "相关职位,跳过。")
def getDataByCity(self, sSearch = '', sCity = '', gm = "", totalJobCount = 0): param = { "px":"new", "gm": gm, "city" : sCity, "needAddtionalResult" : 'false', } log(sCity, sSearch, gm, "共:", totalJobCount) x = 0 while x < (totalJobCount // 15 + 1): x += 1 self.query_count += 1 data = { 'first': 'true', 'pn': str(x), 'kd': sSearch } log(sSearch, sCity, gm, "第", x, "页") jsonObj = self._getDataImpl(param, data) if jsonObj["content"]["positionResult"]['resultSize'] <= 0: log("没有记录") continue # 写mysql数据库 write_mysql.insertValues(jsonObj["content"]["positionResult"]["result"]) if jsonObj["content"]["positionResult"]['resultSize'] < 15: return log("没有下一页了,跳出")
def register(): d = request.get_json() form = d print('form, ', form) u = User(form) r = { 'result': '' } if u.valid(): log("用户注册成功") # 保存到数据库 u.save() session['user_id'] = u.id r['result'] = '用户注册成功' else: log('注册失败', request.form) r['result'] = '用户注册失败' return jsonify(r)
def blog_view(blog_id): user_now = current_user() if user_now is None: return redirect(url_for('login_view')) else: blog = Blog.query.filter_by(id=blog_id).first() comments = blog.comments comments.sort(key=lambda t: t.created_time, reverse=True) blog_comments = [] reply_comments = [] for x in comments: if x.reply_id != 0: reply_comments.append(x) else: blog_comments.append(x) log('看博客') return render_template('blog_view.html', user_now=user_now, blog_comments=blog_comments, blog=blog, reply_comments=reply_comments)
def writeCsv(): global datas global total_count exist = os.path.exists(csv_path) with open(csv_path, 'a+', newline='') as f: # 标头在这里传入,作为第一行数据 try: writer = csv.DictWriter(f, headers) if not exist: writer.writeheader() # 还可以写入多行 writer.writerows(datas) total_count += len(datas) #log("写入:", len(datas), " 总计:", total_count) except Exception as e: log(e) finally: datas = []
def timeline_view(username): u = User.query.filter_by(username=username).first() user_now = current_user() log(u) if u is None: # 找不到就返回 404, 这是 flask 的默认 404 用法 abort(404) log('看个人主页') blogs = u.blogs blogs.sort(key=lambda t: t.created_time, reverse=True) fan_follow_count(u) fans_id_list = get_fan(user_now.id) d = dict( blogs=blogs, user_now=user_now, user=u, fans_id_list=fans_id_list, ) return render_template('timeline.html', **d)
def blog_view(blog_id): user_now = current_user() blog = Blog.query.filter_by(id=blog_id).first() comments = blog.comments comments.sort(key=lambda t: t.created_time, reverse=True) blog_comments = [] reply_comments = [] for x in comments: if x.reply_id != 0: reply_comments.append(x) else: blog_comments.append(x) log('看博客') d = dict( user_now=user_now, blog_comments=blog_comments, blog=blog, reply_comments=reply_comments, ) return render_template('blog_view.html', **d)
def timeline_view(username): u = User.query.filter_by(username=username).first() # 为了给模板传参,确定是否为当前用户,就能判断是否显示欢迎语 user_now = current_user() # uu = User.query.filter_by(id=100).all() # log('changdu',len(uu)) 测试没有的话就会返回0的长度 log(u) if u is None: # 找不到就返回 404, 这是 flask 的默认 404 用法 abort(404) if user_now is None: abort(401) else: blogs = u.blogs blogs.sort(key=lambda t: t.created_time, reverse=True) log('看个人主页') u.follow_count = len(Follow.query.filter_by(user_id=u.id).all()) u.fan_count = len(Follow.query.filter_by(followed_id=u.id).all()) u.save() fans_id_list = get_fan(user_now.id) return render_template('timeline.html', blogs=blogs, user_now=user_now, user=u, fans_id_list=fans_id_list)
def login(): u = User(request.form) user = User.query.filter_by(username=u.username).first() log(user) if u.validate(user): log("用户登录成功") session['user_id'] = user.id r = redirect(url_for('timeline_view', username=user.username)) return r else: log("用户登录失败", user) flash('登录失败') return redirect(url_for('login_view'))
def login(): # 这里拿到的已经是一个字典了 form = request.get_json() # if isinstance(form, dict): # print('form, ', form) # else: # print('form不是一个dict, ', form) u = User(form) user = User.query.filter_by(username=u.username).first() log(user) status = { 'success': True, 'url': '/timeline/{}'.format(u.username), 'message': '登录成功', } if u.validate(user): log("用户登录成功") session['user_id'] = user.id else: log("用户登录失败", user) status['success'] = False status['message'] = '登录失败' r = json.dumps(status, ensure_ascii=False) return r
def rebuild_db(): backup_db() db.drop_all() db.create_all() log('rebuild database')
def writeInfo(jsonList, language, city, gm): for result in jsonList: fillData(result, language, city, gm) writeCsv() log("总写入:", total_count)
def onBlocked(self, callBack=None): log("IP被封, 10分钟后重试") time.sleep(60 * 10) if (callBack): callBack()
def blog_add_view(): user_now = current_user() log('写博客') return render_template('blog_add.html', user_now=user_now)