<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def add_edge(self, isDirected=None,name=None,network=None,sourceName=None,targetName=None, verbose=False):
 """ Add a new edge between two existing nodes in a network. The names of the nodes must be specified and much match the value in the 'name' column for each node. :param isDirected (string, optional):
 Whether the edge should be directed or not. Even though all edges in Cytoscape have a source and target, by default they are treated as undirected. Setting this to 'true' will flag some algorithms to treat them as directed, although many current implementations will ignore this flag. :param name (string, optional):
 Set the 'name' and 'shared name' columns for this edge to the provided value. , :param network (string, optional):
 Specifies a network by name, or by SUID if the prefix SUID: is used. The keyword CURRENT, or a blank value can also be used to specify the current network. :param sourceName (string):
 Enter the name of an existing node in the network to be the source of the edge. Note that this is the name as defined in the 'name' column of the network. :param targetName (string):
 Enter the name of an existing node in the network to be the target of the edge. Note that this is the name as defined in the 'name' column of the network. :param verbose: print more """

        network=check_network(self,network,verbose=verbose)
        PARAMS=set_param(["isDirected","name","network","sourceName","targetName"],\
        [isDirected,name,network,sourceName,targetName])
        response=api(url=self.__url+"/add edge", PARAMS=PARAMS, method="POST", verbose=verbose)
        return response