strohne / Facepager

Facepager was made for fetching public available data from YouTube, Twitter and other websites on the basis of APIs and webscraping.
https://github.com/strohne/Facepager/releases
506 stars 198 forks source link

Crash when deleting multiple nodes #48

Closed belisards closed 7 years ago

belisards commented 7 years ago

In Debian, Facepager closes itself when I try to delete multiple nodes. Every time I select all nodes and try to delete it, first Facepager deletes just one of the nodes. If I try again, it crashes with this error:

Traceback (most recent call last): File "/home/abitporu/Facepager/src/actions.py", line 141, in deleteNodes self.mainWindow.tree.treemodel.deleteNode(index, delaycommit=True) File "/home/abitporu/Facepager/src/datatree.py", line 326, in deleteNode item.remove(True) File "/home/abitporu/Facepager/src/datatree.py", line 145, in remove self.parentItem.removeChild(self, persistent) File "/home/abitporu/Facepager/src/datatree.py", line 160, in removeChild dbnode = self.dbnode() File "/home/abitporu/Facepager/src/datatree.py", line 185, in dbnode return Node.query.get(self.id) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 831, in get return self._get_impl(ident, loading.load_on_ident) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 842, in _get_impl if len(ident) != len(mapper.primary_key): TypeError: object of type 'NoneType' has no len() Traceback (most recent call last): File "/home/abitporu/Facepager/src/actions.py", line 141, in deleteNodes self.mainWindow.tree.treemodel.deleteNode(index, delaycommit=True) File "/home/abitporu/Facepager/src/datatree.py", line 326, in deleteNode item.remove(True) File "/home/abitporu/Facepager/src/datatree.py", line 145, in remove self.parentItem.removeChild(self, persistent) File "/home/abitporu/Facepager/src/datatree.py", line 160, in removeChild dbnode = self.dbnode() File "/home/abitporu/Facepager/src/datatree.py", line 185, in dbnode return Node.query.get(self.id) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 831, in get return self._get_impl(ident, loading.load_on_ident) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 842, in _get_impl if len(ident) != len(mapper.primary_key): TypeError: object of type 'NoneType' has no len() Falha de segmentação Segmentation Error

$ sudo cat /proc/version Linux version 3.16.0-4-amd64 (debian-kernel@lists.debian.org) (gcc version 4.8.4 (Debian 4.8.4-1) ) #1 SMP Debian 3.16.39-1 (2016-12-30)

strohne commented 7 years ago

i cannot reproduce this under windows. does the error occur for a minimal database (blank database, just two nodes added)?

belisards commented 7 years ago

With two nodes, if I select all and click in 'Delete Nodes', Facepages deletes only the first. Sometimes when I try to delete the last one, it crashes with:

$ python Facepager.py Traceback (most recent call last): File "/home/abitporu/Facepager/src/actions.py", line 141, in deleteNodes self.mainWindow.tree.treemodel.deleteNode(index, delaycommit=True) File "/home/abitporu/Facepager/src/datatree.py", line 326, in deleteNode item.remove(True) File "/home/abitporu/Facepager/src/datatree.py", line 145, in remove self.parentItem.removeChild(self, persistent) File "/home/abitporu/Facepager/src/datatree.py", line 160, in removeChild dbnode = self.dbnode() File "/home/abitporu/Facepager/src/datatree.py", line 185, in dbnode return Node.query.get(self.id) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 831, in get return self._get_impl(ident, loading.load_on_ident) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 842, in _get_impl if len(ident) != len(mapper.primary_key): TypeError: object of type 'NoneType' has no len() Traceback (most recent call last): File "/home/abitporu/Facepager/src/actions.py", line 141, in deleteNodes self.mainWindow.tree.treemodel.deleteNode(index, delaycommit=True) File "/home/abitporu/Facepager/src/datatree.py", line 326, in deleteNode item.remove(True) File "/home/abitporu/Facepager/src/datatree.py", line 145, in remove self.parentItem.removeChild(self, persistent) File "/home/abitporu/Facepager/src/datatree.py", line 160, in removeChild dbnode = self.dbnode() File "/home/abitporu/Facepager/src/datatree.py", line 185, in dbnode return Node.query.get(self.id) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 831, in get return self._get_impl(ident, loading.load_on_ident) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 842, in _get_impl if len(ident) != len(mapper.primary_key): TypeError: object of type 'NoneType' has no len() Traceback (most recent call last): File "/home/abitporu/Facepager/src/actions.py", line 141, in deleteNodes self.mainWindow.tree.treemodel.deleteNode(index, delaycommit=True) File "/home/abitporu/Facepager/src/datatree.py", line 326, in deleteNode item.remove(True) File "/home/abitporu/Facepager/src/datatree.py", line 145, in remove self.parentItem.removeChild(self, persistent) File "/home/abitporu/Facepager/src/datatree.py", line 160, in removeChild dbnode = self.dbnode() File "/home/abitporu/Facepager/src/datatree.py", line 185, in dbnode return Node.query.get(self.id) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 831, in get return self._get_impl(ident, loading.load_on_ident) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 842, in _get_impl if len(ident) != len(mapper.primary_key): TypeError: object of type 'NoneType' has no len() Traceback (most recent call last): File "/home/abitporu/Facepager/src/actions.py", line 141, in deleteNodes self.mainWindow.tree.treemodel.deleteNode(index, delaycommit=True) File "/home/abitporu/Facepager/src/datatree.py", line 326, in deleteNode item.remove(True) File "/home/abitporu/Facepager/src/datatree.py", line 145, in remove self.parentItem.removeChild(self, persistent) File "/home/abitporu/Facepager/src/datatree.py", line 160, in removeChild dbnode = self.dbnode() File "/home/abitporu/Facepager/src/datatree.py", line 185, in dbnode return Node.query.get(self.id) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 831, in get return self._get_impl(ident, loading.load_on_ident) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 842, in _get_impl if len(ident) != len(mapper.primary_key): TypeError: object of type 'NoneType' has no len() Falha de segmentação

2017-03-04 15:07 GMT-03:00 strohne notifications@github.com:

i cannot reproduce this under windows. does the error occur for a minimal database (blank database, just two nodes added)?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/strohne/Facepager/issues/48#issuecomment-284169414, or mute the thread https://github.com/notifications/unsubscribe-auth/ADFycjFPvo1hWWu88rV8c1Iksjj4Ppcdks5riahngaJpZM4MAv-W .

-- •adrianobf@gmail.com•

strohne commented 7 years ago

Looks like a bug in the sqlalchemy library to me, not an Facepager issue. Which version is the library?

See /usr/local/lib/python2.7/dist-packages/sqlalchemy/ or try this one: https://pythontips.com/2013/08/28/finding-the-module-version/

Please try to update your Python installation. Does this fix the error?

belisards commented 7 years ago

sqlalchemy.version '1.1.5'

Python 2.7.9 (default, Jun 29 2016, 13:08:31) [GCC 4.9.2] on linux2

So should I try with Python 3.6?

2017-03-07 6:21 GMT-03:00 strohne notifications@github.com:

Looks like a bug in the sqlalchemy library to me, not an Facepager issue. Which version is the library?

See /usr/local/lib/python2.7/dist-packages/sqlalchemy/ or try this one: https://pythontips.com/2013/08/28/finding-the-module-version/

Please try to update your Python installation. Does this fix the error?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/strohne/Facepager/issues/48#issuecomment-284666143, or mute the thread https://github.com/notifications/unsubscribe-auth/ADFycidmKwhJ6UbiidmSxA4qUYWZm_k-ks5rjSGKgaJpZM4MAv-W .

-- •adrianobf@gmail.com•

strohne commented 7 years ago

Versions look ok to me.

Never tried it, by I guess Facepager will not work with Python 3.x, we coded for Python 2.7.

I will setup a vagrant box with debian the next days and try myself.

belisards commented 7 years ago

ok, thank you!

strohne commented 7 years ago

I think the bug is fixed in the latest release (v3.8.1). Could you try it out please? That would be very helpful.

belisards commented 7 years ago

Of course! I've created a new folder and, after clone the repository, tried to run with: 'python Facepager.py'

I don't know if I did something wrong, but Facepager doesn't start and I get this error:

Traceback (most recent call last): File "Facepager.py", line 442, in startMain() File "Facepager.py", line 425, in startMain main=MainWindow() File "Facepager.py", line 60, in init self.createUI() File "Facepager.py", line 240, in createUI self.RequestTabs.addTab(TwitterTab(self),"Twitter") File "/home/abitporu/programas/Facepager/src/apimodules.py", line 668, in init consumer_key=credentials['twitter_consumer_key'], TypeError: 'Credentials' object has no attribute 'getitem'

2017-04-16 16:15 GMT-03:00 strohne notifications@github.com:

I think the bug is fixed in the latest release (v3.8.1). Could you try it out please? That would be very helpful.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/strohne/Facepager/issues/48#issuecomment-294368806, or mute the thread https://github.com/notifications/unsubscribe-auth/ADFyclbq1CAwMiu6ronTT8JSDoQLh8iuks5rwmjDgaJpZM4MAv-W .

-- •adrianobf@gmail.com•

strohne commented 7 years ago

did you add your credentials to credentials.py? at least copy credentials.py.readme to credentials.py. (see readme.txt for details on how to run under linux)

belisards commented 7 years ago

Sorry, I forgot about it!

Yes, it works nice now. I can delete multiple nodes perfectly.

Many thanks!

2017-04-18 18:27 GMT-03:00 strohne notifications@github.com:

did you add your credentials to credentials.py? at least copy credentials.readme to credentials.py.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/strohne/Facepager/issues/48#issuecomment-294987764, or mute the thread https://github.com/notifications/unsubscribe-auth/ADFycu62Q0QbSAdt2spPk-bYdsFtQoH1ks5rxSrXgaJpZM4MAv-W .

-- •adrianobf@gmail.com•

strohne commented 7 years ago

Thank you very much for your bug report and for testing!

mahmoud7ika commented 6 years ago

how to fix this erro ?

root@7ika:~/script/Facepager/src# python Facepager.py Traceback (most recent call last): File "Facepager.py", line 36, in from actions import File "/root/script/Facepager/src/actions.py", line 6, in from apimodules import File "/root/script/Facepager/src/apimodules.py", line 18, in from rauth import OAuth1Service ImportError: No module named rauth

root@7ika:~/script/Facepager/src# sudo cat /proc/version Linux version 4.14.0-kali3-amd64 (devel@kali.org) (gcc version 7.2.0 (Debian 7.2.0-19)) #1 SMP Debian 4.14.13-1kali1 (2018-01-25)

strohne commented 6 years ago

pls don't hijack old issues, open new ones. error message says "No module named rauth". Did you install rauth?

mahmoud7ika commented 6 years ago

yes i am install rauth

(facepager_env) root@7ika:~/Facepager# pip install SQLAlchemy python-dateutil requests rauth wheel Collecting SQLAlchemy Collecting python-dateutil Using cached python_dateutil-2.6.1-py2.py3-none-any.whl Collecting requests Using cached requests-2.18.4-py2.py3-none-any.whl Collecting rauth Using cached rauth-0.7.3-py2-none-any.whl Requirement already satisfied: wheel in ./facepager_env/lib/python2.7/site-packages Collecting six>=1.5 (from python-dateutil) Using cached six-1.11.0-py2.py3-none-any.whl Collecting certifi>=2017.4.17 (from requests) Using cached certifi-2018.1.18-py2.py3-none-any.whl Collecting chardet<3.1.0,>=3.0.2 (from requests) Using cached chardet-3.0.4-py2.py3-none-any.whl Collecting idna<2.7,>=2.5 (from requests) Using cached idna-2.6-py2.py3-none-any.whl Collecting urllib3<1.23,>=1.21.1 (from requests) Using cached urllib3-1.22-py2.py3-none-any.whl Installing collected packages: SQLAlchemy, six, python-dateutil, certifi, chardet, idna, urllib3, requests, rauth Successfully installed SQLAlchemy-1.2.2 certifi-2018.1.18 chardet-3.0.4 idna-2.6 python-dateutil-2.6.1 rauth-0.7.3 requests-2.18.4 six-1.11.0 urllib3-1.22

strohne commented 6 years ago

pls create a new issue. thx.