11
11
from requests import Session , HTTPError
12
12
from urllib .parse import urlparse , urlunparse
13
13
from datetime import datetime
14
+ import dateutil .parser
14
15
import functools
15
16
16
17
from git import config as git_config
@@ -152,21 +153,23 @@ def delete(self, repo, user=None):
152
153
raise ResourceError ("Unhandled exception: {}" .format (err )) from err
153
154
154
155
def list (self , user , _long = False ):
155
- import shutil , sys
156
- from datetime import datetime
157
- term_width = shutil .get_terminal_size ((80 , 20 )).columns
158
-
159
156
repositories = self .gg .repositories (user )
160
157
if user != self .username and not repositories and user not in self .orgs :
161
158
raise ResourceNotFoundError ("Unable to list namespace {} - only authenticated user and orgs available for listing." .format (user ))
162
159
if not _long :
163
160
repositories = list ([repo ['full_name' ] for repo in repositories ])
164
161
yield "{}"
165
- yield "Total repositories: {}" .format (len (repositories ))
162
+ yield ( "Total repositories: {}" .format (len (repositories )), )
166
163
yield from columnize (repositories )
167
164
else :
165
+ yield "{}\t {}\t {}\t {}\t {}\t {}\t {}\t {}\t {}\t {:12}\t {}"
168
166
yield ['Status' , 'Commits' , 'Reqs' , 'Issues' , 'Forks' , 'Coders' , 'Watch' , 'Likes' , 'Lang' , 'Modif\t ' , 'Name' ]
169
167
for repo in repositories :
168
+ repo_updated_at = dateutil .parser .parse (repo ['updated_at' ])
169
+ if repo_updated_at .year < datetime .now ().year :
170
+ date_fmt = "%b %d %Y"
171
+ else :
172
+ date_fmt = "%b %d %H:%M"
170
173
status = '' .join ([
171
174
'F' if repo ['fork' ] else ' ' , # is a fork?
172
175
'P' if repo ['private' ] else ' ' , # is private?
@@ -188,7 +191,7 @@ def list(self, user, _long=False):
188
191
str (repo .get ('stars_count' ) or 0 ), # number of ♥
189
192
# info
190
193
repo .get ('language' ) or '?' , # language
191
- repo [ 'updated_at' ], # date
194
+ repo_updated_at . strftime ( date_fmt ), # date
192
195
repo ['full_name' ], # name
193
196
]
194
197
0 commit comments