Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(108)

Side by Side Diff: third_party/twisted_8_1/twisted/lore/process.py

Issue 12261012: Remove third_party/twisted_8_1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 # -*- test-case-name: twisted.lore.test.test_lore -*-
2 # Copyright (c) 2001-2004 Twisted Matrix Laboratories.
3 # See LICENSE for details.
4
5 #
6 import sys, os
7 import tree #todo: get rid of this later
8 import indexer
9
10 class NoProcessorError(Exception):
11 pass
12
13 class ProcessingFailure(Exception):
14 pass
15
16 cols = 79
17
18 def dircount(d):
19 return len([1 for el in d.split("/") if el != '.'])
20
21
22 class Walker:
23
24 def __init__(self, df, fext, linkrel):
25 self.df = df
26 self.linkrel = linkrel
27 self.fext = fext
28 self.walked = []
29 self.failures = []
30
31 def walkdir(self, topdir, prefix=''):
32 self.basecount = dircount(topdir)
33 os.path.walk(topdir, self.walk, prefix)
34
35 def walk(self, prefix, d, names):
36 linkrel = prefix + '../' * (dircount(d) - self.basecount)
37 for name in names:
38 fullpath = os.path.join(d, name)
39 fext = os.path.splitext(name)[1]
40 if fext == self.fext:
41 self.walked.append((linkrel, fullpath))
42
43 def generate(self):
44 i = 0
45 indexer.clearEntries()
46 tree.filenum = 0
47 for linkrel, fullpath in self.walked:
48 linkrel = self.linkrel + linkrel
49 i += 1
50 fname = os.path.splitext(fullpath)[0]
51 self.percentdone((float(i) / len(self.walked)), fname)
52 try:
53 self.df(fullpath, linkrel)
54 except ProcessingFailure, e:
55 self.failures.append((fullpath, e))
56 indexer.generateIndex()
57 self.percentdone(1., None)
58
59 def percentdone(self, percent, fname):
60 # override for neater progress bars
61 proglen = 40
62 hashes = int(percent * proglen)
63 spaces = proglen - hashes
64 progstat = "[%s%s] (%s)" %('#' * hashes, ' ' * spaces,fname or "*Done*")
65 progstat += (cols - len(progstat)) * ' '
66 progstat += '\r'
67 sys.stdout.write(progstat)
68 sys.stdout.flush()
69 if fname is None:
70 print
71
72 class PlainReportingWalker(Walker):
73
74 def percentdone(self, percent, fname):
75 if fname:
76 print fname
77
78 class NullReportingWalker(Walker):
79
80 def percentdone(self, percent, fname):
81 pass
82
83 def parallelGenerator(originalFileName, outputExtension):
84 return os.path.splitext(originalFileName)[0]+outputExtension
85
86 def fooAddingGenerator(originalFileName, outputExtension):
87 return os.path.splitext(originalFileName)[0]+"foo"+outputExtension
88
89 def outputdirGenerator(originalFileName, outputExtension, inputdir, outputdir):
90 originalFileName = os.path.abspath(originalFileName)
91 abs_inputdir = os.path.abspath(inputdir)
92 if os.path.commonprefix((originalFileName, abs_inputdir)) != abs_inputdir:
93 raise ValueError("Original file name '" + originalFileName +
94 "' not under input directory '" + abs_inputdir + "'")
95
96 adjustedPath = os.path.join(outputdir, os.path.basename(originalFileName))
97 return tree.getOutputFileName(adjustedPath, outputExtension)
98
99 def getFilenameGenerator(config, outputExt):
100 if config.get('outputdir'):
101 return (lambda originalFileName, outputExtension:
102 outputdirGenerator(originalFileName, outputExtension,
103 os.path.abspath(config.get('inputdir')),
104 os.path.abspath(config.get('outputdir'))))
105 else:
106 return tree.getOutputFileName
107
108 def getProcessor(module, output, config):
109 try:
110 m = getattr(module.factory, 'generate_'+output)
111 except AttributeError:
112 raise NoProcessorError("cannot generate "+output+" output")
113
114 if config.get('ext'):
115 ext = config['ext']
116 else:
117 from default import htmlDefault
118 ext = htmlDefault['ext']
119
120 return m(config, getFilenameGenerator(config, ext))
OLDNEW
« no previous file with comments | « third_party/twisted_8_1/twisted/lore/numberer.py ('k') | third_party/twisted_8_1/twisted/lore/scripts/__init__.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698