コード例 #1
0
ファイル: tasks.py プロジェクト: mmclark/seed
def export_buildings(export_id, export_name, export_type,
                     building_ids, export_model='seed.BuildingSnapshot',
                     selected_fields=None):
    model = apps.get_model(*export_model.split("."))

    selected_buildings = model.objects.filter(pk__in=building_ids)

    def _row_cb(i):
        data = get_cache("export_buildings__%s" % export_id)
        data['buildings_processed'] = i

        if data['total_buildings'] == 0 or not data['total_buildings']:
            data['progress'] = 100
        else:
            data['progress'] = (i * 100) / data['total_buildings']

        set_cache("export_buildings__%s" % export_id, data['status'], data)

    exporter = Exporter(export_id, export_name, export_type)
    if not exporter.valid_export_type():
        _row_cb(-1)  # this means there was an error
        return

    exporter.export(selected_buildings, selected_fields, _row_cb)
    # file return value is not used

    _row_cb(selected_buildings.count())  # means we're done!
コード例 #2
0
ファイル: tasks.py プロジェクト: CalebMuhia/seed
def export_buildings(export_id,
                     export_name,
                     export_type,
                     building_ids,
                     export_model='seed.BuildingSnapshot',
                     selected_fields=None):
    model = apps.get_model(*export_model.split("."))

    selected_buildings = model.objects.filter(pk__in=building_ids)

    def _row_cb(i):
        data = get_cache("export_buildings__%s" % export_id)
        data['buildings_processed'] = i

        if data['total_buildings'] == 0 or not data['total_buildings']:
            data['progress'] = 100
        else:
            data['progress'] = (i * 100) / data['total_buildings']

        set_cache("export_buildings__%s" % export_id, data['status'], data)

    exporter = Exporter(export_id, export_name, export_type)
    if not exporter.valid_export_type():
        _row_cb(-1)  # this means there was an error
        return

    exporter.export(selected_buildings, selected_fields, _row_cb)
    # file return value is not used

    _row_cb(selected_buildings.count())  # means we're done!
コード例 #3
0
ファイル: tasks.py プロジェクト: omidtarh/omidtarh
def export_buildings(export_id, export_name, export_type,
                     building_ids, export_model='seed.BuildingSnapshot',
                     selected_fields=None):
    model = get_model(*export_model.split("."))

    selected_buildings = model.objects.filter(pk__in=building_ids)

    def _row_cb(i):
        set_cache_raw("export_buildings__%s" % export_id, i)

    exporter = Exporter(export_id, export_name, export_type)
    if not exporter.valid_export_type():
        _row_cb(-1)  # this means there was an error
        return

    file = exporter.export(selected_buildings, selected_fields, _row_cb)
    # file return value is not used

    _row_cb(selected_buildings.count())  # means we're done!
コード例 #4
0
def export_buildings(export_id,
                     export_name,
                     export_type,
                     building_ids,
                     export_model='seed.BuildingSnapshot',
                     selected_fields=None):
    model = get_model(*export_model.split("."))

    selected_buildings = model.objects.filter(pk__in=building_ids)

    def _row_cb(i):
        cache.set("export_buildings__%s" % export_id, i)

    exporter = Exporter(export_id, export_name, export_type)
    if not exporter.valid_export_type():
        _row_cb(-1)  # this means there was an error
        return

    file = exporter.export(selected_buildings, selected_fields, _row_cb)
    # file return value is not used

    _row_cb(selected_buildings.count())  # means we're done!