@@ -31,22 +31,26 @@ def _request(*args, **kwargs):
31
31
# Releases
32
32
#
33
33
34
- def print_release_info (release ):
35
- print ('Tag name : {tag_name}' .format (** release ))
34
+ def print_release_info (release , title = None , indent = "" ):
35
+ if title is None :
36
+ title = "release '{0}' info" .format (release ["tag_name" ])
37
+ print (indent + title )
38
+ indent = " " + indent
39
+ print (indent + 'Tag name : {tag_name}' .format (** release ))
36
40
if release ['name' ]:
37
- print ('Name : {name}' .format (** release ))
38
- print ('ID : {id}' .format (** release ))
39
- print ('Created : {created_at}' .format (** release ))
40
- print ('URL : {html_url}' .format (** release ))
41
- print ('Author : {login}' .format (** release ['author' ]))
42
- print ('Is published : {0}' .format (not release ['draft' ]))
43
- print ('Is prerelease : {0}' .format (release ['prerelease' ]))
41
+ print (indent + 'Name : {name}' .format (** release ))
42
+ print (indent + 'ID : {id}' .format (** release ))
43
+ print (indent + 'Created : {created_at}' .format (** release ))
44
+ print (indent + 'URL : {html_url}' .format (** release ))
45
+ print (indent + 'Author : {login}' .format (** release ['author' ]))
46
+ print (indent + 'Is published : {0}' .format (not release ['draft' ]))
47
+ print (indent + 'Is prerelease : {0}' .format (release ['prerelease' ]))
44
48
if release ['body' ]:
45
- print ('Release notes :' )
46
- print (release ['body' ])
49
+ print (indent + 'Release notes :' )
50
+ print (indent + release ['body' ])
47
51
print ('' )
48
52
for (i , asset ) in enumerate (release ['assets' ]):
49
- print_asset_info (i , asset )
53
+ print_asset_info (i , asset , indent = indent )
50
54
51
55
52
56
def get_releases (repo_name ):
@@ -134,8 +138,9 @@ def patch_release(repo_name, current_tag_name, **values):
134
138
if key in values and data [key ] != values [key ]:
135
139
updated .append ("%s: '%s' -> '%s'" % (key , data [key ], values [key ]))
136
140
if updated :
137
- print ("updating release [%s] : \n %s" % (
141
+ print ("updating '%s' release : \n %s" % (
138
142
current_tag_name , "\n " .join (updated )))
143
+ print ("" )
139
144
140
145
data .update (values )
141
146
@@ -206,7 +211,7 @@ def gh_release_create(repo_name, tag_name,
206
211
data = json .dumps (data ),
207
212
headers = {'Content-Type' : 'application/json' })
208
213
response .raise_for_status ()
209
- print_release_info (response .json ())
214
+ print_release_info (response .json (), title = "created '%s' release" % tag_name )
210
215
211
216
212
217
gh_release_create .description = {
@@ -343,13 +348,15 @@ def gh_release_debug(repo_name, tag_name):
343
348
# Assets
344
349
#
345
350
346
- def print_asset_info (i , asset ):
347
- print (' Asset #{i} name : {name}' .format (i = i , ** asset ))
348
- print (' Asset #{i} size : {size}' .format (i = i , ** asset ))
349
- print (' Asset #{i} uploader : {login}' .format (i = i , ** asset ['uploader' ]))
350
- print (' Asset #{i} URL : {browser_download_url}' .format (i = i , ** asset ))
351
- print (' Asset #{i} Downloads : {download_count}' .format (i = i , ** asset ))
352
- print ('' )
351
+ def print_asset_info (i , asset , indent = "" ):
352
+ print (indent + "Asset #{i}" .format (i = i ))
353
+ indent = " " + indent
354
+ print (indent + "name : {name}" .format (i = i , ** asset ))
355
+ print (indent + "size : {size}" .format (i = i , ** asset ))
356
+ print (indent + "uploader : {login}" .format (i = i , ** asset ['uploader' ]))
357
+ print (indent + "URL : {browser_download_url}" .format (i = i , ** asset ))
358
+ print (indent + "Downloads : {download_count}" .format (i = i , ** asset ))
359
+ print ("" )
353
360
354
361
355
362
def gh_asset_upload (repo_name , tag_name , pattern , dry_run = False , verbose = False ):
@@ -367,23 +374,29 @@ def gh_asset_upload(repo_name, tag_name, pattern, dry_run=False, verbose=False):
367
374
else :
368
375
filenames = glob .glob (pattern )
369
376
377
+ prefix = "uploading '{0}' release assets: " .format (tag_name )
378
+ if len (filenames ) > 1 :
379
+ print (prefix )
380
+ prefix = " "
381
+
370
382
for filename in filenames :
371
- print ('release {0}: uploading {1}' . format ( tag_name , filename ) )
383
+ print (prefix + ' uploading ' + filename )
372
384
if dry_run :
373
385
uploaded = True
374
386
continue
375
387
with open (filename , 'rb' ) as f :
376
388
basename = os .path .basename (filename )
377
389
url = '{0}?name={1}' .format (upload_url , basename )
378
390
if verbose :
379
- print ('url:' , url )
391
+ print (prefix + 'upload_url: ' + url )
380
392
response = _request (
381
393
'POST' , url ,
382
394
headers = {'Content-Type' : 'application/octet-stream' },
383
395
data = f .read ())
384
396
response .raise_for_status ()
385
397
asset = response .json ()
386
- print ('browser_download_url:' , asset ["browser_download_url" ])
398
+ print (prefix + 'download_url: ' + asset ["browser_download_url" ])
399
+ print ("" )
387
400
uploaded = True
388
401
if not uploaded :
389
402
print ("release {0}: skipping upload: "
@@ -467,16 +480,16 @@ def gh_asset_download(repo_name, tag_name=None, pattern=None):
467
480
# References
468
481
#
469
482
470
- def print_object_info (ref_object ):
471
- print ('Object: ' )
472
- print (' type : {type}' .format (** ref_object ))
473
- print (' sha : {sha}' .format (** ref_object ))
483
+ def print_object_info (ref_object , indent = "" ):
484
+ print (indent + 'Object' )
485
+ print (indent + ' type : {type}' .format (** ref_object ))
486
+ print (indent + ' sha : {sha}' .format (** ref_object ))
474
487
475
488
476
- def print_ref_info (ref ):
477
- print ('-' * 80 )
478
- print ( 'Reference : {ref}' . format ( ** ref ) )
479
- print_object_info ( ref [ 'object' ] )
489
+ def print_ref_info (ref , indent = "" ):
490
+ print (indent + "Reference '{ref}'" . format ( ** ref ) )
491
+ print_object_info ( ref [ 'object' ], indent = " " + indent )
492
+ print ( "" )
480
493
481
494
482
495
def get_refs (repo_name , tags = False , pattern = None ):
0 commit comments