123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- from rival_regions_wrapper.middleware import LocalAuthentication
- from rival_regions_wrapper import util
- from rival_regions_wrapper.wrapper.abstract_wrapper import AbstractWrapper
- import re
- from bs4 import BeautifulSoup
- authentication = LocalAuthentication(True)
- authentication.set_credentials("mail@gmail.com","password","google")
- class Market2(AbstractWrapper):
- def info(self, resource):
- """Get profile"""
- if isinstance(resource, str) and resource in util.ITEM_KEYS:
- resource = util.ITEM_KEYS[resource]
- path = 'storage/listed/{}'.format(resource)
- response = self.middleware.get(path)
- soup = BeautifulSoup(response, 'html.parser')
- offers_tree = soup.find_all(class_='list_link')
- test = 0
- i = 0
- for offer_tree in offers_tree:
- if int(re.sub(
- r'^.*\/', '',
- offer_tree.select_one('.results_date')['action'])) == 2000883512:
- test = int(
- offer_tree.select_one('.list_level.imp.small')['rat']
- )
- i = i+1
- return test
- class Storage(AbstractWrapper):
- """Wrapper class for storage"""
- def info(self,resource):
- """storage info"""
- path = 'storage'
- resource = util.ITEM_KEYS[resource]
- response = self.middleware.get(path)
- soup = BeautifulSoup(response, 'html.parser')
- storage = int(
- soup.find('span', {'urlbar': resource}).text.replace('.', ''))
- return storage
- class Market(AbstractWrapper):
- def info(self, resource):
- """Get profile"""
- if isinstance(resource, str) and resource in util.ITEM_KEYS:
- resource = util.ITEM_KEYS[resource]
- path = 'storage/listed/{}'.format(resource)
- response = self.middleware.get(path)
- soup = BeautifulSoup(response, 'html.parser')
- offers_tree = soup.find_all(class_='list_link')
- test = 0
- prijs = 0
- for offer_tree in offers_tree:
- if test == 0:
- test = 1
- prijs = int(
- float(offer_tree.select('.list_level')[1]['rat']) * 100)
- if int(re.sub(r'^.*\/', '',offer_tree.select_one('.results_date')['action'])) == 2000883512:
- prijs = 0
- return prijs
- class MarketBot(AbstractWrapper):
- def info(self,resource,minprice):
- test = 0
- current_price = Market(authentication).info(resource)
- if current_price !=0:
- op_markt = Market2(authentication).info(resource)
- opslag = Storage(authentication).info(resource)
- totaal = opslag + op_markt
- mijn_prijs = (current_price - 10)/100
- check = 0
- if mijn_prijs < minprice:
- mijn_prijs = minprice
- if resource == "helium-3":
- if totaal >= 153600:
- totaal = 153600
- check = 1
- if resource == "liquid_oxygen":
- if totaal >= 38400000:
- totaal = 38400000
- check = 1
- if resource == "oil":
- if totaal >= 614400000:
- totaal = 614400000
- check = 1
- if resource == "ore":
- if totaal >= 614400000:
- totaal = 614400000
- check = 1
- if resource == "uranium":
- if totaal >= 15360000:
- totaal = 15360000
- check = 1
- if resource == "diamonds":
- if totaal >= 153600:
- totaal = 153600
- check = 1
- if resource == "rivalium":
- if totaal >= 614400:
- totaal = 614400
- check = 1
- if resource == "antirad":
- if totaal >= 76800:
- totaal = 76800
- check = 1
- if resource == "spacerockets":
- if totaal >= 3840:
- totaal = 3840
- check = 1
- if resource == "lss":
- if totaal >= 15360000:
- totaal = 15360000
- check = 1
- if resource == "tanks":
- if totaal >= 4388571:
- totaal = 4388571
- check = 1
- if resource == "aircrafts":
- if totaal >= 640000:
- totaal = 640000
- check = 1
- if resource == "missiles":
- if totaal >= 256000:
- totaal = 256000
- check = 1
- if resource == "bombers":
- if totaal >= 128000:
- totaal = 128000
- check = 1
- if resource == "battleships":
- if totaal >= 128000:
- totaal = 128000
- check = 1
- if resource == "laser_drones":
- if totaal >= 256000:
- totaal = 256000
- check = 1
- if resource == "moon_tanks":
- if totaal >= 12800:
- totaal = 12800
- check = 1
- if resource == "space_stations":
- if totaal >= 1280:
- totaal = 1280
- check = 1
- if (((totaal == op_markt) and (mijn_prijs == minprice)) or (minprice == 500000000)):
- return True
- if totaal != 0:
- item = util.ITEM_KEYS[resource]
- self.middleware.post(
- 'storage/sell/{}'.format(item))
- self.middleware.post(
- 'storage/newsell/{}/{}/{}'.format(item, totaal, mijn_prijs))
- return True
|