summaryrefslogtreecommitdiff
path: root/dealconvert/formats
diff options
context:
space:
mode:
authoremkael <emkael@tlen.pl>2019-08-01 14:16:52 +0200
committeremkael <emkael@tlen.pl>2019-08-01 14:19:26 +0200
commit2cf067473e78844aa616de98bcf0cfcadada2431 (patch)
treed28970628cd8b4ad0b07607606bf498d97377294 /dealconvert/formats
parent05d8c2a8b6801533144e1c0aa7e550ec44e0d946 (diff)
DD hand analysis optional in API version
Fixes #3
Diffstat (limited to 'dealconvert/formats')
-rw-r--r--dealconvert/formats/__init__.py3
-rw-r--r--dealconvert/formats/pbn.py19
-rw-r--r--dealconvert/formats/stdout.py2
3 files changed, 13 insertions, 11 deletions
diff --git a/dealconvert/formats/__init__.py b/dealconvert/formats/__init__.py
index cdd8703..2d3d983 100644
--- a/dealconvert/formats/__init__.py
+++ b/dealconvert/formats/__init__.py
@@ -11,7 +11,8 @@ class DealFormat(object):
with open(input_file, 'rb') as content:
return self.parse_content(content)
- def output(self, output_file, deal):
+ def output(self, output_file, deal, analyze=False):
+ self.analyze = analyze
if not len(deal):
raise RuntimeError('Dealset is empty')
with open(output_file, 'wb') as out_file:
diff --git a/dealconvert/formats/pbn.py b/dealconvert/formats/pbn.py
index bc52462..b6c30ed 100644
--- a/dealconvert/formats/pbn.py
+++ b/dealconvert/formats/pbn.py
@@ -137,14 +137,15 @@ class PBNFormat(DealFormat):
])))
for field in board.extra_fields:
lines.append(field)
- try:
- dd_board = PBNBoard(lines)
- dd_table = DDTable(dd_board).get_dd_table(self.interactive)
- dd_contract = ParScore(dd_board).get_par_contract(dd_table)
- dd_board.save_dd_table(dd_table)
- dd_board.save_par_contract(dd_contract)
- lines = [field.raw_field for field in dd_board.fields]
- except Exception as e:
- warnings.warn('unable to determine double-dummy data: %s' % e)
+ if self.analyze:
+ try:
+ dd_board = PBNBoard(lines)
+ dd_table = DDTable(dd_board).get_dd_table(self.interactive)
+ dd_contract = ParScore(dd_board).get_par_contract(dd_table)
+ dd_board.save_dd_table(dd_table)
+ dd_board.save_par_contract(dd_contract)
+ lines = [field.raw_field for field in dd_board.fields]
+ except Exception as e:
+ warnings.warn('unable to determine double-dummy data: %s' % e)
for line in lines + ['']:
out_file.write(line + '\r\n')
diff --git a/dealconvert/formats/stdout.py b/dealconvert/formats/stdout.py
index b9df341..9725c06 100644
--- a/dealconvert/formats/stdout.py
+++ b/dealconvert/formats/stdout.py
@@ -9,7 +9,7 @@ class STDOUTFormat(DealFormat):
def parse(self, input_file):
return []
- def output(self, output_file, deal):
+ def output(self, output_file, deal, analyze=False):
width = 9
for board in deal:
lines = []