1
0
Fork 0
mirror of https://github.com/shlomif/PySolFC.git synced 2025-04-05 00:02:29 -04:00

flake8 checked g*.py.

This commit is contained in:
Shlomi Fish 2017-04-16 20:46:15 +03:00
parent 4747fe1dbf
commit 1ec8cc8b27
3 changed files with 693 additions and 583 deletions

File diff suppressed because it is too large Load diff

View file

@ -1,28 +1,29 @@
#!/usr/bin/env python #!/usr/bin/env python
# -*- mode: python; coding: utf-8; -*- # -*- mode: python; coding: utf-8; -*-
##---------------------------------------------------------------------------## # ---------------------------------------------------------------------------##
## #
## Copyright (C) 1998-2003 Markus Franz Xaver Johannes Oberhumer # Copyright (C) 1998-2003 Markus Franz Xaver Johannes Oberhumer
## Copyright (C) 2003 Mt. Hood Playing Card Co. # Copyright (C) 2003 Mt. Hood Playing Card Co.
## Copyright (C) 2005-2009 Skomoroh # Copyright (C) 2005-2009 Skomoroh
## #
## This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version. # (at your option) any later version.
## #
## This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details. # GNU General Public License for more details.
## #
## You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
## #
##---------------------------------------------------------------------------## # ---------------------------------------------------------------------------##
# imports # imports
import sys
import imp import imp
# PySol imports # PySol imports
@ -32,10 +33,15 @@ import pysollib.settings
from pysollib.mygettext import _, n_ from pysollib.mygettext import _, n_
if sys.version_info > (3,):
basestring = str
unicode = str
# ************************************************************************ # ************************************************************************
# * constants # * constants
# ************************************************************************ # ************************************************************************
# GameInfo constants # GameInfo constants
class GI: class GI:
# game category - these *must* match the cardset CSI.TYPE_xxx # game category - these *must* match the cardset CSI.TYPE_xxx
@ -130,75 +136,115 @@ class GI:
GT_4DECK_TYPE: n_("Four-Deck games"), GT_4DECK_TYPE: n_("Four-Deck games"),
} }
## SELECT_GAME_BY_TYPE = [] # SELECT_GAME_BY_TYPE = []
## for gt, name in TYPE_NAMES.items(): # for gt, name in TYPE_NAMES.items():
## if not name.endswith('games'): # if not name.endswith('games'):
## name = name+n_(' type') # name = name+n_(' type')
## SELECT_GAME_BY_TYPE.append( # SELECT_GAME_BY_TYPE.append(
## (name, lambda gi, gt=gt: gi.si.game_type == gt)) # (name, lambda gi, gt=gt: gi.si.game_type == gt))
## SELECT_GAME_BY_TYPE = tuple(SELECT_GAME_BY_TYPE) # SELECT_GAME_BY_TYPE = tuple(SELECT_GAME_BY_TYPE)
SELECT_GAME_BY_TYPE = ( SELECT_GAME_BY_TYPE = (
(n_("Baker's Dozen type"),lambda gi, gt=GT_BAKERS_DOZEN: gi.si.game_type == gt), (n_("Baker's Dozen type"), lambda gi,
(n_("Beleaguered Castle type"),lambda gi, gt=GT_BELEAGUERED_CASTLE: gi.si.game_type == gt), gt=GT_BAKERS_DOZEN: gi.si.game_type == gt),
(n_("Canfield type"), lambda gi, gt=GT_CANFIELD: gi.si.game_type == gt), (n_("Beleaguered Castle type"),
lambda gi, gt=GT_BELEAGUERED_CASTLE: gi.si.game_type == gt),
(n_("Canfield type"),
lambda gi, gt=GT_CANFIELD: gi.si.game_type == gt),
(n_("Fan type"), lambda gi, gt=GT_FAN_TYPE: gi.si.game_type == gt), (n_("Fan type"), lambda gi, gt=GT_FAN_TYPE: gi.si.game_type == gt),
(n_("Forty Thieves type"),lambda gi, gt=GT_FORTY_THIEVES: gi.si.game_type == gt), (n_("Forty Thieves type"),
(n_("FreeCell type"), lambda gi, gt=GT_FREECELL: gi.si.game_type == gt), lambda gi, gt=GT_FORTY_THIEVES: gi.si.game_type == gt),
(n_("FreeCell type"),
lambda gi, gt=GT_FREECELL: gi.si.game_type == gt),
(n_("Golf type"), lambda gi, gt=GT_GOLF: gi.si.game_type == gt), (n_("Golf type"), lambda gi, gt=GT_GOLF: gi.si.game_type == gt),
(n_("Gypsy type"), lambda gi, gt=GT_GYPSY: gi.si.game_type == gt), (n_("Gypsy type"), lambda gi, gt=GT_GYPSY: gi.si.game_type == gt),
(n_("Klondike type"), lambda gi, gt=GT_KLONDIKE: gi.si.game_type == gt), (n_("Klondike type"),
lambda gi, gt=GT_KLONDIKE: gi.si.game_type == gt),
(n_("Montana type"), lambda gi, gt=GT_MONTANA: gi.si.game_type == gt), (n_("Montana type"), lambda gi, gt=GT_MONTANA: gi.si.game_type == gt),
(n_("Napoleon type"), lambda gi, gt=GT_NAPOLEON: gi.si.game_type == gt), (n_("Napoleon type"),
(n_("Numerica type"), lambda gi, gt=GT_NUMERICA: gi.si.game_type == gt), lambda gi, gt=GT_NAPOLEON: gi.si.game_type == gt),
(n_("Pairing type"), lambda gi, gt=GT_PAIRING_TYPE: gi.si.game_type == gt), (n_("Numerica type"),
lambda gi, gt=GT_NUMERICA: gi.si.game_type == gt),
(n_("Pairing type"),
lambda gi, gt=GT_PAIRING_TYPE: gi.si.game_type == gt),
(n_("Raglan type"), lambda gi, gt=GT_RAGLAN: gi.si.game_type == gt), (n_("Raglan type"), lambda gi, gt=GT_RAGLAN: gi.si.game_type == gt),
(n_("Simple games"), lambda gi, gt=GT_SIMPLE_TYPE: gi.si.game_type == gt), (n_("Simple games"),
lambda gi, gt=GT_SIMPLE_TYPE: gi.si.game_type == gt),
(n_("Spider type"), lambda gi, gt=GT_SPIDER: gi.si.game_type == gt), (n_("Spider type"), lambda gi, gt=GT_SPIDER: gi.si.game_type == gt),
(n_("Terrace type"), lambda gi, gt=GT_TERRACE: gi.si.game_type == gt), (n_("Terrace type"), lambda gi, gt=GT_TERRACE: gi.si.game_type == gt),
(n_("Yukon type"), lambda gi, gt=GT_YUKON: gi.si.game_type == gt), (n_("Yukon type"), lambda gi, gt=GT_YUKON: gi.si.game_type == gt),
(n_("One-Deck games"),lambda gi, gt=GT_1DECK_TYPE: gi.si.game_type == gt), (n_("One-Deck games"),
(n_("Two-Deck games"),lambda gi, gt=GT_2DECK_TYPE: gi.si.game_type == gt), lambda gi, gt=GT_1DECK_TYPE: gi.si.game_type == gt),
(n_("Three-Deck games"),lambda gi, gt=GT_3DECK_TYPE: gi.si.game_type == gt), (n_("Two-Deck games"),
(n_("Four-Deck games"),lambda gi, gt=GT_4DECK_TYPE: gi.si.game_type == gt), lambda gi, gt=GT_2DECK_TYPE: gi.si.game_type == gt),
(n_("Three-Deck games"),
lambda gi, gt=GT_3DECK_TYPE: gi.si.game_type == gt),
(n_("Four-Deck games"),
lambda gi, gt=GT_4DECK_TYPE: gi.si.game_type == gt),
) )
SELECT_ORIGINAL_GAME_BY_TYPE = ( SELECT_ORIGINAL_GAME_BY_TYPE = (
(n_("French type"), lambda gi, gf=GT_ORIGINAL, gt=(GT_HANAFUDA, GT_HEXADECK, GT_MUGHAL_GANJIFA, GT_NAVAGRAHA_GANJIFA, GT_DASHAVATARA_GANJIFA, GT_TAROCK,): gi.si.game_flags & gf and gi.si.game_type not in gt), (n_("French type"), lambda gi, gf=GT_ORIGINAL,
(n_("Ganjifa type"), lambda gi, gf=GT_ORIGINAL, gt=(GT_MUGHAL_GANJIFA, GT_NAVAGRAHA_GANJIFA, GT_DASHAVATARA_GANJIFA,): gi.si.game_flags & gf and gi.si.game_type in gt), gt=(
(n_("Hanafuda type"), lambda gi, gf=GT_ORIGINAL, gt=GT_HANAFUDA: gi.si.game_flags & gf and gi.si.game_type == gt), GT_HANAFUDA,
(n_("Hex A Deck type"), lambda gi, gf=GT_ORIGINAL, gt=GT_HEXADECK: gi.si.game_flags & gf and gi.si.game_type == gt), GT_HEXADECK, GT_MUGHAL_GANJIFA, GT_NAVAGRAHA_GANJIFA,
(n_("Tarock type"), lambda gi, gf=GT_ORIGINAL, gt=GT_TAROCK: gi.si.game_flags & gf and gi.si.game_type == gt), GT_DASHAVATARA_GANJIFA, GT_TAROCK,): gi.si.game_flags & gf and
gi.si.game_type not in gt),
(n_("Ganjifa type"), lambda gi, gf=GT_ORIGINAL,
gt=(GT_MUGHAL_GANJIFA, GT_NAVAGRAHA_GANJIFA,
GT_DASHAVATARA_GANJIFA,): gi.si.game_flags & gf and
gi.si.game_type in gt),
(n_("Hanafuda type"), lambda gi, gf=GT_ORIGINAL, gt=GT_HANAFUDA:
gi.si.game_flags & gf and gi.si.game_type == gt),
(n_("Hex A Deck type"), lambda gi, gf=GT_ORIGINAL, gt=GT_HEXADECK:
gi.si.game_flags & gf and gi.si.game_type == gt),
(n_("Tarock type"), lambda gi, gf=GT_ORIGINAL, gt=GT_TAROCK:
gi.si.game_flags & gf and gi.si.game_type == gt),
) )
SELECT_CONTRIB_GAME_BY_TYPE = ( SELECT_CONTRIB_GAME_BY_TYPE = (
(n_("French type"), lambda gi, gf=GT_CONTRIB, gt=(GT_HANAFUDA, GT_HEXADECK, GT_MUGHAL_GANJIFA, GT_NAVAGRAHA_GANJIFA, GT_DASHAVATARA_GANJIFA, GT_TAROCK,): gi.si.game_flags & gf and gi.si.game_type not in gt), (n_("French type"), lambda gi, gf=GT_CONTRIB,
(n_("Ganjifa type"), lambda gi, gf=GT_CONTRIB, gt=(GT_MUGHAL_GANJIFA, GT_NAVAGRAHA_GANJIFA, GT_DASHAVATARA_GANJIFA,): gi.si.game_flags & gf and gi.si.game_type in gt), gt=(GT_HANAFUDA, GT_HEXADECK, GT_MUGHAL_GANJIFA,
(n_("Hanafuda type"), lambda gi, gf=GT_CONTRIB, gt=GT_HANAFUDA: gi.si.game_flags & gf and gi.si.game_type == gt), GT_NAVAGRAHA_GANJIFA, GT_DASHAVATARA_GANJIFA, GT_TAROCK,):
(n_("Hex A Deck type"), lambda gi, gf=GT_CONTRIB, gt=GT_HEXADECK: gi.si.game_flags & gf and gi.si.game_type == gt), gi.si.game_flags & gf and gi.si.game_type not in gt),
(n_("Tarock type"), lambda gi, gf=GT_CONTRIB, gt=GT_TAROCK: gi.si.game_flags & gf and gi.si.game_type == gt), (n_("Ganjifa type"), lambda gi, gf=GT_CONTRIB,
gt=(GT_MUGHAL_GANJIFA, GT_NAVAGRAHA_GANJIFA,
GT_DASHAVATARA_GANJIFA,):
gi.si.game_flags & gf and gi.si.game_type in gt),
(n_("Hanafuda type"), lambda gi, gf=GT_CONTRIB, gt=GT_HANAFUDA:
gi.si.game_flags & gf and gi.si.game_type == gt),
(n_("Hex A Deck type"), lambda gi, gf=GT_CONTRIB, gt=GT_HEXADECK:
gi.si.game_flags & gf and gi.si.game_type == gt),
(n_("Tarock type"), lambda gi, gf=GT_CONTRIB, gt=GT_TAROCK:
gi.si.game_flags & gf and gi.si.game_type == gt),
) )
SELECT_ORIENTAL_GAME_BY_TYPE = ( SELECT_ORIENTAL_GAME_BY_TYPE = (
(n_("Dashavatara Ganjifa type"), lambda gi, gt=GT_DASHAVATARA_GANJIFA: gi.si.game_type == gt), (n_("Dashavatara Ganjifa type"), lambda gi, gt=GT_DASHAVATARA_GANJIFA:
(n_("Ganjifa type"), lambda gi, gt=(GT_MUGHAL_GANJIFA, GT_NAVAGRAHA_GANJIFA, GT_DASHAVATARA_GANJIFA,): gi.si.game_type in gt), gi.si.game_type == gt),
(n_("Hanafuda type"), lambda gi, gt=GT_HANAFUDA: gi.si.game_type == gt), (n_("Ganjifa type"), lambda gi,
(n_("Mughal Ganjifa type"), lambda gi, gt=GT_MUGHAL_GANJIFA: gi.si.game_type == gt), gt=(GT_MUGHAL_GANJIFA, GT_NAVAGRAHA_GANJIFA,
(n_("Navagraha Ganjifa type"), lambda gi, gt=GT_NAVAGRAHA_GANJIFA: gi.si.game_type == gt), GT_DASHAVATARA_GANJIFA,): gi.si.game_type in gt),
(n_("Hanafuda type"),
lambda gi, gt=GT_HANAFUDA: gi.si.game_type == gt),
(n_("Mughal Ganjifa type"),
lambda gi, gt=GT_MUGHAL_GANJIFA: gi.si.game_type == gt),
(n_("Navagraha Ganjifa type"),
lambda gi, gt=GT_NAVAGRAHA_GANJIFA: gi.si.game_type == gt),
) )
SELECT_SPECIAL_GAME_BY_TYPE = ( SELECT_SPECIAL_GAME_BY_TYPE = (
(n_("Shisen-Sho"), lambda gi, gt=GT_SHISEN_SHO: gi.si.game_type == gt), (n_("Shisen-Sho"), lambda gi, gt=GT_SHISEN_SHO: gi.si.game_type == gt),
(n_("Hex A Deck type"), lambda gi, gt=GT_HEXADECK: gi.si.game_type == gt), (n_("Hex A Deck type"),
lambda gi, gt=GT_HEXADECK: gi.si.game_type == gt),
(n_("Matrix type"), lambda gi, gt=GT_MATRIX: gi.si.game_type == gt), (n_("Matrix type"), lambda gi, gt=GT_MATRIX: gi.si.game_type == gt),
(n_("Memory type"), lambda gi, gt=GT_MEMORY: gi.si.game_type == gt), (n_("Memory type"), lambda gi, gt=GT_MEMORY: gi.si.game_type == gt),
(n_("Poker type"), lambda gi, gt=GT_POKER_TYPE: gi.si.game_type == gt), (n_("Poker type"), lambda gi, gt=GT_POKER_TYPE: gi.si.game_type == gt),
(n_("Puzzle type"), lambda gi, gt=GT_PUZZLE_TYPE: gi.si.game_type == gt), (n_("Puzzle type"),
lambda gi, gt=GT_PUZZLE_TYPE: gi.si.game_type == gt),
(n_("Tarock type"), lambda gi, gt=GT_TAROCK: gi.si.game_type == gt), (n_("Tarock type"), lambda gi, gt=GT_TAROCK: gi.si.game_type == gt),
) )
# These obsolete gameids have been used in previous versions of # These obsolete gameids have been used in previous versions of
# PySol and are no longer supported because of internal changes # PySol and are no longer supported because of internal changes
# (mainly rule changes). The game has been assigned a new id. # (mainly rule changes). The game has been assigned a new id.
@ -209,8 +255,8 @@ class GI:
72: 115, # Little Forty 72: 115, # Little Forty
75: 126, # Red and Black 75: 126, # Red and Black
82: 901, # La Belle Lucie (Midnight Oil) 82: 901, # La Belle Lucie (Midnight Oil)
## 155: 5034, # Mahjongg - Flying Dragon # 155: 5034, # Mahjongg - Flying Dragon
## 156: 5035, # Mahjongg - Fortress Towers # 156: 5035, # Mahjongg - Fortress Towers
262: 105, # Canfield 262: 105, # Canfield
902: 88, # Trefoil 902: 88, # Trefoil
904: 68, # Lexington Harp 904: 68, # Lexington Harp
@ -221,19 +267,19 @@ class GI:
# Atari ST Patience game v2.13 (we have 10 out of 10 games) # Atari ST Patience game v2.13 (we have 10 out of 10 games)
("Atari ST Patience", (1, 3, 4, 7, 12, 14, 15, 16, 17, 39,)), ("Atari ST Patience", (1, 3, 4, 7, 12, 14, 15, 16, 17, 39,)),
## Gnome AisleRiot 1.0.51 (we have 28 out of 32 games) # Gnome AisleRiot 1.0.51 (we have 28 out of 32 games)
## still missing: Camelot, Clock, Thieves, Thirteen # still missing: Camelot, Clock, Thieves, Thirteen
##("Gnome AisleRiot 1.0.51", ( # ("Gnome AisleRiot 1.0.51", (
## 2, 8, 11, 19, 27, 29, 33, 34, 35, 40, # 2, 8, 11, 19, 27, 29, 33, 34, 35, 40,
## 41, 42, 43, 58, 59, 92, 93, 94, 95, 96, # 41, 42, 43, 58, 59, 92, 93, 94, 95, 96,
## 100, 105, 111, 112, 113, 130, 200, 201, # 100, 105, 111, 112, 113, 130, 200, 201,
##)), # )),
## Gnome AisleRiot 1.4.0.1 (we have XX out of XX games) # Gnome AisleRiot 1.4.0.1 (we have XX out of XX games)
##("Gnome AisleRiot", ( # ("Gnome AisleRiot", (
## 1, 2, 8, 11, 19, 27, 29, 33, 34, 35, 40, # 1, 2, 8, 11, 19, 27, 29, 33, 34, 35, 40,
## 41, 42, 43, 58, 59, 92, 93, 94, 95, 96, # 41, 42, 43, 58, 59, 92, 93, 94, 95, 96,
## 100, 105, 111, 112, 113, 130, 200, 201, # 100, 105, 111, 112, 113, 130, 200, 201,
##)), # )),
# Gnome AisleRiot 2.2.0 (we have 61 out of 70 games) # Gnome AisleRiot 2.2.0 (we have 61 out of 70 games)
# still missing: # still missing:
# Gay gordons, Helsinki, # Gay gordons, Helsinki,
@ -247,12 +293,12 @@ class GI:
283, 284, 551, 552, 553, 737, 283, 284, 551, 552, 553, 737,
)), )),
## KDE Patience 0.7.3 from KDE 1.1.2 (we have 6 out of 9 games) # KDE Patience 0.7.3 from KDE 1.1.2 (we have 6 out of 9 games)
##("KDE Patience 0.7.3", (2, 7, 8, 18, 256, 903,)), # ("KDE Patience 0.7.3", (2, 7, 8, 18, 256, 903,)),
## KDE Patience 2.0 from KDE 2.1.2 (we have 11 out of 13 games) # KDE Patience 2.0 from KDE 2.1.2 (we have 11 out of 13 games)
##("KDE Patience", (1, 2, 7, 8, 18, 19, 23, 50, 256, 261, 903,)), # ("KDE Patience", (1, 2, 7, 8, 18, 19, 23, 50, 256, 261, 903,)),
## KDE Patience 2.0 from KDE 2.2beta1 (we have 12 out of 14 games) # KDE Patience 2.0 from KDE 2.2beta1 (we have 12 out of 14 games)
##("KDE Patience", (1, 2, 7, 8, 18, 19, 23, 36, 50, 256, 261, 903,)), # ("KDE Patience", (1, 2, 7, 8, 18, 19, 23, 36, 50, 256, 261, 903,)),
# KDE Patience 2.0 from KDE 3.1.1 (we have 15 out of 15 games) # KDE Patience 2.0 from KDE 3.1.1 (we have 15 out of 15 games)
("KDE Patience", (1, 2, 7, 8, 18, 19, 23, 36, 50, ("KDE Patience", (1, 2, 7, 8, 18, 19, 23, 36, 50,
256, 261, 277, 278, 279, 903,)), 256, 261, 277, 278, 279, 903,)),
@ -412,7 +458,7 @@ class GameInfo(Struct):
return s return s
try: try:
s = unicode(s, 'utf-8') s = unicode(s, 'utf-8')
except UnicodeDecodeError, err: except UnicodeDecodeError as err:
print_err(err) print_err(err)
s = unicode(s, 'utf-8', 'ignore') s = unicode(s, 'utf-8', 'ignore')
return s return s
@ -457,10 +503,12 @@ class GameInfo(Struct):
raise GameInfoException(name+": invalid game ID "+str(id)) raise GameInfoException(name+": invalid game ID "+str(id))
if category == GI.GC_MAHJONGG: if category == GI.GC_MAHJONGG:
if decks % 4: if decks % 4:
raise GameInfoException(name+": invalid number of decks "+str(id)) raise GameInfoException(name+": invalid number of decks " +
str(id))
else: else:
if not (1 <= decks <= 4): if not (1 <= decks <= 4):
raise GameInfoException(name+": invalid number of decks "+str(id)) raise GameInfoException(
name+": invalid number of decks "+str(id))
if not name: if not name:
raise GameInfoException(name+": invalid game name") raise GameInfoException(name+": invalid game name")
if GI.PROTECTED_GAMES.get(id): if GI.PROTECTED_GAMES.get(id):
@ -521,7 +569,7 @@ class GameManager:
return self.__all_games.get(key) return self.__all_games.get(key)
def _check_game(self, gi): def _check_game(self, gi):
##print 'check game:', gi.id, gi.short_name.encode('utf-8') # print 'check game:', gi.id, gi.short_name.encode('utf-8')
if gi.id in self.__all_games: if gi.id in self.__all_games:
raise GameInfoException("duplicate game ID %s: %s and %s" % raise GameInfoException("duplicate game ID %s: %s and %s" %
(gi.id, str(gi.gameclass), (gi.id, str(gi.gameclass),
@ -543,14 +591,14 @@ class GameManager:
(gi.id, n)) (gi.id, n))
def register(self, gi): def register(self, gi):
##print gi.id, gi.short_name.encode('utf-8') # print gi.id, gi.short_name.encode('utf-8')
if not isinstance(gi, GameInfo): if not isinstance(gi, GameInfo):
raise GameInfoException("wrong GameInfo class") raise GameInfoException("wrong GameInfo class")
if self.check_game and pysollib.settings.CHECK_GAMES: if self.check_game and pysollib.settings.CHECK_GAMES:
self._check_game(gi) self._check_game(gi)
##if 0 and gi.si.game_flags & GI.GT_XORIGINAL: # if 0 and gi.si.game_flags & GI.GT_XORIGINAL:
## return # return
##print gi.id, gi.name # print gi.id, gi.name
self.__all_games[gi.id] = gi self.__all_games[gi.id] = gi
self.__all_gamenames[gi.name] = gi self.__all_gamenames[gi.name] = gi
for n in gi.altnames: for n in gi.altnames:
@ -565,12 +613,13 @@ class GameManager:
self.__games_by_name = None self.__games_by_name = None
# update registry # update registry
k = gi.si.game_type k = gi.si.game_type
self.registered_game_types[k] = self.registered_game_types.get(k, 0) + 1 self.registered_game_types[k] = \
## if not gi.si.game_type == GI.GT_MAHJONGG: self.registered_game_types.get(k, 0) + 1
## for v, k in GI.GAMES_BY_PYSOL_VERSION: # if not gi.si.game_type == GI.GT_MAHJONGG:
## if gi.id in k: break # for v, k in GI.GAMES_BY_PYSOL_VERSION:
## else: # if gi.id in k: break
## print gi.id # else:
# print gi.id
if hasattr(gi.gameclass, 'Solver_Class') and \ if hasattr(gi.gameclass, 'Solver_Class') and \
gi.gameclass.Solver_Class is not None: gi.gameclass.Solver_Class is not None:
self.__games_for_solver.append(gi.id) self.__games_for_solver.append(gi.id)
@ -586,7 +635,7 @@ class GameManager:
# #
def getAllGames(self): def getAllGames(self):
##return self.__all_games # return self.__all_games
return self.__games.values() return self.__games.values()
def getGamesIdSortedById(self): def getGamesIdSortedById(self):
@ -652,10 +701,9 @@ def registerGame(gameinfo):
def loadGame(modname, filename, check_game=False): def loadGame(modname, filename, check_game=False):
##print "load game", modname, filename # print "load game", modname, filename
GAME_DB.check_game = check_game GAME_DB.check_game = check_game
GAME_DB.current_filename = filename GAME_DB.current_filename = filename
module = imp.load_source(modname, filename) imp.load_source(modname, filename)
##execfile(filename, globals(), globals()) # execfile(filename, globals(), globals())
GAME_DB.current_filename = None GAME_DB.current_filename = None

View file

@ -9,7 +9,7 @@ use Test::Differences qw( eq_or_diff );
use String::ShellQuote qw/ shell_quote /; use String::ShellQuote qw/ shell_quote /;
# my $cmd = shell_quote( 'flake8', '.' ); # my $cmd = shell_quote( 'flake8', '.' );
my $cmd = shell_quote( 'flake8', glob('./pysollib/[a-c]*.py') ); my $cmd = shell_quote( 'flake8', glob('./pysollib/[a-g]*.py') );
# TEST # TEST
eq_or_diff( scalar(`$cmd`), '', "flake8 is happy with the code." ); eq_or_diff( scalar(`$cmd`), '', "flake8 is happy with the code." );