def test_ensureSortedAscending():
    a0 = Apartment(1204.56, 200, 3)
    a1 = Apartment(1204.56, 400, 7)
    a2 = Apartment(1000, 100, 9)
    apartmentList = [a0, a1, a2]
    mergesort(apartmentList)
    assert ensureSortedAscending(apartmentList) == True
def test_getNthApartment():
    a0 = Apartment(1204.56, 200, 3)
    a1 = Apartment(1204.56, 400, 7)
    a2 = Apartment(1000, 100, 9)
    apartmentList = [a0, a1, a2]
    mergesort(apartmentList)
    assert getNthApartment(apartmentList, 2) == a1
def test_mergesort():
    a0 = Apartment(1204.56, 200, 3)
    a1 = Apartment(1204.56, 400, 7)
    a2 = Apartment(1000, 100, 9)
    apartmentList = [a0, a1, a2]
    mergesort(apartmentList)
    assert apartmentList == [a2, a0, a1]
def test_getTopThreeApartments():
    a0 = Apartment(1204.56, 200, 3)
    a1 = Apartment(1204.56, 400, 7)
    a2 = Apartment(1000, 100, 9)
    a3 = Apartment(1000, 214, 10)
    a4 = Apartment(300, 112, 3)
    apartmentList = [a0, a1, a2, a3, a4]
    mergesort(apartmentList)
    assert apartmentList == [a4, a2, a3, a0, a1]
    assert getTopThreeApartments(
        apartmentList
    ) == "1st:(Apartment) Rent: $300.00, Distance From UCSB: 112m, Condition: 3/10, 2nd:(Apartment) Rent: $1000.00, Distance From UCSB: 100m, Condition: 9/10, 3rd:(Apartment) Rent: $1000.00, Distance From UCSB: 214m, Condition: 10/10,"
예제 #5
0
 def parse_listing(response):
     title = css_selector_value(response, '#expose-title::text')
     cold_rent = css_selector_value(response, '.is24qa-kaltmiete::text')
     total_rent = css_selector_value(response, '.is24qa-gesamtmiete::text')
     utility_cost = css_selector_value(response,
                                       '.is24qa-nebenkosten::text', 1)
     heating_cost = css_selector_value(response, '.is24qa-heizkosten::text',
                                       1)
     heating_included = "zzgl. Heizkosten" not in total_rent
     deposit = css_selector_value(
         response, '.is24qa-kaution-o-genossenschaftsanteile::text')
     area = css_selector_value(response, '.is24qa-flaeche::text')
     rooms = css_selector_value(response, '.is24qa-zi::text')
     street = css_selector_value(response, '.address-block span::text')
     zip_code = css_selector_value(
         response, '.address-block span.zip-region-and-country::text')
     address = street + ' ' + zip_code if street != zip_code else zip_code
     description = css_selector_value(response,
                                      '.is24qa-objektbeschreibung::text')
     images = response.css('img.sp-image::attr(data-src)').getall()
     yield Apartment(title=title,
                     cold_rent=get_number(cold_rent),
                     total_rent=get_number(total_rent),
                     utility_cost=get_number(utility_cost),
                     heating_cost=get_number(heating_cost),
                     heating_included=heating_included,
                     deposit=get_number(deposit),
                     area=get_number(area),
                     rooms=get_number(rooms),
                     address=address,
                     description=description,
                     link=response.url,
                     images=images)
예제 #6
0
def main():
    list = []
    while (True):
        print("1 - add new")
        print("2 - delete")
        print("3 - search")
        print("4 - show all")
        x = input()
        if int(x) == 1:
            print("City name:")
            city_name = input()
            print("population:")
            population = input()
            print("Street name")
            street_name = input()
            print("Building number:")
            building_number = input()
            print("Apartment number:")
            apartment_number = input()
            if street_name == "" and building_number == "" and apartment_number == "":
                item = City(city_name, population)
            elif building_number == "" and apartment_number == "":
                item = Street(city_name, population, street_name)
            elif apartment_number == "":
                item = Building(city_name, population, street_name,
                                building_number)
            else:
                item = Apartment(city_name, population, street_name,
                                 building_number, apartment_number)

            list.append(item)
        elif int(x) == 2:
            print("1 - City name")
            print("2 - Population")
            print("3 - Street name")
            print("4 - Building number")
            print("5 - Apartment")
            field = input()
            print("What?")
            what = input()
            print("DELETED")
            for m in delete(list, field, what):
                print(m)
        elif int(x) == 3:
            print("1 - City name")
            print("2 - Population")
            print("3 - Street name")
            print("4 - Building number")
            print("5 - Apartment")
            field = input()
            print("What?")
            what = input()

            for m in search(list, field, what):
                print(m)
        else:
            for m in list:
                print(m)
예제 #7
0
    def fetch(self):
        logging.debug('FETCH FROM APARTMENTS')
        cursor = self.conn.cursor()
        cursor.execute('SELECT * FROM apartments ORDER BY datetime(issueDate) DESC')
        rows = cursor.fetchall()
        apartments = []
        for row in rows:
            apartments.append(Apartment(row[0], row[1], row[2], row[3]))

        return apartments
예제 #8
0
 def parseApartments(self):
     apartments = []
     for i in range(0, int(self.data["len"])):
         apt = "Apt_%d" % i
         aptname = self.data[apt]["Apt_name"]
         roommates = self.parseRoommates(apt)
         weekleychores = self.data[apt]["chores"][0]["weekly_chores"]
         recchores = self.data[apt]["chores"][0]["recurring_chores"]
         choretime = self.data[apt]["assign-chore-time"]
         remnindertime = self.data[apt]["chore-reminder-time"]
         apartments.append(
             Apartment(aptname, roommates, weekleychores, recchores,
                       choretime, remnindertime))
     return apartments
예제 #9
0
def get_apartments_from_page(page):
    apartments = []
    response = opener.open(
        'http://brest.irr.by/realestate/longtime/search/rooms=2%2C3/price=%D0%BE%D1%82+100+%D0%B4%D0%BE+400/currency=BYN/list=list/page{}/'.format(
            page))
    html = response.read().decode('utf-8')
    page = pq(html)

    list_of_apartments = page.find('.add_list')

    for i in range(list_of_apartments.length):
        apartments.append(Apartment(list_of_apartments.eq(i).find(".add_title").attr('href'),
                                    list_of_apartments.eq(i).find('.add_cost').text(),
                                    list_of_apartments.eq(i).find(".add_title").text(),
                                    convert_to_iso_date(list_of_apartments.eq(i).find(".add_data").text())))
    return apartments
예제 #10
0
    def getApartment(self):
        apartment = Apartment()
        doors = self.__builder.getDoors()
        heating = self.__builder.getHeating()
        heatingPower = heating.heatingPower
        heatingType = heating.heatingType

        # Build the palace
        apartment.setDoors(doors)
        apartment.setHeating(heatingType, heatingPower)

        return apartment
예제 #11
0
파일: buggy.py 프로젝트: kyliehuch/w21
def test_lessThanOperator():
    a0 = Apartment(1806, 255, "excellent")
    a1 = Apartment(1502, 280, "average")
    a2 = Apartment(1502, 350, "bad")
    a3 = Apartment(700, 200, "excellent")
    a4 = Apartment(700, 200, "bad")
    a5 = Apartment()
    assert a1 < a0 == True 
    assert a1 < a2 == True
    assert a3 < a4 == True
    assert a2 < a4 == False
    assert a5 < a4 == True
예제 #12
0
def parse_apartments(raw_listings):
    apartments = []
    for line in raw_listings:
        items = line.splitlines()
        items.pop(0)
        items.pop(0)
        if items[0] == u'LägenhetLägenhet':
            items.pop(0)

        address = items[0]
        city = items[1]
        price = int(items[2].replace(u'\xa0', '').replace('kr', ''))
        size = items[3]
        rooms = items[4]
        rent = int(items[5].replace(u'kr/mån', '').replace(u'\xa0', ''))
        info = items[7]
        apartment = Apartment(address, price, size, rent, city, rooms, info)
        apartments.append(apartment)
    return apartments
예제 #13
0
def create_apartment(apartment_type, size, no_rooms, bau_year, address,
                     apartment_owner):
    return Apartment(apartment_type, size, no_rooms, None, None, bau_year,
                     address, apartment_owner, None)
def test___init__1():
    a0 = Apartment(1204.56, 200, 3)
    assert a0.rent == 1204.56
    assert a0.metersFromUCSB == 200
    assert a0.condition == 3
예제 #15
0
            '//div[@id="ctl06_guiGridBoxStrech1_Panel1"]/ul/li[%d]/div/div/p/a'
            % ad_index)
        price = price_to_int(ad_price_tag[0].text)
        if price <= price_limit:
            relevant_ads_urls.append(
                Eshkol_site['url'] + '/' +
                toHebrew(ad_url_endpoint[0].attrib['href']))
    page_index = page_index + 1

Apartments = []
# looping over all the relevant ads
for ad_url in relevant_ads_urls:
    print "Checking ad in url: %s" % ad_url
    response = requests.get(ad_url, headers=hdr)
    tree = html.fromstring(response.content)
    apartment = Apartment(ad_url)
    #apartment.address = toHebrew(tree.xpath('//span[@id="ctl06_guiTofscarucel1_lblStreetData"]')[0].text)
    str = extractSpanText(tree, "ctl06_guiTofscarucel1_lblStreetData")
    apartment.address = toHebrew(str)
    apartment.neighborhood = toHebrew(
        tree.xpath('//span[@id="ctl06_guiTofscarucel1_lblShcunaData"]')
        [0].text)
    apartment.price = price_to_int(
        tree.xpath('//span[@id="ctl06_guiTofscarucel1_lblPriceData"]')[0].text)
    apartment.size = tree.xpath(
        '//span[@id="ctl06_guiTofscarucel1_lblSqmrData"]')[0].text
    apartment.floor = tree.xpath(
        '//span[@id="ctl06_guiTofscarucel1_lblFloorData"]')[0].text
    apartment.total_floors = tree.xpath(
        '//span[@id="ctl06_guiTofscarucel1_lblFlooradData"]')[0].text
    apartment.rooms = tree.xpath(
예제 #16
0
파일: main2.py 프로젝트: smothly/ToBigs
# Apartment #
#############

# 다른 파일에서 class import
from Apartment import Apartment
from Vile import Vile

# 파일읽기
f = open("./Apartment.txt", 'r')
N = int(f.readline())

# Apartment정보 객체로 만들어 입력받기
apartments = []
for i in range(N):
    row = f.readline().split(' ')
    a = Apartment(row[0], int(row[1]), int(row[2].strip()))  # 객체 생성
    apartments.append(a)
f.close()

# Q 가장 평수가 큰 아파트를 찾아 "xxx동 xxxx호의 x개의 방이 있는 xx평의 집입니다" 라고 출력
print('Q. 가장 큰 평수 아파트의 정보를 출력하세요.')
print("A.", max(apartments))

# magic method가 작동하는 것을 직관적으로 파악해보기 위해 for문을 이용하여 최댓값을 찾아보세요!
max_index1 = 0
max_index2 = 0

for j in range(N - 1):
    if apartments[max_index1].size < apartments[j + 1].size:
        max_index1 = j + 1
def test___eq__():
    a0 = Apartment(1204.56, 200, 3)
    a1 = Apartment(1204.56, 200, 3)
    assert (a1.getApartmentDetails() == a0.getApartmentDetails()) == True
# testfile.py
from Apartment import Apartment
from lab06 import mergesort
from lab06 import ensureSortedAscending
from lab06 import getNthApartment
from lab06 import getTopThreeApartments

a0 = Apartment(1204.56, 200, 3)
a1 = Apartment(1204.56, 200, 7)
a2 = Apartment(1000, 100, 9)
a3 = Apartment(1000, 214, 10)
a4 = Apartment(300, 112, 3)
a5 = Apartment(300.52, 250, 2)

#test Apartment.py


def test___init__1():
    a0 = Apartment(1204.56, 200, 3)
    assert a0.rent == 1204.56
    assert a0.metersFromUCSB == 200
    assert a0.condition == 3


def test_getRent():
    assert a0.getRent() == 1204.56


def test_getMetersFromUCSB():
    assert a1.getMetersFromUCSB() == 200