예제 #1
0
    def start_log(self):
        """
        TO BE DEPRECATED - hopefully

        Initializes legacy api `conf.log` with trac configuration.

        In every Component context you should aways use `self.log` to log messages.
        """
        level = self.config_parser.get('logging', 'log_level')
        logtype = self.config_parser.get('logging', 'log_type')
        logfile = self.config_parser.get('logging', 'log_file')
        format = None
        try:
            format = self.config_parser.get('logging', 'log_format')
        except NoOptionError:
            pass

        # if required, verify that we have patch present
        if logtype.startswith('factory:'):
            try:
                from trac.log import FACTORY_SUPPORTED
            except ImportError:
                raise Exception('Custom Trac\'s log factory not supported - missing a patch?')

        # Note: log format cannot be supported properly since trac does these replacements
        # in Environment.setup_log
        # One more reson to avoid conf.log !

        if format is not None:
            format = format.replace('$(', '%(')\
            .replace('%(path)s', 'N/A')\
            .replace('%(basename)s', 'N/A')\
            .replace('%(project)s', 'N/A')

        self.log = logger_factory(logtype, logfile, level, 'multiproject', format)
예제 #2
0
    def __init__(self, default_data=False, enable=None):
        ComponentManager.__init__(self)
        Component.__init__(self)
        self.enabled_components = enable
        self.db = InMemoryDatabase()
        self.path = ''

        self.config = TestConfiguration(None)

        from trac.log import logger_factory
        self.log = logger_factory('test')

        from trac.web.href import Href
        self.href = Href('/trac.cgi')
        self.abs_href = Href('http://example.org/trac.cgi')

        from trac import db_default
        if default_data:
            cursor = self.db.cursor()
            for table, cols, vals in db_default.get_data(self.db):
                cursor.executemany(
                    "INSERT INTO %s (%s) VALUES (%s)" %
                    (table, ','.join(cols), ','.join(['%s' for c in cols])),
                    vals)
            self.db.commit()

        self.known_users = []
예제 #3
0
파일: env.py 프로젝트: nyuhuhuu/trachacks
 def setup_log(self):
     """Initialize the logging sub-system."""
     from trac.log import logger_factory
     logtype = self.log_type
     logfile = self.log_file
     if logtype == 'file' and not os.path.isabs(logfile):
         logfile = os.path.join(self.get_log_dir(), logfile)
     self.log = logger_factory(logtype, logfile, self.log_level, self.path)
예제 #4
0
 def __init__(self):
     ComponentManager.__init__(self)
     self.log = logger_factory('null')
     self.config = Configuration(None)
     self.href = Href('/')
     self.abs_href = Href('http://www.example.com/')
     self._wiki_pages = {}
     self.path = ''
예제 #5
0
 def setUp(self):
     self._logger = logger_factory()
     self._fields_as_list = ['keywords']
     self._list_separator_regex = '[,\s]+'
     self._list_connector_string = ','
     self._batchmod = web_ui.BatchModifier(self._fields_as_list, 
                                           self._list_separator_regex,
                                           self._list_connector_string)
예제 #6
0
 def __init__(self, enable=[]):
     ComponentManager.__init__(self)
     from trac.config import Configuration
     from trac.log import logger_factory
     self.config = Configuration(None)
     self.log = logger_factory('test')
     self.href = Href('/trac.cgi')
     self.enabled_components = enable
예제 #7
0
파일: env.py 프로젝트: zmughal/POPFile
 def setup_log(self):
     """Initialize the logging sub-system."""
     from trac.log import logger_factory
     logtype = self.log_type
     logfile = self.log_file
     if logtype == 'file' and not os.path.isabs(logfile):
         logfile = os.path.join(self.get_log_dir(), logfile)
     self.log = logger_factory(logtype, logfile, self.log_level, self.path)
예제 #8
0
 def setup_log(self):
     """Initialize the logging sub-system."""
     from trac.log import logger_factory
     logtype = self.config.get('logging', 'log_type')
     loglevel = self.config.get('logging', 'log_level')
     logfile = self.config.get('logging', 'log_file')
     logfile = os.path.join(self.get_log_dir(), logfile)
     logid = self.path  # Env-path provides process-unique ID
     self.log = logger_factory(logtype, logfile, loglevel, logid)
예제 #9
0
 def setUp(self):
     self._logger = logger_factory()
     self._fields_as_list = ['keywords']
     self._list_separator_regex = '[,\s]+'
     self._list_connector_string = ' '
     self._batchmod = BatchModifier(self._fields_as_list, 
                                           self._list_separator_regex,
                                           self._list_connector_string)
     self._env = EnvironmentStub(default_data=True)
     self._req = Mock(href=self._env.href, authname='anonymous', tz=utc)
     self._req.session = {}
예제 #10
0
 def setUp(self):
     self._logger = logger_factory()
     self._fields_as_list = ['keywords']
     self._list_separator_regex = '[,\s]+'
     self._list_connector_string = ' '
     self._batchmod = BatchModifier(self._fields_as_list, 
                                           self._list_separator_regex,
                                           self._list_connector_string)
     self._env = EnvironmentStub(default_data=True)
     self._req = Mock(href=self._env.href, authname='anonymous', tz=utc)
     self._req.session = {}
예제 #11
0
파일: env.py 프로젝트: gdgkyoto/kyoto-gtug
 def setup_log(self):
     """Initialize the logging sub-system."""
     from trac.log import logger_factory
     logtype = self.log_type
     logfile = self.log_file
     if logtype == 'file' and not os.path.isabs(logfile):
         logfile = os.path.join(self.get_log_dir(), logfile)
     format = self.log_format
     if format:
         format = format.replace('$(', '%(') \
                  .replace('%(path)s', self.path) \
                  .replace('%(basename)s', os.path.basename(self.path)) \
                  .replace('%(project)s', self.project_name)
     self.log = logger_factory(logtype, logfile, self.log_level, self.path,
                               format=format)
예제 #12
0
 def setup_log(self):
     """Initialize the logging sub-system."""
     from trac.log import logger_factory
     logtype = self.log_type
     logfile = self.log_file
     if logtype == 'file' and not os.path.isabs(logfile):
         logfile = os.path.join(self.get_log_dir(), logfile)
     format = self.log_format
     if format:
         format = format.replace('$(', '%(') \
                  .replace('%(path)s', self.path) \
                  .replace('%(basename)s', os.path.basename(self.path)) \
                  .replace('%(project)s', self.project_name)
     self.log = logger_factory(logtype,
                               logfile,
                               self.log_level,
                               self.path,
                               format=format)
예제 #13
0
파일: test.py 프로젝트: gdgkyoto/kyoto-gtug
    def __init__(self, default_data=False, enable=None):
        """Construct a new Environment stub object.

        default_data: If True, populate the database with some defaults.
        enable: A list of component classes or name globs to activate in the
                stub environment.
        """
        ComponentManager.__init__(self)
        Component.__init__(self)
        self.enabled_components = enable or ['trac.*']
        self.systeminfo = [('Python', sys.version)]

        import trac
        self.path = os.path.dirname(trac.__file__)
        if not os.path.isabs(self.path):
            self.path = os.path.join(os.getcwd(), self.path)

        # -- configuration
        self.config = Configuration(None)
        # We have to have a ticket-workflow config for ''lots'' of things to
        # work.  So insert the basic-workflow config here.  There may be a
        # better solution than this.
        load_workflow_config_snippet(self.config, 'basic-workflow.ini')
        self.config.set('logging', 'log_level', 'DEBUG')
        self.config.set('logging', 'log_type', 'stderr')

        # -- logging
        from trac.log import logger_factory
        self.log = logger_factory('test')

        # -- database
        self.dburi = get_dburi()
        if self.dburi.startswith('sqlite'):
            self.db = InMemoryDatabase()

        if default_data:
            self.reset_db(default_data)

        from trac.web.href import Href
        self.href = Href('/trac.cgi')
        self.abs_href = Href('http://example.org/trac.cgi')

        self.known_users = []
예제 #14
0
파일: test.py 프로젝트: nyuhuhuu/trachacks
 def setUp(self):
     self.env = EnvironmentStub(default_data=True)
     from trac.log import logger_factory
     self.env.log =logger_factory(logtype='syslog', logfile=None, level='DEBUG', logid='Trac', format=None)
     
     self.env.path = '/'
     self.wiki_tag_rpc_engine = WikiTagRPCSystem(self.env)
     self.ticket_tag_rpc_engine = TicketTagRPCSystem(self.env)
     self.tag_engine = TagEngine(self.env)
     self.tag_engine.upgrade_environment(self.env.get_db_cnx())
     self.xml_rpc_system = XMLRPCSystem(self.env)
                      
     
     # Insert some test tickets
     from trac.ticket.model import Ticket
     for id in (1, 2, 3):
         ticket = Ticket(self.env)
         ticket['summary'] = 'Test ticket %i' % id
         ticket['description'] = 'Test ticket %i description' % id
         ticket.insert()
예제 #15
0
    def setUp(self):
        # we need default_data so that things like status get set correctly
        self.env = EnvironmentStub(default_data=True)
        #import code; code.interact(local=locals())

        # add our custom fields
        self.env.config.set('ticket-custom', 'dup_of',    'text')
        self.env.config.set('ticket-custom', 'dups',      'text')
        self.env.config.set('ticket-custom', 'dup_count', 'text')

        from trac import log
        # FIXME: this doesn't work
        self.env.log = log.logger_factory(logtype='stderr', level='DEBUG')
        import sys
        # NO REALLY I WANT TO SEE MY OUTPUT
        self.env.log.warning = lambda _: sys.stdout.write('%s\n' % _)
        self.env.log.debug = lambda _: sys.stdout.write('%s\n' % _)
        self.env.log.warning('Hey I am here')
        
        self.ticket_module = TicketModule(self.env)
        self.comp = ticket.TracDupPlugin(self.env)
예제 #16
0
    def start_log(self):
        """
        TO BE DEPRECATED - hopefully

        Initializes legacy api `conf.log` with trac configuration.

        In every Component context you should aways use `self.log` to log messages.
        """
        level = self.config_parser.get('logging', 'log_level')
        logtype = self.config_parser.get('logging', 'log_type')
        logfile = self.config_parser.get('logging', 'log_file')
        format = None
        try:
            format = self.config_parser.get('logging', 'log_format')
        except NoOptionError:
            pass

        # if required, verify that we have patch present
        if logtype.startswith('factory:'):
            try:
                from trac.log import FACTORY_SUPPORTED
            except ImportError:
                raise Exception(
                    'Custom Trac\'s log factory not supported - missing a patch?'
                )

        # Note: log format cannot be supported properly since trac does these replacements
        # in Environment.setup_log
        # One more reson to avoid conf.log !

        if format is not None:
            format = format.replace('$(', '%(')\
            .replace('%(path)s', 'N/A')\
            .replace('%(basename)s', 'N/A')\
            .replace('%(project)s', 'N/A')

        self.log = logger_factory(logtype, logfile, level, 'multiproject',
                                  format)
예제 #17
0
    def setUp(self):
        self.env = EnvironmentStub(default_data=True)
        from trac.log import logger_factory
        self.env.log = logger_factory(logtype='syslog',
                                      logfile=None,
                                      level='DEBUG',
                                      logid='Trac',
                                      format=None)

        self.env.path = '/'
        self.wiki_tag_rpc_engine = WikiTagRPCSystem(self.env)
        self.ticket_tag_rpc_engine = TicketTagRPCSystem(self.env)
        self.tag_engine = TagEngine(self.env)
        self.tag_engine.upgrade_environment(self.env.get_db_cnx())
        self.xml_rpc_system = XMLRPCSystem(self.env)

        # Insert some test tickets
        from trac.ticket.model import Ticket
        for id in (1, 2, 3):
            ticket = Ticket(self.env)
            ticket['summary'] = 'Test ticket %i' % id
            ticket['description'] = 'Test ticket %i description' % id
            ticket.insert()
예제 #18
0
 def setUp(self):
     self.db = InMemoryDatabase()
     self.log = logger_factory('test')
     cursor = self.db.cursor()
     cursor.execute("INSERT INTO system (name, value) VALUES (%s,%s)",
                    ('youngest_rev', ''))
예제 #19
0
 def setUp(self):
     self.repos = SubversionRepository(REPOS_PATH, None,
                                       logger_factory('test'))
예제 #20
0
 def setup_log(self):
     from trac.log import logger_factory
     self.log = logger_factory('null')
예제 #21
0
 def setUp(self):
     self.db = InMemoryDatabase()
     self.log = logger_factory('test')
     cursor = self.db.cursor()
     cursor.execute("INSERT INTO system (name, value) VALUES (%s,%s)",
                    ('youngest_rev', ''))
예제 #22
0
 def setUp(self):
     self.repos = SubversionRepository(REPOS_PATH, None,
                                       logger_factory('test'))
예제 #23
0
 def setUp(self):
     self.db = InMemoryDatabase()
     self.log = logger_factory('test')
예제 #24
0
파일: console.py 프로젝트: zjj/trac_hack
 def setup_log(self):
     from trac.log import logger_factory
     self.log = logger_factory('null')