diff options
Diffstat (limited to 'lib/DBInfoscreen.pm')
| -rw-r--r-- | lib/DBInfoscreen.pm | 30 | 
1 files changed, 18 insertions, 12 deletions
| diff --git a/lib/DBInfoscreen.pm b/lib/DBInfoscreen.pm index 3a429e7..acb741b 100644 --- a/lib/DBInfoscreen.pm +++ b/lib/DBInfoscreen.pm @@ -101,25 +101,31 @@ sub startup {  	$self->attr(  		ice_type_map => sub { -			my $ice_type_map = JSON->new->utf8->decode( -				scalar read_file('share/zugbildungsplan.json') ); -			my $ret; -			while ( my ( $k, $v ) = each %{ $ice_type_map->{train} } ) { -				if ( $v->{type} ) { -					$ret->{$k} = [ -						$v->{type}, $v->{shortType}, -						exists $v->{wagons} ? 1 : 0 -					]; +			if ( -r 'share/zugbildungsplan.json' ) { +				my $ice_type_map = JSON->new->utf8->decode( +					scalar read_file('share/zugbildungsplan.json') ); +				my $ret; +				while ( my ( $k, $v ) = each %{ $ice_type_map->{train} } ) { +					if ( $v->{type} ) { +						$ret->{$k} = [ +							$v->{type}, $v->{shortType}, +							exists $v->{wagons} ? 1 : 0 +						]; +					}  				} +				return $ret;  			} -			return $ret; +			return {};  		}  	);  	$self->attr(  		train_details_db => sub { -			return JSON->new->utf8->decode( -				scalar read_file('share/zugbildungsplan.json') )->{train}; +			if ( -r 'share/zugbildungsplan.json' ) { +				return JSON->new->utf8->decode( +					scalar read_file('share/zugbildungsplan.json') )->{train}; +			} +			return {};  		}  	); | 
