Class: OpengraphTransporter::Scraper

Inherits:
Object
  • Object
show all
Defined in:
lib/opengraph_transporter/scraper.rb

Constant Summary collapse

MAX_FB_LOGIN_ATTEMPTS =
3
MAX_TRANSLATION_PAGE_LIMIT =
30

Class Method Summary collapse

Class Method Details

.ingest_app_translations(app_id, locale) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/opengraph_transporter/scraper.rb', line 9

def ingest_app_translations(app_id, locale)
  @agent = Mechanize.new
  # Defaulting to en_US native locale
  source_app_uri = "https://www.facebook.com/translations/admin/browse.php?search&sloc=en_US&aloc=#{locale}&app=#{app_id}"
  @agent.get(source_app_uri)
   = 1
  () do |continue|
    if continue
      puts @agent.page.uri.to_s
      translations_page_index = 0
      translations_arr = Array.new 
      GracefulQuit.enable
      recurse_translations(translations_page_index, translations_arr) do |complete_translation_arr, idx|
        logout
        return complete_translation_arr
      end
    else
      return []
    end
  end
end

.update_display_names!(translations_arr, src_display_name, dst_display_name) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/opengraph_transporter/scraper.rb', line 31

def update_display_names!(translations_arr, src_display_name, dst_display_name)
  say(".....swapping app translation tokens")
  translation_src_name =  "{" << src_display_name << "}"
  translation_dst_name =  "{" << dst_display_name << "}"
  translations_arr.each_with_index do |el, index|
    
    if el['native'] =~ /(#{Regexp.escape(translation_src_name)})/i 
      app_name = "#{$1}".strip
      unless app_name.eql?("application")
        el['native'].gsub!(/(#{Regexp.escape(translation_src_name)})/i , "#{translation_dst_name}")
        el['translation'].gsub!(/(#{Regexp.escape(translation_src_name)})/i, "#{translation_dst_name}")
      end
    end
  end
  
  return translations_arr
end