63 try: |
64 try: |
64 entries = self.client.info2(fn, recurse=False) |
65 entries = self.client.info2(fn, recurse=False) |
65 infoStr = "<table>" |
66 infoStr = "<table>" |
66 for path, info in entries: |
67 for path, info in entries: |
67 infoStr += self.trUtf8( |
68 infoStr += self.trUtf8( |
68 "<tr><td><b>Path (relative to project):</b></td><td>{0}</td></tr>")\ |
69 "<tr><td><b>Path (relative to project):</b></td>" |
69 .format(path) |
70 "<td>{0}</td></tr>").format(path) |
70 if info['URL']: |
71 if info['URL']: |
71 infoStr += self.trUtf8( |
72 infoStr += self.trUtf8( |
72 "<tr><td><b>Url:</b></td><td>{0}</td></tr>")\ |
73 "<tr><td><b>Url:</b></td><td>{0}</td></tr>")\ |
73 .format(info['URL']) |
74 .format(info['URL']) |
74 if info['rev']: |
75 if info['rev']: |
75 infoStr += self.trUtf8( |
76 infoStr += self.trUtf8( |
76 "<tr><td><b>Revision:</b></td><td>{0}</td></tr>")\ |
77 "<tr><td><b>Revision:</b></td><td>{0}</td></tr>")\ |
77 .format(info['rev'].number) |
78 .format(info['rev'].number) |
78 if info['repos_root_URL']: |
79 if info['repos_root_URL']: |
79 infoStr += self.trUtf8( |
80 infoStr += self.trUtf8( |
80 "<tr><td><b>Repository root URL:</b></td><td>{0}</td></tr>")\ |
81 "<tr><td><b>Repository root URL:</b></td>" |
81 .format(info['repos_root_URL']) |
82 "<td>{0}</td></tr>").format(info['repos_root_URL']) |
82 if info['repos_UUID']: |
83 if info['repos_UUID']: |
83 infoStr += self.trUtf8( |
84 infoStr += self.trUtf8( |
84 "<tr><td><b>Repository UUID:</b></td><td>{0}</td></tr>")\ |
85 "<tr><td><b>Repository UUID:</b></td>" |
85 .format(info['repos_UUID']) |
86 "<td>{0}</td></tr>").format(info['repos_UUID']) |
86 if info['last_changed_author']: |
87 if info['last_changed_author']: |
87 infoStr += self.trUtf8( |
88 infoStr += self.trUtf8( |
88 "<tr><td><b>Last changed author:</b></td><td>{0}</td></tr>")\ |
89 "<tr><td><b>Last changed author:</b></td>" |
|
90 "<td>{0}</td></tr>")\ |
89 .format(info['last_changed_author']) |
91 .format(info['last_changed_author']) |
90 if info['last_changed_date']: |
92 if info['last_changed_date']: |
91 infoStr += self.trUtf8( |
93 infoStr += self.trUtf8( |
92 "<tr><td><b>Last Changed Date:</b></td><td>{0}</td></tr>")\ |
94 "<tr><td><b>Last Changed Date:</b></td>" |
|
95 "<td>{0}</td></tr>")\ |
93 .format(formatTime(info['last_changed_date'])) |
96 .format(formatTime(info['last_changed_date'])) |
94 if info['last_changed_rev'] and \ |
97 if info['last_changed_rev'] and \ |
95 info['last_changed_rev'].kind == pysvn.opt_revision_kind.number: |
98 info['last_changed_rev'].kind == \ |
|
99 pysvn.opt_revision_kind.number: |
96 infoStr += self.trUtf8( |
100 infoStr += self.trUtf8( |
97 "<tr><td><b>Last changed revision:</b></td><td>{0}</td></tr>")\ |
101 "<tr><td><b>Last changed revision:</b></td>" |
|
102 "<td>{0}</td></tr>")\ |
98 .format(info['last_changed_rev'].number) |
103 .format(info['last_changed_rev'].number) |
99 if info['kind']: |
104 if info['kind']: |
100 if info['kind'] == pysvn.node_kind.file: |
105 if info['kind'] == pysvn.node_kind.file: |
101 nodeKind = self.trUtf8("file") |
106 nodeKind = self.trUtf8("file") |
102 elif info['kind'] == pysvn.node_kind.dir: |
107 elif info['kind'] == pysvn.node_kind.dir: |
112 lockInfo = info['lock'] |
117 lockInfo = info['lock'] |
113 infoStr += self.trUtf8( |
118 infoStr += self.trUtf8( |
114 "<tr><td><b>Lock Owner:</b></td><td>{0}</td></tr>")\ |
119 "<tr><td><b>Lock Owner:</b></td><td>{0}</td></tr>")\ |
115 .format(lockInfo['owner']) |
120 .format(lockInfo['owner']) |
116 infoStr += self.trUtf8( |
121 infoStr += self.trUtf8( |
117 "<tr><td><b>Lock Creation Date:</b></td><td>{0}</td></tr>")\ |
122 "<tr><td><b>Lock Creation Date:</b></td>" |
|
123 "<td>{0}</td></tr>")\ |
118 .format(formatTime(lockInfo['creation_date'])) |
124 .format(formatTime(lockInfo['creation_date'])) |
119 if lockInfo['expiration_date'] is not None: |
125 if lockInfo['expiration_date'] is not None: |
120 infoStr += \ |
126 infoStr += \ |
121 self.trUtf8( |
127 self.trUtf8( |
122 "<tr><td><b>Lock Expiration Date:</b></td><td>{0}</td></tr>")\ |
128 "<tr><td><b>Lock Expiration Date:</b></td>" |
|
129 "<td>{0}</td></tr>")\ |
123 .format(formatTime(lockInfo['expiration_date'])) |
130 .format(formatTime(lockInfo['expiration_date'])) |
124 infoStr += self.trUtf8( |
131 infoStr += self.trUtf8( |
125 "<tr><td><b>Lock Token:</b></td><td>{0}</td></tr>")\ |
132 "<tr><td><b>Lock Token:</b></td><td>{0}</td></tr>")\ |
126 .format(lockInfo['token']) |
133 .format(lockInfo['token']) |
127 infoStr += self.trUtf8( |
134 infoStr += self.trUtf8( |
141 infoStr += self.trUtf8( |
148 infoStr += self.trUtf8( |
142 "<tr><td><b>Schedule:</b></td><td>{0}</td></tr>")\ |
149 "<tr><td><b>Schedule:</b></td><td>{0}</td></tr>")\ |
143 .format(schedule) |
150 .format(schedule) |
144 if wcInfo['copyfrom_url']: |
151 if wcInfo['copyfrom_url']: |
145 infoStr += self.trUtf8( |
152 infoStr += self.trUtf8( |
146 "<tr><td><b>Copied From URL:</b></td><td>{0}</td></tr>")\ |
153 "<tr><td><b>Copied From URL:</b></td>" |
|
154 "<td>{0}</td></tr>")\ |
147 .format(wcInfo['copyfrom_url']) |
155 .format(wcInfo['copyfrom_url']) |
148 infoStr += self.trUtf8( |
156 infoStr += self.trUtf8( |
149 "<tr><td><b>Copied From Rev:</b></td><td>{0}</td></tr>")\ |
157 "<tr><td><b>Copied From Rev:</b></td>" |
|
158 "<td>{0}</td></tr>")\ |
150 .format(wcInfo['copyfrom_rev'].number) |
159 .format(wcInfo['copyfrom_rev'].number) |
151 if wcInfo['text_time']: |
160 if wcInfo['text_time']: |
152 infoStr += self.trUtf8( |
161 infoStr += self.trUtf8( |
153 "<tr><td><b>Text Last Updated:</b></td><td>{0}</td></tr>")\ |
162 "<tr><td><b>Text Last Updated:</b></td>" |
|
163 "<td>{0}</td></tr>")\ |
154 .format(formatTime(wcInfo['text_time'])) |
164 .format(formatTime(wcInfo['text_time'])) |
155 if wcInfo['prop_time']: |
165 if wcInfo['prop_time']: |
156 infoStr += self.trUtf8( |
166 infoStr += self.trUtf8( |
157 "<tr><td><b>Properties Last Updated:</b></td><td>{0}</td></tr>")\ |
167 "<tr><td><b>Properties Last Updated:</b></td>" |
|
168 "<td>{0}</td></tr>")\ |
158 .format(formatTime(wcInfo['prop_time'])) |
169 .format(formatTime(wcInfo['prop_time'])) |
159 if wcInfo['checksum']: |
170 if wcInfo['checksum']: |
160 infoStr += self.trUtf8( |
171 infoStr += self.trUtf8( |
161 "<tr><td><b>Checksum:</b></td><td>{0}</td></tr>")\ |
172 "<tr><td><b>Checksum:</b></td><td>{0}</td></tr>")\ |
162 .format(wcInfo['checksum']) |
173 .format(wcInfo['checksum']) |