def create_key_background(self, *args, **kwargs): try: kwargs["gpg"] = dumps(self) queue = Queue(queue_name="gpg_key_gen", unique_names=True) queue.push( name=u"".join([kwargs.get("name_real"), kwargs.get("name_comment"), kwargs.get("name_email")]), data=kwargs, ) return except QueuePushError: raise KeyGenerationError("A key with these same parameters is queued for creation")
def background_key_generator(): queue = Queue(queue_name='gpg_key_gen') kwargs = queue.pull() if kwargs: msg_queue = Queue(queue_name='gpg_msg_queue') try: gpg = loads(str(kwargs.pop('gpg'))) key = gpg.create_key(**kwargs) msg_queue.push( data={ 'tag': messages.SUCCESS, 'message': _(u'Key pair: %s, created successfully.') % key.fingerprint } ) except Exception, err_msg: msg_queue.push( data={ 'tag': messages.ERROR, 'message': _(u'Key creation error; %s') % err_msg } )