Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/sas/sascalc/dataloader/readers/cansas_reader.py

    r654e8e0 r5f26aa4  
    6262    type_name = "canSAS" 
    6363    invalid = True 
    64     frm = "" 
    6564    ## Log messages and errors 
    6665    logging = None 
     
    139138                    for entry in entry_list: 
    140139                        # Create a new DataInfo object for every <SASentry> 
     140 
    141141 
    142142                        # Set the file name and then parse the entry. 
     
    183183        return self.output 
    184184 
    185     def _parse_entry(self, dom, recurse=False): 
     185    def _parse_entry(self, dom): 
    186186        """ 
    187187        Parse a SASEntry - new recursive method for parsing the dom of 
     
    192192        """ 
    193193 
    194         if not self._is_call_local() and not recurse: 
     194        frm = inspect.stack()[1] 
     195        if not self._is_call_local(frm): 
    195196            self.reset_state() 
    196197            self.add_data_set() 
     
    200201        self.base_ns = "{0}{1}{2}".format("{", \ 
    201202                            CANSAS_NS.get(self.cansas_version).get("ns"), "}") 
     203        tagname = '' 
     204        tagname_original = '' 
    202205 
    203206        # Go through each child in the parent element 
     
    222225                    self._initialize_new_data_set() 
    223226                ## Recursion step to access data within the group 
    224                 self._parse_entry(node, True) 
     227                self._parse_entry(node) 
    225228                if tagname == "SASsample": 
    226229                    self.current_datainfo.sample.name = name 
     
    434437                length = len(self.names) - 1 
    435438            self.parent_class = self.names[length] 
    436         if not self._is_call_local() and not recurse: 
    437             self.frm = "" 
     439        if not self._is_call_local(frm): 
    438440            self.add_data_set() 
    439441            empty = None 
     
    446448 
    447449 
    448     def _is_call_local(self): 
    449         """ 
    450  
    451         """ 
    452         if self.frm == "": 
    453             inter = inspect.stack() 
    454             self.frm = inter[2] 
    455         mod_name = self.frm[1].replace("\\", "/").replace(".pyc", "") 
     450    def _is_call_local(self, frm=""): 
     451        """ 
     452 
     453        :return: 
     454        """ 
     455        if frm == "": 
     456            frm = inspect.stack()[1] 
     457        mod_name = frm[1].replace("\\", "/").replace(".pyc", "") 
    456458        mod_name = mod_name.replace(".py", "") 
    457459        mod = mod_name.split("sas/") 
     
    834836        # If the calling function was not the cansas reader, return a minidom 
    835837        #      object rather than an lxml object. 
    836         self.frm = inspect.stack()[1] 
    837         doc, entry_node = self._check_origin(entry_node, doc) 
     838        frm = inspect.stack()[1] 
     839        doc, entry_node = self._check_origin(entry_node, doc, frm) 
    838840        return doc, entry_node 
    839841 
     
    12301232                self.append(node, entry_node) 
    12311233 
    1232     def _check_origin(self, entry_node, doc): 
     1234    def _check_origin(self, entry_node, doc, frm): 
    12331235        """ 
    12341236        Return the document, and the SASentry node associated with 
     
    12401242        :param doc: entire xml tree 
    12411243        """ 
    1242         if not self.frm: 
    1243             self.frm = inspect.stack()[1] 
    1244         mod_name = self.frm[1].replace("\\", "/").replace(".pyc", "") 
     1244        if not frm: 
     1245            frm = inspect.stack()[1] 
     1246        mod_name = frm[1].replace("\\", "/").replace(".pyc", "") 
    12451247        mod_name = mod_name.replace(".py", "") 
    12461248        mod = mod_name.split("sas/") 
Note: See TracChangeset for help on using the changeset viewer.