Changes in src/sas/dataloader/readers/associations.py [5dfdfa7:fd5ac0d] in sasview
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/dataloader/readers/associations.py
r5dfdfa7 rfd5ac0d 17 17 import sys 18 18 import logging 19 import json 19 from lxml import etree 20 # Py2exe compatibility: import _elementpath to ensure that py2exe finds it 21 from lxml import _elementpath 20 22 21 FILE_NAME = 'defaults.json' 23 ## Format version for the XML settings file 24 VERSION = 'sasloader/1.0' 22 25 23 def read_associations(loader, settings=FILE_NAME): 26 27 def read_associations(loader, settings='defaults.xml'): 24 28 """ 25 29 Read the specified settings file to associate … … 27 31 28 32 :param loader: Loader object 29 :param settings: path to the jsonsettings file [string]33 :param settings: path to the XML settings file [string] 30 34 """ 31 35 reader_dir = os.path.dirname(__file__) … … 43 47 path = "./%s" % settings 44 48 if os.path.isfile(path): 45 with open(path) as fh: 46 json_tree = json.load(fh) 49 tree = etree.parse(path, parser=etree.ETCompatXMLParser()) 50 51 # Check the format version number 52 # Specifying the namespace will take care of the file format version 53 root = tree.getroot() 47 54 48 55 # Read in the file extension associations 49 entry_list = json_tree['SasLoader']['FileType'] 56 entry_list = root.xpath('/ns:SasLoader/ns:FileType', 57 namespaces={'ns': VERSION}) 50 58 51 59 # For each FileType entry, get the associated reader and extension 52 60 for entry in entry_list: 53 reader = entry ['-reader']54 ext = entry ['-extension']61 reader = entry.get('reader') 62 ext = entry.get('extension') 55 63 56 64 if reader is not None and ext is not None:
Note: See TracChangeset
for help on using the changeset viewer.