module Nicos::Parser::Html

Public Class Methods

mylist(html) click to toggle source
# File lib/classes/parser.rb, line 328
def mylist(html)
  rawScript = html.scan(
    /\<script\stype\=\"text\/javascript\">.[^<]{1,}/
  )[6]
  
  /(Jarty\.globals\()(\{([^}]|\}[^)])+)/ =~ rawScript
  s = $2
  
  /(user_id:\s)([0-9]{1,})/ =~ s
  user_id   = $2
  
  /(nickname:\s\")([^"]{1,})/ =~ s
  author    = $2

  /(MylistGroup\.preload)(([^;]|[^)]\;)+)/ =~ rawScript
  s = $2

  /(name:\s\")([^"]{1,})/ =~ s
  title = $2

  /(description:\s\")([^"]{1,})/ =~ s
  description = $2

  /(id:\s)([0-9]{1,})/ =~ s
  mylist_id   = $2     
     
  /(public:\s)([0-9]{1,})/ =~ s
  public   = $2      
    
  /(default_sort:\s)([0-9]{1,})/ =~ s
  default_sort   = $2  
          
  /(create_time:\s)([0-9]{1,})/ =~ s
  create_time   = $2  
          
  /(update_time:\s)([0-9]{1,})/ =~ s
  update_time   = $2  
          
  /(icon_id:\s)([0-9]{1,})/ =~ s
  icon_id   = $2

 
  /(Mylist\.preload\([0-9]{1,}\,)(.+(?=\]\)\;))/ =~ rawScript
  if $2 != nil
    s = $2 + "]"
    entry = JSON.parse(s)
  else
    entry = nil
  end

  parse = {
    :mylist => {
      :user_id      => user_id,
      :author       => author,
      :title        => title,
      :description  => description,
      :mylist_id    => mylist_id,
      :public       => public,
      :default_sort => default_sort,
      :create_time  => create_time,
      :update_time  => update_time,
      :icon_id      => icon_id
    },
    :entry => entry
  }

  parse
end

Private Instance Methods

mylist(html) click to toggle source
# File lib/classes/parser.rb, line 328
def mylist(html)
  rawScript = html.scan(
    /\<script\stype\=\"text\/javascript\">.[^<]{1,}/
  )[6]
  
  /(Jarty\.globals\()(\{([^}]|\}[^)])+)/ =~ rawScript
  s = $2
  
  /(user_id:\s)([0-9]{1,})/ =~ s
  user_id   = $2
  
  /(nickname:\s\")([^"]{1,})/ =~ s
  author    = $2

  /(MylistGroup\.preload)(([^;]|[^)]\;)+)/ =~ rawScript
  s = $2

  /(name:\s\")([^"]{1,})/ =~ s
  title = $2

  /(description:\s\")([^"]{1,})/ =~ s
  description = $2

  /(id:\s)([0-9]{1,})/ =~ s
  mylist_id   = $2     
     
  /(public:\s)([0-9]{1,})/ =~ s
  public   = $2      
    
  /(default_sort:\s)([0-9]{1,})/ =~ s
  default_sort   = $2  
          
  /(create_time:\s)([0-9]{1,})/ =~ s
  create_time   = $2  
          
  /(update_time:\s)([0-9]{1,})/ =~ s
  update_time   = $2  
          
  /(icon_id:\s)([0-9]{1,})/ =~ s
  icon_id   = $2

 
  /(Mylist\.preload\([0-9]{1,}\,)(.+(?=\]\)\;))/ =~ rawScript
  if $2 != nil
    s = $2 + "]"
    entry = JSON.parse(s)
  else
    entry = nil
  end

  parse = {
    :mylist => {
      :user_id      => user_id,
      :author       => author,
      :title        => title,
      :description  => description,
      :mylist_id    => mylist_id,
      :public       => public,
      :default_sort => default_sort,
      :create_time  => create_time,
      :update_time  => update_time,
      :icon_id      => icon_id
    },
    :entry => entry
  }

  parse
end