apiotics 0.2.20 → 0.2.21

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: 38f50f5b590201d5810e6421de980ff6ba4deaab
4
- data.tar.gz: 72421edc96d5b78fa93135b810f47546e96c881a
3
+ metadata.gz: a6739f4800b9a3cc9495c5dabbd0d7a7dee83aee
4
+ data.tar.gz: 83883b8338894312e846f2e0ead3498c4db42be6
5
5
  SHA512:
6
- metadata.gz: 50d993904889dfa805002f8d0a470417d432dcd697480178f559bb4719d26d0bdb6d48ce1289b8665baef49da2d8caae4107d05a737a97de0335b5886bb89e26
7
- data.tar.gz: b1dda11fcbc8b14e5da9d9c5e4190aa3fb444db57506bf7fe53b5fa6fec7efa3f8cfd77c496ce4eed8a389523997b5c2016b9441341ceef6d6f5a69b8aa777de
6
+ metadata.gz: d4a3af056017df304504f1fdabbad96a5a64b35db88a4fd2a5e986c5b80e3db51e659152ca600824db652d17e1fd82346a1a9a7a16e658fb7412b7e84d395dec
7
+ data.tar.gz: bf14e1e6de3402d513f5ac5f000809440ebcda4ff3fcb7b8a6aa0899c3dd9fa7e5a1da1624eca60deed8ceeea341bd60f114f0902d5abb67a41767803918bb6b
@@ -455,35 +455,49 @@ module Apiotics
455
455
  download_directory = Apiotics::Hardware.check_sd_card_scripts
456
456
  if download_directory != nil
457
457
  image_path = Apiotics::Hardware.get_sd_image(download_directory, worker_name, config)
458
- wifi_settings = Apiotics::Hardware.fetch_wifi
459
- if wifi_settings != nil
458
+ image_size = Apiotics::Portal.get_image_size(worker_name)
459
+ if File.size(image_path) == image_size.to_i
460
+ wifi_settings = Apiotics::Hardware.fetch_wifi
461
+ if wifi_settings == nil
462
+ wifi_settings = {
463
+ "ssid" => "NONE",
464
+ "password" => "NONE",
465
+ "security_mode" => "NONE"
466
+ }
467
+ end
460
468
  config_file_path = Apiotics::Hardware.sd_config_file(worker_name, name, download_directory)
461
469
  cellular = ApioticsSetting.find_by(key: "cellular")
462
470
  if cellular == nil
463
471
  cellular = 0
464
472
  else
465
473
  cellular = cellular.value
466
- end
474
+ end
467
475
  Apiotics::Hardware.brand_and_burn_sd_image(download_directory, image_path, wifi_settings, cellular, config_file_path)
468
476
  else
469
- puts "No WiFi settings found. Please run rake firmware:wifi[ssid,password,security_mode] to set your default wifi settings. If you do not intend to use WiFi, set all arguments to NONE."
477
+ puts "Error in download, file downloaded does not match file size on server. Please try running this command again."
478
+ File.delete(image_path)
470
479
  end
471
480
  else
472
481
  puts "SD card installation scripts not available. Exiting."
473
482
  end
483
+
474
484
  end
475
485
 
476
486
  def self.install(worker_name, name)
477
- config = Apiotics::Portal.openocd_worker_config(worker_name)
478
- config = JSON.parse(config)
479
- if config["installer"] == "Open OCD 0.10"
480
- Hardware.openocd(worker_name, name, config)
481
- elsif config["installer"] == "Uniflash 4.3.0"
482
- Hardware.uniflash(worker_name, name, config)
483
- elsif config["installer"] == "SD Card"
484
- Hardware.sd_card(worker_name, name, config)
487
+ if ActiveRecord::Base.connection.table_exists? 'apiotics_settings'
488
+ config = Apiotics::Portal.openocd_worker_config(worker_name)
489
+ config = JSON.parse(config)
490
+ if config["installer"] == "Open OCD 0.10"
491
+ Hardware.openocd(worker_name, name, config)
492
+ elsif config["installer"] == "Uniflash 4.3.0"
493
+ Hardware.uniflash(worker_name, name, config)
494
+ elsif config["installer"] == "SD Card"
495
+ Hardware.sd_card(worker_name, name, config)
496
+ else
497
+ puts "Unknown installer for #{worker_name}. Please check the installer settings for the #{worker_name} device on the Apiotics portal.\n"
498
+ end
485
499
  else
486
- puts "Unknown installer for #{worker_name}. Please check the installer settings for the #{worker_name} device on the Apiotics portal.\n"
500
+ puts "Please run rails g apiotics:install before running this command."
487
501
  end
488
502
  end
489
503
 
@@ -296,6 +296,16 @@ module Apiotics
296
296
  print "[#{fin}]\n"
297
297
  end
298
298
 
299
+ def self.get_image_size(worker_name)
300
+ response = HTTParty.post("#{Apiotics.configuration.portal}api/image_size", :query => {:public_key => Apiotics.configuration.public_key, :private_key => Apiotics.configuration.private_key, :worker => worker_name}).body
301
+ response = JSON.parse(response)
302
+ if response["size"] != nil
303
+ response["size"]
304
+ else
305
+ nil
306
+ end
307
+ end
308
+
299
309
  def self.register_client
300
310
  response = HTTParty.post("#{Apiotics.configuration.portal}api/register_client", :query => {:public_key => Apiotics.configuration.public_key, :private_key => Apiotics.configuration.private_key}).body
301
311
  hash = JSON.parse(response)
@@ -1,3 +1,3 @@
1
1
  module Apiotics
2
- VERSION = '0.2.20'
2
+ VERSION = '0.2.21'
3
3
  end
@@ -11,8 +11,11 @@ module Apiotics
11
11
  template "apiotics_parents.rb.erb", "config/initializers/apiotics_parents.rb"
12
12
  else
13
13
  template "apiotics.rb.erb", "config/initializers/apiotics.rb"
14
- template "apiotics_settings.rb.erb", "db/migrate/#{date_string}_create_apiotics_settings.rb"
15
14
  template "setting.rb.erb", "app/models/apiotics_setting.rb"
15
+ unless ActiveRecord::Base.connection.table_exists? 'apiotics_settings'
16
+ template "apiotics_settings.rb.erb", "db/migrate/#{date_string}_create_apiotics_settings.rb"
17
+ rake 'db:migrate'
18
+ end
16
19
  #template "apiotics_module.rb.erb", "app/models/apiotics.rb"
17
20
  end
18
21
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: apiotics
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.20
4
+ version: 0.2.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - MicroArx Corporation
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-06-13 00:00:00.000000000 Z
11
+ date: 2018-06-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -268,7 +268,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
268
268
  version: '0'
269
269
  requirements: []
270
270
  rubyforge_project:
271
- rubygems_version: 2.2.2
271
+ rubygems_version: 2.6.10
272
272
  signing_key:
273
273
  specification_version: 4
274
274
  summary: IoT For Everybody.