apdm 0.0.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (139) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +9 -0
  3. data/.rspec +1 -0
  4. data/Gemfile +4 -0
  5. data/README.md +223 -0
  6. data/Rakefile +1 -0
  7. data/apdm.gemspec +34 -0
  8. data/bin/apdm +6 -0
  9. data/features/ad_tech.feature +11 -0
  10. data/features/step_definitions/ad_tech_steps.rb +19 -0
  11. data/features/support/env.rb +5 -0
  12. data/fixtures/approvals/ad_tech_loader_scripts.approved.txt +42 -0
  13. data/fixtures/approvals/ad_tech_placeholders.approved.txt +6 -0
  14. data/lib/apdm.rb +24 -0
  15. data/lib/apdm/ad_tech.rb +96 -0
  16. data/lib/apdm/ad_tech/ad_loader.rb +67 -0
  17. data/lib/apdm/ad_tech/ads.csv +475 -0
  18. data/lib/apdm/ad_tech/data.rb +47 -0
  19. data/lib/apdm/channel.rb +87 -0
  20. data/lib/apdm/channels.rb +569 -0
  21. data/lib/apdm/credentials.rb +26 -0
  22. data/lib/apdm/design_elements.rb +60 -0
  23. data/lib/apdm/design_elements/api.rb +75 -0
  24. data/lib/apdm/feed.rb +65 -0
  25. data/lib/apdm/issues.rb +14 -0
  26. data/lib/apdm/issues/aasavis.rb +51 -0
  27. data/lib/apdm/issues/amta.rb +253 -0
  28. data/lib/apdm/issues/an.rb +302 -0
  29. data/lib/apdm/issues/auraavis.rb +154 -0
  30. data/lib/apdm/issues/austagderblad.rb +154 -0
  31. data/lib/apdm/issues/avisa-hordaland.rb +154 -0
  32. data/lib/apdm/issues/avisa-valdres.rb +177 -0
  33. data/lib/apdm/issues/ba.rb +352 -0
  34. data/lib/apdm/issues/bladet.rb +154 -0
  35. data/lib/apdm/issues/blv.rb +254 -0
  36. data/lib/apdm/issues/bygdeposten.rb +154 -0
  37. data/lib/apdm/issues/demokraten.rb +154 -0
  38. data/lib/apdm/issues/eikerbladet.rb +409 -0
  39. data/lib/apdm/issues/enebakkavis.rb +51 -0
  40. data/lib/apdm/issues/etl.rb +79 -0
  41. data/lib/apdm/issues/eub.rb +254 -0
  42. data/lib/apdm/issues/finnmarkdagblad.rb +302 -0
  43. data/lib/apdm/issues/finnmarken.rb +302 -0
  44. data/lib/apdm/issues/firda.rb +302 -0
  45. data/lib/apdm/issues/firdaposten.rb +153 -0
  46. data/lib/apdm/issues/fremover.rb +304 -0
  47. data/lib/apdm/issues/gd.rb +304 -0
  48. data/lib/apdm/issues/glomdalen.rb +302 -0
  49. data/lib/apdm/issues/ha-halden.rb +302 -0
  50. data/lib/apdm/issues/hadeland.rb +251 -0
  51. data/lib/apdm/issues/hardanger-folkeblad.rb +151 -0
  52. data/lib/apdm/issues/helgeland-arbeiderblad.rb +304 -0
  53. data/lib/apdm/issues/import.csv +12821 -0
  54. data/lib/apdm/issues/indre.rb +151 -0
  55. data/lib/apdm/issues/jarlsbergavis.rb +154 -0
  56. data/lib/apdm/issues/kvinnheringen.rb +202 -0
  57. data/lib/apdm/issues/lofot-tidende.rb +102 -0
  58. data/lib/apdm/issues/lofotposten.rb +304 -0
  59. data/lib/apdm/issues/mb.rb +103 -0
  60. data/lib/apdm/issues/namdalsavisa.rb +302 -0
  61. data/lib/apdm/issues/nordhordland.rb +103 -0
  62. data/lib/apdm/issues/nordlys.rb +304 -0
  63. data/lib/apdm/issues/oa.rb +302 -0
  64. data/lib/apdm/issues/op.rb +304 -0
  65. data/lib/apdm/issues/opdalingen.rb +150 -0
  66. data/lib/apdm/issues/oyene.rb +51 -0
  67. data/lib/apdm/issues/pd.rb +254 -0
  68. data/lib/apdm/issues/r-a.rb +152 -0
  69. data/lib/apdm/issues/ranablad.rb +304 -0
  70. data/lib/apdm/issues/rb.rb +302 -0
  71. data/lib/apdm/issues/retten.rb +151 -0
  72. data/lib/apdm/issues/ringblad.rb +304 -0
  73. data/lib/apdm/issues/rogalandsavis.rb +302 -0
  74. data/lib/apdm/issues/sa.rb +304 -0
  75. data/lib/apdm/issues/smaalenene.rb +304 -0
  76. data/lib/apdm/issues/sognavis.rb +254 -0
  77. data/lib/apdm/issues/ta.rb +304 -0
  78. data/lib/apdm/issues/tk.rb +304 -0
  79. data/lib/apdm/issues/tvedestrandsposten.rb +150 -0
  80. data/lib/apdm/issues/vestbyavis.rb +51 -0
  81. data/lib/apdm/local_paper_area.rb +21 -0
  82. data/lib/apdm/network.rb +49 -0
  83. data/lib/apdm/null_cache.rb +15 -0
  84. data/lib/apdm/origo.rb +46 -0
  85. data/lib/apdm/saxo.rb +58 -0
  86. data/lib/apdm/saxo/iptc.rb +69 -0
  87. data/lib/apdm/saxo/metadata.rb +36 -0
  88. data/lib/apdm/saxo/remote.rb +67 -0
  89. data/lib/apdm/sinatra.rb +85 -0
  90. data/lib/apdm/version.rb +3 -0
  91. data/lib/cli.rb +12 -0
  92. data/spec/ad_tech/ad_loader_spec.rb +27 -0
  93. data/spec/ad_tech/data_spec.rb +14 -0
  94. data/spec/ad_tech_spec.rb +70 -0
  95. data/spec/approvals_helper.rb +6 -0
  96. data/spec/channel_spec.rb +91 -0
  97. data/spec/channels_spec.rb +9 -0
  98. data/spec/credentials_integration_spec.rb +13 -0
  99. data/spec/credentials_spec.rb +34 -0
  100. data/spec/design_elements_spec.rb +132 -0
  101. data/spec/feed_spec.rb +49 -0
  102. data/spec/fixtures/ad_tech.csv +6 -0
  103. data/spec/fixtures/approvals/adtech/ad_loader.approved.txt +9 -0
  104. data/spec/fixtures/approvals/apdm_adtech/data/handles_artikkelboard.approved.txt +10 -0
  105. data/spec/fixtures/approvals/apdm_adtech/data/handles_bunnbanner.approved.txt +10 -0
  106. data/spec/fixtures/approvals/apdm_adtech/data/handles_skyskraper_1.approved.txt +10 -0
  107. data/spec/fixtures/approvals/apdm_adtech/data/handles_toppbanner.approved.txt +10 -0
  108. data/spec/fixtures/approvals/apdm_adtech/data/is_ok_with_new_bandwagon_data.approved.txt +10 -0
  109. data/spec/fixtures/approvals/apdm_adtech/data/loads_default_data.approved.txt +10 -0
  110. data/spec/fixtures/approvals/apdm_designelements/css/via_api.approved.txt +23 -0
  111. data/spec/fixtures/approvals/apdm_designelements/footer_html/via_api.approved.html +85 -0
  112. data/spec/fixtures/approvals/apdm_designelements/header_html/via_api.approved.html +40 -0
  113. data/spec/fixtures/approvals/apdm_designelements/tracking_scripts/api/keyword.approved.txt +54 -0
  114. data/spec/fixtures/approvals/apdm_designelements/tracking_scripts/api/placeholder.approved.txt +54 -0
  115. data/spec/fixtures/issues.csv +3 -0
  116. data/spec/fixtures/test.jpg +0 -0
  117. data/spec/fixtures/vcr_cassettes/apdm_credentials.yml +44 -0
  118. data/spec/fixtures/vcr_cassettes/css.yml +5588 -0
  119. data/spec/fixtures/vcr_cassettes/footer-html.yml +178 -0
  120. data/spec/fixtures/vcr_cassettes/header-html.yml +132 -0
  121. data/spec/fixtures/vcr_cassettes/origo_someone_credentials.yml +43 -0
  122. data/spec/fixtures/vcr_cassettes/origo_westerdal_credentials.yml +56 -0
  123. data/spec/fixtures/vcr_cassettes/site_stat.yml +172 -0
  124. data/spec/fixtures/vcr_cassettes/site_stat_custom_category.yml +172 -0
  125. data/spec/geo_spec.rb +10 -0
  126. data/spec/issues_etl_spec.rb +41 -0
  127. data/spec/mockcached.rb +36 -0
  128. data/spec/network_spec.rb +43 -0
  129. data/spec/null_cache_spec.rb +29 -0
  130. data/spec/origo_spec.rb +24 -0
  131. data/spec/saxo/iptc_spec.rb +105 -0
  132. data/spec/saxo/metadata_spec.rb +79 -0
  133. data/spec/saxo/remote_spec.rb +71 -0
  134. data/spec/saxo/saxo_spec.rb +82 -0
  135. data/spec/spec_helper.rb +22 -0
  136. data/spec/vcr_helper.rb +6 -0
  137. data/test/fixtures/config-example.yml +6 -0
  138. data/test/saxo/acceptance_spec.rb +109 -0
  139. metadata +427 -0
@@ -0,0 +1,47 @@
1
+ module APDM
2
+ class AdTech
3
+ class Data
4
+ attr_reader :data
5
+ def initialize(path_to_csv_file)
6
+ @data = read(path_to_csv_file)
7
+ end
8
+
9
+ def for(channel)
10
+ data[channel.ad_tech_id]
11
+ end
12
+
13
+ private
14
+ def read(path_to_csv_file)
15
+ lines = CSV.read(path_to_csv_file, :col_sep => ";", :encoding => 'UTF-8')
16
+ lines.shift
17
+ configs = {}
18
+
19
+ lines.each do |ad_tech_id, channel_name, _, _, _, _, placement_id, placement_name, dimensions, key, _, _, _, _, _, _, _, _, dimensions_id, _, _, _, _, _|
20
+
21
+ key = key.downcase.gsub(/\s+/, '_').to_sym
22
+ ad_tech_id = ad_tech_id.to_i
23
+ dimensions =~ /^(\d+)\ x\ (\d+)$/
24
+ width = $1.to_i
25
+ height = $2.to_i
26
+
27
+ data = {
28
+ :ad_tech_id => ad_tech_id,
29
+ :channel_name => channel_name,
30
+ :placement_id => placement_id.to_i,
31
+ :placement_name => placement_name,
32
+ :height => height,
33
+ :width => width,
34
+ :key => key,
35
+ :dimensions_id => dimensions_id
36
+ }
37
+
38
+ configs[ad_tech_id] ||= {}
39
+ configs[ad_tech_id][key] = data
40
+ end
41
+ configs
42
+ end
43
+
44
+
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,87 @@
1
+ require 'queryparams'
2
+
3
+ module APDM
4
+ class Channel
5
+
6
+ class << self
7
+
8
+ def all
9
+ APDM::CHANNELS
10
+ end
11
+
12
+ def find(identifier)
13
+ find_by_label(identifier) || find_by_url(identifier)
14
+ end
15
+
16
+ def find_by_label(label)
17
+ APDM::CHANNELS.find {|channel| channel.label == label}
18
+ end
19
+
20
+ def find_by_url(url)
21
+ APDM::CHANNELS.find_by_url(url)
22
+ end
23
+
24
+ # DEPRECATED
25
+ def find_by_domain(url)
26
+ find_by_url(url)
27
+ end
28
+
29
+ def find_by_ad_tech_id(id)
30
+ APDM::CHANNELS.find_by_ad_tech_id(id)
31
+ end
32
+ end
33
+
34
+ attr_accessor :label, :domain, :tld, :name, :payment_account, :abbreviation, :ad_tech_id, :locale, :origo_sandbox_id
35
+ def initialize(options = {})
36
+ self.label = options[:label]
37
+ self.tld = options[:tld] || 'no'
38
+ self.abbreviation = options[:abbreviation].downcase if options[:abbreviation]
39
+ self.name = options[:name]
40
+ self.payment_account = options[:payment_account]
41
+ self.ad_tech_id = options[:ad_tech_id]
42
+ self.locale = options[:locale]
43
+ self.origo_sandbox_id = options[:origo_sandbox_id]
44
+ end
45
+
46
+ def saxo_dir
47
+ abbreviation.upcase
48
+ end
49
+
50
+ def homepage
51
+ "http://#{hostname}"
52
+ end
53
+
54
+ def hostname
55
+ "www.#{domain}"
56
+ end
57
+
58
+ def domain
59
+ "#{label}.#{tld}"
60
+ end
61
+
62
+ def feed_url(options)
63
+ options = {:extendedFeed => true}.merge(options)
64
+ "#{homepage}/service/rss?#{QueryParams.encode(options)}"
65
+ end
66
+
67
+ def logo_src
68
+ "#{APDM::DesignElements::HOST}#{hostname}/gfx/normal_logo.gif"
69
+ end
70
+
71
+ def low_res_logo_src
72
+ "#{APDM::DesignElements::HOST}#{hostname}/gfx/lav_logo.gif"
73
+ end
74
+
75
+ def saxo_config
76
+ APDM.saxo_server.merge :remote_dir => saxo_dir
77
+ end
78
+
79
+ def payment_config
80
+ APDM.merchant_account.merge :account => payment_account
81
+ end
82
+
83
+ def ==(other)
84
+ label == other.label
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,569 @@
1
+ # encoding: utf-8
2
+ require_relative 'network'
3
+ require_relative 'channel'
4
+
5
+ module APDM
6
+ CHANNELS = Network.new
7
+
8
+ CHANNELS << Channel.new({
9
+ :name => "Avisnavn",
10
+ :label => "avisnavn",
11
+ :origo_sandbox_id => 1372580,
12
+ :abbreviation => 'avis',
13
+ :ad_tech_id => 1112306,
14
+ :locale => :"nb-no",
15
+ :payment_account => nil
16
+ })
17
+
18
+ CHANNELS << Channel.new({
19
+ :name => "PolkaPosten",
20
+ :label => "polkaposten",
21
+ :origo_sandbox_id => 1112275,
22
+ :abbreviation => 'polka',
23
+ :ad_tech_id => 555,
24
+ :locale => :"nb-no",
25
+ :payment_account => nil
26
+ })
27
+
28
+ CHANNELS << Channel.new({
29
+ :name => "Bladet Vesterålen",
30
+ :label => "blv",
31
+ :origo_sandbox_id => 46514,
32
+ :abbreviation => nil,
33
+ :ad_tech_id => 1112304,
34
+ :locale => :"nb-no",
35
+ :payment_account => "10081"
36
+ })
37
+
38
+ CHANNELS << Channel.new({
39
+ :name => "Tidens Krav",
40
+ :label => "tk",
41
+ :origo_sandbox_id => 8277,
42
+ :abbreviation => 'tikr',
43
+ :ad_tech_id => 1112263,
44
+ :locale => :"nb-no",
45
+ :payment_account => "10004"
46
+ })
47
+
48
+ CHANNELS << Channel.new({
49
+ :name => "Opdalingen",
50
+ :label => "opdalingen",
51
+ :origo_sandbox_id => 46212,
52
+ :abbreviation => 'opda',
53
+ :ad_tech_id => 1112300,
54
+ :locale => :"nb-no",
55
+ :payment_account => "10046"
56
+ })
57
+
58
+ CHANNELS << Channel.new({
59
+ :name => "Avisa Nordland",
60
+ :label => "an",
61
+ :origo_sandbox_id => 5862,
62
+ :abbreviation => 'avno',
63
+ :ad_tech_id => 1112326,
64
+ :locale => :"nb-no",
65
+ :payment_account => "10035"
66
+ })
67
+
68
+ CHANNELS << Channel.new({
69
+ :name => "Aura Avis",
70
+ :label => "auraavis",
71
+ :origo_sandbox_id => 46215,
72
+ :abbreviation => nil,
73
+ :ad_tech_id => 1112285,
74
+ :locale => :"nb-no",
75
+ :payment_account => "10034"
76
+ })
77
+
78
+ CHANNELS << Channel.new({
79
+ :name => "Porsgrunns Dagblad",
80
+ :label => "pd",
81
+ :origo_sandbox_id => 46187,
82
+ :abbreviation => nil,
83
+ :ad_tech_id => 1112335,
84
+ :locale => :"nb-no",
85
+ :payment_account => "10060"
86
+ })
87
+
88
+ CHANNELS << Channel.new({
89
+ :name => "Enebakk Avis",
90
+ :label => "enebakkavis",
91
+ :origo_sandbox_id => 46128,
92
+ :abbreviation => nil,
93
+ :ad_tech_id => 1112305,
94
+ :locale => :"nb-no",
95
+ :payment_account => "1430589"
96
+ })
97
+
98
+ CHANNELS << Channel.new({
99
+ :name => "Jarlsberg Avis",
100
+ :label => "jarlsbergavis",
101
+ :origo_sandbox_id => 25343,
102
+ :abbreviation => nil,
103
+ :ad_tech_id => 1112308,
104
+ :locale => :"nb-no",
105
+ :payment_account => "10065"
106
+ })
107
+
108
+ CHANNELS << Channel.new({
109
+ :name => "Hadeland",
110
+ :label => "hadeland",
111
+ :tld => "net",
112
+ :origo_sandbox_id => 40314,
113
+ :abbreviation => 'hade',
114
+ :ad_tech_id => 1112342,
115
+ :locale => :"nb-no",
116
+ :payment_account => "10030"
117
+ })
118
+
119
+ CHANNELS << Channel.new({
120
+ :name => "Avisa Hordaland",
121
+ :label => "avisa-hordaland",
122
+ :origo_sandbox_id => 68388,
123
+ :abbreviation => nil,
124
+ :ad_tech_id => 1112287,
125
+ :locale => :"nb-no",
126
+ :payment_account => "1976809"
127
+ })
128
+
129
+ CHANNELS << Channel.new({
130
+ :name => "Indre Akershus Blad",
131
+ :label => "indre",
132
+ :origo_sandbox_id => 46222,
133
+ :abbreviation => nil,
134
+ :ad_tech_id => 1112320,
135
+ :locale => :"nb-no",
136
+ :payment_account => "10022"
137
+ })
138
+
139
+ CHANNELS << Channel.new({
140
+ :name => "Lofot-Tidende",
141
+ :label => "lofot-tidende",
142
+ :origo_sandbox_id => 46442,
143
+ :abbreviation => nil,
144
+ :ad_tech_id => 1112322,
145
+ :locale => :"nb-no",
146
+ :payment_account => "1438959"
147
+ })
148
+
149
+ CHANNELS << Channel.new({
150
+ :name => "Nordlys",
151
+ :label => "nordlys",
152
+ :origo_sandbox_id => 4214,
153
+ :abbreviation => 'nord',
154
+ :ad_tech_id => 1112290,
155
+ :locale => :"nb-no",
156
+ :payment_account => "10040"
157
+ })
158
+
159
+ CHANNELS << Channel.new({
160
+ :name => "Demokraten",
161
+ :label => "demokraten",
162
+ :origo_sandbox_id => 14786,
163
+ :abbreviation => "demo",
164
+ :ad_tech_id => 1112278,
165
+ :locale => :"nb-no",
166
+ :payment_account => "10010"
167
+ })
168
+
169
+ CHANNELS << Channel.new({
170
+ :name => "Ringerikes Blad",
171
+ :label => "ringblad",
172
+ :origo_sandbox_id => 18724,
173
+ :abbreviation => 'ring',
174
+ :ad_tech_id => 1112289,
175
+ :locale => :"nb-no",
176
+ :payment_account => "10019"
177
+ })
178
+
179
+ CHANNELS << Channel.new({
180
+ :name => "Bygdeposten",
181
+ :label => "bygdeposten",
182
+ :origo_sandbox_id => 46139,
183
+ :abbreviation => 'bygd',
184
+ :ad_tech_id => 1112296,
185
+ :locale => :"nb-no",
186
+ :payment_account => "10021"
187
+ })
188
+
189
+ CHANNELS << Channel.new({
190
+ :name => "Tvedestrandsposten",
191
+ :label => "tvedestrandsposten",
192
+ :origo_sandbox_id => 25337,
193
+ :abbreviation => nil,
194
+ :ad_tech_id => 1112276,
195
+ :locale => :"nb-no",
196
+ :payment_account => "10068"
197
+ })
198
+
199
+ CHANNELS << Channel.new({
200
+ :name => "Fremover",
201
+ :label => "fremover",
202
+ :origo_sandbox_id => 13938,
203
+ :abbreviation => 'frem',
204
+ :ad_tech_id => 1112284,
205
+ :locale => :"nb-no",
206
+ :payment_account => "10050"
207
+ })
208
+
209
+ CHANNELS << Channel.new({
210
+ :name => "Hardanger Folkeblad",
211
+ :label => "hardanger-folkeblad",
212
+ :origo_sandbox_id => 22478,
213
+ :abbreviation => 'hafo',
214
+ :ad_tech_id => 1112274,
215
+ :locale => :"nn-no",
216
+ :payment_account => "10070"
217
+ })
218
+
219
+ CHANNELS << Channel.new({
220
+ :name => "Stjørdalens Blad",
221
+ :label => "bladet",
222
+ :origo_sandbox_id => 21177,
223
+ :abbreviation => 'stbl',
224
+ :ad_tech_id => 1112302,
225
+ :locale => :"nb-no",
226
+ :payment_account => "10042"
227
+ })
228
+
229
+ CHANNELS << Channel.new({
230
+ :name => "Ås Avis",
231
+ :label => "aasavis",
232
+ :origo_sandbox_id => 46137,
233
+ :abbreviation => nil,
234
+ :ad_tech_id => 1112297,
235
+ :locale => :"nb-no",
236
+ :payment_account => "1430591"
237
+ })
238
+
239
+ CHANNELS << Channel.new({
240
+ :name => "Firdaposten",
241
+ :label => "firdaposten",
242
+ :origo_sandbox_id => 13493,
243
+ :abbreviation => 'fipo',
244
+ :ad_tech_id => 1112345,
245
+ :locale => :"nn-no",
246
+ :payment_account => "10038"
247
+ })
248
+
249
+ CHANNELS << Channel.new({
250
+ :name => "Firda Papir",
251
+ :label => "firda",
252
+ :origo_sandbox_id => 4152,
253
+ :abbreviation => 'fird',
254
+ :ad_tech_id => 1112328,
255
+ :locale => :"nn-no",
256
+ :payment_account => "10037"
257
+ })
258
+
259
+ CHANNELS << Channel.new({
260
+ :name => "Malvik Bladet",
261
+ :label => "mb",
262
+ :origo_sandbox_id => 46220,
263
+ :abbreviation => 'mabl',
264
+ :ad_tech_id => 1112267,
265
+ :locale => :"nb-no",
266
+ :payment_account => "10053"
267
+ })
268
+
269
+ CHANNELS << Channel.new({
270
+ :name => "Siste.no",
271
+ :label => "siste",
272
+ :origo_sandbox_id => 33495,
273
+ :abbreviation => nil,
274
+ :ad_tech_id => 1112294,
275
+ :locale => :"nb-no",
276
+ :payment_account => nil
277
+ })
278
+
279
+ CHANNELS << Channel.new({
280
+ :name => "Arbeidets Rett",
281
+ :label => "retten",
282
+ :origo_sandbox_id => 46218,
283
+ :abbreviation => 'arbe',
284
+ :ad_tech_id => 1112295,
285
+ :locale => :"nb-no",
286
+ :payment_account => "10041"
287
+ })
288
+
289
+ CHANNELS << Channel.new({
290
+ :name => "Aust Agder Blad",
291
+ :label => "austagderblad",
292
+ :origo_sandbox_id => 25339,
293
+ :abbreviation => nil,
294
+ :ad_tech_id => 1112344,
295
+ :locale => :"nb-no",
296
+ :payment_account => "10067"
297
+ })
298
+
299
+ CHANNELS << Channel.new({
300
+ :name => "Eidsvoll Ullensaker Blad",
301
+ :label => "eub",
302
+ :origo_sandbox_id => 46524,
303
+ :abbreviation => "eubl",
304
+ :ad_tech_id => 1112323,
305
+ :locale => :"nb-no",
306
+ :payment_account => nil
307
+ })
308
+
309
+ CHANNELS << Channel.new({
310
+ :name => "Fri Fagbevegelse",
311
+ :label => "frifagbevegelse",
312
+ :origo_sandbox_id => 30075,
313
+ :abbreviation => nil,
314
+ :ad_tech_id => nil,
315
+ :locale => :"nb-no",
316
+ :payment_account => nil
317
+ })
318
+
319
+ CHANNELS << Channel.new({
320
+ :name => "Lokalavisen Øyene",
321
+ :label => "oyene",
322
+ :origo_sandbox_id => 25341,
323
+ :abbreviation => nil,
324
+ :ad_tech_id => 1112315,
325
+ :locale => :"nb-no",
326
+ :payment_account => "10066"
327
+ })
328
+
329
+ CHANNELS << Channel.new({
330
+ :name => "Bergensavisen",
331
+ :label => "ba",
332
+ :origo_sandbox_id => 5860,
333
+ :abbreviation => "beav",
334
+ :ad_tech_id => 1112280,
335
+ :locale => :"nb-no",
336
+ :payment_account => "10031"
337
+ })
338
+
339
+ CHANNELS << Channel.new({
340
+ :name => "Smaalenenes Avis",
341
+ :label => "smaalenene",
342
+ :origo_sandbox_id => 16118,
343
+ :abbreviation => 'smaa',
344
+ :ad_tech_id => 1112309,
345
+ :locale => :"nb-no",
346
+ :payment_account => "10012"
347
+ })
348
+
349
+ CHANNELS << Channel.new({
350
+ :name => "Rogalands Avis",
351
+ :label => "rogalandsavis",
352
+ :origo_sandbox_id => 11122,
353
+ :abbreviation => 'roga',
354
+ :ad_tech_id => 1112303,
355
+ :locale => :"nb-no",
356
+ :payment_account => "10055"
357
+ })
358
+
359
+ CHANNELS << Channel.new({
360
+ :name => "Rakkestad Avis",
361
+ :label => "r-a",
362
+ :origo_sandbox_id => 21442,
363
+ :abbreviation => nil,
364
+ :ad_tech_id => 1112268,
365
+ :locale => :"nb-no",
366
+ :payment_account => "10015"
367
+ })
368
+
369
+ CHANNELS << Channel.new({
370
+ :name => "Østlands-Posten",
371
+ :label => "op",
372
+ :origo_sandbox_id => 7,
373
+ :abbreviation => 'ospo',
374
+ :ad_tech_id => 1112330,
375
+ :locale => :"nb-no",
376
+ :payment_account => "10064"
377
+ })
378
+
379
+ CHANNELS << Channel.new({
380
+ :name => "Namdalsavisa",
381
+ :label => "namdalsavisa",
382
+ :origo_sandbox_id => 46225,
383
+ :abbreviation => 'namd',
384
+ :ad_tech_id => 1112307,
385
+ :locale => :"nb-no",
386
+ :payment_account => "10036"
387
+ })
388
+
389
+ CHANNELS << Channel.new({
390
+ :name => "Telemarksavisa",
391
+ :label => "ta",
392
+ :origo_sandbox_id => 15260,
393
+ :abbreviation => 'tele',
394
+ :ad_tech_id => 1112348,
395
+ :locale => :"nb-no",
396
+ :payment_account => "10057"
397
+ })
398
+
399
+ CHANNELS << Channel.new({
400
+ :name => "Sarpsborg Arbeiderblad",
401
+ :label => "sa",
402
+ :origo_sandbox_id => 14784,
403
+ :abbreviation => 'sarp',
404
+ :ad_tech_id => 1112291,
405
+ :locale => :"nb-no",
406
+ :payment_account => "10008"
407
+ })
408
+
409
+ CHANNELS << Channel.new({
410
+ :name => "Glåmdalen",
411
+ :label => "glomdalen",
412
+ :origo_sandbox_id => 9385,
413
+ :abbreviation => 'glom',
414
+ :ad_tech_id => 1112339,
415
+ :locale => :"nb-no",
416
+ :payment_account => "10027"
417
+ })
418
+
419
+ CHANNELS << Channel.new({
420
+ :name => "Sogn Avis",
421
+ :label => "sognavis",
422
+ :origo_sandbox_id => 46106,
423
+ :abbreviation => nil,
424
+ :ad_tech_id => 1112310,
425
+ :locale => :"nn-no",
426
+ :payment_account => "10039"
427
+ })
428
+
429
+ CHANNELS << Channel.new({
430
+ :name => "Vestby Avis",
431
+ :label => "vestbyavis",
432
+ :origo_sandbox_id => 31641,
433
+ :abbreviation => nil,
434
+ :ad_tech_id => 1112293,
435
+ :locale => :"nb-no",
436
+ :payment_account => "1430595"
437
+ })
438
+
439
+ CHANNELS << Channel.new({
440
+ :name => "Rana Blad",
441
+ :label => "ranablad",
442
+ :origo_sandbox_id => 16244,
443
+ :abbreviation => 'rana',
444
+ :ad_tech_id => 1112264,
445
+ :locale => :"nb-no",
446
+ :payment_account => "10048"
447
+ })
448
+
449
+ CHANNELS << Channel.new({
450
+ :name => "Romerikes Blad",
451
+ :label => "rb",
452
+ :origo_sandbox_id => 4242,
453
+ :abbreviation => 'rome',
454
+ :ad_tech_id => 1112313,
455
+ :locale => :"nb-no",
456
+ :payment_account => "10001"
457
+ })
458
+
459
+ CHANNELS << Channel.new({
460
+ :name => "Nordhordland",
461
+ :label => "nordhordland",
462
+ :origo_sandbox_id => 46205,
463
+ :abbreviation => 'noho',
464
+ :ad_tech_id => 1112282,
465
+ :locale => :"nn-no",
466
+ :payment_account => "10072"
467
+ })
468
+
469
+ CHANNELS << Channel.new({
470
+ :name => "Gudbrandsdølen Dagningen",
471
+ :label => "gd",
472
+ :origo_sandbox_id => 18726,
473
+ :abbreviation => 'guda',
474
+ :ad_tech_id => 1112341,
475
+ :locale => :"nn-no",
476
+ :payment_account => "10026"
477
+ })
478
+
479
+ CHANNELS << Channel.new({
480
+ :name => "Helgeland Arbeiderblad",
481
+ :label => "helgeland-arbeiderblad",
482
+ :origo_sandbox_id => 16784,
483
+ :abbreviation => 'helg',
484
+ :ad_tech_id => 1112331,
485
+ :locale => :"nb-no",
486
+ :payment_account => "10049"
487
+ })
488
+
489
+ CHANNELS << Channel.new({
490
+ :name => "Lofotposten",
491
+ :label => "lofotposten",
492
+ :origo_sandbox_id => 15071,
493
+ :abbreviation => 'lopo',
494
+ :ad_tech_id => 1112346,
495
+ :locale => :"nb-no",
496
+ :payment_account => "10052"
497
+ })
498
+
499
+ CHANNELS << Channel.new({
500
+ :name => "Dagbladet Finnmarken",
501
+ :label => "finnmarken",
502
+ :origo_sandbox_id => 31427,
503
+ :abbreviation => "finn",
504
+ :ad_tech_id => 1112334,
505
+ :locale => :"nb-no",
506
+ :payment_account => "10051"
507
+ })
508
+
509
+ CHANNELS << Channel.new({
510
+ :name => "Halden Arbeiderblad",
511
+ :label => "hahalden",
512
+ :origo_sandbox_id => 14790,
513
+ :abbreviation => 'hald',
514
+ :ad_tech_id => 1112332,
515
+ :locale => :"nb-no",
516
+ :payment_account => "10013"
517
+ })
518
+
519
+ CHANNELS << Channel.new({
520
+ :name => "Finnmark Dagblad",
521
+ :label => "fd",
522
+ :origo_sandbox_id => 21669,
523
+ :abbreviation => "fida",
524
+ :ad_tech_id => 1112265,
525
+ :locale => :"nb-no",
526
+ :payment_account => "10047"
527
+ })
528
+
529
+ CHANNELS << Channel.new({
530
+ :name => "Kvinnheringen",
531
+ :label => "kvinnheringen",
532
+ :origo_sandbox_id => 23334,
533
+ :abbreviation => 'kvin',
534
+ :ad_tech_id => 1112311,
535
+ :locale => :"nn-no",
536
+ :payment_account => "10069"
537
+ })
538
+
539
+ CHANNELS << Channel.new({
540
+ :name => "Akershus Amtstidende",
541
+ :label => "amta",
542
+ :origo_sandbox_id => 21439,
543
+ :abbreviation => 'amta',
544
+ :ad_tech_id => 1112314,
545
+ :locale => :"nb-no",
546
+ :payment_account => "10014"
547
+ })
548
+
549
+ CHANNELS << Channel.new({
550
+ :name => "Oppland Arbeiderblad",
551
+ :label => "oa",
552
+ :origo_sandbox_id => 16557,
553
+ :abbreviation => 'oppl',
554
+ :ad_tech_id => 1112271,
555
+ :locale => :"nb-no",
556
+ :payment_account => "10025"
557
+ })
558
+
559
+ CHANNELS << Channel.new({
560
+ :name => "Avisa Valdres",
561
+ :label => "avisa-valdres",
562
+ :origo_sandbox_id => 223255,
563
+ :abbreviation => 'avva',
564
+ :ad_tech_id => 1113080,
565
+ :locale => :"nb-no",
566
+ :payment_account => "2594924"
567
+ })
568
+
569
+ end