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
- DEFAULT_PRIMARY_LOCALE =
"en_US"
Class Method Summary collapse
- .ingest_app_translations(app_id, locale, primary_locale) ⇒ Object
- .update_display_names!(translations_arr, src_display_name, dst_display_name) ⇒ Object
Class Method Details
.ingest_app_translations(app_id, locale, primary_locale) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/opengraph_transporter/scraper.rb', line 10 def ingest_app_translations(app_id, locale, primary_locale) if primary_locale.nil? primary_locale = DEFAULT_PRIMARY_LOCALE end @agent = Mechanize.new # Defaulting to en_US native locale source_app_uri = "https://www.facebook.com/translations/admin/browse.php?search&sloc=#{primary_locale}&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
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/opengraph_transporter/scraper.rb', line 36 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 |