summaryrefslogtreecommitdiffstats
path: root/server/yaml/redump.py
diff options
context:
space:
mode:
Diffstat (limited to 'server/yaml/redump.py')
-rwxr-xr-xserver/yaml/redump.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/server/yaml/redump.py b/server/yaml/redump.py
new file mode 100755
index 0000000..56ea958
--- /dev/null
+++ b/server/yaml/redump.py
@@ -0,0 +1,16 @@
+from ordered_dict import OrderedDict
+from load import Parser
+from dump import Dumper
+from stream import StringStream
+
+def loadOrdered(stream):
+ parser = Parser(StringStream(stream))
+ parser.dictionary = OrderedDict
+ return iter(parser)
+
+def redump(stream):
+ docs = list(loadOrdered(stream))
+ dumper = Dumper()
+ dumper.alphaSort = 0
+ return dumper.dump(*docs)
+