jtriley / pystun

A Python STUN client for getting NAT type and external IP
https://github.com/jtriley/pystun
MIT License
436 stars 154 forks source link

dict_item indexing issue in Python 3.5 #21

Open vyassu opened 7 years ago

vyassu commented 7 years ago

Hi

I am encountering below mentioned exception only while running Pystun on Python 3.5. The issue can be resolved if you cast the output of line 91,95 in init.py as a list. Please let me know once the fix is part of the main release stream.

nat_type, external_ip, external_port = stun.get_ip_info(stun_host=(stun_details[0]), stun_port=int(stun_details[1])) File "C:\Users\User\AppData\Local\Programs\Python\Python35\lib\site-packages\stun__init.py", line 253, in get_ip_info stun_host=stun_host, stun_port=stun_port) File "C:\Users\User\AppData\Local\Programs\Python\Python35\lib\site-packages\stun__init__.py", line 186, in get_nat_type _initialize() File "C:\Users\User\AppData\Local\Programs\Python\Python35\lib\site-packages\stun\init__.py", line 93, in _initialize dictValToAttr.update({items[i][1]: items[i][0]}) TypeError: 'dict_items' object does not support indexing

[20170407 16:03:15.022] WARNING:Could not find pyasn1 and pyasn1_modules. SSL certificate COULD NOT BE VERIFIED. stun_host=stun_host, stun_port=stun_port) File "C:\Users\User\AppData\Local\Programs\Python\Python35\lib\site-packages\stun__init__.py", line 186, in get_nat_type _initialize() File "C:\Users\User\AppData\Local\Programs\Python\Python35\lib\site-packages\stun__init__.py", line 96, in _initialize dictValToMsgType.update({items[i][1]: items[i][0]}) TypeError: 'dict_items' object does not support indexing

jfdelgad commented 6 years ago

Same issue here, using Python 3.6

jmurrayufo commented 5 years ago

Same issue under 3.7

kodeine commented 5 years ago

same issue here

smed79 commented 5 years ago

Python 3.7.2

$ pystun
Traceback (most recent call last):
  File "/usr/bin/pystun", line 11, in <module>
    load_entry_point('pystun==0.1.0', 'console_scripts', 'pystun')()
  File "/usr/lib/python3.7/site-packages/stun/cli.py", line 55, in main
    stun_port=options.stun_port
  File "/usr/lib/python3.7/site-packages/stun/__init__.py", line 253, in get_ip_info
    stun_host=stun_host, stun_port=stun_port)
  File "/usr/lib/python3.7/site-packages/stun/__init__.py", line 186, in get_nat_type
    _initialize()
  File "/usr/lib/python3.7/site-packages/stun/__init__.py", line 93, in _initialize
    dictValToAttr.update({items[i][1]: items[i][0]})
TypeError: 'dict_items' object does not support indexing
5vbz3r0 commented 5 years ago

Same issue in Python 3.7.3

Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    stun.get_ip_info()
  File "C:\Tools\Python37\lib\site-packages\stun\__init__.py", line 253, in get_ip_info
    stun_host=stun_host, stun_port=stun_port)
  File "C:\Tools\Python37\lib\site-packages\stun\__init__.py", line 186, in get_nat_type
    _initialize()
  File "C:\Tools\Python37\lib\site-packages\stun\__init__.py", line 93, in _initialize
    dictValToAttr.update({items[i][1]: items[i][0]})
TypeError: 'dict_items' object is not subscriptable
a7md0 commented 5 years ago

I have forked the project, and apply a fix. Have not tested that yet https://github.com/a7md0/pystun

Noob-A commented 2 years ago

python 3.8, same

Noob-A commented 2 years ago

bruh, this lib is dead

sujaldev commented 2 years ago

I think pystun3 still works, also why does github keep sending me notifications regarding this issue I don't think I ever interacted in this thread