Example #1
0
def export_tsv():
    """
    Exports a complete dump of the Opinions table to disk, in
    TSV format.
    """
    opinions_path = os.path.join(settings.TSV_EXPORT_DIR, 'opinions.tsv.bz2')
    opinions_tmp = '%s_exporting' % opinions_path
    print 'Dumping all opinions into TSV file %s.' % opinions_path

    opinions = Opinion.objects.order_by('id')
    try:
        outfile = bz2.BZ2File(opinions_tmp, 'w')
        tsv = csv.writer(outfile, dialect=TSVDialect)
        for bucket in _split_queryset(opinions):
            for opinion in bucket:
                tsv.writerow(_fix_row([
                    opinion.id,
                    int(mktime(opinion.created.timetuple())),
                    OPINION_TYPES.get(opinion.type).short,
                    getattr(PRODUCT_IDS.get(opinion.product), 'short', None),
                    opinion.version,
                    opinion.platform,
                    opinion.locale,
                    opinion.manufacturer,
                    opinion.device,
                    opinion.url,
                    opinion.description,
                ]))
    finally:
        outfile.close()
    shutil.move(opinions_tmp, opinions_path)
    print 'All opinions dumped to disk.'
Example #2
0
    def item_categories(self, item):
        """Categorize comments. Style: "product:firefox" etc."""
        categories = {
            'product': PRODUCT_IDS.get(item.product).short,
            'version': item.version,
            'platform': item.platform,
            'locale': item.locale,
            'sentiment': item.type.short
        }

        return (':'.join(i) for i in categories.items())
Example #3
0
    def item_categories(self, item):
        """Categorize comments. Style: "product:firefox" etc."""
        categories = {
            'product': PRODUCT_IDS.get(item.product).short,
            'version': item.version,
            'platform': item.platform,
            'locale': item.locale,
            'sentiment': item.type.short
        }

        return (':'.join(i) for i in categories.items())
Example #4
0
    def item_categories(self, item):
        """Categorize comments. Style: "product:firefox" etc."""
        categories = {
            "product": PRODUCT_IDS.get(item.product).short,
            "version": item.version,
            "platform": item.platform,
            "locale": item.locale,
            "sentiment": item.type.short,
        }

        return (":".join(i) for i in categories.items())