Changeset 6d19988 in sasview for DataLoader
- Timestamp:
- Jul 2, 2008 6:09:27 PM (17 years ago)
- 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.1.1, release-4.1.2, release-4.2.2, release_4.0.1, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- 87bff18
- Parents:
- 0fc05f9
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
DataLoader/loader.py
raa749ac r6d19988 6 6 and registers the built-in file extensions. 7 7 """ 8 import imp,os,sys 8 9 import logging 9 10 import os.path 10 11 def _findReaders(dir): 12 # List of plugin objects 13 plugins = [] 14 # Go through files in plug-in directory 15 try: 16 17 list = os.listdir(dir) 18 for item in list: 19 20 toks = os.path.splitext(os.path.basename(item)) 21 if toks[1]=='.py' and not toks[0]=='__init__': 22 name = toks[0] 23 path = [os.path.abspath(dir)] 24 file = None 25 26 try: 27 print"name",name 28 print "path",path 29 print imp.find_module(name, path) 30 (file, path, info) = imp.find_module(name, path) 31 print"file",file 32 print "path", path 33 print "info",info 34 print"hasattr",imp.load_module( name, file, item, info ) 35 module = imp.load_module( name, file, item, info ) 36 print"module", module 37 38 if hasattr(module, "Reader"): 39 print "went here" 40 try: 41 plugins.append(module.Reader()) 42 except: 43 log("Error accessing Reader in %s\n %s" % (name, sys.exc_value)) 44 except : 45 print"Error importing %s\n %s" % (name,sys.exc_value) 46 log("Error importing %s\n %s" % (name, sys.exc_value)) 47 finally: 48 if not file==None: 49 file.close() 50 except: 51 # Should raise and catch at a higher level and display error on status bar 52 pass 53 return plugins 11 54 class Loader(object): 12 55 """ … … 56 99 57 100 58 def __setitem__(self, ext, reader): 59 if ext not in self.readers: 60 self.readers[ext] = [] 61 self.readers[ext].insert(0,reader) 101 def __setitem__(self, ext=None, reader=None): 102 if reader==None: 103 print os.getcwd() 104 print os.path.isdir('plugins') 105 print "absolute path : ",os.path.abspath('plugins') 106 plugReader=None 107 if os.path.isdir('plugins'): 108 print "went here" 109 plugReader=_findReaders('plugins')# import all module in plugins 110 elif os.path.isdir('../plugins'): 111 plugReader=_findReaders('../plugins') 112 if plugReader !=None: 113 print "this is plugreader",plugReader 114 for preader in plugReader:# for each modules takes list of extensions 115 #print preader.ext 116 for item in preader.ext: 117 ext=item 118 if ext not in self.readers:#assign extension with its reader 119 self.readers[ext] = [] 120 self.readers[ext].insert(0,preader) 121 print "extension",ext 122 print "readers",self.readers 123 else: 124 if ext not in self.readers: 125 self.readers[ext] = [] 126 self.readers[ext].insert(0,reader) 62 127 63 128 64 129 def __getitem__(self, ext): 65 130 return self.readers[ext] 131 66 132 67 133 … … 121 187 except ValueError,msg: 122 188 print str(msg) 189 if __name__=="__main__": 190 l=Loader() 191 l.__setitem__() 192 print "look up",l.lookup('angles_flat.png') 193 print l.__getitem__('.tiff') 194 print l.__contains__('.tiff') 195
Note: See TracChangeset
for help on using the changeset viewer.