Skip to content

Commit 7d7b776

Browse files
Cleaned up meta files, improved readme, and bumped version
1 parent 3af9922 commit 7d7b776

File tree

4 files changed

+69
-20
lines changed

4 files changed

+69
-20
lines changed

README.md

Lines changed: 47 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -121,14 +121,11 @@ NOTE: This project is a work in progress. While functional, it is not optimized.
121121
# Descendant methods which return a queryset
122122

123123
>>> root.descendants()
124-
<QuerySet [<NetworkNode: a1>, <NetworkNode: a2>, <NetworkNode: a3>, <NetworkNode: b1>, <NetworkNode: b
125-
2>, <NetworkNode: b3>, <NetworkNode: b4>, <NetworkNode: c1>, <NetworkNode: c2>]>
124+
<QuerySet [<NetworkNode: a1>, <NetworkNode: a2>, <NetworkNode: a3>, <NetworkNode: b1>, <NetworkNode: b2>, <NetworkNode: b3>, <NetworkNode: b4>, <NetworkNode: c1>, <NetworkNode: c2>]>
126125
>>> root.self_and_descendants()
127-
<QuerySet [<NetworkNode: root>, <NetworkNode: a1>, <NetworkNode: a2>, <NetworkNode: a3>, <NetworkNode:
128-
b1>, <NetworkNode: b2>, <NetworkNode: b3>, <NetworkNode: b4>, <NetworkNode: c1>, <NetworkNode: c2>]>
126+
<QuerySet [<NetworkNode: root>, <NetworkNode: a1>, <NetworkNode: a2>, <NetworkNode: a3>, <NetworkNode: b1>, <NetworkNode: b2>, <NetworkNode: b3>, <NetworkNode: b4>, <NetworkNode: c1>, <NetworkNode: c2>]>
129127
>>> root.descendants_and_self()
130-
[<NetworkNode: c2>, <NetworkNode: c1>, <NetworkNode: b4>, <NetworkNode: b3>, <NetworkNode: b2>, <Netwo
131-
rkNode: b1>, <NetworkNode: a3>, <NetworkNode: a2>, <NetworkNode: a1>, <NetworkNode: root>]
128+
[<NetworkNode: c2>, <NetworkNode: c1>, <NetworkNode: b4>, <NetworkNode: b3>, <NetworkNode: b2>, <NetworkNode: b1>, <NetworkNode: a3>, <NetworkNode: a2>, <NetworkNode: a1>, <NetworkNode: root>]
132129

133130
# Ancestor methods which return ids
134131

@@ -144,8 +141,7 @@ NOTE: This project is a work in progress. While functional, it is not optimized.
144141
>>> c1.ancestors()
145142
<QuerySet [<NetworkNode: root>, <NetworkNode: a3>, <NetworkNode: b3>, <NetworkNode: b4>]>
146143
>>> c1.ancestors_and_self()
147-
<QuerySet [<NetworkNode: root>, <NetworkNode: a3>, <NetworkNode: b3>, <NetworkNode: b4>, <NetworkNode:
148-
c1>]>
144+
<QuerySet [<NetworkNode: root>, <NetworkNode: a3>, <NetworkNode: b3>, <NetworkNode: b4>, <NetworkNode: c1>]>
149145
>>> c1.self_and_ancestors()
150146
[<NetworkNode: c1>, <NetworkNode: b4>, <NetworkNode: b3>, <NetworkNode: a3>, <NetworkNode: root>]
151147

@@ -154,15 +150,43 @@ NOTE: This project is a work in progress. While functional, it is not optimized.
154150
>>> b3.clan_ids()
155151
[1, 4, 7, 9, 10]
156152
>>> b3.clan()
157-
<QuerySet [<NetworkNode: root>, <NetworkNode: a3>, <NetworkNode: b3>, <NetworkNode: c1>, <NetworkNode:
158-
c2>]>
153+
<QuerySet [<NetworkNode: root>, <NetworkNode: a3>, <NetworkNode: b3>, <NetworkNode: c1>, <NetworkNode: c2>]>
159154

160155
# Get all roots or leaves associated with the node
161156

162157
>>> b3.get_roots()
163158
{<NetworkNode: root>}
164159
>>> b3.get_leaves()
165160
{<NetworkNode: c1>, <NetworkNode: c2>}
161+
162+
# Perform path search
163+
164+
>>> root.path_ids_list(c1)
165+
[[1, 4, 7, 9]]
166+
>>> c1.path_ids_list(root)
167+
Traceback (most recent call last):
168+
File "<input>", line 1, in <module>
169+
c1.path_ids_list(root)
170+
File "/home/runner/pgdagtest/pg/models.py", line 313, in path_ids_list
171+
raise NodeNotReachableException
172+
pg.models.NodeNotReachableException
173+
>>> c1.path_ids_list(root, directional=False)
174+
[[1, 4, 7, 9]]
175+
>>> root.path_ids_list(c1, max_paths=2)
176+
[[1, 4, 7, 9], [1, 4, 8, 9]]
177+
>>> root.shortest_path(c1)
178+
<QuerySet [<NetworkNode: root>, <NetworkNode: a3>, <NetworkNode: b3>, <NetworkNode: c1>]>
179+
>>> c1.shortest_path(root)
180+
Traceback (most recent call last):
181+
File "<input>", line 1, in <module>
182+
c1.shortest_path(root)
183+
File "/home/runner/pgdagtest/pg/models.py", line 323, in shortest_path
184+
return self.filter_order_ids(self.path_ids_list(target_node, directional=directional)[0])
185+
File "/home/runner/pgdagtest/pg/models.py", line 313, in path_ids_list
186+
raise NodeNotReachableException
187+
pg.models.NodeNotReachableException
188+
>>> c1.shortest_path(root, directional=False)
189+
<QuerySet [<NetworkNode: root>, <NetworkNode: a3>, <NetworkNode: b4>, <NetworkNode: c1>]>
166190

167191
# Get the nodes at the start or end of an edge
168192

@@ -175,7 +199,7 @@ NOTE: This project is a work in progress. While functional, it is not optimized.
175199
<NetworkNode: b4>
176200
>>> e2.child
177201
<NetworkNode: c1>
178-
202+
179203
# Edge-specific Manager methods
180204

181205
>>> NetworkEdge.objects.descendants(b3)
@@ -184,7 +208,18 @@ NOTE: This project is a work in progress. While functional, it is not optimized.
184208
<QuerySet [<NetworkEdge: a3 b3>, <NetworkEdge: root a3>]>
185209
>>> NetworkEdge.objects.clan(b3)
186210
<QuerySet [<NetworkEdge: root a3>, <NetworkEdge: a3 b3>, <NetworkEdge: b3 c2>, <NetworkEdge: b3 c1>]>
187-
>>> NetworkEdge.objects.path(root, c1)
211+
>>> NetworkEdge.objects.shortest_path(root, c1)
212+
<QuerySet [<NetworkEdge: root a3>, <NetworkEdge: a3 b3>, <NetworkEdge: b3 c1>]>
213+
>>> NetworkEdge.objects.shortest_path(c1, root)
214+
Traceback (most recent call last):
215+
File "<input>", line 1, in <module>
216+
NetworkEdge.objects.shortest_path(c1, root)
217+
File "/home/runner/pgdagtest/pg/models.py", line 425, in shortest_path
218+
self.model.objects, ["parent_id", "child_id"], start_node.path_ids_list(end_node)[0]
219+
File "/home/runner/pgdagtest/pg/models.py", line 313, in path_ids_list
220+
raise NodeNotReachableException
221+
pg.models.NodeNotReachableException
222+
>>> NetworkEdge.objects.shortest_path(c1, root, directional=False)
188223
<QuerySet [<NetworkEdge: root a3>, <NetworkEdge: a3 b4>, <NetworkEdge: b4 c1>]>
189224

190225

manage.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import sys
44

55
if __name__ == '__main__':
6-
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'django_dag_postgres.settings')
6+
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'django_postgresql_dag.settings')
77
try:
88
from django.core.management import execute_from_command_line
99
except ImportError as exc:

settings.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
"""
2-
Django settings for django_dag_postgresql project.
2+
Django settings for django_postgresql_dag project.
33
44
Generated by 'django-admin startproject' using Django 2.1.2.
55
@@ -49,7 +49,7 @@
4949
'django.middleware.clickjacking.XFrameOptionsMiddleware',
5050
]
5151

52-
ROOT_URLCONF = 'django_dag_postgresql.urls'
52+
ROOT_URLCONF = 'django_postgresql_dag.urls'
5353

5454
TEMPLATES = [
5555
{
@@ -67,16 +67,20 @@
6767
},
6868
]
6969

70-
WSGI_APPLICATION = 'django_dag_postgresql.wsgi.application'
70+
WSGI_APPLICATION = 'django_postgresql_dag.wsgi.application'
7171

7272

7373
# Database
7474
# https://docs.djangoproject.com/en/2.1/ref/settings/#databases
7575

7676
DATABASES = {
7777
'default': {
78-
'ENGINE': 'django.db.backends.sqlite3',
79-
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
78+
'ENGINE': 'django.db.backends.postgresql_psycopg2',
79+
'NAME': 'dbname',
80+
'USER': 'user',
81+
'PASSWORD': 'password',
82+
'HOST': 'hostaddress',
83+
'PORT': '25060',
8084
}
8185
}
8286

setup.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,28 @@
33
import os
44
from setuptools import setup
55

6-
version = '0.0.5'
6+
version = '0.0.6'
77

88
classifiers = [
99
"Development Status :: 3 - Alpha",
1010
"Intended Audience :: Developers",
1111
"License :: OSI Approved :: Apache Software License",
1212
"Programming Language :: Python",
13+
"Programming Language :: Python :: 3.6",
14+
"Programming Language :: Python :: 3.7",
15+
"Programming Language :: Python :: 3.8",
16+
"Programming Language :: Python :: 3.9",
1317
"Operating System :: OS Independent",
1418
"Topic :: Software Development :: Libraries",
19+
"Topic :: Database",
1520
"Topic :: Utilities",
1621
"Environment :: Web Environment",
1722
"Framework :: Django",
23+
"Framework :: Django :: 2.0",
24+
"Framework :: Django :: 2.1",
25+
"Framework :: Django :: 2.2",
26+
"Framework :: Django :: 3.0",
27+
"Framework :: Django :: 3.1",
1828
]
1929

2030
root_dir = os.path.dirname(__file__)
@@ -26,7 +36,7 @@
2636
name='django-postgresql-dag',
2737
version=version,
2838
url='https://github.com/OmenApps/django-postgresql-dag',
29-
author='Jack Linke',
39+
author='Jack Linke, et al.',
3040
author_email='jacklinke@gmail.com',
3141
license='Apache Software License',
3242
packages=['django_postgresql_dag'],

0 commit comments

Comments
 (0)