Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(251)

Side by Side Diff: appengine/monorail/services/service_manager.py

Issue 1868553004: Open Source Monorail (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Rebase Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « appengine/monorail/services/secrets_svc.py ('k') | appengine/monorail/services/spam_svc.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 # Copyright 2016 The Chromium Authors. All rights reserved.
2 # Use of this source code is govered by a BSD-style
3 # license that can be found in the LICENSE file or at
4 # https://developers.google.com/open-source/licenses/bsd
5
6 """Service manager to initialize all services."""
7
8 from features import autolink
9 from services import cachemanager_svc
10 from services import config_svc
11 from services import features_svc
12 from services import issue_svc
13 from services import project_svc
14 from services import spam_svc
15 from services import star_svc
16 from services import user_svc
17 from services import usergroup_svc
18
19
20 svcs = None
21
22
23 class Services(object):
24 """A simple container for widely-used service objects."""
25
26 def __init__(
27 self, project=None, user=None, issue=None, config=None,
28 inboundemail=None, usergroup=None, cache_manager=None, autolink_obj=None,
29 user_star=None, project_star=None, issue_star=None, features=None,
30 spam=None):
31 # Persistence services
32 self.project = project
33 self.user = user
34 self.usergroup = usergroup
35 self.issue = issue
36 self.config = config
37 self.user_star = user_star
38 self.project_star = project_star
39 self.issue_star = issue_star
40 self.features = features
41 self.spam = spam
42
43 # Misc. services
44 self.cache_manager = cache_manager
45 self.inboundemail = inboundemail
46 self.autolink = autolink_obj
47
48
49 def set_up_services():
50 """Set up all services."""
51
52 global svcs
53 if svcs is None:
54 svcs = Services()
55 svcs.autolink = autolink.Autolink()
56 svcs.cache_manager = cachemanager_svc.CacheManager()
57 svcs.user = user_svc.UserService(svcs.cache_manager)
58 svcs.user_star = star_svc.UserStarService(svcs.cache_manager)
59 svcs.project_star = star_svc.ProjectStarService(svcs.cache_manager)
60 svcs.issue_star = star_svc.IssueStarService(svcs.cache_manager)
61 svcs.project = project_svc.ProjectService(svcs.cache_manager)
62 svcs.usergroup = usergroup_svc.UserGroupService(svcs.cache_manager)
63 svcs.config = config_svc.ConfigService(svcs.cache_manager)
64 svcs.issue = issue_svc.IssueService(
65 svcs.project, svcs.config, svcs.cache_manager)
66 svcs.features = features_svc.FeaturesService(svcs.cache_manager)
67 svcs.spam = spam_svc.SpamService()
68 return svcs
OLDNEW
« no previous file with comments | « appengine/monorail/services/secrets_svc.py ('k') | appengine/monorail/services/spam_svc.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698