<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def snap(self, path=None):
 """Get a snapshot and save it to disk."""

        if path is None:
            path = "/tmp"
        else:
            path = path.rstrip("/")
        day_dir = datetime.datetime.now().strftime("%d%m%Y")
        hour_dir = datetime.datetime.now().strftime("%H%M")
        ensure_snapshot_dir(path+"/"+self.cam_id+"/"+day_dir+"/"+hour_dir)
        f_path = "{0}/{1}/{2}/{3}/{4}.jpg".format(
                path,
                self.cam_id,
                day_dir,
                hour_dir,
                datetime.datetime.now().strftime("%S"),
        )

        urllib.urlretrieve(
            'http://{0}/snapshot.cgi?user={1}&pwd={2}'.format(
                                    self.address, 
                                    self.user, 
                                    self.pswd,
                                    ),
            f_path,
        )