input: Write a function to develop a ML model in Python for predicting the winning team of football matches using data from the past 5 years of the Premier League. The function should load the data, preprocess it, train a Gradient Boosting Classifier, and return the model's score on the test set. If no data is provided, return None.
  assert football_predictor('data.csv') is not None
  assert football_predictor('non_existent_file.csv') is None
output: def football_predictor(file_path):
      import pandas as pd
      from sklearn.model_selection import train_test_split
      from sklearn.ensemble import GradientBoostingClassifier
      from sklearn.metrics import accuracy_score
      from sklearn.preprocessing import LabelEncoder
  
      try:
          data = pd.read_csv(file_path)
      except FileNotFoundError:
          return None
  
      le = LabelEncoder()
      data['winning_team'] = le.fit_transform(data['winning_team'])
      X = data.drop('winning_team', axis=1)
      y = data['winning_team']
  
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
  
      model = GradientBoostingClassifier()
      model.fit(X_train, y_train)
  
      y_pred = model.predict(X_test)
      return accuracy_score(y_test, y_pred)