Exemplo n.º 1
0
 def file_new(self, force=False):
     if self.recording or (not force and not self.file_new_ask()): return
     ext = dict([(t, ext)
                 for (_, t, desc, ext) in self.FILE_TYPES])[self.outtype]
     if self.moviefile:
         moviefile = self.moviefile
     else:
         moviefile = os.path.join(self.tempdir,
                                  'pyvnc2swf-%d%s' % (os.getpid(), ext))
     self.info.filename = moviefile
     self.fp = None
     if self.outtype == 'vnc' or self.outtype == 'novnc':
         self.fp = file(self.info.filename, 'wb')
         self.client = RFBNetworkClientForRecordingWithTk(
             self.host,
             self.port,
             self.fp,
             pwdfile=self.pwdfile,
             preferred_encoding=self.preferred_encoding,
             debug=self.debug,
             outtype=self.outtype,
             info=self.info)
         self.stream = None
     else:
         self.stream = StreamFactory(self.outtype)(self.info)
         self.client = RFBNetworkClientWithTk(
             self.host,
             self.port,
             RFBStreamConverter(self.info, self.stream),
             pwdfile=self.pwdfile,
             preferred_encoding=self.preferred_encoding)
     self.set_status()
     return True
Exemplo n.º 2
0
def vnc2swf(info,
            outtype='swf5',
            host='localhost',
            port=5900,
            preferred_encoding=(0, ),
            subprocess=None,
            pwdfile=None,
            vncfile=None,
            debug=0,
            merge=False):
    fp = None
    if outtype == 'vnc' or outtype == 'novnc':
        if info.filename == '-':
            fp = sys.stdout
        else:
            fp = file(info.filename, 'wb')
        client = RFBNetworkClientForRecording(
            host,
            port,
            fp,
            pwdfile=pwdfile,
            preferred_encoding=preferred_encoding,
            debug=debug,
            outtype=outtype,
            info=info)
    else:
        stream = StreamFactory(outtype)(info, debug=debug)
        converter = RFBStreamConverter(info, stream, debug=debug)
        if vncfile:
            client = RFBFileParser(vncfile, converter, debug=debug)
        else:
            client = RFBNetworkClient(host,
                                      port,
                                      converter,
                                      pwdfile=pwdfile,
                                      preferred_encoding=preferred_encoding,
                                      debug=debug)
    try:
        client.init().auth().start()
    except socket.error, e:
        print >> stderr, 'Socket error:', e