mirror of
https://gitlab.com/oloturia/fumcaso.git
synced 2025-01-06 21:47:17 +01:00
now it's possible to change the number of panels per row
This commit is contained in:
parent
1eef3e1ccf
commit
ac4973e543
2 changed files with 32 additions and 15 deletions
18
config.json
18
config.json
|
@ -14,9 +14,11 @@
|
||||||
"csvAltText": "alttext.csv",
|
"csvAltText": "alttext.csv",
|
||||||
"font": "./ubuntu.ttf",
|
"font": "./ubuntu.ttf",
|
||||||
"fontSize": 22,
|
"fontSize": 22,
|
||||||
"xSize":2400,
|
"xSize":1200,
|
||||||
"ySize":500,
|
"ySize":1000,
|
||||||
"panelLength":600,
|
"panelLength":600,
|
||||||
|
"panelHeight":500,
|
||||||
|
"panelsPerRow":2,
|
||||||
"twitter": {
|
"twitter": {
|
||||||
"token": "./twitter_token",
|
"token": "./twitter_token",
|
||||||
"filename": "/twitter.png",
|
"filename": "/twitter.png",
|
||||||
|
@ -48,9 +50,11 @@
|
||||||
"csvAltText": "alttext.csv",
|
"csvAltText": "alttext.csv",
|
||||||
"font": "./ubuntu.ttf",
|
"font": "./ubuntu.ttf",
|
||||||
"fontSize": 22,
|
"fontSize": 22,
|
||||||
"xSize":2400,
|
"xSize":1200,
|
||||||
"ySize":500,
|
"ySize":1000,
|
||||||
"panelLength":600,
|
"panelLength":600,
|
||||||
|
"panelHeight":500,
|
||||||
|
"panelsPerRow":2,
|
||||||
"twitter": {
|
"twitter": {
|
||||||
"token": "./twitter_token",
|
"token": "./twitter_token",
|
||||||
"filename": "/twitter.png",
|
"filename": "/twitter.png",
|
||||||
|
@ -82,9 +86,11 @@
|
||||||
"csvAltText": "alttext.csv",
|
"csvAltText": "alttext.csv",
|
||||||
"font": "./ubuntu.ttf",
|
"font": "./ubuntu.ttf",
|
||||||
"fontSize": 22,
|
"fontSize": 22,
|
||||||
"xSize":2400,
|
"xSize":1200,
|
||||||
"ySize":500,
|
"ySize":1000,
|
||||||
"panelLength":600,
|
"panelLength":600,
|
||||||
|
"panelHeight":500,
|
||||||
|
"panelsPerRow":2,
|
||||||
"twitter": {
|
"twitter": {
|
||||||
"token": "./twitter_token",
|
"token": "./twitter_token",
|
||||||
"filename": "/twitter.png",
|
"filename": "/twitter.png",
|
||||||
|
|
29
randstrip.py
29
randstrip.py
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/python3
|
#!/usr/bin/python3.6
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
from PIL import ImageFont
|
from PIL import ImageFont
|
||||||
from PIL import ImageDraw
|
from PIL import ImageDraw
|
||||||
|
@ -149,13 +149,20 @@ def writeStrip(story,config):
|
||||||
strip.append(vign)
|
strip.append(vign)
|
||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
pass
|
pass
|
||||||
image = Image.new('RGBA',(config["xSize"],config["ySize"]))
|
|
||||||
xshift=0
|
|
||||||
for vign in strip:
|
|
||||||
image.paste(vign,(xshift,0))
|
|
||||||
xshift += config["panelLength"]
|
|
||||||
ImageDraw.Draw(image).rectangle([0,0,config["xSize"]-1,config["ySize"]-1], fill=None, outline="black", width=1)
|
|
||||||
|
|
||||||
|
image = Image.new('RGBA',(config["xSize"],config["ySize"]))
|
||||||
|
xshift = yshift = 0
|
||||||
|
pprow = config["panelsPerRow"]
|
||||||
|
for vign in strip:
|
||||||
|
image.paste(vign,(xshift,yshift))
|
||||||
|
pprow -= 1
|
||||||
|
if pprow > 0:
|
||||||
|
xshift += config["panelLength"]
|
||||||
|
else:
|
||||||
|
xshift = 0
|
||||||
|
yshift += config["panelHeight"]
|
||||||
|
pprow = config["panelsPerRow"]
|
||||||
|
ImageDraw.Draw(image).rectangle([0,0,config["xSize"]-1,config["ySize"]-1], fill=None, outline="black", width=1)
|
||||||
return image,alt_text
|
return image,alt_text
|
||||||
|
|
||||||
def createStrip(config,specialPlatform="",altTextRequested=False):
|
def createStrip(config,specialPlatform="",altTextRequested=False):
|
||||||
|
@ -205,6 +212,8 @@ def readConfig(profile=False,platform=False):
|
||||||
xSize = config[profile]["xSize"]
|
xSize = config[profile]["xSize"]
|
||||||
ySize = config[profile]["ySize"]
|
ySize = config[profile]["ySize"]
|
||||||
panelLength = config[profile]["panelLength"]
|
panelLength = config[profile]["panelLength"]
|
||||||
|
panelHeight = config[profile]["panelHeight"]
|
||||||
|
pprow = config[profile]["panelsPerRow"]
|
||||||
if platform:
|
if platform:
|
||||||
token = checkLocal(config[profile][platform]["token"])
|
token = checkLocal(config[profile][platform]["token"])
|
||||||
filename = checkLocal(config[profile][platform]["filename"])
|
filename = checkLocal(config[profile][platform]["filename"])
|
||||||
|
@ -213,9 +222,9 @@ def readConfig(profile=False,platform=False):
|
||||||
except KeyError:
|
except KeyError:
|
||||||
text = False
|
text = False
|
||||||
|
|
||||||
return {"saveLocation":saveLocation,"imagesLocation":imagesLocation,"csvLocation":csvLocation,"fontSize":fontSize,"font":font,"token":token,"filename":filename,"xSize":xSize,"ySize":ySize,"panelLength":panelLength,"csvTree":csvTree,"csvSpeech":csvSpeech,"csvSubs":csvSubs,"csvObj":csvObj,"csvAltText":csvAltText,"text":text}
|
return {"saveLocation":saveLocation,"imagesLocation":imagesLocation,"csvLocation":csvLocation,"fontSize":fontSize,"font":font,"token":token,"filename":filename,"xSize":xSize,"ySize":ySize,"panelLength":panelLength,"panelHeight":panelHeight,"csvTree":csvTree,"csvSpeech":csvSpeech,"csvSubs":csvSubs,"csvObj":csvObj,"csvAltText":csvAltText,"text":text,"panelsPerRow":pprow}
|
||||||
filename = config[profile]["filename"]
|
filename = config[profile]["filename"]
|
||||||
return {"saveLocation":saveLocation,"imagesLocation":imagesLocation,"csvLocation":csvLocation,"fontSize":fontSize,"font":font,"filename":filename,"xSize":xSize,"ySize":ySize,"panelLength":panelLength,"csvTree":csvTree,"csvSpeech":csvSpeech,"csvSubs":csvSubs,"csvObj":csvObj,"csvAltText":csvAltText}
|
return {"saveLocation":saveLocation,"imagesLocation":imagesLocation,"csvLocation":csvLocation,"fontSize":fontSize,"font":font,"filename":filename,"xSize":xSize,"ySize":ySize,"panelLength":panelLength,"panelHeight":panelHeight,"csvTree":csvTree,"csvSpeech":csvSpeech,"csvSubs":csvSubs,"csvObj":csvObj,"csvAltText":csvAltText,"panelsPerRow":pprow}
|
||||||
|
|
||||||
def checkLocal(directory):
|
def checkLocal(directory):
|
||||||
"""Checks if it's a relative or absolute path"""
|
"""Checks if it's a relative or absolute path"""
|
||||||
|
@ -234,8 +243,10 @@ if __name__ == "__main__":
|
||||||
parser.add_argument('-a','--a4',default=False,action='store_true',help='print on an A4 in PDF, needs -o output, disables -x xsize')
|
parser.add_argument('-a','--a4',default=False,action='store_true',help='print on an A4 in PDF, needs -o output, disables -x xsize')
|
||||||
parser.add_argument('-m','--multiple',metavar='multiple',default=[1],nargs=1,type=int,help='multiple output (int >0), if no output -o specified, it just tests the stories')
|
parser.add_argument('-m','--multiple',metavar='multiple',default=[1],nargs=1,type=int,help='multiple output (int >0), if no output -o specified, it just tests the stories')
|
||||||
parser.add_argument('-x','--xsize',metavar='xsize',default=0,type=int,nargs=1,help='output image width')
|
parser.add_argument('-x','--xsize',metavar='xsize',default=0,type=int,nargs=1,help='output image width')
|
||||||
|
parser.add_argument('-y','--ysize',metavar='ysize',default=0,type=int,nargs=1,help='output image height')
|
||||||
parser.add_argument('-p','--profile',metavar='profile',default="",type=str,nargs=1,help='select a profile registered in config.json, if it doesn\'t exist it will use the default one')
|
parser.add_argument('-p','--profile',metavar='profile',default="",type=str,nargs=1,help='select a profile registered in config.json, if it doesn\'t exist it will use the default one')
|
||||||
parser.add_argument('-o','--output',metavar='output',const=True,default=False,nargs="?",help='output file, if name not specified, default path will be used')
|
parser.add_argument('-o','--output',metavar='output',const=True,default=False,nargs="?",help='output file, if name not specified, default path will be used')
|
||||||
|
parser.add_argument('-r','--pprows',metavar='panelsPerRow',default=4,type=int,nargs=1,help='number of panels per row, default is 4')
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
if args.multiple[0] <= 0: #Wrong multiple choice
|
if args.multiple[0] <= 0: #Wrong multiple choice
|
||||||
|
|
Loading…
Reference in a new issue