22from importlib .machinery import SourceFileLoader
33from os import listdir
44from os .path import join as path_join
5- from os .path import dirname , exists , expanduser
5+ from os .path import dirname , exists
6+
67import nxc
78
89
910class ProtocolLoader :
10- def __init__ (self ):
11- self .nxc_path = expanduser ("~/.nxc" )
12-
1311 def load_protocol (self , protocol_path ):
1412 loader = SourceFileLoader ("protocol" , protocol_path )
1513 protocol = ModuleType (loader .name )
@@ -18,27 +16,22 @@ def load_protocol(self, protocol_path):
1816
1917 def get_protocols (self ):
2018 protocols = {}
21- protocol_paths = [
22- path_join (dirname (nxc .__file__ ), "protocols" ),
23- path_join (self .nxc_path , "protocols" ),
24- ]
25-
26- for path in protocol_paths :
27- for protocol in listdir (path ):
28- if protocol [- 3 :] == ".py" and protocol [:- 3 ] != "__init__" :
29- protocol_path = path_join (path , protocol )
30- protocol_name = protocol [:- 3 ]
31-
32- protocols [protocol_name ] = {"path" : protocol_path }
33-
34- db_file_path = path_join (path , protocol_name , "database.py" )
35- db_nav_path = path_join (path , protocol_name , "db_navigator.py" )
36- protocol_args_path = path_join (path , protocol_name , "proto_args.py" )
37- if exists (db_file_path ):
38- protocols [protocol_name ]["dbpath" ] = db_file_path
39- if exists (db_nav_path ):
40- protocols [protocol_name ]["nvpath" ] = db_nav_path
41- if exists (protocol_args_path ):
42- protocols [protocol_name ]["argspath" ] = protocol_args_path
4319
20+ proto_path = path_join (dirname (nxc .__file__ ), "protocols" )
21+ for protocol in listdir (proto_path ):
22+ if protocol [- 3 :] == ".py" and protocol [:- 3 ] != "__init__" :
23+ protocol_path = path_join (proto_path , protocol )
24+ protocol_name = protocol [:- 3 ]
25+
26+ protocols [protocol_name ] = {"path" : protocol_path }
27+
28+ db_file_path = path_join (proto_path , protocol_name , "database.py" )
29+ db_nav_path = path_join (proto_path , protocol_name , "db_navigator.py" )
30+ protocol_args_path = path_join (proto_path , protocol_name , "proto_args.py" )
31+ if exists (db_file_path ):
32+ protocols [protocol_name ]["dbpath" ] = db_file_path
33+ if exists (db_nav_path ):
34+ protocols [protocol_name ]["nvpath" ] = db_nav_path
35+ if exists (protocol_args_path ):
36+ protocols [protocol_name ]["argspath" ] = protocol_args_path
4437 return protocols
0 commit comments