-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathutil.py
91 lines (77 loc) · 2.61 KB
/
util.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
class UrlProvider():
"""
Contains All the usefull links for navigate trough the browser
"""
def __init__(self):
self.main_url = 'https://s154-it.ogame.gameforge.com/game/index.php'
# All the pages of the browser
self.pages = {
'overview': self.main_url + '?page=overview',
'resources': self.main_url + '?page=resources',
'research': self.main_url + '?page=research',
'shipyard': self.main_url + '?page=shipyard',
'defense': self.main_url + '?page=defense',
'fleet': self.main_url + '?page=fleet1',
'galaxy': self.main_url + '?page=galaxy',
'galaxyContent': self.main_url + '?page=galaxyContent&ajax=1',
'messages': self.main_url + '?page=messages',
'movement': self.main_url + '?page=movement',
'missileAttack': self.main_url + '?page=missileattacklayer',
'eventList': self.main_url + '?page=eventList&ajax=1'
}
def get_pages(self) -> object:
"""
:return: List of pages
"""
return self.pages
def get_page_url(self, page) -> str:
"""
:param page: Page to navigate
:return: Url of the page
"""
url = self.pages.get(page)
return url
def get_main_url(self):
"""
:return: Main Url
"""
return self.main_url
class Resources(object):
"""
Object to abstract an Resource in game
"""
def __init__(self, metal, crystal, deuterium, energy, dark_matter):
self.metal = metal
self.crystal = crystal
self.deuterium = deuterium
self.energy = energy
self.dark_matter = dark_matter
def __str__(self):
"""
:return: A Formated String of the Resources
"""
result = []
result.append(f'Metal: {self.metal}')
result.append(f'Crystal: {self.crystal}')
result.append(f'Deuterium: {self.deuterium}')
result.append(f'Energy: {self.energy}')
result.append(f'Dark Matter: {self.dark_matter}')
return ', '.join(result)
class Item(object):
"""
Abstraction of an Item in game
"""
def __init__(self, id, name):
self.name = name
self.id = id
def __str__(self):
return (f'Description {self.name}, Id: {self.id}')
class ItemAction(object):
"""
Abstraction of an clickable item
"""
def __init__(self, item, amount):
self.item = item
self.amount = amount
def __str__(self):
return (f'Description {self.item.name}, Id: {self.item.id}, Amount: {self.amount}')