East gippsland #151
30
.github/scripts/merge_csv_to_topojson.py
vendored
30
.github/scripts/merge_csv_to_topojson.py
vendored
|
@ -1,30 +0,0 @@
|
|||
#!/usr/bin/env python3
|
||||
import csv
|
||||
import json
|
||||
|
||||
# files to merge
|
||||
csv_file = './website/data/library_services_information.csv'
|
||||
topojson_file = './website/data/boundaries.topo.json'
|
||||
|
||||
geo = open(topojson_file, 'r') # open the topo.json file
|
||||
json_data = json.loads(geo.read()) # read the file and load into a dict
|
||||
|
||||
# for each feature, if the name in the json matches the name in the csv, add new properties to the json
|
||||
for feature in json_data['objects']['boundaries.geo']['geometries']:
|
||||
with open(csv_file, newline='') as f:
|
||||
# use DictReader so we can use the header names
|
||||
reader = csv.DictReader(f)
|
||||
for row in reader:
|
||||
# look for match
|
||||
if row['name'] == feature['properties']['name']:
|
||||
# create new properties in topojson
|
||||
for k in row:
|
||||
if k != "long_name" and k != "": # ignore long_name and any blank column names
|
||||
feature['properties'][k] = row[k]
|
||||
f.close() # close csv
|
||||
geo.close() # close geo and flush
|
||||
|
||||
# open topojson file again and overwrite it
|
||||
with open(topojson_file, 'w') as newfile:
|
||||
json.dump(json_data, newfile, separators=(',', ':'))
|
||||
newfile.close()
|
36
.github/workflows/update-topo-on-push.yml
vendored
36
.github/workflows/update-topo-on-push.yml
vendored
|
@ -1,36 +0,0 @@
|
|||
name: topo update (push)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
paths:
|
||||
- 'website/data/library_services_information.csv'
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
auto-topo-updater:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
ref: ${{ github.head_ref }}
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Merge CSV to TopoJSON
|
||||
run: |
|
||||
python3 ./.github/scripts/merge_csv_to_topojson.py
|
||||
|
||||
- name: Update contributors
|
||||
run: |
|
||||
npm install cheerio
|
||||
npm install pretty
|
||||
node ./.github/scripts/contributors.js
|
||||
|
||||
- uses: stefanzweifel/git-auto-commit-action@v4
|
||||
with:
|
||||
commit_message: merge csv data to topo
|
||||
commit_author: Library Map Bot <librarymap@hugh.run>
|
|
@ -257,7 +257,7 @@ Central Highlands Libraries,Central Highlands VIC,vic,by_lga,4,SirsiDynix Sympho
|
|||
City of Melbourne Libraries,Melbourne,vic,yes,3,Civica Spydus,https://www.melbourne.vic.gov.au/community/libraries/Pages/libraries.aspx,
|
||||
Corangamite Regional Library Corporation,Corangamite,vic,adults,3,Civica Spydus,https://www.crlc.vic.gov.au/,
|
||||
Darebin Libraries,Darebin,vic,yes,3,Civica Spydus,https://www.darebinlibraries.vic.gov.au/default.aspx,
|
||||
East Gippsland Shire Library,East Gippsland,vic,yes,4,OCLC Amlib,https://www.eastgippsland.vic.gov.au/leisure/libraries,
|
||||
East Gippsland Shire Library,East Gippsland,vic,yes,4,SirsiDynix Symphony,https://www.eastgippsland.vic.gov.au/leisure/libraries,
|
||||
Eastern Regional Libraries Corporation,Eastern,vic,no,3,Civica Spydus,https://www.yourlibrary.com.au/,
|
||||
Frankston City Libraries,Frankston,vic,no,3,Civica Spydus,https://library.frankston.vic.gov.au/Home,
|
||||
Gannawarra Library Service,Gannawarra,vic,?,4,SirsiDynix Symphony,https://www.gannawarra.vic.gov.au/Community-Services/Libraries,
|
||||
|
|
|
Loading…
Reference in a new issue