close

  
<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>

Comments

Hide