예제 #1
0
    def create_offer(self, estate):
        self._wrapper.set_estate(estate)
        sa = SalesAgent(estate)
        offer = etree.Element("offer")
        etree.SubElement(offer, "id").text = str(estate.id)
        etree.SubElement(offer,
                         "commerce_type").text = self._wrapper.commerce_type()
        etree.SubElement(offer,
                         "contract_type").text = self._wrapper.contract_type()
        area = {
            'total': self._wrapper.area(),
            'rooms_count': self._wrapper.rooms(),
            'rooms': self._wrapper.split_rooms()
        }
        etree.SubElement(offer, "area", area)

        etree.SubElement(offer, "note").text = etree.CDATA(
            self._wrapper.description())
        etree.SubElement(offer, "phone").text = ';'.join(
            [re.sub(r'\D', '', phone) for phone in sa.phones()])
        address = {
            'admin_area': '72',
            'locality': self._wrapper.locality(),
            'street': self._wrapper.street()
        }
        etree.SubElement(offer, "address", address)
        images = self._wrapper.images()
        if images:
            for image in images:
                etree.SubElement(offer, "photo").text = image
        return offer
예제 #2
0
 def create_offer(self, estate):                
     self._wrapper.set_estate(estate)
     is_stead = estate.estate_category.is_stead
     has_stead = estate.estate_category.can_has_stead and estate.basic_stead        
     sa = SalesAgent(estate)
     #offer
     item_name = self._wrapper.get_item_name()
     
     offer = etree.Element(item_name)
     etree.SubElement(offer, "id").text = str(estate.id)              
     etree.SubElement(offer, "oborot").text = self._wrapper.offer_type()    
     #location  
     etree.SubElement(offer, "country").text = self._wrapper.country()
     etree.SubElement(offer, "region").text = self._wrapper.region()
     etree.SubElement(offer, "rayon").text = self._wrapper.district()
     etree.SubElement(offer, "naspunkt").text = self._wrapper.locality()        
     if self._wrapper.address():
         etree.SubElement(offer, "address").text = self._wrapper.address()
     #sales-agent
     sales_agent = offer        
     etree.SubElement(sales_agent, "contact_phone").text = sa.phones()[0]  
     etree.SubElement(sales_agent, "contact_who").text = sa.category()
     etree.SubElement(sales_agent, "contact_firma").text = sa.organization()
     etree.SubElement(sales_agent, "contact_email").text = sa.email()    
     #price
     etree.SubElement(offer, "money").text = self._wrapper.price.value()   
     images = self._wrapper.images()        
     if images:
         for i,image in enumerate(images, start=1):
             etree.SubElement(offer, "image%s" % i).text = image                    
     etree.SubElement(offer, "comment").text = self._wrapper.description()
     if self._wrapper.is_flat():
         if self._wrapper.rooms():
             etree.SubElement(offer, "rooms").text = self._wrapper.rooms()      
         self.add_bool_element(etree, offer, 'phone', self._wrapper.phone())       
         if self._wrapper.floor():
             etree.SubElement(offer, "floor").text = self._wrapper.floor()        
         if self._wrapper.floors_total():
             etree.SubElement(offer, "floors").text = self._wrapper.floors_total()        
         if self._wrapper.house_type():
             etree.SubElement(offer, "house").text = self._wrapper.house_type()       
         self.add_bool_element(etree, offer, 'lift', self._wrapper.lift())            
         if self._wrapper.area():
             etree.SubElement(offer, "area_sum").text = self.to_int(self._wrapper.area())
         if self._wrapper.living_space():
             etree.SubElement(offer, "area_life").text = self.to_int(self._wrapper.living_space())          
         if self._wrapper.kuhnya_area():
             etree.SubElement(offer, "area_kitchen").text = self.to_int(self._wrapper.kuhnya_area())
     else:
         etree.SubElement(offer, "object").text = self._wrapper.get_object_type()            
         if has_stead and item_name == u'outoftown': 
             etree.SubElement(offer, "area_land").text = self.to_int(self._wrapper.lot_area())
         else:
             etree.SubElement(offer, "area").text = self.to_int(self._wrapper.lot_area()) if is_stead else self.to_int(self._wrapper.area())                       
     return offer 
예제 #3
0
 def create_offer(self, estate):
     self._wrapper.set_estate(estate)
     sa = SalesAgent(estate)
     offer = etree.Element("offer")
     etree.SubElement(offer, "id").text = str(estate.id)
     etree.SubElement(offer, "rooms_num").text = self._wrapper.rooms()
     area = {
         'total': self._wrapper.area(),
         'kitchen': self._wrapper.kuhnya_area(),
         'living': self._wrapper.living_space()
     }
     etree.SubElement(offer, "area", area)
     etree.SubElement(offer,
                      "price",
                      currency=self._wrapper.price.currency()
                      ).text = self._wrapper.price.value()
     options = {
         'object_type': self._wrapper.new_flat(),
         'sale_type': self._wrapper.sale_type(),
         'phone': self._wrapper.phone(),
         'lift_p': self._wrapper.lift_p(),
         'lift_g': self._wrapper.lift_g(),
         'balcon': self._wrapper.balcon(),
         'lodgia': self._wrapper.lodgia(),
         'su_s': self._wrapper.su_s(),
         'su_r': self._wrapper.su_r(),
         'windows': self._wrapper.windows(),
         'ipoteka': self._wrapper.ipoteka(),
     }
     etree.SubElement(offer, "options", options)
     floor = {
         'total': self._wrapper.floors_total(),
         'type': self._wrapper.floor_type()
     }
     etree.SubElement(offer, "floor",
                      floor).text = self._wrapper.floors_total()
     etree.SubElement(offer, "note").text = etree.CDATA(
         self._wrapper.description())
     etree.SubElement(offer, "phone").text = ';'.join(
         [re.sub(r'\D', '', phone) for phone in sa.phones()])
     address = {
         'admin_area': '72',
         'locality': self._wrapper.locality(),
         'street': self._wrapper.street()
     }
     etree.SubElement(offer, "address", address)
     images = self._wrapper.images()
     if images:
         for image in images:
             etree.SubElement(offer, "photo").text = image
     return offer
예제 #4
0
 def create_offer(self, estate):                
     self._wrapper.set_estate(estate)
     sa = SalesAgent(estate)
     offer = etree.Element("offer")        
     etree.SubElement(offer, "id").text = str(estate.id)        
     etree.SubElement(offer, "rooms_num").text = self._wrapper.rooms()         
     area = {'total': self._wrapper.area(), 'kitchen': self._wrapper.kuhnya_area(), 'living': self._wrapper.living_space()}
     etree.SubElement(offer, "area", area)
     etree.SubElement(offer, "price", currency=self._wrapper.price.currency()).text = self._wrapper.price.value()        
     options = {
                'object_type':  self._wrapper.new_flat(), 'sale_type':  self._wrapper.sale_type(),
                'phone':  self._wrapper.phone(), 'lift_p':  self._wrapper.lift_p(), 'lift_g':  self._wrapper.lift_g(),
                'balcon':  self._wrapper.balcon(), 'lodgia':  self._wrapper.lodgia(), 'su_s':  self._wrapper.su_s(), 
                'su_r':  self._wrapper.su_r(), 'windows':  self._wrapper.windows(), 'ipoteka':  self._wrapper.ipoteka(),
                }
     etree.SubElement(offer, "options", options)
     floor = {'total': self._wrapper.floors_total(), 'type': self._wrapper.floor_type()}      
     etree.SubElement(offer, "floor", floor).text = self._wrapper.floors_total()
     etree.SubElement(offer, "note").text = etree.CDATA(self._wrapper.description())
     etree.SubElement(offer, "phone").text = ';'.join([re.sub(r'\D','',phone) for phone in sa.phones()])
     address = {'admin_area': '72', 'locality': self._wrapper.locality(), 'street': self._wrapper.street()}
     etree.SubElement(offer, "address", address)
     images = self._wrapper.images()
     if images:
         for image in images:
             etree.SubElement(offer, "photo").text = image
     return offer
예제 #5
0
 def create_offer(self, estate):                
     self._wrapper.set_estate(estate)
     sa = SalesAgent(estate)
     offer = etree.Element("offer")        
     etree.SubElement(offer, "id").text = str(estate.id)
     etree.SubElement(offer, "commerce_type").text = self._wrapper.commerce_type()
     etree.SubElement(offer, "contract_type").text = self._wrapper.contract_type()
     area = {'total': self._wrapper.area(), 'rooms_count': self._wrapper.rooms(), 'rooms': self._wrapper.split_rooms()}
     etree.SubElement(offer, "area", area)
     
     etree.SubElement(offer, "note").text = etree.CDATA(self._wrapper.description())
     etree.SubElement(offer, "phone").text = ';'.join([re.sub(r'\D','',phone) for phone in sa.phones()])
     address = {'admin_area': '72', 'locality': self._wrapper.locality(), 'street': self._wrapper.street()}
     etree.SubElement(offer, "address", address)
     images = self._wrapper.images()
     if images:
         for image in images:
             etree.SubElement(offer, "photo").text = image
     return offer
예제 #6
0
    def create_offer(self, estate):
        self._wrapper.set_estate(estate)
        is_stead = estate.estate_category.is_stead
        has_stead = estate.estate_category.can_has_stead and estate.basic_stead
        sa = SalesAgent(estate)
        #offer
        item_name = self._wrapper.get_item_name()

        offer = etree.Element(item_name)
        etree.SubElement(offer, "id").text = str(estate.id)
        etree.SubElement(offer, "oborot").text = self._wrapper.offer_type()
        #location
        etree.SubElement(offer, "country").text = self._wrapper.country()
        etree.SubElement(offer, "region").text = self._wrapper.region()
        etree.SubElement(offer, "rayon").text = self._wrapper.district()
        etree.SubElement(offer, "naspunkt").text = self._wrapper.locality()
        if self._wrapper.address():
            etree.SubElement(offer, "address").text = self._wrapper.address()
        #sales-agent
        sales_agent = offer
        etree.SubElement(sales_agent, "contact_phone").text = sa.phones()[0]
        etree.SubElement(sales_agent, "contact_who").text = sa.category()
        etree.SubElement(sales_agent, "contact_firma").text = sa.organization()
        etree.SubElement(sales_agent, "contact_email").text = sa.email()
        #price
        etree.SubElement(offer, "money").text = self._wrapper.price.value()
        images = self._wrapper.images()
        if images:
            for i, image in enumerate(images, start=1):
                etree.SubElement(offer, "image%s" % i).text = image
        etree.SubElement(offer, "comment").text = self._wrapper.description()
        if self._wrapper.is_flat():
            if self._wrapper.rooms():
                etree.SubElement(offer, "rooms").text = self._wrapper.rooms()
            self.add_bool_element(etree, offer, 'phone', self._wrapper.phone())
            if self._wrapper.floor():
                etree.SubElement(offer, "floor").text = self._wrapper.floor()
            if self._wrapper.floors_total():
                etree.SubElement(offer,
                                 "floors").text = self._wrapper.floors_total()
            if self._wrapper.house_type():
                etree.SubElement(offer,
                                 "house").text = self._wrapper.house_type()
            self.add_bool_element(etree, offer, 'lift', self._wrapper.lift())
            if self._wrapper.area():
                etree.SubElement(offer, "area_sum").text = self.to_int(
                    self._wrapper.area())
            if self._wrapper.living_space():
                etree.SubElement(offer, "area_life").text = self.to_int(
                    self._wrapper.living_space())
            if self._wrapper.kuhnya_area():
                etree.SubElement(offer, "area_kitchen").text = self.to_int(
                    self._wrapper.kuhnya_area())
        else:
            etree.SubElement(offer,
                             "object").text = self._wrapper.get_object_type()
            if has_stead and item_name == u'outoftown':
                etree.SubElement(offer, "area_land").text = self.to_int(
                    self._wrapper.lot_area())
            else:
                etree.SubElement(offer, "area").text = self.to_int(
                    self._wrapper.lot_area()) if is_stead else self.to_int(
                        self._wrapper.area())
        return offer
예제 #7
0
 def get_sales_agent(self, estate):
     return SalesAgent(estate)