Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def send_fleet(self, mission, id, where, ships, resources=[0, 0, 0], speed=10, holdingtime=0):
response = self.session.get(self.index_php + 'page=ingame&component=fleetdispatch&cp={}'.format(id)).text
html = OGame.HTML(response)
sendfleet_token = None
for line in html.find_all('type', 'textjavascript', 'value'):
if 'fleetSendingToken' in line:
sendfleet_token = line.split('fleetSendingToken=')[1].split('"')[1]
break
form_data = {'token': sendfleet_token}
for ship in ships:
ship_type = 'am{}'.format(ship[0])
form_data.update({ship_type: ship[1]})
form_data.update({'galaxy': where[0],
'system': where[1],
'position': where[2],
'type': where[3],
'metal': resources[0],
'crystal': resources[1],
'deuterium': resources[2],
def messages(self, message_type, page):
form_data = {'messageId': -1,
'tabid': message_type,
'action': 107,
'pagination': page,
'ajax': 1}
response = self.session.post(
url=self.index_php + 'page=messages',
data=form_data
).text
html = OGame.HTML(response)
return html
def resources(self, id):
response = self.session.get(self.index_php + 'page=resourceSettings&cp={}'.format(id)).text
html = OGame.HTML(response)
def to_int(string):
return int(float(string.replace('M', '000').replace('n', '')))
class resources:
resources = [html.find_all('id', 'resources_metal', 'attribute', 'data-raw')[0],
html.find_all('id', 'resources_crystal', 'attribute', 'data-raw')[0],
html.find_all('id', 'resources_deuterium', 'attribute', 'data-raw')[0]]
resources = [to_int(resource) for resource in resources]
metal = resources[0]
crystal = resources[1]
deuterium = resources[2]
darkmatter = to_int(html.find_all('id', 'resources_darkmatter', 'attribute', 'data-raw')[0])
energy = to_int(html.find_all('id', 'resources_energy', 'attribute', 'data-raw')[0])
return resources
def phalanx(self, coordinates, id):
response = self.session.get(
url=self.index_php + 'page=phalanx&galaxy={}&system={}&position={}&ajax=1&cp={}'
.format(coordinates[0], coordinates[1], coordinates[2], id)
).text
html = OGame.HTML(response)
missions = len(html.find_all('id', 'eventRow-', 'attribute'))
fleets = []
for fleet_id, fleet_mission, fleet_returns, fleet_arrival, fleet_origin, fleet_destination in zip(
html.find_all('id', 'eventRow-', 'attribute'),
html.find_all('data-mission-type', '', 'attribute'),
html.find_all('data-return-flight', '', 'attribute'),
html.find_all('data-arrival-time', '', 'attribute'),
[html.find_all('class', 'dark_highlight_tablet', 'value')[i] for i in range(0, missions * 3, 3)],
[html.find_all('class', 'dark_highlight_tablet', 'value')[i] for i in range(2, missions * 3, 3)]):
class fleets_class:
id = int(fleet_id.replace('eventRow-', ''))
mission = int(fleet_mission)
if fleet_returns == 'true':
returns = True
else:
def supply(self, id):
response = self.session.get(self.index_php + 'page=ingame&component=supplies&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 metal_mine_class:
level = levels[0]
data = OGame.collect_status(status[0])
is_possible = data[0]
in_construction = data[1]
cost = const.price(const.buildings.metal_mine, level=level)
class crystal_mine_class:
level = levels[1]
data = OGame.collect_status(status[1])
is_possible = data[0]
in_construction = data[1]
cost = const.price(const.buildings.crystal_mine, 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)
else:
coordinates.append(const.destination.moon)
time = datetime.strptime(fright[5], '%d.%m.%Y%H:%M:%S')
resources = spy_html.find_all('class', 'resource_list', 'attribute', 'title')
resources = [resources[0], resources[1], resources[2]]
resources = [int(resource.replace('.', '')) for resource in resources]
tech = []
def research(self):
response = self.session.get(
url=self.index_php + 'page=ingame&component=research&cp={}'.format(OGame.planet_ids(self)[0])
).text
html = OGame.HTML(response)
research_level = [int(level)
for level in html.find_all('class', 'level', 'attribute', 'data-value', exact=True)]
class research_class:
energy = research_level[0]
laser = research_level[1]
ion = research_level[2]
hyperspace = research_level[3]
plasma = research_level[4]
combustion_drive = research_level[5]
impulse_drive = research_level[6]
hyperspace_drive = research_level[7]
espionage = research_level[8]
computer = research_level[9]
astrophysics = research_level[10]
research_network = research_level[11]
def moon_facilities(self, id):
response = self.session.get('{}page=ingame&component=facilities&cp={}'.format(self.index_php, 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)