moved currency field from Sites to Gametypes&TourneyTypes, addded Sites.code

This commit is contained in:
steffen123 2010-06-20 17:34:58 +02:00
parent 4d42953135
commit de2d810ac5
4 changed files with 42 additions and 30 deletions

View File

@ -34,8 +34,8 @@ class Gametype(MappedBase):
@staticmethod @staticmethod
def get_or_create(session, siteId, gametype): def get_or_create(session, siteId, gametype):
map = zip( map = zip(
['type', 'base', 'category', 'limitType', 'smallBlind', 'bigBlind', 'smallBet', 'bigBet'], ['type', 'base', 'category', 'limitType', 'smallBlind', 'bigBlind', 'smallBet', 'bigBet', 'currency'],
['type', 'base', 'category', 'limitType', 'sb', 'bb', 'dummy', 'dummy', ]) ['type', 'base', 'category', 'limitType', 'sb', 'bb', 'dummy', 'dummy', 'currency'])
gametype = dict([(new, gametype.get(old)) for new, old in map ]) gametype = dict([(new, gametype.get(old)) for new, old in map ])
hilo = "h" hilo = "h"
@ -340,18 +340,20 @@ class HandPlayer(MappedBase):
class Site(object): class Site(object):
"""Class reflecting Players db table""" """Class reflecting Players db table"""
INITIAL_DATA = [ INITIAL_DATA = [
(1 , 'Full Tilt Poker','USD'), (1 , 'Full Tilt Poker','FT'),
(2 , 'PokerStars', 'USD'), (2 , 'PokerStars', 'PS'),
(3 , 'Everleaf', 'USD'), (3 , 'Everleaf', 'EV'),
(4 , 'Win2day', 'USD'), (4 , 'Win2day', 'W2'),
(5 , 'OnGame', 'USD'), (5 , 'OnGame', 'OG'),
(6 , 'UltimateBet', 'USD'), (6 , 'UltimateBet', 'UB'),
(7 , 'Betfair', 'USD'), (7 , 'Betfair', 'BF'),
(8 , 'Absolute', 'USD'), (8 , 'Absolute', 'AB'),
(9 , 'PartyPoker', 'USD'), (9 , 'PartyPoker', 'PP'),
(10, 'Partouche', 'EUR'), (10, 'Partouche', 'PA'),
(11, 'Carbon', 'CA'),
(12, 'PKR', 'PK'),
] ]
INITIAL_DATA_KEYS = ('id', 'name', 'currency') INITIAL_DATA_KEYS = ('id', 'name', 'code')
INITIAL_DATA_DICTS = [ dict(zip(INITIAL_DATA_KEYS, datum)) for datum in INITIAL_DATA ] INITIAL_DATA_DICTS = [ dict(zip(INITIAL_DATA_KEYS, datum)) for datum in INITIAL_DATA ]
@ -380,7 +382,7 @@ class TourneyType(MappedBase):
Required kwargs: Required kwargs:
buyin fee speed maxSeats knockout buyin fee speed maxSeats knockout
rebuyOrAddon headsUp shootout matrix sng rebuyOrAddon headsUp shootout matrix sng currency
""" """
return get_or_create(cls, session, **kwargs)[0] return get_or_create(cls, session, **kwargs)[0]

View File

@ -29,6 +29,7 @@ autorates_table = Table('Autorates', metadata,
gametypes_table = Table('Gametypes', metadata, gametypes_table = Table('Gametypes', metadata,
Column('id', SmallInteger, primary_key=True), Column('id', SmallInteger, primary_key=True),
Column('siteId', SmallInteger, ForeignKey("Sites.id"), nullable=False), # SMALLINT Column('siteId', SmallInteger, ForeignKey("Sites.id"), nullable=False), # SMALLINT
Column('currency', String(4), nullable=False), # varchar(4) NOT NULL
Column('type', String(4), nullable=False), # char(4) NOT NULL Column('type', String(4), nullable=False), # char(4) NOT NULL
Column('base', String(4), nullable=False), # char(4) NOT NULL Column('base', String(4), nullable=False), # char(4) NOT NULL
Column('category', String(9), nullable=False), # varchar(9) NOT NULL Column('category', String(9), nullable=False), # varchar(9) NOT NULL
@ -338,7 +339,7 @@ settings_table = Table('Settings', metadata,
sites_table = Table('Sites', metadata, sites_table = Table('Sites', metadata,
Column('id', SmallInteger, primary_key=True), Column('id', SmallInteger, primary_key=True),
Column('name', String(32), nullable=False), # varchar(32) NOT NULL Column('name', String(32), nullable=False), # varchar(32) NOT NULL
Column('currency', String(3), nullable=False), # char(3) NOT NULL Column('code', String(2), nullable=False), # char(2) NOT NULL
mysql_charset='utf8', mysql_charset='utf8',
mysql_engine='InnoDB', mysql_engine='InnoDB',
) )
@ -374,6 +375,7 @@ Index('siteTourneyNo', tourneys_table.c.siteTourneyNo, tourneys_table.c.tourneyT
tourney_types_table = Table('TourneyTypes', metadata, tourney_types_table = Table('TourneyTypes', metadata,
Column('id', Integer, primary_key=True), Column('id', Integer, primary_key=True),
Column('siteId', SmallInteger, ForeignKey("Sites.id"), nullable=False), Column('siteId', SmallInteger, ForeignKey("Sites.id"), nullable=False),
Column('currency', String(4), nullable=False), # varchar(4) NOT NULL
Column('buyin', Integer, nullable=False), # INT NOT NULL Column('buyin', Integer, nullable=False), # INT NOT NULL
Column('fee', Integer, nullable=False, default=0), # INT NOT NULL Column('fee', Integer, nullable=False, default=0), # INT NOT NULL
Column('maxSeats', Boolean, nullable=False, default=-1), # INT NOT NULL DEFAULT -1 Column('maxSeats', Boolean, nullable=False, default=-1), # INT NOT NULL DEFAULT -1

View File

@ -1,4 +1,5 @@
#!/usr/bin/env python #!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Database.py """Database.py
Create and manage the database objects. Create and manage the database objects.
@ -1343,18 +1344,18 @@ class Database:
def fillDefaultData(self): def fillDefaultData(self):
c = self.get_cursor() c = self.get_cursor()
c.execute("INSERT INTO Settings (version) VALUES (%s);" % (DB_VERSION)) c.execute("INSERT INTO Settings (version) VALUES (%s);" % (DB_VERSION))
c.execute("INSERT INTO Sites (name,currency) VALUES ('Full Tilt Poker', 'USD')") c.execute("INSERT INTO Sites (name,code) VALUES ('Full Tilt Poker', 'FT')")
c.execute("INSERT INTO Sites (name,currency) VALUES ('PokerStars', 'USD')") c.execute("INSERT INTO Sites (name,code) VALUES ('PokerStars', 'PS')")
c.execute("INSERT INTO Sites (name,currency) VALUES ('Everleaf', 'USD')") c.execute("INSERT INTO Sites (name,code) VALUES ('Everleaf', 'EV')")
c.execute("INSERT INTO Sites (name,currency) VALUES ('Win2day', 'USD')") c.execute("INSERT INTO Sites (name,code) VALUES ('Win2day', 'W2')")
c.execute("INSERT INTO Sites (name,currency) VALUES ('OnGame', 'USD')") c.execute("INSERT INTO Sites (name,code) VALUES ('OnGame', 'OG')")
c.execute("INSERT INTO Sites (name,currency) VALUES ('UltimateBet', 'USD')") c.execute("INSERT INTO Sites (name,code) VALUES ('UltimateBet', 'UB')")
c.execute("INSERT INTO Sites (name,currency) VALUES ('Betfair', 'USD')") c.execute("INSERT INTO Sites (name,code) VALUES ('Betfair', 'BF')")
c.execute("INSERT INTO Sites (name,currency) VALUES ('Absolute', 'USD')") c.execute("INSERT INTO Sites (name,code) VALUES ('Absolute', 'AB')")
c.execute("INSERT INTO Sites (name,currency) VALUES ('PartyPoker', 'USD')") c.execute("INSERT INTO Sites (name,code) VALUES ('PartyPoker', 'PP')")
c.execute("INSERT INTO Sites (name,currency) VALUES ('Partouche', 'EUR')") c.execute("INSERT INTO Sites (name,code) VALUES ('Partouche', 'PA')")
c.execute("INSERT INTO Sites (name,currency) VALUES ('Carbon', 'USD')") c.execute("INSERT INTO Sites (name,code) VALUES ('Carbon', 'CA')")
c.execute("INSERT INTO Sites (name,currency) VALUES ('PKR', 'USD')") c.execute("INSERT INTO Sites (name,code) VALUES ('PKR', 'PK')")
if self.backend == self.SQLITE: if self.backend == self.SQLITE:
c.execute("INSERT INTO TourneyTypes (id, siteId, buyin, fee) VALUES (NULL, 1, 0, 0);") c.execute("INSERT INTO TourneyTypes (id, siteId, buyin, fee) VALUES (NULL, 1, 0, 0);")
elif self.backend == self.PGSQL: elif self.backend == self.PGSQL:

View File

@ -1,4 +1,5 @@
#!/usr/bin/env python #!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Returns a dict of SQL statements used in fpdb. """Returns a dict of SQL statements used in fpdb.
""" """
# Copyright 2008-2009, Ray E. Barker # Copyright 2008-2009, Ray E. Barker
@ -114,18 +115,18 @@ class Sql:
self.query['createSitesTable'] = """CREATE TABLE Sites ( self.query['createSitesTable'] = """CREATE TABLE Sites (
id SMALLINT UNSIGNED AUTO_INCREMENT NOT NULL, PRIMARY KEY (id), id SMALLINT UNSIGNED AUTO_INCREMENT NOT NULL, PRIMARY KEY (id),
name varchar(32) NOT NULL, name varchar(32) NOT NULL,
currency char(3) NOT NULL) code char(2) NOT NULL)
ENGINE=INNODB""" ENGINE=INNODB"""
elif db_server == 'postgresql': elif db_server == 'postgresql':
self.query['createSitesTable'] = """CREATE TABLE Sites ( self.query['createSitesTable'] = """CREATE TABLE Sites (
id SERIAL, PRIMARY KEY (id), id SERIAL, PRIMARY KEY (id),
name varchar(32), name varchar(32),
currency char(3))""" code char(2))"""
elif db_server == 'sqlite': elif db_server == 'sqlite':
self.query['createSitesTable'] = """CREATE TABLE Sites ( self.query['createSitesTable'] = """CREATE TABLE Sites (
id INTEGER PRIMARY KEY, id INTEGER PRIMARY KEY,
name TEXT NOT NULL, name TEXT NOT NULL,
currency TEXT NOT NULL)""" code TEXT NOT NULL)"""
################################ ################################
@ -136,6 +137,7 @@ class Sql:
self.query['createGametypesTable'] = """CREATE TABLE Gametypes ( self.query['createGametypesTable'] = """CREATE TABLE Gametypes (
id SMALLINT UNSIGNED AUTO_INCREMENT NOT NULL, PRIMARY KEY (id), id SMALLINT UNSIGNED AUTO_INCREMENT NOT NULL, PRIMARY KEY (id),
siteId SMALLINT UNSIGNED NOT NULL, FOREIGN KEY (siteId) REFERENCES Sites(id), siteId SMALLINT UNSIGNED NOT NULL, FOREIGN KEY (siteId) REFERENCES Sites(id),
currency varchar(4) NOT NULL,
type char(4) NOT NULL, type char(4) NOT NULL,
base char(4) NOT NULL, base char(4) NOT NULL,
category varchar(9) NOT NULL, category varchar(9) NOT NULL,
@ -150,6 +152,7 @@ class Sql:
self.query['createGametypesTable'] = """CREATE TABLE Gametypes ( self.query['createGametypesTable'] = """CREATE TABLE Gametypes (
id SERIAL, PRIMARY KEY (id), id SERIAL, PRIMARY KEY (id),
siteId INTEGER, FOREIGN KEY (siteId) REFERENCES Sites(id), siteId INTEGER, FOREIGN KEY (siteId) REFERENCES Sites(id),
currency varchar(4),
type char(4), type char(4),
base char(4), base char(4),
category varchar(9), category varchar(9),
@ -163,6 +166,7 @@ class Sql:
self.query['createGametypesTable'] = """CREATE TABLE GameTypes ( self.query['createGametypesTable'] = """CREATE TABLE GameTypes (
id INTEGER PRIMARY KEY, id INTEGER PRIMARY KEY,
siteId INTEGER, siteId INTEGER,
currency TEXT,
type TEXT, type TEXT,
base TEXT, base TEXT,
category TEXT, category TEXT,
@ -358,6 +362,7 @@ class Sql:
self.query['createTourneyTypesTable'] = """CREATE TABLE TourneyTypes ( self.query['createTourneyTypesTable'] = """CREATE TABLE TourneyTypes (
id SMALLINT UNSIGNED AUTO_INCREMENT NOT NULL, PRIMARY KEY (id), id SMALLINT UNSIGNED AUTO_INCREMENT NOT NULL, PRIMARY KEY (id),
siteId SMALLINT UNSIGNED NOT NULL, FOREIGN KEY (siteId) REFERENCES Sites(id), siteId SMALLINT UNSIGNED NOT NULL, FOREIGN KEY (siteId) REFERENCES Sites(id),
currency varchar(4) NOT NULL,
buyin INT NOT NULL, buyin INT NOT NULL,
fee INT NOT NULL, fee INT NOT NULL,
maxSeats INT NOT NULL DEFAULT -1, maxSeats INT NOT NULL DEFAULT -1,
@ -374,6 +379,7 @@ class Sql:
self.query['createTourneyTypesTable'] = """CREATE TABLE TourneyTypes ( self.query['createTourneyTypesTable'] = """CREATE TABLE TourneyTypes (
id SERIAL, PRIMARY KEY (id), id SERIAL, PRIMARY KEY (id),
siteId INT NOT NULL, FOREIGN KEY (siteId) REFERENCES Sites(id), siteId INT NOT NULL, FOREIGN KEY (siteId) REFERENCES Sites(id),
currency varchar(4) NOT NULL,
buyin INT NOT NULL, buyin INT NOT NULL,
fee INT NOT NULL, fee INT NOT NULL,
maxSeats INT NOT NULL DEFAULT -1, maxSeats INT NOT NULL DEFAULT -1,
@ -389,6 +395,7 @@ class Sql:
self.query['createTourneyTypesTable'] = """CREATE TABLE TourneyTypes ( self.query['createTourneyTypesTable'] = """CREATE TABLE TourneyTypes (
id INTEGER PRIMARY KEY, id INTEGER PRIMARY KEY,
siteId INT NOT NULL, siteId INT NOT NULL,
currency TEXT NOT NULL,
buyin INT NOT NULL, buyin INT NOT NULL,
fee INT NOT NULL, fee INT NOT NULL,
maxSeats INT NOT NULL DEFAULT -1, maxSeats INT NOT NULL DEFAULT -1,