def process_edge_row()

in csv-gremlin/csv-gremlin.py [0:0]


    def process_edge_row(self,r):
        properties = ''
        error = False
        seen = 0
        for k in r:
            if r[k] == '':
                pass
            elif k == '~id':
                eid = r['~id']
                seen |= 0x1
            elif k == '~label':    
               elabel = r['~label']
               seen |= 0x2
            elif k == '~from':    
               efrom = r['~from']
               seen |= 0x4
            elif k == '~to':    
               eto = r['~to']
               seen |= 0x8
            else:
                properties += self.process_property(r,k)
       
        if seen != 0xF:
            self.print_error('For edge data, values must be provided for ~id,~label,~from and ~to')
            edge = ''
        else:
            if eid in self.id_store:
                self.duplicate_id_count += 1
                self.id_store[eid] += 1
                error = True
                edge = ''
                self.print_error(f'Duplicate edge ID {eid}')
            else:
                self.edge_count += 1
                self.id_count += 1
                self.id_store[eid] = 1
            
            if not error:
                edge = f'.addE(\"{elabel}\").property(id,\"{eid}\")' 
                edge += f'.from(V(\"{efrom}\")).to(V(\"{eto}\"))' 
                edge += properties 
                if self.escape_dollar:
                    edge = edge.replace("$","\\$")
        return edge