Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def build(self, what, id):
type = what[0]
amount = what[1]
component = what[2]
response = self.session.get(self.index_php + 'page=ingame&component={}&cp={}'.format(component, id)).text
html = OGame.HTML(response)
build_token = None
for line in html.find_all('type', 'javascript', 'value'):
if 'urlQueueAdd' in line:
build_token = line.split('token=')[1].split('\'')[0]
break
build_url = self.index_php + 'page=ingame&component={}&modus=1&token={}&type={}&menge={}' \
.format(component, build_token, type, amount)
self.session.get(build_url)
def collect_marketplace(self):
to_collect_market_ids = []
history_pages = ['history_buying', 'history_selling']
action = ['fetchHistoryBuyingItems', 'fetchHistorySellingItems']
collect = ['collectItem', 'collectPrice']
response = False
for page, action, collect in zip(history_pages, action, collect):
response = self.session.get(
url=self.index_php + 'page=ingame&component=marketplace&tab={}&action={}&ajax=1&pagination%5Bpage%5D=1'
.format(page, action, OGame.planet_ids(self)[0]),
headers={'X-Requested-With': 'XMLHttpRequest'}
).json()
items = response['content']['marketplace/marketplace_items_history'].split('data-transactionid=')
del items[0]
for item in items:
if 'buttons small enabled' in item:
to_collect_market_ids.append(int(item[1:10].split('"')[0]))
for id in to_collect_market_ids:
form_data = {'marketTransactionId': id}
response = self.session.post(
url=self.index_php + 'page=componentOnly&component=marketplace&action={}&asJson=1'.format(collect),
data=form_data,
headers={'X-Requested-With': 'XMLHttpRequest'}
).json()
if not to_collect_market_ids:
def relogin(self, universe=None):
if universe is None:
universe = self.universe
OGame.__init__(self, universe, self.username, self.password, self.user_agent, self.proxy)
return OGame.is_logged_in(self)
def facilities(self, id):
response = self.session.get(self.index_php + 'page=ingame&component=facilities&cp={}'.format(id)).text
html = OGame.HTML(response)
levels = [int(level) for level in html.find_all('class', 'level', 'attribute', 'data-value', exact=True)]
status = html.find_all('data-technology', '', 'attribute', 'data-status')
class robotics_factory_class:
level = levels[0]
data = OGame.collect_status(status[0])
is_possible = data[0]
in_construction = data[1]
cost = const.price(const.buildings.robotics_factory, level=level)
class shipyard_class:
level = levels[1]
data = OGame.collect_status(status[1])
is_possible = data[0]
in_construction = data[1]
cost = const.price(const.buildings.shipyard, level=level)
def spyreports(self):
html = OGame.messages(self, const.messages.spy_reports, 1)
spyreports = []
for message in html.find_all('data-msg-id', '', 'attribute'):
response = self.session.get(
url=self.index_php + 'page=messages&messageId={}&tabid={}&ajax=1'
.format(message, const.messages.spy_reports)
).text
spy_html = OGame.HTML(response)
fright = spy_html.find_all('class', 'fright', 'value')
fright.pop()
if len(fright) > 10: # non Spyreports are less than 10
class spy_report_class:
id = message
coordinates = const.convert_to_coordinates(response)
if spy_html.find_all('class', 'planetIcon', 'attribute') is not []:
coordinates.append(const.destination.planet)
break
except AttributeError:
raise Exception("Universe not found")
login_link = self.session.get(
'https://lobby.ogame.gameforge.com/api/users/me/loginLink?'
'id={}'
'&server[language]={}'
'&server[number]={}'
'&clickedButton=account_list'
.format(self.server_id, self.language, self.server_number)
).json()
self.landing_page = self.session.get(login_link['url']).text
self.index_php = 'https://s{}-{}.ogame.gameforge.com/game/index.php?' \
.format(self.server_number, self.language)
self.landing_page = OGame.HTML(self.session.get(self.index_php + 'page=ingame').text)
self.player = self.landing_page.find_all('class', 'overlaytextBeefy', 'value')
self.player_id = self.landing_page.find_all('name', 'ogame-player-id', 'attribute', 'content')
def logout(self):
self.session.put('https://lobby.ogame.gameforge.com/api/users/me/logout')
return not OGame.is_logged_in(self)
heavy_fighter = ships_amount[1]
cruiser = ships_amount[2]
battleship = ships_amount[3]
interceptor = ships_amount[4]
bomber = ships_amount[5]
destroyer = ships_amount[6]
deathstar = ships_amount[7]
reaper = ships_amount[8]
explorer = ships_amount[9]
small_transporter = ships_amount[10]
large_transporter = ships_amount[11]
colonyShip = ships_amount[12]
recycler = ships_amount[13]
espionage_probe = ships_amount[14]
solarSatellite = ships_amount[15]
if id not in OGame.moon_ids(self):
crawler = ships_amount[16]
else:
crawler = 0
return ships_class
def do_research(self, research, id):
OGame.build(self, research, id)