englify 0.1.0
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/COPYING +13 -0
- data/README.md +4 -0
- data/Rakefile +10 -0
- data/lib/englify.rb +51 -0
- metadata +70 -0
data/COPYING
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
2
|
+
Version 2, December 2004
|
3
|
+
|
4
|
+
Copyright (C) 2012 James Pearson
|
5
|
+
|
6
|
+
Everyone is permitted to copy and distribute verbatim or modified
|
7
|
+
copies of this license document, and changing it is allowed as long
|
8
|
+
as the name is changed.
|
9
|
+
|
10
|
+
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
11
|
+
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
12
|
+
|
13
|
+
0. You just DO WHAT THE FUCK YOU WANT TO.
|
data/README.md
ADDED
data/Rakefile
ADDED
data/lib/englify.rb
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
# May you recognize your weaknesses and share your strengths.
|
4
|
+
# May you share freely, never taking more than you give.
|
5
|
+
# May you find love and love everyone you find.
|
6
|
+
|
7
|
+
require 'rbrainz'
|
8
|
+
|
9
|
+
# Trying to match on an artist whose name is in crazy moonrunes causes REXML to
|
10
|
+
# complain about mismatched encodings. So, we force UTF-8.
|
11
|
+
module MusicBrainz
|
12
|
+
module Webservice
|
13
|
+
class MBXML
|
14
|
+
alias old_initialize initialize
|
15
|
+
def initialize(stream, factory=nil)
|
16
|
+
stream.set_encoding 'UTF-8'
|
17
|
+
old_initialize(stream, factory)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def englify(name)
|
24
|
+
filter = MusicBrainz::Webservice::ArtistFilter.new(
|
25
|
+
:name => name,
|
26
|
+
:limit => 1
|
27
|
+
)
|
28
|
+
query = MusicBrainz::Webservice::Query.new
|
29
|
+
artists = query.get_artists(filter)
|
30
|
+
# Can't find 'em? Just assume they're alright.
|
31
|
+
if artists[0].nil?
|
32
|
+
return name
|
33
|
+
end
|
34
|
+
artist = artists[0].entity
|
35
|
+
|
36
|
+
# This *should* work, but it gives us nothing.
|
37
|
+
#return artist.aliases[0]
|
38
|
+
|
39
|
+
id = artist.id
|
40
|
+
artist_includes = MusicBrainz::Webservice::ArtistIncludes.new(
|
41
|
+
:aliases => true
|
42
|
+
)
|
43
|
+
artist = query.get_artist_by_id(id, artist_includes)
|
44
|
+
englifiedName = artist.aliases[0].to_s
|
45
|
+
if englifiedName == ''
|
46
|
+
englifiedName = name
|
47
|
+
end
|
48
|
+
|
49
|
+
return englifiedName
|
50
|
+
end
|
51
|
+
|
metadata
ADDED
@@ -0,0 +1,70 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: englify
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease:
|
5
|
+
version: 0.1.0
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- xiongchiamiov
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
|
13
|
+
date: 2012-03-17 00:00:00 -07:00
|
14
|
+
default_executable:
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: rbrainz
|
18
|
+
prerelease: false
|
19
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
20
|
+
none: false
|
21
|
+
requirements:
|
22
|
+
- - ">="
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: "0"
|
25
|
+
type: :runtime
|
26
|
+
version_requirements: *id001
|
27
|
+
description: Turn moonruned artist names into Romanized alternatives.
|
28
|
+
email:
|
29
|
+
- xiong.chiamiov@gmail.com
|
30
|
+
executables: []
|
31
|
+
|
32
|
+
extensions: []
|
33
|
+
|
34
|
+
extra_rdoc_files:
|
35
|
+
- README.md
|
36
|
+
files:
|
37
|
+
- COPYING
|
38
|
+
- Rakefile
|
39
|
+
- README.md
|
40
|
+
- lib/englify.rb
|
41
|
+
has_rdoc: true
|
42
|
+
homepage: https://github.com/xiongchiamiov/englify/
|
43
|
+
licenses: []
|
44
|
+
|
45
|
+
post_install_message:
|
46
|
+
rdoc_options: []
|
47
|
+
|
48
|
+
require_paths:
|
49
|
+
- lib
|
50
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
51
|
+
none: false
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: "0"
|
56
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: "0"
|
62
|
+
requirements: []
|
63
|
+
|
64
|
+
rubyforge_project:
|
65
|
+
rubygems_version: 1.5.3
|
66
|
+
signing_key:
|
67
|
+
specification_version: 3
|
68
|
+
summary: Turn moonruned artist names into Romanized alternatives.
|
69
|
+
test_files: []
|
70
|
+
|