1# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
2#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS.  All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
9def _LicenseHeader(input_api):
10  """Returns the license header regexp."""
11  # Accept any year number from 2003 to the current year
12  current_year = int(input_api.time.strftime('%Y'))
13  allowed_years = (str(s) for s in reversed(xrange(2003, current_year + 1)))
14  years_re = '(' + '|'.join(allowed_years) + ')'
15  license_header = (
16      r'.*? Copyright( \(c\))? %(year)s The WebRTC [Pp]roject [Aa]uthors\. '
17        r'All [Rr]ights [Rr]eserved\.\n'
18      r'.*?\n'
19      r'.*? Use of this source code is governed by a BSD-style license\n'
20      r'.*? that can be found in the LICENSE file in the root of the source\n'
21      r'.*? tree\. An additional intellectual property rights grant can be '
22        r'found\n'
23      r'.*? in the file PATENTS\.  All contributing project authors may\n'
24      r'.*? be found in the AUTHORS file in the root of the source tree\.\n'
25  ) % {
26      'year': years_re,
27  }
28  return license_header
29
30def _CommonChecks(input_api, output_api):
31  """Checks common to both upload and commit."""
32  results = []
33  results.extend(input_api.canned_checks.CheckLicense(
34      input_api, output_api, _LicenseHeader(input_api)))
35  return results
36
37def CheckChangeOnUpload(input_api, output_api):
38  results = []
39  results.extend(_CommonChecks(input_api, output_api))
40  return results
41
42def CheckChangeOnCommit(input_api, output_api):
43  results = []
44  results.extend(_CommonChecks(input_api, output_api))
45  return results
46