<p> var MF = acre.require("MANIFEST");
var XML = acre.require(MF.libBase+"XML");
var MQL = acre.require(MF.libBase+"MQL");
var API = acre.require("ga_api");
this.metaForScrapping = {
url:"http://www.glamourapartments.com/ws/export_generate.php5?id="
,parsing:[{field:"entries",tag:"APPARTMENTS",subTag:"APPARTMENT", sub:[
{field:"item_type",tag:'APPARTMENT_TYPE_EN'}
,{field:"item_id",tag:'FLAT_ID'}
,{field:"item_num",tag:'FLAT_NUMBER'}
,{field:"title",tag:'TITLE_EN'}
,{field:"url",tag:"FLAT_URL_EN"}
,{field:"icon",tag:"ICON"}
,{field:"link_ru",tag:"FLAT_URL_RU"}
,{field:"updated",tag:"CHANGE_DATE"}
,{field:"state_id",tag:'STATE_ID'}
,{field:"room_count",tag:"ROOM_COUNT",type:"int"}
,{field:"bedroom_count",tag:"BEDROOM_COUNT",type:"int"}
,{field:"sleepsCount",tag:"SLEEPS_COUNT",type:"int"}
,{field:"bathroomCount",tag:"BATHROOM_COUNT",type:"int"}
,{field:"kingBedCount",tag:"KING_BEDS_COUNT",type:"int"}
,{field:"queenBedCount",tag:"QUEEN_BEDS_COUNT",type:"int"}
,{field:"doubleBedCount",tag:"DOUBLE_BEDS_COUNT",type:"int"}
,{field:"twinBedCount",tag:"TWIN_BEDS_COUNT",type:"int"}
,{field:"singleBedCount",tag:"SINGLE_BEDS_COUNT",type:"int"}
,{field:"sofaBedCount",tag:"SOFA_BEDS_COUNT",type:"int"}
,{field:"bunkBedCount",tag:"BUNK_BEDS_COUNT",type:"int"}
,{field:"murphyBedCount",tag:"MURPHY_BEDS_COUNT",type:"int"}
,{field:"childBedCount",tag:"CHILD_BEDS_COUNT",type:"int"}
,{field:"isSmokingAllowed",tag:"SMOKING_ALLOWED"}
,{field:"isPetFriendly",tag:"PET_FRENDLY"}
,{field:"hasWheelChairAccess",tag:"WEEL_CHAIR_ACCESS"}
,{field:"description",tag:"DESCRIPTION_EN"}
,{field:"description_ru",tag:"DESCRIPTION_RU"}
,{field:"squire",tag:"SQUIRE",type:"int"}
,{field:"address",tag:"ADDRESS"}
,{field:"capacityMin",tag:"CAPACITY_MIN",type:"int"}
,{field:"capacityMax",tag:"CAPACITY_MAX",type:"int"}
,{field:"latitude",tag:"ADDRESS_X",type:"int"}
,{field:"longitude",tag:"ADDRESS_Y",type:"int"}
,{field:"address_uri",tag:"MAP_LINK"}
,{field:"subType",tag:"TYPE"}
,{field:"rank",tag:"GLAMOUR",type:"int"}
,{field:"address_rank",tag:"LOCATION_RATING",type:"int"}
,{field:"videoUrl",tag:"VIDEO_URL"}
,{field:"area",tag:'AREA'
,sub:[{field:"id",tag:'AREA_ID'},{field:"title_ru",tag:'MAP_HINT_RU'},{field:"title",tag:'MAP_HINT_EN'}]}
,{field:"images",tag:'IMAGES',subTag:'IMAGE',sub:[{field:"icon",tag:'ICON'},{field:"url",tag:'URL'},{field:"is_main",tag:'MAIN'},{field:"orientation",tag:'IS_VERTICAL'}]}
,{field:"costs",tag:'COSTS',subTag:'COST',sub:[
{field:"amount",tag:'COST_AMOUNT'}
,{field:"kind",tag:'PERIOD_EN'}
,{field:"periodFrom",tag:'PERIOD_START'}
,{field:"periodTo",tag:'PERIOD_END'}
,{field:"capacityMax",tag:'CAPACITY_MAX'}
,{field:"capacityMin",tag:'CAPACITY_MIN'}
]}
,{field:"descriptions",tag:'DESCRIPTIONS',subTag:'DESCRIPTION'
,sub:[{field:"text",tag:'TEXT_EN'},{field:"text_ru",tag:'TEXT_RU'},{field:"type",tag:'TYPE_ID'},{field:"typeName",tag:'TYPE_EN'}]}
,{field:"improvements",tag:'IMPROVEMENTS',subTag:'IMPROVEMENT'
,sub:[{field:"text",tag:'OPTION_EN'}, {field:"text_ru",tag:'OPTION_RU'}]}
]}]}
this.metaForUpdates = {
url:"http://www.glamourapartments.com/ws/export_log_links.php5?date="
,parsing:[{field:"entries",tag:"APPARTMENTS",subTag:"APPARTMENT", sub:[
{field:"item_id",tag:'FLAT_ID'}
]}
]};
function getImprovementsList(){
return {
'Computer':0
,'Oven':0
,'ADSL':0
,'Washer':0
,'Wi-Fi':0
,'Drying machine':0
,'Printer':0
,'Dishwasher':0
,'Fax':0
,'Microwave':0
,'Telephone':0
,'Kettle':0
,'TV set':0
,'Coffee maker':0
,'VCR':0
,'Toaster':0
,'DVD':0
,'Draft hood':0
,'Cable TV':0
,'Iron/ironing board':0
,'Stereo system':0
,'A/C':0
,'Mixer':0
,'Fan, Parking':0
,'Hairdryer':0
,'Elevator':0
,'Terrace/balcony':0
,'Vine Cooler':0
,'Vacuum cleaner':0
,'Safe':0
}
}
function askForUpdates()
{
var result = null;
var batch = {};
var master = (MQL.writeQueryBuilder( MF.USER, 'ga',null,MF.NS + '/scheme/app'))
.updateValues({"lastTimestamp":(new Date()).format("yyyy-MM-ddTHH:mm:ss")});
var q = MQL.read([{"type": API.ITEM_TYPE,item_id:null,key:{namespace:MF.TOPIC},"state": 'invalidated',"limit":1}]);
for (var i=0; i</p>