I've come to accept that my self-discipline only last for 2-3 days at a time and that eventually I'm going to slip up when trying to achieve weekly goals.
So nowadays I don't beat myself up about it should I slip of track. I acknowledge that it happened, get myself moving in the right direction again and try my best not to give into temptation as easy next time.