Ejemplo n.º 1
0
    def run(self):
        # Load the index
        pg = self._get_page('index')

        # Check if it's already been done
        if 'already done your share' in pg.content:
            self._logger.warning('Anchor Management already completed')
            raise DailyAlreadyCompleted('Anchor Management already completed')

        # Submit the daily
        form = pg.form(id='form-fire-cannon')[0]
        pg = form.submit(self._usr)

        # Setup new result
        r = DailyResult(self._usr)
        r.daily_name = 'Anchor Management'

        # Check the result
        f = open('test.html', 'w')
        f.write(pg.content)
        f.close()

        # Check the result
        prize = str(self._xpath('prize', pg)[0])
        r.items.append(prize)
        print('Found prize: ' + prize)

        return r
Ejemplo n.º 2
0
    def run(self):
        # Load the index
        pg = self._get_page('index')

        # Check if it's already been done
        if 'already let you have a go' in pg.content:
            self._logger.warning('Apple Bobbing already completed')
            raise DailyAlreadyCompleted('Apple Bobbing already completed')

        # Submit the daily
        pg = self._get_page('submit')

        # Setup new result
        r = DailyResult(self._usr)
        r.daily_name = 'Apple Bobbing'

        # Check the result
        f = open('test.html', 'w')
        f.write(pg.content)
        f.close()

        # Sometimes we just fail
        for msg in self._fails:
            if msg in pg.content:
                print('Failed..')
                return r

        # Get the result
        prize = str(self._xpath('prize', pg)[0])
        r.items.append(prize)
        print('Found item: ' + prize)
Ejemplo n.º 3
0
    def run(self):
        # Load the index
        pg = self._get_page('index')

        # Check if it's already been done
        if 'already let you have a go' in pg.content:
            self._logger.warning('Apple Bobbing already completed')
            raise DailyAlreadyCompleted('Apple Bobbing already completed')

        # Submit the daily
        pg = self._get_page('submit')

        # Setup new result
        r = DailyResult(self._usr)
        r.daily_name = 'Apple Bobbing'

        # Check the result
        f = open('test.html', 'w')
        f.write(pg.content)
        f.close()

        # Sometimes we just fail
        for msg in self._fails:
            if msg in pg.content:
                print('Failed..')
                return r

        # Get the result
        prize = str(self._xpath('prize', pg)[0])
        r.items.append(prize)
        print('Found item: ' + prize)
Ejemplo n.º 4
0
    def run(self):
        # Load the index
        pg = self._get_page('index')

        # Store the neopoints before submitting for tracking increase
        last_nps = self._usr.neopoints

        # Submit the form
        form = pg.form(action='shrine.phtml')[0]
        pg = form.submit(self._usr)

        # Check if it's already been done
        if 'should wait a while before visiting' in pg.content:
            self._logger.warning('Coltzan Shrine already completed')
            raise DailyAlreadyCompleted('Coltzan Shrine already completed')

        # Check the result
        f = open('test.html', 'w')
        f.write(pg.content)
        f.close()

        # Setup new result
        r = DailyResult(self._usr)
        r.daily_name = 'Coltzan Shrine'

        # Sometimes they trick you..
        if 'nothing happened' in pg.content:
            print('Found that nothing happened..')
            return r

        # Check for a status reward
        if len(self._xpath('status', pg)) > 0:
            r.status = str(self._xpath('status', pg)[0])
            print('Found status reward: ' + r.status)

        # Sometimes it gives out items too
        if len(self._xpath('item', pg)) > 0:
            item = str(self._xpath('item', pg)[0].xpath('./b/text()')[0])
            r.items.append(item)
            print('Found item reward: ' + item)

        # And neopoints too
        if 'feel slightly richer' in pg.content:
            # Force an update to current neopoints
            pg = self._usr.get_page(self._base_url)
            r.neopoints = self._usr.neopoints - last_nps
            print('Got neopoints: ' + str(r.neopoints))

        # Return the result
        return r
Ejemplo n.º 5
0
    def run(self):
        # Load the index
        pg = self._get_page('index')

        # Check if it's active
        if 'Collect My Prize!!!' not in pg.content:
            self._logger.warning('Advent Calendar is not currently active')
            raise DailyNotActive('Advent Calendar is not currently active')

        # Submit the daily
        form = pg.form(action='process_adventcalendar.phtml')[0]
        pg = form.submit(self._usr)

        # Setup new result
        r = DailyResult(self._usr)
        r.daily_name = 'Advent Calendar'

        # Check the result
        f = open('test.html', 'w')
        f.write(pg.content)
        f.close()

        # We can get quite a few results
        results = self._path_to_html('result', pg).split('<br/><br/>')

        for result in results:
            # All results are in bold except the last line talking about items
            # that are available
            if '<b>' in result and 'items are available' not in result:
                obj = str(self._to_element(result).xpath('.//b/text()')[0])

                # It's either going to be neopoints or an item
                if 'Neopoints' in obj:
                    r.neopoints = int(obj.split(' Neopoints')[0])
                    print('Found neopoints: ' + str(r.neopoints))
                else:
                    r.items.append(obj)
                    print('Found item: ' + obj)