def _update_config_location(self,directory,files=None):
        """Loads location and applies to all files in given
        files list (or if none, all files in flickr DB)

        google reverse GEO to figure out location lat/long
        file can contain things like:
        Australia
        Sydney, Australia
        Holcomb Campground, California.

        If image already has Lat/Lon in EXIF, it's location will
        not be updated.

        FIXME: Could save location lookup results in .file
        such that other files don't need to do it again
        """
        if not self._connectToFlickr():
            print("%s - Couldn't connect to flickr"%(filename))
            return False


        # --- Read location out of file
        fullfile=os.path.join(directory,LOCATION_FILE)
        try:
            location=open(fullfile).readline().strip()
        except:
            logger.info('No location information found');
            return False

        logger.debug('Setting location information : %s'%(location))

        # ---- Now do reverse geocoding
        try:
            results = Geocoder.geocode(location)
        except:
            logger.error("Couldn't find lat/lon for %s"%(location))
            return False

        #logger.debug(results.raw)
        logger.debug('google says location is: %s'%(results[0]))
        _lat,_lon=results[0].coordinates
        placename=results[0]

        # --- Load DB of photos, and update them all with new location
        db = self._loadDB(directory)
        for fn in db:
            # --- If file list provided, skip files not in the list
            if files and fn not in files:
                continue

            logger.debug('Checking %s for location change'%(fn))
            exif_lat,exif_lon=pusher_utils.getexif_location(directory,fn)
            if exif_lat and exif_lon:
                logger.info("%s [flickr] EXIF GPS found (%f,%f) - skipping"\
                        %(fn,exif_lat,exif_lon))
                continue
            else:
                logger.info("%s - GPS: no position, using location file"%(fn))

            logger.info("%s [flickr] Updating loc to %f,%f [%s]"\
                    %(fn,_lat,_lon,placename))
            pid=db[fn]['photoid']
            resp=self.flickr.photos_geo_setLocation(photo_id=pid,lat=_lat,lon=_lon)
            if resp.attrib['stat']!='ok':
                logger.error("%s - flickr: geo_setLocation failed with status: %s",\
                        resp.attrib['stat']);
                return False

        return True