aboutsummaryrefslogtreecommitdiff
path: root/upload/osm2change-reorder.patch
blob: d97a879b2b219341a03c26a5f5362a3b4771e88b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
--- osm2change.py	2009-09-18 00:14:45.000000000 +0200
+++ osm2change-modified.py	2009-09-18 00:27:30.000000000 +0200
@@ -73,7 +73,18 @@ try:
 
     operation = {}
     for opname in [ "create", "modify", "delete" ]:
-        operation[opname] = ElementTree.SubElement(output_root,
+        operation[opname] = {}
+    for opname, elname in [
+            ("create", "node"),
+            ("modify", "node"),
+            ("create", "way"),
+            ("modify", "way"),
+            ("create", "relation"),
+            ("modify", "relation"),
+            ("delete", "relation"),
+            ("delete", "way"),
+            ("delete", "node") ]:
+        operation[opname][elname] = ElementTree.SubElement(output_root,
                 opname, output_attr)
 
     for element in root:
@@ -83,12 +94,12 @@ try:
             opname = element.attrib.pop("action")
         else:
             continue
-        operation[opname].append(element)
+        operation[opname][element.tag].append(element)
 
     # Does this account for all cases?  Also, is it needed?
     # (cases like relations containing relations... is that allowed?)
-    osmsort(operation["create"], [ "node", "way", "relation" ])
-    osmsort(operation["delete"], [ "relation", "way", "node" ])
+    #osmsort(operation["create"], [ "node", "way", "relation" ])
+    #osmsort(operation["delete"], [ "relation", "way", "node" ])
 
     output_tree.write(filename_base + ".osc", "utf-8")
 except Exception,err: