[yocto] [opkg-utils][PATCH 17/22] opkg-make-index: don't use stdout for Packages output and use __str__ instead of __repr__
Martin Jansa
martin.jansa at gmail.com
Thu Mar 29 15:22:51 PDT 2012
Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
---
opkg-make-index | 17 +++++++++--------
opkg.py | 4 ++--
2 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/opkg-make-index b/opkg-make-index
index 898a2f6..02c425f 100755
--- a/opkg-make-index
+++ b/opkg-make-index
@@ -148,9 +148,8 @@ if opt_s:
if verbose:
sys.stderr.write("Generating Packages file\n")
if packages_filename:
- old_stdout = sys.stdout
tmp_packages_filename = ("%s.%d" % (packages_filename, os.getpid()))
- sys.stdout = open(tmp_packages_filename, "w")
+ pkgsFile = open(tmp_packages_filename, "w")
names = list(packages.packages.keys())
names.sort()
for name in names:
@@ -171,7 +170,10 @@ for name in names:
continue
if (verbose):
sys.stderr.write("Writing info for package %s\n" % (pkg.package,))
- print(pkg)
+ if packages_filename:
+ pkgsFile.write(str(pkg))
+ else:
+ print(pkg)
except OSError as e:
sys.stderr.write("Package %s disappeared on us!\n(%s)\n" % (name, e))
continue
@@ -180,8 +182,7 @@ for name in names:
continue
if packages_filename:
- sys.stdout.close()
- sys.stdout = old_stdout
+ pkgsFile.close()
gzip_filename = ("%s.gz" % packages_filename)
tmp_gzip_filename = ("%s.%d" % (gzip_filename, os.getpid()))
gzip_cmd = "gzip -9c < %s > %s" % (tmp_packages_filename, tmp_gzip_filename)
@@ -211,12 +212,12 @@ for name in names:
if filelist_filename:
tmp_filelist_filename = ("%s.%d" % (filelist_filename, os.getpid()))
- sys.stdout = open(tmp_filelist_filename, "w")
+ f = open(tmp_filelist_filename, "w")
names = list(files.keys())
names.sort()
for name in names:
- print((name,files[name]))
- sys.stdout.close()
+ f.write("%s %s\n" % (name, files[name]))
+ f.close()
if posixpath.exists(filelist_filename):
os.unlink(filelist_filename)
os.rename(tmp_filelist_filename, filelist_filename)
diff --git a/opkg.py b/opkg.py
index 299e84e..84583be 100644
--- a/opkg.py
+++ b/opkg.py
@@ -402,7 +402,7 @@ class Package:
ref.parsed_version = parse_version(ref.version)
return self.parsed_version.compare(ref.parsed_version)
- def __repr__(self):
+ def __str__(self):
out = ""
# XXX - Some checks need to be made, and some exceptions
@@ -506,7 +506,7 @@ if __name__ == "__main__":
package.set_description("A test of the APIs.")
print("<")
- sys.stdout.write(package)
+ sys.stdout.write(str(package))
print(">")
package.write_package("/tmp")
--
1.7.8.5
More information about the yocto
mailing list