コード例 #1
0
ファイル: genreviews.py プロジェクト: sm2x/smartmenu
    def handle(self, *args, **options):
        count = options["reviews"]

        ignored = 0
        # generate reviews
        for i in range(count):
            print "generate review %d" % (i + 1)
            order = random.choice(Order.objects.all())
            if not order.orderitem_set.all():
                print "ignore order: %d, it has no orderitems" % order.id
                continue
            orderitem = random.choice(order.orderitem_set.all())
            if Review.objects.filter(orderitem=orderitem).first():
                print "ignoring orderitem: %s, it has a review already" % orderitem
                ignored += 1
                continue
            r = Review()
            r.orderitem = orderitem
            r.rating = random.randint(1, 5)
            r.language = order.table.restaurant.menu.language
            r.text = random.choice(review_texts)
            r.user = order.user
            r.save()

        self.stdout.write('Successfully added %d reviews' % (count - ignored))
コード例 #2
0
ファイル: crawl_reviews.py プロジェクト: Epinilla/planner
def main():
    reviews = json.loads(open("reviews.json", "r").read())

    Review.objects.filter(is_crawled=True).delete()
    total_added = 0
    for review in reviews:
        code = review["course"]
        course_query = CourseCode.objects.filter(code=code)
        if course_query.exists():
            r = Review()
            r.course = course_query[0].course
            r.rating = review["rating"]
            r.grade = review["grade"]
            r.text = review["text"].replace("<div>", "").replace("</div>", "")
            r.is_crawled = True
            r.created_at = str_to_timestamp(review["created_at"])
            r.updated_at = str_to_timestamp(review["updated_at"])
            r.author = DEFAULT_USER
            r.save()
            total_added += 1
            if total_added % 50 == 0:
                print "Added %s reviews" % total_added