Arguments dont appear magicaly as variables : they are to be found in argv and main is required to get argv.
You should read again the wiki (http://wiki.scribus.net/canvas/Command_line_scripts) and study and understand the provided example before trying to use this new feature. And then proceed the same way to get the arguments. Thanks in advance. JLuc Le 13/09/2015 17:13, Gregory Pittman a ?crit : > On 09/13/2015 10:28 AM, JLuc wrote: >> Le 13/09/2015 16:03, Gregory Pittman a ?crit : >>> I have a script which requires a variable S (which in this case is a Zip >>> code). It previously got this from a valueDialog. I commented out the >>> valueDialog line. >>> I tried to run it with >>> scribus -g -py postnet.py --python-arg -S 40207 >>> and when it runs it tells me there is no value for S. >>> Maybe I don't understand what a 'python-arg' is. >> >> did you test -S or S ? >> plz share your script for better answers. >> >> if you pass -S, -S should be tested, not S >> as demonstrated in the example script >> and explained in the wiki article. >> > > Here is my script. The only input needed is the variable S. > > Greg > > #!/usr/bin/env python > > # File: postnet3.py > # originally 2006.03.06 Gregory Pittman > # this version 2015.09.12 > # adds the correction code: > # the sum of all the digits > # must be divisible by 10 > > import sys > import scribus > > postcode = > ['llsss','sssll','sslsl','sslls','slssl','slsls','sllss','lsssl','lssls','lslss'] > a = 1.44 #line width > b="Black" #line color > relx=47 #Start X > rely=323 #Start Y > correctnum = 0 > > if scribus.newDocument(scribus.PAPER_LETTER, > (10,10,20,20),scribus.PORTRAIT, 1, scribus.UNIT_POINTS, > scribus.NOFACINGPAGES, scribus.FIRSTPAGERIGHT, 1): > # S = scribus.valueDialog('Postnet Barcode','Enter your Zip or Zip+4') > scribus.setRedraw(1) > scribus.setUnit(0) > d = scribus.createLine(relx,rely,relx+9,rely,) #Beginning long > framing line > scribus.setLineWidth(a, d) > scribus.setLineColor(b, d) > scribus.setFillColor(b, d) > rely = rely + 3.4 > for x in S[0:]: > if x.isdigit(): > xnum = int(x) > correctnum += xnum # Building the sum of all the digits > code = postcode[xnum] > for y in code[0:]: > if y == 'l': > d = scribus.createLine(relx,rely,relx+9,rely,) #Long > line > scribus.setLineWidth(a, d) > scribus.setLineColor(b, d) > scribus.setFillColor(b, d) > rely = rely + 3.4 > elif y == 's': > d = scribus.createLine(relx,rely,relx+3.6,rely,) > #short line > scribus.setLineWidth(a, d) > scribus.setLineColor(b, d) > scribus.setFillColor(b, d) > rely = rely + 3.4 > correctstr = str(correctnum) # Here is where the correction code is > added > correctdig = int(correctstr[-1]) > if correctdig != 0: > correctdig = 10 - correctdig > code = postcode[correctdig] > for y in code[0:]: > if y == 'l': > d = scribus.createLine(relx,rely,relx+9,rely,) #Long line > scribus.setLineWidth(a, d) > scribus.setLineColor(b, d) > scribus.setFillColor(b, d) > rely = rely + 3.4 > elif y == 's': > d = scribus.createLine(relx,rely,relx+3.6,rely,) #short line > scribus.setLineWidth(a, d) > scribus.setLineColor(b, d) > scribus.setFillColor(b, d) > rely = rely + 3.4 > > d = scribus.createLine(relx,rely,relx+9,rely,) #Ending long framing line > scribus.setLineWidth(a, d) > scribus.setLineColor(b, d) > scribus.setFillColor(b, d) > scribus.redrawAll() > > > > ___ > Scribus Mailing List: scribus at lists.scribus.net > Edit your options or unsubscribe: > http://lists.scribus.net/mailman/listinfo/scribus > See also: > http://wiki.scribus.net > http://forums.scribus.net >
