Gentoo Archives: gentoo-commits

From: Brian Dolbec <brian.dolbec@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/overlord:master commit in: overlord/
Date: Mon, 07 Feb 2011 03:10:20
Message-Id: 5d8d00d735d80308d3a2b973ee5de80dcb78c84e.dol-sen@gentoo
1 commit: 5d8d00d735d80308d3a2b973ee5de80dcb78c84e
2 Author: Brian Dolbec <brian.dolbec <AT> gmail <DOT> com>
3 AuthorDate: Sun Feb 6 23:40:15 2011 +0000
4 Commit: Brian Dolbec <brian.dolbec <AT> gmail <DOT> com>
5 CommitDate: Sun Feb 6 23:40:15 2011 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/overlord.git;a=commit;h=5d8d00d7
7
8 use the new message class and fix the error recording and output
9
10 ---
11 overlord/api.py | 43 +++++++++++++++++++++----------------------
12 overlord/cli.py | 3 ++-
13 2 files changed, 23 insertions(+), 23 deletions(-)
14
15 diff --git a/overlord/api.py b/overlord/api.py
16 index 0fe9362..4aee39e 100644
17 --- a/overlord/api.py
18 +++ b/overlord/api.py
19 @@ -20,10 +20,11 @@ import os
20 from overlord.config import BareConfig
21 #from overlord.action import Sync
22
23 -from overlord.dbbase import UnknownOverlayException
24 +from overlord.dbbase import UnknownOverlayException, UnknownOverlayMessage
25 from overlord.db import DB, RemoteDB
26 #from overlord.utils import path, delete_empty_directory
27 -from overlord.debug import OUT
28 +#from overlord.debug import OUT
29 +from overlord.output import OUT
30
31 # give them some values for now, these are from the packagekit backend
32 # TODO establish some proper errors for the api.
33 @@ -114,11 +115,7 @@ class OverlordAPI(object):
34 for ovl in repos:
35 if not self.is_installed(ovl):
36 results.append(True)
37 - break
38 - if not self.is_repo(ovl):
39 - self._error(1, UNKNOWN_REPO_ID %ovl)
40 - results.append(False)
41 - break
42 + continue
43 try:
44 self._get_installed_db().delete(self._get_installed_db().select(ovl))
45 results.append(True)
46 @@ -145,11 +142,11 @@ class OverlordAPI(object):
47 for ovl in repos:
48 if self.is_installed(ovl):
49 results.append(True)
50 - break
51 + continue
52 if not self.is_repo(ovl):
53 - self._error(1, UNKNOWN_REPO_ID %ovl)
54 + self._error(UnknownOverlayMessage(ovl))
55 results.append(False)
56 - break
57 + continue
58 try:
59 self._get_installed_db().add(self._get_remote_db().select(ovl), quiet=True)
60 results.append(True)
61 @@ -199,12 +196,13 @@ class OverlordAPI(object):
62
63 for ovl in repos:
64 if not self.is_repo(ovl):
65 - self._error(1, UNKNOWN_REPO_ID %ovl)
66 + self._error(UnknownOverlayMessage(ovl))
67 result[ovl] = ('', False, False)
68 + continue
69 try:
70 overlay = db.select(ovl)
71 except UnknownOverlayException, error:
72 - self._error(2, "Error: %s" %str(error))
73 + self._error(error)
74 result[ovl] = ('', False, False)
75 else:
76 result[ovl] = {
77 @@ -247,20 +245,21 @@ class OverlordAPI(object):
78
79 for ovl in repos:
80 if not self.is_repo(ovl):
81 - self._error(1, UNKNOWN_REPO_ID % ovl)
82 + self._error(UnknownOverlayMessage(ovl))
83 result[ovl] = ('', False, False)
84 + continue
85 try:
86 overlay = db.select(ovl)
87 #print "overlay = ", ovl
88 - #print overlay
89 + #print "!!!", overlay
90 except UnknownOverlayException, error:
91 #print "ERRORS", str(error)
92 - self._error(2, "Error: %s" %str(error))
93 + self._error(error)
94 result[ovl] = ('', False, False)
95 else:
96 # Is the overlay supported?
97 if verbose:
98 - info = overlay.__str__()
99 + info = overlay.get_infostr()
100 else:
101 info = overlay.short_list(width)
102 official = overlay.is_official()
103 @@ -271,7 +270,7 @@ class OverlordAPI(object):
104
105 def get_info_list(self, local=True, verbose=False, width=0):
106 """retrieves the string representation of the recorded information
107 - about the repo(s) specified by ovl
108 + about the repo(s)
109
110 @param local: bool (defaults to True)
111 @param verbose: bool(defaults to False)
112 @@ -303,7 +302,7 @@ class OverlordAPI(object):
113 try:
114 odb = db.select(ovl)
115 except UnknownOverlayException, error:
116 - self._error(1,"Sync(), failed to select %s overlay. Original error was: %s" %(ovl, str(error)))
117 + self._error(UnknownOverlayException(error))
118 continue
119
120 try:
121 @@ -376,7 +375,7 @@ class OverlordAPI(object):
122 try:
123 self._get_remote_db().cache()
124 except Exception, error:
125 - self._error(-1,'Failed to fetch overlay list!\n Original Error was: '
126 + self._error('Failed to fetch overlay list!\n Original Error was: '
127 + str(error))
128 return False
129 self.get_available(reload=True)
130 @@ -417,13 +416,13 @@ class OverlordAPI(object):
131 result = self.get_installed(reload=True)
132
133
134 - def _error(self, num, message):
135 + def _error(self, message):
136 """outputs the error to the pre-determined output
137 defaults to stderr. This method may be removed, is here for now
138 due to code taken from the packagekit backend.
139 """
140 - msg = "Error: %d," % num, message
141 - self._error_messages.append(msg)
142 + #msg = "Error: %d," % num, message
143 + self._error_messages.append(message)
144 if self.report_errors:
145 print >>stderr, msg
146
147
148 diff --git a/overlord/cli.py b/overlord/cli.py
149 index 501dd65..0953de1 100644
150 --- a/overlord/cli.py
151 +++ b/overlord/cli.py
152 @@ -171,7 +171,8 @@ class Main(object):
153 try:
154 result += getattr(self, action[1])()
155 except Exception, error:
156 - self.output.error(self.api.get_errors())
157 + for _error in self.api.get_errors():
158 + self.output.error(_error)
159 result = -1 # So it cannot remain 0, i.e. success
160 break