add method to generate png sample of first page

This commit is contained in:
Sumpfork 2014-02-09 15:44:48 -08:00
parent 516a278735
commit ddc95503a1
2 changed files with 22 additions and 7 deletions

View File

@ -1,10 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?eclipse-pydev version="1.0"?>
<pydev_project>
<?eclipse-pydev version="1.0"?><pydev_project>
<pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">
<path>/domtabs</path>
</pydev_pathproperty>
<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 2.7</pydev_property>
<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">Default</pydev_property>
<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">venv_default</pydev_property>
</pydev_project>

View File

@ -574,9 +574,10 @@ class DominionTabs:
self.canvas.restoreState()
def drawDividers(self,cards):
#split into pages
cards = split(cards,self.numTabsVertical*self.numTabsHorizontal)
self.odd = True
for pageCards in cards:
for pageNum,pageCards in enumerate(cards):
#remember whether we start with odd or even divider for tab location
pageStartOdd = self.odd
if not self.options.tabs_only and self.options.order != "global":
@ -590,6 +591,8 @@ class DominionTabs:
self.canvas.restoreState()
self.odd = not self.odd
self.canvas.showPage()
if pageNum + 1 == self.options.num_pages:
break
if self.options.tabs_only:
#no set names or card backs for label-only sheets
continue
@ -606,6 +609,8 @@ class DominionTabs:
self.canvas.restoreState()
self.odd = not self.odd
self.canvas.showPage()
if pageNum + 1 == self.options.num_pages:
break
@ -672,6 +677,8 @@ class DominionTabs:
'option is not given, all base cards are placed in their own "Base" expansion')
parser.add_option("--centre_expansion_dividers", action="store_true", dest="centre_expansion_dividers",
help='centre the tabs on expansion dividers')
parser.add_option("--num_pages", type="int", default=-1,
help="stop generating after this many pages, -1 for all")
options, args = parser.parse_args(argstring)
if not options.cost:
@ -691,6 +698,16 @@ class DominionTabs:
x, y = dimensionsStr.upper().split('X', 1)
return (float (x) * cm, float (y) * cm)
def generate_sample(self, options):
import cStringIO
from wand.image import Image
buf = cStringIO.StringIO()
options.num_pages = 1
self.generate(options, buf)
with Image(blob=buf.getvalue()) as sample:
sample.format = 'png'
sample.save(filename='sample.png')
def generate(self,options,f):
self.options = options
size = self.options.size.upper()