There's no way an April baby would be 300 grams. They normally don't eat until after their first shed and the OP said it hasn't ate for 3 weeks, so that would pretty much mean the snake has never eaten.....
That's why I asked. A 6 week old at 300g would be huge, but a 1 year old at 300g seem really small...