re the supported services, rather than adding each one in turn to __init.py__ in /urlshorter why not just do "from . import *" ? This would mean you (or users) could just drop in new ones and have them work (ok, possibly needing a restart).
re the supported services, rather than adding each one in turn to __init.py__ in /urlshorter why not just do "from . import *" ? This would mean you (or users) could just drop in new ones and have them work (ok, possibly needing a restart).