Forked mumble-django project from https://bitbucket.org/Svedrin/mumble-django
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.4 KiB

  1. # -*- coding: utf-8 -*-
  2. """
  3. * Copyright (C) 2009, Michael "Svedrin" Ziegler <diese-addy@funzt-halt.net>
  4. *
  5. * Mumble-Django is free software; you can redistribute it and/or modify
  6. * it under the terms of the GNU General Public License as published by
  7. * the Free Software Foundation; either version 2 of the License, or
  8. * (at your option) any later version.
  9. *
  10. * This package is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. * GNU General Public License for more details.
  14. """
  15. import os
  16. from mercurial import hg
  17. types_to_check = [ ".py" ];
  18. def checkfile( filename ):
  19. if os.path.splitext( filename )[1] not in types_to_check:
  20. return True;
  21. try:
  22. fileproc = os.popen( 'licensecheck -l=100 %s' % filename );
  23. result = fileproc.read().strip();
  24. print( "Licensecheck: " + result );
  25. return not result.endswith( "*No copyright* UNKNOWN" );
  26. finally:
  27. fileproc.close();
  28. def licensecheck( ui, repo, **kwargs ):
  29. modified, added, removed, deleted, unknown, ignored, clean = repo.status();
  30. # We only care about modified and added files.
  31. for curfile in (modified+added):
  32. fullpath = os.path.join( repo.root, curfile );
  33. if not checkfile( fullpath ):
  34. ui.warn( "License check failed for %s\n" % curfile );
  35. return True;
  36. return False;