|  | @@ -1,54 +1,26 @@
 | 
	
		
			
				|  |  |  """Profile class"""
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -import re
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  from bs4 import BeautifulSoup
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -from rival_regions_wrapper import functions
 | 
	
		
			
				|  |  | +from .abstract_wrapper import AbstractWrapper
 | 
	
		
			
				|  |  | +from .perks import Perks
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -class Overview():
 | 
	
		
			
				|  |  | +class Overview(AbstractWrapper):
 | 
	
		
			
				|  |  |      """Wrapper class for perks"""
 | 
	
		
			
				|  |  | -    def __init__(self, api_wrapper):
 | 
	
		
			
				|  |  | -        self.api_wrapper = api_wrapper
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |      def info(self):
 | 
	
		
			
				|  |  | -        """Get perks"""
 | 
	
		
			
				|  |  | +        """Get overview """
 | 
	
		
			
				|  |  |          path = 'main/content'
 | 
	
		
			
				|  |  |          response = self.api_wrapper.get(path)
 | 
	
		
			
				|  |  |          soup = BeautifulSoup(response, 'html.parser')
 | 
	
		
			
				|  |  | -        perks = soup.select('.perk_source_4')
 | 
	
		
			
				|  |  | -        upgrade_perk = None
 | 
	
		
			
				|  |  | -        upgrade_date = None
 | 
	
		
			
				|  |  | -        for perk in perks:
 | 
	
		
			
				|  |  | -            date_string = perk.select_one('.small')
 | 
	
		
			
				|  |  | -            if date_string:
 | 
	
		
			
				|  |  | -                upgrade_perk = int(perk['perk'])
 | 
	
		
			
				|  |  | -                date_string = re.sub(
 | 
	
		
			
				|  |  | -                        r'^.*:\s', '',
 | 
	
		
			
				|  |  | -                        soup.select_one('.perk_source_4 .small').text
 | 
	
		
			
				|  |  | -                    )
 | 
	
		
			
				|  |  | -                upgrade_date = functions.parse_date(date_string)
 | 
	
		
			
				|  |  | -                break
 | 
	
		
			
				|  |  | +        perks = Perks.info_parse(soup)
 | 
	
		
			
				|  |  |          auto_war = soup.select_one('.war_index_war span.pointer:nth-child(4)')
 | 
	
		
			
				|  |  |          if auto_war and auto_war.has_attr('action'):
 | 
	
		
			
				|  |  |              auto_war = auto_war['action'].replace('war/details/', '')
 | 
	
		
			
				|  |  |          else:
 | 
	
		
			
				|  |  |              auto_war = None
 | 
	
		
			
				|  |  |          overview = {
 | 
	
		
			
				|  |  | -            'perks': {
 | 
	
		
			
				|  |  | -                'strenght': int(soup.find(
 | 
	
		
			
				|  |  | -                    'div', {'perk': 1, 'class': 'perk_source_2'}).text
 | 
	
		
			
				|  |  | -                ),
 | 
	
		
			
				|  |  | -                'education': int(soup.find(
 | 
	
		
			
				|  |  | -                    'div', {'perk': 2, 'class': 'perk_source_2'}).text
 | 
	
		
			
				|  |  | -                ),
 | 
	
		
			
				|  |  | -                'endurance': int(soup.find(
 | 
	
		
			
				|  |  | -                    'div', {'perk': 3, 'class': 'perk_source_2'}).text
 | 
	
		
			
				|  |  | -                ),
 | 
	
		
			
				|  |  | -                'upgrade_date': upgrade_date,
 | 
	
		
			
				|  |  | -                'upgrade_perk': upgrade_perk
 | 
	
		
			
				|  |  | -            },
 | 
	
		
			
				|  |  | +            'perks': perks,
 | 
	
		
			
				|  |  |              'war': {
 | 
	
		
			
				|  |  |                  'auto_war': auto_war,
 | 
	
		
			
				|  |  |              }
 |