Git Product home page Git Product logo

ccs-caldavclientlibrary's Introduction

README for CalDAVClientLibrary

INTRODUCTION

CalDAVCLientLibrary is a Python library and tool for CalDAV. It is
comprised of five main modules in the top-level caldavclientlibrary
package:

protocol: this implements an HTTP/WebDAV/CalDAV protocol stack, using
httplib to communicate with the server.

client: this implements a CalDAV client session, with higher level
functionality than the protocol module (e.g. 'get properties on resource
X and return as a dict'). There is a higher level abstraction using an
object model to repesent a session, accounts, principals and calendars
as objects.

browser: this implements a shell-like browser that lets you interact
with the CalDAV server directly via protocol. You can 'cd' to different
parts of the repository, 'ls' to list a collection, 'cat' to read
resource data, 'props' to get properties. Then there are some higher
level functions such as 'proxies' which let you manage (read and edit)
the proxy list for a principal, and 'acl' which lets you manage ACLs
directly on resources. For those, the tool takes care of mapping from
principal paths to principal URLs etc. Help is provided for each command
(type '?'). It is easily extensible by adding new commands.

ui: a PyObjC application with a WebDAV browser GUI. This provides a file
system like browser that allows properties and the data for a selected
WebDAV resource do be displayed.

admin: a user account administration tool. Currently works only with the
XML file directory account.

*** NB This package requires Python 2.5. ***

The runshell.py script will launch the command line browser shell.
The runadmin.py script will run the XML directory admin tool.


SHELL TOOL

-- COMMAND LINE OPTIONS

    Usage: runshell [OPTIONS]
    
    Options:
    
    -l              start with HTTP logging on.
    
    --server=HOST   url of the server include http/https scheme and
                    port [REQUIRED].
                    
    --user=USER     user name to login as - will be prompted if not
                    present [OPTIONAL].
                    
    --pswd=PSWD     password for user - will be prompted if not
                    present [OPTIONAL].

-- QUICKSTART - COMMANDLINE

To browse a calendar server on the local machine:

    ./runshell.py --server http://localhost:8008
    
or, for SSL:

    ./runshell.py --server https://localhost:8443

Then type '?' followed by return to see the list of available commands.


UI TOOL

-- QUICKSTART - GUI

Build the GUI app using:

    python setup.py py2app

The application will be placed in the 'dist' directory. Double-click
that to launch it. One it it running, click the 'Server' toolbar button
and specify a server, user id and password.

The app will then display the top-level of the server resource hierarchy
in the browser pane on the left. You can click and navigate through the
resources via that pane (the 'Browser' toolbar buttons determine whether
the browser uses a column or list view).

When a resource is selected in the browser pane, its properties or data
are display in the right hand pane. You can toggle between viewing
properties or data by using the 'View' toolbar buttons.


ADMIN TOOL

-- QUICKSTART - COMMANDLINE

To run the tool and see the list of available commands:

    ./runadmin.py --help
    

TO DO

Lots of error handling and documentation.

ccs-caldavclientlibrary's People

Contributors

cyrusdaboo avatar m0rgen avatar exarkun avatar dreness avatar bgaya avatar glyph avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.