Skip to content

Commit

Permalink
Deal better with missing overrides.
Browse files Browse the repository at this point in the history
  • Loading branch information
josephw committed Sep 25, 2010
1 parent 6b4b90c commit f4e4809
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 5 deletions.
4 changes: 2 additions & 2 deletions perl/Mivvi/Overrides.pm
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ sub bestUriFor($$$$;$)
# Is there a temporary URI for this episode that specifies a better alternative?
my $tempUri = $self->tempUriFor($series, $season, $episode);
$sa = $model->target(RDF::Redland::Node->new(RDF::Redland::URI->new($tempUri)), $predOwlSameAs);
if($sa) {
if($sa && $sa->uri) {
my $u = $sa->uri->as_string;
if ($origUri && $self->{PUBLISHED}->{$origUri}) {
$self->{PUBLISHED_OVERRIDES}->{$origUri} = $u;
Expand All @@ -207,7 +207,7 @@ sub getOverriddenPublishedUris($)
{
my $self = shift;

return $self->{PUBLISHED_OVERRIDES};
return $self->{PUBLISHED_OVERRIDES} || {};
}

1;
3 changes: 2 additions & 1 deletion perl/test_MivviOverrides.t
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

use strict;

use Test::More(tests => 33);
use Test::More(tests => 34);
use Mivvi::Overrides;

my ($o, @l);
Expand Down Expand Up @@ -85,6 +85,7 @@ is($o->getDate('http://www.example.com/1/1#'), '', 'Blank dates should be passed

# Store overrides of published URIs
$o = Mivvi::Overrides->new();
ok($o->getOverriddenPublishedUris(), 'getOverriddenPublishedUris is never undef');
$o->loadRdfXml('test_MivviOverrides_overriddenPublishedUris.rdf');
$o->loadPublishedUris('test_MivviOverrides_publishedOriginalUris.txt');

Expand Down
8 changes: 6 additions & 2 deletions python/show-local-identifiers.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,20 +47,24 @@ def mtmp(series,part=''):

idxPrefix = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#_'

def appendUnlessBlank(model, subj, pred, obj):
if not(obj.is_blank()):
model.append(RDF.Statement(subj, pred, obj))

def produceSeasonStatements(model, name, season, target):
snum = model.get_target(season, RDF.Node(Mivvi.MVI('seasonNumber')))
if snum == None:
return
snum = str(snum.literal_value['string'])
target.append(RDF.Statement(mtmp(name, snum), Mivvi.OWL('sameAs'), season))
appendUnlessBlank(target, mtmp(name, snum), Mivvi.OWL('sameAs'), season)

eps = model.get_target(season, Mivvi.MVI('episodes'))
for s in model.find_statements(RDF.Statement(eps, None, None)):
ps = str(s.predicate.uri)
if ps.startswith(idxPrefix):
pnum = int(ps[len(idxPrefix):])
if model.contains_statement(RDF.Statement(s.object, predType, typeEpisode)):
target.append(RDF.Statement(mtmp(name, snum + 'x' + str(pnum)), Mivvi.OWL('sameAs'), s.object))
appendUnlessBlank(target, mtmp(name, snum + 'x' + str(pnum)), Mivvi.OWL('sameAs'), s.object)

def produceStatements(model, name, series, target):
target.append(RDF.Statement(mtmp(name), Mivvi.OWL('sameAs'), series))
Expand Down

0 comments on commit f4e4809

Please sign in to comment.