コード例 #1
0
ファイル: app.py プロジェクト: Maluscore/boke
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)
コード例 #2
0
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))
コード例 #3
0
ファイル: main.py プロジェクト: knowMandM/spider
 def runEx(self):
     for searchStr in search_condition.searchArr:
         jobCount = self.getJobCountInCity(searchStr)
         if (jobCount > 0):
             self.getDataByCity(searchStr, totalJobCount=jobCount)
         else:
             log(searchStr, "没有相关职位")
コード例 #4
0
ファイル: main.py プロジェクト: knowMandM/spider
 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, "没有", "", "相关职位,跳过。")
コード例 #5
0
ファイル: app.py プロジェクト: Maluscore/tweet_js
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
コード例 #6
0
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))
コード例 #7
0
ファイル: app.py プロジェクト: Maluscore/boke
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)
コード例 #8
0
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)
コード例 #9
0
ファイル: write_csv.py プロジェクト: knowMandM/spider
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)
コード例 #10
0
ファイル: app.py プロジェクト: Maluscore/boke
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)
コード例 #11
0
ファイル: app.py プロジェクト: Maluscore/boke
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)
コード例 #12
0
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'))
コード例 #13
0
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))
コード例 #14
0
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))
コード例 #15
0
ファイル: app.py プロジェクト: Maluscore/boke
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))
コード例 #16
0
ファイル: app.py プロジェクト: Maluscore/boke
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)
コード例 #17
0
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)
コード例 #18
0
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)
コード例 #19
0
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)
コード例 #20
0
ファイル: main.py プロジェクト: knowMandM/spider
 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, "相关职位,跳过。")
コード例 #21
0
ファイル: main.py プロジェクト: knowMandM/spider
    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("没有下一页了,跳出")
コード例 #22
0
ファイル: app.py プロジェクト: Maluscore/tweet_js
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)
コード例 #23
0
ファイル: app.py プロジェクト: Maluscore/boke
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)
コード例 #24
0
ファイル: write_csv.py プロジェクト: knowMandM/spider
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 = []
コード例 #25
0
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)
コード例 #26
0
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)
コード例 #27
0
ファイル: app.py プロジェクト: Maluscore/boke
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)
コード例 #28
0
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'))
コード例 #29
0
ファイル: app.py プロジェクト: Maluscore/tweet_js
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
コード例 #30
0
ファイル: models.py プロジェクト: imxisn/boke
def rebuild_db():
    backup_db()
    db.drop_all()
    db.create_all()
    log('rebuild database')
コード例 #31
0
ファイル: write_csv.py プロジェクト: knowMandM/spider
def writeInfo(jsonList, language, city, gm):
    for result in jsonList:
        fillData(result, language, city, gm)
        writeCsv()
    log("总写入:", total_count)
コード例 #32
0
ファイル: main.py プロジェクト: knowMandM/spider
 def onBlocked(self, callBack=None):
     log("IP被封, 10分钟后重试")
     time.sleep(60 * 10)
     if (callBack):
         callBack()
コード例 #33
0
ファイル: models.py プロジェクト: Maluscore/tweet
def rebuild_db():
    backup_db()
    db.drop_all()
    db.create_all()
    log('rebuild database')
コード例 #34
0
def blog_add_view():
    user_now = current_user()
    log('写博客')
    return render_template('blog_add.html', user_now=user_now)