"""Root Site URL Processing
"""
from os.path import isdir
from django.conf import settings
from pycon import core
from django.views.generic.simple import direct_to_template
from django.conf.urls.defaults import *
from usermgr.views import login, logout

urlpatterns = patterns('',
# Account Management
    ('^%s?$'%settings.LOGIN_URL[1:],   login),
    ('^%s?$'%settings.LOGOUT_URL[1:],  logout,
        {'template_name':'registration/logged_out2.html'}),
    ('^%s'%settings.PROFILE_URL[1:],        include('pycon.usermgr.urls')),

## Site Applications
    ('^%sproposals/'%settings.ROOT_URL[1:], include('pycon.propmgr.urls')),
    ('^%stalks/'%settings.ROOT_URL[1:],     'pycon.propmgr.views.accepted_talks'),
    ('^%sschedule/'%settings.ROOT_URL[1:],  include('pycon.schedule.urls')),
    ('^%sregistration/'%settings.ROOT_URL[1:],  include('pycon.registration.urls')),

# Django Admin:
    ('^%s' % settings.ADMIN_URL[1:],    include('django.contrib.admin.urls')),
    
# root level site features
    ('^%s$' % settings.OPTIONS_URL[1:], 'pycon.views.set_option'),
    #(r'^.*$',             'pycon.views.appindex'),

)

### urls for serving up static data in a dev environment
if settings.DEBUG:
    urlpatterns += patterns('',
        (r'^%sdojo/(?P<path>.*)$' % settings.MEDIA_URL[1:], 'django.views.static.serve',
                                 {'document_root': '%s/dojo/' % settings.DEV_INSTALL_ROOT}),
    )
    media_pattern = '^' + settings.MEDIA_URL[1:] + '%s/(?P<path>.*)$'
    media_apps = (app for app in settings.INSTALLED_APPS
                    if (app.startswith('pycon') and
                        isdir(settings.DEV_INSTALL_ROOT + "/" + app.replace('.', '/') + '/media')))
    for app in media_apps:
        media_dir = settings.DEV_INSTALL_ROOT + "/" + app.replace('.', '/') + '/media/'
        if '.' in app: app = "_".join(app.split('.')[1:])
        urlpatterns += patterns('', (media_pattern % app, 'django.views.static.serve',
                                     {'document_root': media_dir}),)
    
    urlpatterns += patterns('',
        ('^common/(?P<path>.*)$', 'django.views.static.serve',
                     {'document_root': settings.DEV_INSTALL_ROOT + '/common/'}),
    )

