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

« back to all changes in this revision

Viewing changes to services/svnlogservice

  • Committer: William Grant
  • Date: 2009-06-29 01:55:55 UTC
  • mto: This revision was merged to the branch mainline in revision 1322.
  • Revision ID: grantw@unimelb.edu.au-20090629015555-49xxv0piiieunx8e
Add docs on configuring Apache.

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
 
27
27
import os
28
28
import sys
29
 
import locale
30
29
 
31
30
import cjson
32
31
import pysvn
33
32
 
34
 
import ivle.conf
35
33
import ivle.svn
36
34
 
37
 
# Set locale to UTF-8
38
 
locale.setlocale(locale.LC_CTYPE, "en_US.UTF-8")
39
 
 
40
35
try:
41
 
    client = ivle.svn.create_auth_svn_client(username=ivle.conf.login,
42
 
                                             password=ivle.conf.svn_pass)
 
36
    client = pysvn.Client()
43
37
    client.exception_style = 1
44
 
    logs = client.log(os.path.join('/home', sys.argv[1].decode('utf-8')),
 
38
    logs = client.log(os.path.join('/home', sys.argv[1]),
45
39
                      discover_changed_paths=True)
46
40
    print cjson.encode({'logs': [{'revno': log.revision.number,
47
 
                                  'author': log.author.decode('utf-8'),
48
 
                                  'message': log.message.decode('utf-8'),
 
41
                                  'author': log.author,
 
42
                                  'message': log.message,
49
43
                                  'date': log.date,
50
 
                                  'paths': [(p.path.decode('utf-8'), p.action)
 
44
                                  'paths': [(p.path, p.action)
51
45
                                            for p in log.changed_paths]}
52
46
                                 for log in logs]})
53
47
except pysvn.ClientError, e:
56
50
    try:
57
51
        code = e[1][0][1]
58
52
        # See subversion/include/svn_error_codes.h.
59
 
        # 150000: ERR_ENTRY_NOT_FOUND
60
53
        # 155007: WC_NOT_DIRECTORY.
61
54
        # 160006: FS_NO_SUCH_REVISION
62
55
        # 160013: FS_NOT_FOUND
63
56
        # 200005: UNVERSIONED_RESOURCE
64
 
        if code in (150000, 155007, 160006, 160013, 200005):
 
57
        if code in (155007, 160006, 160013, 200005):
65
58
            error = 'notfound'
66
59
        else:
67
60
            error = '%s (code %d)' % (error, code)