vinifmor / bauh

Graphical user interface for managing your Linux applications. Supports AppImage, Debian and Arch packages (including AUR), Flatpak, Snap and native Web applications
zlib License
968 stars 71 forks source link

Not listing installed packages for Flatpak 1.2.5 #201

Closed satourne closed 2 years ago

satourne commented 2 years ago

After opening a new issue First of all : Thanks. I open that issue as an information for your curiosity. I know that the officials platforms are

Describe the bug $ flatpak --version Flatpak 1.2.5 $ bauh --version bauh 0.9.19

I have flatpak and when I launch bauh, I can see softwares those are available. screenshot-bauh

But when I click on Installed, I see nothing in despite of I have flatpak screenshot-bauh-installed

Software Environment bauh version: bauh 0.9.19 O.S: Debian GNU/Linux 10 (buster) Python version: Python 2.7.16 Python 3.7.3 Installation method: pip

Informations :

With Flatpak 1.2.5, the output is : flatpak list -d Description Application Version Branch Arch Origin Installation Ref Active commit Latest commit Installed size Options PulseEffects - Effets… …m.pulseeffects 4.8.4 stable x86_64 flathub system com.github.wwmm.pulseeffects/x86_64/stable f2cf4f14601c ? 43,6 MB system,current

So I see there is a problem in gems/flatpak/flatpak.py File "/usr/local/lib/python3.7/dist-packages/bauh/gems/flatpak/flatpak.py", line 1XX, in list_installed 'arch': ref_split[1], IndexError: list index out of range

I change some lines like this :

def list_installed(version: Version) -> List[dict]:

    apps = []
    if version < VERSION_1_3:
...
                runtime = 'runtime' in data[1]
...
                apps.append({
                    'id': data[8],
                    'name': data[1].split('.')[-1].capitalize(),
                    'ref': data[7],
                    'arch': data[4],
                    'branch': data[3],
                    'description': data[0],
                    'origin': data[5],
                    'runtime': runtime,
                    'installation': 'user' if 'user' in data[6] else 'system',
                    'version': data[2] if runtime else None
                })

...

and it works differently ... screenshot-bauh-modified

Thanks again.

P.S: I'm a newbie with python...

vinifmor commented 2 years ago

Hello @satourne , please, launch bauh through the command line and paste here any error output that shows up.

satourne commented 2 years ago

You should use : flatpak list --columns=description,application,size,arch,branch,version,installation,ref,origin There will be no surprises about the output ( or almost 😊)...

nano /etc/debian_version 10.11

sudo pip3 uninstall bauh sudo pip3 install bauh bauh -v bauh 0.9.19

python -V Python 2.7.16

Process: -launch bauh -displays availables apps -click on button 'installé' to see installed apps -displays no installed apps -can't back to list of availables apps by a button -click on close window

bauh Traceback (most recent call last): File "/usr/local/lib/python3.7/dist-packages/bauh/view/qt/thread.py", line 553, in run internet_available=True, limit=-1) File "/usr/local/lib/python3.7/dist-packages/bauh/view/core/controller.py", line 225, in read_installed man_res = man.read_installed(disk_loader=disk_loader, pkg_types=None, internet_available=net_available) File "/usr/local/lib/python3.7/dist-packages/bauh/gems/flatpak/controller.py", line 130, in read_installed installed = flatpak.list_installed(version) File "/usr/local/lib/python3.7/dist-packages/bauh/gems/flatpak/flatpak.py", line 109, in list_installed 'arch': ref_split[1], IndexError: list index out of range Traceback (most recent call last): File "/usr/local/lib/python3.7/dist-packages/bauh/api/http.py", line 42, in get res = requests.get(url, args) File "/usr/lib/python3/dist-packages/requests/api.py", line 75, in get return request('get', url, params=params, kwargs) File "/usr/lib/python3/dist-packages/requests/api.py", line 60, in request return session.request(method=method, url=url, kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 533, in request resp = self.send(prep, send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 668, in send history = [resp for resp in gen] if allow_redirects else [] File "/usr/lib/python3/dist-packages/requests/sessions.py", line 668, in history = [resp for resp in gen] if allow_redirects else [] File "/usr/lib/python3/dist-packages/requests/sessions.py", line 165, in resolve_redirects raise TooManyRedirects('Exceeded %s redirects.' % self.max_redirects, response=resp) requests.exceptions.TooManyRedirects: Exceeded 30 redirects. Traceback (most recent call last): File "/usr/local/lib/python3.7/dist-packages/bauh/api/http.py", line 42, in get res = requests.get(url, args) File "/usr/lib/python3/dist-packages/requests/api.py", line 75, in get return request('get', url, params=params, kwargs) File "/usr/lib/python3/dist-packages/requests/api.py", line 60, in request return session.request(method=method, url=url, kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 533, in request resp = self.send(prep, send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 668, in send history = [resp for resp in gen] if allow_redirects else [] File "/usr/lib/python3/dist-packages/requests/sessions.py", line 668, in history = [resp for resp in gen] if allow_redirects else [] File "/usr/lib/python3/dist-packages/requests/sessions.py", line 165, in resolve_redirects raise TooManyRedirects('Exceeded %s redirects.' % self.max_redirects, response=resp) requests.exceptions.TooManyRedirects: Exceeded 30 redirects. Traceback (most recent call last): File "/usr/local/lib/python3.7/dist-packages/bauh/view/qt/thread.py", line 553, in run internet_available=True, limit=-1) File "/usr/local/lib/python3.7/dist-packages/bauh/view/core/controller.py", line 225, in read_installed man_res = man.read_installed(disk_loader=disk_loader, pkg_types=None, internet_available=net_available) File "/usr/local/lib/python3.7/dist-packages/bauh/gems/flatpak/controller.py", line 130, in read_installed installed = flatpak.list_installed(version) File "/usr/local/lib/python3.7/dist-packages/bauh/gems/flatpak/flatpak.py", line 109, in list_installed 'arch': ref_split[1], IndexError: list index out of range

Some other manipulations

like : -select Type and Categories -search -click to show "Picture" or "Informations" -open Parameters dialog box (In french, title is "Paramères" but it's "Paramètres") -click on "Installed" -close window

bauh Traceback (most recent call last): File "/usr/local/lib/python3.7/dist-packages/bauh/view/qt/thread.py", line 553, in run internet_available=True, limit=-1) File "/usr/local/lib/python3.7/dist-packages/bauh/view/core/controller.py", line 225, in read_installed man_res = man.read_installed(disk_loader=disk_loader, pkg_types=None, internet_available=net_available) File "/usr/local/lib/python3.7/dist-packages/bauh/gems/flatpak/controller.py", line 130, in read_installed installed = flatpak.list_installed(version) File "/usr/local/lib/python3.7/dist-packages/bauh/gems/flatpak/flatpak.py", line 109, in list_installed 'arch': ref_split[1], IndexError: list index out of range Traceback (most recent call last): File "/usr/local/lib/python3.7/dist-packages/bauh/api/http.py", line 42, in get res = requests.get(url, args) File "/usr/lib/python3/dist-packages/requests/api.py", line 75, in get return request('get', url, params=params, kwargs) File "/usr/lib/python3/dist-packages/requests/api.py", line 60, in request return session.request(method=method, url=url, kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 533, in request resp = self.send(prep, send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 668, in send history = [resp for resp in gen] if allow_redirects else [] File "/usr/lib/python3/dist-packages/requests/sessions.py", line 668, in history = [resp for resp in gen] if allow_redirects else [] File "/usr/lib/python3/dist-packages/requests/sessions.py", line 165, in resolve_redirects raise TooManyRedirects('Exceeded %s redirects.' % self.max_redirects, response=resp) requests.exceptions.TooManyRedirects: Exceeded 30 redirects. Traceback (most recent call last): File "/usr/local/lib/python3.7/dist-packages/bauh/api/http.py", line 42, in get res = requests.get(url, args) File "/usr/lib/python3/dist-packages/requests/api.py", line 75, in get return request('get', url, params=params, kwargs) File "/usr/lib/python3/dist-packages/requests/api.py", line 60, in request return session.request(method=method, url=url, kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 533, in request resp = self.send(prep, send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 668, in send history = [resp for resp in gen] if allow_redirects else [] File "/usr/lib/python3/dist-packages/requests/sessions.py", line 668, in history = [resp for resp in gen] if allow_redirects else [] File "/usr/lib/python3/dist-packages/requests/sessions.py", line 165, in resolve_redirects raise TooManyRedirects('Exceeded %s redirects.' % self.max_redirects, response=resp) requests.exceptions.TooManyRedirects: Exceeded 30 redirects. Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 384, in _make_request six.raise_from(e, None) File "", line 3, in raise_from File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 380, in _make_request httplib_response = conn.getresponse() File "/usr/lib/python3.7/http/client.py", line 1352, in getresponse response.begin() File "/usr/lib/python3.7/http/client.py", line 310, in begin version, status, reason = self._read_status() File "/usr/lib/python3.7/http/client.py", line 271, in _read_status line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1") File "/usr/lib/python3.7/socket.py", line 589, in readinto return self._sock.recv_into(b) File "/usr/lib/python3.7/ssl.py", line 1052, in recv_into return self.read(nbytes, buffer) File "/usr/lib/python3.7/ssl.py", line 911, in read return self._sslobj.read(len, buffer) socket.timeout: The read operation timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 449, in send timeout=timeout File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 638, in urlopen _stacktrace=sys.exc_info()[2]) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 367, in increment raise six.reraise(type(error), error, _stacktrace) File "/usr/lib/python3/dist-packages/six.py", line 693, in reraise raise value File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 600, in urlopen chunked=chunked) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 386, in _make_request self._raise_timeout(err=e, url=url, timeout_value=read_timeout) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 306, in _raise_timeout raise ReadTimeoutError(self, url, "Read timed out. (read timeout=%s)" % timeout_value) urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Read timed out. (read timeout=30)

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/local/lib/python3.7/dist-packages/bauh/api/http.py", line 40, in get res = self.session.get(url, args) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 546, in get return self.request('GET', url, kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 533, in request resp = self.send(prep, send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 646, in send r = adapter.send(request, kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 529, in send raise ReadTimeout(e, request=request) requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Read timed out. (read timeout=30) qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 12564, resource id: 10528857, major code: 40 (TranslateCoords), minor code: 0 Exception in thread Thread-51: Traceback (most recent call last): File "/usr/lib/python3.7/threading.py", line 917, in _bootstrap_inner self.run() File "/usr/lib/python3.7/threading.py", line 865, in run self._target(*self._args, **self._kwargs) File "/usr/local/lib/python3.7/dist-packages/bauh/view/core/controller.py", line 478, in _fill_suggestions man_sugs = man.list_suggestions(limit=limit, filter_installed=filter_installed) File "/usr/local/lib/python3.7/dist-packages/bauh/gems/flatpak/controller.py", line 505, in list_suggestions installed = {i.id for i in self.read_installed(disk_loader=None).installed} if filter_installed else None File "/usr/local/lib/python3.7/dist-packages/bauh/gems/flatpak/controller.py", line 130, in read_installed installed = flatpak.list_installed(version) File "/usr/local/lib/python3.7/dist-packages/bauh/gems/flatpak/flatpak.py", line 109, in list_installed 'arch': ref_split[1], IndexError: list index out of range

Traceback (most recent call last): File "/usr/local/lib/python3.7/dist-packages/bauh/view/qt/thread.py", line 553, in run internet_available=True, limit=-1) File "/usr/local/lib/python3.7/dist-packages/bauh/view/core/controller.py", line 225, in read_installed man_res = man.read_installed(disk_loader=disk_loader, pkg_types=None, internet_available=net_available) File "/usr/local/lib/python3.7/dist-packages/bauh/gems/flatpak/controller.py", line 130, in read_installed installed = flatpak.list_installed(version) File "/usr/local/lib/python3.7/dist-packages/bauh/gems/flatpak/flatpak.py", line 109, in list_installed 'arch': ref_split[1], IndexError: list index out of range Traceback (most recent call last): File "/usr/local/lib/python3.7/dist-packages/bauh/view/qt/thread.py", line 553, in run internet_available=True, limit=-1) File "/usr/local/lib/python3.7/dist-packages/bauh/view/core/controller.py", line 225, in read_installed man_res = man.read_installed(disk_loader=disk_loader, pkg_types=None, internet_available=net_available) File "/usr/local/lib/python3.7/dist-packages/bauh/gems/flatpak/controller.py", line 130, in read_installed installed = flatpak.list_installed(version) File "/usr/local/lib/python3.7/dist-packages/bauh/gems/flatpak/flatpak.py", line 109, in list_installed 'arch': ref_split[1], IndexError: list index out of range

HAGD

vinifmor commented 2 years ago

Fixed on the staging branch: https://github.com/vinifmor/bauh/commit/a6c065efb658fcc78716c31f410a101b37258c6b