Changeset 7966:de9aebe9bb98 in orange


Ignore:
Timestamp:
06/02/11 12:27:10 (3 years ago)
Author:
miha <miha.stajdohar@…>
Branch:
default
Convert:
e2fdb7f117511395d92f926696c4acbae3c490b6
Message:

Added read gml.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • orange/Orange/network/readwrite.py

    r7950 r7966  
    2424def read(path, encoding='UTF-8'): 
    2525    #supported = ['.net', '.gml', '.gpickle', '.gz', '.bz2', '.graphml'] 
    26     supported = ['.net'] 
     26    supported = ['.net', '.gml'] 
    2727     
    2828    if not os.path.isfile(path): 
     
    3535    if ext == '.net': 
    3636        return read_pajek(path, encoding) 
     37     
     38    if ext == '.gml': 
     39        return read_gml(path, encoding) 
     40 
     41def write(G, path, encoding='UTF-8'): 
     42    #supported = ['.net', '.gml', '.gpickle', '.gz', '.bz2', '.graphml'] 
     43    supported = ['.net', '.gml'] 
     44     
     45    root, ext = os.path.splitext(path) 
     46    if not ext in supported: 
     47        raise ValueError('Extension %s is not supported. Use %s.' % (ext, ', '.join(supported))) 
     48     
     49    if ext == '.net': 
     50        write_pajek(G, path, encoding) 
    3751         
     52    if ext == '.gml': 
     53        write_gml(G, path) 
     54         
     55    if G.items() is not None: 
     56        G.items().save(root + '_items.tab') 
     57         
     58    if G.links() is not None: 
     59        G.links().save(root + '_links.tab') 
    3860 
    3961def read_pajek(path, encoding='UTF-8'): 
     
    93115        s = ' '.join(map(make_str,(id,n,x,y,shape))) 
    94116        for k,v in na.items(): 
    95             s += ' %s %s'%(k,v) 
     117            if k != 'x' and k != 'y': 
     118                s += ' %s %s'%(k,v) 
    96119        yield s 
    97120 
     
    145168    return parse_pajek_project(lines) 
    146169 
     170def read_gml(path, encoding='latin-1', relabel=False): 
     171    G = _wrap(rw.read_gml(path, encoding, relabel)) 
     172    return G 
     173 
     174def write_gml(G, path): 
     175    rw.write_gml(G, path) 
     176 
     177 
    147178#read_pajek.__doc__ = rw.read_pajek.__doc__ 
    148179#parse_pajek.__doc__ = rw.parse_pajek.__doc__ 
Note: See TracChangeset for help on using the changeset viewer.