1
0
mirror of https://github.com/gryf/wicd.git synced 2025-12-24 15:12:31 +01:00

Fix LogFile class by using io.FileIO instead of file

Thanks to Frank Hofmann for the right pointer to
https://stackoverflow.com/questions/47838405/porting-a-sub-class-of-python2-file-class-to-python3

Now at least "/usr/sbin/wicd -c -f -e -o" keeps running.

Still throws errors and warnings, though:

/usr/share/wicd/daemon/wicd-daemon.py:1925: PyGIDeprecationWarning: GObject.MainLoop is deprecated; use GLib.MainLoop instead
  mainloop = gobject.MainLoop()
/usr/share/wicd/daemon/monitor.py:392: PyGIDeprecationWarning: GObject.MainLoop is deprecated; use GLib.MainLoop instead
  mainloop = gobject.MainLoop()
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python3.7/threading.py", line 926, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.7/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/share/wicd/daemon/wicd-daemon.py", line 1020, in _async_scan
    self._sync_scan()
  File "/usr/share/wicd/daemon/wicd-daemon.py", line 1024, in _sync_scan
    scan = self.wifi.Scan(str(self.hidden_essid))
  File "/usr/lib/python3/dist-packages/wicd/networking.py", line 673, in Scan
    aps = wiface.GetNetworks(essid)
  File "/usr/lib/python3/dist-packages/wicd/wnettools.py", line 227, in newfunc
    return func(self, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/wicd/wnettools.py", line 1392, in GetNetworks
    entry = self._ParseAccessPoint(cell, ralink_info)
  File "/usr/lib/python3/dist-packages/wicd/wnettools.py", line 1447, in _ParseAccessPoint
    ap['bitrates'] = sorted(m, lambda x, y: int(float(x) - float(y)))
TypeError: sorted expected 1 arguments, got 2
This commit is contained in:
Axel Beckert
2019-09-11 01:24:27 +02:00
parent 187f85f6a0
commit fef2a43a59

View File

@@ -24,20 +24,21 @@ rotates itself when a maximum size is reached.
import sys
import os
import time
import io
class SizeError(IOError):
""" Custom error class. """
pass
class LogFile:
class LogFile(io.FileIO):
"""LogFile(name, [mode="w"], [maxsize=360000])
Opens a new file object. After writing <maxsize> bytes a SizeError
will be raised.
"""
def __init__(self, name, mode="a", maxsize=360000):
super(LogFile, self).__init__(name, mode)
def __init__(self, name, mode="a", maxsize=360000, *args, **kwargs):
super(LogFile, self).__init__(name, mode, maxsize, *args, **kwargs)
self.maxsize = maxsize
self.eol = True
try: