opengraph_transporter 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f61770592a17b75bd0d83fb77cfa8333bb8d47b7
4
- data.tar.gz: fd922a9770ee3f0b21ae06005cbdf961289b60cf
3
+ metadata.gz: d9dfbf1c2f753ed6527becf7c583032a64c7edd1
4
+ data.tar.gz: 1d86006b6e2d7c0fc5759a1610b15256235b6fc9
5
5
  SHA512:
6
- metadata.gz: f717d8e5f1f76d3def9a3e3f4ee7bd8dc019d33f640240da06776745f002bcfeb9f98cd0d91c761d2437416ee54dc15a59849d61c4edb678c4b15338ace27909
7
- data.tar.gz: 33228276e66562e2d670e1d9b4fa7227339028663b3c82146f5655cf34403dc78ad12a8eb5482e0010acf4c87c3145282d30d41b6f0ba5e192b51ddf380c2d23
6
+ metadata.gz: f288df21619bd8146375bd324cd9b1271afb990213a1f3a2ea0c997bf2b760606013853886a2aa08e5de76d98f411d4b886866fc2854240ea9b908a109918e82
7
+ data.tar.gz: 3be213e978d3cf21ed462035a438df46ed70ccab6d5e278792624e77384881e6d047fc4bb128c3c1e2ec76ff1a75351c87261c91e585f1065922874f040cd68e
data/README.md CHANGED
@@ -27,20 +27,34 @@ Or install it yourself as:
27
27
  ### Facebook
28
28
  * Admin Role on Facebook Developer Applications used in translations export process.
29
29
  * Translation process is dependent on English(US) primary language selection (this will be configurable in future releases).
30
+ * Consistent Destination App Open Graph story configuration.
30
31
 
31
32
  ## Usage
32
33
 
33
34
  1. Run opengraph_transporter
34
35
  2. Enter Source Facebook Developer App ID and App Secret
35
36
  3. Enter Destination Facebook Developer App ID and App Secret
36
- 4. Enter App translations locale.
37
- 5. Follow the prompts.
37
+ 4. Enter Facebook translations Primary Locale (primary language locale - generally defaults to en_US).
38
+ 5. Enter Facebook translations App locale.
39
+ 6. Follow the prompts.
38
40
 
39
41
 
40
42
  ```
43
+ $ Please Enter Source Application Id
44
+ 619023458209241
45
+
46
+ $ Please Enter Source Application Secret
47
+ 2a1c3c1a878e8f52a8b7788dfe89g15f
48
+
49
+ $ Please Enter Destination Application Id
50
+ 639876543218648
51
+
41
52
  $ Please Enter Destination Application Secret
42
- 29ae3b7d426106eae639754eb6855ef1
43
-
53
+ 29ae3c3bd62106eae636132be8676eb2
54
+
55
+ $ Please Enter Primary Locale
56
+ en_US
57
+
44
58
  $ Please Enter App Locale
45
59
  pt_BR
46
60
  ```
@@ -48,9 +48,9 @@ module OpengraphTransporter
48
48
  end
49
49
 
50
50
  def run_export
51
- translation[:dst_translation_arr] = Scraper.ingest_app_translations(translation[:destination_application_id], translation[:app_locale])
51
+ translation[:dst_translation_arr] = Scraper.ingest_app_translations(translation[:destination_application_id], translation[:app_locale], translation[:primary_locale])
52
52
  if translation[:dst_translation_arr].length == 0
53
- say("No destination app <%= color('(#{Base.translation[:dst_app_name]})', RED, BOLD) %> Open Graph Translations found, please check that Open Graph stories exist and localization.")
53
+ say("No destination app <%= color('(#{Base.translation[:dst_app_name]})', RED, BOLD) %> Open Graph Translations found, please check that Open Graph stories exist and locales are correct.")
54
54
  else
55
55
  translation[:src_translation_arr] = Scraper.update_display_names!(translation[:src_translation_arr], translation[:src_app_name].to_s, translation[:dst_app_name].to_s)
56
56
  translations_cleanup
@@ -123,10 +123,15 @@ module OpengraphTransporter
123
123
  end
124
124
  if translation[:app_locale].empty?
125
125
  error_keys << "app_locale"
126
+ elsif translation[:primary_locale].empty?
127
+ error_keys << "primary_locale"
126
128
  else
127
129
  if !locales.include?(translation[:app_locale])
128
130
  error_keys << "app_locale"
129
131
  end
132
+ if !locales.include?(translation[:primary_locale])
133
+ error_keys << "primary_locale"
134
+ end
130
135
  end
131
136
 
132
137
  if !error_keys.empty?
@@ -169,7 +174,7 @@ module OpengraphTransporter
169
174
  end
170
175
 
171
176
  def initialize_translation
172
- @@translation ||= {:source_application_id => '', :source_application_secret => '', :destination_application_id => '', :destination_application_secret => '', :app_locale => '' }
177
+ @@translation ||= {:source_application_id => '', :source_application_secret => '', :destination_application_id => '', :destination_application_secret => '', :primary_locale => '', :app_locale => '' }
173
178
  end
174
179
 
175
180
  def translations_cleanup
@@ -2,6 +2,7 @@ module OpengraphTransporter
2
2
  class Browser
3
3
 
4
4
  MAX_TRANSLATION_PAGE_LIMIT = 30
5
+ DEFAULT_PRIMARY_LOCALE = "en_US"
5
6
 
6
7
  class << self
7
8
 
@@ -15,7 +16,11 @@ module OpengraphTransporter
15
16
  @translation_arr = @translation [:dst_translation_arr].clone
16
17
  fb_login
17
18
 
18
- developer_translations_home_uri = "https://www.facebook.com/translations/admin/browse.php?search=&sloc=en_US&aloc=#{@translation[:app_locale]}&app=#{@translation[:destination_application_id]}"
19
+ if @translation[:primary_locale].nil?
20
+ primary_locale = DEFAULT_PRIMARY_LOCALE
21
+ end
22
+
23
+ developer_translations_home_uri = "https://www.facebook.com/translations/admin/browse.php?search=&sloc=#{primary_locale}&aloc=#{@translation[:app_locale]}&app=#{@translation[:destination_application_id]}"
19
24
  @browser.goto developer_translations_home_uri
20
25
  GracefulQuit.enable
21
26
  parse_translation_rows
@@ -69,6 +69,7 @@ module OpengraphTransporter
69
69
  say("<%= color('\n***********************************************************************************************************', YELLOW, BOLD) %>")
70
70
  say("Source Application ID: <%= color('#{Base.translation[:source_application_id]}', YELLOW, BOLD) %> Application Name: <%= color('#{Base.translation[:src_app_name]}', YELLOW, BOLD) %>")
71
71
  say("Destination Application ID: <%= color('#{Base.translation[:destination_application_id]}', YELLOW, BOLD) %> Application Name: <%= color('#{Base.translation[:dst_app_name]}', YELLOW, BOLD) %>")
72
+ say("Primary Locale: <%= color('#{Base.translation[:primary_locale]}', YELLOW, BOLD) %>")
72
73
  say("Selected Locale: <%= color('#{Base.translation[:app_locale]}', YELLOW, BOLD) %>")
73
74
  say("<%= color('***********************************************************************************************************\n', YELLOW, BOLD) %>")
74
75
  end
@@ -3,13 +3,18 @@ module OpengraphTransporter
3
3
 
4
4
  MAX_FB_LOGIN_ATTEMPTS = 3
5
5
  MAX_TRANSLATION_PAGE_LIMIT = 30
6
+ DEFAULT_PRIMARY_LOCALE = "en_US"
6
7
 
7
8
  class << self
8
9
 
9
- def ingest_app_translations(app_id, locale)
10
+ def ingest_app_translations(app_id, locale, primary_locale)
11
+ if primary_locale.nil?
12
+ primary_locale = DEFAULT_PRIMARY_LOCALE
13
+ end
10
14
  @agent = Mechanize.new
11
15
  # Defaulting to en_US native locale
12
- source_app_uri = "https://www.facebook.com/translations/admin/browse.php?search&sloc=en_US&aloc=#{locale}&app=#{app_id}"
16
+ source_app_uri = "https://www.facebook.com/translations/admin/browse.php?search&sloc=#{primary_locale}&aloc=#{locale}&app=#{app_id}"
17
+
13
18
  @agent.get(source_app_uri)
14
19
  login_attempt = 1
15
20
  login(login_attempt) do |continue|
@@ -119,7 +124,7 @@ module OpengraphTransporter
119
124
  end
120
125
 
121
126
  def get_user_credentials
122
- Base.user[:fb_username] = ask("Facebook Username: ", lambda { |u| u.to_s.strip } ) do |q|
127
+ Base.user[:fb_username] = ask("Facebook Email: ", lambda { |u| u.to_s.strip } ) do |q|
123
128
  q.validate = lambda { |p| (p =~ /^.+@.+$/) != nil }
124
129
  q.responses[:not_valid] = "Please enter a valid email address."
125
130
  end
@@ -1,3 +1,3 @@
1
1
  module OpengraphTransporter
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opengraph_transporter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Barry Quigley