소스 검색

Store order of configuration dicts

Previously, the order of elements in dicts in the configuration file was
not retained.  The most notable consequence of this is that plugins
would be loaded in an arbitrary order, which may have led to unexpected
or inconsistent results.  Now order is retained, so plugins will be
loaded in the order specified, and all is well in the world.
Clara Hobbs 7 년 전
부모
커밋
7af31ebd4c
1개의 변경된 파일2개의 추가작업 그리고 1개의 파일을 삭제
  1. 2
    1
      kayleevc/util.py

+ 2
- 1
kayleevc/util.py 파일 보기

@@ -8,6 +8,7 @@ import json
8 8
 import hashlib
9 9
 import os
10 10
 from argparse import ArgumentParser, Namespace
11
+from collections import OrderedDict
11 12
 
12 13
 import requests
13 14
 
@@ -82,7 +83,7 @@ class Config:
82 83
     def _read_options_file(self):
83 84
         try:
84 85
             with open(self.opt_file, 'r') as f:
85
-                self.options = json.load(f)
86
+                self.options = json.load(f, object_pairs_hook=OrderedDict)
86 87
                 self.options = Namespace(**self.options)
87 88
         except FileNotFoundError:
88 89
             # Make an empty options namespace

Loading…
취소
저장