Beispiel #1
0
 def delete(self, post_id):
     username = self.current_user
     f = yield gen.maybe_future(Favorite.get_by_user_post(username, post_id))
     if f:
         yield gen.maybe_future(f.delete())
         count = yield gen.maybe_future(Favorite.count_by_post(post_id))
         # Update gold.
         update_gold.apply_async(("cancel_post_be_favorite", post_id))
         raise gen.Return({"count": count})
     else:
         raise exceptions.PostHasNotBeenFavorited()
Beispiel #2
0
 def post(self, post_id):
     username = self.current_user
     f = yield gen.maybe_future(Favorite.get_by_user_post(username, post_id))
     if f:
         raise exceptions.PostAlreadyFavorited()
     else:
         yield gen.maybe_future(Favorite.create(username, post_id))
         count = yield gen.maybe_future(Favorite.count_by_post(post_id))
         # Update gold.
         update_gold.apply_async(("post_be_favorite", post_id))
         raise gen.Return({"count": count})
def add_favorite():
    form = FavoriteForm()
    form['csrf_token'].data = request.cookies['csrf_token']
    if form.validate_on_submit():
        fav = Favorite(user_id=form.user_id.data,
                       listing_id=form.listing_id.data)
        db.session.add(fav)
        db.session.commit()
        return fav.to_dict()
    else:
        return {"errors": "invalid favorite submission"}
def fav_drink(id, drink_id):
    if request.method == 'POST':
        # Create, add, and return new favorite
        new_favorite = Favorite(user_id=id, drink_id=drink_id)
        db.session.add(new_favorite)
        db.session.commit()
        return {'new_favorite_id': new_favorite.to_dict()['drink_id']}

    if request.method == 'DELETE':
        # Find and remove targeted favorite
        favorite_to_delete = Favorite.query.filter(
            and_(Favorite.user_id == id, Favorite.drink_id == drink_id)).one()
        db.session.delete(favorite_to_delete)
        db.session.commit()
        return {}
Beispiel #5
0
def add_movie_to_favorite(user_id, movie_id):
    movie = Movie.query.get(movie_id)
    user = User.query.get(user_id)

    if movie is None or user is None: 
        return create_response(400, "Invalid request")

    favorite = Favorite.query.filter_by(
        user_id=user_id, movie_id=movie.id).first()

    if favorite is None:
        f = Favorite(user_id=user_id, movie_id=movie.id)
        db.session.add(f)

        logger = Logger(user_id=user_id, action_type_id=8, movie_id=movie_id)
        logger.create_log()
    else:
        db.session.delete(favorite)

        logger = Logger(user_id=user_id, action_type_id=9, movie_id=movie_id)
        logger.create_log()

    db.session.commit()

    return create_response(200, "Success")
 def test_favorite_follows(self):
     u1 = User.create(email='*****@*****.**', password='******')
     u2 = User.create(email='*****@*****.**', password='******')
     favor = Favorite.create(title='美术', user=u2)
     db.session.add_all([u1, u2, favor])
     db.session.commit()
     self.assertFalse(u1.is_following_favorite(favor))
     self.assertFalse(favor.is_followed_by(u1))
     timestamp_before = datetime.datetime.utcnow()
     u1.follow(favor)
     db.session.add(u1)
     db.session.commit()
     timestamp_after = datetime.datetime.utcnow()
     self.assertTrue(u1.is_following_favorite(favor))
     self.assertTrue(favor.is_followed_by(u1))
     self.assertTrue(u1.followed_favorites.count() == 1)
     self.assertTrue(favor.followers.count() == 1)
     f = u1.followed_favorites.all()[0]
     self.assertTrue(f.followed == favor)
     self.assertTrue(timestamp_before <= f.timestamp <= timestamp_after)
     u1.unfollow(favor)
     db.session.add(u1)
     db.session.commit()
     self.assertFalse(u1.is_following_favorite(favor))
     self.assertFalse(favor.is_followed_by(u1))
     self.assertTrue(u1.followed_favorites.count() == 0)
     self.assertTrue(favor.followers.count() == 0)
     self.assertTrue(FollowFavorite.query.count() == 0)
Beispiel #7
0
    def post(self):
        """收藏电影(需登录)"""
        mid = request.form.get('movieId', '')
        movie = Movie.query.get(mid)
        if movie is None:
            return {'message': '电影不存在'}, 233
        movie = current_user.favorites.filter_by(movieId=mid).first()
        if movie is not None:
            return {'message': '不能重复收藏同部电影'}, 233

        favorite = Favorite()
        favorite.id = UUID()
        favorite.username = current_user.id
        favorite.movieId = mid
        db.session.add(favorite)
        db.session.commit()

        return {'message': '收藏成功', 'id': favorite.id}, 200
Beispiel #8
0
def create_favorite(username):
    s = search()
    if s:
        return s
    user = User.query.filter_by(username=username).first()
    if current_user != user and not current_user.can(Permission.ADMINISTER):
        flash('没有权限')
        return redirect(url_for('.user', username=user.username))
    form = FavoriteForm()
    if form.validate_on_submit():
        Favorite.create(title=form.title.data,
                        description=form.description.data,
                        public=form.public.data,
                        user=current_user._get_current_object())

        flash('新建了{}收藏夹'.format(form.title.data), category='info')
        return redirect(url_for('.user', username=user.username))
    return render_template('favorite/create_favorite.html', form=form)  # 渲染表单
 def post(self):
     request_data = request.get_json()
     favorites = self.schema.load(request_data, many=True).data
     db.session.query(Favorite).filter_by(user_id=g.user.id).delete()
     for f in favorites:
         db.session.add(Favorite(user_id=g.user.id,
                                 resource_id=f.resource_id))
     db.session.commit()
     return self.get()
Beispiel #10
0
def favorite(id):
    favorited = Favorite.query.filter_by(listing_id=id,
                                         user_id=current_user.id).first()
    if not favorited:
        fav = Favorite(listing_id=id, user_id=current_user.id)
        db.session.add(fav)
        db.session.commit()
        flash('Added to favorites')
    else:
        flash('Already in your favorites')
    return redirect(url_for('listing', id=id))
Beispiel #11
0
def AddFavByCatID():
    intCatID = request.form['intCatID']
    strFavoriteTitle = request.form['strFavoriteTitle']
    strDescription = request.form['strDescription']
    intRanking = request.form['intRanking']
    objCategory = Categories_Lookup.query.filter_by(id=intCatID).first()

    if not objCategory is None:
        objFavorite = Favorite.query.filter(
            Favorite.category_id == intCatID,
            Favorite.title == strFavoriteTitle).first()

        if objFavorite is None:
            objSameRankItem = Favorite.query.filter_by(
                category_id=intCatID, ranking=intRanking).first()
            if objSameRankItem:
                rankReorder(intCatID, intRanking)
            fav = Favorite(title=strFavoriteTitle,
                           description=strDescription,
                           ranking=intRanking,
                           cteated_date=datetime.now(),
                           modified_date=datetime.now(),
                           Category=objCategory)
            db.session.add(fav)
            db.session.commit()
            response = success(fav.as_dict())

            objLogs = Audit_Log(
                description="Add New Favorite (%s) for (%s) Category" %
                (strFavoriteTitle, objCategory.title),
                log_date=datetime.now())
            db.session.add(objLogs)
            db.session.commit()

        else:
            response = failure("Favorite Name Must be Unique")
    else:
        response = failure("This Category is not exists")

    return jsonify(response)
Beispiel #12
0
    def get(self, post_id):
        post = yield gen.maybe_future(Post.get(post_id))
        if not post:
            raise HTTPError(404)

        author = yield gen.maybe_future(User.get(post.author_id))
        favorites = yield gen.maybe_future(Favorite.count_by_post(post_id))
        up_votes = yield gen.maybe_future(PostUpVote.count_by_post(post_id))
        down_votes = yield gen.maybe_future(PostDownVote.count_by_post(post_id))

        username = self.current_user
        favorited, up_voted, down_voted = False, False, False
        if username:
            up_voted = bool((yield gen.maybe_future(
                PostUpVote.get_by_user_post(username, post_id))))
            down_voted = bool((yield gen.maybe_future(
                PostDownVote.get_by_user_post(username, post_id))))
            favorited = bool((yield gen.maybe_future(
                Favorite.get_by_user_post(username, post_id))))
        self.render(
            'post.html',
            title=post.title,
            keywords=post.keywords,
            description=post.title,
            topic_id=post.topic_id,
            post_id=post_id,
            author=author.username,
            avatar=author.profile.avatar,
            date=post.created_date,
            content=post.content,
            up_votes=up_votes,
            down_votes=down_votes,
            favorites=favorites,
            favorited=int(favorited),
            up_voted=int(up_voted),
            down_voted=int(down_voted),
            keep_silent=post.keep_silent,
        )
    def test_collect_question(self):
        q = Question.create(title='wdffd')
        f = Favorite.create(title='数学')

        self.assertListEqual(f.questions.all(), [])
        self.assertTrue(f.questions.count() == 0)
        self.assertTrue(q.favorites.count() == 0)
        f.collect(q)
        self.assertListEqual([i.question for i in f.questions.all()], [q])
        self.assertTrue(f.questions.count() == 1)
        self.assertTrue(q.favorites.count() == 1)
        self.assertTrue(f.has_collect_question(q))
        f.uncollect(q)
        self.assertTrue(f.questions.count() == 0)
        self.assertTrue(q.favorites.count() == 0)
        self.assertFalse(f.has_collect_question(q))
    def test_collect_post(self):
        p = Post.create(title='haha')
        f = Favorite.create(title='数学')

        self.assertListEqual(f.posts.all(), [])
        self.assertTrue(f.posts.count() == 0)
        self.assertTrue(p.favorites.count() == 0)
        f.collect(p)
        self.assertListEqual([i.post for i in f.posts.all()], [p])
        self.assertTrue(f.posts.count() == 1)
        self.assertTrue(p.favorites.count() == 1)
        self.assertTrue(f.has_collect_post(p))
        f.uncollect(p)
        self.assertTrue(f.posts.count() == 0)
        self.assertTrue(p.favorites.count() == 0)
        self.assertFalse(f.has_collect_post(p))
    def test_collect_answer(self):
        q = Question.create(title='dwwf')
        a = Answer.create(body='dwwdf', question=q)
        f = Favorite.create(title='数学')

        self.assertListEqual(f.answers.all(), [])
        self.assertTrue(f.answers.count() == 0)
        self.assertTrue(a.favorites.count() == 0)
        f.collect(a)
        self.assertListEqual([i.answer for i in f.answers.all()], [a])
        self.assertTrue(f.answers.count() == 1)
        self.assertTrue(a.favorites.count() == 1)
        self.assertTrue(f.has_collect_answer(a))
        f.uncollect(a)
        self.assertTrue(f.answers.count() == 0)
        self.assertTrue(a.favorites.count() == 0)
        self.assertFalse(f.has_collect_answer(a))
Beispiel #16
0
def favorite_vocab(vocab_id):
    is_vocab = Vocabulary.query.filter(
        Vocabulary.id == vocab_id).first_or_404()
    if is_vocab:
        is_fav = Favorite.query.filter(
            Favorite.vocabulary_id == vocab_id).all()
        if is_fav:
            text = '{} has been removed from favorites.'
            Favorite.query.filter(Favorite.vocabulary_id == vocab_id).delete()
        else:
            text = '{} has been added to favorites.'
            f = Favorite(vocabulary_id=vocab_id, favorite=True)
            db.session.add(f)
        db.session.commit()
        return text.format(vocab_id)
    else:
        return redirect(url_for('index'))
Beispiel #17
0
    def load_user_favorites(self):
        with open(self.user_favorite_file, newline='') as csvfile:
            reader = csv.reader(csvfile,
                                delimiter=csv.excel.delimiter,
                                quotechar=csv.excel.quotechar)
            next(reader, None)  # use headers to set availability

            for row in reader:
                for i in range(1, 7):
                    if not row[i]:
                        continue
                    user_id = eval(row[0])
                    resource_id = eval(row[i])

                    user_favorite = Favorite(user_id=user_id,
                                             resource_id=resource_id)
                    db.session.add(user_favorite)
            db.session.commit()
            print(
                "Favorites Loaded. There are now %i links between users and resources in the database."
                % db.session.query(Favorite).count())
Beispiel #18
0
def _post_info(post):
    info = post.to_dict()
    favorites = Favorite.count_by_post(post.id)
    up_votes = PostUpVote.count_by_post(post.id)
    down_votes = PostDownVote.count_by_post(post.id)
    latest_comment = Comment.latest_by_post(post.id)
    comment_count = Comment.count_by_post(post.id)
    if latest_comment:
        latest_comment_user = User.get(latest_comment.author_id).username
        latest_comment_date = latest_comment.date
    else:
        latest_comment_user = None
        latest_comment_date = None
    info.update({
        'up_votes': up_votes,
        'down_votes': down_votes,
        'favorites': favorites,
        'latest_comment_user': latest_comment_user,
        'latest_comment_date': latest_comment_date,
        'comment_count': comment_count,
    })
    return info
Beispiel #19
0
 def add_favorite(self, user_id, corpora_ids):
     for corpus_id in corpora_ids:
         db.session.add(Favorite(user_id=user_id, corpus_id=corpus_id))
     db.session.commit()
     self.driver.refresh()
Beispiel #20
0
def seed_favorites():

    favorite1 = Favorite(user_id=1, listing_id=1)
    favorite2 = Favorite(user_id=2, listing_id=2)
    favorite3 = Favorite(user_id=3, listing_id=23)
    favorite4 = Favorite(user_id=4, listing_id=4)
    favorite5 = Favorite(user_id=5, listing_id=5)
    favorite6 = Favorite(user_id=6, listing_id=6)
    favorite7 = Favorite(user_id=7, listing_id=7)
    favorite8 = Favorite(user_id=8, listing_id=8)
    favorite9 = Favorite(user_id=9, listing_id=9)
    favorite10 = Favorite(user_id=10, listing_id=10)
    favorite11 = Favorite(user_id=11, listing_id=11)
    favorite12 = Favorite(user_id=12, listing_id=12)
    favorite13 = Favorite(user_id=13, listing_id=13)
    favorite14 = Favorite(user_id=14, listing_id=14)
    favorite15 = Favorite(user_id=15, listing_id=15)
    favorite16 = Favorite(user_id=16, listing_id=16)
    favorite17 = Favorite(user_id=17, listing_id=17)
    favorite18 = Favorite(user_id=18, listing_id=18)
    favorite19 = Favorite(user_id=19, listing_id=19)
    favorite20 = Favorite(user_id=20, listing_id=20)
    favorite21 = Favorite(user_id=20, listing_id=21)
    favorite22 = Favorite(user_id=19, listing_id=22)
    favorite23 = Favorite(user_id=18, listing_id=23)
    favorite24 = Favorite(user_id=17, listing_id=24)
    favorite25 = Favorite(user_id=16, listing_id=25)
    favorite26 = Favorite(user_id=15, listing_id=26)
    favorite27 = Favorite(user_id=14, listing_id=27)
    favorite28 = Favorite(user_id=13, listing_id=28)
    favorite29 = Favorite(user_id=12, listing_id=29)
    favorite30 = Favorite(user_id=11, listing_id=30)
    favorite31 = Favorite(user_id=10, listing_id=31)
    favorite32 = Favorite(user_id=9, listing_id=32)
    favorite33 = Favorite(user_id=8, listing_id=33)
    favorite34 = Favorite(user_id=7, listing_id=34)
    favorite35 = Favorite(user_id=6, listing_id=35)
    favorite36 = Favorite(user_id=5, listing_id=36)
    favorite37 = Favorite(user_id=4, listing_id=37)
    favorite38 = Favorite(user_id=3, listing_id=38)
    favorite39 = Favorite(user_id=2, listing_id=39)
    favorite40 = Favorite(user_id=1, listing_id=40)
    favorite41 = Favorite(user_id=1, listing_id=41)
    favorite42 = Favorite(user_id=2, listing_id=42)
    favorite43 = Favorite(user_id=3, listing_id=43)
    favorite44 = Favorite(user_id=4, listing_id=44)
    favorite45 = Favorite(user_id=5, listing_id=45)
    favorite46 = Favorite(user_id=6, listing_id=36)
    favorite47 = Favorite(user_id=7, listing_id=47)
    favorite48 = Favorite(user_id=8, listing_id=48)
    favorite49 = Favorite(user_id=9, listing_id=49)
    favorite50 = Favorite(user_id=10, listing_id=50)
    favorite51 = Favorite(user_id=1, listing_id=11)
    favorite52 = Favorite(user_id=2, listing_id=12)
    favorite53 = Favorite(user_id=3, listing_id=13)
    favorite54 = Favorite(user_id=4, listing_id=14)
    favorite55 = Favorite(user_id=5, listing_id=15)
    favorite56 = Favorite(user_id=6, listing_id=16)
    favorite57 = Favorite(user_id=7, listing_id=17)
    favorite58 = Favorite(user_id=8, listing_id=18)
    favorite59 = Favorite(user_id=9, listing_id=19)
    favorite60 = Favorite(user_id=10, listing_id=11)
    favorite61 = Favorite(user_id=11, listing_id=12)
    favorite62 = Favorite(user_id=12, listing_id=13)
    favorite63 = Favorite(user_id=13, listing_id=14)
    favorite64 = Favorite(user_id=14, listing_id=15)
    favorite65 = Favorite(user_id=15, listing_id=16)
    favorite66 = Favorite(user_id=16, listing_id=17)
    favorite67 = Favorite(user_id=17, listing_id=18)
    favorite68 = Favorite(user_id=18, listing_id=19)
    favorite69 = Favorite(user_id=19, listing_id=9)
    favorite70 = Favorite(user_id=20, listing_id=2)
    favorite71 = Favorite(user_id=20, listing_id=1)
    favorite72 = Favorite(user_id=19, listing_id=12)
    favorite73 = Favorite(user_id=18, listing_id=3)
    favorite74 = Favorite(user_id=17, listing_id=4)
    favorite75 = Favorite(user_id=16, listing_id=5)
    favorite76 = Favorite(user_id=15, listing_id=6)
    favorite77 = Favorite(user_id=14, listing_id=7)
    favorite78 = Favorite(user_id=13, listing_id=8)
    favorite79 = Favorite(user_id=12, listing_id=9)
    favorite80 = Favorite(user_id=11, listing_id=40)
    favorite81 = Favorite(user_id=10, listing_id=1)
    favorite82 = Favorite(user_id=9, listing_id=2)
    favorite83 = Favorite(user_id=8, listing_id=3)
    favorite84 = Favorite(user_id=7, listing_id=4)
    favorite85 = Favorite(user_id=6, listing_id=5)
    favorite86 = Favorite(user_id=5, listing_id=6)
    favorite87 = Favorite(user_id=4, listing_id=7)
    favorite88 = Favorite(user_id=3, listing_id=8)
    favorite89 = Favorite(user_id=2, listing_id=29)
    favorite90 = Favorite(user_id=1, listing_id=30)
    favorite91 = Favorite(user_id=1, listing_id=6)
    favorite92 = Favorite(user_id=2, listing_id=22)
    favorite93 = Favorite(user_id=3, listing_id=3)
    favorite94 = Favorite(user_id=4, listing_id=11)
    favorite95 = Favorite(user_id=5, listing_id=25)
    favorite96 = Favorite(user_id=6, listing_id=46)
    favorite97 = Favorite(user_id=7, listing_id=29)
    favorite98 = Favorite(user_id=8, listing_id=14)
    favorite99 = Favorite(user_id=9, listing_id=16)
    favorite100 = Favorite(user_id=10, listing_id=49)

    db.session.add(favorite1)
    db.session.add(favorite2)
    db.session.add(favorite3)
    db.session.add(favorite4)
    db.session.add(favorite5)
    db.session.add(favorite6)
    db.session.add(favorite7)
    db.session.add(favorite8)
    db.session.add(favorite9)
    db.session.add(favorite10)
    db.session.add(favorite11)
    db.session.add(favorite12)
    db.session.add(favorite13)
    db.session.add(favorite14)
    db.session.add(favorite15)
    db.session.add(favorite16)
    db.session.add(favorite17)
    db.session.add(favorite18)
    db.session.add(favorite19)
    db.session.add(favorite20)
    db.session.add(favorite21)
    db.session.add(favorite22)
    db.session.add(favorite23)
    db.session.add(favorite24)
    db.session.add(favorite25)
    db.session.add(favorite26)
    db.session.add(favorite27)
    db.session.add(favorite28)
    db.session.add(favorite29)
    db.session.add(favorite30)
    db.session.add(favorite31)
    db.session.add(favorite32)
    db.session.add(favorite33)
    db.session.add(favorite34)
    db.session.add(favorite35)
    db.session.add(favorite36)
    db.session.add(favorite37)
    db.session.add(favorite38)
    db.session.add(favorite39)
    db.session.add(favorite40)
    db.session.add(favorite41)
    db.session.add(favorite42)
    db.session.add(favorite43)
    db.session.add(favorite44)
    db.session.add(favorite45)
    db.session.add(favorite46)
    db.session.add(favorite47)
    db.session.add(favorite48)
    db.session.add(favorite49)
    db.session.add(favorite50)
    db.session.add(favorite51)
    db.session.add(favorite52)
    db.session.add(favorite53)
    db.session.add(favorite54)
    db.session.add(favorite55)
    db.session.add(favorite56)
    db.session.add(favorite57)
    db.session.add(favorite58)
    db.session.add(favorite59)
    db.session.add(favorite60)
    db.session.add(favorite61)
    db.session.add(favorite62)
    db.session.add(favorite63)
    db.session.add(favorite64)
    db.session.add(favorite65)
    db.session.add(favorite66)
    db.session.add(favorite67)
    db.session.add(favorite68)
    db.session.add(favorite69)
    db.session.add(favorite70)
    db.session.add(favorite71)
    db.session.add(favorite72)
    db.session.add(favorite73)
    db.session.add(favorite74)
    db.session.add(favorite75)
    db.session.add(favorite76)
    db.session.add(favorite77)
    db.session.add(favorite78)
    db.session.add(favorite79)
    db.session.add(favorite80)
    db.session.add(favorite81)
    db.session.add(favorite82)
    db.session.add(favorite83)
    db.session.add(favorite84)
    db.session.add(favorite85)
    db.session.add(favorite86)
    db.session.add(favorite87)
    db.session.add(favorite88)
    db.session.add(favorite89)
    db.session.add(favorite90)
    db.session.add(favorite91)
    db.session.add(favorite92)
    db.session.add(favorite93)
    db.session.add(favorite94)
    db.session.add(favorite95)
    db.session.add(favorite96)
    db.session.add(favorite97)
    db.session.add(favorite98)
    db.session.add(favorite99)
    db.session.add(favorite100)

    db.session.commit()
Beispiel #21
0
 def get(self):
     username = self.current_user
     fs = yield gen.maybe_future(Favorite.list_by_user(username))
     result = {"total": len(fs), "posts": [f.to_dict() for f in fs]}
     raise gen.Return(result)
Beispiel #22
0
def getAllItems():
    flips = Flip.query.all()
    flipsCopy = []
    for flip in flips:
        flipDict = flip.to_dict()
        flipsCopy.append(flipDict)

    favorites = Favorite.query.all()
    favoritesCopy = []
    for favorite in favorites:
        favoritesCopy.append(favorite.to_dict())

    comments = Comment.query.all()
    commentsCopy = []
    for comment in comments:
        commentsCopy.append(comment.to_dict())

    
    db.session.execute('TRUNCATE items CASCADE;')
    db.session.execute("ALTER SEQUENCE items_id_seq RESTART WITH 1")
    resp, content = httplib2.Http().request("https://poe.ninja/api/data/currencyoverview?league=Ultimatium&type=Currency")
    decoded = content.decode('ascii')
    jsonObj = json.loads(decoded)
    item_list = jsonObj["lines"]
    for item in item_list:
        newItem = Item(
            name=item["currencyTypeName"],
            priceInC=item['chaosEquivalent']
        )
        db.session.add(newItem)

    resp2, content2 = httplib2.Http().request("https://poe.ninja/api/data/itemoverview?league=Ultimatium&type=DivinationCard")
    decoded2 = content2.decode('ascii')
    jsonObj2 = json.loads(decoded2)
    item_list2 = jsonObj2["lines"]
    for item in item_list2:
        newItem = Item(
            name=item["name"],
            priceInC=item['chaosValue']
        )
        db.session.add(newItem)

    resp2, content2 = httplib2.Http().request("https://poe.ninja/api/data/itemoverview?league=Ultimatium&type=Prophecy")
    decoded2 = content2.decode('ascii')
    jsonObj2 = json.loads(decoded2)
    item_list2 = jsonObj2["lines"]
    for item in item_list2:
        newItem = Item(
            name=item["name"],
            priceInC=item['chaosValue']
        )
        db.session.add(newItem)

    resp2, content2 = httplib2.Http().request("https://poe.ninja/api/data/itemoverview?league=Ultimatium&type=UniqueJewel")
    decoded2 = content2.decode('ascii')
    jsonObj2 = json.loads(decoded2)
    item_list2 = jsonObj2["lines"]
    for item in item_list2:
        newItem = Item(
            name=item["name"],
            priceInC=item['chaosValue']
        )
        db.session.add(newItem)

    resp2, content2 = httplib2.Http().request("https://poe.ninja/api/data/itemoverview?league=Ultimatium&type=UniqueWeapon")
    decoded2 = content2.decode('ascii')
    jsonObj2 = json.loads(decoded2)
    item_list2 = jsonObj2["lines"]
    for item in item_list2:
        newItem = Item(
            name=item["name"],
            priceInC=item['chaosValue']
        )
        db.session.add(newItem)

    resp2, content2 = httplib2.Http().request("https://poe.ninja/api/data/itemoverview?league=Ultimatium&type=UniqueArmour")
    decoded2 = content2.decode('ascii')
    jsonObj2 = json.loads(decoded2)
    item_list2 = jsonObj2["lines"]
    for item in item_list2:
        newItem = Item(
            name=item["name"],
            priceInC=item['chaosValue']
        )
        db.session.add(newItem)

    resp2, content2 = httplib2.Http().request("https://poe.ninja/api/data/itemoverview?league=Ultimatium&type=UniqueAccessory")
    decoded2 = content2.decode('ascii')
    jsonObj2 = json.loads(decoded2)

    item_list2 = jsonObj2["lines"]
    for item in item_list2:
        newItem = Item(
            name=item["name"],
            priceInC=item['chaosValue']
        )
        db.session.add(newItem)

    db.session.commit()

    
    for flip in flipsCopy:
    
        input1 = Item.query.filter_by(name=flip["input1Name"]).first()
        output = Item.query.filter_by(name=flip["outputName"]).first()
        newFlip = Flip(
            input1Id=input1.id,
            input1Quantity=flip["input1Quantity"],
            # input2Id=flip.input2Id,
            # input2Quantity=flip.input2Quantity,
            outputId=output.id,
            outputQuantity=flip["outputQuantity"],
            trades=int(flip["input1Quantity"])+ 1,
            cost=input1.priceInC * int(flip["input1Quantity"]),
            revenue=output.priceInC * int(flip["outputQuantity"]),
            profit= output.priceInC * int(flip["outputQuantity"]) - (input1.priceInC * int(flip["input1Quantity"])),
        )

        db.session.add(newFlip)
        db.session.commit()
        for favorite in favoritesCopy:
            if flip["id"] == favorite["id"]:
                newFavorite = Favorite(
                    userId=favorite["userId"],
                    flipId=newFlip.id
                )
                db.session.add(newFavorite)
        
        for comment in commentsCopy:
            if flip["id"] == comment["flipId"]:
                newComment = Comment(
                    userId=comment["userId"],
                    flipId=newFlip.id,
                    content=comment["content"]
                )
                db.session.add(newComment)

    db.session.commit()
    return content
Beispiel #23
0
def setFavorite(flipId):
    favorite = Favorite(userId=current_user.id, flipId=flipId)
    db.session.add(favorite)
    db.session.commit()
    return favorite.to_dict()