def METHOD_NAME(jobpost_id):
    with app.test_request_context():
        post = JobPost.query.get(jobpost_id)
        url = urljoin(app.config['LASTUSER_SERVER'], '/api/1/geo/parse_locations')
        response = requests.get(
            url,
            params={
                'q': post.location,
                'bias': ['IN', 'US'],
                'special': ['Anywhere', 'Remote', 'Home'],
            },
            timeout=30,
        ).json()
        if response.get('status') == 'ok':
            remote_location = False
            results = response.get('result', [])
            geonames = defaultdict(dict)
            tokens = []
            for item in results:
                if item.get('special'):
                    remote_location = True
                geoname = item.get('geoname', {})
                if geoname:
                    geonames[geoname['geonameid']]['geonameid'] = geoname['geonameid']
                    geonames[geoname['geonameid']]['primary'] = geonames[
                        geoname['geonameid']
                    ].get('primary', True)
                    for gtype, related in geoname.get('related', {}).items():
                        if gtype in ['admin2', 'admin1', 'country', 'continent']:
                            geonames[related['geonameid']]['geonameid'] = related[
                                'geonameid'
                            ]
                            geonames[related['geonameid']]['primary'] = False
                    tokens.append(
                        {
                            'token': item.get('token', ''),
                            'geoname': {
                                'name': geoname['name'],
                                'geonameid': geoname['geonameid'],
                            },
                        }
                    )
                else:
                    tokens.append({'token': item.get('token', '')})
                if item.get('special'):
                    tokens[-1]['remote'] = True
            post.remote_location = remote_location
            post.parsed_location = {'tokens': tokens}
            for locdata in geonames.values():
                loc = JobLocation.query.get((jobpost_id, locdata['geonameid']))
                if loc is None:
                    loc = JobLocation(jobpost=post, geonameid=locdata['geonameid'])
                    db.session.add(loc)
                    db.session.flush()
                loc.primary = locdata['primary']
            for location in post.locations:
                if location.geonameid not in geonames:
                    db.session.delete(location)
            db.session.commit()