diff options
| author | hukl <hukl@eight.local> | 2009-02-02 22:37:28 +0100 |
|---|---|---|
| committer | hukl <hukl@eight.local> | 2009-02-02 22:37:28 +0100 |
| commit | efbd264d62189ac6bbb80961ddef058240f16435 (patch) | |
| tree | 857ed5a2f94d870b439c769c036b65e1d4b90b88 /lib | |
| parent | aa6fee507879f08a113eaa1454aae2b84c4ecf30 (diff) | |
importer now recognizes flags and adds them to the
pages
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/update_importer.rb | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/lib/update_importer.rb b/lib/update_importer.rb index af7064c..7947376 100644 --- a/lib/update_importer.rb +++ b/lib/update_importer.rb | |||
| @@ -14,9 +14,21 @@ class UpdateImporter | |||
| 14 | end | 14 | end |
| 15 | 15 | ||
| 16 | unless @updates = Node.find_by_unique_name('updates') | 16 | unless @updates = Node.find_by_unique_name('updates') |
| 17 | @updates = Node.create! :slug => 'updates' | 17 | @updates = Node.create!( :slug => 'updates' ) |
| 18 | @updates.move_to_child_of Node.root | 18 | @updates.move_to_child_of Node.root |
| 19 | end | 19 | end |
| 20 | |||
| 21 | unless @update_flag = Flag.find_by_name("update") | ||
| 22 | @update_flag = Flag.create!( :name => "update" ) | ||
| 23 | end | ||
| 24 | |||
| 25 | unless @pm_flag = Flag.find_by_name("pressemitteilung") | ||
| 26 | @pm_flag = Flag.create!( :name => "pressemitteilung" ) | ||
| 27 | end | ||
| 28 | |||
| 29 | unless @event_flag = Flag.find_by_name("event") | ||
| 30 | @event_flag = Flag.create!( :name => "event" ) | ||
| 31 | end | ||
| 20 | end | 32 | end |
| 21 | 33 | ||
| 22 | # Class Methods | 34 | # Class Methods |
| @@ -75,16 +87,24 @@ class UpdateImporter | |||
| 75 | element = element.next_sibling | 87 | element = element.next_sibling |
| 76 | end | 88 | end |
| 77 | 89 | ||
| 78 | puts body | ||
| 79 | |||
| 80 | if node.pages.empty? | 90 | if node.pages.empty? |
| 81 | node.pages.create!( | 91 | page = node.pages.create!( |
| 82 | :title => xhtml.elements['title'].get_text.to_s, | 92 | :title => xhtml.elements['title'].get_text.to_s, |
| 83 | :abstract => xhtml.elements['abstract'].get_text.to_s, | 93 | :abstract => xhtml.elements['abstract'].get_text.to_s, |
| 84 | :body => body, | 94 | :body => body, |
| 85 | :published_at => date | 95 | :published_at => date |
| 86 | ) | 96 | ) |
| 87 | end | 97 | end |
| 98 | |||
| 99 | page.flags << @update_flag if page | ||
| 100 | |||
| 101 | if (flags = xhtml.elements['flags']) && page | ||
| 102 | page.flags << @event_flag if flags.attributes['calendar'] | ||
| 103 | page.flags << @pm_flag if flags.attributes['pm'] | ||
| 104 | |||
| 105 | print "#{page.title} >>> " | ||
| 106 | puts flags.attributes['calendar'].inspect | ||
| 107 | end | ||
| 88 | end | 108 | end |
| 89 | 109 | ||
| 90 | def convert_chaospage_to_xhtml( element ) | 110 | def convert_chaospage_to_xhtml( element ) |
