aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRalph Amissah <ralph@amissah.com>2010-10-09 23:11:53 -0400
committerRalph Amissah <ralph@amissah.com>2010-10-09 23:11:53 -0400
commit74c8847f7a177e934837e8bd2560336fe6712acb (patch)
tree44a6e904d65569b4628678521edef76a76859822
parentdebian/changelog 2.7.4-1 (diff)
parentversion date (diff)
Merge branch 'upstream' into debian/sid
-rw-r--r--CHANGELOG_v223
-rw-r--r--data/doc/sisu/v2/CHANGELOG23
-rw-r--r--data/sisu/v2/v/version.yml6
-rw-r--r--lib/sisu/v2/odf.rb6
-rw-r--r--lib/sisu/v2/param.rb44
-rw-r--r--lib/sisu/v2/shared_metadata.rb14
6 files changed, 91 insertions, 25 deletions
diff --git a/CHANGELOG_v2 b/CHANGELOG_v2
index 130973c5..fbe60bf4 100644
--- a/CHANGELOG_v2
+++ b/CHANGELOG_v2
@@ -12,11 +12,28 @@ Reverse Chronological:
%% Development branch UNSTABLE
+%% 2.7.5.orig.tar.gz (2010-10-08:40/5)
+http://www.jus.uio.no/sisu/pkg/src/sisu_2.7.5.orig.tar.gz
+ sisu_2.7.5.orig.tar.gz
+ sisu_2.7.5-1.dsc
+ sisu_2.7.5-1.diff.gz
+
+ [debian freeze, fix]
+
+ * odf:odt
+ * odf, fix odt cornercase document breakage when matching and representing
+ "&nbsp" and "&" (prior to this fix, odt for viral_spiral is broken in
+ sisu-markup-samples)
+ * shared_metadata, fix cornercase odt document breakage when matching and
+ representing "&nbsp", "&" and urls in metadata
+
+ * param, metadata rights, keep colon separator from interfering with urls
+
%% 2.7.4.orig.tar.gz (2010-10-08:40/5)
http://www.jus.uio.no/sisu/pkg/src/sisu_2.7.4.orig.tar.gz
- sisu_2.7.4.orig.tar.gz
- sisu_2.7.4-1.dsc
- sisu_2.7.4-1.diff.gz
+ 3d36b407f7f2df7b260f0a7932adf520a0539f8578dac59c6ca6de3bbfd03e62 2743433 sisu_2.7.4.orig.tar.gz
+ bc2193743fc8635a5974aa0e55507bf99264df0669d23e635cda11bff767ce3a 1196 sisu_2.7.4-1.dsc
+ cec3bbe1250444300c8c69899a0a5e849d7f5e39c9e0170f7984eaa4fea7b3b4 288468 sisu_2.7.4-1.diff.gz
[debian freeze, fix]
diff --git a/data/doc/sisu/v2/CHANGELOG b/data/doc/sisu/v2/CHANGELOG
index ce051c23..da409f26 100644
--- a/data/doc/sisu/v2/CHANGELOG
+++ b/data/doc/sisu/v2/CHANGELOG
@@ -12,11 +12,28 @@ Reverse Chronological:
%% Development branch UNSTABLE
+%% 2.7.5.orig.tar.gz (2010-10-08:40/5)
+http://www.jus.uio.no/sisu/pkg/src/sisu_2.7.5.orig.tar.gz
+ sisu_2.7.5.orig.tar.gz
+ sisu_2.7.5-1.dsc
+ sisu_2.7.5-1.diff.gz
+
+ [debian freeze, fix]
+
+ * odf:odt
+ * odf, fix odt cornercase document breakage when matching and representing
+ "&nbsp" and "&" (prior to this fix, odt for viral_spiral is broken in
+ sisu-markup-samples)
+ * shared_metadata, fix cornercase odt document breakage when matching and
+ representing "&nbsp", "&" and urls in metadata
+
+ * param, metadata rights, keep colon separator from interfering with urls
+
%% 2.7.4.orig.tar.gz (2010-10-08:40/5)
http://www.jus.uio.no/sisu/pkg/src/sisu_2.7.4.orig.tar.gz
- sisu_2.7.4.orig.tar.gz
- sisu_2.7.4-1.dsc
- sisu_2.7.4-1.diff.gz
+ 3d36b407f7f2df7b260f0a7932adf520a0539f8578dac59c6ca6de3bbfd03e62 2743433 sisu_2.7.4.orig.tar.gz
+ bc2193743fc8635a5974aa0e55507bf99264df0669d23e635cda11bff767ce3a 1196 sisu_2.7.4-1.dsc
+ cec3bbe1250444300c8c69899a0a5e849d7f5e39c9e0170f7984eaa4fea7b3b4 288468 sisu_2.7.4-1.diff.gz
[debian freeze, fix]
diff --git a/data/sisu/v2/v/version.yml b/data/sisu/v2/v/version.yml
index adbdc2b4..a17c3674 100644
--- a/data/sisu/v2/v/version.yml
+++ b/data/sisu/v2/v/version.yml
@@ -1,5 +1,5 @@
---
-:version: 2.7.4
-:date_stamp: 2010w40/5
-:date: "2010-10-08"
+:version: 2.7.5
+:date_stamp: 2010w40/6
+:date: "2010-10-09"
:project: SiSU
diff --git a/lib/sisu/v2/odf.rb b/lib/sisu/v2/odf.rb
index 41229249..ad1f45d1 100644
--- a/lib/sisu/v2/odf.rb
+++ b/lib/sisu/v2/odf.rb
@@ -461,9 +461,9 @@ module SiSU_ODF
word.each do |w| # _ - / # | : ! ^ ~
unless dob =~/^(?:#{Rx[:meta]}|%+ )/m
w.gsub!(/&#(?:126|152);/,'~') #126 usual
- if w !~/&\S{1,7};/ \
- or w =~/&nbsp;/
- w.gsub!(/&/,'&amp;') #watch &nbsp;
+ w.gsub!(/&nbsp;/,'&#160;')
+ if w !~/&\S{2,7}?;/
+ w.gsub!(/&/,'&amp;')
end
w.gsub!(/(&\S{1,7};)+&/,'\1&amp;') #could break things
end
diff --git a/lib/sisu/v2/param.rb b/lib/sisu/v2/param.rb
index b44a5b8e..78cad7c6 100644
--- a/lib/sisu/v2/param.rb
+++ b/lib/sisu/v2/param.rb
@@ -427,32 +427,52 @@ module SiSU_Param
l,n=Db[:col_info_note],'rights.license'
validate_length(s,l,n)
end
+ def sep(str)
+ (str =~/https?:\/\/\S+$/) ? ' ;' : ';'
+ end
def all
s=if @h['all']; @h['all']
else
- s=copyright.text + ';'
+ s=''
+ if defined? copyright.text \
+ and copyright.text \
+ and not copyright.text.empty?
+ v=sep(copyright.text)
+ s +=copyright.text + v
+ end
if defined? copyright.translation \
- and copyright.translation
- s +='<br> translation ' + copyright.translation + ';'
+ and copyright.translation \
+ and not copyright.translation.empty?
+ v=sep(copyright.translation)
+ s +='<br> translation ' + copyright.translation + v
end
if defined? copyright.illustrations \
- and copyright.illustrations
- s +='<br> illustrations ' + copyright.illustrations + ';'
+ and copyright.illustrations \
+ and not copyright.illustrations.empty?
+ v=sep(copyright.illustrations)
+ s +='<br> illustrations ' + copyright.illustrations + v
end
if defined? copyright.photographs \
- and copyright.photographs
- s +='<br> photographs ' + copyright.photographs + ';'
+ and copyright.photographs \
+ and not copyright.photographs.empty?
+ v=sep(copyright.photographs)
+ s +='<br> photographs ' + copyright.photographs + v
end
if defined? copyright.digitization \
- and copyright.digitization
- s +='<br> digitization ' + copyright.digitization + ';'
+ and copyright.digitization \
+ and not copyright.digitization.empty?
+ v=sep(copyright.digitization)
+ s +='<br> digitization ' + copyright.digitization + v
end
if defined? copyright.audio \
- and copyright.audio
- s +='<br> audio ' + copyright.audio + ';'
+ and copyright.audio \
+ and not copyright.audio.empty?
+ v=sep(copyright.audio)
+ s +='<br> audio ' + copyright.audio + v
end
if defined? copyright.license \
- and copyright.license
+ and copyright.license \
+ and not copyright.license.empty?
s +='<br> License: ' + copyright.license
end
if s.empty?
diff --git a/lib/sisu/v2/shared_metadata.rb b/lib/sisu/v2/shared_metadata.rb
index 69a92070..e589c598 100644
--- a/lib/sisu/v2/shared_metadata.rb
+++ b/lib/sisu/v2/shared_metadata.rb
@@ -476,6 +476,18 @@ WOK
if @inf.class==String
@inf.gsub!(/</,'&lt;'); @inf.gsub!(/>/,'&gt;')
@inf.gsub!(/&lt;br(?: \/)?&gt;/,'<br />')
+ if @inf =~/&/
+ inf_array=[]
+ word=@inf.scan(/\S+|\n/)
+ word.each do |w| # _ - / # | : ! ^ ~
+ w.gsub!(/&nbsp;/,'&#160;')
+ if w !~/&\S{2,7}?;/
+ w.gsub!(/&/,'&amp;')
+ end
+ inf_array << w
+ end
+ @inf=inf_array.join(' ')
+ end
@inf.gsub!(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,
'<text:a xlink:type="simple" xlink:href="\1">\1</text:a>') #http ftp matches escaped, no decoration
@inf.gsub!(/(#{Mx[:lnk_c]})#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,
@@ -484,7 +496,7 @@ WOK
@inf.gsub!(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,
%{#{url_brace.xml_open}<text:a xlink:type="simple" xlink:href="\\1">\\1</text:a>#{url_brace.xml_close}}) #http ftp matches with decoration
else
- @inf.gsub!(/(https?:\/\/\S+)/,
+ @inf.gsub!(/(https?:\/\/[^<>'"\s]+)/,
%{#{url_brace.xml_open}<text:a xlink:type="simple" xlink:href="\\1">\\1</text:a>#{url_brace.xml_close}}) #http ftp matches with decoration
end
@inf.gsub!(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/,