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.my_special_ball = my_special_ball
|
||||||
self.winning_numbers = []
|
self.winning_numbers = []
|
||||||
self.special_ball = None
|
self.special_ball = None
|
||||||
|
self.special_ball_name = 'Special Ball'
|
||||||
self.multiplier = None
|
self.multiplier = None
|
||||||
self.matched_numbers = []
|
self.matched_numbers = []
|
||||||
self.matched_special_ball = None
|
self.matched_special_ball = None
|
||||||
|
|
@ -50,7 +51,7 @@ class Ticket:
|
||||||
self.output_ticket()
|
self.output_ticket()
|
||||||
|
|
||||||
def output_ticket(self):
|
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 Numbers: {self.winning_numbers}')
|
||||||
print(f'Winning {special_ball}: {self.special_ball}')
|
print(f'Winning {special_ball}: {self.special_ball}')
|
||||||
print(f'Your Numbers: {self.my_picks}')
|
print(f'Your Numbers: {self.my_picks}')
|
||||||
|
|
|
||||||
|
|
@ -3,19 +3,18 @@ import feedparser
|
||||||
|
|
||||||
class Feed:
|
class Feed:
|
||||||
|
|
||||||
def __init__(self, feed):
|
def __init__(self):
|
||||||
self.feed = 'https://www.texaslottery.com/export/sites/lottery/rss/tlc_latest.xml'
|
self.feed = 'https://www.texaslottery.com/export/sites/lottery/rss/tlc_latest.xml'
|
||||||
self.parsed_feed = feedparser.parse(self.feed)
|
self.parsed_feed = feedparser.parse(self.feed)
|
||||||
self.game_entries = feed
|
|
||||||
self.modifiers = {
|
self.modifiers = {
|
||||||
'Billion': 1000000000,
|
'Billion': 1000000000,
|
||||||
'Million': 1000000
|
'Million': 1000000
|
||||||
}
|
}
|
||||||
|
|
||||||
def get_winning_numbers(self):
|
def get_winning_numbers(self):
|
||||||
entry = self.game_entries
|
nums_pre = self.parsed_feed.entries[2].summary
|
||||||
nums_pre = self.parsed_feed.entries[entry['winning_numbers']].summary
|
nums_pre = nums_pre.replace('MegaBall', '-').replace(' Megaplier', '-')
|
||||||
nums_pre = nums_pre.replace(entry['special_ball'], '-').replace(f' {entry["multiplier"]}', '-')
|
|
||||||
nums = nums_pre.split(' - ')
|
nums = nums_pre.split(' - ')
|
||||||
|
|
||||||
winning_numbers = nums[:5]
|
winning_numbers = nums[:5]
|
||||||
|
|
@ -28,8 +27,7 @@ class Feed:
|
||||||
return {'numbers': winning_numbers, 'special_ball': special_ball, 'multiplier': multiplier}
|
return {'numbers': winning_numbers, 'special_ball': special_ball, 'multiplier': multiplier}
|
||||||
|
|
||||||
def get_jackpot(self):
|
def get_jackpot(self):
|
||||||
entry = self.game_entries
|
jp_pre = self.parsed_feed.entries[3].summary
|
||||||
jp_pre = self.parsed_feed.entries[entry['jackpot']].summary
|
|
||||||
jp_pre = jp_pre[jp_pre.index('Cash'):]
|
jp_pre = jp_pre[jp_pre.index('Cash'):]
|
||||||
jp_pre = jp_pre[jp_pre.index(':') + 3:]
|
jp_pre = jp_pre[jp_pre.index(':') + 3:]
|
||||||
jp_data = jp_pre.split()
|
jp_data = jp_pre.split()
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
from lib.Ticket import Ticket
|
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
|
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):
|
def __init__(self, my_picks, my_special_ball):
|
||||||
super().__init__(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()
|
self.get_winning_numbers()
|
||||||
|
|
||||||
def get_winnings_with_special_ball(self, jp):
|
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.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
|
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):
|
def __init__(self, my_picks, my_special_ball):
|
||||||
super().__init__(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()
|
self.get_winning_numbers()
|
||||||
|
|
||||||
def get_winnings_with_special_ball(self, jp):
|
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