fork download
  1. import re
  2.  
  3. lista = """2019.3.0 Primeira versão totamente integrada com gitlab-ci
  4. 2019.3.0-dev0 Aplicado correções sugeridas por py3kwarn
  5. 2019.3.0-dev1 refatorado o metodo test_merge_csv_files0 para operar gitlab-ci com validação de csv
  6. 2019.3.0-dev2 import faker corrigido
  7. 2019.3.0-dev3 FAIL: test_discover_url_0 (TestAtosWebSF) corrigida
  8. 2019.3.0-dev4 corrigido ERROR: Failure: Error (unsupported locale setting)
  9. 2019.3.0-dev5 corrigido AssertionError em test_discover_url_0
  10. 2019.3.1 2019.3.1-dev0 → 2019.3.1
  11. 2019.3.1-dev0 fatoração de metodo a ser implementado futuramente
  12. 2019.3.10 Correções em epigrafe com mesmo numero
  13. 2019.3.11 Correções em º/°
  14. 2019.3.12 Correções em 'Nº 1.420 A'
  15. 2019.3.13 Corrigido diversos erros de falso positivo na localização da epigrafe e no capabilities para windows
  16. 2019.3.14 ferramentas e relatórios para reconstrução do acervo
  17. 2019.3.2 Validação gitlab-ci completa"""
  18.  
  19. pegar_data_extra = re.compile("\ {2,}")
  20. pegar_ano_mes_dia = re.compile("(\d{4})\.(\d{1,2})\.(\d{1,2}).*")
  21. pegar_extra = re.compile("-dev([^ ]+)")
  22.  
  23. def formatar_para_sort( x ):
  24. x = pegar_data_extra.split( x )[0]
  25. tmp = pegar_ano_mes_dia.search( x )
  26. extra= pegar_extra.search( x )
  27. ano = tmp.group(1)
  28. mes = tmp.group(2)
  29. dia = tmp.group(3)
  30.  
  31. # pegar versão, se não tiver colocar uma alta 9999
  32. extra = extra.group(1) if extra else "9999"
  33.  
  34. # corrigir mes/dia para 2 digitos
  35. mes = "0"+mes if len(mes) < 2 else mes
  36. dia = "0"+dia if len(dia) < 2 else dia
  37.  
  38. out = ano+mes+dia+"."+extra
  39.  
  40. #print(x, " => ", out)
  41.  
  42. return out
  43.  
  44. l = sorted(lista.split(sep='\n'), key=formatar_para_sort, reverse=True)
  45.  
  46. for i in l:
  47. print( i )
Success #stdin #stdout 0.02s 27712KB
stdin
Standard input is empty
stdout
2019.3.14       ferramentas e relatórios para reconstrução do acervo
2019.3.13       Corrigido diversos erros de falso positivo na localização da epigrafe e no capabilities para windows
2019.3.12       Correções em 'Nº 1.420 A'
2019.3.11       Correções em º/°
2019.3.10       Correções em epigrafe com mesmo numero
2019.3.2        Validação gitlab-ci completa
2019.3.1        2019.3.1-dev0 → 2019.3.1
2019.3.1-dev0   fatoração de metodo a ser implementado futuramente
2019.3.0        Primeira versão totamente integrada com gitlab-ci
2019.3.0-dev5   corrigido AssertionError em test_discover_url_0
2019.3.0-dev4   corrigido ERROR: Failure: Error (unsupported locale setting)
2019.3.0-dev3   FAIL: test_discover_url_0 (TestAtosWebSF) corrigida
2019.3.0-dev2   import faker corrigido
2019.3.0-dev1   refatorado o metodo test_merge_csv_files0 para operar gitlab-ci com validação de csv
2019.3.0-dev0   Aplicado correções sugeridas por py3kwarn