lyrics-ebook 0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. data/LICENSE +340 -0
  2. data/README +46 -0
  3. data/bin/lyrics-ebook +47 -0
  4. data/lib/eeepub/LICENSE +20 -0
  5. data/lib/eeepub/README.md +77 -0
  6. data/lib/eeepub/Rakefile +49 -0
  7. data/lib/eeepub/VERSION +1 -0
  8. data/lib/eeepub/examples/files/bar.html +42 -0
  9. data/lib/eeepub/examples/files/foo.html +42 -0
  10. data/lib/eeepub/examples/simple_epub.rb +25 -0
  11. data/lib/eeepub/lib/eeepub.rb +17 -0
  12. data/lib/eeepub/lib/eeepub/container_item.rb +108 -0
  13. data/lib/eeepub/lib/eeepub/easy.rb +100 -0
  14. data/lib/eeepub/lib/eeepub/maker.rb +127 -0
  15. data/lib/eeepub/lib/eeepub/ncx.rb +68 -0
  16. data/lib/eeepub/lib/eeepub/ocf.rb +112 -0
  17. data/lib/eeepub/lib/eeepub/opf.rb +148 -0
  18. data/lib/eeepub/spec/eeepub/easy_spec.rb +66 -0
  19. data/lib/eeepub/spec/eeepub/maker_spec.rb +124 -0
  20. data/lib/eeepub/spec/eeepub/ncx_spec.rb +80 -0
  21. data/lib/eeepub/spec/eeepub/ocf_spec.rb +43 -0
  22. data/lib/eeepub/spec/eeepub/opf_spec.rb +262 -0
  23. data/lib/eeepub/spec/eeepub_spec.rb +4 -0
  24. data/lib/eeepub/spec/spec_helper.rb +12 -0
  25. data/lib/lyrics_ebook.rb +71 -0
  26. data/lib/lyrics_ebook/cache2html.rb +33 -0
  27. data/lib/lyrics_ebook/cache_manager.rb +77 -0
  28. data/lib/lyrics_ebook/lyric.rb +32 -0
  29. data/lib/lyrics_ebook/lyric_download.rb +50 -0
  30. data/lib/lyrics_ebook/lyrics2html.rb +106 -0
  31. data/lib/lyrics_ebook/mini_lyrics_parser.rb +26 -0
  32. data/lib/lyrics_ebook/mp3_parser.rb +37 -0
  33. data/lib/wiki_lyrics/amarok/COPYING +340 -0
  34. data/lib/wiki_lyrics/amarok/README +51 -0
  35. data/lib/wiki_lyrics/amarok/amarok.rb +355 -0
  36. data/lib/wiki_lyrics/amarok/pluginadapter.rb +113 -0
  37. data/lib/wiki_lyrics/amarok/plugins.rb +95 -0
  38. data/lib/wiki_lyrics/amarok/wikilyrics.rb +578 -0
  39. data/lib/wiki_lyrics/amarok/wikilyrics.spec +4 -0
  40. data/lib/wiki_lyrics/amarok/wikipluginadapter.rb +392 -0
  41. data/lib/wiki_lyrics/cli/optionsparser.rb +228 -0
  42. data/lib/wiki_lyrics/cli/pluginadapter.rb +56 -0
  43. data/lib/wiki_lyrics/cli/plugins.rb +79 -0
  44. data/lib/wiki_lyrics/cli/wikilyrics.rb +178 -0
  45. data/lib/wiki_lyrics/cli/wikipluginadapter.rb +140 -0
  46. data/lib/wiki_lyrics/docs/COPYING +340 -0
  47. data/lib/wiki_lyrics/docs/ChangeLog +293 -0
  48. data/lib/wiki_lyrics/docs/HOWTO.pdf +0 -0
  49. data/lib/wiki_lyrics/docs/HOWTO.tex +151 -0
  50. data/lib/wiki_lyrics/docs/HOWTO.txt +139 -0
  51. data/lib/wiki_lyrics/docs/README +45 -0
  52. data/lib/wiki_lyrics/docs/TODO +12 -0
  53. data/lib/wiki_lyrics/gui/gui-gtk.rb +945 -0
  54. data/lib/wiki_lyrics/gui/gui-qt3.rb +785 -0
  55. data/lib/wiki_lyrics/gui/gui-qt4.rb +845 -0
  56. data/lib/wiki_lyrics/gui/gui-tk.rb +1104 -0
  57. data/lib/wiki_lyrics/gui/gui.rb +268 -0
  58. data/lib/wiki_lyrics/gui/test.rb +74 -0
  59. data/lib/wiki_lyrics/i18n/README +1 -0
  60. data/lib/wiki_lyrics/i18n/en.rb +181 -0
  61. data/lib/wiki_lyrics/i18n/es.rb +181 -0
  62. data/lib/wiki_lyrics/i18n/i18n.rb +126 -0
  63. data/lib/wiki_lyrics/i18n/sk.rb +174 -0
  64. data/lib/wiki_lyrics/itrans/COPYRIGHT +31 -0
  65. data/lib/wiki_lyrics/itrans/itrans +0 -0
  66. data/lib/wiki_lyrics/itrans/itrans.txt +8 -0
  67. data/lib/wiki_lyrics/itrans/lyric.txt +23 -0
  68. data/lib/wiki_lyrics/itrans/udvng.ifm +206 -0
  69. data/lib/wiki_lyrics/lyrics.rb +567 -0
  70. data/lib/wiki_lyrics/lyrics_AZLyrics.rb +113 -0
  71. data/lib/wiki_lyrics/lyrics_DarkLyrics.rb +124 -0
  72. data/lib/wiki_lyrics/lyrics_Giitaayan.rb +124 -0
  73. data/lib/wiki_lyrics/lyrics_Jamendo.rb +166 -0
  74. data/lib/wiki_lyrics/lyrics_LeosLyrics.rb +142 -0
  75. data/lib/wiki_lyrics/lyrics_LoudSongs.rb +135 -0
  76. data/lib/wiki_lyrics/lyrics_LyricWiki.rb +329 -0
  77. data/lib/wiki_lyrics/lyrics_LyricsDownload.rb +118 -0
  78. data/lib/wiki_lyrics/lyrics_LyricsMania.rb +141 -0
  79. data/lib/wiki_lyrics/lyrics_Lyriki.rb +287 -0
  80. data/lib/wiki_lyrics/lyrics_SeekLyrics.rb +108 -0
  81. data/lib/wiki_lyrics/lyrics_Sing365.rb +103 -0
  82. data/lib/wiki_lyrics/lyrics_TerraLetras.rb +126 -0
  83. data/lib/wiki_lyrics/mediawikilyrics.rb +1464 -0
  84. data/lib/wiki_lyrics/tests/plugin_tests.rb +161 -0
  85. data/lib/wiki_lyrics/tests/tests.rb +74 -0
  86. data/lib/wiki_lyrics/utils/formdata.rb +56 -0
  87. data/lib/wiki_lyrics/utils/htmlentities.rb +291 -0
  88. data/lib/wiki_lyrics/utils/http.rb +198 -0
  89. data/lib/wiki_lyrics/utils/itrans.rb +160 -0
  90. data/lib/wiki_lyrics/utils/kde.rb +88 -0
  91. data/lib/wiki_lyrics/utils/logger.rb +123 -0
  92. data/lib/wiki_lyrics/utils/strings.rb +378 -0
  93. data/lib/wiki_lyrics/utils/xmlhash.rb +111 -0
  94. data/lib/wiki_lyrics/wikilyrics.kdevelop +152 -0
  95. data/lib/wiki_lyrics/wikilyrics.kdevses +18 -0
  96. data/lib/wiki_lyrics/win/gtk_fix.bat +3 -0
  97. data/lib/wiki_lyrics/win/tk_fix.bat +3 -0
  98. data/lib/wiki_lyrics/win/wikilyrics.bat +4 -0
  99. data/lib/wiki_lyrics/win/win_fix.rb +52 -0
  100. data/templates/art_.erb.xhtml +29 -0
  101. data/templates/artists.erb.xhtml +19 -0
  102. data/templates/cover.erb.xhtml +22 -0
  103. data/test/cache_manager_test.rb +73 -0
  104. data/test/data/artist name/title name.lyric +6 -0
  105. data/test/lyric_test.rb +41 -0
  106. metadata +194 -0
@@ -0,0 +1,152 @@
1
+ <?xml version = '1.0'?>
2
+ <kdevelop>
3
+ <general>
4
+ <author>Sergio Pistone</author>
5
+ <email>sergio_pistone@yahoo.com.ar</email>
6
+ <version>0.1</version>
7
+ <projectmanagement>KDevScriptProject</projectmanagement>
8
+ <primarylanguage>Ruby</primarylanguage>
9
+ <keywords>
10
+ <keyword>Ruby</keyword>
11
+ </keywords>
12
+ <ignoreparts>
13
+ <part>kdevbookmarks</part>
14
+ <part>kdevkonsoleview</part>
15
+ <part>kdevfilelist</part>
16
+ <part>kdevfileselector</part>
17
+ <part>kdevfileview</part>
18
+ </ignoreparts>
19
+ <projectdirectory>.</projectdirectory>
20
+ <absoluteprojectpath>false</absoluteprojectpath>
21
+ <description/>
22
+ <versioncontrol>kdevsubversion</versioncontrol>
23
+ <projectname>wikilyrics</projectname>
24
+ <defaultencoding/>
25
+ </general>
26
+ <kdevscriptproject>
27
+ <general>
28
+ <activedir>src</activedir>
29
+ <includepatterns>*.rb</includepatterns>
30
+ <excludepatterns>*~</excludepatterns>
31
+ </general>
32
+ <run>
33
+ <directoryradio>executable</directoryradio>
34
+ <globalcwd/>
35
+ </run>
36
+ </kdevscriptproject>
37
+ <kdevfileview>
38
+ <groups>
39
+ <group pattern="tests/*" name="tests" />
40
+ <group pattern="i18n/*" name="i18n" />
41
+ <group pattern="cli/*;cli2/*" name="cli" />
42
+ <group pattern="docs/*" name="docs" />
43
+ <group pattern="lyrics*.rb;mediawikilyrics.rb" name="lyrics" />
44
+ <group pattern="amarok/*" name="amarok" />
45
+ <group pattern="gui/*" name="gui" />
46
+ <group pattern="*.rb" name="other" />
47
+ <hidenonprojectfiles>false</hidenonprojectfiles>
48
+ <hidenonlocation>true</hidenonlocation>
49
+ </groups>
50
+ <tree>
51
+ <hidepatterns>*.o,*.lo,CVS</hidepatterns>
52
+ <hidenonprojectfiles>false</hidenonprojectfiles>
53
+ </tree>
54
+ </kdevfileview>
55
+ <kdevdoctreeview>
56
+ <ignoretocs>
57
+ <toc>ada</toc>
58
+ <toc>ada_bugs_gcc</toc>
59
+ <toc>bash</toc>
60
+ <toc>bash_bugs</toc>
61
+ <toc>c++_bugs_gcc</toc>
62
+ <toc>clanlib</toc>
63
+ <toc>w3c-dom-level2-html</toc>
64
+ <toc>fortran_bugs_gcc</toc>
65
+ <toc>gnome1</toc>
66
+ <toc>gnustep</toc>
67
+ <toc>gtk</toc>
68
+ <toc>gtk_bugs</toc>
69
+ <toc>haskell</toc>
70
+ <toc>haskell_bugs_ghc</toc>
71
+ <toc>java_bugs_gcc</toc>
72
+ <toc>java_bugs_sun</toc>
73
+ <toc>kde2book</toc>
74
+ <toc>libc</toc>
75
+ <toc>libstdc++</toc>
76
+ <toc>opengl</toc>
77
+ <toc>pascal_bugs_fp</toc>
78
+ <toc>php</toc>
79
+ <toc>php_bugs</toc>
80
+ <toc>perl</toc>
81
+ <toc>perl_bugs</toc>
82
+ <toc>python</toc>
83
+ <toc>python_bugs</toc>
84
+ <toc>qt-kdev3</toc>
85
+ <toc>sdl</toc>
86
+ <toc>stl</toc>
87
+ <toc>w3c-svg</toc>
88
+ <toc>sw</toc>
89
+ <toc>w3c-uaag10</toc>
90
+ <toc>wxwidgets_bugs</toc>
91
+ </ignoretocs>
92
+ <ignoreqt_xml>
93
+ <toc>Guide to the Qt Translation Tools</toc>
94
+ <toc>Qt Assistant Manual</toc>
95
+ <toc>Qt Designer Manual</toc>
96
+ <toc>Qt Reference Documentation</toc>
97
+ <toc>qmake User Guide</toc>
98
+ </ignoreqt_xml>
99
+ <ignoredoxygen>
100
+ <toc>KDE Libraries (Doxygen)</toc>
101
+ </ignoredoxygen>
102
+ </kdevdoctreeview>
103
+ <kdevfilecreate>
104
+ <filetypes/>
105
+ <useglobaltypes>
106
+ <type ext="rb" />
107
+ </useglobaltypes>
108
+ </kdevfilecreate>
109
+ <kdevrubysupport>
110
+ <run>
111
+ <mainprogram/>
112
+ <interpreter>ruby</interpreter>
113
+ <terminal>false</terminal>
114
+ <shell>irb</shell>
115
+ <programargs/>
116
+ <runmainprogram>0</runmainprogram>
117
+ <charactercoding>3</charactercoding>
118
+ </run>
119
+ </kdevrubysupport>
120
+ <substmap>
121
+ <APPNAME>wikilyrics</APPNAME>
122
+ <APPNAMELC>wikilyrics</APPNAMELC>
123
+ <APPNAMESC>Wikilyrics</APPNAMESC>
124
+ <APPNAMEUC>WIKILYRICS</APPNAMEUC>
125
+ <AUTHOR>Sergio Pistone</AUTHOR>
126
+ <EMAIL>sergio_pistone@yahoo.com.ar</EMAIL>
127
+ <LICENSE>GPL</LICENSE>
128
+ <LICENSEFILE>COPYING</LICENSEFILE>
129
+ <VERSION>0.1</VERSION>
130
+ <YEAR>2006</YEAR>
131
+ <dest>wikilyrics</dest>
132
+ </substmap>
133
+ <kdevrbdebugger>
134
+ <general>
135
+ <floatingtoolbar>false</floatingtoolbar>
136
+ <showconstants>true</showconstants>
137
+ <traceintoruby>false</traceintoruby>
138
+ </general>
139
+ </kdevrbdebugger>
140
+ <kdevdocumentation>
141
+ <projectdoc>
142
+ <docsystem/>
143
+ <docurl/>
144
+ <usermanualurl/>
145
+ </projectdoc>
146
+ </kdevdocumentation>
147
+ <ctagspart>
148
+ <customArguments/>
149
+ <customTagfilePath>/home/sergio/Desktop/wikilyrics/tags</customTagfilePath>
150
+ <activeTagsFiles/>
151
+ </ctagspart>
152
+ </kdevelop>
@@ -0,0 +1,18 @@
1
+ <?xml version = '1.0' encoding = 'UTF-8'?>
2
+ <!DOCTYPE KDevPrjSession>
3
+ <KDevPrjSession>
4
+ <DocsAndViews NumberOfDocuments="1" >
5
+ <Doc0 NumberOfViews="1" URL="file:///home/sergio/Desktop/Desarrollo/wikilyrics/lyrics_YahooMusic.rb" >
6
+ <View0 Encoding="" line="0" Type="Source" />
7
+ </Doc0>
8
+ </DocsAndViews>
9
+ <pluginList>
10
+ <kdevrbdebugger>
11
+ <breakpointList/>
12
+ <watchExpressions/>
13
+ </kdevrbdebugger>
14
+ <kdevsubversion>
15
+ <subversion base="" />
16
+ </kdevsubversion>
17
+ </pluginList>
18
+ </KDevPrjSession>
@@ -0,0 +1,3 @@
1
+ @echo off
2
+ ruby.exe win_fix.rb "gtk"
3
+ pause
@@ -0,0 +1,3 @@
1
+ @echo off
2
+ ruby.exe win_fix.rb tk
3
+ pause
@@ -0,0 +1,4 @@
1
+ @echo off
2
+ rem AMIP has troubles launching ruby directly.
3
+ rem Using a batch file to call wikilyrics solves this.
4
+ ruby.exe wikilyrics.rb %* 2>NUL
@@ -0,0 +1,52 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "fileutils"
4
+
5
+ def get_ruby_dir()
6
+ candidate_dirs = [ ENV["PROGRAMFILES"], ENV["SYSTEMDRIVE"], ENV["SYSTEMDRIVE"] ]
7
+ candidate_dirs.each() do |dir|
8
+ next if dir == nil
9
+ dir = "#{dir.gsub( "\\", "/" )}/ruby"
10
+ return dir if FileTest.exist?( dir )
11
+ end
12
+ return nil
13
+ end
14
+
15
+ def get_gtk_dir()
16
+ return ENV["GTK_BASEPATH"] ? ENV["GTK_BASEPATH"].gsub( "\\", "/" ) : nil
17
+ end
18
+
19
+ toolkit = ARGV[0].to_s().downcase().strip()
20
+ if toolkit == "gtk" || toolkit == "gtk2"
21
+ ruby_dir = get_ruby_dir()
22
+ if ruby_dir == nil
23
+ puts "Sorry... couldn't find the Ruby installation dir."
24
+ exit 1
25
+ end
26
+ gtk_dir = get_gtk_dir()
27
+ if gtk_dir == nil
28
+ puts "Sorry... couldn't find the GTK installation dir."
29
+ exit 1
30
+ end
31
+ begin
32
+ puts "Applying Ruby/GTK fix:"
33
+ $stdout << " - Backing up '#{ruby_dir}/bin/iconv.dll' to '#{ruby_dir}/bin/iconv.dll.old'..."
34
+ FileUtils.move( "#{ruby_dir}/bin/iconv.dll", "#{ruby_dir}/bin/iconv.dll.old" )
35
+ puts " OK"
36
+ $stdout << " - Copying '#{gtk_dir}/bin/iconv' to '#{ruby_dir}/bin/iconv.dll'..."
37
+ FileUtils.copy( "#{gtk_dir}/bin/iconv.dll", "#{ruby_dir}/bin/iconv.dll" )
38
+ puts " OK"
39
+ puts "GTK fix applied successfully."
40
+ rescue Errno::ENOENT
41
+ puts " ERROR"
42
+ puts "There was an error applying the GTK fix."
43
+ exit 1
44
+ end
45
+ elsif toolkit == "tk"
46
+ puts "Sorry... not implemented yet."
47
+ exit 1
48
+ else
49
+ puts "Usage: win_fix.rb {gtk|tk}"
50
+ puts "Fix common problems with Ruby/GTK or Tcl/Tk Windows installations."
51
+ exit 1
52
+ end
@@ -0,0 +1,29 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
6
+ <title>Lyrics-EBook</title>
7
+ <!-- <link rel="stylesheet" href="css/main.css" type="text/css" /> -->
8
+ </head>
9
+ <body>
10
+ <br />
11
+ <h2><%=h(@art_name)%></h2>
12
+ <ul>
13
+ <% @lyrics.each_with_index do |lyric, index_song| %>
14
+ <li><a href='#song_<%=index_song%>'><%=h(lyric.title)%></a></li>
15
+ <% end %>
16
+ </ul>
17
+ <% @lyrics.each_with_index do |lyric, index_song| %>
18
+ <p>
19
+ <a name='song_<%=index_song%>'>
20
+ <h3><%=h(lyric.title)%></h3>
21
+ </a>
22
+ <%= lyric.html_text %>
23
+ <br />
24
+ <br />
25
+ </p>
26
+ <% end %>
27
+
28
+ </body>
29
+ </html>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
6
+ <title>Artists</title>
7
+ <!-- <link rel="stylesheet" href="css/main.css" type="text/css" /> -->
8
+ </head>
9
+ <body>
10
+ <h1>Artists</h1>
11
+
12
+ <ul>
13
+ <% @data.each_with_index do |art_lyrics,index| %>
14
+ <li><a href="art_<%= index %>.xhtml"><%=h(art_lyrics[0])%></a> (<%=art_lyrics[1].size%> songs)</li>
15
+ <% end %>
16
+ </ul>
17
+
18
+ </body>
19
+ </html>
@@ -0,0 +1,22 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
6
+ <title>Lyrics-EBook</title>
7
+ <!-- <link rel="stylesheet" href="css/main.css" type="text/css" /> -->
8
+ </head>
9
+ <body>
10
+ <h1>Lyrics EBook</h1>
11
+ <br />
12
+ <p>
13
+ Ebook created by lyrics-ebook <br />
14
+ (<a href="http://code.google.com/p/lyrics-ebook/">http://code.google.com/p/lyrics-ebook</a>)
15
+ <br />
16
+ </p>
17
+ <p>
18
+ For personal use only.
19
+ </p>
20
+
21
+ </body>
22
+ </html>
@@ -0,0 +1,73 @@
1
+ $LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"
2
+
3
+ require 'test/unit'
4
+ require 'lyrics_ebook.rb'
5
+
6
+ class CacheManagerTest < Test::Unit::TestCase
7
+
8
+ def setup
9
+ td=File.join('test','data')
10
+ @cm=CacheManager.new(td)
11
+ end
12
+
13
+ def test_lyric2file
14
+ l=Lyric.new({:artist=>'Artist name', :title=>'Title name'})
15
+ expected=File.join('test','data','artist name','title name.lyric')
16
+ assert_equal expected, @cm.send('lyric2file',l)
17
+ end
18
+
19
+ def test_lyric2file_with_invalid_chars
20
+ l=Lyric.new({:artist=>'Artist*name', :title=>'Title/name'})
21
+ expected=File.join('test','data','artist_name','title_name.lyric')
22
+ assert_equal expected, @cm.send('lyric2file',l)
23
+ end
24
+
25
+ def test_get_existing
26
+ l=Lyric.new({:artist=>'Artist name', :title=>'Title name'})
27
+ assert @cm.get(l)
28
+ assert_not_nil l.text
29
+ exp="Song line1\nSong line2\n\nSong end\n"
30
+ assert_equal exp, l.text
31
+ end
32
+
33
+ def test_get_missing
34
+ l=Lyric.new({:artist=>'Artist name', :title=>'not existing'})
35
+ assert !@cm.get(l)
36
+ assert_nil l.text
37
+ end
38
+
39
+ def test_store
40
+ l=Lyric.new({:artist=>'Artist name', :title=>'New song'})
41
+ begin
42
+ assert !@cm.get(l), "precondition"
43
+ l.text="prova"
44
+ assert @cm.store(l)
45
+
46
+ l2=Lyric.new({:artist=>'Artist name', :title=>'New song'})
47
+ assert @cm.get(l2)
48
+ exp="prova"
49
+ assert_equal exp, l2.text
50
+ ensure
51
+ f_name=@cm.send('lyric2file',l)
52
+ File.delete(f_name)
53
+ end
54
+ end
55
+
56
+ def test_get_lyrics
57
+ lyrics=@cm.get_lyrics
58
+ assert lyrics.is_a? Array
59
+ lyric=lyrics.detect{|l| l.artist=="Artist name" && l.title=='Title name'}
60
+ assert_not_nil lyric
61
+ assert_not_nil lyric.text
62
+ end
63
+
64
+ def test_alternative_dir
65
+ td=File.join('test','data')
66
+ @cm=CacheManager.new(".")
67
+ l=Lyric.new({:artist=>'Artist name', :title=>'Title name'})
68
+ assert !@cm.get(l)
69
+ @cm.alternative_dir= td
70
+ assert @cm.get(l)
71
+ end
72
+
73
+ end
@@ -0,0 +1,6 @@
1
+ Artist name - Title name
2
+
3
+ Song line1
4
+ Song line2
5
+
6
+ Song end
@@ -0,0 +1,41 @@
1
+ $LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"
2
+
3
+ require 'test/unit'
4
+ require 'lyrics_ebook.rb'
5
+
6
+ class LyricTest < Test::Unit::TestCase
7
+
8
+ def test_init
9
+ l=Lyric.new({:artist=>'a', :title=>'b'})
10
+ assert_equal 'a', l.artist
11
+ assert_equal 'b', l.title
12
+ end
13
+
14
+ def test_sort
15
+ l1=Lyric.new
16
+ l1.artist='a1'
17
+ l1.title='ccc'
18
+ l2=Lyric.new
19
+ l2.artist='a1'
20
+ l2.title='bbb'
21
+ a=[l1,l1]
22
+ a.sort!
23
+
24
+ assert l1, a[0]
25
+ end
26
+
27
+ def test_text
28
+ l=Lyric.new({:artist=>'a', :title=>'b'})
29
+ a=[]
30
+ a << "line1\n"
31
+ a << "line2\n"
32
+ a << "line3\n"
33
+ l.text = a
34
+ exp="line1\nline2\nline3\n"
35
+ assert_equal exp, l.text
36
+
37
+ exp="line1\n<br />line2\n<br />line3\n"
38
+ assert_equal exp, l.html_text
39
+ end
40
+
41
+ end
metadata ADDED
@@ -0,0 +1,194 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: lyrics-ebook
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 1
8
+ version: "0.1"
9
+ platform: ruby
10
+ authors:
11
+ - maner
12
+ autorequire:
13
+ bindir: bin
14
+ cert_chain: []
15
+
16
+ date: 2010-11-03 00:00:00 +01:00
17
+ default_executable:
18
+ dependencies:
19
+ - !ruby/object:Gem::Dependency
20
+ name: ruby-mp3info
21
+ prerelease: false
22
+ requirement: &id001 !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ segments:
27
+ - 0
28
+ - 6
29
+ - 12
30
+ version: 0.6.12
31
+ type: :runtime
32
+ version_requirements: *id001
33
+ - !ruby/object:Gem::Dependency
34
+ name: zippy
35
+ prerelease: false
36
+ requirement: &id002 !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ segments:
41
+ - 0
42
+ - 1
43
+ - 0
44
+ version: 0.1.0
45
+ type: :runtime
46
+ version_requirements: *id002
47
+ description: Build ebooks (in epub format) containing song lyrics
48
+ email: maner@users.sf.net
49
+ executables:
50
+ - lyrics-ebook
51
+ extensions: []
52
+
53
+ extra_rdoc_files:
54
+ - README
55
+ - LICENSE
56
+ files:
57
+ - README
58
+ - LICENSE
59
+ - lib/lyrics_ebook/lyrics2html.rb
60
+ - lib/lyrics_ebook/cache_manager.rb
61
+ - lib/lyrics_ebook/cache2html.rb
62
+ - lib/lyrics_ebook/lyric_download.rb
63
+ - lib/lyrics_ebook/lyric.rb
64
+ - lib/lyrics_ebook/mini_lyrics_parser.rb
65
+ - lib/lyrics_ebook/mp3_parser.rb
66
+ - lib/eeepub/lib/eeepub.rb
67
+ - lib/eeepub/lib/eeepub/easy.rb
68
+ - lib/eeepub/lib/eeepub/maker.rb
69
+ - lib/eeepub/lib/eeepub/ncx.rb
70
+ - lib/eeepub/lib/eeepub/ocf.rb
71
+ - lib/eeepub/lib/eeepub/opf.rb
72
+ - lib/eeepub/lib/eeepub/container_item.rb
73
+ - lib/eeepub/spec/spec_helper.rb
74
+ - lib/eeepub/spec/eeepub/easy_spec.rb
75
+ - lib/eeepub/spec/eeepub/ocf_spec.rb
76
+ - lib/eeepub/spec/eeepub/opf_spec.rb
77
+ - lib/eeepub/spec/eeepub/ncx_spec.rb
78
+ - lib/eeepub/spec/eeepub/maker_spec.rb
79
+ - lib/eeepub/spec/eeepub_spec.rb
80
+ - lib/eeepub/LICENSE
81
+ - lib/eeepub/README.md
82
+ - lib/eeepub/Rakefile
83
+ - lib/eeepub/VERSION
84
+ - lib/eeepub/examples/files/foo.html
85
+ - lib/eeepub/examples/files/bar.html
86
+ - lib/eeepub/examples/simple_epub.rb
87
+ - lib/wiki_lyrics/cli/optionsparser.rb
88
+ - lib/wiki_lyrics/cli/wikilyrics.rb
89
+ - lib/wiki_lyrics/cli/wikipluginadapter.rb
90
+ - lib/wiki_lyrics/cli/plugins.rb
91
+ - lib/wiki_lyrics/cli/pluginadapter.rb
92
+ - lib/wiki_lyrics/gui/test.rb
93
+ - lib/wiki_lyrics/gui/gui.rb
94
+ - lib/wiki_lyrics/gui/gui-gtk.rb
95
+ - lib/wiki_lyrics/gui/gui-tk.rb
96
+ - lib/wiki_lyrics/gui/gui-qt3.rb
97
+ - lib/wiki_lyrics/gui/gui-qt4.rb
98
+ - lib/wiki_lyrics/win/win_fix.rb
99
+ - lib/wiki_lyrics/win/wikilyrics.bat
100
+ - lib/wiki_lyrics/win/tk_fix.bat
101
+ - lib/wiki_lyrics/win/gtk_fix.bat
102
+ - lib/wiki_lyrics/i18n/i18n.rb
103
+ - lib/wiki_lyrics/i18n/en.rb
104
+ - lib/wiki_lyrics/i18n/es.rb
105
+ - lib/wiki_lyrics/i18n/sk.rb
106
+ - lib/wiki_lyrics/i18n/README
107
+ - lib/wiki_lyrics/docs/TODO
108
+ - lib/wiki_lyrics/docs/README
109
+ - lib/wiki_lyrics/docs/HOWTO.pdf
110
+ - lib/wiki_lyrics/docs/HOWTO.tex
111
+ - lib/wiki_lyrics/docs/HOWTO.txt
112
+ - lib/wiki_lyrics/docs/ChangeLog
113
+ - lib/wiki_lyrics/docs/COPYING
114
+ - lib/wiki_lyrics/lyrics.rb
115
+ - lib/wiki_lyrics/lyrics_AZLyrics.rb
116
+ - lib/wiki_lyrics/lyrics_LoudSongs.rb
117
+ - lib/wiki_lyrics/tests/plugin_tests.rb
118
+ - lib/wiki_lyrics/tests/tests.rb
119
+ - lib/wiki_lyrics/utils/htmlentities.rb
120
+ - lib/wiki_lyrics/utils/itrans.rb
121
+ - lib/wiki_lyrics/utils/logger.rb
122
+ - lib/wiki_lyrics/utils/strings.rb
123
+ - lib/wiki_lyrics/utils/kde.rb
124
+ - lib/wiki_lyrics/utils/xmlhash.rb
125
+ - lib/wiki_lyrics/utils/formdata.rb
126
+ - lib/wiki_lyrics/utils/http.rb
127
+ - lib/wiki_lyrics/lyrics_Sing365.rb
128
+ - lib/wiki_lyrics/lyrics_Jamendo.rb
129
+ - lib/wiki_lyrics/lyrics_DarkLyrics.rb
130
+ - lib/wiki_lyrics/wikilyrics.kdevses
131
+ - lib/wiki_lyrics/mediawikilyrics.rb
132
+ - lib/wiki_lyrics/amarok/amarok.rb
133
+ - lib/wiki_lyrics/amarok/README
134
+ - lib/wiki_lyrics/amarok/wikilyrics.rb
135
+ - lib/wiki_lyrics/amarok/wikipluginadapter.rb
136
+ - lib/wiki_lyrics/amarok/plugins.rb
137
+ - lib/wiki_lyrics/amarok/pluginadapter.rb
138
+ - lib/wiki_lyrics/amarok/wikilyrics.spec
139
+ - lib/wiki_lyrics/amarok/COPYING
140
+ - lib/wiki_lyrics/lyrics_Lyriki.rb
141
+ - lib/wiki_lyrics/lyrics_LyricWiki.rb
142
+ - lib/wiki_lyrics/itrans/lyric.txt
143
+ - lib/wiki_lyrics/itrans/udvng.ifm
144
+ - lib/wiki_lyrics/itrans/itrans
145
+ - lib/wiki_lyrics/itrans/itrans.txt
146
+ - lib/wiki_lyrics/itrans/COPYRIGHT
147
+ - lib/wiki_lyrics/lyrics_TerraLetras.rb
148
+ - lib/wiki_lyrics/lyrics_LyricsDownload.rb
149
+ - lib/wiki_lyrics/wikilyrics.kdevelop
150
+ - lib/wiki_lyrics/lyrics_LeosLyrics.rb
151
+ - lib/wiki_lyrics/lyrics_Giitaayan.rb
152
+ - lib/wiki_lyrics/lyrics_LyricsMania.rb
153
+ - lib/wiki_lyrics/lyrics_SeekLyrics.rb
154
+ - lib/lyrics_ebook.rb
155
+ - templates/artists.erb.xhtml
156
+ - templates/art_.erb.xhtml
157
+ - templates/cover.erb.xhtml
158
+ - bin/lyrics-ebook
159
+ - test/data/artist name/title name.lyric
160
+ - test/lyric_test.rb
161
+ - test/cache_manager_test.rb
162
+ has_rdoc: true
163
+ homepage: http://code.google.com/p/lyrics-ebook/
164
+ licenses: []
165
+
166
+ post_install_message:
167
+ rdoc_options:
168
+ - --charset=UTF-8
169
+ - --exclude=lib/wiki_lyrics
170
+ require_paths:
171
+ - lib
172
+ required_ruby_version: !ruby/object:Gem::Requirement
173
+ requirements:
174
+ - - ">="
175
+ - !ruby/object:Gem::Version
176
+ segments:
177
+ - 0
178
+ version: "0"
179
+ required_rubygems_version: !ruby/object:Gem::Requirement
180
+ requirements:
181
+ - - ">="
182
+ - !ruby/object:Gem::Version
183
+ segments:
184
+ - 0
185
+ version: "0"
186
+ requirements: []
187
+
188
+ rubyforge_project: cssformbuilder
189
+ rubygems_version: 1.3.6
190
+ signing_key:
191
+ specification_version: 2
192
+ summary: Lyrics-Ebook
193
+ test_files: []
194
+