class Wco::Site

def wp_import

def wp_import
  site = self
  root_tag = Wco::Tag.find_or_create_by slug: "#{site.slug}_wp-import", site_id: site.id
  url      = "#{site.origin}/wp-json/wp/v2/posts"
  pi_admin = Wco::Profile.find_or_create_by email: 'admin@piousbox.com'
  n_pages  = 12
  per_page = 100
  (1..n_pages).each do |page|
    print "Page #{page}"
    posts = HTTParty.get url, query: { per_page: per_page, page: page }
    posts.each do |post|
      report = Wco::Report.new({
        legacy_id: post['id'],
        created_at: post['date'],
        slug: post['link'].sub(site.origin, ''),
        title: post['title']['rendered'],
        subtitle: post['excerpt']['rendered'],
        body: post['content']['rendered'],
        author: pi_admin,
        tag_ids: ( [ root_tag ] + site.tags.where( :legacy_id.in => post['categories'] ) ).map(&:id),
      })
      if report.save
        print '^'
      else
        puts report.errors.messages
      end
    end
  end
  puts "ok"
end