Skip to content

Commit

Permalink
edit : pyrgg_gen_using function generalized.
Browse files Browse the repository at this point in the history
  • Loading branch information
sadrasabouri committed Nov 30, 2023
1 parent d84aa50 commit dd2a193
Show file tree
Hide file tree
Showing 4 changed files with 114 additions and 142 deletions.
20 changes: 10 additions & 10 deletions pyrgg/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,16 +56,16 @@ def gen_graph(input_dict, file_name):
engine = input_dict["engine"]
edge_number = ENGINE_GENERATOR[engine](
GENERATOR_MENU[output_format],
file_name,
min_weight,
max_weight,
vertices_number,
min_edge,
max_edge,
sign,
direct,
self_loop,
multigraph)
file_name=file_name,
min_weight=min_weight,
max_weight=max_weight,
vertices_number=vertices_number,
min_edge=min_edge,
max_edge=max_edge,
sign=sign,
direct=direct,
self_loop=self_loop,
multigraph=multigraph)
if output_format == 4:
json_to_yaml(file_name)
if output_format == 7:
Expand Down
76 changes: 24 additions & 52 deletions pyrgg/functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -746,68 +746,40 @@ def check_for_config(input_func=input):

def pyrgg_gen_using(
gen_function,
file_name,
min_weight,
max_weight,
vertices_number,
min_edge,
max_edge,
sign,
direct,
self_loop,
multigraph):
**kwargs):
"""
Generate graph using given function.
:param gen_function: generation function
:type gen_function: function object
:param file_name: file name
:type file_name: str
:param min_weight: weight min range
:type min_weight: int
:param max_weight: weight max range
:type max_weight: int
:param vertices_number: number of vertices
:type vertices_number: int
:param min_edge: minimum number of edges (connected to each vertex)
:type min_edge: int
:param max_edge: maximum number of edges (connected to each vertex)
:type max_edge: int
:param sign: weight sign flag
:type sign: bool
:param direct: directed and undirected graph flag
:type direct: bool
:param self_loop: self loop flag
:type self_loop: bool
:param multigraph: multigraph flag
:type multigraph: bool
:param kwargs: input data as keyword arguments
:type kwargs: dict
:return: number of edges as int
"""
meta_data = {
"file_name": file_name,
"min_weight": min_weight,
"max_weight": max_weight,
"vertices_number": vertices_number,
"min_edge": min_edge,
"max_edge": max_edge,
"sign": sign,
"direct": direct,
"self_loop": self_loop,
"multigraph": multigraph,
}
edge_dic, weight_dic, edge_number = edge_gen(
vertices_number,
min_weight,
max_weight,
min_edge,
max_edge,
sign,
direct,
self_loop,
multigraph)
kwargs['vertices_number'],
kwargs['min_weight'],
kwargs['max_weight'],
kwargs['min_edge'],
kwargs['max_edge'],
kwargs['sign'],
kwargs['direct'],
kwargs['self_loop'],
kwargs['multigraph'])
gen_function(
edge_dic,
weight_dic,
edge_number,
meta_data)
{
"file_name": kwargs['file_name'],
"min_weight": kwargs['min_weight'],
"max_weight": kwargs['max_weight'],
"vertices_number": kwargs['vertices_number'],
"min_edge": kwargs['min_edge'],
"max_edge": kwargs['max_edge'],
"sign": kwargs['sign'],
"direct": kwargs['direct'],
"self_loop": kwargs['self_loop'],
"multigraph": kwargs['multigraph'],
})
return edge_number
50 changes: 25 additions & 25 deletions pyrgg/test.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@
...
TypeError: edge_gen() missing 4 required positional arguments: 'sign', 'direct', 'self_loop', and 'multigraph'
>>> random.seed(2)
>>> pyrgg_gen_using(dimacs_maker,'testfile',0,200,10,0,2,True,True,True,False)
>>> pyrgg_gen_using(dimacs_maker, file_name='testfile', min_weight=0, max_weight=200, vertices_number=10, min_edge=0, max_edge=2, sign=True, direct=True, self_loop=True, multigraph=False)
7
>>> file=open('testfile.gr','r')
>>> print(file.read())
Expand All @@ -133,7 +133,7 @@
a 9 1 60
<BLANKLINE>
>>> random.seed(4)
>>> pyrgg_gen_using(dimacs_maker,'testfile2',0,50,30,0,4,True,True,True,False)
>>> pyrgg_gen_using(dimacs_maker, file_name='testfile2', min_weight=0, max_weight=50, vertices_number=30, min_edge=0, max_edge=4, sign=True, direct=True, self_loop=True, multigraph=False)
35
>>> file=open('testfile2.gr','r')
>>> print(file.read())
Expand Down Expand Up @@ -182,7 +182,7 @@
a 28 13 -13
<BLANKLINE>
>>> random.seed(20)
>>> pyrgg_gen_using(dimacs_maker,'testfile3',10,30,100,0,4,False,True,True,False)
>>> pyrgg_gen_using(dimacs_maker, file_name='testfile3', min_weight=10, max_weight=30, vertices_number=100, min_edge=0, max_edge=4, sign=False, direct=True, self_loop=True, multigraph=False)
137
>>> file=open('testfile3.gr','r')
>>> print(file.read())
Expand Down Expand Up @@ -337,7 +337,7 @@
...
TypeError: dimacs_maker() missing 3 required positional arguments: 'weight_dic', 'edge_number', and 'mdata'
>>> random.seed(2)
>>> pyrgg_gen_using(json_maker,'testfile',0,200,10,0,2,True,True,True,False)
>>> pyrgg_gen_using(json_maker, file_name='testfile', min_weight=0, max_weight=200, vertices_number=10, min_edge=0, max_edge=2, sign=True, direct=True, self_loop=True, multigraph=False)
7
>>> file=open('testfile.json','r')
>>> testfile_1=json.load(file)
Expand Down Expand Up @@ -367,7 +367,7 @@
>>> testfile_1_p['graph']['edges'][1]['weight']
148
>>> random.seed(4)
>>> pyrgg_gen_using(json_maker,'testfile2',0,50,30,0,4,True,True,True,False)
>>> pyrgg_gen_using(json_maker, file_name='testfile2', min_weight=0, max_weight=50, vertices_number=30, min_edge=0, max_edge=4, sign=True, direct=True, self_loop=True, multigraph=False)
35
>>> file=open('testfile2.json','r')
>>> testfile_2=json.load(file)
Expand Down Expand Up @@ -399,7 +399,7 @@
>>> testfile_2_p['graph']['edges'][1]['weight']
5
>>> random.seed(20)
>>> pyrgg_gen_using(json_maker,'testfile3',10,30,100,0,4,False,True,True,False)
>>> pyrgg_gen_using(json_maker, file_name='testfile3', min_weight=10, max_weight=30, vertices_number=100, min_edge=0, max_edge=4, sign=False, direct=True, self_loop=True, multigraph=False)
137
>>> file=open('testfile3.json','r')
>>> testfile_3=json.load(file)
Expand Down Expand Up @@ -439,10 +439,10 @@
>>> testfile_3_p['graph']['edges'][1]['weight']
15
>>> random.seed(2)
>>> pyrgg_gen_using(csv_maker,'testfile', 0, 200, 10, 0, 2, True,True,True,False)
>>> pyrgg_gen_using(csv_maker, file_name='testfile', min_weight=0, max_weight=200, vertices_number=10, min_edge=0, max_edge=2, sign=True, direct=True, self_loop=True, multigraph=False)
7
>>> random.seed(2)
>>> pyrgg_gen_using(gml_maker,'testfile', 0, 200, 10, 0, 2, True,True,True,False)
>>> pyrgg_gen_using(gml_maker, file_name='testfile', min_weight=0, max_weight=200, vertices_number=10, min_edge=0, max_edge=2, sign=True, direct=True, self_loop=True, multigraph=False)
7
>>> file=open('testfile.gml','r')
>>> print(file.read())
Expand Down Expand Up @@ -544,14 +544,14 @@
]
]
>>> random.seed(2)
>>> pyrgg_gen_using(gexf_maker,'testfile', 0, 200, 10, 0, 2, True,True,True,False)
>>> pyrgg_gen_using(gexf_maker, file_name='testfile', min_weight=0, max_weight=200, vertices_number=10, min_edge=0, max_edge=2, sign=True, direct=True, self_loop=True, multigraph=False)
7
>>> file=open('testfile.gexf', 'r')
>>> random.seed(2)
>>> pyrgg_gen_using(mtx_maker,'testfile', 0, 200, 10, 0, 2, True,True,True,False)
>>> pyrgg_gen_using(mtx_maker, file_name='testfile', min_weight=0, max_weight=200, vertices_number=10, min_edge=0, max_edge=2, sign=True, direct=True, self_loop=True, multigraph=False)
7
>>> random.seed(2)
>>> pyrgg_gen_using(tsv_maker,'testfile', 0, 200, 10, 0, 2, True,True,True,False)
>>> pyrgg_gen_using(tsv_maker, file_name='testfile', min_weight=0, max_weight=200, vertices_number=10, min_edge=0, max_edge=2, sign=True, direct=True, self_loop=True, multigraph=False)
7
>>> file=open('testfile.mtx','r')
>>> print(file.read())
Expand All @@ -566,7 +566,7 @@
9 1 60
<BLANKLINE>
>>> random.seed(2)
>>> pyrgg_gen_using(gdf_maker,'testfile', 0, 200, 10, 0, 2, True,True,True,False)
>>> pyrgg_gen_using(gdf_maker, file_name='testfile', min_weight=0, max_weight=200, vertices_number=10, min_edge=0, max_edge=2, sign=True, direct=True, self_loop=True, multigraph=False)
7
>>> file=open('testfile.gdf','r')
>>> print(file.read())
Expand All @@ -591,7 +591,7 @@
9,1,60
<BLANKLINE>
>>> random.seed(2)
>>> pyrgg_gen_using(gl_maker,'testfile', 0, 200, 10, 0, 2, True,True,True,False)
>>> pyrgg_gen_using(gl_maker, file_name='testfile', min_weight=0, max_weight=200, vertices_number=10, min_edge=0, max_edge=2, sign=True, direct=True, self_loop=True, multigraph=False)
7
>>> file=open('testfile.gl','r')
>>> print(file.read())
Expand All @@ -613,7 +613,7 @@
9,1,60
<BLANKLINE>
>>> random.seed(4)
>>> pyrgg_gen_using(csv_maker,'testfile2',0,50,30,0,4,True,True,True,False)
>>> pyrgg_gen_using(csv_maker, file_name='testfile2', min_weight=0, max_weight=50, vertices_number=30, min_edge=0, max_edge=4, sign=True, direct=True, self_loop=True, multigraph=False)
35
>>> file=open('testfile2.csv','r')
>>> print(file.read())
Expand Down Expand Up @@ -654,7 +654,7 @@
28,13,-13
<BLANKLINE>
>>> random.seed(4)
>>> pyrgg_gen_using(csv_maker,'testfile4',0,50.2,30,0,4,True,True,True,False)
>>> pyrgg_gen_using(csv_maker, file_name='testfile4', min_weight=0, max_weight=50.2, vertices_number=30, min_edge=0, max_edge=4, sign=True, direct=True, self_loop=True, multigraph=False)
41
>>> file=open('testfile4.csv','r')
>>> print(file.read())
Expand Down Expand Up @@ -701,7 +701,7 @@
29,20,26.4
<BLANKLINE>
>>> random.seed(20)
>>> pyrgg_gen_using(csv_maker,'testfile3',10,30,100,0,4,False,True,True,False)
>>> pyrgg_gen_using(csv_maker, file_name='testfile3', min_weight=10, max_weight=30, vertices_number=100, min_edge=0, max_edge=4, sign=False, direct=True, self_loop=True, multigraph=False)
137
>>> file=open('testfile3.csv','r')
>>> print(file.read())
Expand Down Expand Up @@ -848,7 +848,7 @@
...
TypeError: csv_maker() missing 3 required positional arguments: 'weight_dic', 'edge_number', and 'mdata'
>>> random.seed(2)
>>> pyrgg_gen_using(wel_maker,'testfile', 0, 200, 10, 0, 2, True,True,True,False)
>>> pyrgg_gen_using(wel_maker, file_name='testfile', min_weight=0, max_weight=200, vertices_number=10, min_edge=0, max_edge=2, sign=True, direct=True, self_loop=True, multigraph=False)
7
>>> file=open('testfile.wel','r')
>>> print(file.read())
Expand All @@ -861,7 +861,7 @@
9 1 60
<BLANKLINE>
>>> random.seed(4)
>>> pyrgg_gen_using(wel_maker,'testfile2',0,50,30,0,4,True,True,True,False)
>>> pyrgg_gen_using(wel_maker, file_name='testfile2', min_weight=0, max_weight=50, vertices_number=30, min_edge=0, max_edge=4, sign=True, direct=True, self_loop=True, multigraph=False)
35
>>> file=open('testfile2.wel','r')
>>> print(file.read())
Expand Down Expand Up @@ -902,7 +902,7 @@
28 13 -13
<BLANKLINE>
>>> random.seed(20)
>>> pyrgg_gen_using(wel_maker,'testfile3',10,30,100,0,4,False,True,True,False)
>>> pyrgg_gen_using(wel_maker, file_name='testfile3', min_weight=10, max_weight=30, vertices_number=100, min_edge=0, max_edge=4, sign=False, direct=True, self_loop=True, multigraph=False)
137
>>> file=open('testfile3.wel','r')
>>> print(file.read())
Expand Down Expand Up @@ -1049,7 +1049,7 @@
...
TypeError: wel_maker() missing 2 required positional arguments: 'edge_number' and 'mdata'
>>> random.seed(2)
>>> pyrgg_gen_using(lp_maker,'testfile', 0, 200, 10, 0, 2, True,True,True,False)
>>> pyrgg_gen_using(lp_maker, file_name='testfile', min_weight=0, max_weight=200, vertices_number=10, min_edge=0, max_edge=2, sign=True, direct=True, self_loop=True, multigraph=False)
7
>>> file=open('testfile.lp','r')
>>> print(file.read())
Expand All @@ -1072,7 +1072,7 @@
edge(9,1,60).
<BLANKLINE>
>>> random.seed(4)
>>> pyrgg_gen_using(lp_maker,'testfile2',0,50,30,0,4,True,True,True,False)
>>> pyrgg_gen_using(lp_maker, file_name='testfile2', min_weight=0, max_weight=50, vertices_number=30, min_edge=0, max_edge=4, sign=True, direct=True, self_loop=True, multigraph=False)
35
>>> file=open('testfile2.lp','r')
>>> print(file.read())
Expand Down Expand Up @@ -1143,7 +1143,7 @@
edge(28,13,-13).
<BLANKLINE>
>>> random.seed(2)
>>> pyrgg_gen_using(tgf_maker,'testfile', 0, 200, 10, 0, 2, True,True,True,False)
>>> pyrgg_gen_using(tgf_maker, file_name='testfile', min_weight=0, max_weight=200, vertices_number=10, min_edge=0, max_edge=2, sign=True, direct=True, self_loop=True, multigraph=False)
7
>>> file=open('testfile.tgf','r')
>>> print(file.read())
Expand All @@ -1167,7 +1167,7 @@
9 1 60
<BLANKLINE>
>>> random.seed(4)
>>> pyrgg_gen_using(tgf_maker,'testfile2',0,50,30,0,4,True,True,True,False)
>>> pyrgg_gen_using(tgf_maker, file_name='testfile2', min_weight=0, max_weight=50, vertices_number=30, min_edge=0, max_edge=4, sign=True, direct=True, self_loop=True, multigraph=False)
35
>>> file=open('testfile2.tgf','r')
>>> print(file.read())
Expand Down Expand Up @@ -1239,7 +1239,7 @@
28 13 -13
<BLANKLINE>
>>> random.seed(2)
>>> pyrgg_gen_using(dl_maker,'testfile', 0, 200, 10, 0, 2, True,True,True,False)
>>> pyrgg_gen_using(dl_maker, file_name='testfile', min_weight=0, max_weight=200, vertices_number=10, min_edge=0, max_edge=2, sign=True, direct=True, self_loop=True, multigraph=False)
7
>>> file=open('testfile.dl','r')
>>> print(file.read())
Expand All @@ -1256,7 +1256,7 @@
9 1 60
<BLANKLINE>
>>> random.seed(4)
>>> pyrgg_gen_using(dl_maker,'testfile2',0,50,30,0,4,True,True,True,False)
>>> pyrgg_gen_using(dl_maker, file_name='testfile2', min_weight=0, max_weight=50, vertices_number=30, min_edge=0, max_edge=4, sign=True, direct=True, self_loop=True, multigraph=False)
35
>>> file=open('testfile2.dl','r')
>>> print(file.read())
Expand Down
Loading

0 comments on commit dd2a193

Please sign in to comment.