docs: def check_city(self, token):
          """
          Check if there is a known city from our city list. Must come before the suffix.
          """
          shortened_cities = {'saint': 'st.'}
          if self.city is None and self.state is not None and self.street_suffix is None:
              if token.lower() in self.parser.cities:
                  self.city = self._clean(token.capitalize())
                  return True
              return False
              # Check that we're in the correct location, and that we have at least one comma in the address
          if self.city is None and self.apartment is None and self.street_suffix is None and len(
                  self.comma_separated_address) > 1:
              if token.lower() in self.parser.cities:
                  self.city = self._clean(token.capitalize())
                  return True
              return False
          # Multi word cities
          if self.city is not None and self.street_suffix is None and self.street is None:
              print "Checking for multi part city", token.lower(), token.lower() in shortened_cities.keys()
              if token.lower() + ' ' + self.city in self.parser.cities:
                  self.city = self._clean((token.lower() + ' ' + self.city).capitalize())
                  return True
              if token.lower() in shortened_cities.keys():
                  token = shortened_cities[token.lower()]
                  print "Checking for shorted multi part city", token.lower() + ' ' + self.city
                  if token.lower() + ' ' + self.city.lower() in self.parser.cities:
                      self.city = self._clean(token.capitalize() + ' ' + self.city.capitalize())
                      return True