File size: 1,692 Bytes
8ba15ea
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import pandas as pd
from preprocess.utils.common.utils import get_delimiter
import shutil
import os


def update_products_csv(new_csv_path, prods_file, overwrite_existing):
    if os.path.isfile(prods_file) and not overwrite_existing:
        main_sep=get_delimiter(prods_file)
        main_csv=pd.read_csv(prods_file, sep=main_sep, on_bad_lines="warn")

        new_sep=get_delimiter(new_csv_path)
        new_csv=pd.read_csv(new_csv_path, sep=new_sep, on_bad_lines="warn")
        if 'attrs' in new_csv.columns.values:
            raise Exception("Uploaded Products CSV does not seem to be valid")

        result=pd.concat([main_csv, new_csv]).drop_duplicates(subset='id', keep='last').reset_index(drop=True)
        result.to_csv(prods_file, sep=main_sep, index=False)
    else:
        new_sep=get_delimiter(new_csv_path)
        new_csv=pd.read_csv(new_csv_path, sep=new_sep, on_bad_lines="warn")
        new_csv.to_csv(prods_file, sep=new_sep, index=False)

    return prods_file


'''def is_csv_exist(path):

    file_list=glob(path+'/*.csv')

    if len(file_list)>0:

        return file_list[0]

    else:

        None





def uploader(new_path, main_dir='/home/user/app/tmp/prod.csv'):

    main_path=is_csv_exist(main_dir)

    if main_path==None:

        new_path = shutil.move(new_path, main_dir)

        return new_path

    else:

        update_products_csv(main_path, new_path)

        return main_path



def remover(data_path):

    #path=is_csv_exist('/home/user/app/tmp/prod.csv')

    #if path!=None:

    os.remove(os.getcwd()+'/tmp/prod.csv')

    shutil.copy2('/home/user/app/tmp/service/prod.csv', '/home/user/app/tmp/prod.csv')'''