blob: a089bec6a9642cecb4ae6d93381581fa6ae3a2fe [file] [log] [blame]
Scott Baker7581c252016-05-27 13:12:47 -07001import os
2import sys
3import base64
4from django.db.models import F, Q
5from xos.config import Config
6from synchronizers.base.syncstep import SyncStep
7from core.models import Service, ServiceController, ServiceControllerResource
8from xos.logger import Logger, logging
9
10# xosbuilder will be in steps/..
11parentdir = os.path.join(os.path.dirname(__file__),"..")
12sys.path.insert(0,parentdir)
13
14from xosbuilder import XOSBuilder
15
16logger = Logger(level=logging.INFO)
17
18class SyncServiceControllerResource(SyncStep, XOSBuilder):
19 provides=[ServiceControllerResource]
20 observes=ServiceControllerResource
21 requested_interval=0
22
23 def __init__(self, **args):
24 SyncStep.__init__(self, **args)
25 XOSBuilder.__init__(self)
26
Scott Bakerb0eb23e2016-06-01 16:08:04 -070027 def sync_record(self, scr):
28 logger.info("Sync'ing ServiceControllerResource %s" % scr)
29 self.download_resource(scr)
Scott Baker7581c252016-05-27 13:12:47 -070030
Scott Bakerb8de6762016-12-05 15:56:32 -080031 if scr.loadable_module and scr.loadable_module.xos:
32 # Make sure the xos UI is resynced
33 xos = scr.loadable_module.xos
34 xos.save(update_fields=["updated"], always_update_timestamp=True)
35
Scott Baker7581c252016-05-27 13:12:47 -070036 def delete_record(self, m):
37 pass
38
Scott Bakerb0eb23e2016-06-01 16:08:04 -070039 def fetch_pending(self, deleted=False):
40 pend = super(SyncServiceControllerResource, self).fetch_pending(deleted)
41 return pend
42