def _competitions_need_photos(self, user): '''Return a list of all competitions for which the user can submit a photograph.''' submissions = [] for comp in Competition.get_by_status(OPEN): usercomp = UserComp.get_usercomp(user, comp) if not usercomp: submissions.append(comp) return submissions
def _last_positions(self, data): '''Update UserStat records for all users who have a photo that was last in a competition.''' for comp in Competition.get_by_status(COMPLETED): photos = list(Photo.competition_photos(comp)) last_position = max(photos, key=lambda x: x.position).position #logging.info('%s: last: %d' % (comp, last_position)) for photo in filter(lambda x: x.position == last_position, photos): user_stat = data[photo.user.id()] user_stat.last_place += 1 user_stat.medals += 1