Changeset 167
- Timestamp:
- 04/19/08 12:20:55 (7 months ago)
- Files:
-
- branches/oo_indexer/lib/picolena/config/basic.rb (modified) (2 diffs)
- branches/oo_indexer/lib/picolena/templates/app/controllers/application.rb (modified) (1 diff)
- branches/oo_indexer/lib/picolena/templates/app/controllers/documents_controller.rb (modified) (1 diff)
- branches/oo_indexer/lib/picolena/templates/app/models/document.rb (modified) (2 diffs)
- branches/oo_indexer/lib/picolena/templates/app/models/finder.rb (modified) (1 diff)
- branches/oo_indexer/lib/picolena/templates/app/models/index_reader.rb (modified) (2 diffs)
- branches/oo_indexer/lib/picolena/templates/app/models/index_writer.rb (modified) (2 diffs)
- branches/oo_indexer/lib/picolena/templates/app/models/indexer.rb (modified) (1 diff)
- branches/oo_indexer/lib/picolena/templates/app/models/query.rb (modified) (1 diff)
- branches/oo_indexer/lib/picolena/templates/config/initializers/002_load_indexed_dirs.rb (modified) (2 diffs)
- branches/oo_indexer/lib/picolena/templates/config/initializers/003_load_white_list_IPs.rb (modified) (2 diffs)
- branches/oo_indexer/lib/picolena/templates/config/initializers/005_load_custom_title_and_names_and_links.rb (modified) (2 diffs)
- branches/oo_indexer/lib/picolena/templates/lib/core_exts.rb (modified) (1 diff)
- branches/oo_indexer/lib/picolena/templates/spec/controllers/documents_controller_spec.rb (modified) (2 diffs)
- branches/oo_indexer/lib/picolena/templates/spec/models/basic_finder_spec.rb (modified) (4 diffs)
- branches/oo_indexer/lib/picolena/templates/spec/models/host_indexing_system_spec.rb (modified) (1 diff)
- branches/oo_indexer/lib/picolena/templates/spec/models/index_directories_spec.rb (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/oo_indexer/lib/picolena/config/basic.rb
r148 r167 1 module Picolena 1 2 # Specify indexes path. 2 3 # Storage should be sufficient in order to store all indexed data. … … 35 36 Ferret::Search::FuzzyQuery.default_min_similarity=0.6 36 37 Analyzer=Ferret::Analysis::StandardAnalyzer.new 38 end branches/oo_indexer/lib/picolena/templates/app/controllers/application.rb
r145 r167 24 24 # Redirects to :access_denied if the remote IP is not white listed. 25 25 def should_only_be_available_for_white_list_IPs 26 unless request.remote_ip =~ WhiteListIPs26 unless request.remote_ip =~ Picolena::WhiteListIPs 27 27 redirect_to :controller => 'application', :action=>'access_denied' 28 28 return false branches/oo_indexer/lib/picolena/templates/app/controllers/documents_controller.rb
r145 r167 25 25 finder=Finder.new(@query,page) 26 26 finder.execute! 27 pager=::Paginator.new(finder.total_hits, ResultsPerPage) do27 pager=::Paginator.new(finder.total_hits, Picolena::ResultsPerPage) do 28 28 finder.matching_documents 29 29 end branches/oo_indexer/lib/picolena/templates/app/models/document.rb
r153 r167 39 39 def alias_path 40 40 original_dir=indexed_directory 41 alias_dir= IndexedDirectories[original_dir]41 alias_dir=Picolena::IndexedDirectories[original_dir] 42 42 dirname.sub(original_dir,alias_dir) 43 43 end … … 101 101 102 102 def indexed_directory 103 IndexedDirectories.keys.find{|indexed_dir|103 Picolena::IndexedDirectories.keys.find{|indexed_dir| 104 104 dirname.starts_with?(indexed_dir) 105 105 } branches/oo_indexer/lib/picolena/templates/app/models/finder.rb
r154 r167 8 8 end 9 9 10 def initialize(raw_query,page=1,results_per_page= ResultsPerPage)10 def initialize(raw_query,page=1,results_per_page=Picolena::ResultsPerPage) 11 11 @query = Query.extract_from(raw_query) 12 12 @raw_query= raw_query branches/oo_indexer/lib/picolena/templates/app/models/index_reader.rb
r154 r167 4 4 # puts "##################################################################Creating Reader!!!!!" 5 5 # Add needed parameters 6 params.merge!(:path => IndexSavePath, :analyzer =>Analyzer)6 params.merge!(:path => Picolena::IndexSavePath, :analyzer => Picolena::Analyzer) 7 7 # Creates the IndexReader 8 8 super(params) … … 51 51 52 52 def filename 53 Dir.glob(File.join( IndexSavePath,'*.cfs')).first53 Dir.glob(File.join(Picolena::IndexSavePath,'*.cfs')).first 54 54 end 55 55 end branches/oo_indexer/lib/picolena/templates/app/models/index_writer.rb
r154 r167 6 6 # Add needed parameters 7 7 params.merge!(:create_if_missing => true, 8 :path => IndexSavePath,9 :analyzer => Analyzer8 :path => Picolena::IndexSavePath, 9 :analyzer => Picolena::Analyzer 10 10 # huge performance impact? 11 11 # :auto_flush => true … … 18 18 19 19 def self.remove 20 Dir.glob(File.join( IndexSavePath,'*')).each{|f| FileUtils.rm(f) if File.file?(f)}20 Dir.glob(File.join(Picolena::IndexSavePath,'*')).each{|f| FileUtils.rm(f) if File.file?(f)} 21 21 end 22 22 branches/oo_indexer/lib/picolena/templates/app/models/indexer.rb
r163 r167 25 25 reset! unless update 26 26 27 IndexedDirectories.each{|dir, alias_dir|27 Picolena::IndexedDirectories.each{|dir, alias_dir| 28 28 index_directory_with_multithreads(dir) 29 29 } branches/oo_indexer/lib/picolena/templates/app/models/query.rb
r152 r167 26 26 # Instantiates a QueryParser once, and keeps it in cache. 27 27 def parser 28 @@parser ||= Ferret::QueryParser.new(:fields => [:content, :file, :basename, :filetype, :date], :or_default => false, :analyzer=> Analyzer)28 @@parser ||= Ferret::QueryParser.new(:fields => [:content, :file, :basename, :filetype, :date], :or_default => false, :analyzer=>Picolena::Analyzer) 29 29 end 30 30 end branches/oo_indexer/lib/picolena/templates/config/initializers/002_load_indexed_dirs.rb
r141 r167 1 module Picolena 1 2 #Loading directories to be indexed 2 3 indexed_dir_config_file='config/custom/indexed_directories.yml' … … 7 8 8 9 IndexSavePath=File.join(IndexesSavePath,ENV["RAILS_ENV"] || "development") 10 end branches/oo_indexer/lib/picolena/templates/config/initializers/003_load_white_list_IPs.rb
r141 r167 1 module Picolena 1 2 #Deny all, Allow only IPs described in config/custom/white_list_ip.yml 2 3 white_list_ip_config_file='config/custom/white_list_ip.yml' … … 7 8 }.join("|")<<")" 8 9 ) rescue /^(127\.0\.0\.1|0\.0\.0\.0)/ 10 end branches/oo_indexer/lib/picolena/templates/config/initializers/005_load_custom_title_and_names_and_links.rb
r138 r167 1 module Picolena 1 2 custom_localization_yml=File.join(RAILS_ROOT,'config/custom/title_and_names_and_links.yml') 2 3 … … 4 5 Globalite.localizations[key_name.to_sym]=custom_translation unless custom_translation.blank? 5 6 } 7 end branches/oo_indexer/lib/picolena/templates/lib/core_exts.rb
r162 r167 18 18 class String 19 19 # Creates a "probably unique" id with the desired length, composed only of lowercase letters. 20 def base26_hash(length= HashLength)20 def base26_hash(length=Picolena::HashLength) 21 21 Digest::MD5.hexdigest(self).to_i(16).to_s(26).tr('0-9a-p', 'a-z')[-length,length] 22 22 end branches/oo_indexer/lib/picolena/templates/spec/controllers/documents_controller_spec.rb
r142 r167 5 5 6 6 before(:all) do 7 @backup= WhiteListIPs7 @backup=Picolena::WhiteListIPs 8 8 end 9 9 10 10 it "should deny access" do 11 11 # Displays a warning otherwise 12 Object.send(:remove_const, :WhiteListIPs) &&WhiteListIPs=/Something that won't match/12 Picolena.send(:remove_const, :WhiteListIPs) && Picolena::WhiteListIPs=/Something that won't match/ 13 13 get 'index' 14 14 response.should be_redirect 15 15 response.should redirect_to(:controller=>'application', :action=>'access_denied') 16 Object.send(:remove_const, :WhiteListIPs) &&WhiteListIPs=/^0\.0\.0\.0/16 Picolena.send(:remove_const, :WhiteListIPs) && Picolena::WhiteListIPs=/^0\.0\.0\.0/ 17 17 get 'index' 18 18 response.should be_success … … 20 20 21 21 after(:all) do 22 Object.send(:remove_const, :WhiteListIPs) &&WhiteListIPs=@backup22 Picolena.send(:remove_const, :WhiteListIPs) && Picolena::WhiteListIPs=@backup 23 23 end 24 24 end branches/oo_indexer/lib/picolena/templates/spec/models/basic_finder_spec.rb
r153 r167 4 4 describe "Finder without index on disk" do 5 5 before(:all) do 6 @original_index_path= IndexSavePath.dup7 @original_indexed_dirs= IndexedDirectories.dup6 @original_index_path=Picolena::IndexSavePath.dup 7 @original_indexed_dirs=Picolena::IndexedDirectories.dup 8 8 @new_index_path=File.join(Dir::tmpdir,'ferret_tst') 9 IndexSavePath.replace(@new_index_path)9 Picolena::IndexSavePath.replace(@new_index_path) 10 10 end 11 11 … … 15 15 16 16 it "should create index" do 17 IndexedDirectories.replace({'spec/test_dirs/indexed/just_one_doc'=>'//justonedoc/'})17 Picolena::IndexedDirectories.replace({'spec/test_dirs/indexed/just_one_doc'=>'//justonedoc/'}) 18 18 lambda {@finder_with_new_index=Finder.new("test moi")}.should change(IndexReader, :exists?).from(false).to(true) 19 19 File.exists?(File.join(@new_index_path,'_0.cfs')).should be_true … … 22 22 23 23 it "should raise if index is still empty after trying to create it" do 24 IndexedDirectories.replace({'spec/test_dirs/empty_folder'=>'//empty_folder/'})24 Picolena::IndexedDirectories.replace({'spec/test_dirs/empty_folder'=>'//empty_folder/'}) 25 25 lambda {Finder.new("doesn't matter anyway")}.should raise_error(IndexError, "no document found") 26 26 File.exists?(File.join(@new_index_path,'_0.cfs')).should be_false … … 28 28 29 29 after(:all) do 30 IndexedDirectories.replace(@original_indexed_dirs)31 IndexSavePath.replace(@original_index_path)30 Picolena::IndexedDirectories.replace(@original_indexed_dirs) 31 Picolena::IndexSavePath.replace(@original_index_path) 32 32 end 33 33 end branches/oo_indexer/lib/picolena/templates/spec/models/host_indexing_system_spec.rb
r136 r167 25 25 26 26 it "should not use too small a hash for Document#probably_unique_id" do 27 HashLength.should_not < 1027 Picolena::HashLength.should_not < 10 28 28 end 29 29 end branches/oo_indexer/lib/picolena/templates/spec/models/index_directories_spec.rb
r81 r167 3 3 describe "IndexedDirectories" do 4 4 it "should be defined" do 5 lambda { IndexedDirectories}.should_not raise_error(NameError)5 lambda {Picolena::IndexedDirectories}.should_not raise_error(NameError) 6 6 end 7 7 8 8 it "should not be empty" do 9 IndexedDirectories.should_not be_empty9 Picolena::IndexedDirectories.should_not be_empty 10 10 end 11 11 12 12 it "should only contain existing directories" do 13 IndexedDirectories.keys.all?{|dir|13 Picolena::IndexedDirectories.keys.all?{|dir| 14 14 File.should be_directory(dir) 15 15 }
