diff --git a/scripts/all_games.py b/scripts/all_games.py
index 4a317442..b87cad2f 100755
--- a/scripts/all_games.py
+++ b/scripts/all_games.py
@@ -2,23 +2,13 @@
# -*- mode: python; coding: koi8-r; -*-
#
-import sys, os, re, time
-from pprint import pprint
-
-os.environ['LANG'] = 'C'
+import sys
+import os
+import re
+import time
+# from pprint import pprint
import __builtin__
-__builtin__.__dict__['_'] = lambda x: x
-__builtin__.__dict__['n_'] = lambda x: x
-
-pysollib_path = os.path.join(sys.path[0], '..')
-sys.path[0] = os.path.normpath(pysollib_path)
-rules_dir = os.path.normpath(os.path.join(pysollib_path, 'data/html/rules'))
-#pprint(sys.path)
-#print rules_dir
-
from pysollib.mygettext import fix_gettext
-fix_gettext()
-
import pysollib.games
import pysollib.games.special
import pysollib.games.ultra
@@ -28,15 +18,29 @@ from pysollib.gamedb import GAME_DB
from pysollib.gamedb import GI
from pysollib.mfxutil import latin1_to_ascii
from pysollib.resource import CSI
+os.environ['LANG'] = 'C'
+__builtin__.__dict__['_'] = lambda x: x
+__builtin__.__dict__['n_'] = lambda x: x
+
+pysollib_path = os.path.join(sys.path[0], '..')
+sys.path[0] = os.path.normpath(pysollib_path)
+rules_dir = os.path.normpath(os.path.join(pysollib_path, 'data/html/rules'))
+# pprint(sys.path)
+# print rules_dir
+
+fix_gettext()
+
def getGameRulesFilename(n):
- if n.startswith('Mahjongg'): return 'mahjongg.html'
- ##n = re.sub(r"[\[\(].*$", "", n)
+ if n.startswith('Mahjongg'):
+ return 'mahjongg.html'
+ # n = re.sub(r"[\[\(].*$", "", n)
n = latin1_to_ascii(n)
n = re.sub(r"[^\w]", "", n)
n = n.lower() + ".html"
return n
+
GAME_BY_TYPE = {
GI.GT_BAKERS_DOZEN: "Baker's Dozen",
GI.GT_BELEAGUERED_CASTLE: "Beleaguered Castle",
@@ -70,63 +74,66 @@ GAME_BY_TYPE = {
GI.GT_HANAFUDA: "Hanafuda",
GI.GT_DASHAVATARA_GANJIFA: "Dashavatara Ganjifa",
GI.GT_MAHJONGG: "Mahjongg",
- GI.GT_MUGHAL_GANJIFA:"Mughal Ganjifa",
- GI.GT_SHISEN_SHO:"Shisen-Sho",
+ GI.GT_MUGHAL_GANJIFA: "Mughal Ganjifa",
+ GI.GT_SHISEN_SHO: "Shisen-Sho",
}
+
def by_category():
games = GAME_DB.getGamesIdSortedById()
games_by_cat = {}
for id in games:
gi = GAME_DB.get(id)
gt = CSI.TYPE_NAME[gi.category]
- if games_by_cat.has_key(gt):
+ if gt in games_by_cat:
games_by_cat[gt] += 1
else:
games_by_cat[gt] = 1
games_by_cat_list = [(i, j) for i, j in games_by_cat.items()]
- games_by_cat_list.sort(lambda i, j: cmp(j[1], i[1]))
+ games_by_cat_list.sort(key=lambda x: x[1])
# print '
Name | Number |
'
# for i in games_by_cat_list:
# print '%s | %s |
' % i
# print '
'
- print ''
+ print('')
for i in games_by_cat_list:
- print '- %s (%s games)
' % i
- print '
'
+ print('- %s (%s games)
' % i)
+ print('
')
return
+
def by_type():
games = GAME_DB.getGamesIdSortedById()
games_by_type = {}
for id in games:
gi = GAME_DB.get(id)
- if not GAME_BY_TYPE.has_key(gi.si.game_type):
- print gi.si.game_type
+ if gi.si.game_type not in GAME_BY_TYPE:
+ print(gi.si.game_type)
continue
gt = GAME_BY_TYPE[gi.si.game_type]
- if games_by_type.has_key(gt):
+ if gt in games_by_type:
games_by_type[gt] += 1
else:
games_by_type[gt] = 1
games_by_type_list = games_by_type.items()
- games_by_type_list.sort(lambda i, j: cmp(i[0], j[0]))
-## print 'Name | Number |
'
-## for i in games_by_type_list:
-## print '%s | %s |
' % i
-## print '
'
- print ''
+ games_by_type_list.sort(key=lambda x: x[0])
+ # print 'Name | Number |
'
+ # for i in games_by_type_list:
+ # print '%s | %s |
' % i
+ # print '
'
+ print('')
for i in games_by_type_list:
- print '- %s (%s games)
' % i
- print '
'
+ print('- %s (%s games)
' % i)
+ print('
')
return
+
def all_games(sort_by='id'):
- #rules_dir = 'rules'
- print '''
+ # rules_dir = 'rules'
+ print('''
ID | Name | Alternate names | Type |
-'''
+''')
if sort_by == 'id':
get_games_func = GAME_DB.getGamesIdSortedById
@@ -146,38 +153,39 @@ def all_games(sort_by='id'):
altnames = '
'.join(gi.altnames).encode('utf-8')
fn = os.path.join(rules_dir, rules_fn)
if 1 and os.path.exists(fn):
- print '''%s |
+ print(''' |
%s |
%s
| %s | %s |
-''' % (id, fn, name, altnames, gt)
+''' % (id, fn, name, altnames, gt))
else:
- print '''%s | %s | %s | %s |
-''' % (id, name, altnames, gt)
- print '
'
+ print('''%s | %s | %s | %s |
+''' % (id, name, altnames, gt))
+ print('
')
+
def create_html(sort_by):
- print '''
+ print('''
PySolFC - List of solitaire games
-'''
- print 'Total games: %d' % len(GAME_DB.getGamesIdSortedById())
- print 'Categories
'
+''')
+ print('Total games: %d' % len(GAME_DB.getGamesIdSortedById()))
+ print('Categories
')
by_category()
- print 'Types
'
+ print('Types
')
by_type()
- #print 'All games
'
+ # print 'All games
'
all_games(sort_by)
- print ''
+ print('