spfy 0.1.4 → 0.1.5

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.
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  #Spfy ("spiffy")
2
2
 
3
3
  ##Overview
4
- **Spfy** is a command-line ruby tool for generating XSPF playlists from metadata stored in several popular audio formats.
4
+ **Spfy** is a command-line tool for generating XSPF playlists from metadata stored in several popular audio formats, developed entirely in [Ruby](http://www.ruby-lang.org/).
5
5
 
6
6
  ##Installation
7
7
  [TagLib](http://developer.kde.org/~wheeler/taglib.html) is required for spfy to work. Follow the steps below (taken from the [taglib-ruby installation guide](http://robinst.github.com/taglib-ruby/)) to install the necessary files for your respective system type:
@@ -12,17 +12,15 @@
12
12
  > | Fedora/RHEL | `sudo yum install taglib-devel` |
13
13
  > | Brew | `brew install taglib` |
14
14
  > | MacPorts | `sudo port install taglib` |
15
- >
16
- > Windows users on Ruby 1.9 don't need that, because there is a pre-compiled binary gem available which bundles taglib.
17
15
 
18
- With the prerequisites out of the way install spfy by typing:
16
+ With the prerequisites taken care of spfy can be installed with the following command:
19
17
 
20
18
  gem install spfy
21
19
 
22
20
  ##Using spfy
23
- By default, spfy will output a formatted [XSPF](http://xspf.org/) playlist to the standard output stream that will include _title_, _artist_, and _album_ tags for each audio file where available.
21
+ By default, spfy will output a formatted [XSPF](http://xspf.org/) playlist to the standard output stream that will include _location_, _title_, _artist_, and _album_ elements for each audio file where available.
24
22
 
25
- The general syntax for running spfy is `spfy [options] [source]`, where _source_ is a valid path to a directory containing audio files.
23
+ The general syntax for spfy is `spfy [options] dir1 ... dirN`, where _dir1 ... dirN_ is one or more paths to directories containing audio files.
26
24
 
27
25
  For example:
28
26
 
@@ -34,6 +32,7 @@ For example:
34
32
  <playlist version="1" xmlns="http://xspf.org/ns/0/">
35
33
  <trackList>
36
34
  <track>
35
+ <location>file:///Users/spfy/music/03%20A%20Stitch%20In%20Time.mp3</location>
37
36
  <title>A Stitch In Time</title>
38
37
  <creator>The Smashing Pumpkins</creator>
39
38
  <album>Teargarden by Kaleidyscope</album>
@@ -41,9 +40,11 @@ For example:
41
40
  </trackList>
42
41
  </playlist>
43
42
 
44
- Command-line arguments are available to output to a file on disk or suppress unwanted tags:
43
+ Spfy supports multiple directory paths (e.g. `spfy /dir1 /dir2`) and traverses each directory recursively by default. Unsupported files and empty directories in a directory tree are silently ignored and will not impact spfy's output.
45
44
 
46
- -o, --output FILE File to output XSPF data to
45
+ Command-line arguments allow you to control which elements spfy outputs:
46
+
47
+ -f, --no-location Suppress file location output
47
48
  -t, --no-title Suppress track title in output
48
49
  -a, --no-artist Suppress artist name in output
49
50
  -l, --no-album Suppress album name in output
@@ -17,7 +17,7 @@
17
17
  # GNU General Public License for more details.
18
18
  #
19
19
  # You should have received a copy of the GNU General Public License
20
- # along with Spfy. If not, see <http:#www.gnu.org/licenses/>.
20
+ # along with Spfy. If not, see <http://www.gnu.org/licenses/>.
21
21
 
22
22
  require "spfy/optionreader"
23
23
  require "optparse"
@@ -26,7 +26,7 @@ require "taglib"
26
26
  require 'find'
27
27
  require 'uri'
28
28
 
29
- $version = "0.1.4"
29
+ $version = "0.1.5"
30
30
  $dirs = []
31
31
 
32
32
  # The main Spfy class
@@ -1,3 +1,24 @@
1
+ #
2
+ # optionreader.rb
3
+ # Spfy ("spiffy")
4
+ #
5
+ # Copyright (c) 2012, Marc Ransome <marc.ransome@fidgetbox.co.uk>
6
+ #
7
+ # This file is part of Spfy.
8
+ #
9
+ # Spfy is free software: you can redistribute it and/or modify
10
+ # it under the terms of the GNU General Public License as published by
11
+ # the Free Software Foundation, either version 3 of the License, or
12
+ # (at your option) any later version.
13
+ #
14
+ # Spfy is distributed in the hope that it will be useful,
15
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
+ # GNU General Public License for more details.
18
+ #
19
+ # You should have received a copy of the GNU General Public License
20
+ # along with Spfy. If not, see <http://www.gnu.org/licenses/>.
21
+
1
22
  class OptionReader
2
23
 
3
24
  def self.parse(args)
@@ -17,11 +17,11 @@
17
17
  # GNU General Public License for more details.
18
18
  #
19
19
  # You should have received a copy of the GNU General Public License
20
- # along with Spfy. If not, see <http:#www.gnu.org/licenses/>.
20
+ # along with Spfy. If not, see <http://www.gnu.org/licenses/>.
21
21
 
22
22
  Gem::Specification.new do |s|
23
23
  s.name = 'spfy'
24
- s.version = '0.1.4'
24
+ s.version = '0.1.5'
25
25
  s.date = '2012-05-06'
26
26
  s.summary = 'XSPF playlist generator'
27
27
  s.description = 'Spfy is a simple command-line tool for generating XSPF playlists from metadata stored in several popular audio formats.'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spfy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: