caboose-rets 0.1.115 → 0.1.116

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b65ba3f15f262237c87ce114ea0d6f13cdbc5268c63f230b70e6a88f521644eb
4
- data.tar.gz: 573dd4c5e618eaaccd49c646aa53e72c71d93ede2f65695971e87ce1b2096ca3
3
+ metadata.gz: f294090601dfd6564470df919281b86bf4f8070397256128a3732fb7bb0cd1d2
4
+ data.tar.gz: 9dc49dec8f68574d9cd04249df03c51203b6b30bc7e0266cfb249e058c6d9b5a
5
5
  SHA512:
6
- metadata.gz: e4b2ee460cefcf919dad7ffab94d931fd5eb6042688b7fa0d901cdd4f909b10d81f11203f9b9ff2d6fe4d6ba6c89655590f35a8d42b9d6ef1012cccb007e44df
7
- data.tar.gz: 1eb82beffe2ac6809f010fc716ad16b151cea5256525cab7465fb0e6754ced2e824fe20b1b9cd92c4cb72db4924e53e27d516fe1219485f8bbb944ec55bdb671
6
+ metadata.gz: d99faf2eacf150c0f43b833dfc673e1eecb3c5a98ca3a55541dd123bc183c31c443093c8c31db6eae807ea62ebd7fa42f67702fcda38700f2c44823827bbf6b2
7
+ data.tar.gz: 60dbf8a0fc5787eaa61eec63b1bb946253b1dbca44404233b3e7461fe88f47b74a025ff04924177a6c7ac8b159fca4986f26487af086ebd99453185e50e358a4
@@ -110,16 +110,12 @@ class CabooseRets::Property <ActiveRecord::Base
110
110
  # self.income_rental = data['GrossIncome']
111
111
  self.interior_features = data['InteriorFeatures']
112
112
  self.land_features_extras = data['LotFeatures']
113
- begin
114
- self.latitude = data['X_Location'].split(',')[0].to_f
115
- self.longitude = data['X_Location'].split(',')[1].to_f
116
- rescue
117
- self.latitude = self.latitude
118
- self.longitude = self.longitude
119
- end
120
- self.latitude = nil if self.latitude == 0.0
121
- self.longitude = nil if self.longitude == 0.0
122
- # self.landscaping = data['Landscaping']
113
+ self.latitude = self.latitude.blank? ? nil : self.latitude
114
+ self.longitude = self.longitude.blank? ? nil : self.longitude
115
+ if self.latitude == 0.0 || self.latitude == '0.0' || self.longitude == 0.0 || self.longitude == '0.0' || (self.street_number != data['StreetNumber']) || (self.street_name != data['StreetName']) || (self.city != data['City']) || (self.postal_code != data['PostalCode'])
116
+ self.latitude = nil
117
+ self.longitude = nil
118
+ end
123
119
  self.laundry = data['LaundryFeatures']
124
120
  self.legal_description = data['TaxLegalDescription']
125
121
  self.legal_lot = data['TaxLot']
@@ -210,7 +210,7 @@ class CabooseRets::RetsImporter # < ActiveRecord::Base
210
210
  p = CabooseRets::Property.where(:mls_number => mls_id.to_s).first
211
211
  if p != nil && p.status == 'Active'
212
212
  self.download_property_images(p) if save_images == true
213
- if (p.latitude.blank? || p.latitude == '0.0') || (p.longitude.blank? || p.longitude == '0.0')
213
+ if p.latitude.blank? || p.latitude == '0.0' || p.longitude.blank? || p.longitude == '0.0'
214
214
  self.update_coords(p)
215
215
  end
216
216
  else
@@ -284,13 +284,16 @@ class CabooseRets::RetsImporter # < ActiveRecord::Base
284
284
 
285
285
  def self.download_property_images(p)
286
286
  self.log3('Property',p.mls_number,"Downloading images for #{p.mls_number}...")
287
+ ids_to_keep = []
287
288
  begin
288
289
  self.client.get_object(:resource => 'Property', :type => 'Photo', :location => false, :id => "#{p.matrix_unique_id}:*") do |headers, content|
289
290
  next if headers.blank?
290
291
  ind = headers['orderhint'] ? headers['orderhint'].to_i : 0
291
292
  self.log3('Media',p.mls_number,headers.to_s)
292
293
  self.log3('Media',p.mls_number,"Downloading photo with content-id #{headers['content-id']}, index #{ind}")
294
+ is_new = false
293
295
  m = CabooseRets::Media.where(:media_mui => headers['content-id'], :media_order => ind).first
296
+ is_new = true if m.nil?
294
297
  m = CabooseRets::Media.new if m.nil?
295
298
  tmp_path = "#{Rails.root}/tmp/rets_media_#{headers['content-id']}_#{ind}.jpeg"
296
299
  File.open(tmp_path, "wb") do |f|
@@ -310,7 +313,12 @@ class CabooseRets::RetsImporter # < ActiveRecord::Base
310
313
  if cm && !cm.id.blank?
311
314
  m.media_id = cm.id
312
315
  m.save
313
- self.log3("Media",p.mls_number,"Created new RetsMedia object #{m.id}, media_id = #{m.media_id}")
316
+ ids_to_keep << m.id
317
+ if is_new
318
+ self.log3("Media",p.mls_number,"Created new RetsMedia object #{m.id}, media_id = #{m.media_id}")
319
+ else
320
+ self.log3("Media",p.mls_number,"RetsMedia object already existed #{m.id}, updated media_id = #{m.media_id}")
321
+ end
314
322
  self.log3("Media",p.mls_number,"Image rets_media_#{headers['content-id']}_#{ind} saved")
315
323
  else
316
324
  self.log3("Media",p.mls_number,"CabooseMedia was not created for some reason, not saving RetsMedia")
@@ -324,6 +332,17 @@ class CabooseRets::RetsImporter # < ActiveRecord::Base
324
332
  self.log3("Media",p.mls_number,"Error downloading images for property with MLS # #{p.mls_number}")
325
333
  end
326
334
 
335
+ # If we downloaded new images, look for old images to delete
336
+ if ids_to_keep.count > 0
337
+ self.log3("Media",p.mls_number,"Keeping new RetsMedia ids: #{ids_to_keep}")
338
+ self.log3("Media",p.mls_number,"Looking for old RetsMedia to delete")
339
+ CabooseRets::Media.where(:media_mui => p.matrix_unique_id).where("id not in (?)",ids_to_keep).each do |med|
340
+ self.log3("Media",p.mls_number,"Deleting old RetsMedia #{med.id} and CabooseMedia #{med.media_id}...")
341
+ m = Caboose::Media.where(:id => med.media_id).where("name ILIKE ?","rets_media%").first
342
+ m.destroy if m
343
+ med.destroy
344
+ end
345
+ end
327
346
 
328
347
  # # Get first image
329
348
  # self.client.get_object(:resource => 'Property', :type => 'Photo', :location=> false, :id => "#{p.matrix_unique_id}:0") do |headers, content|
@@ -1,3 +1,3 @@
1
1
  module CabooseRets
2
- VERSION = '0.1.115'
2
+ VERSION = '0.1.116'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: caboose-rets
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.115
4
+ version: 0.1.116
5
5
  platform: ruby
6
6
  authors:
7
7
  - William Barry
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-22 00:00:00.000000000 Z
11
+ date: 2019-05-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: caboose-cms