#NEWLINE# @ classmethod #NEWLINE# @ coroutine #NEWLINE# @ Cache ( ( 4 * HOUR ) , files_cache = True , ignore_self = True ) #NEWLINE# def releases( cls , name ) : #NEWLINE# #INDENT# process_versions = ( lambda x : set ( map ( HashVersion , x ) ) ) #NEWLINE# ( all_releases , current_releases ) = ( yield [ cls . XMLRPC . package_releases ( name , True ) , cls . XMLRPC . package_releases ( name ) ] ) #NEWLINE# all_releases = process_versions ( all_releases ) #NEWLINE# current_releases = process_versions ( current_releases ) #NEWLINE# hidden_releases = ( all_releases - current_releases ) #NEWLINE# res = [ ] #NEWLINE# for x in cls : #NEWLINE# #INDENT# x . hidden = False #NEWLINE# res . append ( x ) #NEWLINE# #UNINDENT# for x in hidden_releases : #NEWLINE# #INDENT# x . hidden = True #NEWLINE# res . append ( x ) #NEWLINE# #UNINDENT# raise Return ( set ( res ) )