Current File : //usr/lib/python2.7/site-packages/keyczar/writers.pyc |
�
N�Pc @ sc d Z d d l Z d d l Z d d l Z d � Z d e f d � � YZ d e f d � � YZ d S( su
A Writer supports writing metadata and key info for key sets.
@author: rleftwich@lightkeeper.com (Robert Leftwich)
i����Nc C sQ t j � x- t j � D] } | j | � } | r | Sq Wt j d | � � d S( s� Factory function for Writers
@param location: where (file, uri, etc) the writer should write to
@type location: string
s: Unable to create a writer for %s. Does the location exist?N( t utilt ImportBackendst Writert __subclasses__t CreateWritert errorst KeyczarError( t locationt sct writer( ( s3 /usr/lib/python2.7/site-packages/keyczar/writers.pyR s
R c B st e Z d Z e j Z e j e d � � Z e j d d � � Z
e j d � � Z e j d � � Z e
d � � Z RS( sJ Abstract class/interface providing supported methods for writing key sets.c C s d S( s�
Write the metadata for the key.
@param metadata: metadata for key
@type: KeyMetadata
@raise KeyczarError: if unable to write metadata (e.g. IOError)
N( ( t selft metadatat overwrite( ( s3 /usr/lib/python2.7/site-packages/keyczar/writers.pyt
WriteMetadata. s
c C s d S( sa
Write out the key at the given version.
@param key: key value
@type: string
@param version_number: the version number of the key
@type version_number: integer
@param encrypter: existing Keyczar encrypter for key
@type: Keyczar.Crypter
@raise KeyczarError: if unable to write key info (e.g. IOError)
N( ( R
t keyt version_numbert encrypter( ( s3 /usr/lib/python2.7/site-packages/keyczar/writers.pyt WriteKey: s c C s d S( s�
Remove the key for the given version.
@param version_number: the version number of the key
@type version_number: integer
@raise KeyczarError: if unable to remove key info (e.g. IOError)
N( ( R
R ( ( s3 /usr/lib/python2.7/site-packages/keyczar/writers.pyt RemoveL s
c C s d S( sR
Clean up this writer
@raise KeyczarError: if error during close
N( ( R
( ( s3 /usr/lib/python2.7/site-packages/keyczar/writers.pyt CloseX s c C s t d | � � d S( sE
Return an instance of this class if it handles the location
s6 CreateWriter() class method MUST be implemented for:%sN( t NotImplementedError( t clsR ( ( s3 /usr/lib/python2.7/site-packages/keyczar/writers.pyR a s N( t __name__t
__module__t __doc__R t ABCMetat
__metaclass__t abstractmethodt TrueR
t NoneR R R t classmethodR ( ( ( s3 /usr/lib/python2.7/site-packages/keyczar/writers.pyR ) s t
FileWriterc B sP e Z d Z d � Z e d � Z d d � Z d � Z d � Z e
d � � Z RS( s Write key sets to a file.c C s
| | _ d S( s4 Construct a key set writer at the specified locationN( R ( R
R ( ( s3 /usr/lib/python2.7/site-packages/keyczar/writers.pyt __init__k s c C sa t j j | j d � } | rG t j j | � rG t j d | � � n t j t | � | � d S( s)
Write the metadata for the key.
t metas File:%s already existsN(
t ost patht joinR t existsR R R t WriteFilet str( R
R R t fname( ( s3 /usr/lib/python2.7/site-packages/keyczar/writers.pyR
o s
c C sP t | � } | r$ | j | � } n t j | t j j | j t | � � � d S( s1
Write out the key at the given version.
N( R'