navilocal 1.1.6 → 1.1.7

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
  SHA256:
3
- metadata.gz: 22f7da67523cb1fc0ed2fecde96bc9169b98d1e4f332aa401f626da6744d780a
4
- data.tar.gz: db9067137ac85be81953991cb17c59d652c55cefafa6a6905e0914568142b3be
3
+ metadata.gz: 8cd6662bfee0b47c130fabceb2d28c72c0c027d1fde77db435d719bf063556f9
4
+ data.tar.gz: 81108516790458543b88124660c1b9a4a4d5bb2ba819064382143f1f280df7d8
5
5
  SHA512:
6
- metadata.gz: 11d0c8273e70141bfb322cdbe074293b60fc4c937a99dba978606a23fdbf86b20d17d1cb8b839bedccd034fee2e0e3e7eb54ba4aa2cd7811d91c54f498eaaa95
7
- data.tar.gz: 5378cc5abcba8d39261cb5f4cb64ef31fae30262662b44a0d7f9ebba6a862a568ae3b10032da61ac5e36f8a594e752bacfce7ca6719527431f0ac1787e413b29
6
+ metadata.gz: a910d7c8e566490d9663019cf1a13b1660a2bcc0be9137ab20c690c6283a1ec9f3282587a03b41ba621a9fbd3b2be971ad3d4cee948ccb36d8767ff396154e36
7
+ data.tar.gz: f241323fc09720c72e8b204ed702c0f4033bc4d71f961f271aa2ca70c89b811f5077a04e4003e911f36e356506d28954289f20c2d9af83b0c8dadcdf2b424a6e
@@ -1,5 +1,5 @@
1
1
  require_relative '../../lib/common_functions'
2
- require 'navi_client'
2
+ require 'navi_email_sync'
3
3
  require 'httparty'
4
4
  require 'base64'
5
5
 
@@ -109,7 +109,7 @@ module NaviClientInstaller
109
109
  @spinner_indicator.active = true
110
110
  @refresh_btn.sensitive = true
111
111
  @stop_btn.sensitive = true
112
- start_fetchings
112
+ start_fetching
113
113
  end
114
114
 
115
115
  end
@@ -130,150 +130,8 @@ module NaviClientInstaller
130
130
 
131
131
  end
132
132
 
133
-
134
133
  def start_fetching
135
134
 
136
- @client = NaviClient::Local.new ""
137
- @client.set_token "Token: #{@token}##{@settings.username}"
138
- @logger = CustomLogger.new @log_display.buffer, @iter_log, @client.logger
139
- @client.override_logger @logger
140
-
141
- #logging to loggly
142
- logToLoggly = true
143
- if logToLoggly
144
- @client.setupLoggly("navi-client")
145
- end
146
-
147
- @logger.debug "Running the process.."
148
- @logger.debug "Connecting to imap server with your local config."
149
-
150
- @notifier.label = "Configuring the system.."
151
- begin
152
-
153
- @imap = @client.imap_connection(@settings.provider, @settings.username, @settings.password, false)
154
-
155
- if @client.errors.nil?
156
-
157
- @logger.debug "Complete. OK..."
158
-
159
- filenames = []
160
- dateStarted = DateTime.now
161
- @logger.debug "Syncing started at #{dateStarted}"
162
-
163
- sendEmailCompletedEvent = true
164
- folder = "Inbox"
165
-
166
- #this block of code is repeated. Need to change in navi_client gem for that
167
- @imap.examine folder
168
- total = @imap.uid_search(['ALL']).size
169
- downloaded = @client.getMessageUUIds("#{@settings.download_path}#{@settings.username}/meta/").size
170
- downloaded = downloaded - 2 if downloaded > 1
171
- downloaded = [downloaded, total].min
172
-
173
- @email_indicator.label = "#{downloaded}/#{total}"
174
- @client.logToLoggly({event:"EMAIL_SYNC_STARTED", env: ENV['env'], storage: "local", email: @settings.username, total_email: total, already_downloaded: downloaded})
175
-
176
- # start_naviai
177
- @notifier.label = "Starting up.."
178
- @logger.debug "Starting the system"
179
- start_naviai
180
- @notifier.label = "Checking for previous failures.."
181
- @logger.debug "Parsing previously fetched emails"
182
- @client.parse_prev_failed_emails
183
- @logger.debug "Complete. OK..."
184
- # stop_naviai
185
- @notifier.label = "Fetching emails..."
186
- stamp = (Time.now.to_f * 1000).to_s
187
- @client.retrieve_emails(@imap, ['ALL'], folder) do |mail, index, isLast, id|
188
-
189
- @logger.debug "processing email##{index + 1} with id #{mail.__id__.to_s} and uuid #{id}"
190
-
191
- filenames << @client.process_email(mail, id, stamp)
192
- downloaded+=1
193
- downloaded = [downloaded, total].min
194
- @email_indicator.label = "#{downloaded}/#{total}"
195
-
196
- @logger.debug "processing Complete. OK..."
197
-
198
- if filenames.size == 50 || isLast
199
- sendEmailCompletedEvent = !sendEmailCompletedEvent
200
-
201
- @logger.debug "Sending Bulk Request for #{isLast ? filenames.size : 50} emails to Navi AI."
202
- @notifier.label = "Parsing the emails..."
203
-
204
- start_naviai
205
- @client.send_request(filenames, stamp, is_last: isLast)
206
- # stop_naviai
207
-
208
- @logger.debug "Complete Ok... continue email sync"
209
- @notifier.label = "Fetching emails..."
210
- # verify
211
- filenames = []
212
- if sendEmailCompletedEvent && !isLast
213
- @client.logToLoggly({event:"EMAIL_SYNC_IN_PROGRESS", env: ENV['env'], storage: "local", email: @settings.username, emailCount: index + 1})
214
- # exit
215
- elsif isLast
216
-
217
- dateEnded = DateTime.now
218
- totalTimeInSecs = (dateEnded - dateStarted) * 24 * 60 * 60
219
-
220
- @client.logToLoggly({event:"EMAIL_SYNC_FINISHED", env: ENV['env'], storage: "local", email: @settings.username, emailCount: index + 1, time_elapsed: totalTimeInSecs.to_f.round(2), total_email: total, already_downloaded: downloaded})
221
- @logger.debug "#{index + 1} emails from the #{folder} has been downloaded. OK"
222
- @logger.debug "started: #{dateStarted.to_s} , ended: #{dateEnded.to_s}, Total time: #{totalTimeInSecs.to_f.round(2)} secs"
223
- end
224
-
225
- stamp = (Time.now.to_f * 1000).to_s
226
-
227
- end
228
- end
229
-
230
- @logger.debug "All emails sync and parse completed."
231
-
232
- @notifier.label = "Finalizing..."
233
-
234
- callback = Proc.new do |mail, index, id, complete|
235
- # complete = args.first || false
236
-
237
- if complete
238
- downloaded+=1
239
- @logger.debug "processing Complete. OK..."
240
- else
241
- @notifier.label = "Fetching emails..."
242
- @logger.debug "processing email##{index + 1} with id #{mail.__id__.to_s} and uuid #{id}"
243
- total+=1
244
- end
245
- downloaded = [downloaded, total].min
246
- @email_indicator.label = "#{downloaded}/#{total}"
247
-
248
- end
249
-
250
- naviai_control = Proc.new do |start|
251
- if start
252
- @notifier.label = "Parsing the emails..."
253
- start_naviai
254
- else
255
- # stop_naviai
256
- @logger.debug "Waiting new mails (IDLE loop)..."
257
- @notifier.label = "Waiting for the new emails.."
258
- end
259
- end
260
-
261
- @notifier.label = "Waiting for the new emails.."
262
- @client.idle_loop(['UNSEEN'], folder, @settings.provider, @settings.username, @settings.password, callback, naviai_control)
263
-
264
- else
265
- @logger.debug "Failed to connect with your email. Please recheck the configuration."
266
- end
267
- rescue => e
268
- @logger.debug "#{e.message}"
269
- restart_process false
270
- end
271
-
272
- end
273
-
274
-
275
- def start_fetchings
276
-
277
135
  @logger = CustomLogger.new @log_display.buffer, @iter_log
278
136
  @logger.debug "Running the process.."
279
137
  @logger.debug "Initializing the client."
@@ -281,13 +139,13 @@ module NaviClientInstaller
281
139
  begin
282
140
 
283
141
  if @settings.method == "imap"
284
- @client = NaviClient::ImapApi.new @settings.method
142
+ @client = NaviEmailSync::ImapApi.new @settings.method
285
143
  @logger.set_custom_logger @client.logger
286
144
  @client.override_logger @logger
287
145
  @controller = @client.imap_connection(@settings.provider, @settings.username, @settings.password, false)
288
146
  @controller = nil unless @client.errors.nil?
289
147
  else
290
- @client = NaviClient::GmailApi.new @settings.method
148
+ @client = NaviEmailSync::GmailApi.new @settings.method
291
149
  @logger.set_custom_logger @client.logger
292
150
  @client.override_logger @logger
293
151
  @controller = @client.init(NaviClientInstaller::Settings::GMAIL_CLIENT_PATH, NaviClientInstaller::Settings::GMAIL_TOKEN_PATH, @settings.username)
@@ -316,7 +174,7 @@ module NaviClientInstaller
316
174
 
317
175
  downloaded_mails = @client.downloaded
318
176
  @email_indicator.label = "#{downloaded_mails}/#{@client.total_emails}"
319
- @client.logToLoggly({event:"EMAIL_SYNC_STARTED", env: ENV['env'], storage: "local", email: @settings.username, total_email: total, already_downloaded: downloaded})
177
+ @client.logToLoggly({event:"EMAIL_SYNC_STARTED", env: ENV['env'], storage: "local", email: @settings.username, total_email: @client.total_emails, already_downloaded: @client.downloaded})
320
178
 
321
179
  @notifier.label = "Starting up.."
322
180
  @logger.debug "Starting the system"
@@ -379,15 +237,15 @@ module NaviClientInstaller
379
237
  # complete = args.first || false
380
238
 
381
239
  if complete
382
- downloaded+=1
240
+ downloaded_mails+=1
383
241
  @logger.debug "processing Complete. OK..."
384
242
  else
385
243
  @notifier.label = "Fetching emails..."
386
- @logger.debug "processing email##{index + 1} with id #{mail.__id__.to_s} and uuid #{id}"
387
- total+=1
244
+ @logger.debug "processing email##{index + 1} with id #{id}"
245
+ @client.total_emails+=1
388
246
  end
389
- downloaded = [downloaded, total].min
390
- @email_indicator.label = "#{downloaded}/#{total}"
247
+ downloaded_mails = [downloaded_mails, @client.total_emails].min
248
+ @email_indicator.label = "#{downloaded_mails}/#{@client.total_emails}"
391
249
 
392
250
  end
393
251
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: navilocal
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.6
4
+ version: 1.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Msanjib
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: 0.11.3
41
41
  - !ruby/object:Gem::Dependency
42
- name: navi-email-sync
42
+ name: navi_email_sync
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="