1 |
Author: zmedico |
2 |
Date: 2008-07-04 22:19:18 +0000 (Fri, 04 Jul 2008) |
3 |
New Revision: 10932 |
4 |
|
5 |
Modified: |
6 |
main/trunk/pym/_emerge/__init__.py |
7 |
Log: |
8 |
Convert EbuildFetcher to an asynchronous interface: |
9 |
* Rename EbuildFetcher to EbuildFetchPretend. |
10 |
* Rename EbuildFetcherAsync to EbuildFetcher. |
11 |
|
12 |
|
13 |
Modified: main/trunk/pym/_emerge/__init__.py |
14 |
=================================================================== |
15 |
--- main/trunk/pym/_emerge/__init__.py 2008-07-04 21:46:05 UTC (rev 10931) |
16 |
+++ main/trunk/pym/_emerge/__init__.py 2008-07-04 22:19:18 UTC (rev 10932) |
17 |
@@ -1439,9 +1439,9 @@ |
18 |
v = 0 |
19 |
self._pkg.mtime = v |
20 |
|
21 |
-class EbuildFetcher(SlotObject): |
22 |
+class EbuildFetchPretend(SlotObject): |
23 |
|
24 |
- __slots__ = ("cancelled", "fetch_all", "pkg", "pretend", "settings") |
25 |
+ __slots__ = ("fetch_all", "pkg", "settings") |
26 |
|
27 |
def execute(self): |
28 |
portdb = self.pkg.root_config.trees["porttree"].dbapi |
29 |
@@ -1450,7 +1450,7 @@ |
30 |
|
31 |
retval = portage.doebuild(ebuild_path, "fetch", |
32 |
self.settings["ROOT"], self.settings, debug=debug, |
33 |
- listonly=self.pretend, fetchonly=1, fetchall=self.fetch_all, |
34 |
+ listonly=1, fetchonly=1, fetchall=self.fetch_all, |
35 |
mydbapi=portdb, tree="porttree") |
36 |
return retval |
37 |
|
38 |
@@ -1596,7 +1596,7 @@ |
39 |
self.registered = False |
40 |
return self.registered |
41 |
|
42 |
-class EbuildFetcherAsync(SpawnProcess): |
43 |
+class EbuildFetcher(SpawnProcess): |
44 |
|
45 |
__slots__ = ("pkg",) |
46 |
|
47 |
@@ -1737,9 +1737,21 @@ |
48 |
not opts.buildpkg |
49 |
|
50 |
if opts.fetchonly: |
51 |
- fetcher = EbuildFetcher(fetch_all=opts.fetch_all_uri, |
52 |
- pkg=pkg, pretend=opts.pretend, settings=settings) |
53 |
- retval = fetcher.execute() |
54 |
+ if opts.pretend: |
55 |
+ |
56 |
+ fetcher = EbuildFetchPretend( |
57 |
+ fetch_all=opts.fetch_all_uri, |
58 |
+ pkg=pkg, settings=settings) |
59 |
+ |
60 |
+ retval = fetcher.execute() |
61 |
+ |
62 |
+ else: |
63 |
+ |
64 |
+ fetcher = EbuildFetcher(pkg=pkg, scheduler=scheduler) |
65 |
+ fetcher.start() |
66 |
+ scheduler.schedule(fetcher.reg_id) |
67 |
+ retval = fetcher.wait() |
68 |
+ |
69 |
if retval != os.EX_OK: |
70 |
from portage.elog.messages import eerror |
71 |
eerror("!!! Fetch for %s failed, continuing..." % pkg.cpv, |
72 |
@@ -7360,7 +7372,7 @@ |
73 |
|
74 |
elif pkg.type_name == "ebuild": |
75 |
|
76 |
- prefetcher = EbuildFetcherAsync(logfile=self._fetch_log, pkg=pkg, |
77 |
+ prefetcher = EbuildFetcher(logfile=self._fetch_log, pkg=pkg, |
78 |
scheduler=self._sched_iface) |
79 |
|
80 |
elif pkg.type_name == "binary" and \ |
81 |
|
82 |
-- |
83 |
gentoo-commits@l.g.o mailing list |