~ubuntu-branches/ubuntu/karmic/eric/karmic

« back to all changes in this revision

Viewing changes to eric/XML/UserProjectWriter.py

  • Committer: Bazaar Package Importer
  • Author(s): Scott Kitterman
  • Date: 2008-01-28 18:02:25 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20080128180225-6nrox6yrworh2c4v
Tags: 4.0.4-1ubuntu1
* Add python-qt3 to build-depends becuase that's where Ubuntu puts 
  pyqtconfig
* Change maintainer to MOTU

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# -*- coding: utf-8 -*-
 
2
 
 
3
# Copyright (c) 2006 - 2007 Detlev Offenbach <detlev@die-offenbachs.de>
 
4
#
 
5
 
 
6
"""
 
7
Module implementing the writer class for writing an XML user project properties file.
 
8
"""
 
9
 
 
10
import time
 
11
 
 
12
from KdeQt.KQApplication import e4App
 
13
 
 
14
from XMLWriterBase import XMLWriterBase
 
15
from Config import userProjectFileFormatVersion
 
16
 
 
17
import Preferences
 
18
 
 
19
class UserProjectWriter(XMLWriterBase):
 
20
    """
 
21
    Class implementing the writer class for writing an XML user project properties  file.
 
22
    """
 
23
    def __init__(self, file, projectName):
 
24
        """
 
25
        Constructor
 
26
        
 
27
        @param file open file (like) object for writing
 
28
        @param projectName name of the project (string)
 
29
        """
 
30
        XMLWriterBase.__init__(self, file)
 
31
        
 
32
        self.pudata = e4App().getObject("Project").pudata
 
33
        self.pdata = e4App().getObject("Project").pdata
 
34
        self.name = projectName
 
35
        
 
36
    def writeXML(self):
 
37
        """
 
38
        Public method to write the XML to the file.
 
39
        """
 
40
        XMLWriterBase.writeXML(self)
 
41
        
 
42
        self._write('<!DOCTYPE UserProject SYSTEM "UserProject-%s.dtd">' % \
 
43
            userProjectFileFormatVersion)
 
44
        
 
45
        # add some generation comments
 
46
        self._write("<!-- eric4 user project file for project %s -->" % self.name)
 
47
        if Preferences.getProject("XMLTimestamp"):
 
48
            self._write("<!-- Saved: %s -->" % time.strftime('%Y-%m-%d, %H:%M:%S'))
 
49
            self._write("<!-- Copyright (C) %s %s, %s -->" % \
 
50
                    (time.strftime('%Y'), 
 
51
                     self.escape(self.pdata["AUTHOR"][0]), 
 
52
                     self.escape(self.pdata["EMAIL"][0])))
 
53
        
 
54
        # add the main tag
 
55
        self._write('<UserProject version="%s">' % userProjectFileFormatVersion)
 
56
        
 
57
        # do the vcs override stuff
 
58
        if self.pudata["VCSOVERRIDE"]:
 
59
            self._write("  <VcsType>%s</VcsType>" % self.pudata["VCSOVERRIDE"][0])
 
60
        if self.pudata["VCSSTATUSMONITORINTERVAL"]:
 
61
            self._write('  <VcsStatusMonitorInterval value="%d" />' % \
 
62
                self.pudata["VCSSTATUSMONITORINTERVAL"][0])
 
63
        
 
64
        self._write("</UserProject>", newline = False)