Beispiel #1
0
def test_parse_offer_dom_ria_flat_emptiness(
        dom_ria_flat_parser: DomRiaFlatParser):
    assert None is dom_ria_flat_parser.parse_offer(
        {
            'url': 'https://dom.ria.com/uk/realty-prodaja-kvartira-'
            'zaporoje-dneprovskiy-leninskiy-12440307.html',
            'markup': read('fixtures/test_parse_offer/dom_ria_flat8.html'),
            'avatar': None,
            'area': 169,
            'living_area': None,
            'kitchen_area': None
        })
    assert None is dom_ria_flat_parser.parse_offer(
        {
            'url': 'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira'
            '-lvov-lyichakovskiy-begovaya-ulitsa-15431656.html',
            'markup': read('fixtures/test_parse_offer/dom_ria_flat5.html'),
            'avatar': None,
            'area': 57.2,
            'living_area': 39.2,
            'kitchen_area': 10.8
        })
    assert None is dom_ria_flat_parser.parse_offer(
        {
            'url':
            'https://dom.ria.com/uk/novostroyka-km-vyshnevyi-khutir-4972/',
            'markup': read('fixtures/test_parse_offer/dom_ria_flat1.html'),
            'avatar': None,
            'area': 26,
            'living_area': 14.6,
            'kitchen_area': 8.3
        })
Beispiel #2
0
	def _interactivePlayerCreation(self): # pragma: no cover
		login = None
		while login is None or login == '':
			login = utils.read(_('LOGIN_PROMPT'))

			if len(player.model.loadBy({'login': login})):
				print(_('ERROR_SIGNUP_LOGIN_ALREADY_USED'))
				login = None

		genders = gender.model.loadAll()

		g = self.choiceMenu(
			_('GENDER_SELECTION'), _('GENDER_PROMPT'),
			[g['name'] for g in genders]
		)

		genderId = genders[g]['id_gender']

		sps = species.model.loadAll()
		nbSpecies = len(sps)

		if nbSpecies == 1:
			speciesIndex = 0
		else:
			speciesIndex = self.choiceMenu(
				_('SPECIES_SELECTION'), _('SPECIES_PROMPT'),
				[g['name'] for g in sps]
			)

		speciesId = sps[speciesIndex]['id_species']

		return (login, genderId, speciesId)
Beispiel #3
0
	def yesNoQuestion(self, question):
		v = None
		yesNo = {'yes': _('ANSWER_YES'), 'no': _('ANSWER_NO')}
		questionDataFormat = {'choices': '({yes}/{no})'.format(**yesNo)}
		while v not in yesNo.values():
			v = utils.read(question.format(**questionDataFormat))

		return v == _('ANSWER_YES')
Beispiel #4
0
def test_parse_junk_dom_ria_flat_emptiness(
        dom_ria_flat_parser: DomRiaFlatParser):
    assert None is dom_ria_flat_parser.parse_junk(
        {
            'url': 'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira-'
            'odessa-primorskiy-italyanskiy-bulvar-15546830.html',
            'markup': read('fixtures/test_parse_junk/dom_ria_flat3.html')
        })
    assert dom_ria_flat_parser.parse_junk({}) is None
    assert dom_ria_flat_parser.parse_junk(None) is None  # noqa
Beispiel #5
0
def test_parse_junk_dom_ria_flat(dom_ria_flat_parser: DomRiaFlatParser):
    assert dom_ria_flat_parser.parse_junk({
        'url': 'https://dom.ria.com/uk/realty-prodaja-kvartira'
               '-kiev-goloseevskiy-15695319.html',
        'markup': read('fixtures/test_parse_junk/dom_ria_flat0.html')
    }) == 'https://dom.ria.com/uk/realty-prodaja-' \
          'kvartira-kiev-goloseevskiy-15695319.html'
    assert dom_ria_flat_parser.parse_junk({
        'url': 'https://dom.ria.com/uk/realty-prodaja-kvartira-odessa-'
               'kievskiy-lyustdorfskaya-dor-chernomorskaya-dor-15699660.html',
        'markup': read('fixtures/test_parse_junk/dom_ria_flat1.html')
    }) == 'https://dom.ria.com/uk/realty-prodaja-kvartira-odessa-' \
          'kievskiy-lyustdorfskaya-dor-chernomorskaya-dor-15699660.html'
    assert dom_ria_flat_parser.parse_junk({
        'url': 'https://dom.ria.com/uk/realty-prodaja-kvartira'
               '-odessa-malinovskiy-komarova-15699670.html',
        'markup': read('fixtures/test_parse_junk/dom_ria_flat2.html')
    }) == 'https://dom.ria.com/uk/realty-prodaja-kvartira-' \
          'odessa-malinovskiy-komarova-15699670.html'
Beispiel #6
0
	def readCommand(self): # pragma: no cover
		"""
		Method to set the autocompleter and run the prompt, from utils
		"""

		completer = command.completer(
			sorted(command_factory.factory.mapping.keys())
		)
		readline.set_completer(completer.complete)
		readline.parse_and_bind('tab: complete')
		readline.set_completer_delims('')
		return utils.read(_('COMMAND_PROMPT'))
Beispiel #7
0
	def choiceMenu(self, question, prompt, choices):
		print(question)
		for k, v in enumerate(choices):
			print(str(k + 1).rjust(3) + ' - ' + v)

		v = 0
		while v <= 0 or v >= len(choices) + 1:
			v = utils.read(prompt)
			try:
				v = int(v)
			except:
				v = -0

		return v - 1
Beispiel #8
0
def test_parse_page_olx_flat(olx_flat_parser: OlxFlatParser):
    assert olx_flat_parser.parse_page(
        read('fixtures/test_parse_stop/olx_flat0.html')
    ) == [{
        'url':
        'https://www.olx.ua/obyavlenie/1komnatnaya-s-remontom-IDCGxWq.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/prodam-2-komnatnaya-kvartira'
        '-alekseevka-ul-klochkovskaya-nedorogo-IDDHmS1.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/1k-kv-ul-pogranichnaya-'
        '4-slobodskaya-13500-IDwTGfi.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/prodam-2h-komnatnuyu-kvartiru-'
        'v-pecherskom-r-ne-po-adresu-chigorina-61a-IDDgALO.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/prodatsya-2'
        '-kmnatna-kvartira-IDDxelY.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/3-komnatnaya-na-kirova-IDE8Nh7.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/prodam-bolshuyu'
        '-2-h-komnatnuyu-kvartiru-IDeESec.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/prodam-kvartiru'
        '-v-otlichnom-meste-IDE8Ncg.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/prodam-2-komn-kvartiru'
        '-s-remontom-dom-mebeli-IDDVJHL.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/krasnyy-liman-m-n-'
        'yuzhnyy-prodaetsya-dvuhkomnatnaya-kvartira-IDDFTpw.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/prodam-2-komn-kvartiru'
        '-s-remontom-na-lyustdorfskoy-dor-IDDVJHg.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/bez-komissii-4-h-komnatnaya'
        '-kvartira-131-kv-m-v-dome-gamma-IDE5g6Y.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/prodam-svoyu-kvartiru-2-'
        'h-kom-kv-ul-tsentrarnaya-IDDVJH2.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/prodam-2-'
        'komnatnaya-kvartira-bogoduhov-IDE8Ngp.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/zhk-kahovskaya-ul-60'
        '-levoberezhnaya-metro-peshkom-15-min-IDDoEah.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/prodatsya-kvartira-IDC9iQS.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/termnovo-2k-kvartira-'
        'provulok-klyuchniy-r-n-kaskad-ch-IDDFSeR.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/prodam-1-'
        'komnatnuyu-kvartiru-IDE8N9K.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/2-kmnatna-'
        'kvartira-v-tsentr-IDCQe45.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/2-h-kim-kv-ra-68-kv-m-'
        'metro-cherngvska-3-hvilini-ul-krakivska-27-IDE5g5f.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/prodam-2-h-komn-ot'
        '-hozyaina-r-n-prestizha-IDxXZLU.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/kvartira-1-komnatnaya-IDDuh8l.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/13000-obmn-abo-prodazha-'
        '3-oh-km-kv-v-lubnah-na-kvartiru-v-poltav-IDpL2x6.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/prodam-ili-obmenyayu-2-'
        'h-kom-kvartiru-na-3-h-4-h-komnatnuyu-IDDq68U.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/prodam-2-k-cheshku-'
        'pr-kirova-rayon-m-dragomanova-IDE5g4Q.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/rassrochka-na-zhile-'
        'prodaetsya-3-k-kvartira-75m2-IDE5g4I.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/prodam-svoyu-1-kvartiru-v'
        '-arkadii-stikon-s-realnym-vidom-na-more-IDz4kTm.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/prodam-kvartiru-'
        'v-tsentr-duzhe-termnovo-IDwjbAK.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/4k-vul-shevchenka-101-'
        '62-9-5-6-6ts-49-900-IDBpTQe.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/prodam-1k-'
        'kvartiru-na-massive-IDE8NcI.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/odnokomnatnaya-v-'
        'irpene-36-m-kv-ul-severinovskaya-IDE5g3c.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/prodam-1komnatnuyu-kvartiru'
        '-1-5-pr-yubileynyy-87-IDE8N4G.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/prodam-1k-'
        'kv-ul-astronomicheskaya-37-IDDKQUk.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/2-km-kv-za-super-tsnoyu-IDBCqGS.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/2-h-komnatnaya-kvartira'
        '-v-klubnom-dome-v-tsentre-odessy-IDDVJCI.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/prodam-v-tsentre-3-'
        'k-kvartiru-ul-sumskaya-mayakovskogo-IDE8bVF.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/prodam-eksklyuzivnuyu-2-'
        'h-komnatnuyu-kvartiru-ukraina-glagoleva-atb-IDDTHoZ.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/3k-vul-pd-dubom-71-50'
        '-9-3-3ts-rayon-forumu-105-000-IDBQJ3Y.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/2-h-komnatnya-kvartira-IDCsSwA.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/prodam-kvartiru-vozle-metro'
        '-borispolskaya-novyy-dom-2016g-nedorogo-IDDGvHG.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/prodam-2k-'
        'kvartiru-ul-gagarina-IDE1nIx.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/prodazha-3-h-komnatnoy'
        '-kvartiry-zhitomir-desantnikov-IDv0P2O.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/3k-vul-dzherelna-'
        '71-50-9-3-3ts-105-000-IDCBl6g.html'
    }, {
        'url':
        'https://www.olx.ua/obyavlenie/vidovaya-2-h-'
        'komnatnaya-kvartira-v-arkadii-IDDVJAS.html'
    }]
Beispiel #9
0
def test_parse_offer_dom_ria_flat(dom_ria_flat_parser: DomRiaFlatParser):
    assert dom_ria_flat_parser.parse_offer({
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira-'
        'odessa-primorskiy-italyanskiy-bulvar-15546830.html',
        'markup':
        read('fixtures/test_parse_offer/dom_ria_flat0.html'),
        'avatar':
        'https://cdn.riastatic.com/photosnew/dom/photo/perevireno-prodaja'
        '-kvartira-odessa-primorskiy-italyanskiy-bulvar__97597766fl.jpg',
        'area':
        47.7,
        'living_area':
        22.0,
        'kitchen_area':
        15.0
    }) == Flat(
        url='https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira'
        '-odessa-primorskiy-italyanskiy-bulvar-15546830.html',
        avatar='https://cdn.riastatic.com/photosnew/dom/photo/perevireno-'
        'prodaja-kvartira-odessa-primorskiy-italyanskiy-bulvar'
        '__97597766fl.jpg',
        published=date(2019, 4, 15),
        geolocation={'point': (30.75220862914432, 46.46768691411673)},
        price=Decimal('78000.000'),
        area=47.7,
        living_area=22.0,
        kitchen_area=15.0,
        rooms=1,
        floor=13,
        total_floor=14,
        details=[
            'Цегла', 'Індивідуальне опалення', 'Роздільне планування',
            'Авторський проект', 'Зовнішнє й внутрішнє утеплення',
            'Газ відсутній', 'Броньовані двері', 'Суміжний санвузол',
            '1 пасажирський ліфт', 'Вторинне житло'
        ])
    assert dom_ria_flat_parser.parse_offer({
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira-'
        'vinnitsa-staryiy-gorod-pokryishkina-ulitsa-15223903.html',
        'markup':
        read('fixtures/test_parse_offer/dom_ria_flat2.html'),
        'avatar':
        'https://cdn.riastatic.com/photosnew/dom/photo/perevireno-'
        'prodaja-kvartira-vinnitsa-staryiy-gorod-pokryishkina-ulit'
        'sa__94899036fl.jpg',
        'area':
        52,
        'living_area':
        32,
        'kitchen_area':
        14
    }) == Flat(
        url='https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira'
        '-vinnitsa-staryiy-gorod-pokryishkina-ulitsa-15223903.html',
        avatar='https://cdn.riastatic.com/photosnew/dom/photo/perevireno'
        '-prodaja-kvartira-vinnitsa-staryiy-gorod-pokryishkina-'
        'ulitsa__94899036fl.jpg',
        published=date(2019, 4, 10),
        geolocation={'address': 'Вінниця, Старе місто, Покришкіна вулиця'},
        price=Decimal('19900.000'),
        area=52,
        living_area=32,
        kitchen_area=14,
        rooms=2,
        floor=4,
        total_floor=12,
        ceiling_height=2.71,
        details=[
            'Цегла', 'Опалення відсутнє', 'Роздільне планування',
            'Потребує ремонту', 'Внутрішнє утеплення', 'Газ є',
            'Металопластикові вікна', 'Суміжний санвузол',
            '1 пасажирський ліфт', 'Вторинне житло'
        ])
    assert dom_ria_flat_parser.parse_offer({
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira-'
        'odessa-primorskiy-italyanskiy-bulvar-15591101.html',
        'markup':
        read('fixtures/test_parse_offer/dom_ria_flat3.html'),
        'avatar':
        'https://cdn.riastatic.com/photosnew/dom/photo/'
        'perevireno-prodaja-kvartira-odessa-primorskiy-italyanskiy'
        '-bulvar__97910469fl.jpg',
        'area':
        65,
        'living_area':
        None,
        'kitchen_area':
        None
    }) == Flat(
        url='https://dom.ria.com/uk/realty-perevireno-prodaja-'
        'kvartira-odessa-primorskiy-italyanskiy-bulvar-15591101.html',
        avatar=
        'https://cdn.riastatic.com/photosnew/dom/photo/perevireno-prodaja-'
        'kvartira-odessa-primorskiy-italyanskiy-bulvar__97910469fl.jpg',
        published=date(2019, 4, 25),
        geolocation={'point': (30.752294459832797, 46.467716472633796)},
        price=Decimal('96000.000'),
        area=65,
        rooms=2,
        floor=12,
        total_floor=15,
        details=[
            'Цегла', 'Індивідуальне опалення', 'Роздільне планування',
            'Потребує ремонту', 'Газ відсутній', 'Броньовані двері',
            'Металопластикові вікна', 'Роздільний санвузол',
            '1 пасажирський ліфт', 'Вторинне житло'
        ])
    assert dom_ria_flat_parser.parse_offer({
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira-'
        'kiev-dneprovskiy-prajskaya-ulitsa-15581555.html',
        'markup':
        read('fixtures/test_parse_offer/dom_ria_flat4.html'),
        'avatar':
        'https://cdn.riastatic.com/photosnew/dom/photo/perevireno'
        '-prodaja-kvartira-kiev-dneprovskiy-prajskaya-ulitsa'
        '__97897725fl.jpg',
        'area':
        44.9,
        'living_area':
        29.5,
        'kitchen_area':
        7.8
    }) == Flat(
        url='https://dom.ria.com/uk/realty-perevireno-prodaja-'
        'kvartira-kiev-dneprovskiy-prajskaya-ulitsa-15581555.html',
        avatar='https://cdn.riastatic.com/photosnew/dom/photo/perevireno-'
        'prodaja-kvartira-kiev-dneprovskiy-prajskaya-ulitsa'
        '__97897725fl.jpg',
        published=date(2019, 4, 22),
        geolocation={'point': (30.643568070947254, 50.43808004773596)},
        price=Decimal('45000.000'),
        area=44.9,
        living_area=29.5,
        kitchen_area=7.8,
        rooms=2,
        floor=1,
        total_floor=5,
        details=[
            'Панель', 'Централізоване опалення',
            'Суміжно-роздільне планування', 'Євроремонт', 'Зовнішнє утеплення',
            'Газ є', 'Металеві двері', 'Металопластикові вікна',
            'Суміжний санвузол', 'Вторинне житло'
        ])
    assert dom_ria_flat_parser.parse_offer({
        'url':
        'https://dom.ria.com/uk/realty-prodaja-kvartira-'
        'ochakov-ochakov-pervomayskaya-13179860.html',
        'markup':
        read('fixtures/test_parse_offer/dom_ria_flat6.html'),
        'avatar':
        'https://cdn.riastatic.com/photosnew/dom/photo/prodaja-'
        'kvartira-ochakov-ochakov-pervomayskaya__74444903fl.jpg',
        'area':
        35,
        'living_area':
        19,
        'kitchen_area':
        8
    }) == Flat(url='https://dom.ria.com/uk/realty-prodaja-kvartira-ochakov'
               '-ochakov-pervomayskaya-13179860.html',
               avatar='https://cdn.riastatic.com/photosnew/dom/photo/prodaja'
               '-kvartira-ochakov-ochakov-pervomayskaya__74444903fl.jpg',
               published=date(2019, 5, 23),
               geolocation={'point': (31.52812112850194, 46.62593951428682)},
               price=Decimal('11500.000'),
               area=35,
               living_area=19,
               kitchen_area=8,
               rooms=1,
               floor=8,
               total_floor=9,
               ceiling_height=2.7,
               details=[
                   'Цегла', 'Побудовано у 1990-2000',
                   'Централізоване опалення', 'Роздільне планування',
                   'Хороший стан', 'Газ є', 'Металопластикові вікна',
                   'Суміжний санвузол', 'Без пасажирських ліфтів',
                   'Вторинне житло'
               ])
    assert dom_ria_flat_parser.parse_offer({
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvarti'
        'ra-vinnitsa-blijnee-zamoste-vyacheslava-chernovola-'
        'ulitsa-14797413.html',
        'markup':
        read('fixtures/test_parse_offer/dom_ria_flat7.html'),
        'avatar':
        'https://cdn.riastatic.com/photosnewr/dom/photo/'
        'realty__98129585-300x200x80.webp',
        'area':
        73.5,
        'living_area':
        None,
        'kitchen_area':
        25
    }) == Flat(url='https://dom.ria.com/uk/realty-perevireno-prodaja-kvart'
               'ira-vinnitsa-blijnee-zamoste-vyacheslava-chernovola-uli'
               'tsa-14797413.html',
               avatar='https://cdn.riastatic.com/photosnewr/dom/photo'
               '/realty__98129585-300x200x80.webp',
               published=date(2019, 5, 6),
               geolocation={'point': (28.477062352423104, 49.24405425158156)},
               price=Decimal('47000.000'),
               area=73.5,
               kitchen_area=25,
               rooms=2,
               floor=6,
               total_floor=12,
               ceiling_height=2.8,
               details=[
                   'Цегла', 'Здача у 2019', 'Індивідуальне опалення',
                   'Роздільне планування', 'Чорнові роботи',
                   'Зовнішнє утеплення', 'Газ є', 'Металеві двері',
                   'Металопластикові вікна', 'Суміжний санвузол',
                   '1 пасажирський ліфт', 'Первинне житло'
               ])
Beispiel #10
0
def test_parse_stop_olx_flat(olx_flat_parser: OlxFlatParser):
    assert 500 == olx_flat_parser.parse_stop(
        read('fixtures/test_parse_stop/olx_flat0.html'))
Beispiel #11
0
def test_parse_page_dom_ria_flat(dom_ria_flat_parser: DomRiaFlatParser):
    assert dom_ria_flat_parser.parse_page(
        read('fixtures/test_parse_page/dom_ria_flat0.html')
    ) == [{
        'area':
        44.5,
        'avatar':
        'https://cdn.riastatic.com/photosnewr/dom/'
        'photo/realty__97544760-300x200x80.webp',
        'kitchen_area':
        21,
        'living_area':
        18,
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira'
        '-vinnitsa-sverdlovskiy-massiv-sverdlova-ulitsa-15556698.html'
    }, {
        'area':
        73.0,
        'avatar':
        'https://cdn3.riastatic.com/photosnewr/dom/photo'
        '/realty__98744213-300x200x80.webp',
        'kitchen_area':
        20,
        'living_area':
        42,
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira'
        '-vinnitsa-zamoste-50letiya-pobedyi-ulitsa-15688237.html'
    }, {
        'area':
        52.0,
        'avatar':
        'https://cdn1.riastatic.com/photosnewr/dom/'
        'photo/realty__97472381-300x200x80.webp',
        'kitchen_area':
        15,
        'living_area':
        30,
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira'
        '-vinnitsa-staryiy-gorod-pokryishkina-ulitsa-15540541.html'
    }, {
        'area':
        46.0,
        'avatar':
        'https://cdn2.riastatic.com/photosnewr/dom'
        '/photo/realty__98504337-300x200x80.webp',
        'kitchen_area':
        14,
        'living_area':
        22,
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira-'
        'vinnitsa-sverdlovskiy-massiv-sverdlova-ulitsa-15627514.html'
    }, {
        'area':
        43.0,
        'avatar':
        'https://cdn4.riastatic.com/photosnewr/dom/'
        'photo/realty__99057354-300x200x80.webp',
        'kitchen_area':
        14,
        'living_area':
        18,
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira'
        '-vinnitsa-staryiy-gorod-pokryishkina-ulitsa-15731411.html'
    }, {
        'area':
        43.7,
        'avatar':
        'https://cdn2.riastatic.com/photosnewr/dom/'
        'photo/realty__97216697-300x200x80.webp',
        'kitchen_area':
        11,
        'living_area':
        18,
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira-kiev-'
        'goloseevskiy-yasinovatskiy-pereulok-15514751.html'
    }, {
        'area':
        125.0,
        'avatar':
        'https://cdn4.riastatic.com/photosnewr/dom/'
        'photo/realty__98415934-300x200x80.webp',
        'kitchen_area':
        13,
        'living_area':
        80,
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira-'
        'vinnitsa-sverdlovskiy-massiv-litvinenko-ulitsa-15636114.html'
    }, {
        'area':
        75.0,
        'avatar':
        'https://cdn2.riastatic.com/photosnewr/dom/'
        'photo/realty__98735197-300x200x80.webp',
        'kitchen_area':
        None,
        'living_area':
        None,
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira-'
        'vinnitsa-agronomichnoe-michurina-ulitsa-15702463.html'
    }, {
        'area':
        65.0,
        'avatar':
        'https://cdn3.riastatic.com/photosnewr/dom'
        '/photo/realty__98734323-300x200x80.webp',
        'kitchen_area':
        None,
        'living_area':
        None,
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira-'
        'vinnitsa-agronomichnoe-michurina-ulitsa-15702369.html'
    }, {
        'area':
        87.0,
        'avatar':
        'https://cdn4.riastatic.com/photosnewr/'
        'dom/photo/realty__98733749-300x200x80.webp',
        'kitchen_area':
        None,
        'living_area':
        None,
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira-'
        'vinnitsa-agronomichnoe-michurina-ulitsa-15702313.html'
    }, {
        'area':
        65.0,
        'avatar':
        'https://cdn4.riastatic.com/photosnewr/dom/'
        'photo/realty__97435174-300x200x80.webp',
        'kitchen_area':
        13,
        'living_area':
        38,
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira-vinnitsa'
        '-barskoe-shosse-odesskaya-ulitsa-15521626.html'
    }, {
        'area':
        44.0,
        'avatar':
        'https://cdn.riastatic.com/photosnewr/dom/'
        'photo/realty__98027540-300x200x80.webp',
        'kitchen_area':
        13.5,
        'living_area':
        23,
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira'
        '-vinnitsa-staryiy-gorod-jk-evropeyskiy-kvartal-15579915.html'
    }, {
        'area':
        45.0,
        'avatar':
        'https://cdn3.riastatic.com/photosnewr/'
        'dom/photo/realty__97758973-300x200x80.webp',
        'kitchen_area':
        16,
        'living_area':
        20,
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira-'
        'vinnitsa-zamoste-olega-antonova-ulitsa-15579936.html'
    }, {
        'area':
        61.6,
        'avatar':
        'https://cdn1.riastatic.com/photosnewr/'
        'dom/photo/realty__97747186-300x200x80.webp',
        'kitchen_area':
        15,
        'living_area':
        37,
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira-'
        'vinnitsa-sverdlovskiy-massiv-sverdlova-ulitsa-15585429.html'
    }, {
        'area':
        78.0,
        'avatar':
        'https://cdn1.riastatic.com/photosnewr/'
        'dom/photo/realty__97943841-300x200x80.webp',
        'kitchen_area':
        15,
        'living_area':
        46,
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira'
        '-vinnitsa-sverdlovskiy-massiv-knyazey-koriatovichey-ulitsa-15609009.html'
    }, {
        'area':
        56.26,
        'avatar':
        'https://cdn3.riastatic.com/photosnewr/dom'
        '/photo/realty__98794643-300x200x80.webp',
        'kitchen_area':
        14.44,
        'living_area':
        20.12,
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira'
        '-vinnitsa-zamoste-50letiya-pobedyi-ulitsa-15672070.html'
    }, {
        'area':
        50.5,
        'avatar':
        'https://cdn.riastatic.com/photosnewr/dom'
        '/photo/realty__97337415-300x200x80.webp',
        'kitchen_area':
        18,
        'living_area':
        23,
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-'
        'kvartira-vinnitsa-sverdlovskiy-massiv-knyazey-koria'
        'tovichey-ulitsa-15506576.html'
    }, {
        'area':
        73.0,
        'avatar':
        'https://cdn1.riastatic.com/photosnewr/dom/photo'
        '/realty__83999686-300x200x80.webp',
        'kitchen_area':
        46,
        'living_area':
        27,
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira'
        '-vinnitsa-podole-svobodyi-bulvar-14149728.html'
    }, {
        'area':
        49.0,
        'avatar':
        'https://cdn1.riastatic.com/photosnewr/dom'
        '/photo/realty__98237561-300x200x80.webp',
        'kitchen_area':
        17.2,
        'living_area':
        15,
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira'
        '-vinnitsa-zamoste-chehova-ulitsa-15646353.html'
    }, {
        'area':
        65.0,
        'avatar':
        'https://cdn.riastatic.com/photosnewr/dom/'
        'photo/realty__97707270-300x200x80.webp',
        'kitchen_area':
        9,
        'living_area':
        40,
        'url':
        'https://dom.ria.com/uk/realty-perevireno-prodaja-kvartira-'
        'vinnitsa-vishenka-keletskaya-ulitsa-15582553.html'
    }]
Beispiel #12
0
def test_parse_stop_dom_ria_flat(dom_ria_flat_parser: DomRiaFlatParser):
    assert 5664 == dom_ria_flat_parser.parse_stop(
        read('fixtures/test_parse_stop/dom_ria_flat0.html'))
Beispiel #13
0
def test_parse_offer_olx_flat(olx_flat_parser: OlxFlatParser):
    assert olx_flat_parser.parse_offer({
        'url':
        'https://www.olx.ua/obyavlenie/prodam-2k-'
        'kvartiru-v-tsentre-1000-melochey-IDDqNsA.html',
        'markup':
        read('fixtures/test_parse_offer/olx_flat0.html')
    }) == Flat(url='https://www.olx.ua/obyavlenie/prodam-2k'
               '-kvartiru-v-tsentre-1000-melochey-IDDqNsA.html',
               avatar='https://apollo-ireland.akamaized.net:443/v1'
               '/files/atbs10v8fzy43-UA/image;s=644x461',
               published=date(2019, 2, 25),
               geolocation={'point': (37.56492189, 47.13203091)},
               price=Decimal('18200.000'),
               area=46.0,
               kitchen_area=6.0,
               rooms=2,
               floor=5,
               total_floor=5,
               details=[])
    assert olx_flat_parser.parse_offer({
        'url':
        'https://www.olx.ua/obyavlenie/2-komnatnaya-kvartira-74-met'
        'ra-v-novopecherskoy-vezhe-po-ul-kikvidze-41-IDCqiKk.html',
        'markup':
        read('fixtures/test_parse_offer/olx_flat1.html')
    }) == Flat(
        url='https://www.olx.ua/obyavlenie/2-komnatnaya-kvartira-74-metra-v-'
        'novopecherskoy-vezhe-po-ul-kikvidze-41-IDCqiKk.html',
        avatar='https://apollo-ireland.akamaized.net:443/'
        'v1/files/nyj7wonmwpf9-UA/image;s=644x461',
        published=date(2019, 2, 27),
        geolocation={'point': (30.55172926, 50.4070917)},
        price=Decimal('1850000.000'),
        currency='грн.',
        area=74.0,
        kitchen_area=28.0,
        rooms=2,
        floor=8,
        total_floor=26,
        details=[
            'На етапі будівництва', 'Моноліт', 'Роздільне планування',
            'Роздільний санвузол', 'Власна котельня', 'Щойно споруджено',
            'Меблі відсутні'
        ])
    assert olx_flat_parser.parse_offer({
        'url':
        'https://www.olx.ua/obyavlenie/bolshaya-kvartira'
        '-v-samom-tsentre-irpenya-IDDJbxi.html',
        'markup':
        read('fixtures/test_parse_offer/olx_flat2.html')
    }) == Flat(url='https://www.olx.ua/obyavlenie/bolshaya-kvartira'
               '-v-samom-tsentre-irpenya-IDDJbxi.html',
               avatar='https://apollo-ireland.akamaized.net:443/v1/'
               'files/37oo82mm73sv3-UA/image;s=644x461',
               published=date(2019, 3, 23),
               geolocation={'point': (30.2593, 50.51752)},
               price=Decimal('30500.000'),
               area=75.0,
               kitchen_area=16.0,
               rooms=1,
               floor=9,
               total_floor=10,
               details=[
                   'Царський будинок', 'Цегла', 'Суміжне, прохідне планування',
                   'Суміжний санвузол', 'Власна котельня'
               ])
    assert olx_flat_parser.parse_offer({
        'url':
        'https://www.olx.ua/obyavlenie/prodam-2-komnatnuyu-kvartir'
        'u-v-32-zhemchuzhine-arkadiya-dom-sdan-IDBbRIG.html',
        'markup':
        read('fixtures/test_parse_offer/olx_flat3.html')
    }) == Flat(url='https://www.olx.ua/obyavlenie/prodam-2-komnatnuyu-kvartiru'
               '-v-32-zhemchuzhine-arkadiya-dom-sdan-IDBbRIG.html',
               avatar='https://apollo-ireland.akamaized.net:443/v1/'
               'files/p5fbluxbefad3-UA/image;s=644x461',
               published=date(2019, 3, 12),
               geolocation={'point': (30.76142585, 46.42438896)},
               price=Decimal('50000.000'),
               area=52.0,
               kitchen_area=9.0,
               rooms=2,
               floor=4,
               total_floor=24,
               details=[
                   'На етапі будівництва', 'Вільне планування',
                   'Роздільний санвузол', 'Власна котельня', 'Щойно споруджено'
               ])
    assert olx_flat_parser.parse_offer({
        'url':
        'https://www.olx.ua/obyavlenie/prodam-3-k-'
        'kvartiru-ul-uzhviy-10-podolskiy-r-n-IDDIwaX.html',
        'markup':
        read('fixtures/test_parse_offer/olx_flat4.html')
    }) == Flat(url='https://www.olx.ua/obyavlenie/prodam-3-k-kvartiru-ul-'
               'uzhviy-10-podolskiy-r-n-IDDIwaX.html',
               avatar='https://apollo-ireland.akamaized.net:443/v1/files/'
               'b45v2qziwxkp3-UA/image;s=644x461',
               published=date(2019, 3, 22),
               geolocation={'point': (30.43441159, 50.50743121)},
               price=Decimal('60000.000'),
               area=74.0,
               kitchen_area=9.0,
               rooms=3,
               floor=5,
               total_floor=9,
               details=[
                   'Роздільне планування', 'Роздільний санвузол', 'Євроремонт',
                   'Є меблі'
               ])
    assert olx_flat_parser.parse_offer({
        'url':
        'https://www.olx.ua/obyavlenie/prodazha-obmen-nedvizhimosti'
        '-v-kieve-na-nedvizhimost-v-sankt-peterburge-IDypRFA.html',
        'markup':
        read('fixtures/test_parse_offer/olx_flat5.html')
    }) == Flat(url='https://www.olx.ua/obyavlenie/prodazha-obmen-nedvizhimosti'
               '-v-kieve-na-nedvizhimost-v-sankt-peterburge-IDypRFA.html',
               avatar='https://apollo-ireland.akamaized.net:443/v1/'
               'files/34mlkr9opvr2-UA/image;s=644x461',
               published=date(2019, 5, 20),
               geolocation={'point': (30.50188948, 50.39525513)},
               price=Decimal('71051.200'),
               area=62.1,
               kitchen_area=7.2,
               rooms=3,
               floor=2,
               total_floor=5,
               details=[])