예제 #1
0
  def __init__(self):
    self.report_tbl = sql.SQLTableManager(SPAMREPORT_TABLE_NAME)
    self.verdict_tbl = sql.SQLTableManager(SPAMVERDICT_TABLE_NAME)
    self.issue_tbl = sql.SQLTableManager(ISSUE_TABLE)

    # ML Engine library is lazy loaded below.
    self.ml_engine = None
예제 #2
0
    def __init__(self, cache_manager):
        """Initialize this object so that it is ready to use.

    Args:
      cache_manager: local cache with distributed invalidation.
    """
        self.quickedithistory_tbl = sql.SQLTableManager(
            QUICKEDITHISTORY_TABLE_NAME)
        self.quickeditmostrecent_tbl = sql.SQLTableManager(
            QUICKEDITMOSTRECENT_TABLE_NAME)

        self.savedquery_tbl = sql.SQLTableManager(SAVEDQUERY_TABLE_NAME)
        self.project2savedquery_tbl = sql.SQLTableManager(
            PROJECT2SAVEDQUERY_TABLE_NAME)
        self.savedqueryexecutesinproject_tbl = sql.SQLTableManager(
            SAVEDQUERYEXECUTESINPROJECT_TABLE_NAME)
        self.user2savedquery_tbl = sql.SQLTableManager(
            USER2SAVEDQUERY_TABLE_NAME)

        self.filterrule_tbl = sql.SQLTableManager(FILTERRULE_TABLE_NAME)

        self.hotlist_tbl = sql.SQLTableManager(HOTLIST_TABLE_NAME)
        self.hotlist2issue_tbl = sql.SQLTableManager(HOTLIST2ISSUE_TABLE_NAME)
        self.hotlist2user_tbl = sql.SQLTableManager(HOTLIST2USER_TABLE_NAME)

        self.saved_query_cache = cache_manager.MakeCache('user', max_size=1000)

        self.hotlist_2lc = HotlistTwoLevelCache(cache_manager, self)
        self.hotlist_names_owner_to_ids = cache_manager.MakeCache('hotlist')
        self.hotlist_user_to_ids = cache_manager.MakeCache('hotlist')
예제 #3
0
    def __init__(self):
        self.report_tbl = sql.SQLTableManager(SPAMREPORT_TABLE_NAME)
        self.verdict_tbl = sql.SQLTableManager(SPAMVERDICT_TABLE_NAME)
        self.issue_tbl = sql.SQLTableManager(ISSUE_TABLE)

        self.prediction_service = None
        try:
            credentials = GoogleCredentials.get_application_default()
            self.prediction_service = build('prediction',
                                            'v1.6',
                                            http=httplib2.Http(),
                                            credentials=credentials)
        except (Oauth2ClientError, ApiClientError):
            logging.error("Error getting GoogleCredentials: %s" %
                          sys.exc_info()[0])
예제 #4
0
    def __init__(self, config_service):
        """Constructor for ChartService.

    Args:
      config_service (ConfigService): An instance of ConfigService.
    """
        self.config_service = config_service

        # Set up SQL table objects.
        self.issuesnapshot_tbl = sql.SQLTableManager(ISSUESNAPSHOT_TABLE_NAME)
        self.issuesnapshot2cc_tbl = sql.SQLTableManager(
            ISSUESNAPSHOT2CC_TABLE_NAME)
        self.issuesnapshot2component_tbl = sql.SQLTableManager(
            ISSUESNAPSHOT2COMPONENT_TABLE_NAME)
        self.issuesnapshot2label_tbl = sql.SQLTableManager(
            ISSUESNAPSHOT2LABEL_TABLE_NAME)
예제 #5
0
    def __init__(self, cache_manager):
        """Initialize this service so that it is ready to use.

    Args:
      cache_manager: local cache with distributed invalidation.
    """
        self.usergroup_tbl = sql.SQLTableManager(USERGROUP_TABLE_NAME)
        self.usergroupsettings_tbl = sql.SQLTableManager(
            USERGROUPSETTINGS_TABLE_NAME)
        self.usergroupprojects_tbl = sql.SQLTableManager(
            USERGROUPPROJECTS_TABLE_NAME)

        self.group_dag = UserGroupDAG(self)

        # Like a dictionary {user_id: {group_id}}
        self.memberships_2lc = MembershipTwoLevelCache(cache_manager, self,
                                                       self.group_dag)
예제 #6
0
    def __init__(self, cache_manager):
        """Constructor.

    Args:
      cache_manager: local cache with distributed invalidation.
    """
        self.user_tbl = sql.SQLTableManager(USER_TABLE_NAME)
        self.actionlimit_tbl = sql.SQLTableManager(ACTIONLIMIT_TABLE_NAME)
        self.dismissedcues_tbl = sql.SQLTableManager(DISMISSEDCUES_TABLE_NAME)
        self.hotlistvisithistory_tbl = sql.SQLTableManager(
            HOTLISTVISITHISTORY_TABLE_NAME)

        # Like a dictionary {user_id: email}
        self.email_cache = cache_manager.MakeCache('user', max_size=50000)

        # Like a dictionary {email: user_id}.
        # This will never invaidate, and it doesn't need to.
        self.user_id_cache = cache_manager.MakeCache('user', max_size=50000)

        # Like a dictionary {user_id: user_pb}
        self.user_2lc = UserTwoLevelCache(cache_manager, self)
예제 #7
0
파일: user_svc.py 프로젝트: xinghun61/infra
    def __init__(self, cache_manager):
        """Constructor.

    Args:
      cache_manager: local cache with distributed invalidation.
    """
        self.user_tbl = sql.SQLTableManager(USER_TABLE_NAME)
        self.userprefs_tbl = sql.SQLTableManager(USERPREFS_TABLE_NAME)
        self.dismissedcues_tbl = sql.SQLTableManager(DISMISSEDCUES_TABLE_NAME)
        self.hotlistvisithistory_tbl = sql.SQLTableManager(
            HOTLISTVISITHISTORY_TABLE_NAME)
        self.linkedaccount_tbl = sql.SQLTableManager(LINKEDACCOUNT_TABLE_NAME)
        self.linkedaccountinvite_tbl = sql.SQLTableManager(
            LINKEDACCOUNTINVITE_TABLE_NAME)

        # Like a dictionary {user_id: email}
        self.email_cache = caches.RamCache(cache_manager,
                                           'user',
                                           max_size=50000)

        # Like a dictionary {email: user_id}.
        # This will never invaidate, and it doesn't need to.
        self.user_id_cache = caches.RamCache(cache_manager,
                                             'user',
                                             max_size=50000)

        # Like a dictionary {user_id: user_pb}
        self.user_2lc = UserTwoLevelCache(cache_manager, self)

        # Like a dictionary {user_id: userprefs}
        self.userprefs_2lc = UserPrefsTwoLevelCache(cache_manager, self)
예제 #8
0
  def __init__(self, cache_manager):
    self.template_tbl = sql.SQLTableManager(TEMPLATE_TABLE_NAME)
    self.template2label_tbl = sql.SQLTableManager(TEMPLATE2LABEL_TABLE_NAME)
    self.template2component_tbl = sql.SQLTableManager(
        TEMPLATE2COMPONENT_TABLE_NAME)
    self.template2admin_tbl = sql.SQLTableManager(TEMPLATE2ADMIN_TABLE_NAME)
    self.template2fieldvalue_tbl = sql.SQLTableManager(
        TEMPLATE2FIELDVALUE_TABLE_NAME)
    self.issuephasedef_tbl = sql.SQLTableManager(
        ISSUEPHASEDEF_TABLE_NAME)
    self.template2approvalvalue_tbl = sql.SQLTableManager(
        TEMPLATE2APPROVALVALUE_TABLE_NAME)

    self.template_set_2lc = TemplateSetTwoLevelCache(cache_manager, self)
    self.template_def_2lc = TemplateDefTwoLevelCache(cache_manager, self)
예제 #9
0
  def __init__(self, cache_manager):
    """Initialize this module so that it is ready to use.

    Args:
      cache_manager: local cache with distributed invalidation.
    """
    self.project_tbl = sql.SQLTableManager(PROJECT_TABLE_NAME)
    self.user2project_tbl = sql.SQLTableManager(USER2PROJECT_TABLE_NAME)
    self.extraperm_tbl = sql.SQLTableManager(EXTRAPERM_TABLE_NAME)
    self.membernotes_tbl = sql.SQLTableManager(MEMBERNOTES_TABLE_NAME)
    self.usergroupprojects_tbl = sql.SQLTableManager(
        USERGROUPPROJECTS_TABLE_NAME)
    self.acexclusion_tbl = sql.SQLTableManager(
        AUTOCOMPLETEEXCLUSION_TABLE_NAME)

    # Like a dictionary {project_id: project}
    self.project_2lc = ProjectTwoLevelCache(cache_manager, self)

    # The project name to ID cache can never be invalidated by individual
    # project changes because it is keyed by strings instead of ints.  In
    # the case of rare operations like deleting a project (or a future
    # project renaming feature), we just InvalidateAll().
    self.project_names_to_ids = caches.RamCache(cache_manager, 'project')
예제 #10
0
 def __init__(self):
     self.cache_registry = collections.defaultdict(list)
     self.processed_invalidations_up_to = 0
     self.invalidate_tbl = sql.SQLTableManager(INVALIDATE_TABLE_NAME)
예제 #11
0
 def setUp(self):
     self.emp_tbl = sql.SQLTableManager('Employee')
     self.cnxn = sql.MonorailConnection()
     self.master_cnxn = self.cnxn.GetMasterConnection()
예제 #12
0
 def __init__(self, cache_manager):
     tbl = sql.SQLTableManager(ISSUESTAR_TABLE_NAME)
     super(IssueStarService, self).__init__(cache_manager, tbl, 'issue_id',
                                            'user_id', 'issue')
예제 #13
0
 def __init__(self, cache_manager):
     tbl = sql.SQLTableManager(HOTLISTSTAR_TABLE_NAME)
     super(HotlistStarService,
           self).__init__(cache_manager, tbl, 'hotlist_id', 'user_id',
                          'hotlist')
예제 #14
0
 def __init__(self, cache_manager):
     tbl = sql.SQLTableManager(PROJECTSTAR_TABLE_NAME)
     super(ProjectStarService,
           self).__init__(cache_manager, tbl, 'project_id', 'user_id',
                          'project')
예제 #15
0
 def __init__(self, cache_manager):
     tbl = sql.SQLTableManager(USERSTAR_TABLE_NAME)
     super(UserStarService,
           self).__init__(cache_manager, tbl, 'starred_user_id', 'user_id',
                          'user')