6
6
import logging
7
7
import keydb
8
8
import psycopg2
9
- from utils import callback_utils , data_utils , session_utils , app_utils , keydb_utils , plot_utils , UrlIndex
9
+ from utils import callback_utils , data_utils , session_utils , app_utils , keydb_utils , plot_utils , cache_utils , UrlIndex
10
10
from dash .dash import no_update
11
11
import dash_bootstrap_components as dbc
12
12
from dash .dependencies import Input , Output , State , ALL , MATCH
@@ -327,6 +327,8 @@ def upload_sequence(fname, fcontent, session_id):
327
327
return no_update , None , components .SessionTimedOutModal ()
328
328
elif not callback_utils .ensure_triggered (trigger ):
329
329
return callback_utils .retrieve_sequence_fname (session_id , cache ), None , None
330
+ elif not cache_utils .is_valid_fname (fname ):
331
+ return no_update , no_update , components .InvalidFnameModal (fname )
330
332
331
333
return data_utils .upload_sequence (fname , fcontent , session_id , cache , app .logger )
332
334
@@ -347,6 +349,8 @@ def upload_contact(fname, fcontent, input_format, fname_alerts, session_id):
347
349
return no_update , None , components .SessionTimedOutModal ()
348
350
elif not callback_utils .ensure_triggered (trigger ):
349
351
return callback_utils .retrieve_contact_fnames (session_id , cache ), None , None
352
+ elif not cache_utils .is_valid_fname (fname ):
353
+ return no_update , no_update , components .InvalidFnameModal (fname )
350
354
351
355
return data_utils .upload_dataset (fname , fcontent , input_format , fname_alerts , session_id , cache , app .logger ,
352
356
dataset = loaders .DatasetReference .CONTACT_MAP .value )
@@ -409,7 +413,7 @@ def javascript_exe_button(n_clicks, session_id):
409
413
else :
410
414
app .logger .info ('Fetching example data' )
411
415
try :
412
- session_utils .load_session ('user_1' , 35 , session_id , cache , app .logger )
416
+ session_utils .load_session ('user_1' , 46 , session_id , cache , app .logger )
413
417
except (psycopg2 .OperationalError , AttributeError ) as e :
414
418
app .logger .error ('Unable to fetch example data: {}' .format (e ))
415
419
return no_update , components .ExampleSessionConnectionErrorModal (), no_update
@@ -450,8 +454,6 @@ def create_ConPlot(plot_click, refresh_click, factor, contact_marker_size, track
450
454
if any ([True for x in (factor , contact_marker_size , track_marker_size , track_separation ) if x is None or x < 0 ]):
451
455
app .logger .info ('Session {} invalid display control value detected' .format (session_id ))
452
456
return no_update , components .InvalidInputModal (), no_update , no_update
453
- elif superimpose and distance_matrix :
454
- return no_update , components .InvalidSuperposeDistanceMatrixModal (), no_update , no_update
455
457
elif superimpose and ('---' in cmap_selection or len (set (cmap_selection )) == 1 ):
456
458
return no_update , components .InvalidMapSelectionModal (), no_update , no_update
457
459
0 commit comments