Update app.py
Browse files
app.py
CHANGED
@@ -67,12 +67,9 @@ def mainFunc(STREAM_ID, SOURCE_BRANCH, TARGET_BRANCH, UUID_COL, ATTR_METADATA, K
|
|
67 |
|
68 |
|
69 |
# get speckle data
|
70 |
-
# get stream
|
71 |
stream = getSpeckleStream(STREAM_ID,
|
72 |
SOURCE_BRANCH,
|
73 |
CLIENT,
|
74 |
-
commit_id = "")
|
75 |
-
time.sleep(2)
|
76 |
# navigate to list with speckle objects of interest
|
77 |
try:
|
78 |
stream_data = stream["@Data"]["@{0}"]
|
@@ -84,8 +81,29 @@ def mainFunc(STREAM_ID, SOURCE_BRANCH, TARGET_BRANCH, UUID_COL, ATTR_METADATA, K
|
|
84 |
print("check on speckle.com how to access the data")
|
85 |
|
86 |
|
87 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
streamData_new = []
|
90 |
log = {"removedDatapoints":0,"removedID":[], "avg_attrRemoved":0, "removedAttr":[]}
|
91 |
for i, obj in enumerate(stream_data):
|
@@ -93,9 +111,11 @@ def mainFunc(STREAM_ID, SOURCE_BRANCH, TARGET_BRANCH, UUID_COL, ATTR_METADATA, K
|
|
93 |
# REMOVE DATA POINTS ==============================
|
94 |
# COND A: no landuses at all.
|
95 |
pass_flag = True
|
96 |
-
|
97 |
# REMOVE ATTRIBUTES ===============================
|
98 |
datanew = Base()
|
|
|
|
|
99 |
for k, v in objDict.items():
|
100 |
if k in attributesOfInterest:
|
101 |
datanew[k] = v
|
@@ -104,8 +124,11 @@ def mainFunc(STREAM_ID, SOURCE_BRANCH, TARGET_BRANCH, UUID_COL, ATTR_METADATA, K
|
|
104 |
log["removedAttr"].append(k)
|
105 |
|
106 |
datanew["dataset"] = DATASET_NAME
|
107 |
-
|
108 |
-
|
|
|
|
|
|
|
109 |
streamData_new.append(datanew)
|
110 |
|
111 |
log["avg_attrRemoved"] = log["avg_attrRemoved"]/len(stream_data)
|
@@ -127,6 +150,7 @@ def mainFunc(STREAM_ID, SOURCE_BRANCH, TARGET_BRANCH, UUID_COL, ATTR_METADATA, K
|
|
127 |
|
128 |
# Send the data object to the speckle stream
|
129 |
object_id = operations.send(stream_new, [transport])
|
|
|
130 |
time.sleep(1)
|
131 |
# Create a new commit with the new object
|
132 |
commit_id = CLIENT.commit.create(
|
|
|
67 |
|
68 |
|
69 |
# get speckle data
|
|
|
70 |
stream = getSpeckleStream(STREAM_ID,
|
71 |
SOURCE_BRANCH,
|
72 |
CLIENT,
|
|
|
|
|
73 |
# navigate to list with speckle objects of interest
|
74 |
try:
|
75 |
stream_data = stream["@Data"]["@{0}"]
|
|
|
81 |
print("check on speckle.com how to access the data")
|
82 |
|
83 |
|
84 |
+
# -----
|
85 |
+
streamTrg = getSpeckleStream(STREAM_ID,
|
86 |
+
TARGET_BRANCH,
|
87 |
+
CLIENT,
|
88 |
+
# navigate to list with speckle objects of interest
|
89 |
+
try:
|
90 |
+
stream_dataTrg = streamTrg["@Data"]["@{0}"]
|
91 |
+
except:
|
92 |
+
print("something went wrong, try again with non-capital d")
|
93 |
+
try:
|
94 |
+
stream_dataTrg = streamTrg["@data"]["@{0}"]
|
95 |
+
except:
|
96 |
+
print("check on speckle.com how to access the data")
|
97 |
|
98 |
+
#-----
|
99 |
+
idMapper = {}
|
100 |
+
for i, obj in enumerate(stream_dataTrg):
|
101 |
+
objDict = obj.__dict__
|
102 |
+
curUUid= objDict[UUID_COL]
|
103 |
+
idMapper[curUUid] = i
|
104 |
+
# ======== assamble new stream data ============
|
105 |
+
|
106 |
+
|
107 |
streamData_new = []
|
108 |
log = {"removedDatapoints":0,"removedID":[], "avg_attrRemoved":0, "removedAttr":[]}
|
109 |
for i, obj in enumerate(stream_data):
|
|
|
111 |
# REMOVE DATA POINTS ==============================
|
112 |
# COND A: no landuses at all.
|
113 |
pass_flag = True
|
114 |
+
|
115 |
# REMOVE ATTRIBUTES ===============================
|
116 |
datanew = Base()
|
117 |
+
|
118 |
+
|
119 |
for k, v in objDict.items():
|
120 |
if k in attributesOfInterest:
|
121 |
datanew[k] = v
|
|
|
124 |
log["removedAttr"].append(k)
|
125 |
|
126 |
datanew["dataset"] = DATASET_NAME
|
127 |
+
|
128 |
+
# keep geometry from target branch
|
129 |
+
curUUid = objDict[UUID_COL]
|
130 |
+
targetGeoRow = idMapper[curUUid]
|
131 |
+
datanew["@geometry"] = stream_dataTrg[targetGeoRow].__dict__["@geometry"]
|
132 |
streamData_new.append(datanew)
|
133 |
|
134 |
log["avg_attrRemoved"] = log["avg_attrRemoved"]/len(stream_data)
|
|
|
150 |
|
151 |
# Send the data object to the speckle stream
|
152 |
object_id = operations.send(stream_new, [transport])
|
153 |
+
|
154 |
time.sleep(1)
|
155 |
# Create a new commit with the new object
|
156 |
commit_id = CLIENT.commit.create(
|