Bugzilla – Attachment 63640 Details for
Bug 18586
Create module to mint RDF subject URIs
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 18586 - Create module to mint RDF subject URIs
Bug-18586---Create-module-to-mint-RDF-subject-URIs.patch (text/plain), 3.85 KB, created by
David Cook
on 2017-05-23 02:31:45 UTC
(
hide
)
Description:
Bug 18586 - Create module to mint RDF subject URIs
Filename:
MIME Type:
Creator:
David Cook
Created:
2017-05-23 02:31:45 UTC
Size:
3.85 KB
patch
obsolete
>From d98ffbcebcc0d580599632b57ba6a27f480f36d1 Mon Sep 17 00:00:00 2001 >From: David Cook <dcook@prosentient.com.au> >Date: Tue, 23 May 2017 12:06:59 +1000 >Subject: [PATCH] Bug 18586 - Create module to mint RDF subject URIs > >Created the Koha::RDF module to mint URIs for RDF documents that >represent Koha bibliographic records. > >_TEST PLAN_ >To test the module, just run 'prove t/Koha/RDF.t'. > >You'll get >some warnings about not being able to find koha-conf.xml, but >you can safely ignore them or you can point to any koha-conf.xml >file since it's not used by the test in actuality. >--- > Koha/RDF.pm | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ > t/Koha/RDF.t | 33 +++++++++++++++++++++++++++++++++ > 2 files changed, 83 insertions(+) > create mode 100644 Koha/RDF.pm > create mode 100644 t/Koha/RDF.t > >diff --git a/Koha/RDF.pm b/Koha/RDF.pm >new file mode 100644 >index 0000000000..def6dfddcb >--- /dev/null >+++ b/Koha/RDF.pm >@@ -0,0 +1,50 @@ >+package Koha::RDF; >+ >+# Copyright 2017 Prosentient Systems >+# >+# This file is part of Koha. >+# >+# Koha is free software; you can redistribute it and/or modify it under the >+# terms of the GNU General Public License as published by the Free Software >+# Foundation; either version 3 of the License, or (at your option) any later >+# version. >+# >+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY >+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR >+# A PARTICULAR PURPOSE. See the GNU General Public License for more details. >+# >+# You should have received a copy of the GNU General Public License along >+# with Koha; if not, write to the Free Software Foundation, Inc., >+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. >+ >+use Modern::Perl; >+use URI; >+ >+use C4::Context; >+ >+sub new { >+ my ($class, $args) = @_; >+ $args = {} unless defined $args; >+ return bless ($args, $class); >+} >+ >+sub mint_uri { >+ my ($self,$type,$number) = @_; >+ my $new_uri; >+ my $preference = C4::Context->preference('OPACBaseURL'); >+ if ($preference){ >+ my $uri = URI->new($preference); >+ if ( $uri && $uri->can('scheme') && $uri->scheme && ($uri->scheme eq 'http' || $uri->scheme eq 'https') ){ >+ if ($type && $number){ >+ if ($type eq 'biblio'){ >+ #NOTE: This is arbitrary and based on default Apache configuration at the time of writing this module >+ $uri->path("bib/$number"); >+ $new_uri = $uri; >+ } >+ } >+ } >+ } >+ return $new_uri; >+} >+ >+1; >diff --git a/t/Koha/RDF.t b/t/Koha/RDF.t >new file mode 100644 >index 0000000000..9c164fc0a4 >--- /dev/null >+++ b/t/Koha/RDF.t >@@ -0,0 +1,33 @@ >+#!/usr/bin/perl >+ >+# This file is part of Koha. >+# >+# Koha is free software; you can redistribute it and/or modify it >+# under the terms of the GNU General Public License as published by >+# the Free Software Foundation; either version 3 of the License, or >+# (at your option) any later version. >+# >+# Koha is distributed in the hope that it will be useful, but >+# WITHOUT ANY WARRANTY; without even the implied warranty of >+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >+# GNU General Public License for more details. >+# >+# You should have received a copy of the GNU General Public License >+# along with Koha; if not, see <http://www.gnu.org/licenses>. >+ >+use Modern::Perl; >+use Test::More tests => 3; >+ >+use t::lib::Mocks; >+ >+use_ok("Koha::RDF"); >+ >+my $rdf = Koha::RDF->new; >+ >+t::lib::Mocks::mock_preference('OPACBaseURL', 'http://koha-community.org'); >+my $well_formed_uri = $rdf->mint_uri('biblio',1); >+is($well_formed_uri,'http://koha-community.org/bib/1','Successfully minted a RDF URI'); >+ >+t::lib::Mocks::mock_preference('OPACBaseURL', 'koha-community.org'); >+my $malformed_uri = $rdf->mint_uri('biblio',2); >+is($malformed_uri,undef,"Didn't mint URI due to missing URI scheme"); >-- >2.12.0
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 18586
:
63640
|
63645
|
64406