

@classmethod
def parse(cls, api, json):
    status = cls(api)
    for (k, v) in json.items():
        if (k == 'user'):
            user_model = (getattr(api.parser.model_factory, 'user') if v else User)
            user = user_model.parse(api, v)
            setattr(status, 'author', user)
            setattr(status, 'user', user)
        elif (k == 'created_at'):
            setattr(status, k, parse_datetime(v))
        elif (k == 'source'):
            if ('<' in v):
                setattr(status, k, parse_html_value(v))
                setattr(status, 'source_url', parse_a_href(v))
            else:
                setattr(status, k, v)
                setattr(status, 'source_url', None)
        elif (k == 'retweeted_status'):
            setattr(status, k, Status.parse(api, v))
        elif (k == 'place'):
            if (v is not None):
                setattr(status, k, Place.parse(api, v))
            else:
                setattr(status, k, None)
        else:
            setattr(status, k, v)
    return status

dataset/ETHPy150Open balanced/status.balancedpayments.com/situation/tweepy/models.py Status.parse/VarMisuse@62/72 `api`->`v`