Skip to content

Commit c458619

Browse files
authored
Merge pull request #148 from OpenDataAlex/process_tracker_python-125
Process tracker python 125
2 parents 918ea9b + fab914b commit c458619

File tree

7 files changed

+47
-4
lines changed

7 files changed

+47
-4
lines changed

dbscripts/mysql_process_tracker.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ create table process_tracker.source_lkup
222222
source_id int auto_increment
223223
primary key,
224224
source_name varchar(250) not null,
225-
source_type_id int null,
225+
source_type_id int default 1 not null ,
226226
character_set_id int null,
227227
constraint source_name
228228
unique (source_name),

dbscripts/mysql_process_tracker_defaults.sql

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,9 @@ INSERT INTO process_tracker.filter_type_lkup (filter_type_id, filter_type_code,
4848
INSERT INTO process_tracker.filesize_type_lkup (filesize_type_id, filesize_type_name, filesize_type_code) VALUES (1, 'kilobytes', 'KB');
4949
INSERT INTO process_tracker.filesize_type_lkup (filesize_type_id, filesize_type_name, filesize_type_code) VALUES (2, 'megabytes', 'MB');
5050
INSERT INTO process_tracker.filesize_type_lkup (filesize_type_id, filesize_type_name, filesize_type_code) VALUES (3, 'gigabytes', 'GB');
51-
INSERT INTO process_tracker.filesize_type_lkup (filesize_type_id, filesize_type_name, filesize_type_code) VALUES (4, 'bytes', 'B ');
51+
INSERT INTO process_tracker.filesize_type_lkup (filesize_type_id, filesize_type_name, filesize_type_code) VALUES (4, 'bytes', 'B ');
52+
53+
INSERT INTO process_tracker.source_type_lkup (source_type_id, source_type_name) VALUES (1, 'Undefined');
54+
INSERT INTO process_tracker.source_type_lkup (source_type_id, source_type_name) VALUES (2, 'Database');
55+
INSERT INTO process_tracker.source_type_lkup (source_type_id, source_type_name) VALUES (3, 'Internal');
56+
INSERT INTO process_tracker.source_type_lkup (source_type_id, source_type_name) VALUES (4, 'External');

dbscripts/postgresql_process_tracker.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -495,7 +495,7 @@ create table source_lkup
495495
constraint source_lkup_pk
496496
primary key,
497497
source_name varchar(250) not null,
498-
source_type_id integer
498+
source_type_id integer not null default 1
499499
constraint source_lkup_fk01
500500
references source_type_lkup,
501501
character_set_id integer

dbscripts/postgresql_process_tracker_defaults.sql

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,4 +47,9 @@ INSERT INTO process_tracker.filter_type_lkup (filter_type_id, filter_type_code,
4747
INSERT INTO process_tracker.filesize_type_lkup (filesize_type_id, filesize_type_name, filesize_type_code) VALUES (1, 'kilobytes', 'KB');
4848
INSERT INTO process_tracker.filesize_type_lkup (filesize_type_id, filesize_type_name, filesize_type_code) VALUES (2, 'megabytes', 'MB');
4949
INSERT INTO process_tracker.filesize_type_lkup (filesize_type_id, filesize_type_name, filesize_type_code) VALUES (3, 'gigabytes', 'GB');
50-
INSERT INTO process_tracker.filesize_type_lkup (filesize_type_id, filesize_type_name, filesize_type_code) VALUES (4, 'bytes', 'B ');
50+
INSERT INTO process_tracker.filesize_type_lkup (filesize_type_id, filesize_type_name, filesize_type_code) VALUES (4, 'bytes', 'B ');
51+
52+
INSERT INTO process_tracker.source_type_lkup (source_type_id, source_type_name) VALUES (1, 'Undefined');
53+
INSERT INTO process_tracker.source_type_lkup (source_type_id, source_type_name) VALUES (2, 'Database');
54+
INSERT INTO process_tracker.source_type_lkup (source_type_id, source_type_name) VALUES (3, 'Internal');
55+
INSERT INTO process_tracker.source_type_lkup (source_type_id, source_type_name) VALUES (4, 'External');

process_tracker/models/source.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,12 @@ class Source(Base):
119119
ForeignKey("process_tracker.character_set_lkup.character_set_id"),
120120
nullable=True,
121121
)
122+
source_type_id = Column(
123+
Integer,
124+
ForeignKey("process_tracker.source_type_lkup.source_type_id"),
125+
nullable=True,
126+
default=1,
127+
)
122128

123129
def __repr__(self):
124130

@@ -362,3 +368,19 @@ def __repr__(self):
362368
self.source_object_id,
363369
self.dataset_type_id,
364370
)
371+
372+
373+
class SourceType(Base):
374+
375+
__tablename__ = "source_type_lkup"
376+
__table_args__ = {"schema": "process_tracker"}
377+
378+
source_type_id = Column(Integer, primary_key=True, nullable=False)
379+
source_type_name = Column(String(75), nullable=False, unique=True)
380+
381+
def __repr__(self):
382+
383+
return "<SourceType id=%s, name=%s>" % (
384+
self.source_type_id,
385+
self.source_type_name,
386+
)

process_tracker/process_tracker.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
SourceObject,
5252
SourceObjectAttribute,
5353
SourceObjectDatasetType,
54+
SourceType,
5455
)
5556
from process_tracker.models.tool import Tool
5657

@@ -699,6 +700,7 @@ def find_process_source_attributes(self, process):
699700
source_attributes = (
700701
self.session.query(
701702
Source.source_name,
703+
SourceType.source_type_name,
702704
SourceObject.source_object_name,
703705
SourceObjectAttribute.source_object_attribute_name,
704706
SourceObjectAttribute.is_key,
@@ -707,6 +709,7 @@ def find_process_source_attributes(self, process):
707709
)
708710
.join(SourceObject, SourceObjectAttribute.source_objects)
709711
.join(Source, SourceObject.sources)
712+
.join(SourceType)
710713
.join(ProcessSourceObjectAttribute)
711714
.filter(ProcessSourceObjectAttribute.process_id == process)
712715
.order_by(
@@ -720,6 +723,7 @@ def find_process_source_attributes(self, process):
720723
source_attribute_list.append(
721724
{
722725
"source_name": attribute.source_name,
726+
"source_type": attribute.source_type_name,
723727
"source_object_name": attribute.source_object_name,
724728
"source_object_attribute_name": attribute.source_object_attribute_name,
725729
"is_key": attribute.is_key,
@@ -742,6 +746,7 @@ def find_process_target_attributes(self, process):
742746
source_attributes = (
743747
self.session.query(
744748
Source.source_name,
749+
SourceType.source_type_name,
745750
SourceObject.source_object_name,
746751
SourceObjectAttribute.source_object_attribute_name,
747752
SourceObjectAttribute.is_key,
@@ -750,6 +755,7 @@ def find_process_target_attributes(self, process):
750755
)
751756
.join(SourceObject, SourceObjectAttribute.source_objects)
752757
.join(Source, SourceObject.sources)
758+
.join(SourceType)
753759
.join(ProcessTargetObjectAttribute)
754760
.filter(ProcessTargetObjectAttribute.process_id == process)
755761
.order_by(
@@ -763,6 +769,7 @@ def find_process_target_attributes(self, process):
763769
target_attribute_list.append(
764770
{
765771
"target_name": attribute.source_name,
772+
"target_type": attribute.source_type_name,
766773
"target_object_name": attribute.source_object_name,
767774
"target_object_attribute_name": attribute.source_object_attribute_name,
768775
"is_key": attribute.is_key,

tests/test_process_tracker.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2078,6 +2078,7 @@ def test_find_process_source_attributes(self):
20782078
expected_result = [
20792079
{
20802080
"source_name": "source",
2081+
"source_type": "Undefined",
20812082
"source_object_name": "source_table",
20822083
"source_object_attribute_name": "attr_1",
20832084
"is_key": False,
@@ -2086,6 +2087,7 @@ def test_find_process_source_attributes(self):
20862087
},
20872088
{
20882089
"source_name": "source",
2090+
"source_type": "Undefined",
20892091
"source_object_name": "source_table",
20902092
"source_object_attribute_name": "attr_2",
20912093
"is_key": False,
@@ -2113,6 +2115,7 @@ def test_find_process_target_attributes(self):
21132115
expected_result = [
21142116
{
21152117
"target_name": "target",
2118+
"target_type": "Undefined",
21162119
"target_object_name": "target_table",
21172120
"target_object_attribute_name": "attr_1",
21182121
"is_key": False,
@@ -2121,6 +2124,7 @@ def test_find_process_target_attributes(self):
21212124
},
21222125
{
21232126
"target_name": "target",
2127+
"target_type": "Undefined",
21242128
"target_object_name": "target_table",
21252129
"target_object_attribute_name": "attr_2",
21262130
"is_key": False,

0 commit comments

Comments
 (0)