Small code layout cleanup.
This commit is contained in:
parent
2c39eb47de
commit
036a2f6274
3 changed files with 68 additions and 68 deletions
|
@ -58,7 +58,7 @@ class Authorization < ApplicationModel
|
||||||
end
|
end
|
||||||
|
|
||||||
# save/update avatar
|
# save/update avatar
|
||||||
if hash['info']['image']
|
if hash['info'].present? && hash['info']['image'].present?
|
||||||
avatar = Avatar.add(
|
avatar = Avatar.add(
|
||||||
object: 'User',
|
object: 'User',
|
||||||
o_id: user.id,
|
o_id: user.id,
|
||||||
|
|
|
@ -104,83 +104,81 @@ add avatar by url
|
||||||
end
|
end
|
||||||
|
|
||||||
# fetch image based on http url
|
# fetch image based on http url
|
||||||
if data[:url] =~ /^http/
|
if data[:url].present?
|
||||||
|
if data[:url] =~ /^http/
|
||||||
|
|
||||||
# check if source ist already updated within last 2 minutes
|
# check if source ist already updated within last 2 minutes
|
||||||
if avatar_already_exists && avatar_already_exists.source_url == data[:url]
|
if avatar_already_exists && avatar_already_exists.source_url == data[:url]
|
||||||
return if avatar_already_exists.updated_at > 2.minutes.ago
|
return if avatar_already_exists.updated_at > 2.minutes.ago
|
||||||
end
|
end
|
||||||
|
|
||||||
# twitter workaround to get bigger avatar images
|
# twitter workaround to get bigger avatar images
|
||||||
# see also https://dev.twitter.com/overview/general/user-profile-images-and-banners
|
# see also https://dev.twitter.com/overview/general/user-profile-images-and-banners
|
||||||
if data[:url] =~ %r{//pbs.twimg.com/}i
|
if data[:url] =~ %r{//pbs.twimg.com/}i
|
||||||
data[:url].sub!(/normal\.(png|jpg|gif)$/, 'bigger.\1')
|
data[:url].sub!(/normal\.(png|jpg|gif)$/, 'bigger.\1')
|
||||||
end
|
end
|
||||||
|
|
||||||
# fetch image
|
# fetch image
|
||||||
response = UserAgent.get(
|
response = UserAgent.get(
|
||||||
data[:url],
|
data[:url],
|
||||||
{},
|
{},
|
||||||
{
|
{
|
||||||
open_timeout: 4,
|
open_timeout: 4,
|
||||||
read_timeout: 6,
|
read_timeout: 6,
|
||||||
total_timeout: 6,
|
total_timeout: 6,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
if !response.success?
|
if !response.success?
|
||||||
logger.info "Can't fetch '#{data[:url]}' (maybe no avatar available), http code: #{response.code}"
|
logger.info "Can't fetch '#{data[:url]}' (maybe no avatar available), http code: #{response.code}"
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
logger.info "Fetchd image '#{data[:url]}', http code: #{response.code}"
|
logger.info "Fetchd image '#{data[:url]}', http code: #{response.code}"
|
||||||
mime_type = 'image'
|
mime_type = 'image'
|
||||||
if data[:url] =~ /\.png/i
|
if data[:url] =~ /\.png/i
|
||||||
mime_type = 'image/png'
|
mime_type = 'image/png'
|
||||||
end
|
end
|
||||||
if data[:url] =~ /\.(jpg|jpeg)/i
|
if data[:url] =~ /\.(jpg|jpeg)/i
|
||||||
mime_type = 'image/jpeg'
|
mime_type = 'image/jpeg'
|
||||||
end
|
end
|
||||||
if !data[:resize]
|
if !data[:resize]
|
||||||
data[:resize] = {}
|
data[:resize] = {}
|
||||||
end
|
end
|
||||||
data[:resize][:content] = response.body
|
data[:resize][:content] = response.body
|
||||||
data[:resize][:mime_type] = mime_type
|
data[:resize][:mime_type] = mime_type
|
||||||
if !data[:full]
|
data[:full] ||= {}
|
||||||
data[:full] = {}
|
data[:full][:content] = response.body
|
||||||
end
|
data[:full][:mime_type] = mime_type
|
||||||
data[:full][:content] = response.body
|
|
||||||
data[:full][:mime_type] = mime_type
|
|
||||||
|
|
||||||
# try zammad backend to find image based on email
|
# try zammad backend to find image based on email
|
||||||
elsif data[:url].present? && data[:url] =~ /@/
|
elsif data[:url] =~ /@/
|
||||||
|
|
||||||
# check if source ist already updated within last 3 minutes
|
# check if source ist already updated within last 3 minutes
|
||||||
if avatar_already_exists && avatar_already_exists.source_url == data[:url]
|
if avatar_already_exists && avatar_already_exists.source_url == data[:url]
|
||||||
return if avatar_already_exists.updated_at > 2.minutes.ago
|
return if avatar_already_exists.updated_at > 2.minutes.ago
|
||||||
end
|
end
|
||||||
|
|
||||||
# fetch image
|
# fetch image
|
||||||
image = Service::Image.user(data[:url])
|
image = Service::Image.user(data[:url])
|
||||||
return if !image
|
return if !image
|
||||||
if !data[:resize]
|
data[:resize] ||= {}
|
||||||
data[:resize] = {}
|
data[:resize] = image
|
||||||
|
data[:full] ||= {}
|
||||||
|
data[:full] = image
|
||||||
end
|
end
|
||||||
data[:resize] = image
|
|
||||||
if !data[:full]
|
|
||||||
data[:full] = {}
|
|
||||||
end
|
|
||||||
data[:full] = image
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# check if avatar need to be updated
|
# check if avatar need to be updated
|
||||||
record[:store_hash] = Digest::MD5.hexdigest(data[:resize][:content])
|
if data[:resize].present? && data[:resize][:content].present?
|
||||||
if avatar_already_exists && avatar_already_exists.store_hash == record[:store_hash]
|
record[:store_hash] = Digest::MD5.hexdigest(data[:resize][:content])
|
||||||
avatar_already_exists.touch
|
if avatar_already_exists && avatar_already_exists.store_hash == record[:store_hash]
|
||||||
return avatar_already_exists
|
avatar_already_exists.touch
|
||||||
|
return avatar_already_exists
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# store images
|
# store images
|
||||||
object_name = "Avatar::#{data[:object]}"
|
object_name = "Avatar::#{data[:object]}"
|
||||||
if data[:full]
|
if data[:full].present?
|
||||||
store_full = Store.add(
|
store_full = Store.add(
|
||||||
object: "#{object_name}::Full",
|
object: "#{object_name}::Full",
|
||||||
o_id: data[:o_id],
|
o_id: data[:o_id],
|
||||||
|
@ -194,7 +192,7 @@ add avatar by url
|
||||||
record[:store_full_id] = store_full.id
|
record[:store_full_id] = store_full.id
|
||||||
record[:store_hash] = Digest::MD5.hexdigest(data[:full][:content])
|
record[:store_hash] = Digest::MD5.hexdigest(data[:full][:content])
|
||||||
end
|
end
|
||||||
if data[:resize]
|
if data[:resize].present?
|
||||||
store_resize = Store.add(
|
store_resize = Store.add(
|
||||||
object: "#{object_name}::Resize",
|
object: "#{object_name}::Resize",
|
||||||
o_id: data[:o_id],
|
o_id: data[:o_id],
|
||||||
|
@ -206,9 +204,11 @@ add avatar by url
|
||||||
created_by_id: data[:created_by_id],
|
created_by_id: data[:created_by_id],
|
||||||
)
|
)
|
||||||
record[:store_resize_id] = store_resize.id
|
record[:store_resize_id] = store_resize.id
|
||||||
record[:store_hash] = Digest::MD5.hexdigest(data[:resize][:content] )
|
record[:store_hash] = Digest::MD5.hexdigest(data[:resize][:content])
|
||||||
end
|
end
|
||||||
|
|
||||||
|
return if record[:store_resize_id].blank? || record[:store_hash].blank?
|
||||||
|
|
||||||
# update existing
|
# update existing
|
||||||
if avatar_already_exists
|
if avatar_already_exists
|
||||||
avatar_already_exists.update!(record)
|
avatar_already_exists.update!(record)
|
||||||
|
|
|
@ -38,7 +38,7 @@ set config setting
|
||||||
end
|
end
|
||||||
setting.state_current = { value: value }
|
setting.state_current = { value: value }
|
||||||
setting.save!
|
setting.save!
|
||||||
logger.info "Setting.set(#{name}, #{value.inspect})"
|
logger.info "Setting.set('#{name}', #{value.inspect})"
|
||||||
end
|
end
|
||||||
|
|
||||||
=begin
|
=begin
|
||||||
|
@ -72,7 +72,7 @@ reset config setting to default
|
||||||
return true if !force && setting.state_current == setting.state_initial
|
return true if !force && setting.state_current == setting.state_initial
|
||||||
setting.state_current = setting.state_initial
|
setting.state_current = setting.state_initial
|
||||||
setting.save!
|
setting.save!
|
||||||
logger.info "Setting.reset(#{name}, #{setting.state_current.inspect})"
|
logger.info "Setting.reset('#{name}', #{setting.state_current.inspect})"
|
||||||
end
|
end
|
||||||
|
|
||||||
=begin
|
=begin
|
||||||
|
|
Loading…
Reference in a new issue