/[freeride]/freeride/freebase/lib/freebase/readers.rb
ViewVC logotype

Diff of /freeride/freebase/lib/freebase/readers.rb

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by curthibbs, Fri Apr 25 08:30:31 2003 UTC revision 1.3 by ljulliar, Thu May 1 12:34:39 2003 UTC
# Line 45  module FreeBASE Line 45  module FreeBASE
45      #      #
46      def self.user_filename(filespec)      def self.user_filename(filespec)
47        return nil if @@userdir.nil? || filespec[0..0]==File::SEPARATOR        return nil if @@userdir.nil? || filespec[0..0]==File::SEPARATOR
48        dir = File.dirname(filespec).split(File::SEPARATOR).last        return File.expand_path(File.join(@@userdir,filespec))
       basename = File.basename(filespec)  
       return File.expand_path(File.join(@@userdir,dir,basename))  
49      end      end
50    
51      ##      ##
# Line 56  module FreeBASE Line 54  module FreeBASE
54      #      #
55      def self.save(base_slot, filespec, name, version)      def self.save(base_slot, filespec, name, version)
56        user_filespec = user_filename(filespec)        user_filespec = user_filename(filespec)
57        if !user_filespec.nil?        if user_filespec.nil?
58        filespec = user_filespec          filespec = File.join($FR_CODEBASE,filespec) if filespec[0..0] != File::SEPARATOR
59        # if file first saved make sure to create the full path first        else
60        unless File.exist?(filespec)          filespec = user_filespec
61          require 'ftools'          # if file first saved make sure to create the full path first
62          File.makedirs(File.dirname(filespec))          unless File.exist?(filespec)
63        end            require 'ftools'
64              File.makedirs(File.dirname(filespec))
65            end
66        end        end
67          # puts ">>> Saving Property File: #{filespec}"
68        file = File.new(filespec,  "w+")        file = File.new(filespec,  "w+")
69        file.puts "#### Properties: #{name} - Version: #{version}"        file.puts "#### Properties: #{name} - Version: #{version}"
70        file.puts gather_data(base_slot).to_yaml(:SortKeys=>true)        file.puts gather_data(base_slot).to_yaml(:SortKeys=>true)
# Line 91  module FreeBASE Line 92  module FreeBASE
92        user_filespec = user_filename(filespec)        user_filespec = user_filename(filespec)
93        if !user_filespec.nil? && File.exist?(user_filespec)        if !user_filespec.nil? && File.exist?(user_filespec)
94          filespec = user_filespec          filespec = user_filespec
95          else
96            filespec = File.join($FR_CODEBASE,filespec) if filespec[0..0] != File::SEPARATOR
97        end        end
98        #puts "Loading Property File: #{filespec}"        #puts "Loading Property File: #{filespec}"
99        return unless File.exist?(filespec)        return unless File.exist?(filespec)
# Line 162  module FreeBASE Line 165  module FreeBASE
165      def load_files      def load_files
166        plugin_element = nil        plugin_element = nil
167        @configuration.plugin_paths.split(";").each do |path|        @configuration.plugin_paths.split(";").each do |path|
168          Dir.foreach(path) do |file|          fullpath = File.join($FR_CODEBASE,path) if path[0..0] != File::SEPARATOR
169            if file!=".." and file!="." and File.stat("#{path}/#{file}").directory?          Dir.foreach(fullpath) do |file|
170              filespec = "#{path}/#{file}/plugin.yaml"            next if file=='..' || file=='.'
171              next unless File.exist?(filespec)            if File.stat("#{fullpath}/#{file}").directory?
172              @configuration.register(YAML.load(File.open(filespec).read), File.dirname(filespec))              full_filespec = "#{fullpath}/#{file}/plugin.yaml"
173            elsif file[-5..-1]==".yaml" and !File.stat("#{path}/#{file}").directory?              filespec = "#{path}/#{file}/plugin.yaml"
174                next unless File.exist?(full_filespec)
175                @configuration.register(YAML.load(File.open(full_filespec).read),
176                                        File.dirname(filespec))
177              elsif file[-5..-1]==".yaml" and !File.stat("#{fullpath}/#{file}").directory?
178                full_filespec = "#{fullpath}/#{file}"
179              filespec = "#{path}/#{file}"              filespec = "#{path}/#{file}"
180              @configuration.register(YAML.load(File.open(filespec).read), File.dirname(filespec))              @configuration.register(YAML.load(File.open(full_filespec).read),
181                                        File.dirname(filespec))
182            end            end
183          end          end
184        end        end

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26