cc-import-xml-writer
ClassicCars.com module to write an xml file our importer can process.
Exposes a method that will take a string that is the path of the file to ouput and return a writable stream that expects a Listing
object per write (data event) for processing to the output file.
Install
npm install cc-import-xml-writer
Usage
Direct writes...
var ccWriter = require('cc-import-xml-writer');
var output = ccWriter('output.xml');
...
output.write({
//required
id: 1 //dealer stock number [string or number], must be unique to the account
,year: 1968
,make: 'Chevrolet'
,model: 'Camaro'
,price: 45000.00
//suggested
,vin: '...' //[string]
,description: "..." // text/markdown, no html
,images: ["http://..../image1.jpg",...]
// either an array of urls, or a string with a comma/white-space separated list
//optional
,video: 'http://youtube.com/...' //url (only supporting youtube)
});
...
output.end(); //finish outputting the file.
Piped from an input stream...
var fs = rquire('fs'),
es = require('event-stream'),
ccWriter = require('cc-import-xml-writer`)
getListingFromData = require('./getListingFromData');
//create input stream
fs.createReadStream('input.txt')
//convert input stream to expected structure
.pipe(es.map(function processData(data,callback){
//transform input to expected structure here
callback(getListingFromData(data));
})
//ouput result to xml
.pipe(ccWriter('ouput.xml'));
Listing object
A listing item requires the following properties: (required)
id
- number or string - must be unique for the accountyear
- number - between 1880 - current+1)- It's recommended to limit listings to vehicles over 20 years old, of a classic/retro style, one-offs, and other exceptional listings
make
- string - Manufacturermodel
- string - Modelprice
- number - Required unless the account is for auctions
A listing item should have the following fields: (suggested)
images
- string or array - url for full-size images- for strings, should be comma/white-space separated list of urls
- for arrays, should be a list of urls
description
- string - the description for the listing- Should be plain text or markdown
- Most HTML will be stripped out from the importer
vin
- string - vin may be required for advanced features
A listing item may have the following fields: (optional)
video
- YouTube URL to the video for the specific vehicle
A listing item may have the following fields: (deprecated)
exterior
- string - color (deprecated)interior
- string - color (deprecated)transmission
- string - 'a' or 'm' (deprecated)milage
- number - miles on the vehicle