|
|
|
|
@@ -312,7 +312,7 @@ class RentalCrawler {
|
|
|
|
|
|
|
|
|
|
let numberOfRooms =
|
|
|
|
|
parseInt(extractedData["re_realEstates_roomsNO"]) +
|
|
|
|
|
parseInt(extractedData["re_realEstates_bedroomNO"]) || null,
|
|
|
|
|
parseInt(extractedData["re_realEstates_bedNO"]) || null,
|
|
|
|
|
numberOfFloors =
|
|
|
|
|
parseInt(extractedData["re_realEstates_floorsNO"]) ||
|
|
|
|
|
this.getNumberOfFloorsFromFloorId(extractedData["re_floorNO_id"]),
|
|
|
|
|
@@ -352,7 +352,9 @@ class RentalCrawler {
|
|
|
|
|
realEstatePropertiesFromInfrastructure.phoneConnection,
|
|
|
|
|
cableTV = realEstatePropertiesFromInfrastructure.cableTV,
|
|
|
|
|
internet = realEstatePropertiesFromInfrastructure.internet,
|
|
|
|
|
basementAttic = realEstatePropertiesFromSpaces.basementAttic,
|
|
|
|
|
basementAttic =
|
|
|
|
|
realEstatePropertiesFromSpaces.basementAttic ||
|
|
|
|
|
this.checkBasemAtticFromFloors(extractedData["re_floorNO_id"]),
|
|
|
|
|
storeRoom = realEstatePropertiesFromSpaces.storeRoom,
|
|
|
|
|
videoSurveillance =
|
|
|
|
|
realEstatePropertiesFromDescriptions.videoSurveillance ||
|
|
|
|
|
@@ -397,9 +399,7 @@ class RentalCrawler {
|
|
|
|
|
);
|
|
|
|
|
if (!publishedDateMoment.isValid()) {
|
|
|
|
|
throw {
|
|
|
|
|
message: `Invalid published date : ${
|
|
|
|
|
extractedData["re_realEstates_inserted"]
|
|
|
|
|
}`
|
|
|
|
|
message: `Invalid published date : ${extractedData["re_realEstates_inserted"]}`
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -410,9 +410,7 @@ class RentalCrawler {
|
|
|
|
|
);
|
|
|
|
|
if (!renewedDateMoment.isValid()) {
|
|
|
|
|
throw {
|
|
|
|
|
message: `Invalid renewed date : ${
|
|
|
|
|
extractedData["re_realEstates_edited"]
|
|
|
|
|
}`
|
|
|
|
|
message: `Invalid renewed date : ${extractedData["re_realEstates_edited"]}`
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -782,8 +780,42 @@ class RentalCrawler {
|
|
|
|
|
if (floorIds.length === 0) {
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
let noOfFloors = floorIds.length;
|
|
|
|
|
// Floors of 'suteren', 'podrum', 'tavan' and 'potkrovlje' are not counted
|
|
|
|
|
floorIds.forEach(id => {
|
|
|
|
|
if (
|
|
|
|
|
parseInt(id) === 1 ||
|
|
|
|
|
parseInt(id) === 2 ||
|
|
|
|
|
parseInt(id) === 12 ||
|
|
|
|
|
parseInt(id) === 14
|
|
|
|
|
) {
|
|
|
|
|
noOfFloors--;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
return noOfFloors;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return floorIds.length;
|
|
|
|
|
checkBasemAtticFromFloors(floorsIdText) {
|
|
|
|
|
// floorIdText can be array of numbers, separated by comma or number
|
|
|
|
|
const floorIds = floorsIdText.split(",");
|
|
|
|
|
|
|
|
|
|
let check = false;
|
|
|
|
|
|
|
|
|
|
if (floorIds.length === 0) {
|
|
|
|
|
check = false;
|
|
|
|
|
}
|
|
|
|
|
//If floors 'suteren', 'podrum', 'tavan' and 'potkrovlje' exists then tag for basement-attic is true
|
|
|
|
|
floorIds.forEach(id => {
|
|
|
|
|
if (
|
|
|
|
|
parseInt(id) === 1 ||
|
|
|
|
|
parseInt(id) === 2 ||
|
|
|
|
|
parseInt(id) === 12 ||
|
|
|
|
|
parseInt(id) === 14
|
|
|
|
|
) {
|
|
|
|
|
check = true;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
return check;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async sleep(ms) {
|
|
|
|
|
|