-1

昨日投稿したこの質問の続き

すべてのレコードをループすることができ、data という変数に書き込まれ、parts という別の変数に追加されます。parts 変数を監視すると、正しいデータが表示されますが、 PDFを構築しようとします...

doc.build(parts)

次のエラーが表示されます

AttributeError: 'list' object has no attribute 'getKeepWithNext'

ここに完全なコードがあります

import os, arcgisscripting, datetime,  string

from reportlab.lib.pagesizes import A4
from reportlab.platypus import *
from reportlab.lib import colors
from reportlab.lib.styles import ParagraphStyle

myWorkspace = r"W:\HeartOfTheCity.gdb"
myReportFolder = r"W:\Reports"
OpenPDF = "true"

gp = arcgisscripting.create(9.3)


#setup geoprocessor
gp.workspace = myWorkspace
gp.toolbox = "analysis"
gp.OverwriteOutput = 1
mySelectedGroupsFC = myWorkspace + os.sep + "SelectedGroups"
myNewBusinessFC = myWorkspace + os.sep + "New_Businesses"
myBufferFC = myWorkspace + os.sep + "Buffer"
myReportTable = myWorkspace + os.sep + "FINAL_TABLE"

#obtain Selected groups
mySelGroupsCursor = gp.searchcursor(mySelectedGroupsFC)
mySelectedGroups = mySelGroupsCursor.next()

#obtain New Business groups
myNewBusinessCursor = gp.searchcursor(myNewBusinessFC)
myNewBusiness = myNewBusinessCursor.next()

#obtain Buffer
myBufferCursor = gp.searchcursor(myBufferFC)
myBuffer = myBufferCursor.next()

#setup PDF doc
pdf_file_name = myNewBusiness.Postcode
pdf_file = myReportFolder + os.sep + pdf_file_name + ".pdf"

doc = SimpleDocTemplate(pdf_file, pagesize=A4)

#array of report elements
parts = []

#
#HEADER
#
parstyle = ParagraphStyle(name='Title', fontName='Helvetica', fontSize=12, alignment=1, spaceAfter=20)
p = Paragraph('<b><u>Heart of the City Search Report</u></b>', parstyle)
parts.append(p)

p = Paragraph('The following community groups are located within <b><u>' + myBuffer.Buffer + ' metres  of -  <b><u>' + myNewBusiness.Postcode + '<\b><\u>.',parstyle)
parts.append(p)

#Enter while loop for each buffer feature
#while myBuffer:
while myBuffer:
    print myBuffer.Buffer
    parstyle = ParagraphStyle(name='Title', fontName='Helvetica', fontSize=11, alignment=0, spaceAfter=15, spaceBefore =15)
    p = Paragraph('<b><u>Community groups within ' + myBuffer.Buffer + ' metres of ' + myNewBusiness.Postcode  + '</u><\b><br>', parstyle)
    parts.append(p)

    data = []
    parstyle = ParagraphStyle(name='Title', fontName='Helvetica', fontSize=11, alignment=0)

    while mySelectedGroups:
        selectedGroups_desc = 'Community ID:'+ '<i>' + mySelectedGroups.Community_ID + '<\i>'+ 'Organisation Name :' + mySelectedGroups.Organisation_Name + '<br>'
        p = Paragraph(selectedGroups_desc, parstyle)
        data.append(p)
        #print data

        mySelectedGroups = mySelGroupsCursor.next()    
    parts.append(data)
    print parts
    #print parts

    myBuffer = myBufferCursor.next()

#
#FOOTER
#
parstyle = ParagraphStyle(name='Title', fontName='Helvetica', fontSize=11, alignment=0, spaceAfter=15, spaceBefore=15)
p = Paragraph('''Should you have any further questions **''', parstyle)
parts.append(p)

doc.build(parts)

del mySelGroupsCursor, myNewBusinessCursor, myBufferCursor

#Open document
if OpenPDF == "true":
    os.startfile(pdf_file)

何か案は?

4

1 に答える 1