69
69
autotools
70
70
[...]
71
71
zn_poly
72
+
73
+ $ sage --package list :standard: | sort
74
+ arb
75
+ atlas
76
+ backports_ssl_match_hostname
77
+ [...]
78
+ zn_poly
72
79
"""
73
80
74
81
115
122
"""
116
123
117
124
125
+ epilog_update_latest = \
126
+ """
127
+ Update a package to the latest version. This modifies the Sage sources.
128
+
129
+ EXAMPLE:
130
+
131
+ $ sage --package update-latest ipython
132
+ """
133
+
134
+
118
135
epilog_download = \
119
136
"""
120
137
Download the tarball for a package and print the filename to stdout
127
144
"""
128
145
129
146
147
+ epilog_upload = \
148
+ """
149
+ Upload the tarball to the Sage mirror network (requires ssh key authentication)
150
+
151
+ EXAMPLE:
152
+
153
+ $ sage --package upload pari
154
+ Uploading /home/vbraun/Code/sage.git/upstream/pari-2.8-2044-g89b0f1e.tar.gz
155
+ """
156
+
157
+
130
158
epilog_fix_checksum = \
131
159
"""
132
160
Fix the checksum of a package
@@ -170,6 +198,10 @@ def make_parser():
170
198
'list' , epilog = epilog_list ,
171
199
formatter_class = argparse .RawDescriptionHelpFormatter ,
172
200
help = 'Print a list of all available packages' )
201
+ parser_list .add_argument (
202
+ 'package_class' ,
203
+ type = str , default = ':all:' , nargs = '?' ,
204
+ help = 'Package class like :all: (default) or :standard:' )
173
205
174
206
parser_name = subparsers .add_parser (
175
207
'name' , epilog = epilog_name ,
@@ -202,15 +234,29 @@ def make_parser():
202
234
parser_update .add_argument (
203
235
'--url' , type = str , default = None , help = 'Download URL' )
204
236
237
+ parser_update_latest = subparsers .add_parser (
238
+ 'update-latest' , epilog = epilog_update_latest ,
239
+ formatter_class = argparse .RawDescriptionHelpFormatter ,
240
+ help = 'Update a package to the latest version. This modifies the Sage sources.' )
241
+ parser_update_latest .add_argument (
242
+ 'package_name' , type = str , help = 'Package name (:all: for all packages)' )
243
+
205
244
parser_download = subparsers .add_parser (
206
245
'download' , epilog = epilog_download ,
207
246
formatter_class = argparse .RawDescriptionHelpFormatter ,
208
247
help = 'Download tarball' )
209
248
parser_download .add_argument (
210
- 'package_name' , type = str , help = 'Package name' )
249
+ 'package_name' , type = str , help = 'Package name or :type: ' )
211
250
parser_download .add_argument (
212
251
'--allow-upstream' , action = "store_true" ,
213
252
help = 'Whether to fall back to downloading from the upstream URL' )
253
+
254
+ parser_upload = subparsers .add_parser (
255
+ 'upload' , epilog = epilog_upload ,
256
+ formatter_class = argparse .RawDescriptionHelpFormatter ,
257
+ help = 'Upload tarball to Sage mirrors' )
258
+ parser_upload .add_argument (
259
+ 'package_name' , type = str , help = 'Package name or :type:' )
214
260
215
261
parser_fix_checksum = subparsers .add_parser (
216
262
'fix-checksum' , epilog = epilog_fix_checksum ,
@@ -254,7 +300,7 @@ def run():
254
300
if args .subcommand == 'config' :
255
301
app .config ()
256
302
elif args .subcommand == 'list' :
257
- app .list ( )
303
+ app .list_cls ( args . package_class )
258
304
elif args .subcommand == 'name' :
259
305
app .name (args .tarball_filename )
260
306
elif args .subcommand == 'tarball' :
@@ -263,10 +309,17 @@ def run():
263
309
app .apropos (args .incorrect_name )
264
310
elif args .subcommand == 'update' :
265
311
app .update (args .package_name , args .new_version , url = args .url )
312
+ elif args .subcommand == 'update-latest' :
313
+ if args .package_name == ':all:' :
314
+ app .update_latest_all ()
315
+ else :
316
+ app .update_latest (args .package_name )
266
317
elif args .subcommand == 'download' :
267
- app .download (args .package_name , args .allow_upstream )
318
+ app .download_cls (args .package_name , args .allow_upstream )
268
319
elif args .subcommand == 'create' :
269
320
app .create (args .package_name , args .version , args .tarball , args .type , args .url )
321
+ elif args .subcommand == 'upload' :
322
+ app .upload_cls (args .package_name )
270
323
elif args .subcommand == 'fix-checksum' :
271
324
if args .package_name is None :
272
325
app .fix_all_checksums ()
0 commit comments