projects
/
osm
/
SO.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
update from RIFT as of 696b75d2fe9fb046261b08c616f1bcf6c0b54a9b second try
[osm/SO.git]
/
rwlaunchpad
/
plugins
/
rwstagingmgr
/
rift
/
tasklets
/
rwstagingmgr
/
publisher
/
staging_status.py
diff --git
a/rwlaunchpad/plugins/rwstagingmgr/rift/tasklets/rwstagingmgr/publisher/staging_status.py
b/rwlaunchpad/plugins/rwstagingmgr/rift/tasklets/rwstagingmgr/publisher/staging_status.py
index
82e2da5
..
a2ab8fc
100644
(file)
--- a/
rwlaunchpad/plugins/rwstagingmgr/rift/tasklets/rwstagingmgr/publisher/staging_status.py
+++ b/
rwlaunchpad/plugins/rwstagingmgr/rift/tasklets/rwstagingmgr/publisher/staging_status.py
@@
-18,23
+18,26
@@
#
import asyncio
#
import asyncio
+import gi
import uuid
from gi.repository import (RwDts as rwdts)
import rift.mano.dts as mano_dts
import rift.tasklets
import uuid
from gi.repository import (RwDts as rwdts)
import rift.mano.dts as mano_dts
import rift.tasklets
+gi.require_version('RwKeyspec', '1.0')
+from gi.repository.RwKeyspec import quoted_key
from ..protocol import StagingStoreProtocol
class StagingStorePublisher(mano_dts.DtsHandler, StagingStoreProtocol):
from ..protocol import StagingStoreProtocol
class StagingStorePublisher(mano_dts.DtsHandler, StagingStoreProtocol):
- def __init__(self,
log, dts, loop
):
- super().__init__(
log, dts, loop
)
+ def __init__(self,
project
):
+ super().__init__(
project.log, project.dts, project.loop, project
)
self.delegate = None
def xpath(self, area_id=None):
self.delegate = None
def xpath(self, area_id=None):
- return ("D,/rw-staging-mgmt:staging-areas/rw-staging-mgmt:staging-area" +
-
("[area-id='{}']".format(area_id
) if area_id else ""))
+ return
self.project.add_project
("D,/rw-staging-mgmt:staging-areas/rw-staging-mgmt:staging-area" +
+
("[area-id={}]".format(quoted_key(area_id)
) if area_id else ""))
@asyncio.coroutine
def register(self):
@asyncio.coroutine
def register(self):
@@
-59,6
+62,12
@@
class StagingStorePublisher(mano_dts.DtsHandler, StagingStoreProtocol):
assert self.reg is not None
assert self.reg is not None
+ def deregister(self):
+ self._log.debug("Project {}: de-register staging store handler".
+ format(self._project.name))
+ if self.reg:
+ self.reg.deregister()
+
def on_staging_area_create(self, store):
self.reg.update_element(self.xpath(store.area_id), store)
def on_staging_area_create(self, store):
self.reg.update_element(self.xpath(store.area_id), store)