#!/usr/bin/env python3#find_sender.pyimport fileinput, re
pat = re.compile('From: (.*) <.*?>$')for line in fileinput.input():
m = pat.match(line)if m:print(m.group(1))
defsort_id():
data ={'CVD:000002':'CVD:000001','CVD:000004':'CVD:000001','CVD:000007':'CVD:000006','CVD:000008':['CVD:000007','CVD:000006'],'CVD:000010':'CVD:000009','CVD:000011':['CVD:000010','CVD:000009'],'CVD:000014':'CVD:000074','CVD:000024':'CVD:000125','CVD:000045':'CVD:000068','CVD:000060':['CVD:000077','CVD:000076'],'CVD:000067':'CVD:000371','CVD:000071':'CVD:000015','CVD:000077':'CVD:000076','CVD:000083':'CVD:000099','CVD:000084':['CVD:000083','CVD:000099'],'CVD:000086':'CVD:000085','CVD:000088':'CVD:000087','CVD:000096':'CVD:000095','CVD:000097':'CVD:000095','CVD:000104':'CVD:000103','CVD:000108':'CVD:000022','CVD:000116':'CVD:000022','CVD:000117':'CVD:000022','CVD:000144':'CVD:000065','CVD:000146':'CVD:000065','CVD:000149':'CVD:000065','CVD:000154':'CVD:000153','CVD:000158':'CVD:000157','CVD:000159':'CVD:000157','CVD:000246':'CVD:000506','CVD:000364':'CVD:000018','CVD:000370':'CVD:000074','CVD:000373':'CVD:000371','CVD:000374':['CVD:000373','CVD:000371'],'CVD:000375':'CVD:000371','CVD:000383':'CVD:000543','CVD:000384':'CVD:000543','CVD:000385':'CVD:000543','CVD:000386':'CVD:000000','CVD:000387':'CVD:000000','CVD:000388':'CVD:000000','CVD:000389':['CVD:000002','CVD:000001'],'CVD:000390':['CVD:000002','CVD:000001'],'CVD:000391':['CVD:000002','CVD:000001'],'CVD:000392':['CVD:000002','CVD:000001'],'CVD:000393':['CVD:000002','CVD:000001'],'CVD:000394':['CVD:000002','CVD:000001'],'CVD:000395':'CVD:000022','CVD:000397':['CVD:000014','CVD:000074'],'CVD:000398':'CVD:000013','CVD:000399':'CVD:000013','CVD:000401':'CVD:000021','CVD:000450':'CVD:000147','CVD:000451':'CVD:000001','CVD:000452':'CVD:000001','CVD:000453':'CVD:000001','CVD:000454':'CVD:000001','CVD:000455':['CVD:000397','CVD:000014','CVD:000074'],'CVD:000456':'CVD:000015','CVD:000457':'CVD:000015','CVD:000458':['CVD:000071','CVD:000015'],'CVD:000459':['CVD:000071','CVD:000015'],'CVD:000460':['CVD:000071','CVD:000015'],'CVD:000461':['CVD:000071','CVD:000015'],'CVD:000462':['CVD:000071','CVD:000015'],'CVD:000463':['CVD:000071','CVD:000015'],'CVD:000464':['CVD:000071','CVD:000015'],'CVD:000465':['CVD:000071','CVD:000015'],'CVD:000466':['CVD:000071','CVD:000015'],'CVD:000467':['CVD:000071','CVD:000015'],'CVD:000468':['CVD:000071','CVD:000015'],'CVD:000469':['CVD:000071','CVD:000015'],'CVD:000470':['CVD:000071','CVD:000015'],'CVD:000471':['CVD:000071','CVD:000015'],'CVD:000472':['CVD:000071','CVD:000015'],'CVD:000473':['CVD:000071','CVD:000015'],'CVD:000474':['CVD:000071','CVD:000015'],'CVD:000475':'CVD:000115','CVD:000476':'CVD:000022','CVD:000477':'CVD:000021','CVD:000478':['CVD:000477','CVD:000021'],'CVD:000479':['CVD:000401','CVD:000021'],'CVD:000480':['CVD:000401','CVD:000021'],'CVD:000481':'CVD:000021','CVD:000482':'CVD:000021','CVD:000483':'CVD:000021','CVD:000484':['CVD:000388','CVD:000000'],'CVD:000485':['CVD:000387','CVD:000000'],'CVD:000486':['CVD:000002','CVD:000001'],'CVD:000487':['CVD:000002','CVD:000001'],'CVD:000488':['CVD:000390','CVD:000002','CVD:000001'],'CVD:000489':'CVD:000020','CVD:000490':'CVD:000109','CVD:000491':'CVD:000109','CVD:000492':'CVD:000109','CVD:000493':'CVD:000018','CVD:000494':'CVD:000018','CVD:000495':'CVD:000028','CVD:000496':'CVD:000028','CVD:000497':'CVD:000028','CVD:000498':'CVD:000028','CVD:000499':'CVD:000085','CVD:000500':'CVD:000085','CVD:000501':'CVD:000087','CVD:000502':'CVD:000087','CVD:000504':'CVD:000503','CVD:000505':'CVD:000503','CVD:000507':'CVD:000506','CVD:000508':'CVD:000412','CVD:000509':'CVD:000073','CVD:000510':'CVD:000073','CVD:000511':'CVD:000073','CVD:000512':'CVD:000073','CVD:000513':'CVD:000073','CVD:000514':'CVD:000073','CVD:000515':'CVD:000073','CVD:000516':'CVD:000073','CVD:000517':'CVD:000073','CVD:000518':'CVD:000073','CVD:000519':'CVD:000073','CVD:000520':'CVD:000073','CVD:000521':'CVD:000068','CVD:000522':'CVD:000068','CVD:000523':'CVD:000049','CVD:000524':'CVD:000049','CVD:000525':'CVD:000049','CVD:000526':'CVD:000049','CVD:000527':['CVD:000370','CVD:000074'],'CVD:000528':['CVD:000370','CVD:000074'],'CVD:000529':['CVD:000370','CVD:000074'],'CVD:000530':'CVD:000371','CVD:000531':'CVD:000371','CVD:000532':'CVD:000371','CVD:000533':'CVD:000381','CVD:000534':'CVD:000017','CVD:000535':'CVD:000072','CVD:000536':'CVD:000072','CVD:000537':'CVD:000072','CVD:000538':'CVD:000072','CVD:000539':'CVD:000072','CVD:000540':'CVD:000072','CVD:000541':'CVD:000072','CVD:000542':'CVD:000072'}for k, v in data.items():
a =[]iftype(v)==str:
a.append(v)
data[k]= a
src_list =['CVD:000002','CVD:000015','CVD:000071','CVD:000073','CVD:000150','CVD:000473','CVD:000474']# src_list = ['CVD:000002', 'CVD:000015', 'CVD:000071', 'CVD:000067', 'CVD:000371', 'CVD:000150', 'CVD:000473',# 'CVD:000474']
res =sorted(src_list)print(res)
father =[]for key, value in data.items():for i in value:
father.append(i)
new_res =[]for xx in res:if xx notin data:if xx notin father:
new_res.append(xx)else:for k, v in data.items():if xx in v and k notin src_list:
new_res.append(xx)if xx in data:
f = data[xx]for i in f[::-1]:if i in src_list and i notin new_res:
new_res.append(i)
new_res.append(xx)
new_res1 =[]for i in new_res:if i notin new_res1:
new_res1.append(i)print(new_res1)if __name__ =='__main__':
sort_id()