| | |
| | """Google Sheet to XML.ipynb |
| | |
| | Automatically generated by Colaboratory. |
| | |
| | Original file is located at |
| | https://colab.research.google.com/drive/1T-b1N8Gq6wwbBurODzJIdhRQNeRbyBnz |
| | """ |
| |
|
| | from googleapiclient.discovery import build |
| | from google.oauth2 import service_account |
| | import pygsheets |
| | import xml.etree.ElementTree as ET |
| | import tsadropboxretrieval |
| |
|
| | def authorizeLegend(): |
| | SCOPES = [ |
| | 'https://www.googleapis.com/auth/spreadsheets', |
| | 'https://www.googleapis.com/auth/drive', |
| | 'https://www.googleapis.com/auth/drive.metadata' |
| | ] |
| | credentials = service_account.Credentials.from_service_account_file('credentials.json', scopes=SCOPES) |
| | spreadsheet_service = build('sheets', 'v4', credentials=credentials) |
| | drive_service = build('drive', 'v3', credentials=credentials) |
| | gc = pygsheets.authorize(custom_credentials=credentials, client_secret='credentials.json') |
| | return spreadsheet_service,drive_service,gc |
| |
|
| |
|
| | def getTimes(drive_service,spreadsheetId): |
| | summaryTimes=drive_service.files().get(fileId=spreadsheetId,fields="createdTime, modifiedTime").execute() |
| | createdTime=summaryTimes.get('createdTime') |
| | modifiedTime=summaryTimes.get('modifiedTime') |
| | return createdTime,modifiedTime |
| |
|
| |
|
| |
|
| | def openSpreadsheet_DFs(legendTitle): |
| | spreadsheet_service,drive_service,gc=authorizeLegend() |
| | |
| | print('found sheet ', legendTitle) |
| | ws=gc.open(str(legendTitle)) |
| | spreadsheetId=ws.id |
| |
|
| | worksheet0 = ws.worksheet(0) |
| | worksheet1 = ws.worksheet_by_title('XML Export Summary') |
| |
|
| | df0=worksheet0.get_as_df() |
| | df1=worksheet1.get_as_df() |
| | createdTime,modifiedTime=getTimes(drive_service,spreadsheetId) |
| | return df0,df1,createdTime,modifiedTime |
| |
|
| |
|
| |
|
| |
|
| | def create_xml(documentname , dbPath): |
| | df0,df1,createdTime,modifiedTime=openSpreadsheet_DFs(documentname) |
| | |
| | MarkupSummary=ET.Element('<MarkupSummary Version="1.0" Document="'+documentname+'">') |
| | |
| | MarkupSummary = ET.SubElement(MarkupSummary, "MarkupSummary") |
| | MarkupSummary.attrib['Version'] = "1.0" |
| | MarkupSummary.attrib['Document'] = documentname |
| | |
| | for rowX,rowY in df1.iterrows(): |
| | print(rowX,rowY) |
| | Markup = ET.Element("Markup") |
| | Markup = ET.SubElement(MarkupSummary, "Markup") |
| |
|
| | Subject = ET.SubElement(Markup, "Subject") |
| | Subject.text=str(rowY[0]) |
| |
|
| | Date = ET.SubElement(Markup, "Date") |
| | Date.text=str(modifiedTime.split('T')[0].replace('-','/')+ ' '+ modifiedTime.split('T')[1].split('.')[0]) |
| |
|
| | Colour = ET.SubElement(Markup, "Colour") |
| | Colour.text=str(' ') |
| |
|
| | Count = ET.SubElement(Markup, "Count") |
| | Count.text=str(' ') |
| |
|
| | Author = ET.SubElement(Markup, "Author") |
| | Author.text=str('ADR Team') |
| | if rowY[2]=='m': |
| | Length = ET.SubElement(Markup, "Length") |
| | Length.text=str(rowY[1]) |
| | else: |
| | Length = ET.SubElement(Markup, "Length") |
| | Length.text=str(0) |
| |
|
| | Height = ET.SubElement(Markup, "Height") |
| | Height.text=str(0) |
| | if rowY[2]=='m2': |
| | Area = ET.SubElement(Markup, "Area") |
| | print('rowY',rowY) |
| | Area.text=str(rowY[1]) |
| | else: |
| | Area = ET.SubElement(Markup, "Area") |
| | Area.text=str(0) |
| | Label = ET.SubElement(Markup, "Label") |
| | Label.text=str(rowY[0]) |
| |
|
| | Page_Label = ET.SubElement(Markup, "Page_Label") |
| | Page_Label.text=str(' ') |
| |
|
| | Page_Index = ET.SubElement(Markup, "Page_Index") |
| | Page_Index.text=str(' ') |
| |
|
| | Lock = ET.SubElement(Markup, "Lock") |
| | Lock.text=str('Unlocked') |
| |
|
| | Tick_mark = ET.SubElement(Markup, "Tick_mark") |
| | Tick_mark.text=str(' ') |
| |
|
| | Creation_Date = ET.SubElement(Markup, "Creation_Date") |
| | Creation_Date.text=str(createdTime.split('T')[0].replace('-','/')) |
| |
|
| | x = ET.SubElement(Markup, "X") |
| | x.text=str(' ') |
| |
|
| | y= ET.SubElement(Markup, "Y") |
| | y.text=str(' ') |
| |
|
| | Document_Width= ET.SubElement(Markup, "Document_Width") |
| | Document_Width.text=str(' ') |
| |
|
| | Document_Height= ET.SubElement(Markup, "Document_Height") |
| | Document_Height.text=str(' ') |
| |
|
| | RiseDrop= ET.SubElement(Markup, "RiseDrop") |
| | RiseDrop.text=str(0) |
| |
|
| | Unit= ET.SubElement(Markup, "Unit") |
| | Unit.text=str(rowY[2]) |
| |
|
| | Wall_Area= ET.SubElement(Markup, "Wall_Area") |
| | Wall_Area.text=str(' ') |
| |
|
| | Depth= ET.SubElement(Markup, "Depth") |
| | Depth.text=str(0.00) |
| |
|
| | Volume= ET.SubElement(Markup, "Volume") |
| | Volume.text=str(0) |
| |
|
| | Measurement= ET.SubElement(Markup, "Measurement") |
| | Measurement.text=str(rowY[1]) |
| |
|
| | Layer= ET.SubElement(Markup, "Layer") |
| | Layer.text=str(' ') |
| |
|
| | Capture= ET.SubElement(Markup, "Capture") |
| | Capture.text=str('No') |
| |
|
| | File_Name= ET.SubElement(Markup, "File_Name") |
| | File_Name.text=str(documentname) |
| |
|
| | tree = ET.ElementTree(Markup) |
| | tree = ET.ElementTree(MarkupSummary) |
| | |
| | |
| | |
| | |
| | |
| | xmllink= tsadropboxretrieval.uploadanyFile(doc=tree,pdfname=documentname,path=dbPath,flag='xml') |
| | return xmllink |
| | |
| |
|
| |
|