1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Thu, 29 Mar 2012 16:40:49 +0200
Subject: [PATCH] opkg-make-index: don't use stdout for Packages output and use
__str__ instead of __repr__
Signed-off-by: Martin Jansa <Martin.Jansa@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")
|