# Copyright (C) 2010 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.

application: samplesyncadapter2
version: 1
runtime: python
api_version: 1

handlers:

#
# Define a handler for our static files (css, images, etc)
#
- url: /static
  static_dir: static

#
# Route all "web services" requests to the main.py file
#
- url: /auth
  script: web_services.py

- url: /sync
  script: web_services.py

- url: /reset_database
  script: web_services.py
  
#
# Route all page requests to the dashboard.py file
#
- url: /
  script: dashboard.py

- url: /add_contact
  script: dashboard.py

- url: /edit_contact
  script: dashboard.py

- url: /delete_contact
  script: dashboard.py

- url: /avatar
  script: dashboard.py

- url: /edit_avatar
  script: dashboard.py
