summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoremkael <emkael@tlen.pl>2019-05-30 00:02:54 +0200
committeremkael <emkael@tlen.pl>2019-05-30 00:02:54 +0200
commitc417577b9cf19e00f92d583f3c82ff95c9e54efe (patch)
tree6511b4c4ae29926e1f3241fe6c19e2642d65d664
parent959305e4b73459cda5cde1de77f14a38457adeaa (diff)
Error reporting improved
-rw-r--r--dealconvert/formats/ber.py2
-rw-r--r--dealconvert/formats/bhg.py2
-rw-r--r--dealconvert/formats/bri.py2
-rw-r--r--dealconvert/formats/dlm.py2
-rw-r--r--dealconvert/formats/rzd.py4
5 files changed, 7 insertions, 5 deletions
diff --git a/dealconvert/formats/ber.py b/dealconvert/formats/ber.py
index 54ffd37..1ddd6c8 100644
--- a/dealconvert/formats/ber.py
+++ b/dealconvert/formats/ber.py
@@ -50,7 +50,7 @@ class BERFormat(DealFormat):
deal_str[j*13 + self.cards.index(card)] = str(i + 1)
except ValueError:
raise RuntimeError(
- 'invalid card character: %s' % (card))
+ 'invalid card character: %s in board %d' % (card, board.number))
if ' ' in deal_str:
warnings.warn('not all cards present in board %d' % (
board.number))
diff --git a/dealconvert/formats/bhg.py b/dealconvert/formats/bhg.py
index 23a1673..08b9213 100644
--- a/dealconvert/formats/bhg.py
+++ b/dealconvert/formats/bhg.py
@@ -51,7 +51,7 @@ class BHGFormat(DealFormat):
line += chr((65 if card < 26 else 71)+card)
except ValueError:
raise RuntimeError(
- 'invalid suit %s in board #%d' % (
+ 'invalid suit %s in board %d' % (
''.join(suit), deal.number))
lines[deal.number] = line
out_file.write('\r\n'.join(lines))
diff --git a/dealconvert/formats/bri.py b/dealconvert/formats/bri.py
index 942c4e4..1a4cc0f 100644
--- a/dealconvert/formats/bri.py
+++ b/dealconvert/formats/bri.py
@@ -67,5 +67,5 @@ class BRIFormat(DealFormat):
deal_str += '%02d' % (self.cards.index(card) + 13*i + 1)
except ValueError:
raise RuntimeError(
- 'invalid card character: %s' % (card))
+ 'invalid card character: %s in board %d' % (card, deal.number))
return deal_str
diff --git a/dealconvert/formats/dlm.py b/dealconvert/formats/dlm.py
index db9ac79..f99cde4 100644
--- a/dealconvert/formats/dlm.py
+++ b/dealconvert/formats/dlm.py
@@ -98,7 +98,7 @@ class DLMFormat(DealFormat):
try:
values[suit*13+self.cards.index(card)] = i
except ValueError:
- raise RuntimeError('invalid card: %s' % (card))
+ raise RuntimeError('invalid card: %s in board %d' % (card, board))
line = 'Board %02d=' % (board)
checksum = board
for i in range(0, 26):
diff --git a/dealconvert/formats/rzd.py b/dealconvert/formats/rzd.py
index 8ca1e97..93dbc45 100644
--- a/dealconvert/formats/rzd.py
+++ b/dealconvert/formats/rzd.py
@@ -51,11 +51,13 @@ class RZDFormat(DealFormat):
try:
idx = self.cards.index(card)
except ValueError:
- raise RuntimeError('invalid card: %s' % (card))
+ raise RuntimeError('invalid card: %s in board %d' % (card, deal.number))
values[idx*4+suit] = (i + offset)%4
for i in range(0, 13):
byte = 0
for j in range(0, 4):
+ if values[4*i+j] is None:
+ raise RuntimeError('missing card: %s%s in board %d' % ('SHDC'[j], self.cards[i], deal.number))
byte *= 4
byte += values[4*i+j]
value += chr(byte)