Douglas Henrique Koerich 84b5114027 Images of ptp-notification containers for Debian
This change reorganizes the source directories of the ptp-notification's
containers: locationservice; notificationservice; notificationclient, to
be reused by both CentOS and Debian Dockerfiles to build the images
having the corresponding OS-specific base, together with the new files
used to build images for Debian.

Tests:
PASS: Build images of the 3 containers for Debian
PASS: Upload and apply changed ptp-notification application to pull
      Debian images from private repository (since final tag is
      not possible yet) in a Debian AIO-SX environment

Regression:
PASS: Build images of the 3 containers for CentOS

Story: 2009831
Task: 45658
Signed-off-by: Douglas Henrique Koerich <douglashenrique.koerich@windriver.com>
Change-Id: I4aa9650dbebe5ba68cd4d104ee0995e79681cfa4
2022-07-19 15:01:27 -03:00

93 lines
2.7 KiB
Python

#
# Copyright (c) 2021 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
import time, uuid
import logging
from sqlalchemy.orm import scoped_session, sessionmaker
from notificationclientsdk.model.orm.subscription import Subscription as SubscriptionOrm
from notificationclientsdk.repository.dbcontext import DbContext
LOG = logging.getLogger(__name__)
from notificationclientsdk.common.helpers import log_helper
log_helper.config_logger(LOG)
class SubscriptionRepo(DbContext):
def __init__(self, session=None, autocommit=False):
self.autocommit = autocommit
super(SubscriptionRepo, self).__init__(session)
if session:
self.own_session = False
else:
self.own_session = True
def __del__(self):
if self.own_session:
self.clear()
def add(self, subscription):
try:
subscription.SubscriptionId = str(uuid.uuid1())
subscription.Status = 1
subscription.CreateTime = time.time()
subscription.LastUpdateTime = subscription.CreateTime
subscription.UriLocation = "{0}/{1}".format(
subscription.UriLocation, subscription.SubscriptionId)
self.session.add(subscription)
except Exception as ex:
if self.autocommit:
self.rollback()
raise ex
else:
if self.autocommit:
self.commit()
return subscription
def update(self, subscriptionid, **data):
try:
data['LastUpdateTime'] = time.time()
self.session.query(SubscriptionOrm).filter_by(SubscriptionId=subscriptionid).update(data)
except Exception as ex:
if self.autocommit:
self.rollback()
raise ex
else:
if self.autocommit:
self.commit()
def get_one(self, **filter):
return self.session.query(SubscriptionOrm).filter_by(**filter).first()
def get(self, **filter):
return self.session.query(SubscriptionOrm).filter_by(**filter)
def delete_one(self, **filter):
try:
entry = self.session.query(SubscriptionOrm).filter_by(**filter).first()
self.session.delete(entry)
except Exception as ex:
if self.autocommit:
self.rollback()
raise ex
else:
if self.autocommit:
self.commit()
def delete(self, **filter):
try:
entry = self.session.query(SubscriptionOrm).filter_by(**filter).delete()
except Exception as ex:
if self.autocommit:
self.rollback()
raise ex
else:
if self.autocommit:
self.commit()