예제 #1
0
def csv_to_modelattr(open_file, name_cleaner=None, company=gl_helpers.get_default_company()):
    '''takes the fields and values in the CSV and transforms them into a list of dicts where the keys
     will match model attributes. for example Full Description becomes full_description'''
    if name_cleaner == None:
        name_cleaner = lambda name: name
    f_csv = csv.DictReader(open_file) 
    csv_to_modelattr = dict([(name, name_cleaner(name)) for name in f_csv.fieldnames])
    csv_to_modelattr['company_id'] = company

    return [dict([(csv_to_modelattr[name], value) for name, value in row.items() if name in csv_to_modelattr]) for row in f_csv]
예제 #2
0
def csv_to_modelattr(open_file, name_cleaner=None, company=gl_helpers.get_default_company()):
    '''takes the fields and values in the CSV and transforms them into a list of dicts where the keys
     will match model attributes. for example Full Description becomes full_description'''
    if name_cleaner == None:
        name_cleaner = lambda name: name
    f_csv = csv.DictReader(open_file) 
    csv_to_modelattr = dict([(name, name_cleaner(name)) for name in f_csv.fieldnames])
    csv_to_modelattr['company_id'] = company

    return [dict([(csv_to_modelattr[name], value) for name, value in row.items() if name in csv_to_modelattr]) for row in f_csv]
예제 #3
0
def create_instance(row, model, name_cleaner=None, value_cleaner=None, unique=None, exclude=[], company=gl_helpers.get_default_company()):
    row['company'] = company
    non_rel_instance = instance_nonrel_data(row, model, name_cleaner=name_cleaner, value_cleaner=value_cleaner)
    if non_rel_instance.id in exclude:
        return None

    full_instance = set_foreignkeys(non_rel_instance, row, model, name_cleaner=name_cleaner, value_cleaner=value_cleaner)    

    return unique(full_instance)
예제 #4
0
def create_instance(row, model, name_cleaner=None, value_cleaner=None, unique=None, exclude=[], company=gl_helpers.get_default_company()):
    row['company'] = company
    non_rel_instance = instance_nonrel_data(row, model, name_cleaner=name_cleaner, value_cleaner=value_cleaner)
    if non_rel_instance.id in exclude:
        return None

    full_instance = set_foreignkeys(non_rel_instance, row, model, name_cleaner=name_cleaner, value_cleaner=value_cleaner)    

    return unique(full_instance)