예제 #1
0
    'type': mapper.const('contact'),
}

# Condizioni pagamento
# 'CODICE_PAG'
# 'DESCRIZIO3'

# Banca di appoggo
# 'DESCRIZIO5'
# 'ABI_VOSTRA'
# 'CAB_VOSTRA'
# 'CONTO_VOST'
# 'CIN'
# 'CIN_ESTERO'
# 'IBAN'

# Listini
# 'LISTINO_DO' (0 o 1)

# Step 4: Process data
processor.process(mapping, 'transformed/res.partner.csv', {'worker': 2, 'batch_size': 20})
processor.process(mapping2, 'transformed/res.partner.cs2', {'worker': 2, 'batch_size': 20})
processor.process(mapping3, 'transformed/res.partner.cs3', {'worker': 2, 'batch_size': 20})
processor.process(mapping4, 'transformed/res.partner.cs4', {'worker': 2, 'batch_size': 20})
processor.process(mapping5, 'transformed/res.partner.cs5', {'worker': 2, 'batch_size': 20})

# Step 5: Define output and import parameter
processor.write_to_file("1_partner.sh", python_exe='', path='')

print('Partner Done')
예제 #2
0
    'country_id/id': mapper.map_val('country', country_map),
    'supplier': mapper.const('1'),
    'user_id': mapper.val('Account_Manager'),
}

contact_mapping = {
    'id': mapper.m2o(SUPPLIER_CONTACT_PREFIX, 'Contact Email'),
    'parent_id/id': mapper.m2o(SUPPLIER_PREFIX, 'Company_ID'),
    'email': mapper.val('Contact Email'),
    'name': mapper.concat(' ', 'Contact First Name', 'Contact Last Name'),
    'title/id': mapper.m2o(TITLE_PREFIX, 'Contact Title'),
}

title_map = {
    'id': mapper.m2o(TITLE_PREFIX, 'Contact Title'),
    'name': mapper.val('Contact Title', skip=True),
    'shortcut': mapper.val('Contact Title')
}

#Step 4: Process data
processor.process(title_map, 'data/res.partner.title.csv', {}, 'set')
processor.process(mapping, 'data/res.partner.supplier.csv',
                  {'model': 'res.partner'})
processor.process(contact_mapping, 'data/res.partner.supplier.contact.csv',
                  {'model': 'res.partner'})

#Step 5: Define output and import parameter
processor.write_to_file("2_supplier.sh", python_exe='', path='')

print 'Supplier Done'
예제 #3
0
        '--path',
        dest='path',
        help='Image Path Prefix, default is the working directory')
    parser.add_argument('--out',
                        dest='out',
                        help='name of the result file, default out.csv',
                        default="out.csv")
    parser.add_argument(
        '-f',
        dest='fields',
        help='Fields to convert from path to base64, comma separated',
        required=True)
    args = parser.parse_args()

    file_csv = args.file
    out_csv = args.out
    path = args.path
    fields = args.fields
    if not path:
        path = os.getcwd()
    if not path.endswith(os.sep):
        path += os.sep

    processor = Processor(file_csv)
    mapping = processor.get_o2o_mapping()
    for f in fields.split(','):
        f = f.strip()
        mapping[f] = mapper.binary_map(mapper.remove_sep_mapper(f), path)
    processor.process(mapping, out_csv, {}, 'list')
    processor.write_to_file("")
예제 #4
0
pprint.pprint(processor.get_o2o_mapping())

# STEP 2 : Define the mapping for every object to import
mapping = {
    'id': mapper.m2o(PARTNER_PREFIX, 'Company_ID', skip=True),
    'name': mapper.val('Company_Name', skip=True),
    'phone': mapper.val('Phone'),
    'website': mapper.val('www'),
    'street': mapper.val('address1'),
    'city': mapper.val('city'),
    'zip': mapper.val('zip code'),
    'country_id/id': mapper.map_val('country', country_map),
    'company_type': mapper.const('company'),
    'customer': mapper.bool_val('IsCustomer', ['1'], ['0']),
    'supplier': mapper.bool_val('IsSupplier', ['1'], ['0']),
    'lang': mapper.map_val('Language', lang_map),
    'image': mapper.binary("Image", "origin/img/"),
}

# Step 3: Check data quality (Optional)
processor.check(checker.cell_len_checker(30))
processor.check(checker.id_validity_checker('Company_ID', "COM\d"))
processor.check(checker.line_length_checker(13))
processor.check(checker.line_number_checker(21))

# Step 4: Process data
processor.process(mapping, 'data%sres.partner.csv' % os.sep, {'worker': 2, 'batch_size': 5}, 'set')

# Step 5: Define output and import parameter
processor.write_to_file("2_contact_import.sh", python_exe=EXEC, path='../')
예제 #5
0
# STEP 2 : Define the mapping for every object to import
mapping = {
    'id': mapper.m2o(PARTNER_PREFIX, 'Company_ID', skip=True),
    'name': mapper.val('Company_Name', skip=True),
    'phone': mapper.val('Phone'),
    'website': mapper.val('www'),
    'street': mapper.val('address1'),
    'city': mapper.val('city'),
    'zip': mapper.val('zip code'),
    'country_id/id': mapper.map_val('country', country_map),
    'company_type': mapper.const('company'),
    'customer': mapper.bool_val('IsCustomer', ['1'], ['0']),
    'supplier': mapper.bool_val('IsSupplier', ['1'], ['0']),
    'lang': mapper.map_val('Language', lang_map),
    'image': mapper.binary("Image", "origin/img/"),
}

# Step 3: Check data quality (Optional)
processor.check(checker.cell_len_checker(30))
processor.check(checker.id_validity_checker('Company_ID', "COM\d"))
processor.check(checker.line_length_checker(13))
processor.check(checker.line_number_checker(21))

# Step 4: Process data
processor.process(mapping, 'data%sres.partner.csv' % os.sep, {'worker': 2, 'batch_size': 5}, 'set')

# Step 5: Define output and import parameter
processor.write_output()
launchfile_write(processor.file_to_write, "2_contact_import.sh", python_exe='python-coverage run -a', path='../')
예제 #6
0
from odoo_csv_tools.lib import mapper
from odoo_csv_tools.lib.transform import Processor
from datetime import datetime

processor = Processor('client_file.csv', delimiter=';')
res_partner_mapping = {
    'id':
    mapper.m2o_map('my_import_res_partner',
                   mapper.concat('_', 'Firstname', 'Lastname', 'Birthdate')),
    'name':
    mapper.concat(' ', 'Firstname', 'Lastname'),
    'birthdate':
    mapper.val('Birthdate',
               postprocess=lambda x: datetime.strptime(x, "%d/%m/%y").strftime(
                   "%Y-%m-%d 00:00:00")),
}
processor.process(
    res_partner_mapping, 'res.partner.csv', {
        'model': 'res.partner',
        'context': "{'tracking_disable': True}",
        'worker': 2,
        'batch_size': 20
    })
processor.write_to_file("res_partner.sh", python_exe='', path='')
예제 #7
0
    mapper.m2m(PARTNER_CATEGORY_PREFIX, 'Tag', 'Fidelity Grade'),
}

tag_mapping = {
    'id': mapper.m2m_id_list(PARTNER_CATEGORY_PREFIX, 'Tag'),
    'name': mapper.m2m_value_list('Tag'),
}

grade_mapping = {
    'id': mapper.m2m_id_list(PARTNER_CATEGORY_PREFIX, 'Fidelity Grade'),
    'name': mapper.m2m_value_list('Fidelity Grade'),
}

#Step 4: Process data
processor.process(tag_mapping,
                  'data%sres.partner.category.csv' % os.sep, {},
                  m2m=True)
processor.process(grade_mapping,
                  'data%sres.partner.category.grade.csv' % os.sep,
                  {'model': 'res.partner.category'},
                  m2m=True)
processor.process(mapping, 'data%sres.partner.csv' % os.sep, {
    'worker': 2,
    'batch_size': 20,
    'context': {
        'write_metadata': True
    }
})

#Step 5: Define output and import parameter
processor.write_to_file("1_client.sh", python_exe='', path='')
#STEP 1 : read the needed file(s)
processor = Processor('origin/message.csv')

##STEP 2 : Define the mapping for every object to import
mapping = {
    'id':
    mapper.m2o_map(MESSAGE_PREFIX, mapper.concat("_", 'Company_ID', 'Date')),
    'res_external_id':
    mapper.m2o(SUPPLIER_PREFIX, 'Company_ID'),
    'author_id/id':
    mapper.m2o(SUPPLIER_CONTACT_PREFIX, 'from'),
    'email_from':
    mapper.val('from'),
    'subject':
    mapper.val('subject'),
    'body':
    mapper.val('body'),
    'date':
    mapper.val('Date',
               postprocess=lambda x: datetime.strptime(x, "%d/%m/%y %H:%M:%S").
               strftime("%Y-%m-%d %H:%M:%S")),
}

#Step 4: Process data
processor.process(mapping, 'data/mail.message.csv', {})

#Step 5: Define output and import parameter
processor.write_to_file("3_supplier_message.sh", python_exe='', path='')

print 'Supplier Message Done'