Файл, открытый codecs.open
, является файлом, который принимает данные unicode
, кодирует его в iso-8859-1
и записывает в файл. Однако вы пытаетесь написать не unicode
; вы берете unicode
и кодируете его в iso-8859-1
самостоятельно . Это то, что делает метод unicode.encode
, а результат кодирования строки юникода - это bytestring (тип str
.)
Вы должны либо использовать обычный open()
, либо самостоятельно закодировать юникод, либо (обычно лучшая идея), используйте codecs.open()
и not сами кодировать данные.
Если Вы используете Eclipse: Mylyn прекрасен.
Иначе Вы могли всегда получать плагин RPC XML. http://trac-hacks.org/wiki/XmlRpcPlugin и самокрутка мало инструмента.
Для того, чтобы быстро создать подобные тикеты, Вы могли использовать плагин Клона: http://trac-hacks.org/wiki/CloneTicketPlugin
Редактирование И я идея второго Espen с рычагом регистрации SVN, это работает отлично для нас, также.
Вы могли попытаться использовать EmailtoTrack, таким образом, можно создать тикеты только путем отправки электронных писем.
(Другая аккуратная подсказка по дорожке, если не непосредственно связанный с Вашим вопросом, должна использовать рычаг фиксации с Вашей системой управления версиями, таким образом, можно закрыть билеты путем выполнения фиксаций. Я только попробовал этого за SVN, но это не должно быть твердо к порту.)
Если Mylyn работает на Вас, рассмотрите проверку http://tasktop.com также. Tasktop расширяет Mylyn с помощью мощных функций производительности, таких как автоматическое время, отслеживая, поддержка просмотра веб-страниц, электронная почта и календарная интеграция, и т.д.
Следующее позволяет вам быстро напечатать заметку. Заметка становится тикетом Trac, назначенным вам. Я использую это для очень быстрых ошибок и / или функций, которые не хочу забывать. Или, если я создаю функцию, которую открываю, затем закрываю заявку на нее, так что я получаю полный кредит :) - j
#!/usr/bin/env python
'''
trac-bug: add bug/feature to current Trac project, from the command line.
Specify Trac project directory in TRAC_ENV environment variable.
'''
import os, sys
TRAC_ENV = os.environ.get('TRAC_ENV') or os.path.expanduser('~/trac/projectenv')
if not os.path.isdir(TRAC_ENV):
print >>sys.stderr, "Set TRAC_ENV to the Trac project directory."
sys.exit(2)
from trac.env import open_environment
from trac.ticket import Ticket
t = Ticket(open_environment(TRAC_ENV))
desc = ' '.join(sys.argv[1:])
info = dict(
status='open',
owner=os.environ['USER'], reporter=os.environ['USER'],
description = desc, summary=desc
)
t.populate(info)
num = t.insert()
if not num:
print >>sys.stderr, "Ticket not created"
print >>sys.stder, vals
sys.exit(1)
print "Ticket #%d: %s" % (num,desc)
sys.exit(0) # all is well
Краткое использование:
$ trac-bug out of beer
Билет № 9: нет пива