Skip to content

Commit

Permalink
Updated ScaleFree
Browse files Browse the repository at this point in the history
  • Loading branch information
vadyushkins committed Feb 25, 2021
1 parent 21b3c6e commit bedc8e4
Showing 1 changed file with 1 addition and 66 deletions.
67 changes: 1 addition & 66 deletions cfpq_data/src/graphs/scale_free_graph.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
from __future__ import annotations

import sys
from argparse import ArgumentParser, Namespace
from itertools import product
from pathlib import Path
from typing import Tuple, Dict, Union, Optional
Expand All @@ -11,7 +9,6 @@
from tqdm import tqdm

from cfpq_data.src.graphs.rdf_graph import RDF
from cfpq_data.src.utils.cmd_parser_interface import ICmdParser
from cfpq_data.src.utils.rdf_helper import write_to_rdf, add_rdf_edge
from cfpq_data.src.utils.utils import add_graph_dir

Expand All @@ -21,7 +18,7 @@
))


class ScaleFree(RDF, ICmdParser):
class ScaleFree(RDF):
"""
ScaleFree — graphs generated by using the Barab'asi-Albert model of scale-free networks
Expand Down Expand Up @@ -73,68 +70,6 @@ def build(cls,

return graph

@staticmethod
def init_cmd_parser(parser: ArgumentParser) -> None:
"""
Initialize command line parser
:param parser: ScaleFree subparser of command line parser
:type parser: ArgumentParser
:return: None
:rtype: None
"""

parser.add_argument(
'-p',
'--preset',
action='store_true',
help='Load preset ScaleFree graphs from dataset'
)
parser.add_argument(
'-n',
'--vertices_number',
required=False,
type=int,
help='Number of vertices of ScaleFree graph'
)
parser.add_argument(
'-k',
'--vertices_degree',
required=False,
type=int,
help='Degree of vertices in a graph'
)

@staticmethod
def eval_cmd_parser(args: Namespace) -> None:
"""
Evaluate command line parser
:param args: command line arguments
:type args: Namespace
:return: None
:rtype: None
"""

if args.preset is False and \
(args.vertices_number is None or args.vertices_degree is None):
print(
"One of " +
"-p/--preset, " +
"(-n/--vertices_number and necessarily -k/--vertices_degree) " +
"required"
)
sys.exit()

if args.preset is True:
for n, k in tqdm(SCALE_FREE_GRAPH_TO_GEN, desc='ScaleFree graphs generation'):
ScaleFree.build(n, k).save_metadata()

if args.vertices_number is not None and args.vertices_degree is not None:
graph = ScaleFree.build(args.vertices_number, args.vertices_degree)
graph.save_metadata()
print(f'Generated {graph.basename} to {graph.dirname}')


def gen_scale_free_graph(destination_folder: Path,
vertices_number: int,
Expand Down

0 comments on commit bedc8e4

Please sign in to comment.