author Adrian Kalla <>
Wed, 09 Feb 2011 20:42:23 +0100
changeset 9679 042d4caf36c367310aebcf37830e7d310828cc72
parent 6637 b16d95caed01685f3ff498ca25131f81b77d5660
child 12286 84ac3c71109811da751f0ef2d72108075938f094
permissions -rw-r--r--
Bug 632922 - Port |Bug 579175 - services/sync ignored in| to SeaMonkey. r=KaiRo a=Callek

def test(mod, path, entity = None):
  import re
  # ignore anything but SeaMonkey
  if mod not in ("netwerk", "dom", "toolkit", "security/manager",
                 "editor/ui", "suite", "services/sync"):
    return False
  # ignore temporary files, hiden files and files from rejects
  if (re.match(r".*?\/[.#].+", path) or
      re.match(r".*~$", path) or
      re.match(r".+\.(orig|rej)", path)):
    return False
  if mod not in ("suite"):
    # we only have exceptions for suite
    return True
  if entity is None:
    # missing and obsolete files
    return not (re.match(r"searchplugins\/.+\.xml", path) or
                re.match(r"chrome\/common\/help\/images\/[A-Za-z-_]+\.[a-z]+", path))
  if path == "":
    return entity != "MOZ_LANGPACK_CONTRIBUTORS"
  if path == "profile/bookmarks.extra" or path == "profile/panels.extra":
    # ignore files for additional bookmarks and panels
    return False
  if path == "chrome/common/":
    return not re.match(r"browser\.search\.order\.[1-9]", entity)

  if path != "chrome/browser/":
    # only exceptions remain, compare all others
    return True

  return not re.match(r"browser\.contentHandlers\.types\.[0-5]", entity)