|
7 | 7 | from urllib.parse import urlparse |
8 | 8 |
|
9 | 9 | from django.conf import settings |
10 | | -from django.core.management.base import BaseCommand |
| 10 | +from django.core.management.base import BaseCommand, CommandError |
11 | 11 |
|
12 | 12 | from ietf.doc.models import DocExtResource |
13 | 13 | from ietf.group.models import GroupExtResource |
|
20 | 20 | class Command(BaseCommand): |
21 | 21 | help = ('Locate information about github repositories to backup') |
22 | 22 |
|
| 23 | + def add_arguments(self, parser): |
| 24 | + parser.add_argument('--verbose', dest='verbose', action='store_true', help='Show counts of types of repositories') |
| 25 | + |
23 | 26 | def handle(self, *args, **options): |
24 | 27 |
|
25 | | - if not settings.GITHUB_BACKUP_API_KEY: |
26 | | - # TODO: complain |
27 | | - return |
| 28 | + if not (hasattr(settings,'GITHUB_BACKUP_API_KEY') and settings.GITHUB_BACKUP_API_KEY): |
| 29 | + raise CommandError("ERROR: can't find GITHUB_BACKUP_API_KEY") # TODO: at >= py3.1, use returncode |
28 | 30 |
|
29 | 31 | github = github3.login(token = settings.GITHUB_BACKUP_API_KEY) |
30 | 32 | owners = dict() |
@@ -59,9 +61,14 @@ def handle(self, *args, **options): |
59 | 61 | repos.add( (owner, repo.name) ) |
60 | 62 |
|
61 | 63 | owner_types = Counter([owners[owner].type for owner in owners]) |
62 | | - print ("Owners:") |
63 | | - for key in owner_types: |
64 | | - print(" ",key,':',owner_types[key]) |
65 | | - print ("Repositories:", len(repos)) |
66 | | - for repo in sorted(repos): |
67 | | - print(" https://github.com/%s/%s" % repo ) |
| 64 | + if options['verbose']: |
| 65 | + self.stdout.write("Owners:") |
| 66 | + for key in owner_types: |
| 67 | + self.stdout.write(" %s: %s"%(key,owner_types[key])) |
| 68 | + self.stdout.write("Repositories: %d" % len(repos)) |
| 69 | + for repo in sorted(repos): |
| 70 | + self.stdout.write(" https://github.com/%s/%s" % repo ) |
| 71 | + else: |
| 72 | + for repo in sorted(repos): |
| 73 | + self.stdout.write("%s/%s" % repo ) |
| 74 | + |
0 commit comments