Edgewall Software

Opened 13 years ago

Closed 13 years ago

#10033 closed defect (worksforme)

ProgrammingError message when attempting to mark content as spam with spam filter plugin

Reported by: paul@… Owned by: Dirk Stöcker
Priority: normal Milestone:
Component: plugin/spamfilter Version: 0.11.7
Severity: normal Keywords:
Cc: Branch:
Release Notes:
API Changes:
Internal Changes:


I sometimes get this error when clicking "Mark selected as spam" on the "Spam Filtering: Monitoring" page with the spam filter plugin (rev 8330).

Trac detected an internal error:

ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings.

One of the submissions that triggered this was:


Business cards

Business cards

Several sorts of business cards in the market these days. Furthermore this is by far the most  important things that the fresh entrepreneur needs. While he is beginning a whole new company and trying to produce clients, she or he needs to ensure that her prospects have the contact information. This assists in the networking and as well in the act of promoting of the corporation. While you're getting the business card completed, there are numerous things that it's best to factor in. 

â?¢	Details- The details that the card holds are the initial and also the foremost thing that you need to figure out. Most of all, the name of the business plus your name must be mentioned within the card. Your house address together with the other contact information should likewise be mentioned. You also have the option of adding some other details which you may find necessary as outlined by your needs. 
â?¢	Design- The appearance of the business card also plays an important role here. This is the sort of component that well identifies your personality and opinion of your organization . While you have contacted a business card printing company, it's possible to demand them for their style collection. If you are not able to  find anything using their existing portfolio, it is possible to ask them to modify the card design according to your specs. While they are designing the card suitable for you, they're going to ask you a few question about the corporation dependent on exactly what the card will probably be designed for. 
â?¢	Material- The type of material that you might want the card to be manufactured in affects the sturdiness of the card. You can find [http://rubyprints.com frosted plastic business cards] which will make use of plastic to generate the cards. The cards aren't transparent and the materials is pasted on the card using paints that stick onto the cards for many years . These cards provide you with the function of durability. 
â?¢	Print- any type of print that you select might also have an effect on the outlook of the card. These are [http://rubyprints.com print business cards] that can be either in color maybe in white and black. The latter form of printing cost less in comparison to the color printing.  
These cards make the most of different kinds of paper and therefore are termed as essentially the most traditional forms of [http://rubyprints.com business cards] that can be found today. 
â?¢	Price- All of the above factors put collectively will decide the price of the business card. The color print cards will run you even more than the white and black cards. Likewise, the plastic cards will surely cost much more than the paper print cards. The appearance of the card  features a certain impact on the price. Another component that decides the price of the cards is the amount. What number of cards that you want to generally be printed will either decrease or rise the price tag. 
â?¢	Publishing company- the organization that you associate to have your cars printed matters a bunch. Usually there are companies who have superior technological innovations with regards to  obtaining high grade outcomes of the cards that are being printed.

System information:

Trac: 		0.11.7
Python: 	2.7 (r27:82500, Sep 16 2010, 18:02:00) [GCC 4.5.1 20100907 (Red Hat 4.5.1-3)]
setuptools: 	0.6
SQLite: 	3.6.23
pysqlite: 	2.6.0
Genshi: 	0.5.1
Pygments: 	1.3.1
Subversion: 	1.6.15 (r1038135)
jQuery:		1.2.6


File "/usr/lib/python2.7/site-packages/trac/web/main.py", line 450, in _dispatch_request
File "/usr/lib/python2.7/site-packages/trac/web/main.py", line 206, in dispatch
  resp = chosen_handler.process_request(req)
File "/usr/lib/python2.7/site-packages/trac/admin/web_ui.py", line 114, in process_request
File "/usr/lib/python2.7/site-packages/tracspamfilter/admin.py", line 74, in render_admin_panel
  if self._process_monitoring_panel(req):
File "/usr/lib/python2.7/site-packages/tracspamfilter/admin.py", line 221, in _process_monitoring_panel
  filtersys.train(req, entry_id, spam=spam)
File "/usr/lib/python2.7/site-packages/tracspamfilter/api.py", line 176, in train
  entry.content, spam=spam)
File "/usr/lib/python2.7/site-packages/tracspamfilter/filters/bayes.py", line 78, in train
  hammie.train(content.encode('utf-8'), spam)
File "/usr/lib/python2.7/site-packages/spambayes/hammie.py", line 164, in train
  self.bayes.learn(tokenize(msg), is_spam)
File "/usr/lib/python2.7/site-packages/spambayes/classifier.py", line 252, in learn
  self._add_msg(wordstream, is_spam)
File "/usr/lib/python2.7/site-packages/spambayes/classifier.py", line 354, in _add_msg
  record = self._wordinfoget(word)
File "/usr/lib/python2.7/site-packages/tracspamfilter/filters/bayes.py", line 149, in _wordinfoget
  row = self._get_row(word)
File "/usr/lib/python2.7/site-packages/tracspamfilter/filters/bayes.py", line 114, in _get_row
File "/usr/lib/python2.7/site-packages/trac/db/util.py", line 64, in execute
  return self.cursor.execute(sql_escape_percent(sql), args)
File "/usr/lib/python2.7/site-packages/trac/db/sqlite_backend.py", line 80, in execute
  result = PyFormatCursor.execute(self, *args)
File "/usr/lib/python2.7/site-packages/trac/db/sqlite_backend.py", line 59, in execute
  args or [])
File "/usr/lib/python2.7/site-packages/trac/db/sqlite_backend.py", line 51, in _rollback_on_error
  return function(self, *args, **kwargs)

Attachments (0)

Change History (1)

comment:1 by Dirk Stöcker, 13 years ago

Resolution: worksforme
Status: newclosed

Just update spamfilter and trac. This issue has already been fixed, but 0.11 version is no longer active maintained.

Modify Ticket

Change Properties
Set your email in Preferences
as closed The owner will remain Dirk Stöcker.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from Dirk Stöcker to the specified user.

Add Comment

E-mail address and name can be saved in the Preferences .
Note: See TracTickets for help on using tickets.