Sindbad~EG File Manager

Current Path : /home/numerotech/abs.numerotech.com/common_abs_v2-/core/library/
Upload File :
Current File : //home/numerotech/abs.numerotech.com/common_abs_v2-/core/library/csvexport.py

from flask import Response
from os import listdir
import io 
from io import StringIO
from io import BytesIO
import csv

class CSVEXPORT:

    # **** Sample input data *****
    # @app.route('/sample_csv_export')
    # def dwonloadcsv_sample():
        # header = {'full_name':'Name','email':'Email Id','mobile':'Mobile Number'}
        # rows = [
        #         {
        #         "full_name":"Mukesh Kumar",
        #         "email":"mukesh@numerotec.com",
        #         "Phone":"6379348963",
        #         },
        #         {
        #         "full_name":"Sridhar r",
        #         "email":"sridhar.r@numerotec.com",
        #         "Phone":"9988776655",
        #         },
        #     ]
        # file_name = "Sample_csv"
        # data = CSVEXPORT().export_csv_file(rows,file_name,header)
        # return data

    def export_csv_file(self,rows,file_name,header=None):
        output = io.StringIO()
        writer = csv.writer(output)
        if rows:
            if header:
               row_keys = list(header.keys())      
               header   = list(header.values())
            else :
                row_keys = list(rows[0].keys())
                header = row_keys
            writer.writerow(header)
            for i in rows:
                line = []
                for j in row_keys:
                    line.append(i[j])
                writer.writerow(line)
            output.seek(0)
            return Response(output, mimetype="text/csv", headers={"Content-Disposition":"attachment;filename="+str(file_name)+".csv"})
        return None
        
   

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists