imw 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/.gitignore +15 -0
- data/CHANGELOG +0 -0
- data/LICENSE +674 -0
- data/README.rdoc +101 -0
- data/Rakefile +20 -0
- data/VERSION +1 -0
- data/etc/imwrc.rb +76 -0
- data/lib/imw.rb +42 -0
- data/lib/imw/boot.rb +58 -0
- data/lib/imw/dataset.rb +233 -0
- data/lib/imw/dataset/datamapper.rb +66 -0
- data/lib/imw/dataset/datamapper/time_and_user_stamps.rb +37 -0
- data/lib/imw/dataset/loaddump.rb +50 -0
- data/lib/imw/dataset/old/file_collection.rb +88 -0
- data/lib/imw/dataset/old/file_collection_utils.rb +71 -0
- data/lib/imw/dataset/scaffold.rb +132 -0
- data/lib/imw/dataset/scraped_uri.rb +305 -0
- data/lib/imw/dataset/scrub/old_working_scrubber.rb +87 -0
- data/lib/imw/dataset/scrub/scrub.rb +147 -0
- data/lib/imw/dataset/scrub/scrub_simple_url.rb +38 -0
- data/lib/imw/dataset/scrub/scrub_test.rb +60 -0
- data/lib/imw/dataset/scrub/slug.rb +101 -0
- data/lib/imw/dataset/stats.rb +73 -0
- data/lib/imw/dataset/stats/counter.rb +23 -0
- data/lib/imw/dataset/task.rb +38 -0
- data/lib/imw/dataset/workflow.rb +81 -0
- data/lib/imw/files.rb +110 -0
- data/lib/imw/files/archive.rb +113 -0
- data/lib/imw/files/basicfile.rb +122 -0
- data/lib/imw/files/binary.rb +28 -0
- data/lib/imw/files/compressed_file.rb +93 -0
- data/lib/imw/files/compressed_files_and_archives.rb +348 -0
- data/lib/imw/files/compressible.rb +103 -0
- data/lib/imw/files/csv.rb +112 -0
- data/lib/imw/files/json.rb +41 -0
- data/lib/imw/files/sgml.rb +65 -0
- data/lib/imw/files/text.rb +68 -0
- data/lib/imw/files/yaml.rb +46 -0
- data/lib/imw/packagers.rb +8 -0
- data/lib/imw/packagers/archiver.rb +108 -0
- data/lib/imw/packagers/s3_mover.rb +28 -0
- data/lib/imw/parsers.rb +7 -0
- data/lib/imw/parsers/html_parser.rb +382 -0
- data/lib/imw/parsers/html_parser/matchers.rb +306 -0
- data/lib/imw/parsers/line_parser.rb +87 -0
- data/lib/imw/parsers/regexp_parser.rb +72 -0
- data/lib/imw/utils.rb +24 -0
- data/lib/imw/utils/components.rb +61 -0
- data/lib/imw/utils/config.rb +46 -0
- data/lib/imw/utils/error.rb +54 -0
- data/lib/imw/utils/extensions/array.rb +125 -0
- data/lib/imw/utils/extensions/class/attribute_accessors.rb +8 -0
- data/lib/imw/utils/extensions/core.rb +43 -0
- data/lib/imw/utils/extensions/dir.rb +24 -0
- data/lib/imw/utils/extensions/file_core.rb +64 -0
- data/lib/imw/utils/extensions/hash.rb +218 -0
- data/lib/imw/utils/extensions/hpricot.rb +48 -0
- data/lib/imw/utils/extensions/string.rb +49 -0
- data/lib/imw/utils/extensions/struct.rb +42 -0
- data/lib/imw/utils/extensions/symbol.rb +28 -0
- data/lib/imw/utils/extensions/typed_struct.rb +22 -0
- data/lib/imw/utils/extensions/uri.rb +59 -0
- data/lib/imw/utils/log.rb +67 -0
- data/lib/imw/utils/misc.rb +63 -0
- data/lib/imw/utils/paths.rb +115 -0
- data/lib/imw/utils/uri.rb +59 -0
- data/lib/imw/utils/uuid.rb +33 -0
- data/lib/imw/utils/validate.rb +38 -0
- data/lib/imw/utils/version.rb +12 -0
- data/lib/imw/utils/view.rb +113 -0
- data/lib/imw/utils/view/dump_csv.rb +112 -0
- data/lib/imw/utils/view/dump_csv_older.rb +117 -0
- data/spec/data/sample.csv +131 -0
- data/spec/data/sample.tsv +131 -0
- data/spec/data/sample.txt +131 -0
- data/spec/data/sample.xml +653 -0
- data/spec/data/sample.yaml +652 -0
- data/spec/imw/dataset/datamapper/uri_spec.rb +43 -0
- data/spec/imw/dataset/datamapper_spec_helper.rb +11 -0
- data/spec/imw/files/archive_spec.rb +118 -0
- data/spec/imw/files/basicfile_spec.rb +121 -0
- data/spec/imw/files/bz2_spec.rb +32 -0
- data/spec/imw/files/compressed_file_spec.rb +96 -0
- data/spec/imw/files/compressible_spec.rb +100 -0
- data/spec/imw/files/file_spec.rb +144 -0
- data/spec/imw/files/gz_spec.rb +32 -0
- data/spec/imw/files/rar_spec.rb +33 -0
- data/spec/imw/files/tar_spec.rb +31 -0
- data/spec/imw/files/text_spec.rb +23 -0
- data/spec/imw/files/zip_spec.rb +31 -0
- data/spec/imw/files_spec.rb +38 -0
- data/spec/imw/packagers/archiver_spec.rb +125 -0
- data/spec/imw/packagers/s3_mover_spec.rb +7 -0
- data/spec/imw/parsers/line_parser_spec.rb +96 -0
- data/spec/imw/parsers/regexp_parser_spec.rb +42 -0
- data/spec/imw/utils/extensions/file_core_spec.rb +72 -0
- data/spec/imw/utils/extensions/find_spec.rb +113 -0
- data/spec/imw/utils/paths_spec.rb +38 -0
- data/spec/imw/workflow/rip/local_spec.rb +89 -0
- data/spec/imw/workflow/rip_spec.rb +27 -0
- data/spec/rcov.opts +1 -0
- data/spec/spec.opts +4 -0
- data/spec/spec_helper.rb +32 -0
- data/spec/support/archive_contents_matcher.rb +94 -0
- data/spec/support/custom_matchers.rb +21 -0
- data/spec/support/directory_contents_matcher.rb +61 -0
- data/spec/support/extensions.rb +18 -0
- data/spec/support/file_contents_matcher.rb +50 -0
- data/spec/support/random.rb +210 -0
- data/spec/support/without_regard_to_order_matcher.rb +58 -0
- metadata +196 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# #
|
|
2
|
+
# # views
|
|
3
|
+
# #
|
|
4
|
+
# require 'imw/view/db_infochimps'
|
|
5
|
+
#
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
#
|
|
9
|
+
# This is where views of the metadata will go (right now it's all just
|
|
10
|
+
# sitting in a crapheap within model.rb).
|
|
11
|
+
#
|
|
12
|
+
# we'll have routines for
|
|
13
|
+
#
|
|
14
|
+
# - dumping/undumping to yaml
|
|
15
|
+
# - dumping/undumping to files that load right into the ics database.
|
|
16
|
+
#
|
|
17
|
+
class IMWObject
|
|
18
|
+
|
|
19
|
+
def self.from_icss(hsh)
|
|
20
|
+
# lists of dumpables
|
|
21
|
+
self._attr_objlists.each do |attr, cl|
|
|
22
|
+
if (vals = hsh.delete(attr.to_s))
|
|
23
|
+
hsh[attr] = vals.map{ |val| cl.from_icss(val) }
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
# simply dumpable objects
|
|
27
|
+
self._attr_objs.each do |attr, cl|
|
|
28
|
+
if (val = hsh.delete(attr.to_s))
|
|
29
|
+
hsh[attr] = cl.from_icss(val)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
self.new(hsh)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Dump as a plain hash
|
|
36
|
+
def to_icss()
|
|
37
|
+
hsh = instance_values
|
|
38
|
+
# lists of dumpable objects
|
|
39
|
+
self.class._attr_objlists.keys.map(&:to_s).each do |attr|
|
|
40
|
+
hsh[attr] = (hsh.delete(attr)||[]).map{ |a| a.to_icss() }
|
|
41
|
+
end
|
|
42
|
+
# simply dumpable objects
|
|
43
|
+
self.class._attr_objs.keys.map(&:to_s).each do |attr|
|
|
44
|
+
(v=hsh.delete attr) && hsh[attr] = v.to_icss
|
|
45
|
+
end
|
|
46
|
+
hsh
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# Pivot from object to relational view
|
|
50
|
+
def to_csv(parent_id=nil)
|
|
51
|
+
tables = {}
|
|
52
|
+
sub_ids = []
|
|
53
|
+
my_cl = self.class.to_s
|
|
54
|
+
self.class._attr_objs.sort.each do |attr, cl|
|
|
55
|
+
tables[attr] ||= [] ; tables[attr].push(self[attr].to_csv(id))
|
|
56
|
+
join = "%s_%s" % [my_cl, cl.to_s].sort
|
|
57
|
+
tables[join] ||= [] ; tables[join].push(id, self[attr].id)
|
|
58
|
+
sub_ids.push self[attr].handle
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
self.class._attr_objlists.sort.each do |attr, cl|
|
|
62
|
+
tables[attr] ||= []
|
|
63
|
+
join = "%s_%s" % [my_cl, cl.to_s].sort
|
|
64
|
+
tables[join] ||= []
|
|
65
|
+
self[attr].each do |obj|
|
|
66
|
+
tables[attr].push(obj.to_csv(id))
|
|
67
|
+
tables[join].push(id, obj.id)
|
|
68
|
+
sub_ids.push obj.handle
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
tables[self.class.to_s] = [
|
|
74
|
+
[self.id, parent_id].compact +
|
|
75
|
+
slice(self.class._attr_scalars.keys - [:id]) +
|
|
76
|
+
sub_ids
|
|
77
|
+
]
|
|
78
|
+
tables
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
class Note < IMWObject
|
|
84
|
+
def to_pair()
|
|
85
|
+
{ self.handle => self.desc }
|
|
86
|
+
end
|
|
87
|
+
def to_icss()
|
|
88
|
+
to_pair
|
|
89
|
+
end
|
|
90
|
+
def self.from_icss(pair)
|
|
91
|
+
self.new Hash.zip([:handle,:desc], pair.to_pair)
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
class TagList
|
|
97
|
+
def self.from_icss(str)
|
|
98
|
+
self.from(str)
|
|
99
|
+
end
|
|
100
|
+
def to_icss()
|
|
101
|
+
self.to_s
|
|
102
|
+
end
|
|
103
|
+
def to_csv(parent_id=nil)
|
|
104
|
+
[self.to_s]
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
def handle() to_s end
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
# You acquire the vision of a sharp-eyed tanzier. We'll just assume that's good.
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# #
|
|
2
|
+
# # views
|
|
3
|
+
# #
|
|
4
|
+
# require 'imw/view/db_infochimps'
|
|
5
|
+
#
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
#
|
|
9
|
+
# This is where views of the metadata will go (right now it's all just
|
|
10
|
+
# sitting in a crapheap within model.rb).
|
|
11
|
+
#
|
|
12
|
+
# we'll have routines for
|
|
13
|
+
#
|
|
14
|
+
# - dumping/undumping to yaml
|
|
15
|
+
# - dumping/undumping to files that load right into the ics database.
|
|
16
|
+
#
|
|
17
|
+
class IMWBase
|
|
18
|
+
|
|
19
|
+
def self.from_icss(hsh)
|
|
20
|
+
# simply dumpable objects
|
|
21
|
+
self._attr_has_one.map(&:to_s).each do |attr|
|
|
22
|
+
if (val = hsh.delete(attr.to_s))
|
|
23
|
+
hsh[attr] = get_attr_class(attr).from_icss(val)
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
# lists of dumpables
|
|
27
|
+
self._attr_manys.each do |attr|
|
|
28
|
+
if (vals = hsh.delete(attr.to_s))
|
|
29
|
+
hsh[attr] = vals.map{ |val| get_attr_class(attr).from_icss(val) }
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
self.new(hsh)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Dump as a plain hash
|
|
36
|
+
def to_icss()
|
|
37
|
+
hsh = instance_values
|
|
38
|
+
# simply dumpable objects
|
|
39
|
+
self.class._attr_has_one.map(&:to_s).each do |attr|
|
|
40
|
+
(v=hsh.delete attr) && hsh[attr] = v.to_icss
|
|
41
|
+
end
|
|
42
|
+
# lists of dumpable objects
|
|
43
|
+
self.class._attr_manys.each do |attr|
|
|
44
|
+
hsh[attr] = (hsh.delete(attr)||[]).map{ |a| a.to_icss() }
|
|
45
|
+
end
|
|
46
|
+
hsh
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# Pivot from object to relational view
|
|
50
|
+
def to_csv(parent_id=nil)
|
|
51
|
+
tables = {}
|
|
52
|
+
sub_ids = []
|
|
53
|
+
my_cl = self.class.to_s
|
|
54
|
+
self.class._attr_has_one.map(&:to_s).sort.each do |attr|
|
|
55
|
+
# Banks the object
|
|
56
|
+
obj = self[attr]
|
|
57
|
+
cl = self.class.get_attr_class(attr).to_s
|
|
58
|
+
tables[attr] ||= [] ; tables[attr].push( obj.to_csv(id) )
|
|
59
|
+
# tie the parent and child together
|
|
60
|
+
join = "%s_%s" % [my_cl, cl].sort
|
|
61
|
+
tables[join] ||= [] ; tables[join].push( [id, obj.id] )
|
|
62
|
+
sub_ids.push obj.handle
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
self.class._attr_manys.sort.each do |attr|
|
|
66
|
+
objs = self[attr] or next
|
|
67
|
+
cl = self.class.get_attr_class(attr).to_s
|
|
68
|
+
tables[attr] ||= []
|
|
69
|
+
join = "%s_%s" % [my_cl, cl.to_s].sort
|
|
70
|
+
tables[join] ||= []
|
|
71
|
+
objs.each do |obj|
|
|
72
|
+
tables[attr].push(obj.to_csv(id))
|
|
73
|
+
tables[join].push(id, obj.id)
|
|
74
|
+
sub_ids.push obj.handle
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
tables[self.class.to_s] = [
|
|
80
|
+
[self.id, parent_id].compact +
|
|
81
|
+
slice(self.class._attr_scalar - [:id]) +
|
|
82
|
+
sub_ids
|
|
83
|
+
].zip(['id', 'pid']+(self.class._attr_scalar - [:id])+self.class._attr_has_one.map(&:to_s).sort)
|
|
84
|
+
tables
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
class Note < IMWBase
|
|
90
|
+
# { :format_name => {}, ... } -- must be a hash
|
|
91
|
+
def to_pair()
|
|
92
|
+
{ self.handle => self.desc }
|
|
93
|
+
end
|
|
94
|
+
def to_icss()
|
|
95
|
+
to_pair
|
|
96
|
+
end
|
|
97
|
+
def self.from_icss(pair)
|
|
98
|
+
self.new Hash.zip([:handle,:desc], pair.to_pair)
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
class TagList
|
|
104
|
+
def self.from_icss(str)
|
|
105
|
+
self.from(str)
|
|
106
|
+
end
|
|
107
|
+
def to_icss()
|
|
108
|
+
self.to_s
|
|
109
|
+
end
|
|
110
|
+
def to_csv(parent_id=nil)
|
|
111
|
+
[self.to_s]
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
def handle() to_s end
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
ID,Name,Genus,Species
|
|
2
|
+
001,Gray-bellied Night Monkey,Aotus,lemurinus
|
|
3
|
+
002,Panamanian Night Monkey,Aotus,zonalis
|
|
4
|
+
003,Hernández-Camacho's Night Monkey,Aotus,jorgehernandezi
|
|
5
|
+
004,Gray-handed Night Monkey,Aotus,griseimembra
|
|
6
|
+
005,Hershkovitz's Night Monkey,Aotus,hershkovitzi
|
|
7
|
+
006,Brumback's Night Monkey,Aotus,brumbacki
|
|
8
|
+
007,Three-striped Night Monkey,Aotus,trivirgatus
|
|
9
|
+
008,Spix's Night Monkey,Aotus,vociferans
|
|
10
|
+
009,Malaysian Lar Gibbon,Hylobates,lar lar
|
|
11
|
+
010,Carpenter's Lar Gibbon,Hylobates,lar carpenteri
|
|
12
|
+
011,Central Lar Gibbon,Hylobates,lar entelloides
|
|
13
|
+
012,Sumatran Lar Gibbon,Hylobates,lar vestitus
|
|
14
|
+
013,Yunnan Lar Gibbon,Hylobates,lar yunnanensis
|
|
15
|
+
014,Mountain Agile Gibbon,Hylobates,agilis agilis
|
|
16
|
+
015,Bornean White-bearded Gibbon,Hylobates,agilis albibarbis
|
|
17
|
+
016,Lowland Agile Gibbon,Hylobates,agilis unko
|
|
18
|
+
017,Müller's Gray Gibbon,Hylobates,muelleri muelleri
|
|
19
|
+
018,Abbott's Gray Gibbon,Hylobates,muelleri abbotti
|
|
20
|
+
019,Northern Gray Gibbon,Hylobates,muelleri funereus
|
|
21
|
+
020,Black Tamarin,Saguinas,niger
|
|
22
|
+
021,Black-mantled Tamarin,Saguinas,nigricollis
|
|
23
|
+
022,Brown-mantled Tamarin,Saguinas,fuscicollis
|
|
24
|
+
023,Cottontop Tamarin or Pinché Tamarin,Saguinas,oedipus
|
|
25
|
+
024,Emperor Tamarin,Saguinas,imperator
|
|
26
|
+
025,Geoffroy's Tamarin,Saguinas,geoffroyi
|
|
27
|
+
026,Golden-mantled Tamarin,Saguinas,tripartitus
|
|
28
|
+
027,Graells's Tamarin,Saguinas,graellsi
|
|
29
|
+
028,Martins's Tamarin,Saguinas,martinsi
|
|
30
|
+
029,Mottle-faced Tamarin,Saguinas,inustus
|
|
31
|
+
030,Moustached Tamarin,Saguinas,mystax
|
|
32
|
+
031,Pied Tamarin,Saguinas,bicolor
|
|
33
|
+
032,Red-capped Tamarin,Saguinas,pileatus
|
|
34
|
+
033,Red-handed Tamarin,Saguinas,midas
|
|
35
|
+
034,White-footed Tamarin,Saguinas,leucopus
|
|
36
|
+
035,White-lipped Tamarin,Saguinas,labiatus
|
|
37
|
+
036,White-mantled Tamarin,Saguinas,melanoleucus
|
|
38
|
+
037,Allen's Swamp Monkey,Allenopithecus,nigroviridis
|
|
39
|
+
038,Angolan Talapoin,Miopithecus,talapoin
|
|
40
|
+
039,Gabon Talapoin,Miopithecus,ogouensis
|
|
41
|
+
040,Patas Monkey,Erythrocebus,patas
|
|
42
|
+
041,Green Monkey,Chlorocebus,sabaeus
|
|
43
|
+
042,Grivet,Chlorocebus,aethiops
|
|
44
|
+
043,Bale Mountains Vervet,Chlorocebus,djamdjamensis
|
|
45
|
+
044,Tantalus Monkey,Chlorocebus,tantalus
|
|
46
|
+
045,Vervet Monkey,Chlorocebus,pygerythrus
|
|
47
|
+
046,Malbrouck,Chlorocebus,cynosuros
|
|
48
|
+
047,Dryas Monkey or Salongo Monkey,Cercopithecus,dryas
|
|
49
|
+
048,Diana Monkey,Cercopithecus,diana
|
|
50
|
+
049,Roloway Monkey,Cercopithecus,roloway
|
|
51
|
+
050,Greater Spot-nosed Monkey,Cercopithecus,nictitans
|
|
52
|
+
051,Blue Monkey,Cercopithecus,mitis
|
|
53
|
+
052,Silver Monkey,Cercopithecus,doggetti
|
|
54
|
+
053,Golden Monkey,Cercopithecus,kandti
|
|
55
|
+
054,Sykes's Monkey,Cercopithecus,albogularis
|
|
56
|
+
055,Mona Monkey,Cercopithecus,mona
|
|
57
|
+
056,Campbell's Mona Monkey,Cercopithecus,campbelli
|
|
58
|
+
057,Lowe's Mona Monkey,Cercopithecus,lowei
|
|
59
|
+
058,Crested Mona Monkey,Cercopithecus,pogonias
|
|
60
|
+
059,Wolf's Mona Monkey,Cercopithecus,wolfi
|
|
61
|
+
060,Dent's Mona Monkey,Cercopithecus,denti
|
|
62
|
+
061,Lesser Spot-nosed Monkey,Cercopithecus,petaurista
|
|
63
|
+
062,White-throated Guenon,Cercopithecus,erythrogaster
|
|
64
|
+
063,Sclater's Guenon,Cercopithecus,sclateri
|
|
65
|
+
064,Red-eared Guenon,Cercopithecus,erythrotis
|
|
66
|
+
065,Moustached Guenon,Cercopithecus,cephus
|
|
67
|
+
066,Red-tailed Monkey,Cercopithecus,ascanius
|
|
68
|
+
067,L'Hoest's Monkey,Cercopithecus,lhoesti
|
|
69
|
+
068,Preuss's Monkey,Cercopithecus,preussi
|
|
70
|
+
069,Sun-tailed Monkey,Cercopithecus,solatus
|
|
71
|
+
070,Hamlyn's Monkey,Cercopithecus,hamlyni
|
|
72
|
+
071,De Brazza's Monkey,Cercopithecus,neglectus
|
|
73
|
+
072,Barbary Macaque,Macaca,sylvanus
|
|
74
|
+
073,Lion-tailed Macaque,Macaca,silenus
|
|
75
|
+
074,Southern Pig-tailed Macaque or Beruk,Macaca,nemestrina
|
|
76
|
+
075,Northern Pig-tailed Macaque,Macaca,leonina
|
|
77
|
+
076,Pagai Island Macaque or Bokkoi,Macaca,pagensis
|
|
78
|
+
077,Siberut Macaque,Macaca,siberu
|
|
79
|
+
078,Moor Macaque,Macaca,maura
|
|
80
|
+
079,Booted Macaque,Macaca,ochreata
|
|
81
|
+
080,Tonkean Macaque,Macaca,tonkeana
|
|
82
|
+
081,Heck's Macaque,Macaca,hecki
|
|
83
|
+
082,Gorontalo Macaque,Macaca,nigrescens
|
|
84
|
+
083,Celebes Crested Macaque or Black "Ape",Macaca,nigra
|
|
85
|
+
084,Crab-eating Macaque or Long-tailed Macaque or Kera,Macaca,fascicularis
|
|
86
|
+
085,Stump-tailed Macaque or Bear Macaque,Macaca,arctoides
|
|
87
|
+
086,Rhesus Macaque,Macaca,mulatta
|
|
88
|
+
087,Formosan Rock Macaque,Macaca,cyclopis
|
|
89
|
+
088,Japanese Macaque,Macaca,fuscata
|
|
90
|
+
089,Toque Macaque,Macaca,sinica
|
|
91
|
+
090,Bonnet Macaque,Macaca,radiata
|
|
92
|
+
091,Assam Macaque,Macaca,assamensis
|
|
93
|
+
092,Tibetan Macaque or Milne-Edwards' Macaque,Macaca,thibetana
|
|
94
|
+
093,Arunachal Macaque or Munzala,Macaca,munzala
|
|
95
|
+
094,Grey-cheeked Mangabey,Lophocebus,albigena
|
|
96
|
+
095,Black Crested Mangabey,Lophocebus,aterrimus
|
|
97
|
+
096,Opdenbosch's Mangabey,Lophocebus,opdenboschi
|
|
98
|
+
097,Uganda Mangabey,Lophocebus,ugandae
|
|
99
|
+
098,Johnston's Mangabey,Lophocebus,johnstoni
|
|
100
|
+
099,Osman Hill's Mangabey,Lophocebus,osmani
|
|
101
|
+
100,Kipunji,Rungwecebus,kipunji
|
|
102
|
+
101,Hamadryas Baboon,Papio,hamadryas
|
|
103
|
+
102,Guinea Baboon,Papio,papio
|
|
104
|
+
103,Olive Baboon,Papio,anubis
|
|
105
|
+
104,Yellow Baboon,Papio,cynocephalus
|
|
106
|
+
105,Chacma Baboon,Papio,ursinus
|
|
107
|
+
106,Gelada,Theropithecus,gelada
|
|
108
|
+
107,Sooty Mangabey,Cercocebus,atys
|
|
109
|
+
108,Collared Mangabey,Cercocebus,torquatus
|
|
110
|
+
109,Agile Mangabey,Cercocebus,agilis
|
|
111
|
+
110,Golden-bellied Mangabey,Cercocebus,chrysogaster
|
|
112
|
+
111,Tana River Mangabey,Cercocebus,galeritus
|
|
113
|
+
112,Sanje Mangabey,Cercocebus,sanjei
|
|
114
|
+
113,Mandrill,Mandrillus,sphinx
|
|
115
|
+
114,Drill,Mandrillus,leucophaeus
|
|
116
|
+
115,Black Colobus,Colobus,satanas
|
|
117
|
+
116,Angola Colobus,Colobus,angolensis
|
|
118
|
+
117,King Colobus,Colobus,polykomos
|
|
119
|
+
118,Ursine Colobus,Colobus,vellerosus
|
|
120
|
+
119,Mantled Guereza,Colobus,guereza
|
|
121
|
+
120,Western Red Colobus,Piliocolobus,badius
|
|
122
|
+
121,Pennant's Colobus,Piliocolobus,pennantii
|
|
123
|
+
122,Preuss's Red Colobus,Piliocolobus,preussi
|
|
124
|
+
123,Thollon's Red Colobus,Piliocolobus,tholloni
|
|
125
|
+
124,Central African Red Colobus,Piliocolobus,foai
|
|
126
|
+
125,Ugandan Red Colobus,Piliocolobus,tephrosceles
|
|
127
|
+
126,Uzungwa Red Colobus,Piliocolobus,gordonorum
|
|
128
|
+
127,Zanzibar Red Colobus,Piliocolobus,kirkii
|
|
129
|
+
128,Tana River Red Colobus,Piliocolobus,rufomitratus
|
|
130
|
+
129,Olive Colobus,Procolobus,verus
|
|
131
|
+
130,Maroon Leaf Monkey,Presbytis,rubicunda
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
ID Name Genus Species
|
|
2
|
+
001 Gray-bellied Night Monkey Aotus lemurinus
|
|
3
|
+
002 Panamanian Night Monkey Aotus zonalis
|
|
4
|
+
003 Hernández-Camacho's Night Monkey Aotus jorgehernandezi
|
|
5
|
+
004 Gray-handed Night Monkey Aotus griseimembra
|
|
6
|
+
005 Hershkovitz's Night Monkey Aotus hershkovitzi
|
|
7
|
+
006 Brumback's Night Monkey Aotus brumbacki
|
|
8
|
+
007 Three-striped Night Monkey Aotus trivirgatus
|
|
9
|
+
008 Spix's Night Monkey Aotus vociferans
|
|
10
|
+
009 Malaysian Lar Gibbon Hylobates lar lar
|
|
11
|
+
010 Carpenter's Lar Gibbon Hylobates lar carpenteri
|
|
12
|
+
011 Central Lar Gibbon Hylobates lar entelloides
|
|
13
|
+
012 Sumatran Lar Gibbon Hylobates lar vestitus
|
|
14
|
+
013 Yunnan Lar Gibbon Hylobates lar yunnanensis
|
|
15
|
+
014 Mountain Agile Gibbon Hylobates agilis agilis
|
|
16
|
+
015 Bornean White-bearded Gibbon Hylobates agilis albibarbis
|
|
17
|
+
016 Lowland Agile Gibbon Hylobates agilis unko
|
|
18
|
+
017 Müller's Gray Gibbon Hylobates muelleri muelleri
|
|
19
|
+
018 Abbott's Gray Gibbon Hylobates muelleri abbotti
|
|
20
|
+
019 Northern Gray Gibbon Hylobates muelleri funereus
|
|
21
|
+
020 Black Tamarin Saguinas niger
|
|
22
|
+
021 Black-mantled Tamarin Saguinas nigricollis
|
|
23
|
+
022 Brown-mantled Tamarin Saguinas fuscicollis
|
|
24
|
+
023 Cottontop Tamarin or Pinché Tamarin Saguinas oedipus
|
|
25
|
+
024 Emperor Tamarin Saguinas imperator
|
|
26
|
+
025 Geoffroy's Tamarin Saguinas geoffroyi
|
|
27
|
+
026 Golden-mantled Tamarin Saguinas tripartitus
|
|
28
|
+
027 Graells's Tamarin Saguinas graellsi
|
|
29
|
+
028 Martins's Tamarin Saguinas martinsi
|
|
30
|
+
029 Mottle-faced Tamarin Saguinas inustus
|
|
31
|
+
030 Moustached Tamarin Saguinas mystax
|
|
32
|
+
031 Pied Tamarin Saguinas bicolor
|
|
33
|
+
032 Red-capped Tamarin Saguinas pileatus
|
|
34
|
+
033 Red-handed Tamarin Saguinas midas
|
|
35
|
+
034 White-footed Tamarin Saguinas leucopus
|
|
36
|
+
035 White-lipped Tamarin Saguinas labiatus
|
|
37
|
+
036 White-mantled Tamarin Saguinas melanoleucus
|
|
38
|
+
037 Allen's Swamp Monkey Allenopithecus nigroviridis
|
|
39
|
+
038 Angolan Talapoin Miopithecus talapoin
|
|
40
|
+
039 Gabon Talapoin Miopithecus ogouensis
|
|
41
|
+
040 Patas Monkey Erythrocebus patas
|
|
42
|
+
041 Green Monkey Chlorocebus sabaeus
|
|
43
|
+
042 Grivet Chlorocebus aethiops
|
|
44
|
+
043 Bale Mountains Vervet Chlorocebus djamdjamensis
|
|
45
|
+
044 Tantalus Monkey Chlorocebus tantalus
|
|
46
|
+
045 Vervet Monkey Chlorocebus pygerythrus
|
|
47
|
+
046 Malbrouck Chlorocebus cynosuros
|
|
48
|
+
047 Dryas Monkey or Salongo Monkey Cercopithecus dryas
|
|
49
|
+
048 Diana Monkey Cercopithecus diana
|
|
50
|
+
049 Roloway Monkey Cercopithecus roloway
|
|
51
|
+
050 Greater Spot-nosed Monkey Cercopithecus nictitans
|
|
52
|
+
051 Blue Monkey Cercopithecus mitis
|
|
53
|
+
052 Silver Monkey Cercopithecus doggetti
|
|
54
|
+
053 Golden Monkey Cercopithecus kandti
|
|
55
|
+
054 Sykes's Monkey Cercopithecus albogularis
|
|
56
|
+
055 Mona Monkey Cercopithecus mona
|
|
57
|
+
056 Campbell's Mona Monkey Cercopithecus campbelli
|
|
58
|
+
057 Lowe's Mona Monkey Cercopithecus lowei
|
|
59
|
+
058 Crested Mona Monkey Cercopithecus pogonias
|
|
60
|
+
059 Wolf's Mona Monkey Cercopithecus wolfi
|
|
61
|
+
060 Dent's Mona Monkey Cercopithecus denti
|
|
62
|
+
061 Lesser Spot-nosed Monkey Cercopithecus petaurista
|
|
63
|
+
062 White-throated Guenon Cercopithecus erythrogaster
|
|
64
|
+
063 Sclater's Guenon Cercopithecus sclateri
|
|
65
|
+
064 Red-eared Guenon Cercopithecus erythrotis
|
|
66
|
+
065 Moustached Guenon Cercopithecus cephus
|
|
67
|
+
066 Red-tailed Monkey Cercopithecus ascanius
|
|
68
|
+
067 L'Hoest's Monkey Cercopithecus lhoesti
|
|
69
|
+
068 Preuss's Monkey Cercopithecus preussi
|
|
70
|
+
069 Sun-tailed Monkey Cercopithecus solatus
|
|
71
|
+
070 Hamlyn's Monkey Cercopithecus hamlyni
|
|
72
|
+
071 De Brazza's Monkey Cercopithecus neglectus
|
|
73
|
+
072 Barbary Macaque Macaca sylvanus
|
|
74
|
+
073 Lion-tailed Macaque Macaca silenus
|
|
75
|
+
074 Southern Pig-tailed Macaque or Beruk Macaca nemestrina
|
|
76
|
+
075 Northern Pig-tailed Macaque Macaca leonina
|
|
77
|
+
076 Pagai Island Macaque or Bokkoi Macaca pagensis
|
|
78
|
+
077 Siberut Macaque Macaca siberu
|
|
79
|
+
078 Moor Macaque Macaca maura
|
|
80
|
+
079 Booted Macaque Macaca ochreata
|
|
81
|
+
080 Tonkean Macaque Macaca tonkeana
|
|
82
|
+
081 Heck's Macaque Macaca hecki
|
|
83
|
+
082 Gorontalo Macaque Macaca nigrescens
|
|
84
|
+
083 Celebes Crested Macaque or Black "Ape" Macaca nigra
|
|
85
|
+
084 Crab-eating Macaque or Long-tailed Macaque or Kera Macaca fascicularis
|
|
86
|
+
085 Stump-tailed Macaque or Bear Macaque Macaca arctoides
|
|
87
|
+
086 Rhesus Macaque Macaca mulatta
|
|
88
|
+
087 Formosan Rock Macaque Macaca cyclopis
|
|
89
|
+
088 Japanese Macaque Macaca fuscata
|
|
90
|
+
089 Toque Macaque Macaca sinica
|
|
91
|
+
090 Bonnet Macaque Macaca radiata
|
|
92
|
+
091 Assam Macaque Macaca assamensis
|
|
93
|
+
092 Tibetan Macaque or Milne-Edwards' Macaque Macaca thibetana
|
|
94
|
+
093 Arunachal Macaque or Munzala Macaca munzala
|
|
95
|
+
094 Grey-cheeked Mangabey Lophocebus albigena
|
|
96
|
+
095 Black Crested Mangabey Lophocebus aterrimus
|
|
97
|
+
096 Opdenbosch's Mangabey Lophocebus opdenboschi
|
|
98
|
+
097 Uganda Mangabey Lophocebus ugandae
|
|
99
|
+
098 Johnston's Mangabey Lophocebus johnstoni
|
|
100
|
+
099 Osman Hill's Mangabey Lophocebus osmani
|
|
101
|
+
100 Kipunji Rungwecebus kipunji
|
|
102
|
+
101 Hamadryas Baboon Papio hamadryas
|
|
103
|
+
102 Guinea Baboon Papio papio
|
|
104
|
+
103 Olive Baboon Papio anubis
|
|
105
|
+
104 Yellow Baboon Papio cynocephalus
|
|
106
|
+
105 Chacma Baboon Papio ursinus
|
|
107
|
+
106 Gelada Theropithecus gelada
|
|
108
|
+
107 Sooty Mangabey Cercocebus atys
|
|
109
|
+
108 Collared Mangabey Cercocebus torquatus
|
|
110
|
+
109 Agile Mangabey Cercocebus agilis
|
|
111
|
+
110 Golden-bellied Mangabey Cercocebus chrysogaster
|
|
112
|
+
111 Tana River Mangabey Cercocebus galeritus
|
|
113
|
+
112 Sanje Mangabey Cercocebus sanjei
|
|
114
|
+
113 Mandrill Mandrillus sphinx
|
|
115
|
+
114 Drill Mandrillus leucophaeus
|
|
116
|
+
115 Black Colobus Colobus satanas
|
|
117
|
+
116 Angola Colobus Colobus angolensis
|
|
118
|
+
117 King Colobus Colobus polykomos
|
|
119
|
+
118 Ursine Colobus Colobus vellerosus
|
|
120
|
+
119 Mantled Guereza Colobus guereza
|
|
121
|
+
120 Western Red Colobus Piliocolobus badius
|
|
122
|
+
121 Pennant's Colobus Piliocolobus pennantii
|
|
123
|
+
122 Preuss's Red Colobus Piliocolobus preussi
|
|
124
|
+
123 Thollon's Red Colobus Piliocolobus tholloni
|
|
125
|
+
124 Central African Red Colobus Piliocolobus foai
|
|
126
|
+
125 Ugandan Red Colobus Piliocolobus tephrosceles
|
|
127
|
+
126 Uzungwa Red Colobus Piliocolobus gordonorum
|
|
128
|
+
127 Zanzibar Red Colobus Piliocolobus kirkii
|
|
129
|
+
128 Tana River Red Colobus Piliocolobus rufomitratus
|
|
130
|
+
129 Olive Colobus Procolobus verus
|
|
131
|
+
130 Maroon Leaf Monkey Presbytis rubicunda
|