Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error when uploading video - "AttributeError: 'NoneType' object has no attribute 'extension'" #46

Open
LAMike310 opened this issue Apr 28, 2019 · 10 comments

Comments

@LAMike310
Copy link

I cloned the repo and tried to run the example "upload-a-video.py":

from instapy_cli import client
  
username = 'xxxxx'
password = 'xxxxx'
video = '../docs/video-sample-upload.mp4'
text = 'This will be the caption of your video.' + '\r\n' + 'You can also use hashtags! #hash #tag #now'

with client(username, password) as cli:
    cli.upload(video, text)

But I got an error in the console that said:

Reusing settings: ig.json
Traceback (most recent call last):
  File "upload-a-video.py", line 9, in <module>
    cli.upload(video, text)
  File "/Library/Python/2.7/site-packages/instapy_cli/cli.py", line 105, in upload
    media = Media(file)
  File "/Library/Python/2.7/site-packages/instapy_cli/media.py", line 29, in __init__
    self.check_type()
  File "/Library/Python/2.7/site-packages/instapy_cli/media.py", line 32, in check_type
    self.media_ext = filetype.guess(self.media_path).extension
AttributeError: 'NoneType' object has no attribute 'extension'

Any idea what I'm doing wrong?

@LAMike310 LAMike310 changed the title "AttributeError: 'NoneType' object has no attribute 'extension'" Error when uploading video Apr 28, 2019
@LAMike310 LAMike310 changed the title Error when uploading video Error when uploading video - "AttributeError: 'NoneType' object has no attribute 'extension'" Apr 28, 2019
@b3nab
Copy link
Owner

b3nab commented May 6, 2019

please, add relevant informations such as python and instapy-cli version
Also, I suggest you to update to latest release of instapy-cli 0.0.10 and re-try.

@KuHuKD2
Copy link

KuHuKD2 commented May 9, 2019

Hello. I've got the same sort of error on .mp4 file in ubuntu. Pictures are send successfully without errors.

instapy-cli 0.0.10 | python 3.5.2
Reusing settings: User_ig.json

Traceback (most recent call last):
File "/usr/local/bin/instapy", line 10, in
sys.exit(main())
File "/home/digital/.local/lib/python3.5/site-packages/instapy_cli/main.py", line 44, in main
cli.upload(options.file, text, story)
File "/home/digital/.local/lib/python3.5/site-packages/instapy_cli/cli.py", line 109, in upload
media = Media(file)
File "/home/digital/.local/lib/python3.5/site-packages/instapy_cli/media.py", line 29, in init
self.check_type()
File "/home/digital/.local/lib/python3.5/site-packages/instapy_cli/media.py", line 32, in check_type
self.media_ext = filetype.guess(self.media_path).extension
AttributeError: 'NoneType' object has no attribute 'extension'_

@oce-290480
Copy link

Hi,
I dont know if this issues is resolved or not.
I just got the same issues

python ver : 3.6.8 | instapy-cli 0.0.12

Traceback (most recent call last):
File "c:\users\oce\anaconda3\envs\insta\lib\runpy.py", line 193, in run_module_as_main
"main", mod_spec)
File "c:\users\oce\anaconda3\envs\insta\lib\runpy.py", line 85, in run_code
exec(code, run_globals)
File "C:\Users\oce\Anaconda3\envs\insta\Scripts\instapy.exe_main
.py", line 9, in
File "c:\users\oce\anaconda3\envs\insta\lib\site-packages\instapy_cli_main
.py", line 44, in main
cli.upload(options.file, text, story)
File "c:\users\oce\anaconda3\envs\insta\lib\site-packages\instapy_cli\cli.py", line 116, in upload
media = Media(file)
File "c:\users\oce\anaconda3\envs\insta\lib\site-packages\instapy_cli\media.py", line 29, in init
self.check_type()
File "c:\users\oce\anaconda3\envs\insta\lib\site-packages\instapy_cli\media.py", line 32, in check_type
self.media_ext = filetype.guess(self.media_path).extension
AttributeError: 'NoneType' object has no attribute 'extension'

Help would greatly appreciated

Thanks

@tomaaron
Copy link

This is duo to the missing sanity check for the filetype. Somehow the lib filetype is having problems with some mp4 and can't guess the right type.

@b3nab
Copy link
Owner

b3nab commented Jul 4, 2019

Can you provide a mp4 video example that filetype failed to identify?

@KuHuKD2
Copy link

KuHuKD2 commented Jul 14, 2019

Of course, this one, for example:
File.mp4

@salahar9
Copy link

@b3nab i have the solution, the issue's origin is actually the filetype library and specifically this line at media.py
self.media_ext = filetype.guess(self.media_path).extension
filetype is returning None on some videos so to fix it you can use Magic instead of filetype
PyPi: https://pypi.org/project/python-magic-bin/0.4.14/ or Pip: pip install python-magic-bin
so now in the media.py
first : import magic
then change the check_type function to this:
`def check_type(self):

    self.media_ext = magic.from_file(self.media_path,mime=True)
    self.media_ext=  self.media_ext.split('/')[1]` 

@formazione
Copy link

image
Thanks it worked really fine.

@Kaszanas
Copy link

@b3nab Please review the changes if possible.
This is an issue which is also happening in my use case of this library.

@keenan14
Copy link

Hey guys I have been having the same issue my code was:
from instapy_cli import client

username = 'testing211714'
password = '****'
image = 'posts/keenan.png'
text = 'This will be the caption of your photo.' + '\r\n' + 'You can also use hashtags! #hash #tag #now'

with client(username, password) as cli:
cli.upload(image, text)`

But recieved the error:
(env) Ryans-MacBook-Pro:InstaAutomaterFirstTry ryankeenan$ python app.py
[IG] not found cookie/cookie_file >> login as default
Error parsing error response: Expecting value: line 1 column 1 (char 0)
Error is >>
Bad Request

Something went bad.
Please retry or send an issue on https://github.com/b3nab/instapy-cli

Traceback (most recent call last):
File "app.py", line 9, in
cli.upload(image, text)
File "/Users/ryankeenan/Desktop/git/InstaAutomaterFirstTry/env/lib/python3.7/site-packages/instapy_cli/cli.py", line 153, in upload
raise IOError("Unable to upload.")
OSError: Unable to upload.

I followed @salahar9 advice and imported magic at media.py but the error just changed to:
(env) Ryans-MacBook-Pro:InstaAutomaterFirstTry ryankeenan$ python app.py
[IG] not found cookie/cookie_file >> login as default
Error parsing error response: Expecting value: line 1 column 1 (char 0)
Error is >>
Bad Request

Something went bad.
Please retry or send an issue on https://github.com/b3nab/instapy-cli

Traceback (most recent call last):
File "app.py", line 10, in
cli.upload(image, text)
File "/Users/ryankeenan/Desktop/git/InstaAutomaterFirstTry/env/lib/python3.7/site-packages/instapy_cli/cli.py", line 153, in upload
raise IOError("Unable to upload.")
OSError: Unable to upload.
Does anyone see where I went wrong??

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants