translate.storage.bundleprojstore.BundleProjectStore

Package translate :: Package storage :: Module bundleprojstore :: Class BundleProjectStore |
[hide private]
[frames] | no frames]

# Class BundleProjectStore

source code

Represents a translate project bundle (zip archive).

Instance Methods | [hide private]
__init__(self, fname) x.__init__(...) initializes x; see x.__class__.__doc__ for signature | source code
append_file(self, afile, fname, ftype=`'``trans``'`, delete_orig=False) Append the given file to the project with the given filename, marked to be of type C{ftype} ('src', 'trans', 'tgt'). | source code
remove_file(self, fname, ftype=None) Remove the file with the given project name from the project. | source code
close(self) | source code
cleanup(self) Clean up our mess: remove temporary files. | source code
get_file(self, fname) Retrieve a project file (source, translation or target file) from the project archive. | source code
get_proj_filename(self, realfname) Try and find a project file name for the given real file name. | source code
load(self, zipname) Load the bundle project from the zip file of the given name. | source code
save(self, filename=None) Save all project files to the bundle zip file. | source code
update_file(self, pfname, infile) Updates the file with the given project file name with the contents of `infile`. | source code
_load_settings(self) Grab the project.xtp file from the zip file and load it. | source code
_create_temp_zipfile(self) Create a new zip file with a temporary file name (with mode 'w'). | source code
_replace_project_zip(self, zfile) Replace the currently used zip file (`self.zip`) with the given zip file. | source code
_update_from_tempfiles(self) Update project files from temporary files. | source code
_zip_add(self, pfname, infile) Add the contents of `infile` to the zip with file name `pfname`. | source code
_zip_delete(self, fnames) Delete the files with the given names from the zip file (`self.zip`). | source code
Inherited from `projstore.ProjectStore`: `__del__`, `__in__`, `append_sourcefile`, `append_targetfile`, `append_transfile`, `get_filename_type`, `remove_sourcefile`, `remove_targetfile`, `remove_transfile` Inherited from `projstore.ProjectStore` (private): `_fix_type_filename`, `_generate_settings`, `_get_sourcefiles`, `_get_targetfiles`, `_get_transfiles` Inherited from `object`: `__delattr__`, `__getattribute__`, `__hash__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__repr__`, `__setattr__`, `__str__`

Class Methods | [hide private]
from_project(cls, proj, fname=None) | source code

Properties | [hide private]
Inherited from `projstore.ProjectStore`: `sourcefiles`, `targetfiles`, `transfiles` Inherited from `object`: `__class__`

Method Details | [hide private]

### __init__(self, fname) (Constructor) | source code
x.__init__(...) initializes x; see x.__class__.__doc__ for signature Overrides: object.__init__ (inherited documentation)

### append_file(self, afile, fname, ftype=`'``trans``'`, delete_orig=False) | source code
    Append the given file to the project with the given filename, marked
    to be of type C{ftype} ('src', 'trans', 'tgt').

    @param delete_orig: If C{True}, as set by
                        L{project.convert_forward()}, C{afile} is
                        deleted after appending, if possible.
    NOTE: For this implementation, the appended file will be deleted
          from disk if C{delete_orig} is C{True}.
Parameters: `delete_orig` - Whether or not the original (given) file should be deleted after being appended. This is set to `True` by `project.convert_forward()`. Not used in this class. Overrides: projstore.ProjectStore.append_file

### remove_file(self, fname, ftype=None) | source code
Remove the file with the given project name from the project. Overrides: projstore.ProjectStore.remove_file

### close(self) | source code
Overrides: projstore.ProjectStore.close

### get_file(self, fname) | source code
Retrieve a project file (source, translation or target file) from the project archive. Parameters: `mode` - The mode in which to re-open the file (if it is closed) @see BundleProjectStore.get_file Overrides: projstore.ProjectStore.get_file

### get_proj_filename(self, realfname) | source code
Try and find a project file name for the given real file name. Overrides: projstore.ProjectStore.get_proj_filename

### load(self, zipname) | source code
Load the bundle project from the zip file of the given name. Overrides: projstore.ProjectStore.load

### save(self, filename=None) | source code
Save all project files to the bundle zip file. Overrides: projstore.ProjectStore.save

### update_file(self, pfname, infile) | source code
Updates the file with the given project file name with the contents of `infile`. Returns: the results from self.append_file. Overrides: projstore.ProjectStore.update_file

### _load_settings(self) | source code
Grab the project.xtp file from the zip file and load it. Overrides: projstore.ProjectStore._load_settings

### _replace_project_zip(self, zfile) | source code
Replace the currently used zip file (`self.zip`) with the given zip file. Basically, `os.rename(zfile.filename, self.zip.filename)`.