athena 0.0.3.58 → 0.0.4.59

Sign up to get free protection for your applications and to get access to all the features.
data/README CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  == VERSION
4
4
 
5
- This documentation refers to athena version 0.0.3
5
+ This documentation refers to athena version 0.0.4
6
6
 
7
7
 
8
8
  == DESCRIPTION
data/bin/athena CHANGED
File without changes
@@ -36,7 +36,7 @@ class Athena::Formats
36
36
 
37
37
  CRLF = "\015\012"
38
38
 
39
- ICONV_TO_LATIN1 = Iconv.new('latin1', 'utf-8')
39
+ ICONV_TO_LATIN1 = Iconv.new('latin1//TRANSLIT//IGNORE', 'utf-8')
40
40
 
41
41
  VALUE_SEPARATOR = '|'
42
42
  RECORD_SEPARATOR = '&&&'
@@ -51,12 +51,17 @@ class Athena::Formats
51
51
 
52
52
  @config = config
53
53
  @parser = parser
54
-
55
- @match_all_query = ::Ferret::Search::MatchAllQuery.new
56
54
  end
57
55
 
58
56
  def parse(source)
59
- search_all(source) { |doc|
57
+ path = source.path
58
+ raise "index not found: #{path}" unless File.readable?(File.join(path, 'segments'))
59
+
60
+ index = ::Ferret::Index::IndexReader.new(path)
61
+
62
+ 0.upto(index.max_doc - 1) { |i|
63
+ doc = index[i]
64
+
60
65
  record = Athena::Record.new(parser.block, doc[record_element])
61
66
 
62
67
  config.each { |element, field_config|
@@ -65,21 +70,12 @@ class Athena::Formats
65
70
 
66
71
  record.close
67
72
  }
73
+
74
+ index.num_docs
68
75
  end
69
76
 
70
77
  private
71
78
 
72
- def search_all(source)
73
- index = ::Ferret::Index::Index.new(
74
- :path => source.path,
75
- :create_if_missing => false
76
- ).searcher
77
-
78
- index.search_each(match_all_query, :limit => :all) { |doc_id, _|
79
- yield index[doc_id] if block_given?
80
- }
81
- end
82
-
83
79
  class NoRecordElementError < StandardError
84
80
  end
85
81
 
@@ -30,7 +30,7 @@ module Athena::Version
30
30
 
31
31
  MAJOR = 0
32
32
  MINOR = 0
33
- TINY = 3
33
+ TINY = 4
34
34
 
35
35
  class << self
36
36
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: athena
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3.58
4
+ version: 0.0.4.59
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jens Wille
@@ -9,11 +9,12 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-03-17 00:00:00 +01:00
12
+ date: 2008-11-19 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: xmlstreamin
17
+ type: :runtime
17
18
  version_requirement:
18
19
  version_requirements: !ruby/object:Gem::Requirement
19
20
  requirements:
@@ -23,6 +24,7 @@ dependencies:
23
24
  version:
24
25
  - !ruby/object:Gem::Dependency
25
26
  name: ruby-nuggets
27
+ type: :runtime
26
28
  version_requirement:
27
29
  version_requirements: !ruby/object:Gem::Requirement
28
30
  requirements:
@@ -64,15 +66,15 @@ has_rdoc: true
64
66
  homepage: http://prometheus.rubyforge.org/athena
65
67
  post_install_message:
66
68
  rdoc_options:
69
+ - --line-numbers
70
+ - --inline-source
67
71
  - --title
68
72
  - athena Application documentation
69
- - --charset
70
- - UTF-8
71
73
  - --main
72
74
  - README
73
- - --line-numbers
74
75
  - --all
75
- - --inline-source
76
+ - --charset
77
+ - UTF-8
76
78
  require_paths:
77
79
  - lib
78
80
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -90,7 +92,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
90
92
  requirements: []
91
93
 
92
94
  rubyforge_project: prometheus
93
- rubygems_version: 1.0.1
95
+ rubygems_version: 1.3.1
94
96
  signing_key:
95
97
  specification_version: 2
96
98
  summary: Convert database files to various formats.