当前位置: 首页>>代码示例>>Python>>正文


Python Ticket.insert方法代码示例

本文整理汇总了Python中trac.ticket.Ticket.insert方法的典型用法代码示例。如果您正苦于以下问题:Python Ticket.insert方法的具体用法?Python Ticket.insert怎么用?Python Ticket.insert使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在trac.ticket.Ticket的用法示例。


在下文中一共展示了Ticket.insert方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: import_tickets

# 需要导入模块: from trac.ticket import Ticket [as 别名]
# 或者: from trac.ticket.Ticket import insert [as 别名]
 def import_tickets(self):
     trac_cursor = self.env.get_db_cnx().cursor()
     peer = SymfonyErrorPeer(self.env)
     
     owners = {}
     trac_cursor.execute("select owner, name from component")         
     for name, owner in trac_cursor:
         owners[name] = owner
     
     for error in peer.select_grouped():
         
         # ticket with current hash key not exists ?
         trac_cursor.execute("select ticket from ticket_custom where name = 'symfony_error_key' and value = '%s'" % error['hash_key'])            
         
         existing = trac_cursor.fetchone()
         if not existing:
             ticket = Ticket(self.env)
             ticket.values['summary'] = 'Bug #' + error['hash_key'] + ' ' + error['message']
             ticket.values['symfony_error_key'] = error['hash_key']
             ticket.values['reporter'] = 'cron'
             ticket.values['resolution'] = 'new'
             ticket.values['status'] = 'new'
             ticket.values['milestone'] = '0.3.1'
             if error['module_name'] in owners:
                 owner = owners[error['module_name']]
             else:
                 owner = self.default_owner
                 
                                    
             ticket.values['owner'] = owner 
             ticket.insert()
开发者ID:michalwujas,项目名称:Trac-Symfony-Errors-Plugin,代码行数:33,代码来源:core.py

示例2: create_ticket_for_lineitem

# 需要导入模块: from trac.ticket import Ticket [as 别名]
# 或者: from trac.ticket.Ticket import insert [as 别名]
    def create_ticket_for_lineitem (self, req, id, addMesage, lineitem, summary=None):
        #skip line items that have a ticket

        if re.search('/ticket/\d+', lineitem.description): return
        compname = 'Estimate-'+str(id)
        if summary: compname = summary
        ensure_component(self.env, compname, req.authname)
        t = Ticket(self.env)
        # try to split on a newline or space that is less than 80 chars into the string
        idx = lineitem.description.find('\n', 0, 80)
        if idx < 0: idx = lineitem.description.find(' ', 45, 80)
        if idx < 0: idx = 45            
        summary = lineitem.description[:idx]
        desc = lineitem.description
        desc += "\n\nFrom [/Estimate?id=%s Created From Estimate %s]" % \
            (lineitem.estimate_id,lineitem.estimate_id)
        t.values['summary'] = summary
        t.values['description'] = desc
        t.values['status'] = 'new'
        t.values['reporter'] = req.authname
        t.values['component'] = compname
        t.values['estimatedhours'] = avg(lineitem.low, lineitem.high)
        t.insert()
        lineitem.description+="\n\nCreated as /ticket/%s" % (t.id, )
        return t
开发者ID:nyuhuhuu,项目名称:trachacks,代码行数:27,代码来源:webui.py

示例3: move

# 需要导入模块: from trac.ticket import Ticket [as 别名]
# 或者: from trac.ticket.Ticket import insert [as 别名]
    def move(self, ticket_id, author, env, delete=False):
        """
        move a ticket to another environment
        
        env: environment to move to
        """
        tables = {"attachment": "id", "ticket_change": "ticket"}

        # open the environment if it is a string
        if isinstance(env, basestring):
            base_path, _project = os.path.split(self.env.path)
            env = open_environment(os.path.join(base_path, env), use_cache=True)

        # get the old ticket
        old_ticket = Ticket(self.env, ticket_id)

        # make a new ticket from the old ticket values
        new_ticket = Ticket(env)
        new_ticket.values = old_ticket.values.copy()
        new_ticket.insert(when=old_ticket.time_created)

        # copy the changelog and attachment DBs
        for table, _id in tables.items():
            for row in get_all_dict(self.env, "SELECT * FROM %s WHERE %s=%%s" % (table, _id), str(ticket_id)):
                row[_id] = new_ticket.id
                insert_row_from_dict(env, table, row)

        # copy the attachments
        src_attachment_dir = os.path.join(self.env.path, "attachments", "ticket", str(ticket_id))
        if os.path.exists(src_attachment_dir):
            dest_attachment_dir = os.path.join(env.path, "attachments", "ticket")
            if not os.path.exists(dest_attachment_dir):
                os.makedirs(dest_attachment_dir)
            dest_attachment_dir = os.path.join(dest_attachment_dir, str(new_ticket.id))
            shutil.copytree(src_attachment_dir, dest_attachment_dir)

        # note the previous location on the new ticket
        new_ticket.save_changes(author, "moved from %s" % self.env.abs_href("ticket", ticket_id))

        # location of new ticket
        new_location = env.abs_href.ticket(new_ticket.id)

        if delete:
            old_ticket.delete()
        else:
            # close old ticket and point to new one
            old_ticket["status"] = u"closed"
            old_ticket["resolution"] = u"moved"
            old_ticket.save_changes(author, u"moved to %s" % new_location)

        if env.config["trac"].get("base_url"):
            return new_location
        else:
            return None
开发者ID:nyuhuhuu,项目名称:trachacks,代码行数:56,代码来源:ticketmover.py

示例4: test_remove_all

# 需要导入模块: from trac.ticket import Ticket [as 别名]
# 或者: from trac.ticket.Ticket import insert [as 别名]
 def test_remove_all(self):
     test_name = sys._getframe().f_code.co_name
     expected = self.expected_results[test_name]
     ticket = Ticket(self.env)
     ticket.populate({'reporter': 'santa', 'summary': 'Summary line',
                      'description': 'Lorem ipsum dolor sit amet',
                      })
     ticket.insert()
     self.assertEqual(1, len(self._get_docs()))
     rv, output = self._execute('fulltext remove')
     self.assertEqual(expected, output)
     self.assertEqual(0, len(self._get_docs()))
开发者ID:CGI-define-and-primeportal,项目名称:trac-plugin-solr,代码行数:14,代码来源:admin.py

示例5: parse

# 需要导入模块: from trac.ticket import Ticket [as 别名]
# 或者: from trac.ticket.Ticket import insert [as 别名]
    def parse(self, fp):
        msg = email.message_from_file(fp)
        tkt = Ticket(self.env)
        tkt["status"] = "new"
        tkt["reporter"] = msg["from"]
        tkt["summary"] = msg["subject"]
        for part in msg.walk():
            if part.get_content_type() == "text/plain":
                tkt["description"] = part.get_payload(decode=1).strip()

        if tkt.values.get("description"):
            tkt.insert()
开发者ID:exocad,项目名称:exotrac,代码行数:14,代码来源:emailfilter.py

示例6: invoke

# 需要导入模块: from trac.ticket import Ticket [as 别名]
# 或者: from trac.ticket.Ticket import insert [as 别名]
    def invoke(self, message, warnings):
        """make a new ticket on receiving email"""


        # local warnings
        _warnings = []

        # get the ticket reporter
        reporter = self._reporter(message)
        # get the description and attachments
        mailBody, attachments = get_body_and_attachments(message)
        mailBody += '\n'


        # get the ticket fields
        fields = self._fields(mailBody, _warnings, reporter=reporter)

        # inset items from email
        ticket = Ticket(self.env)
        for key, value in fields.items():
            ticket.values[key] = value



        # fill in default values
        for field in ticket.fields:
            name = field['name']
            if name not in fields:
                option = 'ticket_field.%s' % name
                if self.env.config.has_option('mail', option):
                    ticket.values[name] = self.env.config.get('mail', option)
                else:
                    try:
                        value = ticket.get_value_or_default(name) or ''
                    except AttributeError: # BBB
                        value = ''
                    if value is not None:
                        ticket.values[name] = value


        # create the ticket
        ticket.insert()

        # add attachments to the ticket
        add_attachments(self.env, ticket, attachments)

        # do whatever post-processing is necessary
        self.post_process(ticket)

        # add local warnings
        if _warnings:
            warning = """A ticket has been created but there is a problem:\n\n%s\n\nPlease edit your ticket by going here: %s""" % ('\n\n'.join([' - %s' % warning for warning in _warnings]), self.env.abs_href('ticket', ticket.id))
            warnings.append(warning)
开发者ID:nyuhuhuu,项目名称:trachacks,代码行数:55,代码来源:email2ticket.py

示例7: _clone_testcase

# 需要导入模块: from trac.ticket import Ticket [as 别名]
# 或者: from trac.ticket.Ticket import insert [as 别名]
	def _clone_testcase(self, db, id, status, milestone, assign=None):
		self.env.log.info("Cloning ticket %d (status == %s)" % (id, status))
		ticket_new = Ticket(self.env, db=db)
		ticket_old = Ticket(self.env, tkt_id=id, db=db)
		for k,v in ticket_old.values.items():
			self.env.log.debug("id: %d\tkey: %s\t\tvalue: %s" % (id,k,v))
			ticket_new.values[k] = ticket_old.values[k]
			if assign and len(assign) > 0:
				ticket_new['owner'] = assign.strip()
		ticket_new.values['milestone'] = milestone
		ticket_new.insert()
		for k,v in ticket_new.values.items():
			self.env.log.info("%s\t%s" % (k, v))
开发者ID:nyuhuhuu,项目名称:trachacks,代码行数:15,代码来源:qatracker.py

示例8: test_can_insert_tickets_after_upgrade

# 需要导入模块: from trac.ticket import Ticket [as 别名]
# 或者: from trac.ticket.Ticket import insert [as 别名]
    def test_can_insert_tickets_after_upgrade(self):
        t1 = Ticket(self.env)
        t1.summary = "test"
        t1.insert()
        self.assertEqual(t1.id, 1)

        self._enable_multiproduct()
        self.env.upgrade()

        with self.product('@'):
            ticket = Ticket(self.env)
            ticket.summary = 'test'
            ticket.insert()
            self.assertEqual(ticket.id, 2)
开发者ID:thimalk,项目名称:bloodhound,代码行数:16,代码来源:upgrade.py

示例9: _insert_ticket

# 需要导入模块: from trac.ticket import Ticket [as 别名]
# 或者: from trac.ticket.Ticket import insert [as 别名]
 def _insert_ticket(cls, env, summary, **kw):
     """Helper for inserting a ticket into the database"""
     ticket = Ticket(env)
     ticket["summary"] = summary
     for k, v in kw.items():
         ticket[k] = v
     return ticket.insert()
开发者ID:thimalk,项目名称:bloodhound-789,代码行数:9,代码来源:base.py

示例10: _do_create

# 需要导入模块: from trac.ticket import Ticket [as 别名]
# 或者: from trac.ticket.Ticket import insert [as 别名]
    def _do_create(self, req, db):
        if not req.args.get('summary'):
            raise TracError(u'Les tickets doivent contenir un intitulé.')

        ticket = Ticket(self.env, db=db)
        ticket.populate(req.args)
        ticket.values['reporter'] = get_reporter_id(req, 'reporter')
        self._validate_ticket(req, ticket)

        ticket.insert(db=db)
        db.commit()

        # Notify
        try:
            tn = TicketNotifyEmail(self.env)
            tn.notify(ticket, newticket=True)
        except Exception, e:
            self.log.exception(u"Impossible d'envoyer une notification sur la création du "
                               u"ticket #%s: %s" % (ticket.id, e))
开发者ID:nyuhuhuu,项目名称:trachacks,代码行数:21,代码来源:web_ui.py

示例11: _do_create

# 需要导入模块: from trac.ticket import Ticket [as 别名]
# 或者: from trac.ticket.Ticket import insert [as 别名]
    def _do_create(self, req, db):
        if not req.args.get('summary'):
            raise TracError('Tickets must contain a summary.')

        ticket = Ticket(self.env, db=db)
        ticket.populate(req.args)
        ticket.values['reporter'] = get_reporter_id(req, 'reporter')
        self._validate_ticket(req, ticket)

        ticket.insert(db=db)
        db.commit()

        # Notify
        try:
            tn = TicketNotifyEmail(self.env)
            tn.notify(ticket, newticket=True)
        except Exception, e:
            self.log.exception("Failure sending notification on creation of "
                               "ticket #%s: %s" % (ticket.id, e))
开发者ID:nyuhuhuu,项目名称:trachacks,代码行数:21,代码来源:web_ui.py

示例12: _do_create

# 需要导入模块: from trac.ticket import Ticket [as 别名]
# 或者: from trac.ticket.Ticket import insert [as 别名]
    def _do_create(self, req, db):
        if not req.args.get('summary'):
            raise TracError('Tickets must contain a summary.')

        ticket = Ticket(self.env, db=db)
        ticket.values.setdefault('reporter', util.get_reporter_id(req))
        ticket.populate(req.args)
        
        #Check for required fields
        ticket.validate_required_fields(req.args)
        
        ticket.insert(db=db)
        db.commit()

        # Notify
        try:
            tn = TicketNotifyEmail(self.env)
            tn.notify(ticket, newticket=True)
        except Exception, e:
            self.log.exception("Failure sending notification on creation of "
                               "ticket #%s: %s" % (ticket.id, e))
开发者ID:lkraav,项目名称:trachacks,代码行数:23,代码来源:web_ui.py

示例13: test_ticket

# 需要导入模块: from trac.ticket import Ticket [as 别名]
# 或者: from trac.ticket.Ticket import insert [as 别名]
    def test_ticket(self):
        self.env.config.set('ticket-custom', 'foo', 'text')
        ticket = Ticket(self.env)
        ticket.populate({'reporter': 'santa', 'summary': 'Summary line',
                         'description': 'Lorem ipsum dolor sit amet',
                         'foo': 'This is a custom field',
                         'keywords': 'alpha bravo charlie',
                         'cc': '[email protected], [email protected]',
                         })
        ticket.insert()
        so = self._get_so()
        self.assertEquals('%s:ticket:1' % self.basename, so.doc_id)
        self.assertEquals('ticket', so.realm)
        self.assertEquals('1', so.id)
        self.assertTrue('#1' in so.title)
        self.assertTrue('Summary line' in so.title)
        self.assertEquals('santa', so.author)
        self.assertEquals(ticket['time'], so.created)
        self.assertEquals(ticket['changetime'], so.changed)
        self.assertTrue('[email protected]' in so.involved)
        self.assertTrue('[email protected]' in so.involved)
        self.assertTrue('bravo' in so.tags)
        self.assertTrue('Lorem ipsum' in so.oneline)
        self.assertTrue('Lorem ipsum' in so.body)

        original_time = ticket['time']
        ticket['description'] = 'No latin filler here'
        ticket.save_changes('Jack Sprat', 'Could eat no fat')
        so = self._get_so()
        self.assertEquals('%s:ticket:1' % self.basename, so.doc_id)
        self.assertEquals('ticket', so.realm)
        self.assertEquals('1', so.id)
        self.assertEquals(original_time, so.created)
        self.assertEquals(ticket['changetime'], so.changed)
        self.assertFalse('Lorem ipsum' in so.body)
        self.assertTrue('No latin filler here' in so.body)
        self.assertTrue('Could eat no fat' in so.comments)
开发者ID:getpenelope,项目名称:fulltextsearchplugin,代码行数:39,代码来源:fulltextsearch.py

示例14: run

# 需要导入模块: from trac.ticket import Ticket [as 别名]
# 或者: from trac.ticket.Ticket import insert [as 别名]
def run(options):

  #
  # defualt value
  #
  
  T_STATUS = 'new'
  T_MILESTONE = ''
  
  #
  # begin to create new  ticket
  #
  
  TRAC_ENV = os.environ.get('TRAC_ENV') or os.path.expanduser('/home/trac/glue')
  if not os.path.isdir(TRAC_ENV):
    print >>sys.stderr, "Set TRAC_ENV to the Trac project directory."
    #sys.exit(2)
    return {
      "status": 2
    }
  
  from trac.env import open_environment
  from trac.ticket import Ticket
  t = Ticket(open_environment(TRAC_ENV))
  
  info = dict(
    status=T_STATUS, 
    owner=options["owner"], reporter=options["reporter"], cc=options["cc"],
    milestone=T_MILESTONE, type=options["type"],
    summary=options["summary"].decode(sys.getfilesystemencoding()),
    description = options["description"].decode(sys.getfilesystemencoding())
  )
  
  t.populate(info)
  num = t.insert()
  if not num:
    print >>sys.stderr, "Ticket not created"
    print >>sys.stderr, vals
    #sys.exit(1)
    return {
      "status": 1
    }
  
  #print "Ticket #%d" % (num)
  return {
    "status": 0,
    "id": num
  }
开发者ID:xxd3vin,项目名称:xxutils,代码行数:50,代码来源:newticket.py

示例15: __create_new_ticket

# 需要导入模块: from trac.ticket import Ticket [as 别名]
# 或者: from trac.ticket.Ticket import insert [as 别名]
    def __create_new_ticket(self, page, title, owner):
        matched = re.compile(r'^\[(.*)\](.*)').search(title)
        if matched:
            summary = matched.group(2)
            owner = matched.group(1)
        else:
            summary = title
            owner = None

        ticket = Ticket(self.env)
        ticket.values = {
            'status': 'new',
            'reporter': page.author,
            'summary': summary,
            'owner': owner,
            'description': "wiki:%s" % page.name,
        }
        return ticket.insert()
开发者ID:nyuhuhuu,项目名称:trachacks,代码行数:20,代码来源:__init__.py


注:本文中的trac.ticket.Ticket.insert方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。