|
@@ -1,6 +1,7 @@
|
|
"""Profile class"""
|
|
"""Profile class"""
|
|
|
|
|
|
import re
|
|
import re
|
|
|
|
+from datetime import timedelta
|
|
|
|
|
|
from bs4 import BeautifulSoup
|
|
from bs4 import BeautifulSoup
|
|
from dateutil import parser
|
|
from dateutil import parser
|
|
@@ -19,12 +20,19 @@ class Overview(object):
|
|
soup = BeautifulSoup(response, 'html.parser')
|
|
soup = BeautifulSoup(response, 'html.parser')
|
|
perks = soup.select('.perk_source_4')
|
|
perks = soup.select('.perk_source_4')
|
|
upgrade_perk = None
|
|
upgrade_perk = None
|
|
- date_string = None
|
|
|
|
|
|
+ upgrade_date = None
|
|
for perk in perks:
|
|
for perk in perks:
|
|
date_string = perk.select_one('.small')
|
|
date_string = perk.select_one('.small')
|
|
if date_string:
|
|
if date_string:
|
|
upgrade_perk = int(perk['perk'])
|
|
upgrade_perk = int(perk['perk'])
|
|
date_string = re.sub(r'^.*:\s', '', soup.select_one('.perk_source_4 .small').text)
|
|
date_string = re.sub(r'^.*:\s', '', soup.select_one('.perk_source_4 .small').text)
|
|
|
|
+ if 'tomorrow' in date_string:
|
|
|
|
+ time = re.search(r'\d\d:\d\d', date_string)
|
|
|
|
+ upgrade_date = parser.parse(time.group(0)) + timedelta(days=1)
|
|
|
|
+ elif 'today' in date_string:
|
|
|
|
+ time = re.search(r'\d\d:\d\d', date_string)
|
|
|
|
+ else:
|
|
|
|
+ upgrade_date = parser.parse(date_string)
|
|
break
|
|
break
|
|
auto_war = soup.select_one('.war_index_war span.pointer:nth-child(4)')
|
|
auto_war = soup.select_one('.war_index_war span.pointer:nth-child(4)')
|
|
if auto_war and auto_war.has_attr('action'):
|
|
if auto_war and auto_war.has_attr('action'):
|
|
@@ -36,7 +44,7 @@ class Overview(object):
|
|
'strenght': int(soup.find('div', {'perk': 1, 'class': 'perk_source_2'}).text),
|
|
'strenght': int(soup.find('div', {'perk': 1, 'class': 'perk_source_2'}).text),
|
|
'education': int(soup.find('div', {'perk': 2, '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),
|
|
'endurance': int(soup.find('div', {'perk': 3, 'class': 'perk_source_2'}).text),
|
|
- 'upgrade_date': parser.parse(date_string),
|
|
|
|
|
|
+ 'upgrade_date': upgrade_date,
|
|
'upgrade_perk': upgrade_perk
|
|
'upgrade_perk': upgrade_perk
|
|
},
|
|
},
|
|
'war': {
|
|
'war': {
|