id,summary,reporter,owner,description,type,status,priority,component,severity,resolution,keywords,cc,release 3758,"Broken egg install, conflict with tracusermanagerplugin 0.3",Michał Małecki,Jeff Hammel,"After standard egg installation, JS and CSS files are not present. While building an egg with {{{setup bdist_egg}}}, {{{html}}} calatogue is not included within the egg - thus plugin does not work. The appropriate directory in {{{.egg-cache}}} dir in trac env does not get created. After copying {{{html}}} directory manually to {{{Lib/site-packages/trac/}}} in python installation, it appears to work, but just till the restart of the httpd server. After restart it starts to conflict with requests to graphics and CSS from '''tracusermanagerplugin ''', every http request resulting in http 500 message with following error: {{{ Trac detected an internal error: KeyError: 'autocompleteusers\\htdocs' }}} and following traceback: 1. File ""C:\Python25\Lib\site-packages\trac\web\main.py"", line 423, in _dispatch_request[[BR]]Code fragment: {{{ 418. try: 419. if not env and env_error: 420. raise HTTPInternalError(env_error) 421. try: 422. dispatcher = RequestDispatcher(env) 423. dispatcher.dispatch(req) 424. except RequestDone: 425. pass 426. resp = req._response or [] 427. 428. except HTTPException, e: }}} Local variables: * __Name__ __Value__ * after [u' except RequestDone:', u' pass', u' resp = ... * before [u' try:', u' if not env and env_error:', u' raise ... * dispatcher * e KeyError('autocompleteusers\\htdocs',) * env * env_error None * exc_info (, KeyError('autocompleteusers\\htdocs',), ... * filename 'C:\\Python25\\Lib\\site-packages\\trac\\web\\main.py' * frames [{'function': '_dispatch_request', 'lines_before': [u' try:', u' ... * has_admin True * line u' dispatcher.dispatch(req)' * lineno 422 * message u""KeyError: 'autocompleteusers\\\\htdocs'"" * req * resp [] * tb * tb_hide None * traceback 'Traceback (most recent call last):\n File ... 1. File ""C:\Python25\Lib\site-packages\trac\web\main.py"", line 197, in dispatch[[BR]]Code fragment: {{{ 192. req.args.get('__FORM_TOKEN') != req.form_token: 193. raise HTTPBadRequest('Missing or invalid form token. ' 194. 'Do you have cookies enabled?') 195. 196. # Process the request and render the template 197. resp = chosen_handler.process_request(req) 198. if resp: 199. if len(resp) == 2: # Clearsilver 200. chrome.populate_hdf(req) 201. template, content_type = \ 202. self._post_process_request(req, *resp) }}} Local variables: * __Name__ __Value__ * chosen_handler * chrome * err (, KeyError('autocompleteusers\\htdocs',), ... * handler * req * self 1. File ""C:\Python25\Lib\site-packages\trac\web\chrome.py"", line 364, in process_request[[BR]]Code fragment: {{{ 359. filename = req.args['filename'] 360. 361. dirs = [] 362. for provider in self.template_providers: 363. for dir in [os.path.normpath(dir[1]) for dir 364. in provider.get_htdocs_dirs() if dir[0] == prefix]: 365. dirs.append(dir) 366. path = os.path.normpath(os.path.join(dir, filename)) 367. assert os.path.commonprefix([dir, path]) == dir 368. if os.path.isfile(path): 369. req.send_file(path, get_mimetype(path)) }}} Local variables: * __Name__ __Value__ * _[1] [] * dir ('customfieldadmin', ... * dirs [] * filename u'img/no_picture.png' * prefix u'tracusermanager' * provider * self 1. File ""build\bdist.win32\egg\autocompleteusers\autocompleteusers.py"", line 88, in get_htdocs_dirs Local variables: * __Name__ __Value__ * self 1. File ""C:\Python25\Lib\site-packages\pkg_resources.py"", line 1311, in get_resource_filename[[BR]]Code fragment: {{{ 1306. zip_path = self._resource_to_zip(resource_name) 1307. eagers = self._get_eager_resources() 1308. if '/'.join(self._parts(zip_path)) in eagers: 1309. for name in eagers: 1310. self._extract_resource(manager, self._eager_to_zip(name)) 1311. return self._extract_resource(manager, zip_path) 1312. 1313. def _extract_resource(self, manager, zip_path): 1314. 1315. if zip_path in self._index(): 1316. for name in self._index()[zip_path]: }}} Local variables: * __Name__ __Value__ * eagers [] * manager * resource_name 'htdocs' * self * zip_path 'autocompleteusers\\htdocs' 1. File ""C:\Python25\Lib\site-packages\pkg_resources.py"", line 1322, in _extract_resource [[BR]]Code fragment: {{{ 1317. last = self._extract_resource( 1318. manager, os.path.join(zip_path, name) 1319. ) 1320. return os.path.dirname(last) # return the extracted directory name 1321. 1322. zip_stat = self.zipinfo[zip_path] 1323. t,d,size = zip_stat[5], zip_stat[6], zip_stat[3] 1324. date_time = ( 1325. (d>>9)+1980, (d>>5)&0xF, d&0x1F, # ymd 1326. (t&0xFFFF)>>11, (t>>5)&0x3F, (t&0x1F) * 2, 0, 0, -1 # hms, etc. 1327. ) }}} Local variables: * __Name__ __Value__ * manager * self * zip_path 'autocompleteusers\\htdocs' ------ We suspect that the problem is in line no.4 in a traceback - the refference to a nonexistent dirctory from build directory of an egg distribution.",defect,closed,highest,AutocompleteUsersPlugin,normal,fixed,,,0.11