Mailinglist Archive: opensuse-commit (1903 mails)

< Previous Next >
commit python-pyxdg for openSUSE:Factory
Hello community,

here is the log from the commit of package python-pyxdg for openSUSE:Factory
checked in at 2019-04-28 19:57:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pyxdg (Old)
and /work/SRC/openSUSE:Factory/.python-pyxdg.new.5536 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pyxdg"

Sun Apr 28 19:57:15 2019 rev:6 rq:697506 version:0.26

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pyxdg/python-pyxdg.changes
2018-12-27 00:28:14.431719615 +0100
+++ /work/SRC/openSUSE:Factory/.python-pyxdg.new.5536/python-pyxdg.changes
2019-04-28 19:57:16.507013781 +0200
@@ -1,0 +2,5 @@
+Wed Apr 24 13:12:09 UTC 2019 - Ondřej Súkup <mimi.vx@xxxxxxxxx>
+
+- add resource_leak.patch - Fix several ResourceWarnings: unclosed file
+
+-------------------------------------------------------------------

New:
----
resource_leak.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-pyxdg.spec ++++++
--- /var/tmp/diff_new_pack.d4kVUW/_old 2019-04-28 19:57:16.959013508 +0200
+++ /var/tmp/diff_new_pack.d4kVUW/_new 2019-04-28 19:57:16.967013504 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-pyxdg
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -26,6 +26,7 @@
Group: Development/Languages/Python
URL: http://freedesktop.org/wiki/Software/pyxdg
Source:
https://files.pythonhosted.org/packages/source/p/pyxdg/pyxdg-%{version}.tar.gz
+Patch0: resource_leak.patch
BuildRequires: %{python_module nose}
BuildRequires: hicolor-icon-theme
BuildRequires: python-rpm-macros
@@ -52,6 +53,7 @@

%prep
%setup -q -n pyxdg-%{version}
+%patch0 -p1

%build
%python_build

++++++ resource_leak.patch ++++++
From 73476af1eecb8e29f2a461e003a2d8a735d22306 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micka=C3=ABl=20Schoentgen?= <contact@xxxxxxxxxxxx>
Date: Sun, 9 Dec 2018 17:31:24 +0100
Subject: Fix several ResourceWarnings: unclosed file

---
xdg/IniFile.py | 61 +++++++++++++++++++++++++++---------------------------
xdg/Mime.py | 9 +++++---
xdg/RecentFiles.py | 43 +++++++++++++++++++-------------------
3 files changed, 57 insertions(+), 56 deletions(-)

diff --git a/xdg/IniFile.py b/xdg/IniFile.py
index 718589f..84be614 100644
--- a/xdg/IniFile.py
+++ b/xdg/IniFile.py
@@ -56,38 +56,37 @@ class IniFile:
return

# parse file
- for line in fd:
- line = line.strip()
- # empty line
- if not line:
- continue
- # comment
- elif line[0] == '#':
- continue
- # new group
- elif line[0] == '[':
- currentGroup = line.lstrip("[").rstrip("]")
- if debug and self.hasGroup(currentGroup):
- raise DuplicateGroupError(currentGroup, filename)
- else:
- content[currentGroup] = {}
- # key
- else:
- try:
- key, value = line.split("=", 1)
- except ValueError:
- raise ParsingError("Invalid line: " + line, filename)
-
- key = key.strip() # Spaces before/after '=' should be ignored
- try:
- if debug and self.hasKey(key, currentGroup):
- raise DuplicateKeyError(key, currentGroup, filename)
+ with fd:
+ for line in fd:
+ line = line.strip()
+ # empty line
+ if not line:
+ continue
+ # comment
+ elif line[0] == '#':
+ continue
+ # new group
+ elif line[0] == '[':
+ currentGroup = line.lstrip("[").rstrip("]")
+ if debug and self.hasGroup(currentGroup):
+ raise DuplicateGroupError(currentGroup, filename)
else:
- content[currentGroup][key] = value.strip()
- except (IndexError, UnboundLocalError):
- raise ParsingError("Parsing error on key, group missing",
filename)
-
- fd.close()
+ content[currentGroup] = {}
+ # key
+ else:
+ try:
+ key, value = line.split("=", 1)
+ except ValueError:
+ raise ParsingError("Invalid line: " + line, filename)
+
+ key = key.strip() # Spaces before/after '=' should be
ignored
+ try:
+ if debug and self.hasKey(key, currentGroup):
+ raise DuplicateKeyError(key, currentGroup,
filename)
+ else:
+ content[currentGroup][key] = value.strip()
+ except (IndexError, UnboundLocalError):
+ raise ParsingError("Parsing error on key, group
missing", filename)

self.filename = filename
self.tainted = False
diff --git a/xdg/Mime.py b/xdg/Mime.py
index 3bff8b2..886cb42 100644
--- a/xdg/Mime.py
+++ b/xdg/Mime.py
@@ -749,14 +749,16 @@ def install_mime_info(application, package_file):
file with the same name (if the contents are different)"""
application += '.xml'

- new_data = open(package_file).read()
+ with open(package_file) as f:
+ new_data = f.read()

# See if the file is already installed
package_dir = os.path.join('mime', 'packages')
resource = os.path.join(package_dir, application)
for x in BaseDirectory.load_data_paths(resource):
try:
- old_data = open(x).read()
+ with open(x) as f:
+ old_data = f.read()
except:
continue
if old_data == new_data:
@@ -770,7 +772,8 @@ def install_mime_info(application, package_file):
new_file = os.path.join(BaseDirectory.save_data_path(package_dir),
application)

# Write the file...
- open(new_file, 'w').write(new_data)
+ with open(new_file, 'w') as f:
+ f.write(new_data)

# Update the database...
command = 'update-mime-database'
diff --git a/xdg/RecentFiles.py b/xdg/RecentFiles.py
index 3038b57..7ee7ee5 100644
--- a/xdg/RecentFiles.py
+++ b/xdg/RecentFiles.py
@@ -71,28 +71,27 @@ class RecentFiles:
elif not filename:
filename = self.filename

- f = open(filename, "w")
- fcntl.lockf(f, fcntl.LOCK_EX)
- f.write('<?xml version="1.0"?>\n')
- f.write("<RecentFiles>\n")
-
- for r in self.RecentFiles:
- f.write(" <RecentItem>\n")
- f.write(" <URI>%s</URI>\n" % xml.sax.saxutils.escape(r.URI))
- f.write(" <Mime-Type>%s</Mime-Type>\n" % r.MimeType)
- f.write(" <Timestamp>%s</Timestamp>\n" % r.Timestamp)
- if r.Private == True:
- f.write(" <Private/>\n")
- if len(r.Groups) > 0:
- f.write(" <Groups>\n")
- for group in r.Groups:
- f.write(" <Group>%s</Group>\n" % group)
- f.write(" </Groups>\n")
- f.write(" </RecentItem>\n")
-
- f.write("</RecentFiles>\n")
- fcntl.lockf(f, fcntl.LOCK_UN)
- f.close()
+ with open(filename, "w") as f:
+ fcntl.lockf(f, fcntl.LOCK_EX)
+ f.write('<?xml version="1.0"?>\n')
+ f.write("<RecentFiles>\n")
+
+ for r in self.RecentFiles:
+ f.write(" <RecentItem>\n")
+ f.write(" <URI>%s</URI>\n" % xml.sax.saxutils.escape(r.URI))
+ f.write(" <Mime-Type>%s</Mime-Type>\n" % r.MimeType)
+ f.write(" <Timestamp>%s</Timestamp>\n" % r.Timestamp)
+ if r.Private == True:
+ f.write(" <Private/>\n")
+ if len(r.Groups) > 0:
+ f.write(" <Groups>\n")
+ for group in r.Groups:
+ f.write(" <Group>%s</Group>\n" % group)
+ f.write(" </Groups>\n")
+ f.write(" </RecentItem>\n")
+
+ f.write("</RecentFiles>\n")
+ fcntl.lockf(f, fcntl.LOCK_UN)

def getFiles(self, mimetypes=None, groups=None, limit=0):
"""Get a list of recently used files.
--
cgit v1.1


< Previous Next >
This Thread
  • No further messages