@@ -50,9 +50,15 @@ def migrate_csv(
50
50
repository_names = [a .split ("/" )[2 ] for a in df ["path" ].values ]
51
51
df .insert (1 , "repository_name" , repository_names )
52
52
53
- func = partial (query , engine = engine , model = model )
53
+ if model .__name__ == "Paths" :
54
+ func = partial (query_path , engine = engine , model = model )
55
+ query_results = list (
56
+ map (func , df ["repository_name" ], df ["date" ], df ["path" ])
57
+ )
58
+ else :
59
+ func = partial (query , engine = engine , model = model )
60
+ query_results = list (map (func , df ["repository_name" ], df ["date" ]))
54
61
55
- query_results = list (map (func , df ["repository_name" ], df ["date" ]))
56
62
new_df : pd .DataFrame = df .iloc [
57
63
[idx for idx , item in enumerate (query_results ) if not item ]
58
64
]
@@ -96,3 +102,25 @@ def query_all(
96
102
with Session (engine ) as session :
97
103
result = session .exec (select (model ))
98
104
return result .all ()
105
+
106
+
107
+ def query_path (
108
+ repository_name : str ,
109
+ date : str ,
110
+ path : str ,
111
+ engine : Engine ,
112
+ model : Union [Type [SQLModel ], Clone , Referring , Paths , Traffic ],
113
+ ) -> Union [SQLModel , Clone , Referring , Paths , Traffic , None ]:
114
+
115
+ with Session (engine ) as session :
116
+ result = session .exec (
117
+ select (model ).where (
118
+ model .repository_name == repository_name ,
119
+ model .date == date ,
120
+ model .path == path ,
121
+ )
122
+ )
123
+ try :
124
+ return result .one ()
125
+ except NoResultFound :
126
+ return
0 commit comments