~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to ivle/fileservice_lib/action.py

  • Committer: David Coles
  • Date: 2009-12-01 05:04:26 UTC
  • mfrom: (1318.1.2 svn-fixes)
  • Revision ID: coles.david@gmail.com-20091201050426-h4d6321tc1fixaho
Add in SVN Cleanup interface for locked workspaces

Show diffs side-by-side

added added

removed removed

Lines of Context:
119
119
#       path:   The path to the directory to be checked (under the IVLE
120
120
#               repository base).
121
121
#
 
122
# action=svncleanup: Recursively clean up the working copy, removing locks,
 
123
#   resuming unfinished operations, etc.
 
124
#       path:   The path to the directory to be cleaned
 
125
#
122
126
# TODO: Implement the following actions:
123
127
#   svnupdate (done?)
124
128
# TODO: Implement ZIP unpacking in putfiles (done?).
761
765
            raise util.IVLEError(404, 'The specified repository path does not exist')
762
766
        else:
763
767
            raise ActionError(str(e[0]))
764
 
            
 
768
 
 
769
 
 
770
def action_svncleanup(req, fields):
 
771
    """Recursively clean up the working copy, removing locks, resuming 
 
772
    unfinished operations, etc.
 
773
        path:   The path to be cleaned"""
 
774
 
 
775
    path = fields.getfirst('path')
 
776
    if path is None:
 
777
        raise ActionError("Required field missing")
 
778
    path = actionpath_to_local(req, path)
 
779
 
 
780
    try:
 
781
        svnclient.cleanup(path)
 
782
    except pysvn.ClientError, e:
 
783
        raise ActionError(str(e))
 
784
 
765
785
 
766
786
# Table of all action functions #
767
787
# Each function has the interface f(req, fields).
787
807
    "svncheckout" : action_svncheckout,
788
808
    "svnrepomkdir" : action_svnrepomkdir,
789
809
    "svnrepostat" : action_svnrepostat,
 
810
    "svncleanup" : action_svncleanup,
790
811
}