docstr: Apply rules to file located under src_root with relpath.
  
  All rules are applied to the file. The last rule to apply
  (i.e. its `test` method returns a non-None value) determines
  whether or not the file is selected - selected if test returns
  True, not selected if returns False.
  
  If no rules return a non-None value, the file is not selected.
  
  Returns a tuple of the selected flag (True or False) and list
  of applied rules and their results (two-tuples).
docstr_tok: ["Apply","rules","to","file","located","under","src_root","with","relpath",".","All","rules","are","applied","to","the","file",".","The","last","rule","to","apply","(","i.e",".","its","`","test","`","method","returns","a","non-None","value",")","determines","whether","or","not","the","file","is","selected","-","selected","if","test","returns","True",",","not","selected","if","returns","False",".","If","no","rules","return","a","non-None","value",",","the","file","is","not","selected",".","Returns","a","tuple","of","the","selected","flag","(","True","or","False",")","and","list","of","applied","rules","and","their","results","(","two-tuples",")","."]
code: def select_file(self, src_root, relpath):
      """Apply rules to file located under src_root with relpath.
  
      All rules are applied to the file. The last rule to apply
      (i.e. its `test` method returns a non-None value) determines
      whether or not the file is selected - selected if test returns
      True, not selected if returns False.
  
      If no rules return a non-None value, the file is not selected.
  
      Returns a tuple of the selected flag (True or False) and list
      of applied rules and their results (two-tuples).
      """
      rule_results = [
          (rule.test(src_root, relpath), rule)
          for rule in self.rules
          if rule.type != "dir"
      ]
      result, _test = reduce_file_select_results(rule_results)
      return result is True, rule_results
  
imports: import fnmatch
  import glob
  import logging
  import os
  import re
  import shutil
  from guild import util
label_desc: Use image node_id 4 for calling the FileSelect obj's underlying member method code with example usage: obj.select_file(src_root, relpath) and returns: unknown,  rule_results