Re: [PATCH - hwmixvolume 4/9] hwmixvolume: use a with context to open files

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Aug 9 2018 00:56, Emmanuel Gil Peyrot wrote:
Signed-off-by: Emmanuel Gil Peyrot <linkmauve@xxxxxxxxxxxx>

diff --git a/hwmixvolume/hwmixvolume b/hwmixvolume/hwmixvolume
index 267228c..e82f32d 100755
--- a/hwmixvolume/hwmixvolume
+++ b/hwmixvolume/hwmixvolume
@@ -138,26 +138,20 @@ class Stream:
              subdevice = info.index
          filename = "/proc/asound/card%d/pcm%dp/sub%d/status" % (card, device, subdevice)
          try:
-            f = open(filename, "r")
+            with open(filename, "r") as f:
+                for line in f.readlines():
+                    if line[:9] == "owner_pid":
+                        return int(line.split(':')[1].strip())

I'm not oppose to use with (far from it I greatly prefer it.), however the with statement was firstly supported in Python 2.5:
https://docs.python.org/3.6/whatsnew/2.5.html#what-s-new-in-python-2-5

This mean that you drop python 2.4 or former, in this point I have no objections because it was already unsupported.

If you use Python 2.5 or later, you can use 'file()' instead of 'open()'. Furthermore, FILE object returned by 'file()' (or 'open()') supports 'iterator' and you have no need to call '.readlines()' anymore,
thus:

```
> +            with file(filename, "r") as f:
> +                for line in f:
...
```

          except IOError:
              return None
-        try:
-            for line in f.readlines():
-                if line[:9] == "owner_pid":
-                    return int(line.split(':')[1].strip())
-        finally:
-            f.close()
          return None
def get_pid_cmdline(self, pid):
          try:
-            f = open("/proc/%d/cmdline" % pid, "r")
+            with open("/proc/%d/cmdline" % pid, "r") as f:
+                cmdline = f.read()
          except IOError:
              return None
-        try:
-            cmdline = f.read()
-        finally:
-            f.close()
          return cmdline.replace('\x00', ' ').strip()
class MixerWindow(Gtk.Window):

Regards

Takashi Sakamoto
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux