Skip to content

Commit 527ae4a

Browse files
tarekbadrshafrittoli
authored andcommitted
add receiver
1 parent af6d58c commit 527ae4a

23 files changed

+492
-260
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,3 +127,6 @@ dmypy.json
127127

128128
# Pyre type checker
129129
.pyre/
130+
131+
# VS Code
132+
.vscode

cli/cdevents/cli/artifact.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ def packaged(
5353
data: List[str] = None,
5454
):
5555
print_function_args()
56-
artifact_event = ArtifactPackagedEvent(id, name, version, data=data)
56+
artifact_event = ArtifactPackagedEvent(id=id, name=name, version=version, data=data)
5757
cdevents_command = CDeventsCommand()
5858
cdevents_command.run(artifact_event)
5959

@@ -67,6 +67,6 @@ def published(
6767
data: List[str] = None,
6868
):
6969
print_function_args()
70-
artifact_event = ArtifactPublishedEvent(id, name, version, data=data)
70+
artifact_event = ArtifactPublishedEvent(id=id, name=name, version=version, data=data)
7171
cdevents_command = CDeventsCommand()
7272
cdevents_command.run(artifact_event)

cli/cdevents/cli/cdevents_command.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
"""Module for cli common command code."""
22
import logging
33
from abc import ABC
4-
import requests
54

65
from cloudevents.http import CloudEvent
76

core/cdevents/core/artifact.py

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,30 @@
11
"""artifact"""
22

3-
from enum import Enum
43
from cdevents.core.event import Event
5-
6-
class ArtifactType(Enum):
7-
ArtifactPackagedEventV1: str = "cd.artifact.packaged.v1"
8-
ArtifactPublishedEventV1: str = "cd.artifact.published.v1"
9-
4+
from cdevents.core.event_type import EventType
105

116
class ArtifactEvent(Event):
127
"""Artifact Event."""
138

14-
def __init__(self, artifact_type: ArtifactType, id: str, name: str, version: str, data: dict = {}):
9+
def __init__(self, **kwargs):
1510
"""Initializes class.
1611
"""
17-
self._event_type = artifact_type
18-
self._id = id
19-
self._name = name
20-
self._version = version
21-
super().__init__(event_type=self._event_type.value, extensions=self.create_extensions(), data=data)
22-
12+
self._event_type : EventType = kwargs['artifact_type']
13+
if 'data' in kwargs:
14+
self._data :dict = kwargs['data']
15+
16+
if 'id' in kwargs and 'name' in kwargs and 'version' in kwargs:
17+
self._id :str = kwargs['id']
18+
self._name :str = kwargs['name']
19+
self._version :str = kwargs['version']
20+
super().__init__(event_type=self._event_type.value, extensions=self.create_extensions(), data=self._data)
21+
22+
elif 'extensions' in kwargs:
23+
self._id = kwargs['extensions'].get('artifactid')
24+
self._name = kwargs['extensions'].get('artifactname')
25+
self._version = kwargs['extensions'].get('artifactversion')
26+
super().__init__(event_type=self._event_type.value, extensions=self.create_extensions(), data=self._data)
27+
2328
def create_extensions(self) -> dict:
2429
"""Create extensions.
2530
"""
@@ -32,18 +37,18 @@ def create_extensions(self) -> dict:
3237

3338
class ArtifactPackagedEvent(ArtifactEvent):
3439

35-
def __init__(self, id: str, name: str, version: str, data: dict = {}):
40+
def __init__(self, **kwargs):
3641
"""Initializes class.
3742
"""
38-
self._event_type: str = ArtifactType.ArtifactPackagedEventV1
43+
self._event_type: str = EventType.ArtifactPackagedEventV1
3944

40-
super().__init__(artifact_type=self._event_type, id=id, name=name, version=version, data=data)
45+
super().__init__(artifact_type=self._event_type, **kwargs)
4146

4247
class ArtifactPublishedEvent(ArtifactEvent):
4348

44-
def __init__(self, id: str, name: str, version: str, data: dict = {}):
49+
def __init__(self, **kwargs):
4550
"""Initializes class.
4651
"""
47-
self._event_type: str = ArtifactType.ArtifactPublishedEventV1
52+
self._event_type: str = EventType.ArtifactPublishedEventV1
4853

49-
super().__init__(artifact_type=self._event_type, id=id, name=name, version=version, data=data)
54+
super().__init__(artifact_type=self._event_type, **kwargs)

core/cdevents/core/branch.py

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,30 @@
11
"""branch"""
22

3-
from enum import Enum
43
from cdevents.core.event import Event
5-
6-
class BranchType(Enum):
7-
BranchCreatedEventV1: str = "cd.repository.branch.created.v1"
8-
BranchDeletedEventV1: str = "cd.repository.branch.deleted.v1"
9-
4+
from cdevents.core.event_type import EventType
105

116
class BranchEvent(Event):
127
"""Branch Event."""
138

14-
def __init__(self, branch_type: BranchType, id: str, name: str, repoid: str, data: dict = {}):
9+
def __init__(self, **kwargs):
1510
"""Initializes class.
1611
"""
17-
self._event_type = branch_type
18-
self._id = id
19-
self._name = name
20-
self._repoid = repoid
21-
super().__init__(event_type=self._event_type.value, extensions=self.create_extensions(), data=data)
22-
12+
self._event_type : EventType = kwargs['branch_type']
13+
14+
if 'data' in kwargs:
15+
self._data :dict = kwargs['data']
16+
17+
if 'id' in kwargs and 'name' in kwargs and 'repoid' in kwargs:
18+
self._id :str = kwargs['id']
19+
self._name :str = kwargs['name']
20+
self._repoid :str = kwargs['repoid']
21+
super().__init__(event_type=self._event_type.value, extensions=self.create_extensions(), data=self._data)
22+
elif 'extensions' in kwargs:
23+
self._id = kwargs['extensions'].get('branchid')
24+
self._name = kwargs['extensions'].get('branchname')
25+
self._repoid = kwargs['extensions'].get('branchrepositoryid')
26+
super().__init__(event_type=self._event_type.value, extensions=self.create_extensions(), data=self._data)
27+
2328
def create_extensions(self) -> dict:
2429
"""Create extensions.
2530
"""
@@ -32,18 +37,18 @@ def create_extensions(self) -> dict:
3237

3338
class BranchCreatedEvent(BranchEvent):
3439

35-
def __init__(self, id: str, name: str, repoid: str, data: dict = {}):
40+
def __init__(self, **kwargs):
3641
"""Initializes class.
3742
"""
38-
self._event_type: str = BranchType.BranchCreatedEventV1
43+
self._event_type: str = EventType.BranchCreatedEventV1
3944

40-
super().__init__(branch_type=self._event_type, id=id, name=name, repoid=repoid, data=data)
45+
super().__init__(branch_type=self._event_type, **kwargs)
4146

4247
class BranchDeletedEvent(BranchEvent):
4348

44-
def __init__(self, id: str, name: str, repoid: str, data: dict = {}):
49+
def __init__(self, **kwargs):
4550
"""Initializes class.
4651
"""
47-
self._event_type: str = BranchType.BranchDeletedEventV1
52+
self._event_type: str = EventType.BranchDeletedEventV1
4853

49-
super().__init__(branch_type=self._event_type, id=id, name=name, repoid=repoid, data=data)
54+
super().__init__(branch_type=self._event_type, **kwargs)

core/cdevents/core/build.py

Lines changed: 32 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,30 @@
11
"""build"""
22

3-
from enum import Enum
4-
from cdevents.core.event import Event
5-
6-
class BuildType(Enum):
7-
BuildStartedEventV1 :str = "cd.build.started.v1"
8-
BuildQueuedEventV1 :str = "cd.build.queued.v1"
9-
BuildFinishedEventV1 :str = "cd.build.finished.v1"
10-
3+
from cdevents.core.event import Event
4+
from cdevents.core.event_type import EventType
115

126
class BuildEvent(Event):
137
"""Build Event."""
148

15-
def __init__(self, build_type: BuildType, id: str, name: str, artifact: str, data: dict = {}):
9+
def __init__(self, **kwargs):
1610
"""Initializes class.
1711
"""
18-
self._event_type = build_type
19-
self._id = id
20-
self._name = name
21-
self._artifact = artifact
22-
super().__init__(event_type=self._event_type.value, extensions=self.create_extensions(), data=data)
23-
12+
self._event_type : EventType = kwargs['build_type']
13+
if 'data' in kwargs:
14+
self._data :dict = kwargs['data']
15+
16+
if 'id' in kwargs and 'name' in kwargs and 'artifact' in kwargs:
17+
self._id :str = kwargs['id']
18+
self._name :str = kwargs['name']
19+
self._artifact :str = kwargs['artifact']
20+
super().__init__(event_type=self._event_type.value, extensions=self.create_extensions(), data=self._data)
21+
22+
elif 'extensions' in kwargs:
23+
self._id = kwargs['extensions'].get('buildid'),
24+
self._name = kwargs['extensions'].get('buildname')
25+
self._artifact = kwargs['extensions'].get('buildartifactid')
26+
super().__init__(event_type=self._event_type.value, extensions=self.create_extensions(), attrs=kwargs['attrs'], data=self._data)
27+
2428
def create_extensions(self) -> dict:
2529
"""Create extensions.
2630
"""
@@ -32,28 +36,28 @@ def create_extensions(self) -> dict:
3236
return extensions
3337

3438
class BuildStartedEvent(BuildEvent):
35-
36-
def __init__(self, id: str, name: str, artifact: str, data: dict = {}):
39+
"""Build Started Event."""
40+
def __init__(self, **kwargs):
3741
"""Initializes class.
3842
"""
39-
self._event_type: str = BuildType.BuildStartedEventV1
43+
self._event_type: str = EventType.BuildStartedEventV1
4044

41-
super().__init__(build_type=self._event_type, id=id, name=name, artifact=artifact, data=data)
42-
43-
class BuildQueuedEvent(BuildEvent):
45+
super().__init__(build_type=self._event_type, **kwargs)
4446

45-
def __init__(self, id: str, name: str, artifact: str, data: dict = {}):
47+
class BuildQueuedEvent(BuildEvent):
48+
"""Build Queued Event."""
49+
def __init__(self, **kwargs):
4650
"""Initializes class.
4751
"""
48-
self._event_type: str = BuildType.BuildQueuedEventV1
52+
self._event_type: str = EventType.BuildQueuedEventV1
4953

50-
super().__init__(build_type=self._event_type, id=id, name=name, artifact=artifact, data=data)
54+
super().__init__(build_type=self._event_type, **kwargs)
5155

5256
class BuildFinishedEvent(BuildEvent):
53-
54-
def __init__(self, id: str, name: str, artifact: str, data: dict = {}):
57+
"""Build Finished Event."""
58+
def __init__(self, **kwargs):
5559
"""Initializes class.
5660
"""
57-
self._event_type: str = BuildType.BuildFinishedEventV1
61+
self._event_type: str = EventType.BuildFinishedEventV1
5862

59-
super().__init__(build_type=self._event_type, id=id, name=name, artifact=artifact, data=data)
63+
super().__init__(build_type=self._event_type, **kwargs)

core/cdevents/core/env.py

Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,29 @@
11
"""env"""
22

3-
from enum import Enum
43
from cdevents.core.event import Event
5-
6-
class EnvType(Enum):
7-
EnvironmentCreatedEventV1 :str = "cd.environment.created.v1"
8-
EnvironmentModifiedEventV1 :str = "cd.environment.modified.v1"
9-
EnvironmentDeletedEventV1 :str = "cd.environment.deleted.v1"
10-
4+
from cdevents.core.event_type import EventType
115

126
class EnvEvent(Event):
137
"""Env Event."""
148

15-
def __init__(self, env_type: EnvType, id: str, name: str, repo: str, data: dict = {}):
9+
def __init__(self, **kwargs):
1610
"""Initializes class.
1711
"""
18-
self._event_type = env_type
19-
self._id = id
20-
self._name = name
21-
self._repo = repo
22-
super().__init__(event_type=self._event_type.value, extensions=self.create_extensions(), data=data)
12+
self._event_type : EventType = kwargs['env_type']
13+
if 'data' in kwargs:
14+
self._data :dict = kwargs['data']
15+
16+
if 'id' in kwargs and 'name' in kwargs and 'repo' in kwargs:
17+
self._id :str = kwargs['id']
18+
self._name :str = kwargs['name']
19+
self._repo :str = kwargs['repo']
20+
super().__init__(event_type=self._event_type.value, extensions=self.create_extensions(), data=self._data)
21+
22+
elif 'extensions' in kwargs:
23+
self._id = kwargs['extensions'].get('envId')
24+
self._name = kwargs['extensions'].get('envname')
25+
self._repo = kwargs['extensions'].get('envrepourl')
26+
super().__init__(event_type=self._event_type.value, extensions=self.create_extensions(), data=self._data)
2327

2428
def create_extensions(self) -> dict:
2529
"""Create extensions.
@@ -33,29 +37,29 @@ def create_extensions(self) -> dict:
3337

3438
class EnvEventCreatedEvent(EnvEvent):
3539

36-
def __init__(self, id: str, name: str, repo: str, data: dict = {}):
40+
def __init__(self, **kwargs):
3741
"""Initializes class.
3842
"""
39-
self._event_type: str = EnvType.EnvironmentCreatedEventV1
43+
self._event_type: str = EventType.EnvironmentCreatedEventV1
4044

41-
super().__init__(env_type=self._event_type, id=id, name=name, repo=repo, data=data)
45+
super().__init__(env_type=self._event_type, **kwargs)
4246

4347
class EnvEventModifiedEvent(EnvEvent):
4448

45-
def __init__(self, id: str, name: str, repo: str, data: dict = {}):
49+
def __init__(self, **kwargs):
4650
"""Initializes class.
4751
"""
48-
self._event_type: str = EnvType.EnvironmentModifiedEventV1
52+
self._event_type: str = EventType.EnvironmentModifiedEventV1
4953

50-
super().__init__(env_type=self._event_type, id=id, name=name, repo=repo, data=data)
54+
super().__init__(env_type=self._event_type, **kwargs)
5155

5256

5357
class EnvEventDeletedEvent(EnvEvent):
5458

55-
def __init__(self, id: str, name: str, repo: str, data: dict = {}):
59+
def __init__(self, **kwargs):
5660
"""Initializes class.
5761
"""
58-
self._event_type: str = EnvType.EnvironmentDeletedEventV1
62+
self._event_type: str = EventType.EnvironmentDeletedEventV1
5963

60-
super().__init__(env_type=self._event_type, id=id, name=name, repo=repo, data=data)
64+
super().__init__(env_type=self._event_type, **kwargs)
6165

core/cdevents/core/event.py

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,26 @@
66
class Event(CloudEvent):
77
"""Event."""
88

9-
def __init__(self, event_type: str, extensions: dict, data = {}):
9+
def __init__(self, event_type: str, extensions: dict, attrs=None, data = {}):
1010
"""Initializes class.
1111
"""
12-
self._event_type = event_type
13-
self._extensions = extensions
14-
self._data = data
12+
if attrs:
13+
super().__init__(attributes=attrs, data=data)
14+
else:
15+
self._event_type = event_type
16+
self._extensions = extensions
17+
self._data = data
1518

16-
self._attributes = {
17-
"type": self._event_type,
18-
"source": "cde-cli",
19-
"extensions": self._extensions,
20-
}
21-
super().__init__(self._attributes, dict(self._data))
19+
self._attributes = {
20+
"type": self._event_type,
21+
"source": "cde-cli",
22+
"extensions": self._extensions,
23+
}
24+
super().__init__(self._attributes, dict(self._data))
2225

2326
@abstractmethod
2427
def create_extensions(self) -> dict:
2528
"""Create extensions.
2629
"""
2730
extensions = {}
2831
return extensions
29-
30-
# @abstractmethod
31-
# def event_from_json(json_obj: dict) -> Events:
32-
# """Create event from json.
33-
# """
34-
# pass

0 commit comments

Comments
 (0)