Class: OpengraphTransporter::Scraper
- Inherits:
-
Object
- Object
- OpengraphTransporter::Scraper
- Defined in:
- lib/opengraph_transporter/scraper.rb
Constant Summary collapse
- MAX_FB_LOGIN_ATTEMPTS =
3
- MAX_TRANSLATION_PAGE_LIMIT =
30
Class Method Summary collapse
- .ingest_app_translations(app_id, locale) ⇒ Object
- .update_display_names!(translations_arr, src_display_name, dst_display_name) ⇒ Object
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) login_attempt = 1 login(login_attempt) 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 |