Make better package (#132)
* make domdiv a better behaved python package (see #131) * move code from __init__.py to main.py to make import quicker and make version work without dependencies * update languages import to use pkg_resources, fix tests * update readmes * change font lookup, font readme notes
This commit is contained in:
1 parent
d64b52f491
commit
f47d9ee17b
133 files changed
+1240
-1249
No files matched your search
Whitespace-only changes.
@@ -1,58 +0,0 @@
|
||||
import unittest
|
||||
from .. import domdiv
|
||||
from ..domdiv import cards as domdiv_cards
|
||||
|
||||
|
||||
class TestCardDB(unittest.TestCase):
|
||||
|
||||
def test_cardread(self):
|
||||
options = domdiv.parse_opts([])
|
||||
options.data_path = '.'
|
||||
cards = domdiv.read_write_card_data(options)
|
||||
self.assertEquals(len(cards), 445)
|
||||
print set(c.cardset_tag for c in cards)
|
||||
valid_cardsets = {
|
||||
u'base',
|
||||
u'dominion1stEdition',
|
||||
u'dominion2ndEdition',
|
||||
u'dominion2ndEditionUpgrade',
|
||||
u'intrigue1stEdition',
|
||||
u'intrigue2ndEdition',
|
||||
u'intrigue2ndEditionUpgrade',
|
||||
u'seaside',
|
||||
u'alchemy',
|
||||
u'prosperity',
|
||||
u'cornucopia extras',
|
||||
u'cornucopia',
|
||||
u'hinterlands',
|
||||
u'dark ages',
|
||||
u'dark ages extras',
|
||||
u'guilds',
|
||||
u'adventures',
|
||||
u'adventures extras',
|
||||
u'empires',
|
||||
u'empires extras',
|
||||
u'promo',
|
||||
u'extras'
|
||||
}
|
||||
for c in cards:
|
||||
self.assertIsInstance(c, domdiv_cards.Card)
|
||||
self.assertIn(c.cardset_tag, valid_cardsets)
|
||||
|
||||
def test_languages(self):
|
||||
# for now, just test that they load
|
||||
options = domdiv.parse_opts(['--language', 'it'])
|
||||
options.data_path = '.'
|
||||
cards = domdiv.read_write_card_data(options)
|
||||
self.assertTrue(cards, 'Italians cards did not read properly')
|
||||
cards = domdiv.add_card_text(options, cards, 'en_us')
|
||||
cards = domdiv.add_card_text(options, cards, 'it')
|
||||
self.assertIn("Maledizione", [card.name for card in cards])
|
||||
|
||||
options = domdiv.parse_opts(['--language', 'de'])
|
||||
options.data_path = '.'
|
||||
cards = domdiv.read_write_card_data(options)
|
||||
self.assertTrue(cards, 'German cards did not read properly')
|
||||
cards = domdiv.add_card_text(options, cards, 'en_us')
|
||||
cards = domdiv.add_card_text(options, cards, 'de')
|
||||
self.assertIn("Fluch", [card.name for card in cards])
|
||||
@@ -1,13 +0,0 @@
|
||||
import unittest
|
||||
import pycodestyle
|
||||
import glob
|
||||
|
||||
|
||||
class TestCodeFormat(unittest.TestCase):
|
||||
|
||||
def test_conformance(self):
|
||||
"""Test that we conform to PEP-8."""
|
||||
style = pycodestyle.StyleGuide(max_line_length=120)
|
||||
result = style.check_files(glob.glob('*.py') + glob.glob('domdiv/*.py') + glob.glob('tests/*.py'))
|
||||
self.assertEqual(result.total_errors, 0,
|
||||
"Found code style errors (and warnings).")
|
||||
@@ -1,34 +0,0 @@
|
||||
import unittest
|
||||
from .. import domdiv
|
||||
from reportlab.lib.units import cm
|
||||
|
||||
|
||||
class TestLayout(unittest.TestCase):
|
||||
|
||||
def test_horizontal(self):
|
||||
# should be the default
|
||||
options = domdiv.parse_opts([])
|
||||
self.assertEquals(options.orientation, 'horizontal')
|
||||
domdiv.calculate_layout(options)
|
||||
self.assertEquals(options.numDividersHorizontal, 2)
|
||||
self.assertEquals(options.numDividersVertical, 3)
|
||||
self.assertEquals(options.dividerWidth, 9.1 * cm)
|
||||
self.assertEquals(options.labelHeight, 0.9 * cm)
|
||||
self.assertEquals(options.dividerHeight, 5.9 * cm + options.labelHeight)
|
||||
|
||||
def test_vertical(self):
|
||||
options = domdiv.parse_opts(['--orientation', 'vertical'])
|
||||
self.assertEquals(options.orientation, 'vertical')
|
||||
domdiv.calculate_layout(options)
|
||||
self.assertEquals(options.numDividersHorizontal, 3)
|
||||
self.assertEquals(options.numDividersVertical, 2)
|
||||
self.assertEquals(options.dividerWidth, 5.9 * cm)
|
||||
self.assertEquals(options.labelHeight, 0.9 * cm)
|
||||
self.assertEquals(options.dividerHeight, 9.1 * cm + options.labelHeight)
|
||||
|
||||
def test_sleeved(self):
|
||||
options = domdiv.parse_opts(['--size', 'sleeved'])
|
||||
domdiv.calculate_layout(options)
|
||||
self.assertEquals(options.dividerWidth, 9.4 * cm)
|
||||
self.assertEquals(options.labelHeight, 0.9 * cm)
|
||||
self.assertEquals(options.dividerHeight, 6.15 * cm + options.labelHeight)
|
||||
@@ -1,300 +0,0 @@
|
||||
import unittest
|
||||
from .. import domdiv
|
||||
|
||||
|
||||
class TestTextTabs(unittest.TestCase):
|
||||
|
||||
####################
|
||||
# Card Text and Tab Default Test
|
||||
####################
|
||||
def test_text_tabs_default(self):
|
||||
# should be the default
|
||||
options = domdiv.parse_opts([])
|
||||
self.assertEquals(options.text_front, 'card')
|
||||
self.assertEquals(options.text_back, 'rules')
|
||||
self.assertEquals(options.tab_name_align, 'left')
|
||||
self.assertEquals(options.tab_side, 'right-alternate')
|
||||
domdiv.calculate_layout(options)
|
||||
self.assertEquals(options.tab_name_align, 'left')
|
||||
|
||||
####################
|
||||
# Card Text Tests
|
||||
####################
|
||||
def test_text_card_rules(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--front', 'card', '--back', 'rules'])
|
||||
self.assertEquals(options.text_front, 'card')
|
||||
self.assertEquals(options.text_back, 'rules')
|
||||
|
||||
def test_text_card_blank(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--front', 'card', '--back', 'blank'])
|
||||
self.assertEquals(options.text_front, 'card')
|
||||
self.assertEquals(options.text_back, 'blank')
|
||||
|
||||
def test_text_card_card(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--front', 'card', '--back', 'card'])
|
||||
self.assertEquals(options.text_front, 'card')
|
||||
self.assertEquals(options.text_back, 'card')
|
||||
|
||||
def test_text_card_none(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--front', 'card', '--back', 'none'])
|
||||
self.assertEquals(options.text_front, 'card')
|
||||
self.assertEquals(options.text_back, 'none')
|
||||
|
||||
def test_text_rules_rules(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--front', 'rules', '--back', 'rules'])
|
||||
self.assertEquals(options.text_front, 'rules')
|
||||
self.assertEquals(options.text_back, 'rules')
|
||||
|
||||
def test_text_rules_blank(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--front', 'rules', '--back', 'blank'])
|
||||
self.assertEquals(options.text_front, 'rules')
|
||||
self.assertEquals(options.text_back, 'blank')
|
||||
|
||||
def test_text_rules_card(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--front', 'rules', '--back', 'card'])
|
||||
self.assertEquals(options.text_front, 'rules')
|
||||
self.assertEquals(options.text_back, 'card')
|
||||
|
||||
def test_text_rules_none(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--front', 'rules', '--back', 'none'])
|
||||
self.assertEquals(options.text_front, 'rules')
|
||||
self.assertEquals(options.text_back, 'none')
|
||||
|
||||
def test_text_blank_rules(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--front', 'blank', '--back', 'rules'])
|
||||
self.assertEquals(options.text_front, 'blank')
|
||||
self.assertEquals(options.text_back, 'rules')
|
||||
|
||||
def test_text_blank_blank(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--front', 'blank', '--back', 'blank'])
|
||||
self.assertEquals(options.text_front, 'blank')
|
||||
self.assertEquals(options.text_back, 'blank')
|
||||
|
||||
def test_text_blank_card(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--front', 'blank', '--back', 'card'])
|
||||
self.assertEquals(options.text_front, 'blank')
|
||||
self.assertEquals(options.text_back, 'card')
|
||||
|
||||
def test_text_blank_none(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--front', 'blank', '--back', 'none'])
|
||||
self.assertEquals(options.text_front, 'blank')
|
||||
self.assertEquals(options.text_back, 'none')
|
||||
|
||||
####################
|
||||
# Card Tab Tests
|
||||
####################
|
||||
# --tab_name_align left
|
||||
def test_tab_left_left(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--tab_name_align', 'left', '--tab_side', 'left'])
|
||||
self.assertEquals(options.tab_name_align, 'left')
|
||||
self.assertEquals(options.tab_side, 'left')
|
||||
domdiv.calculate_layout(options)
|
||||
self.assertEquals(options.tab_name_align, 'left')
|
||||
self.assertEquals(options.tab_side, 'left')
|
||||
|
||||
def test_tab_left_right(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--tab_name_align', 'left', '--tab_side', 'right'])
|
||||
self.assertEquals(options.tab_name_align, 'left')
|
||||
self.assertEquals(options.tab_side, 'right')
|
||||
domdiv.calculate_layout(options)
|
||||
self.assertEquals(options.tab_name_align, 'left')
|
||||
self.assertEquals(options.tab_side, 'right')
|
||||
|
||||
def test_tab_left_leftalt(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--tab_name_align', 'left', '--tab_side',
|
||||
'left-alternate'])
|
||||
self.assertEquals(options.tab_name_align, 'left')
|
||||
self.assertEquals(options.tab_side, 'left-alternate')
|
||||
domdiv.calculate_layout(options)
|
||||
self.assertEquals(options.tab_name_align, 'left')
|
||||
self.assertEquals(options.tab_side, 'left-alternate')
|
||||
|
||||
def test_tab_left_rightalt(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--tab_name_align', 'left', '--tab_side',
|
||||
'right-alternate'])
|
||||
self.assertEquals(options.tab_name_align, 'left')
|
||||
self.assertEquals(options.tab_side, 'right-alternate')
|
||||
domdiv.calculate_layout(options)
|
||||
self.assertEquals(options.tab_name_align, 'left')
|
||||
self.assertEquals(options.tab_side, 'right-alternate')
|
||||
|
||||
def test_tab_left_full(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--tab_name_align', 'left', '--tab_side', 'full'])
|
||||
self.assertEquals(options.tab_name_align, 'left')
|
||||
self.assertEquals(options.tab_side, 'full')
|
||||
domdiv.calculate_layout(options)
|
||||
self.assertEquals(options.tab_name_align, 'left')
|
||||
self.assertEquals(options.tab_side, 'full')
|
||||
|
||||
# --tab_name_align right
|
||||
def test_tab_right_left(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--tab_name_align', 'right', '--tab_side', 'left'])
|
||||
self.assertEquals(options.tab_name_align, 'right')
|
||||
self.assertEquals(options.tab_side, 'left')
|
||||
domdiv.calculate_layout(options)
|
||||
self.assertEquals(options.tab_name_align, 'right')
|
||||
self.assertEquals(options.tab_side, 'left')
|
||||
|
||||
def test_tab_right_right(self):
|
||||
options = domdiv.parse_opts(['--tab_name_align',
|
||||
'right', '--tab_side', 'right'])
|
||||
self.assertEquals(options.tab_name_align, 'right')
|
||||
self.assertEquals(options.tab_side, 'right')
|
||||
domdiv.calculate_layout(options)
|
||||
self.assertEquals(options.tab_name_align, 'right')
|
||||
self.assertEquals(options.tab_side, 'right')
|
||||
|
||||
def test_tab_right_leftalt(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--tab_name_align', 'right', '--tab_side',
|
||||
'left-alternate'])
|
||||
self.assertEquals(options.tab_name_align, 'right')
|
||||
self.assertEquals(options.tab_side, 'left-alternate')
|
||||
domdiv.calculate_layout(options)
|
||||
self.assertEquals(options.tab_name_align, 'right')
|
||||
self.assertEquals(options.tab_side, 'left-alternate')
|
||||
|
||||
def test_tab_right_rightalt(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--tab_name_align', 'right', '--tab_side',
|
||||
'right-alternate'])
|
||||
self.assertEquals(options.tab_name_align, 'right')
|
||||
self.assertEquals(options.tab_side, 'right-alternate')
|
||||
domdiv.calculate_layout(options)
|
||||
self.assertEquals(options.tab_name_align, 'right')
|
||||
self.assertEquals(options.tab_side, 'right-alternate')
|
||||
|
||||
def test_tab_right_full(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--tab_name_align', 'right', '--tab_side', 'full'])
|
||||
self.assertEquals(options.tab_name_align, 'right')
|
||||
self.assertEquals(options.tab_side, 'full')
|
||||
domdiv.calculate_layout(options)
|
||||
self.assertEquals(options.tab_name_align, 'right')
|
||||
self.assertEquals(options.tab_side, 'full')
|
||||
|
||||
# --tab_name_align edge
|
||||
def test_tab_edge_left(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--tab_name_align', 'edge', '--tab_side', 'left'])
|
||||
self.assertEquals(options.tab_name_align, 'edge')
|
||||
self.assertEquals(options.tab_side, 'left')
|
||||
domdiv.calculate_layout(options)
|
||||
self.assertEquals(options.tab_name_align, 'edge')
|
||||
self.assertEquals(options.tab_side, 'left')
|
||||
|
||||
def test_tab_edge_right(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--tab_name_align', 'edge', '--tab_side', 'right'])
|
||||
self.assertEquals(options.tab_name_align, 'edge')
|
||||
self.assertEquals(options.tab_side, 'right')
|
||||
domdiv.calculate_layout(options)
|
||||
self.assertEquals(options.tab_name_align, 'edge')
|
||||
self.assertEquals(options.tab_side, 'right')
|
||||
|
||||
def test_tab_edge_leftalt(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--tab_name_align', 'edge', '--tab_side',
|
||||
'left-alternate'])
|
||||
self.assertEquals(options.tab_name_align, 'edge')
|
||||
self.assertEquals(options.tab_side, 'left-alternate')
|
||||
domdiv.calculate_layout(options)
|
||||
self.assertEquals(options.tab_name_align, 'edge')
|
||||
self.assertEquals(options.tab_side, 'left-alternate')
|
||||
|
||||
def test_tab_edge_rightalt(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--tab_name_align', 'edge', '--tab_side',
|
||||
'right-alternate'])
|
||||
self.assertEquals(options.tab_name_align, 'edge')
|
||||
self.assertEquals(options.tab_side, 'right-alternate')
|
||||
domdiv.calculate_layout(options)
|
||||
self.assertEquals(options.tab_name_align, 'edge')
|
||||
self.assertEquals(options.tab_side, 'right-alternate')
|
||||
|
||||
def test_tab_edge_full(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--tab_name_align', 'edge', '--tab_side', 'full'])
|
||||
self.assertEquals(options.tab_name_align, 'edge')
|
||||
self.assertEquals(options.tab_side, 'full')
|
||||
domdiv.calculate_layout(options)
|
||||
self.assertEquals(options.tab_name_align,
|
||||
'left') # special check for odd condition
|
||||
self.assertEquals(options.tab_side, 'full')
|
||||
|
||||
# --tab_name_align centre
|
||||
def test_tab_centre_left(self):
|
||||
options = domdiv.parse_opts(['--tab_name_align',
|
||||
'centre', '--tab_side', 'left'])
|
||||
self.assertEquals(options.tab_name_align, 'centre')
|
||||
self.assertEquals(options.tab_side, 'left')
|
||||
domdiv.calculate_layout(options)
|
||||
self.assertEquals(options.tab_name_align, 'centre')
|
||||
self.assertEquals(options.tab_side, 'left')
|
||||
|
||||
def test_tab_centre_right(self):
|
||||
options = domdiv.parse_opts(['--tab_name_align',
|
||||
'centre', '--tab_side', 'right'])
|
||||
self.assertEquals(options.tab_name_align, 'centre')
|
||||
self.assertEquals(options.tab_side, 'right')
|
||||
domdiv.calculate_layout(options)
|
||||
self.assertEquals(options.tab_name_align, 'centre')
|
||||
self.assertEquals(options.tab_side, 'right')
|
||||
|
||||
def test_tab_centre_leftalt(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--tab_name_align', 'centre', '--tab_side',
|
||||
'left-alternate'])
|
||||
self.assertEquals(options.tab_name_align, 'centre')
|
||||
self.assertEquals(options.tab_side, 'left-alternate')
|
||||
domdiv.calculate_layout(options)
|
||||
self.assertEquals(options.tab_name_align, 'centre')
|
||||
self.assertEquals(options.tab_side, 'left-alternate')
|
||||
|
||||
def test_tab_centre_rightalt(self):
|
||||
options = domdiv.parse_opts(
|
||||
['--tab_name_align', 'centre', '--tab_side',
|
||||
'right-alternate'])
|
||||
self.assertEquals(options.tab_name_align, 'centre')
|
||||
self.assertEquals(options.tab_side, 'right-alternate')
|
||||
domdiv.calculate_layout(options)
|
||||
self.assertEquals(options.tab_name_align, 'centre')
|
||||
self.assertEquals(options.tab_side, 'right-alternate')
|
||||
|
||||
def test_tab_centre_full(self):
|
||||
options = domdiv.parse_opts(['--tab_name_align',
|
||||
'centre', '--tab_side', 'full'])
|
||||
self.assertEquals(options.tab_name_align, 'centre')
|
||||
self.assertEquals(options.tab_side, 'full')
|
||||
domdiv.calculate_layout(options)
|
||||
self.assertEquals(options.tab_name_align, 'centre')
|
||||
self.assertEquals(options.tab_side, 'full')
|
||||
|
||||
# --tab_name_align center. Just do one since this is an alias to centre
|
||||
def test_tab_center_left(self):
|
||||
options = domdiv.parse_opts(['--tab_name_align',
|
||||
'center', '--tab_side', 'left'])
|
||||
self.assertEquals(options.tab_name_align, 'center')
|
||||
self.assertEquals(options.tab_side, 'left')
|
||||
domdiv.calculate_layout(options)
|
||||
self.assertEquals(options.tab_name_align,
|
||||
'centre') # check for change in value
|
||||
self.assertEquals(options.tab_side, 'left')
|
||||
Reference in new issue
Block a user