#7747 closed defect (fixed)
architecture,platform,type show nothing
Reported by: | anonymous | Owned by: | Radek Bartoň |
---|---|---|---|
Priority: | normal | Component: | DownloadsPlugin |
Severity: | normal | Keywords: | |
Cc: | chuang@… | Trac Release: | 0.12 |
Description
we check trac.db and find data is there, but from web download list we see "architecture/platform" field of all files are both blank.
Attachments (0)
Change History (20)
comment:1 Changed 14 years ago by
Summary: | architecture,platform show nothing → architecture,platform,type show nothing |
---|
comment:2 Changed 14 years ago by
Status: | new → assigned |
---|
comment:3 Changed 14 years ago by
System Information Trac 0.12 FullBlog 0.1.1-r8253 Genshi 0.6 mod_wsgi 3.2 (WSGIProcessGroup WSGIApplicationGroup %{GLOBAL}) pysqlite 2.6.0 Python 2.4.3 (#1, Jun 11 2009, 14:09:58) [GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] setuptools 0.7a1 SQLite 3.6.23.1 Subversion 1.6.11 (r934486) jQuery: 1.4.2 Installed Plugins AdminEnumListPlugin 1.0 /svnroot/tracbase/ckb/plugins/AdminEnumListPlugin-1.0-py2.4.egg AnnouncerPlugin 0.2 /usr/lib/python2.4/site-packages/AnnouncerPlugin-0.2-py2.4.egg BatchModify 0.8.0a1-trac0.12 /svnroot/tracbase/ckb/plugins/BatchModify-0.8.0a1_trac0.12-py2.4.egg ChangeLogMacro 0.2 /svnroot/tracbase/ckb/plugins/ChangeLogMacro-0.2-py2.4.egg EstimationTools 0.4 /svnroot/tracbase/ckb/plugins/EstimationTools-0.4-py2.4.egg ForceComment 0.1 /svnroot/tracbase/ckb/plugins/ForceComment-0.1-py2.4.egg hideable-query 0.1 /svnroot/tracbase/ckb/plugins/hideable_query-0.1-py2.4.egg IcuCodeTools 0.0.1dev-r28251 /svnroot/trac/plugins/IcuCodeTools LoomingClouds 0.12r1 /usr/lib/python2.4/site-packages/LoomingClouds-0.12r1-py2.4.egg multiplerepos-revision N/A /svnroot/tracbase/ckb/plugins/multiplerepos_revision.pyc privatereports 0.1 /svnroot/tracbase/ckb/plugins/privatereports-0.1-py2.4.egg RoadmapFilter N/A /svnroot/tracbase/ckb/plugins/RoadmapFilter.pyc ticketvalidator.admin N/A /svnroot/tracbase/ckb/plugins/TicketValidator-0.1-py2.4.egg/ticketvalidator/admin.pyc ticketvalidator.core N/A /svnroot/tracbase/ckb/plugins/TicketValidator-0.1-py2.4.egg/ticketvalidator/core.pyc timingandestimationplugin 1.0.5b /svnroot/tracbase/ckb/plugins/timingandestimationplugin-1.0.5b-py2.4.egg TracAccountManager 0.2.1dev-r7737 /usr/lib/python2.4/site-packages/TracAccountManager-0.2.1dev_r7737-py2.4.egg TracAutoComplete 0.1 /svnroot/tracbase/ckb/plugins/TracAutoComplete-0.1-py2.4.egg TracDocuments 0.3 /svnroot/tracbase/ckb/plugins/TracDocuments-0.3-py2.4.egg TracFullBlogPlugin 0.1.1-r8253 /usr/lib/python2.4/site-packages/TracFullBlogPlugin-0.1.1_r8253-py2.4.egg TracGanttCalendarPlugin 0.1 /svnroot/tracbase/ckb/plugins/TracGanttCalendarPlugin-0.1-py2.4.egg TracMenusPlugin 0.1 /svnroot/tracbase/ckb/plugins/TracMenusPlugin-0.1-py2.4.egg TracStats 0.3 /svnroot/tracbase/ckb/plugins/TracStats-0.3-py2.4.egg TracSubTicketsPlugin 0.1.0 /svnroot/tracbase/ckb/plugins/TracSubTicketsPlugin-0.1.0-py2.4.egg TracTags 0.6 /usr/lib/python2.4/site-packages/TracTags-0.6-py2.4.egg TracTicketChangelogPlugin 0.1 /svnroot/tracbase/ckb/plugins/TracTicketChangelogPlugin-0.1-py2.4.egg TracTicketTemplate 0.7 /svnroot/tracbase/ckb/plugins/TracTicketTemplate-0.7-py2.4.egg TracVote 0.1.3 /usr/lib/python2.4/site-packages/TracVote-0.1.3-py2.4.egg TracWatchlistPlugin 0.4.8139 /usr/lib/python2.4/site-packages/TracWatchlistPlugin-0.4.8139-py2.4.egg TracWysiwyg 0.12.0.2-r8148 /usr/lib/python2.4/site-packages/TracWysiwyg-0.12.0.2_r8148-py2.4.egg whiteboard 0.1.0-trac0.12 /svnroot/tracbase/ckb/plugins/whiteboard-0.1.0_trac0.12-py2.4.egg
comment:4 Changed 14 years ago by
I added some debug in api.py code like def get_documents(self, context, order_by = 'id', desc = False): # Get documents from table. documents = self._get_items(context, 'document', ('id', 'file', 'description', 'size', 'time', 'count', 'author', 'tags', 'component', 'version', 'model', 'platform', 'type'), order_by = order_by, desc = desc) #debug2 self.log.debug(documents) # Replace field IDs with apropriate objects. for document in documents: document['model'] = self.get_model(context.cursor, document['model']) document['platform'] = self.get_platform(context.cursor, document['platform']) document['type'] = self.get_type(context.cursor, document['type']) #debug2 self.log.debug(documents) =================== I found the result in trac.log: #debug1: 2010-09-29 18:14:24,874 Trac[api] DEBUG: [{'count': 0, 'description': u'test', 'author': u'link', 'tags': None, 'component': u 'Other', 'platform': 1, 'version': u'BCM4.02L.03', 'file': u'WebUIStyles.rar', 'time': 1285749890, 'architecture': 1, 'type': 1, 'id' : 1, 'size': 1219426}] #debug2: 2010-09-29 18:14:24,875 Trac[api] DEBUG: [{'count': 0, 'description': u'test', 'author': u'link', 'tags': None, 'component': u 'Other', 'platform': {'description': '', 'id': 0, 'name': ''}, 'version': u'BCM4.02L.03', 'file': u'WebUIStyles.rar', 'time': 1285749890, 'architecture': {'description': '', 'id': 0, 'name': ''}, 'type': {'description': '', 'id': 0, 'name': ''}, 'id': 1, 'siz e': 1219426}] The problem may locate the code between debug1 and debug2.
comment:5 Changed 14 years ago by
***Here "model" == "architecture", only word replacements. in code def get_model(self, context, id): model = self._get_item(context, 'model', ('id', 'name', 'description'), 'id = %s', (id,)) #link self.log.debug(model) if not model: model = {'id' : 0, 'name' : '', 'description' : ''} return model ===== in Trac.log we see 2010-09-30 11:50:03,215 Trac[api] DEBUG: SELECT id, name, description FROM model WHERE id = 1 2010-09-30 11:50:03,216 Trac[api] DEBUG: None <===sql result is null. ===== In trac.db, we run the sql, the result is ok. [root@titan db]# sqlite3 trac.db SQLite version 3.3.6 Enter ".help" for instructions sqlite> SELECT id, name, description FROM model WHERE id = 1; 1|alpha| sqlite>
comment:6 Changed 14 years ago by
Resolution: | → invalid |
---|---|
Status: | assigned → closed |
This doesn't make sence. Either you have some typo with non-visible chars in your string literals (It happens to me sometimes when I hit a wrong key using ALT+something keyworks) or your Trac instance is using different database file than you have used with sqlite3 console.
Try to replace self._get_item() with to see the result:
context.cursor.execute("SELECT id, name, desription FROM model WHERE id = 1") for row in context.cursor: self.log.debug(row)
Anyway this problem is related to some customized version of DownloadsPlugin and not the upstream version so I'm closing this ticket as invalid but you may continue with discussion here.
comment:7 Changed 14 years ago by
The original version has the same issue too. I tested it before. this version is replace word architecture with model by sed command. so code should be the same. Did you think it's possible to Python-2.4?
comment:8 Changed 14 years ago by
Could be, I didn't tested it with Python 2.4 but I don't know the reason what's difference here.
What's the result of:
context.cursor.execute("SELECT id, name, desription FROM model WHERE id = 1") for row in context.cursor: self.log.debug(row)
?
comment:9 Changed 14 years ago by
The result is the same.
def _get_item_model(self, context, table, columns, where = , values = ()):
sql = 'SELECT id, name, description FROM model WHERE id = 1' self.log.debug(sql) context.cursor.execute(sql)
for row in context.cursor:
self.log.debug(row) <===No run to here, so result is None. row = dict(zip(columns, row)) return row
return None
=== 2010-09-30 17:23:08,564 Trac[api] DEBUG: SELECT id, name, description FROM model WHERE id = 1 2010-09-30 17:23:08,565 Trac[api] DEBUG: None
comment:10 Changed 14 years ago by
And
context.cursor.execute("SELECT id, name, desription FROM model WHERE id = '1'") for row in context.cursor: self.log.debug(row)
?
comment:11 Changed 14 years ago by
The result is also the same:
2010-10-02 19:09:27,084 Trac[api] DEBUG: SELECT id, name, description FROM model WHERE id = '1' 2010-10-02 19:09:27,085 Trac[api] DEBUG: SELECT id, name, description FROM model WHERE id = '1' 2010-10-02 19:09:27,085 Trac[api] DEBUG: (1,) 2010-10-02 19:09:27,085 Trac[api] DEBUG: None
comment:13 Changed 14 years ago by
I think the problem is in mod_wsgi implementation of cursor, I'll try it with mod_wsgi lately but I doubt I can do anything about it.
comment:14 Changed 14 years ago by
The result is cursor still get None record. Do you think Python2.6+mod_wsgi can slove this issue? I'll try Python 2.6 soon, thanks.
comment:15 Changed 14 years ago by
This is not None:
2010-10-02 19:09:27,085 Trac[api] DEBUG: (1,)
I'm loosing the context here.
Do you think Python2.6+mod_wsgi can slove this issue?
I don't know, I have to try it but not today.
comment:16 Changed 14 years ago by
Sorry.
it's printed by below debug code.
def _get_item_model(self, context, table, columns, where = '', values = ()): sql = "SELECT id, name, description FROM model WHERE id = '1'" self.log.debug(sql) context.cursor.execute(sql) self.log.debug(sql) self.log.debug(values) <====output: DEBUG: (1,) for row in context.cursor: self.log.debug(row) <===not Run to here, so cursor is None. row = dict(zip(columns, row)) return row return None
comment:17 Changed 14 years ago by
Hi,
I update Trac to Python2.6 and with original download plugin, it still doesn't work. what else information do you want me to dig out? thanks.
comment:18 Changed 14 years ago by
Resolution: | invalid |
---|---|
Status: | closed → reopened |
All right, I must apologize for misunderstanding. The problem was the whole time there but I was looking elsewhere because I didn't read the bug description carefully. Changeset r9269 should fix that. Please close the ticket if it does.
comment:19 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
it works!! set it close as fixed, thanks.
comment:20 Changed 14 years ago by
Thank you. Once aggain, sorry for my inattention during reading the issue description. It could save a lot of time to both of us.
Works for me. Could you be more specific about your system configuration and could you post debug level log from architectre/platform list event? See BugReporting and TracLogging for details.