'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')
'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'
'--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("")
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='../')
# 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='../')
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='')
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'