Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Changeset 4450

Show
Ignore:
Timestamp:
06/12/06 16:07:58 (2 years ago)
Author:
rick
Message:

Fix script/plugin so it doesn't barf on invalid URLs [Rick]

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/railties/CHANGELOG

    r4449 r4450  
    11*SVN* 
     2 
     3* Fix script/plugin so it doesn't barf on invalid URLs [Rick] 
    24 
    35* Fix plugin install bug at dir with space. (closes #5359) [Yoshimasa NIWA] 
  • trunk/railties/lib/commands/plugin.rb

    r4449 r4450  
    685685      dupes = [] 
    686686      content = open(uri).each do |line| 
    687         if line =~ /<a[^>]*href=['"]([^'"]*)['"]/ or line =~ /(svn:\/\/[^<|\n]*)/ 
    688           uri = $1 
    689           if uri =~ /\/plugins\// and uri !~ /\/browser\// 
    690             uri = extract_repository_uri(uri) 
    691             yield uri unless dupes.include?(uri) or Repositories.instance.exist?(uri) 
    692             dupes << uri 
     687        begin 
     688          if line =~ /<a[^>]*href=['"]([^'"]*)['"]/ || line =~ /(svn:\/\/[^<|\n]*)/ 
     689            uri = $1 
     690            if uri =~ /^\w+:\/\// && uri =~ /\/plugins\// && uri !~ /\/browser\// && uri !~ /^http:\/\/wiki\.rubyonrails/ && uri !~ /http:\/\/instiki/ 
     691              uri = extract_repository_uri(uri) 
     692              yield uri unless dupes.include?(uri) || Repositories.instance.exist?(uri) 
     693              dupes << uri 
     694            end 
    693695          end 
     696        rescue 
     697          puts "Problems scraping '#{uri}': #{$!.to_s}" 
    694698        end 
    695699      end