urlib is throwing 403 Forbidden error for almost all images.
Please use requests and verify image resizing works. Also, create a management command which finds all events which have no resized images and resizes them
@codedsun Can you please take this up?
Taking this up
@iamareebjamal I learnt that this task creates resized image and stores in static folder. How do i test that for 403 error via which api upload image? Please guide me how should I proceed?
As when I am hitting through the frontend and selecting the image like event background, event logo it works fine.
And for management command do I need to add the task in the celery?
Send this as original image URL in Postman - https://storage.eventyay.com/eventyay.com/events/758/background/Vk0zSTdyZX/1517e947-29df-4a3c-9580-373db3ba9ba9.png
Also, working fine means the image is resized and all image URLs are correctly set. Is that happening?
For management command, no
@iamareebjamal

They are null
@iamareebjamal When the event is created the files.py function is run. What is expected that large_image_url, thumbnail_image_url - should be created with a valid url and saved in the db? Am I right?
Yes
@iamareebjamal Okay I will debug it tomorrow.
Status? PATCH endpoint is not as important. That is atleast working with its limitation. This is completely broken
@iamareebjamal Sorry I missed that due to health issues. I am resuming and working on it now.
@iamareebjamal I am finding a way to check that celery worker is running or not on my machine also how do I turn on logs for celery.. I see that function is called, but I m debugging more about it.
celery won't run if you've not run it. It's simple
Did you follow the instructions and run celery? https://github.com/fossasia/open-event-server/blob/development/docs/installation/basic.md
Yeah, while running celery worker -A app.celery
I am having error
[2019-12-05 17:39:30,349: WARNING/ForkPoolWorker-3] HEAD http://localhost:9200/event [status:N/A request:0.004s]
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/urllib3/connection.py", line 159, in _new_conn
(self._dns_host, self.port), self.timeout, **extra_kw)
File "/usr/local/lib/python3.7/site-packages/urllib3/util/connection.py", line 80, in create_connection
raise err
File "/usr/local/lib/python3.7/site-packages/urllib3/util/connection.py", line 70, in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/elasticsearch/connection/http_urllib3.py", line 238, in perform_request
method, url, body, retries=Retry(False), headers=request_headers, **kw
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 638, in urlopen
_stacktrace=sys.exc_info()[2])
File "/usr/local/lib/python3.7/site-packages/urllib3/util/retry.py", line 344, in increment
raise six.reraise(type(error), error, _stacktrace)
File "/usr/local/lib/python3.7/site-packages/urllib3/packages/six.py", line 686, in reraise
raise value
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 600, in urlopen
chunked=chunked)
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 354, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py", line 1252, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py", line 1298, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py", line 1247, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py", line 1026, in _send_output
self.send(msg)
File "/usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py", line 966, in send
self.connect()
File "/usr/local/lib/python3.7/site-packages/urllib3/connection.py", line 181, in connect
conn = self._new_conn()
File "/usr/local/lib/python3.7/site-packages/urllib3/connection.py", line 168, in _new_conn
self, "Failed to establish a new connection: %s" % e)
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x10db7e750>: Failed to establish a new connection: [Errno 61] Connection refused
ENABLE_ELASTICSEARCH=False in your .env
@iamareebjamal For the locally saved images on the server it's working fine for me.i.e. From frontend I tried to upload the images, they are getting resized and stored in the events table.
Now as per the requirement, that creating an event by using a postman request with imageurl of not a locally saved file, it's throwing 403 error. I am debugging it now.
No need to debug. The cause and solution both are written in the issue itself
@iamareebjamal Lol, what should I do then?
Follow what's written in the issue
Also, create a management command which finds all events which have no resized images and resizes them?
How do we write a management command, please guide me?
Also, What should be done for 403 error?
What i understood is that, the image can't be accessed by urllib but that's right as from fronted while uploading images we are uploading that to db and returning a locally saved file URL.
urlib is throwing 403 Forbidden error for almost all images.
Please use requests and verify image resizing works.
I have literally pasted what I wrote in the issue. Now tell me what you don't understand
No need to debug. The cause and solution both are written in the issue itself
What's the solution here? I need to fix 403 error of urllib
urlib is throwing 403 Forbidden error for almost all images.
It's throwing for the files which are not saved locally on the server, do I need to fix this for the images which are from the source other than local machine or test for which are locally saved on the server?
Also when I am uploading the images from the frontend , it's working fine. They are not working for images not saved on local machine
Sorry for asking such question but help me where I am not able to understand. Thanks
Please use requests and verify image resizing works.
That hyperlink made a ton of difference for a beginner like me. I thought request as a hitting api.
Please use requests and verify image resizing works.
For this you meant to replace using urllib and use requests instead to open the file and then perform the resizing. Am I correct here?
Yes
@iamareebjamal If that hyperlink would have been present, it wouldn't have taken a day. Thanks :)
AttributeError("module 'requests.exceptions' has no attribute 'URLError'")
You didn't test the exceptions @codedsun Please fix ASAP
@iamareebjamal I did tested, failed to replaced this at one line, it was not replaced to Invalid URL
@iamareebjamal https://github.com/fossasia/open-event-server/pull/6648
Task resize.event.images[947ebb58-7870-49b5-8488-fc82b2000077] raised unexpected: ObjectNotFound({'parameter': 'event_id'}, 'Event: 1014 not found')
Resize task is using safe_query which means it removes deleted events when querying. Thus, it throws an error when you try to resize images of deleted events. It's an internal module and hence shouldn't use safe_query. See if there is any way to trigger resize event or speaker through API. If there's not, then change safe_query to normal query
@iamareebjamal Will check and reply.
@iamareebjamal
For Events image resizing and speaker image reisizing
The task is only triggered when we patch an event/speaker image or the first time event/speaker is created using POST request.
Also, guide me for this sir. Thanks