# Error convert image

**URL:** https://meta.discourse.org/t/error-convert-image/112021
**Category:** Support
**Created:** [March 19, 2019, 8:47am UTC](https://meta.discourse.org/t/error-convert-image/112021 "2019-03-19T08:47:35Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![Dev\_Work](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dev_work/32/124200_2.png) [@Dev\_Work](https://meta.discourse.org/u/Dev_Work)
#### Post date: [March 19, 2019, 8:47am UTC](https://meta.discourse.org/t/error-convert-image/112021/1 "2019-03-19T08:47:35Z")

</div>

How to hide full path disclosure in error message?  
{“failed”:“FAILED”,“message”:“/discourse/lib/upload\_creator.rb:210:in `execute\_convert’: An error happened when converting from PNG to JPG.”}

---

<div class="post-metadata">

### Author: ![Dev\_Work](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dev_work/32/124200_2.png) [@Dev\_Work](https://meta.discourse.org/u/Dev_Work)
#### Post date: [March 19, 2019, 10:12am UTC](https://meta.discourse.org/t/error-convert-image/112021/2 "2019-03-19T10:12:58Z")

</div>

How overwrite methods in Discourse::Utils.execute\_command ?

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [March 19, 2019, 11:21am UTC](https://meta.discourse.org/t/error-convert-image/112021/3 "2019-03-19T11:21:57Z")

</div>

Sorry, what are you reporting here? I don’t understand.

---

<div class="post-metadata">

### Author: ![Dev\_Work](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dev_work/32/124200_2.png) [@Dev\_Work](https://meta.discourse.org/u/Dev_Work)
#### Post date: [March 19, 2019, 12:48pm UTC](https://meta.discourse.org/t/error-convert-image/112021/4 "2019-03-19T12:48:56Z")

</div>

I want to override this method

> <https://github.com/discourse/discourse/blob/main/lib/upload_creator.rb#L216>

> <https://github.com/discourse/discourse/blob/main/lib/discourse.rb#L24-L33>

---

<div class="post-metadata">

### Author: ![Dev\_Work](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dev_work/32/124200_2.png) [@Dev\_Work](https://meta.discourse.org/u/Dev_Work)
#### Post date: [March 19, 2019, 2:34pm UTC](https://meta.discourse.org/t/error-convert-image/112021/5 "2019-03-19T14:34:34Z")

</div>

That’s what I wanted to do

```
 def self.execute_command(*command, failure_message: "")
  Rails.logger.warn("this is plugin!!!")
  stdout, stderr, status = Open3.capture3(*command)

  if !status.success?
    failure_message = "#{failure_message}\n" if !failure_message.blank?
    if Rails.env == "development"
      raise "#{caller[0]}: #{failure_message}#{stderr}"
    else
      raise "#{failure_message}#{stderr}"
    end
  end

  stdout
end

```

---

<div class="post-metadata">

### Author: ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)
#### Post date: [March 20, 2019, 10:49am UTC](https://meta.discourse.org/t/error-convert-image/112021/6 "2019-03-20T10:49:41Z")

</div>

This is not really Discourse-related but more Ruby-related. I suggest you properly learn Ruby with online courses before you continue writing plugins for Discourse.

---

<div class="post-metadata">

### Author: ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)
#### Post date: [March 20, 2019, 10:49am UTC](https://meta.discourse.org/t/error-convert-image/112021/7 "2019-03-20T10:49:46Z")

</div>


