Top Level Namespace

Defined Under Namespace

Modules: AccountHelper, ApplicationHelper, Localization, Localizer, LoginSystem, PersonHelper, SubscriberHelper, UserSystem Classes: AccountController, Choice, Elt, EltController, Mail, MailNotify, Mailman, OldVisit, Person, PersonController, PersonMail, PersonNotify, SubscriberController, Subscription, User, UserNotify, Visit

Constant Summary collapse

ICONV =
Iconv.new 'UTF-8', 'ISO-8859-15'

Instance Method Summary collapse

Instance Method Details

#inputDir(directory) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/data_import.rb', line 10

def inputDir(directory)
  Dir.glob(directory+'/*.txt') do |file|
    dir = directory+'/'+file
    inputFile File.basename(directory), file
  end

  Dir.foreach(directory) do |d|
    if (d != '.' and d != '..' and d != '.svn')
    dir = directory+'/'+d
      if (File.directory?(dir) or File.symlink?(dir))
        #puts 'dir: '+dir
        inputDir dir
      end
    end
  end
end

#inputFile(d, fileName) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/data_import.rb', line 27

def inputFile(d, fileName)
  puts 'Loading: '+File.basename(fileName).gsub(/.txt/, '')

  elt = Elt.find_by_id File.basename(fileName).gsub(/.txt/, '')
  elt ||= Elt.new :id => File.basename(fileName).gsub(/.txt/, ''), :created_on => nil

  file = File.new fileName

  if !elt.created_on or elt.created_on < file.mtime
    elt.mail = nil

    elt.parent_id = d
    elt.created_on = file.mtime
    puts elt.created_on.class
    elt.subject = ICONV.iconv(file.gets.strip)
    elt.body = format(ICONV.iconv(file.gets('\n')))
    puts "subject: #{elt.subject} (created_on: #{elt.created_on.to_s})"
    elt.save
    elt.parent.add_child elt unless elt.lft or elt.rgt
  end
end