Move feed processing to per game
This commit is contained in:
parent
415aad8bff
commit
f77a0efbed
|
|
@ -6,6 +6,7 @@ class Ticket:
|
|||
self.my_special_ball = my_special_ball
|
||||
self.winning_numbers = []
|
||||
self.special_ball = None
|
||||
self.special_ball_name = 'Special Ball'
|
||||
self.multiplier = None
|
||||
self.matched_numbers = []
|
||||
self.matched_special_ball = None
|
||||
|
|
@ -50,7 +51,7 @@ class Ticket:
|
|||
self.output_ticket()
|
||||
|
||||
def output_ticket(self):
|
||||
special_ball = self.feed.game_entries["special_ball"]
|
||||
special_ball = self.special_ball_name
|
||||
print(f'Winning Numbers: {self.winning_numbers}')
|
||||
print(f'Winning {special_ball}: {self.special_ball}')
|
||||
print(f'Your Numbers: {self.my_picks}')
|
||||
|
|
|
|||
|
|
@ -3,19 +3,18 @@ import feedparser
|
|||
|
||||
class Feed:
|
||||
|
||||
def __init__(self, feed):
|
||||
def __init__(self):
|
||||
self.feed = 'https://www.texaslottery.com/export/sites/lottery/rss/tlc_latest.xml'
|
||||
self.parsed_feed = feedparser.parse(self.feed)
|
||||
self.game_entries = feed
|
||||
|
||||
self.modifiers = {
|
||||
'Billion': 1000000000,
|
||||
'Million': 1000000
|
||||
}
|
||||
|
||||
def get_winning_numbers(self):
|
||||
entry = self.game_entries
|
||||
nums_pre = self.parsed_feed.entries[entry['winning_numbers']].summary
|
||||
nums_pre = nums_pre.replace(entry['special_ball'], '-').replace(f' {entry["multiplier"]}', '-')
|
||||
nums_pre = self.parsed_feed.entries[2].summary
|
||||
nums_pre = nums_pre.replace('MegaBall', '-').replace(' Megaplier', '-')
|
||||
nums = nums_pre.split(' - ')
|
||||
|
||||
winning_numbers = nums[:5]
|
||||
|
|
@ -28,8 +27,7 @@ class Feed:
|
|||
return {'numbers': winning_numbers, 'special_ball': special_ball, 'multiplier': multiplier}
|
||||
|
||||
def get_jackpot(self):
|
||||
entry = self.game_entries
|
||||
jp_pre = self.parsed_feed.entries[entry['jackpot']].summary
|
||||
jp_pre = self.parsed_feed.entries[3].summary
|
||||
jp_pre = jp_pre[jp_pre.index('Cash'):]
|
||||
jp_pre = jp_pre[jp_pre.index(':') + 3:]
|
||||
jp_data = jp_pre.split()
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
from lib.Ticket import Ticket
|
||||
from lib.Feed import Feed
|
||||
from .feed import feed
|
||||
from .Feed import Feed
|
||||
from .winning_structure import get_winnings_mb, get_winnings_no_mb
|
||||
|
||||
|
||||
|
|
@ -8,7 +7,8 @@ class MegaMillions(Ticket):
|
|||
|
||||
def __init__(self, my_picks, my_special_ball):
|
||||
super().__init__(my_picks, my_special_ball)
|
||||
self.feed = Feed(feed)
|
||||
self.special_ball_name = 'MegaBall'
|
||||
self.feed = Feed()
|
||||
self.get_winning_numbers()
|
||||
|
||||
def get_winnings_with_special_ball(self, jp):
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
feed = {
|
||||
'winning_numbers': 2,
|
||||
'jackpot': 3,
|
||||
'special_ball': 'MegaBall',
|
||||
'multiplier': 'Megaplier'
|
||||
}
|
||||
34
powerball/Feed.py
Normal file
34
powerball/Feed.py
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
import feedparser
|
||||
|
||||
|
||||
class Feed:
|
||||
|
||||
def __init__(self):
|
||||
self.feed = 'https://www.texaslottery.com/export/sites/lottery/rss/tlc_latest.xml'
|
||||
self.parsed_feed = feedparser.parse(self.feed)
|
||||
|
||||
self.modifiers = {
|
||||
'Billion': 1000000000,
|
||||
'Million': 1000000
|
||||
}
|
||||
|
||||
def get_winning_numbers(self):
|
||||
nums_pre = self.parsed_feed.entries[0].summary
|
||||
nums_pre = nums_pre.replace('Powerball', '-').replace(' Power Play', '-')
|
||||
nums = nums_pre.split(' - ')
|
||||
|
||||
winning_numbers = nums[:5]
|
||||
|
||||
for idx, num in enumerate(nums[:5]):
|
||||
winning_numbers[idx] = int(num)
|
||||
|
||||
special_ball = int(nums[5])
|
||||
multiplier = int(nums[6])
|
||||
return {'numbers': winning_numbers, 'special_ball': special_ball, 'multiplier': multiplier}
|
||||
|
||||
def get_jackpot(self):
|
||||
jp_pre = self.parsed_feed.entries[1].summary
|
||||
jp_pre = jp_pre[jp_pre.index('Cash'):]
|
||||
jp_pre = jp_pre[jp_pre.index(':') + 3:]
|
||||
jp_data = jp_pre.split()
|
||||
return float(jp_data[0]) * self.modifiers[jp_data[1]]
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
from lib.Ticket import Ticket
|
||||
from lib.Feed import Feed
|
||||
from .feed import feed
|
||||
from .Feed import Feed
|
||||
from .winning_structure import get_winnings_pb, get_winnings_no_pb
|
||||
|
||||
|
||||
|
|
@ -8,7 +7,8 @@ class Powerball(Ticket):
|
|||
|
||||
def __init__(self, my_picks, my_special_ball):
|
||||
super().__init__(my_picks, my_special_ball)
|
||||
self.feed = Feed(feed)
|
||||
self.special_ball_name = 'Powerball'
|
||||
self.feed = Feed()
|
||||
self.get_winning_numbers()
|
||||
|
||||
def get_winnings_with_special_ball(self, jp):
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
feed = {
|
||||
'winning_numbers': 0,
|
||||
'jackpot': 1,
|
||||
'special_ball': 'Powerball',
|
||||
'multiplier': 'Power Play'
|
||||
}
|
||||
Loading…
Reference in a new issue