<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def update_room_from_obj(settings, vc_room, room_obj):
 """Updates a VCRoom DB object using a SOAP room object returned by the API"""

    vc_room.name = room_obj.name
    if room_obj.ownerName != vc_room.data['owner_identity']:
        owner = get_user_from_identifier(settings, room_obj.ownerName) or User.get_system_user()
        vc_room.vidyo_extension.owned_by_user = owner

    vc_room.data.update({
        'description': room_obj.description,
        'vidyo_id': unicode(room_obj.roomID),
        'url': room_obj.RoomMode.roomURL,
        'owner_identity': room_obj.ownerName,
        'room_pin': room_obj.RoomMode.roomPIN if room_obj.RoomMode.hasPIN else "",
        'moderation_pin': room_obj.RoomMode.moderatorPIN if room_obj.RoomMode.hasModeratorPIN else "",
    })
    vc_room.vidyo_extension.extension = int(room_obj.extension)