@@ -92,21 +92,29 @@ def snake_path(rule_name):
9292 fp = os .path .join ('commands' , 'snakefiles' , rule_name )
9393 return resource_filename ('mtsv' , fp )
9494
95- def data_path ():
96- """ Return expected values database path """
95+
96+ def get_user_mtsv_dir ():
9797 user = os .environ .get ('HOME' , '/' )
98- data_file = os .path .join (user , ".mtsv/expected.csv " )
98+ mtsv_path = os .path .join (user , ".mtsv" )
9999 try :
100- open (data_file , 'r' )
101- except FileNotFoundError :
102- os .makedirs (os .path .join (user , ".mtsv" ))
100+ os .makedirs (mtsv_path )
101+ LOGGER .info ("Adding user mtsv path: {}" .format (mtsv_path ))
102+ except OSError :
103+ LOGGER .info ("User mtsv path exists: {}" .format (mtsv_path ))
104+ return mtsv_path
105+
106+ def data_path ():
107+ """ Return expected values database path """
108+ mtsv_path = get_user_mtsv_dir ()
109+ data_file = os .path .join (mtsv_path , "expected.csv" )
110+ if not os .path .isfile (data_file ):
103111 init_precalculated_df (data_file )
104112 return data_file
105113
106114def ete_database_data ():
107115 """ Return path to ete3 database json """
108- user = os . environ . get ( 'HOME' , '/' )
109- fp = os .path .join (user , ".mtsv/ ete_databases.json" )
116+ mtsv_path = get_user_mtsv_dir ( )
117+ fp = os .path .join (mtsv_path , "ete_databases.json" )
110118 if not os .path .isfile (fp ):
111119 with open (fp , 'w' ) as outfile :
112120 outfile .write ("{}" )
0 commit comments