Skip to content

Commit 5400cc1

Browse files
committed
Added Sketch endpoint functionality
1 parent b248e62 commit 5400cc1

2 files changed

Lines changed: 48 additions & 3 deletions

File tree

logs/service-err.log

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4728,3 +4728,22 @@ Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsA
47284728
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
47294729
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
47304730
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4731+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4732+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4733+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4734+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4735+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4736+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4737+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4738+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4739+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4740+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4741+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4742+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4743+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4744+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4745+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4746+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4747+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4748+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4749+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'

service/api/survey_marks.py

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,32 @@ def get_mark_by_reference(mark_type: str, mark_number: str) -> SurveyMark | None
180180

181181

182182
def download_sketch(mark: SurveyMark, dest_folder: Path) -> Path | None:
183-
return None
184-
185-
183+
"""
184+
Downloads the sketch PDF for a survey mark from the SIX Maps SketchPlans API.
185+
186+
API: http://maps.six.nsw.gov.au/SketchPlansWS/rest/getSketchPlans
187+
Parameter: surveyMark={mark_type}{mark_number} (e.g., surveyMark=PM31035)
188+
189+
Returns the path to the downloaded PDF, or None if not found.
190+
"""
191+
if not mark.mark_type or not mark.mark_number:
192+
return None
193+
194+
mark_ref = f"{mark.mark_type}{mark.mark_number}"
195+
196+
try:
197+
api_url = "http://maps.six.nsw.gov.au/SketchPlansWS/rest/getSketchPlans"
198+
params = {"surveyMark": mark_ref}
199+
200+
response = requests.get(api_url, params=params, timeout=10)
201+
202+
if response.status_code == 200 and "pdf" in response.headers.get("content-type", "").lower():
203+
out_path = dest_folder / f"{mark_ref}_sketch.pdf"
204+
out_path.parent.mkdir(parents=True, exist_ok=True)
205+
out_path.write_bytes(response.content)
206+
return out_path
207+
208+
return None
209+
210+
except Exception:
211+
return None

0 commit comments

Comments
 (0)