Example #1
0
File: core.py Project: jcollie/pyme
def set_engine_info(proto, file_name, home_dir=None):
    """Changes the default configuration of the crypto engine implementing
    the protocol 'proto'. 'file_name' is the file name of
    the executable program implementing this protocol. 'home_dir' is the
    directory name of the configuration directory (engine's default is
    used if omitted)."""
    errorcheck(pygpgme.gpgme_set_engine_info(proto, file_name, home_dir))
Example #2
0
File: core.py Project: jcollie/pyme
    def new_from_filepart(self, file, offset, length):
        """This wraps the GPGME gpgme_data_new_from_filepart() function.
        The argument "file" may be:

        1. a string specifying a file name, or
        3. a a file-like object. supporting the fileno() call and the mode
           attribute."""

        tmp = pygpgme.new_gpgme_data_t_p()
        filename = None
        fp = None

        if type(file) == type("x"):
            filename = file
        else:
            fp = pygpgme.fdopen(file.fileno(), file.mode)
            if fp == None:
                raise ValueError, "Failed to open file from %s arg %s" % \
                      (str(type(file)), str(file))

        errorcheck(
            pygpgme.gpgme_data_new_from_filepart(tmp, filename, fp, offset,
                                                 length))
        self.wrapped = pygpgme.gpgme_data_t_p_value(tmp)
        pygpgme.delete_gpgme_data_t_p(tmp)
Example #3
0
def set_engine_info(proto, file_name, home_dir=None):
    """Changes the default configuration of the crypto engine implementing
    the protocol 'proto'. 'file_name' is the file name of
    the executable program implementing this protocol. 'home_dir' is the
    directory name of the configuration directory (engine's default is
    used if omitted)."""
    errorcheck(pygpgme.gpgme_set_engine_info(proto, file_name, home_dir))
Example #4
0
    def get_key(self, fpr, secret):
        """Return the key corresponding to the fingerprint 'fpr'"""
        ptr = pygpgme.new_gpgme_key_t_p()
        errorcheck(pygpgme.gpgme_get_key(self.wrapped, fpr, ptr, secret))
        key = pygpgme.gpgme_key_t_p_value(ptr)
        pygpgme.delete_gpgme_key_t_p(ptr)
	if key:
	    key.__del__ = lambda self: pygpgme.gpgme_key_unref(self)
        return key
Example #5
0
File: core.py Project: jcollie/pyme
 def get_key(self, fpr, secret):
     """Return the key corresponding to the fingerprint 'fpr'"""
     ptr = pygpgme.new_gpgme_key_t_p()
     errorcheck(pygpgme.gpgme_get_key(self.wrapped, fpr, ptr, secret))
     key = pygpgme.gpgme_key_t_p_value(ptr)
     pygpgme.delete_gpgme_key_t_p(ptr)
     if key:
         key.__del__ = lambda self: pygpgme.gpgme_key_unref(self)
     return key
Example #6
0
def get_engine_info():
    ptr = pygpgme.new_gpgme_engine_info_t_p()
    try:
        errorcheck(pygpgme.gpgme_get_engine_info(ptr))
        info = pygpgme.gpgme_engine_info_t_p_value(ptr)
    except errors.GPGMEError:
        info = None
    pygpgme.delete_gpgme_engine_info_t_p(ptr)
    return info
Example #7
0
File: core.py Project: jcollie/pyme
def get_engine_info():
    ptr = pygpgme.new_gpgme_engine_info_t_p()
    try:
        errorcheck(pygpgme.gpgme_get_engine_info(ptr))
        info = pygpgme.gpgme_engine_info_t_p_value(ptr)
    except errors.GPGMEError:
        info = None
    pygpgme.delete_gpgme_engine_info_t_p(ptr)
    return info
Example #8
0
File: core.py Project: jcollie/pyme
 def __init__(self, wrapped=None):
     if wrapped:
         self.wrapped = wrapped
         self.own = False
     else:
         tmp = pygpgme.new_gpgme_ctx_t_p()
         errorcheck(pygpgme.gpgme_new(tmp))
         self.wrapped = pygpgme.gpgme_ctx_t_p_value(tmp)
         pygpgme.delete_gpgme_ctx_t_p(tmp)
         self.own = True
     self.last_passcb = None
     self.last_progresscb = None
Example #9
0
File: core.py Project: jcollie/pyme
 def op_trustlist_next(self):
     """Returns the next trust item in the list created
     by a call to op_trustlist_start().  The object returned
     is of type TrustItem."""
     ptr = pygpgme.new_gpgme_trust_item_t_p()
     try:
         errorcheck(pygpgme.gpgme_op_trustlist_next(self.wrapped, ptr))
         trust = pygpgme.gpgme_trust_item_t_p_value(ptr)
     except errors.GPGMEError, excp:
         trust = None
         if excp.getcode() != errors.EOF:
             raise
Example #10
0
 def op_trustlist_next(self):
     """Returns the next trust item in the list created
     by a call to op_trustlist_start().  The object returned
     is of type TrustItem."""
     ptr = pygpgme.new_gpgme_trust_item_t_p()
     try:
         errorcheck(pygpgme.gpgme_op_trustlist_next(self.wrapped, ptr))
         trust = pygpgme.gpgme_trust_item_t_p_value(ptr)
     except errors.GPGMEError, excp:
         trust = None
         if excp.getcode() != errors.EOF:
             raise
Example #11
0
 def op_keylist_next(self):
     """Returns the next key in the list created
     by a call to op_keylist_start().  The object returned
     is of type Key."""
     ptr = pygpgme.new_gpgme_key_t_p()
     try:
         errorcheck(pygpgme.gpgme_op_keylist_next(self.wrapped, ptr))
         key = pygpgme.gpgme_key_t_p_value(ptr)
     except errors.GPGMEError, excp:
         key = None
         if excp.getcode() != errors.EOF:
             raise excp
Example #12
0
File: core.py Project: jcollie/pyme
 def op_keylist_next(self):
     """Returns the next key in the list created
     by a call to op_keylist_start().  The object returned
     is of type Key."""
     ptr = pygpgme.new_gpgme_key_t_p()
     try:
         errorcheck(pygpgme.gpgme_op_keylist_next(self.wrapped, ptr))
         key = pygpgme.gpgme_key_t_p_value(ptr)
     except errors.GPGMEError, excp:
         key = None
         if excp.getcode() != errors.EOF:
             raise excp
Example #13
0
 def __init__(self, wrapped=None):
     if wrapped:
         self.wrapped = wrapped
         self.own = False
     else:
         tmp = pygpgme.new_gpgme_ctx_t_p()
         errorcheck(pygpgme.gpgme_new(tmp))
         self.wrapped = pygpgme.gpgme_ctx_t_p_value(tmp)
         pygpgme.delete_gpgme_ctx_t_p(tmp)
         self.own = True
     self.last_passcb = None
     self.last_progresscb = None
Example #14
0
 def new_from_fd(self, file):
     """This wraps the GPGME gpgme_data_new_from_fd() function.
     The argument "file" may be a file-like object, supporting the fileno()
     call and the mode attribute."""
     
     tmp = pygpgme.new_gpgme_data_t_p()
     fp = pygpgme.fdopen(file.fileno(), file.mode)
     if fp == None:
         raise ValueError, "Failed to open file from %s arg %s" % \
               (str(type(file)), str(file))
     errorcheck(gpgme_data_new_from_fd(tmp, fp))
     self.wrapped = pygpgme.gpgme_data_t_p_value(tmp)
     pygpgme.delete_gpgme_data_t_p(tmp)
Example #15
0
File: core.py Project: jcollie/pyme
    def new_from_fd(self, file):
        """This wraps the GPGME gpgme_data_new_from_fd() function.
        The argument "file" may be a file-like object, supporting the fileno()
        call and the mode attribute."""

        tmp = pygpgme.new_gpgme_data_t_p()
        fp = pygpgme.fdopen(file.fileno(), file.mode)
        if fp == None:
            raise ValueError, "Failed to open file from %s arg %s" % \
                  (str(type(file)), str(file))
        errorcheck(gpgme_data_new_from_fd(tmp, fp))
        self.wrapped = pygpgme.gpgme_data_t_p_value(tmp)
        pygpgme.delete_gpgme_data_t_p(tmp)
Example #16
0
File: core.py Project: jcollie/pyme
def wait(hang):
    """Wait for asynchronous call on any Context  to finish.
    Wait forever if hang is True.
    
    For finished anynch calls it returns a tuple (status, context):
        status  - status return by asnynchronous call.
        context - context which caused this call to return.
        
    Please read the GPGME manual of more information."""
    ptr = pygpgme.new_gpgme_error_t_p()
    context = pygpgme.gpgme_wait(None, ptr, hang)
    status = pygpgme.gpgme_error_t_p_value(ptr)
    pygpgme.delete_gpgme_error_t_p(ptr)
    if context == None:
        errorcheck(status)
    else:
        context = Context(context)
    return (status, context)
Example #17
0
    def wait(self, hang):
        """Wait for asynchronous call to finish. Wait forever if hang is True

        Return:
            On an async call completion its return status.
            On timeout - None.

        Please read the GPGME manual for more information."""
        ptr = pygpgme.new_gpgme_error_t_p()
        context = pygpgme.gpgme_wait(self.wrapped, ptr, hang)
        status = pygpgme.gpgme_error_t_p_value(ptr)
        pygpgme.delete_gpgme_error_t_p(ptr)
        
        if context == None:
            errorcheck(status)
            return None
        else:
            return status
Example #18
0
File: core.py Project: jcollie/pyme
    def wait(self, hang):
        """Wait for asynchronous call to finish. Wait forever if hang is True

        Return:
            On an async call completion its return status.
            On timeout - None.

        Please read the GPGME manual for more information."""
        ptr = pygpgme.new_gpgme_error_t_p()
        context = pygpgme.gpgme_wait(self.wrapped, ptr, hang)
        status = pygpgme.gpgme_error_t_p_value(ptr)
        pygpgme.delete_gpgme_error_t_p(ptr)

        if context == None:
            errorcheck(status)
            return None
        else:
            return status
Example #19
0
def wait(hang):
    """Wait for asynchronous call on any Context  to finish.
    Wait forever if hang is True.
    
    For finished anynch calls it returns a tuple (status, context):
        status  - status return by asnynchronous call.
        context - context which caused this call to return.
        
    Please read the GPGME manual of more information."""
    ptr = pygpgme.new_gpgme_error_t_p()
    context = pygpgme.gpgme_wait(None, ptr, hang)
    status = pygpgme.gpgme_error_t_p_value(ptr)
    pygpgme.delete_gpgme_error_t_p(ptr)
    if context == None:
        errorcheck(status)
    else:
        context = Context(context)
    return (status, context)
Example #20
0
    def new_from_filepart(self, file, offset, length):
        """This wraps the GPGME gpgme_data_new_from_filepart() function.
        The argument "file" may be:

        1. a string specifying a file name, or
        3. a a file-like object. supporting the fileno() call and the mode
           attribute."""

        tmp = pygpgme.new_gpgme_data_t_p()
        filename = None
        fp = None

        if type(file) == type("x"):
            filename = file
        else:
            fp = pygpgme.fdopen(file.fileno(), file.mode)
            if fp == None:
                raise ValueError, "Failed to open file from %s arg %s" % \
                      (str(type(file)), str(file))

        errorcheck(pygpgme.gpgme_data_new_from_filepart(tmp, filename, fp,
                                                      offset, length))
        self.wrapped = pygpgme.gpgme_data_t_p_value(tmp)
        pygpgme.delete_gpgme_data_t_p(tmp)
Example #21
0
 def op_edit(self, key, func, fnc_value, out):
     """Start key editing using supplied callback function"""
     if key == None:
         raise ValueError("op_edit: First argument cannot be None")
     opaquedata = (func, fnc_value)
     errorcheck(pygpgme.gpgme_op_edit(self.wrapped, key, opaquedata, out))
Example #22
0
def set_locale(category, value):
    """Sets the default locale used by contexts"""
    errorcheck(pygpgme.gpgme_set_locale(None, category, value))
Example #23
0
File: core.py Project: jcollie/pyme
 def new(self):
     tmp = pygpgme.new_gpgme_data_t_p()
     errorcheck(pygpgme.gpgme_data_new(tmp))
     self.wrapped = pygpgme.gpgme_data_t_p_value(tmp)
     pygpgme.delete_gpgme_data_t_p(tmp)
Example #24
0
def engine_check_version (proto):
    try:
        errorcheck(pygpgme.gpgme_engine_check_version(proto))
        return True
    except errors.GPGMEError:
        return False
Example #25
0
 def write(self, buffer):
     errorcheck(pygpgme.gpgme_data_write(self.wrapped, buffer, len(buffer)))
Example #26
0
File: core.py Project: jcollie/pyme
 def write(self, buffer):
     errorcheck(pygpgme.gpgme_data_write(self.wrapped, buffer, len(buffer)))
Example #27
0
 def new_from_mem(self, string, copy = 1):
     tmp = pygpgme.new_gpgme_data_t_p()
     errorcheck(pygpgme.gpgme_data_new_from_mem(tmp,string,len(string),copy))
     self.wrapped = pygpgme.gpgme_data_t_p_value(tmp)
     pygpgme.delete_gpgme_data_t_p(tmp)
Example #28
0
 def new_from_file(self, filename, copy = 1):
     tmp = pygpgme.new_gpgme_data_t_p()
     errorcheck(pygpgme.gpgme_data_new_from_file(tmp, filename, copy))
     self.wrapped = pygpgme.gpgme_data_t_p_value(tmp)
     pygpgme.delete_gpgme_data_t_p(tmp)
Example #29
0
 def new(self):
     tmp = pygpgme.new_gpgme_data_t_p()
     errorcheck(pygpgme.gpgme_data_new(tmp))
     self.wrapped = pygpgme.gpgme_data_t_p_value(tmp)
     pygpgme.delete_gpgme_data_t_p(tmp)
Example #30
0
File: core.py Project: jcollie/pyme
 def new_from_file(self, filename, copy=1):
     tmp = pygpgme.new_gpgme_data_t_p()
     errorcheck(pygpgme.gpgme_data_new_from_file(tmp, filename, copy))
     self.wrapped = pygpgme.gpgme_data_t_p_value(tmp)
     pygpgme.delete_gpgme_data_t_p(tmp)
Example #31
0
File: core.py Project: jcollie/pyme
def engine_check_version(proto):
    try:
        errorcheck(pygpgme.gpgme_engine_check_version(proto))
        return True
    except errors.GPGMEError:
        return False
Example #32
0
File: core.py Project: jcollie/pyme
 def op_edit(self, key, func, fnc_value, out):
     """Start key editing using supplied callback function"""
     if key == None:
         raise ValueError("op_edit: First argument cannot be None")
     opaquedata = (func, fnc_value)
     errorcheck(pygpgme.gpgme_op_edit(self.wrapped, key, opaquedata, out))
Example #33
0
File: core.py Project: jcollie/pyme
def set_locale(category, value):
    """Sets the default locale used by contexts"""
    errorcheck(pygpgme.gpgme_set_locale(None, category, value))
Example #34
0
 def _funcwrap(*args, **kwargs):
     args = [self.wrapped] + list(args)
     return errorcheck(apply(getattr(pygpgme, name), args, kwargs),
                       "Invocation of " + name)
Example #35
0
File: core.py Project: jcollie/pyme
 def new_from_mem(self, string, copy=1):
     tmp = pygpgme.new_gpgme_data_t_p()
     errorcheck(
         pygpgme.gpgme_data_new_from_mem(tmp, string, len(string), copy))
     self.wrapped = pygpgme.gpgme_data_t_p_value(tmp)
     pygpgme.delete_gpgme_data_t_p(tmp)