• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Python model.Component类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: test_no_disown_from_changed_component

    def test_no_disown_from_changed_component(self):
        """
        Verify that a ticket is not disowned when the component is changed to
        a non-assigned component.
        """
        component1 = Component(self.env)
        component1.name = 'test1'
        component1.owner = 'joe'
        component1.insert()

        component2 = Component(self.env)
        component2.name = 'test2'
        component2.owner = ''
        component2.insert()

        ticket = Ticket(self.env)
        ticket['reporter'] = 'santa'
        ticket['summary'] = 'Foo'
        ticket['component'] = 'test1'
        ticket['status'] = 'new'
        tktid = ticket.insert()

        ticket = Ticket(self.env, tktid)
        ticket['component'] = 'test2'
        ticket.save_changes('jane', 'Testing')
        self.assertEqual('joe', ticket['owner'])
开发者ID:zjj,项目名称:trac_hack,代码行数:26,代码来源:model.py


示例2: test_no_disown_from_changed_component

    def test_no_disown_from_changed_component(self):
        """
        Verify that a ticket is not disowned when the component is changed to
        a non-assigned component.
        """
        component1 = Component(self.env)
        component1.name = "test1"
        component1.owner = "joe"
        component1.insert()

        component2 = Component(self.env)
        component2.name = "test2"
        component2.owner = ""
        component2.insert()

        ticket = Ticket(self.env)
        ticket["reporter"] = "santa"
        ticket["summary"] = "Foo"
        ticket["component"] = "test1"
        ticket["status"] = "new"
        tktid = ticket.insert()

        ticket = Ticket(self.env, tktid)
        ticket["component"] = "test2"
        ticket.save_changes("jane", "Testing")
        self.assertEqual("joe", ticket["owner"])
开发者ID:wiraqutra,项目名称:photrackjp,代码行数:26,代码来源:model.py


示例3: test_owner_from_changed_component

    def test_owner_from_changed_component(self):
        """
        Verify that the owner of a new ticket is updated when the component is
        changed.
        """
        component1 = Component(self.env)
        component1.name = 'test1'
        component1.owner = 'joe'
        component1.insert()

        component2 = Component(self.env)
        component2.name = 'test2'
        component2.owner = 'kate'
        component2.insert()

        ticket = Ticket(self.env)
        ticket['reporter'] = 'santa'
        ticket['summary'] = 'Foo'
        ticket['component'] = 'test1'
        ticket['status'] = 'new'
        tktid = ticket.insert()

        ticket = Ticket(self.env, tktid)
        ticket['component'] = 'test2'
        ticket.save_changes('jane', 'Testing')
        self.assertEqual('kate', ticket['owner'])
开发者ID:zjj,项目名称:trac_hack,代码行数:26,代码来源:model.py


示例4: copy_component

def copy_component(source_env, dest_env, name, dest_db=None):
    # In case a string gets passed in
    if not isinstance(source_env, Environment):
        source_env = _open_environment(source_env)
    if not isinstance(dest_env, Environment):
        dest_env = _open_environment(dest_env)
        
    # Log message
    source_env.log.info('DatamoverPlugin: Moving component %s to the environment at %s', name, dest_env.path)
    dest_env.log.info('DatamoverPlugin: Moving component %s from the environment at %s', name, source_env.path)
    
    # Open databases
    source_db = source_env.get_db_cnx()
    source_cursor = source_db.cursor()
    handle_commit = True
    if not dest_db:
        dest_db, handle_commit = dest_env.get_db_cnx(), False
    dest_cursor = dest_db.cursor()
    
    # Remove the component from the destination
    try:
        dest_comp = TicketComponent(dest_env, name, db=dest_db)
        dest_comp.delete(db=dest_db)
    except TracError:
        pass

    # Copy each entry in the component table
    source_cursor.execute('SELECT * FROM component WHERE name=%s',(name,))
    for row in source_cursor:
        comp_data = dict(zip([d[0] for d in source_cursor.description], row))
        q = make_query(comp_data, 'component')
        dest_cursor.execute(*q)
       
    if handle_commit:
        dest_db.commit()
开发者ID:nyuhuhuu,项目名称:trachacks,代码行数:35,代码来源:util.py


示例5: test_owner_from_component

    def test_owner_from_component(self):
        """
        Verify that the owner of a new ticket is set to the owner of the
        component.
        """
        component = Component(self.env)
        component.name = 'test'
        component.owner = 'joe'
        component.insert()

        ticket = Ticket(self.env)
        ticket['reporter'] = 'santa'
        ticket['summary'] = 'Foo'
        ticket['component'] = 'test'
        ticket.insert()
        self.assertEqual('joe', ticket['owner'])
开发者ID:zjj,项目名称:trac_hack,代码行数:16,代码来源:model.py


示例6: post_process_request

    def post_process_request(self, req, template, data, content_type):
        if req.path_info.startswith('/ticket'):
            ticket = data['ticket']

            # add custom fields to the ticket template context data
            data['milestones'] = self._sorted_milestones()
            data['components'] = [c.name for c in Component.select(self.env)]
            data['split_options'] = self._ticket_split_options(ticket)
            data['split_history'] = self._ticket_split_history(ticket)

        return template, data, content_type
开发者ID:trac-hacks,项目名称:trac-split-ticket,代码行数:11,代码来源:web_ui.py


示例7: test_create_and_update

    def test_create_and_update(self):
        component = Component(self.env)
        component.name = 'Test'
        component.insert()

        self.assertEqual([('Test', None, None)], self.env.db_query("""
            SELECT name, owner, description FROM component
            WHERE name='Test'"""))

        # Use the same model object to update the component
        component.owner = 'joe'
        component.update()
        self.assertEqual([('Test', 'joe', None)], self.env.db_query(
            "SELECT name, owner, description FROM component WHERE name='Test'"))
开发者ID:thimalk,项目名称:bloodhound,代码行数:14,代码来源:model.py


示例8: test_create_and_update

    def test_create_and_update(self):
        component = Component(self.env)
        component.name = "Test"
        component.insert()

        cursor = self.db.cursor()
        cursor.execute("SELECT name,owner,description FROM component " "WHERE name='Test'")
        self.assertEqual(("Test", None, None), cursor.fetchone())

        # Use the same model object to update the component
        component.owner = "joe"
        component.update()
        cursor.execute("SELECT name,owner,description FROM component " "WHERE name='Test'")
        self.assertEqual(("Test", "joe", None), cursor.fetchone())
开发者ID:wiraqutra,项目名称:photrackjp,代码行数:14,代码来源:model.py


示例9: process_admin_request

 def process_admin_request(self, req, cat, page, path_info):
     envs = DatamoverSystem(self.env).all_environments()
     components = [c.name for c in TicketComponent.select(self.env)]
     
     if req.method == 'POST':
         source_type = req.args.get('source')
         if not source_type or source_type not in ('component', 'all'):
             raise TracError, "Source type not specified or invalid"
         source = req.args.get(source_type)
         dest = req.args.get('destination')
         action = None
         if 'copy' in req.args.keys():
             action = 'copy'
         elif 'move' in req.args.keys():
             action = 'move'
         else:
             raise TracError, 'Action not specified or invalid'
             
         action_verb = {'copy':'Copied', 'move':'Moved'}[action]
         
         comp_filter = None
         if source_type == 'component':
             in_components = req.args.getlist('component')
             comp_filter = lambda c: c in in_components
         elif source_type == 'all':
             comp_filter = lambda c: True
         
         try:
             sel_components = [c for c in components if comp_filter(c)]
             dest_db = _open_environment(dest).get_db_cnx()
             for comp in sel_components:
                 copy_component(self.env, dest, comp, dest_db)
             dest_db.commit()
                 
             if action == 'move':
                 for comp in sel_components:
                     TicketComponent(self.env, comp).delete()
                 
             req.hdf['datamover.message'] = '%s components %s'%(action_verb, ', '.join(sel_components))
         except TracError, e:
             req.hdf['datamover.message'] = "An error has occured: \n"+str(e)
             self.log.warn(req.hdf['datamover.message'], exc_info=True)
开发者ID:nyuhuhuu,项目名称:trachacks,代码行数:42,代码来源:component.py


示例10: _insert_component

 def _insert_component(self, name):
     component = Component(self.env)
     component.name = name
     component.insert()
     return component
开发者ID:Stackato-Apps,项目名称:bloodhound,代码行数:5,代码来源:ticket_search.py


示例11: process_admin_request

 def process_admin_request(self, req, cat, page, path_info):
     components = [c.name for c in TicketComponent.select(self.env)]
     envs = DatamoverSystem(self.env).all_environments()
     
     if req.method == 'POST':
         source_type = req.args.get('source')
         if not source_type or source_type not in ('component', 'ticket', 'all', 'query'):
             raise TracError, "Source type not specified or invalid"
         source = req.args.get(source_type)
         dest = req.args.get('destination')
         action = None
         if 'copy' in req.args.keys():
             action = 'copy'
         elif 'move' in req.args.keys():
             action = 'move'
         else:
             raise TracError, 'Action not specified or invalid'
             
         action_verb = {'copy':'Copied', 'move':'Moved'}[action]
         
         # Double check the ticket number is actually a number
         if source_type == 'id':
             try:
                 int(source)
             except ValueError:
                 raise TracError('Value %r is not numeric'%source)
         
         self.log.debug('DatamoverTicketModule: Source is %s (%s)', source, source_type)
         
         query_string = {
             'ticket': 'id=%s'%source,
             'component': 'component=%s'%source,
             'all': 'id!=0',
             'query': source,
         }[source_type]
             
         try:
             # Find the ids we want
             ids = None
             if source_type == 'ticket': # Special case this pending #T4119
                 ids = [int(source)]
             else:
                 self.log.debug('DatamoverTicketModule: Running query %r', query_string)
                 ids = [x['id'] for x in Query.from_string(self.env, query_string).execute(req)]
                 self.log.debug('DatamoverTicketModule: Results: %r', ids)
                 
             dest_db = _open_environment(dest).get_db_cnx()
             for id in ids:
                 copy_ticket(self.env, dest, id, dest_db)
             dest_db.commit()
                 
             if action == 'move':
                 for id in ids:
                     Ticket(self.env, id).delete()
                 
             if ids:
                 req.hdf['datamover.message'] = '%s tickets %s'%(action_verb, ', '.join([str(n) for n in ids]))
             else:
                 req.hdf['datamover.message'] = 'No tickets %s'%(action_verb.lower())
         except TracError, e:
             req.hdf['datamover.message'] = "An error has occured: \n"+str(e)
             self.log.warn(req.hdf['datamover.message'], exc_info=True)
开发者ID:nyuhuhuu,项目名称:trachacks,代码行数:62,代码来源:ticket.py


示例12: list_component_in_json

 def list_component_in_json(self):
     # stolen from trac.ticket.admin.py format: [(component,owner)]
     #components = [(c.name, c.owner) for c in TicketComponent.select(self.env)], [_('Name'), _('Owner')]
     components = [{'name':c.name,'owner':c.owner} for c in TicketComponent.select(self.env)]
     printout(json.dumps(components))
开发者ID:russellballestrini,项目名称:TicketFieldConfigPlugin,代码行数:5,代码来源:jsontracadmin.py


示例13: test_exists

 def test_exists(self):
     """
     http://trac.edgewall.org/ticket/4247
     """
     for c in Component.select(self.env):
         self.assertEqual(c.exists, True)
开发者ID:zjj,项目名称:trac_hack,代码行数:6,代码来源:model.py


示例14: _add_component

 def _add_component(self, name='test', owner='owner1'):
     component = Component(self.env)
     component.name = name
     component.owner = owner
     component.insert()
开发者ID:pkdevbox,项目名称:trac,代码行数:5,代码来源:default_workflow.py


示例15: create_hack

    def create_hack(self, req, data, vars):
        import fcntl

        messages = []
        created = False
        have_lock = False
        lockfile = open(self.lockfile, "w")
        try:
            rv = fcntl.flock(lockfile, fcntl.LOCK_EX | fcntl.LOCK_NB)
            if rv:
                raise TracError('Failed to acquire lock, error: %i' % rv)
            have_lock = True
        except IOError:
            messages.append(
                'A hack is currently being created by another user. '
                'Please wait a few seconds, then click the "Create hack" '
                'button again.'
            )

        if have_lock:
            steps_done = []
            try:
                # Step 1: create repository paths
                from os import popen

                svn_path = 'file://%s' % \
                    self.env.config.get('trac', 'repository_dir')
                svn_path = svn_path.rstrip('/')
                page_name = vars['WIKINAME']
                hack_path = vars['LCNAME']
                paths = [ '%s/%s' % (svn_path, hack_path) ]
                selected_releases = data['selected_releases']
                if isinstance(selected_releases, (basestring, unicode)):
                    selected_releases = [ selected_releases, ]
                for release in selected_releases:
                    if release == 'anyrelease': continue
                    paths.append("%s/%s/%s" % \
                        (svn_path, hack_path, release))

                cmd  = '/usr/bin/op create-hack %s ' % req.authname
                cmd += '"New hack %s, created by %s" ' % \
                        (page_name, req.authname)
                cmd += '%s 2>&1' % ' '.join(paths)
                output = popen(cmd).readlines()
                if output:
                    raise Exception(
                        "Failed to create Subversion paths:\n%s" % \
                            '\n'.join(output)
                        )
                steps_done.append('repository')

                # Step 2: Add permissions
                from svnauthz.model import User, Path, PathAcl

                authz_file = self.env.config.get('trac', 'authz_file')
                authz = AuthzFileReader().read(authz_file)

                svn_path_acl = PathAcl(User(req.authname), r=True, w=True)
                authz.add_path(Path("/%s" % hack_path, acls = [svn_path_acl,]))
                AuthzFileWriter().write(authz_file, authz)
                steps_done.append('permissions')

                # Step 3: Add component
                component = TicketComponent(self.env)
                component.name = page_name
                component.owner = req.authname
                component.insert()
                steps_done.append('component')

                # Step 4: Create wiki page
                template_page = WikiPage(self.env, self.template)
                page = WikiPage(self.env, page_name)
                page.text = Template(template_page.text).substitute(vars)
                page.save(req.authname, 'New hack %s, created by %s' % \
                          (page_name, req.authname), '0.0.0.0')
                steps_done.append('wiki')

                # Step 5: Tag the new wiki page
                res = Resource('wiki', page_name)
                tags = data['tags'].split() + selected_releases + [data['type']]
                TagSystem(self.env).set_tags(req, res, tags)
                steps_done.append('tags')

                rv = fcntl.flock(lockfile, fcntl.LOCK_UN)
                created = True
            except Exception, e:
                try:
                    if 'tags' in steps_done:
                        res = Resource('wiki', page_name)
                        tags = data['tags'].split() + selected_releases
                        TagSystem(self.env).delete_tags(req, res, tags)
                    if 'wiki' in steps_done:
                        WikiPage(self.env, page_name).delete()
                    if 'component' in steps_done:
                        TicketComponent(self.env, page_name).delete()
                    if 'permissions' in steps_done:
                        authz_file = self.env.config.get('trac', 'authz_file')
                        authz = AuthzFileReader().read(authz_file)
                        authz.del_path(Path("/%s" % hack_path))
                        AuthzFileWriter().write(authz_file, authz)
#.........这里部分代码省略.........
开发者ID:nyuhuhuu,项目名称:trachacks,代码行数:101,代码来源:web_ui.py


示例16: process_request

    def process_request(self, req):
        name = req.args.get('name')


        if not (name == 'query'):
            id = req.args.get('id')

        if name == 'ticket':
            ticket = Ticket(self.env, id)
            comm_num = 0
            attachment_num = len(self.get_attachments('ticket', id))
            ticket_log = self.changeLog(id)

            for log in ticket_log:
                if log[2] == 'comment' and log[4]:
                    comm_num += 1

            data = {'ticket': ticket,
                    'comm_num': comm_num,
                    'attachment_num': attachment_num}
            return 'bh_emb_ticket.html', data, None

        elif name == 'milestone':
            ticket_num = len(get_tickets_for_milestone(self.env, milestone=id))
            attachment_num = len(self.get_attachments('milestone', id))

            data = {'milestone': Milestone(self.env, id),
                    'product': self.env.product,
                    'ticket_number': ticket_num,
                    'attachment_number': attachment_num }
            return 'bh_emb_milestone.html', data, None

        elif name == 'products':
            product = Product(self.env, {'prefix': id})
            ticket_num = len(self.get_tickets_for_product(self.env, id))
            product_env = ProductEnvironment(self.env, product.prefix)
            milestone_num = len(Milestone.select(product_env))
            version_num = len(Version.select(product_env))
            components = component.select(product_env)
            component_num = 0

            for c in components:
                component_num += 1

            data = {'product': product,
                    'ticket_num': ticket_num,
                    'owner': product.owner,
                    'milestone_num': milestone_num,
                    'version_num': version_num,
                    'component_num': component_num}
            return 'bh_emb_product.html', data, None
        elif name == 'query':
            qstr = req.query_string
            qstr = urllib.unquote(qstr).decode('utf8')

            if qstr=='':
                qstr = 'status!=closed'

            qresults = self.query(req, qstr)
            filters = qresults[0]
            tickets = qresults[1]

            data={'tickets': tickets,
                  'query': qstr,
                  'filters': filters}
            return 'bh_emb_query.html', data, None
        else:
            msg = "It is not possible to embed this resource."
            raise ResourceNotFound((msg), ("Invalid resource"))
开发者ID:ahorincar,项目名称:bloodhound_embedding_plugin,代码行数:69,代码来源:api.py



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python model.Milestone类代码示例发布时间:2022-05-27
下一篇:
Python batch.BatchModifyModule类代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap