Skip to content

Commit

Permalink
adding created_at date for trending field (#301)
Browse files Browse the repository at this point in the history
* adding created_at date for trending field

* fixing comments

* linting

* addressing comments

* fixing constant var name

* comment on dict
  • Loading branch information
vicky-g committed Feb 21, 2020
1 parent 15e9a59 commit 3452660
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 2 deletions.
1 change: 1 addition & 0 deletions discovery-provider/src/queries/response_name_constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
playlist_count = 'playlist_count' # integer - total count of playlists created by given user
album_count = 'album_count' # integer - total count of albums created by given user (0 for all non-creators)
track_count = 'track_count' # integer - total count of tracks created by given user
created_at = 'created_at' # datetime - time track was created
repost_count = 'repost_count' # integer - total count of reposts by given user
track_blocknumber = 'track_blocknumber' # integer - blocknumber of latest track for user
# current user specific
Expand Down
16 changes: 14 additions & 2 deletions discovery-provider/src/tasks/generate_trending.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ def generate_trending(db, time, genre, limit, offset):
with db.scoped_session() as session:
# Filter tracks to not-deleted ones so trending order is preserved
not_deleted_track_ids = (
session.query(Track.track_id)
session.query(Track.track_id, Track.created_at)
.filter(
Track.track_id.in_(track_ids),
Track.is_current == True,
Expand All @@ -76,8 +76,13 @@ def generate_trending(db, time, genre, limit, offset):
)
.all()
)
not_deleted_track_ids = set([record[0] for record in not_deleted_track_ids]) # pylint: disable=R1718

# Generate track -> created_at date
track_created_at_dict = {
record[0]: record[1] for record in not_deleted_track_ids
}

not_deleted_track_ids = set([record[0] for record in not_deleted_track_ids]) # pylint: disable=R1718
# Query repost counts
repost_counts = get_repost_counts(session, False, True, not_deleted_track_ids, None)
track_repost_counts = {
Expand Down Expand Up @@ -156,6 +161,13 @@ def generate_trending(db, time, genre, limit, offset):
track_entry[response_name_constants.track_owner_id] = owner_id
track_entry[response_name_constants.track_owner_follower_count] = owner_follow_count

# Populate created at timestamps
if track_entry[response_name_constants.track_id] in track_created_at_dict:
track_entry[response_name_constants.created_at] = \
track_created_at_dict[track_entry[response_name_constants.track_id]]
else:
track_entry[response_name_constants.created_at] = None

trending_tracks.append(track_entry)

final_resp = {}
Expand Down

0 comments on commit 3452660

Please sign in to comment.