def _make_apartment(user, addr, rent, roomates, rooms, s_date): apartmant = Apartment(owner=user, city=city_model, address=addr, rent=rent, num_of_roomates=roomates, num_of_rooms=rooms, start_date=s_date) apartmant.save() return apartmant
def apartment_model(db, city_model): new_owner = get_user_model().objects.create_user( '*****@*****.**', 'owner', 'own', '1900-01-01', 'password') new_owner.save() new_apartment = Apartment( owner=new_owner, city=city_model, address='street', rent=4500, num_of_roomates=2, num_of_rooms=3, start_date='2021-1-1', about='Hey!', image_url='www.some-url.com', ) new_apartment.save() return new_apartment
def apart_success_search(db, city_model_Tel_Aviv): new_owner = get_user_model().objects.create_user( '*****@*****.**', 'owner', 'own', '1900-01-01', 'password') new_owner.save() new_apartment = Apartment( owner=new_owner, city=city_model_Tel_Aviv, address='street', rent=2500, num_of_roomates=2, num_of_rooms=3, start_date='2021-03-02', about='Hey!', image_url='www.some-url.com', ) new_apartment.save() return new_apartment
def parse_apt(url_str): f = urllib2.urlopen(url_str) post_title = '' while post_title == '': line = f.readline() if line == '': print 'title not found' return title_search = '<h2 class="postingtitle">'; post_title_split = None if line.find(title_search) != -1: post_title_split = unicode(line[len(title_search):].split('(berkeley')) elif line.find('<h2>') != -1: post_title_split = unicode(line[4:].split('(berkeley')) if post_title_split != None: i = 0 while i < len(post_title_split) - 1: post_title += unicode(post_title_split[i]) i += 1 break post_title = post_title.strip() if len(post_title) < 2: return f.readline() post_time = f.readline().split('<br>')[0] xstreet0 = '' xstreet1 = '' city = '' region = '' for line in f: if line.find('<!-- CLTAG') != -1: if line.find('xstreet0=') != -1: xstreet0 = line.split('xstreet0=')[1].split('-->')[0].strip() elif line.find('xstreet1=') != -1: xstreet1 = line.split('xstreet1=')[1].split('-->')[0].strip() elif line.find('city=') != -1: city = line.split('city=')[1].split('-->')[0].strip() elif line.find('region=') != -1: region = line.split('region=')[1].split('-->')[0].strip() print xstreet0, xstreet1, city, region post_id = url_str.split('/apa/')[1].replace('.html','').strip() print post_title, post_time, post_id try: price = int(post_title.split(" ")[0].split("$")[-1]) except: price = -1 print "price not found" try: num_beds = int(post_title.split("br")[0].split("bedroom")[0].split("Bedroom")[0].strip().split(" ")[-1]) except: num_beds = -1 print "number of beds not found" try: square_ft = int(post_title.split("ft²")[0].strip().split(" ")[-1]) except: square_ft = -1 print "square feet not found" address_test = Address.objects.filter(xstreet0=xstreet0).filter(xstreet1=xstreet1).filter(city=city).filter(region=region) if len(address_test) == 0: address_obj = Address(xstreet0=xstreet0, xstreet1=xstreet1, city=city, region=region) address_obj.save() else: address_obj = address_test[0] print "duplicate address" # TODO: make full_address and num_baths mean something full_address = False num_baths = -1 apartment_test = Apartment.objects.filter(num_beds=num_beds).filter(num_baths=num_baths).filter(square_ft=square_ft).filter(address_obj=address_obj).filter(full_address=full_address) if len(apartment_test) == 0: apartment_obj = Apartment(num_beds=num_beds, num_baths=num_baths, square_ft=square_ft, address_obj=address_obj, full_address=full_address) apartment_obj.save() else: apartment_obj = apartment_test[0] print "duplicate apartment" posting_test = Posting.objects.filter(post_id=post_id) if len(posting_test) == 0: newpost_obj = Posting(post_title=post_title, post_time=post_time, price=price, post_id=post_id, apartment_obj=apartment_obj, access_time=datetime.now()) newpost_obj.save() else: newpost_obj = posting_test[0] newpost_obj.access_time = datetime.now() newpost_obj.save() print "previously seen post"