@@ -172,24 +172,35 @@ def stargazers(db_path, repos, auth):
172
172
default = "auth.json" ,
173
173
help = "Path to auth.json token file" ,
174
174
)
175
+ @click .option (
176
+ "-r" ,
177
+ "--repo" ,
178
+ multiple = True ,
179
+ help = "Just fetch these repos" ,
180
+ )
175
181
@click .option (
176
182
"--load" ,
177
183
type = click .Path (file_okay = True , dir_okay = False , allow_dash = True , exists = True ),
178
184
help = "Load issues JSON from this file instead of the API" ,
179
185
)
180
- def repos (db_path , usernames , auth , load ):
186
+ def repos (db_path , usernames , auth , repo , load ):
181
187
"Save repos owened by the specified (or authenticated) username or organization"
182
188
db = sqlite_utils .Database (db_path )
183
189
token = load_token (auth )
184
190
if load :
185
- for repo in json .load (open (load )):
186
- utils .save_repo (db , repo )
191
+ for loaded_repo in json .load (open (load )):
192
+ utils .save_repo (db , loaded_repo )
187
193
else :
188
- if not usernames :
189
- usernames = [None ]
190
- for username in usernames :
191
- for repo in utils .fetch_all_repos (username , token ):
192
- utils .save_repo (db , repo )
194
+ if repo :
195
+ # Just these repos
196
+ for full_name in repo :
197
+ utils .save_repo (db , utils .fetch_repo (full_name , token ))
198
+ else :
199
+ if not usernames :
200
+ usernames = [None ]
201
+ for username in usernames :
202
+ for repo in utils .fetch_all_repos (username , token ):
203
+ utils .save_repo (db , repo )
193
204
utils .ensure_db_shape (db )
194
205
195
206
0 commit comments