Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar/p2p/model/Store.py
blob: d39783f4a6d52322e7ee8d895605ced2c677a3e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from sugar.p2p.model.RemoteModel import RemoteModel
from sugar.p2p.model.LocalModel import LocalModel

class Store:
	def __init__(self, group):
		self._group = group
		self._local_models = {}
	
	def create_model(self, model_id):
		model = LocalModel(self._group, model_id)
		self._local_models[model_id] = model
		return model
	
	def get_model(self, model_id):
		if self._local_models.has_key(model_id):
			return self._local_models(model_id)
		else:
			service = self._group.get_service(model_id, LocalModel.SERVICE_TYPE)
			if service:
				return RemoteModel(service)
			else:
				return None