Ignore:
Timestamp:
Apr 5, 2017 5:31:36 AM (7 years ago)
Author:
krzywon
Branches:
master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.2.2, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
Children:
cfc6f3c7
Parents:
b9b612a
git-author:
Jeff Krzywon <krzywon@…> (04/05/17 05:31:36)
git-committer:
krzywon <krzywon@…> (04/05/17 05:31:36)
Message:

Beginning implementation of exception handling within data loader.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/sas/sascalc/dataloader/loader.py

    rb9b612a r270c882b  
    11""" 
    22    File handler to support different file extensions. 
    3     Uses reflectometry's registry utility. 
     3    Uses reflectometer registry utility. 
    44 
    55    The default readers are found in the 'readers' sub-module 
     
    2929# Default readers are defined in the readers sub-module 
    3030import readers 
     31from loader_exceptions import NoKnownLoaderException, FileContentsException 
    3132from readers import ascii_reader 
    3233from readers import cansas_reader 
    3334from readers import cansas_reader_HDF5 
     35 
    3436 
    3537class Registry(ExtensionRegistry): 
     
    3840    Readers and writers are supported. 
    3941    """ 
    40  
    4142    def __init__(self): 
    4243        super(Registry, self).__init__() 
    4344 
    44         ## Writers 
     45        # Writers 
    4546        self.writers = {} 
    4647 
    47         ## List of wildcards 
     48        # List of wildcards 
    4849        self.wildcards = ['All (*.*)|*.*'] 
    4950 
    50         ## Creation time, for testing 
     51        # Creation time, for testing 
    5152        self._created = time.time() 
    5253 
     
    6768        try: 
    6869            return super(Registry, self).load(path, format=format) 
    69         except Exception: 
    70             pass # try the ASCII reader 
     70        except NoKnownLoaderException as e: 
     71            pass  # try the ASCII reader 
     72        except FileContentsException as e: 
     73            pass 
    7174        try: 
    7275            ascii_loader = ascii_reader.Reader() 
    7376            return ascii_loader.read(path) 
    74         except Exception: 
    75             pass # try the cansas XML reader 
     77        except FileContentsException: 
     78            pass  # try the cansas XML reader 
    7679        try: 
    7780            cansas_loader = cansas_reader.Reader() 
    7881            return cansas_loader.read(path) 
    79         except Exception: 
    80             pass # try the cansas NeXuS reader 
     82        except FileContentsException: 
     83            pass  # try the cansas NeXuS reader 
    8184        try: 
    8285            cansas_nexus_loader = cansas_reader_HDF5.Reader() 
    8386            return cansas_nexus_loader.read(path) 
    84         except Exception: 
     87        except FileContentsException: 
    8588            # No known reader available. Give up and throw an error 
    8689            msg = "\n\tUnknown data format: %s.\n\tThe file is not a " % path 
    87             msg += "known format for SasView. The most common formats are " 
    88             msg += "multi-column ASCII, CanSAS XML, and CanSAS NeXuS." 
    89             raise Exception(msg) 
     90            msg += "known format that can be loaded by SasView." 
     91            raise NoKnownLoaderException(msg) 
    9092 
    9193    def find_plugins(self, dir): 
Note: See TracChangeset for help on using the changeset viewer.