Service¶
Dummy service files:
Note
TODO: Make it possible to register service in project settings and rewrite existing services.
pim.py¶
from xenops.data import converter
def trigger(request):
# Based on request yield back data from source like (CSV, SOAP, REST, etc)
yield {
'ean': 'ean-123',
'name': 'Test'
}
yield {
'ean': 'ean-456',
'name': 'Pim Product'
}
def get(request):
# Based on request return data from source like (CSV, SOAP, REST, etc)
return {
'price': 14.5
}
def process(request):
# process data and export to (CSV, SOAP, REST, etc) and return id
return 827
# Register service config (is used by setup.py entry_points)
register = {
'code': 'pim',
'verbose_name': 'Pim',
'type': {
'product': {
'mapping': [
converter.Attribute('sku', 'sku'),
converter.Attribute('price', 'price'),
],
'trigger': trigger,
'get': get,
'process': process,
}
}
}
from setuptools import setup, find_packages
setup(
name='xenops_service_pim',
version="1.0",
description="Xenops Pim service",
author="Maikel Martens",
packages=find_packages(),
include_package_data=True,
entry_points={
'xenops.services': [
'pim = pim:register'
]
}
)