예제 #1
0
def run(title):
    gd = ij.gui.GenericDialog('Record Desktop')
    gd.addNumericField('Max. frames:', 50, 0)
    gd.addNumericField('Milisecond interval:', 300, 0)
    gd.addSlider('Start in (seconds):', 0, 20, 5)
    gd.showDialog()
    if gd.wasCanceled():
        return
    n_frames = int(gd.getNextNumber())
    interval = gd.getNextNumber() / 1000.0  # in seconds
    delay = int(gd.getNextNumber())

    snaps = []

    try:
        while delay > 0:
            ij.IJ.showStatus('Starting in ' + str(delay) + 's.')
            time.sleep(1)  # one second
            delay -= 1
        ij.IJ.showStatus('')
        ij.IJ.showStatus("Starting...")
        out.println("Starting...")
        # start capturing
        robot = Robot()
        box = Rectangle(ij.IJ.getScreenSize())
        start = currentTimeMillis() / 1000.0  # in seconds
        last = start
        intervals = []
        real_interval = 0
        # Initial shot
        snaps.append(robot.createScreenCapture(box))
        while len(snaps) < n_frames and last - start < n_frames * interval:
            now = currentTimeMillis() / 1000.0  # in seconds
            real_interval = now - last
            if real_interval >= interval:
                last = now
                snaps.append(robot.createScreenCapture(box))
                intervals.append(real_interval)
            else:
                time.sleep(interval / 5)  # time in seconds
        # Create stack
        out.println("End")
        awt = snaps[0]
        stack = ij.ImageStack(awt.getWidth(None), awt.getHeight(None), None)
        t = 0
        for snap, real_interval in zip(snaps, intervals):
            stack.addSlice(str(ij.IJ.d2s(t, 3)),
                           ij.ImagePlus('', snap).getProcessor())
            snap.flush()
            t += real_interval

        ImagePlus("Desktop recording", stack).show()
    except Exception, e:
        print "Some error ocurred:"
        print e
        for snap in snaps:
            snap.flush()
예제 #2
0
def run(title):
	gd = ij.gui.GenericDialog('Record Desktop')
	gd.addNumericField('Max. frames:', 50, 0)
	gd.addNumericField('Milisecond interval:', 300, 0)
	gd.addSlider('Start in (seconds):', 0, 20, 5)
	gd.showDialog()
	if gd.wasCanceled():
		return
	n_frames = int(gd.getNextNumber())
	interval = gd.getNextNumber() / 1000.0 # in seconds
	delay = int(gd.getNextNumber())
	
	snaps = []

	try:
		while delay > 0:
			ij.IJ.showStatus('Starting in ' + str(delay) + 's.')
			time.sleep(1) # one second
			delay -= 1
		ij.IJ.showStatus('')
		ij.IJ.showStatus("Starting...")
		out.println("Starting...")
		# start capturing
		robot = Robot()
		box = Rectangle(ij.IJ.getScreenSize())
		start = currentTimeMillis() / 1000.0 # in seconds
		last = start
		intervals = []
		real_interval = 0
		# Initial shot
		snaps.append(robot.createScreenCapture(box))
		while len(snaps) < n_frames and last - start < n_frames * interval:
			now = currentTimeMillis() / 1000.0 # in seconds
			real_interval = now - last
			if real_interval >= interval:
				last = now
				snaps.append(robot.createScreenCapture(box))
				intervals.append(real_interval)
			else:
				time.sleep(interval / 5) # time in seconds
		# Create stack
		out.println("End")
		awt = snaps[0]
		stack = ij.ImageStack(awt.getWidth(None), awt.getHeight(None), None)
		t = 0
		for snap,real_interval in zip(snaps,intervals):
			stack.addSlice(str(ij.IJ.d2s(t, 3)), ij.ImagePlus('', snap).getProcessor())
			snap.flush()
			t += real_interval

		ImagePlus("Desktop recording", stack).show()
	except Exception, e:
		print "Some error ocurred:"
		print e
		for snap in snaps: snap.flush()
예제 #3
0
 def findKnownItems(self, itemName, timeToLook=0.0):
     now = currentTimeMillis() / 1000.0
     stop = now + timeToLook
     value = []
     while now < stop and not value:
         #look through each property and if the property is marked as a regular expressing convert the property to a regular expression object
         obj_props = map(lambda x: RegularExpression(x[6:], True) if x.lower().startswith("regex=") else x, self.super__getItemPropertiesAsArray(itemName))
         value = self.super__getActionLib().findObjects(self.super__getBaseObject(), obj_props)
         now = currentTimeMillis() / 1000.0
         
     return value;
예제 #4
0
파일: quote.py 프로젝트: zhihuwang/jwutils
def addquote(sink, arguments, context):
    """
    Syntax: {addquote|<group>|<quote>} -- Adds a new quote to the specified
    group. This function then evaluates to the number that the new quote
    was assigned. Numbering starts at 1 for blank groups. Groups must already
    be present in the quote system configuration before quotes can be added
    to them; see ~config global quote. If the specified quote is empty, a
    ResponseException will be thrown.
    """
    quotegroup = arguments.resolveString(0)
    quotetext = arguments.resolveString(1)
    if quotetext.strip() == "":
        raise FactoidException("You can't add an empty quote")
    with quote_lock:
        if not quotegroup in Configuration.getText(None, 
                             "quote/groupnames").split(" "):
            raise FactoidException("The group " + quotegroup
                                 + " does not exist.")
        next_id_result = execute("select nextquote from quotesequence where "
                                 "quotegroup = ?", [quotegroup]).fetchone()
        if next_id_result is None:
            next_id_result = 0
            execute_commit("insert into quotesequence values (?, 0)", [quotegroup])
        else:
            next_id_result = next_id_result[0]
        next_id_result += 1
        execute_commit("update quotesequence set nextquote = ? where quotegroup = ?",
                [next_id_result, quotegroup])
        execute_commit("insert into quotes values(?, ?, ?, ?)", [quotegroup,
                next_id_result, quotetext, False])
        add_quote_info(quotegroup, next_id_result, 
                       nick=context.getSender().getNick(), 
                       user=context.getSender().getUsername(), 
                       host=context.getSender().getHostname(), 
                       server=context.getSender().getServerName(), 
                       scope=context.getCanonicalName(),
                       date=str(currentTimeMillis()))
        sink.write(next_id_result)
예제 #5
0
 def bypassNSEPA(self, NSC_EPAC_cookie, service_info):
     # Current time in seconds
     date = str(currentTimeMillis() / 1000)
     # Message Headers from nsepa
     headers = [
         "X-Citrix-NG-Capabilities: extcookie,",
         "Cookie: NSC_EPAC=" + NSC_EPAC_cookie, "Date: " + date,
         "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; AGEE 8.0;) NAC/1.0 plugin 12.1.52.15",
         "Cache-Control: no-cache", "Connection: close"
     ]
     epatype_response = self.do_request("/epatype", headers, service_info)
     epatype_response_info = self._helpers.analyzeResponse(epatype_response)
     epatype_responseBody = self._helpers.bytesToString(
         epatype_response[epatype_response_info.getBodyOffset():])
     if "Epa:on" in epatype_responseBody:
         epaq_response = self.do_request("/epaq", headers, service_info)
         epaq_response_info = self._helpers.analyzeResponse(epaq_response)
         CSEC = self.get_CSEC_value_from_response(epaq_response_info)
         if CSEC:
             #Decrypt CSEC request and get encrypted response
             #str convert values from utf-8
             CSEC_response = self.get_CSEC_response(
                 str(NSC_EPAC_cookie), date, str(service_info.getHost()),
                 CSEC)
             if CSEC_response:
                 headers.append("CSEC: " + CSEC_response)
                 epas_response = self.do_request("/epas", headers,
                                                 service_info)
                 epas_response_info = self._helpers.analyzeResponse(
                     epas_response)
                 #TODO: Decrypt repose Body
                 return True
         else:
             print "[-] No CSEC value found in /epaq response"
             return False
     return False
예제 #6
0
def lap():
    now = currentTimeMillis()

    maxObject.outlet(0, now - lap.startTime)
    lap.startTime = now
예제 #7
0
#	Very simple lap timer

from java.lang.System import currentTimeMillis


def lap():
    now = currentTimeMillis()

    maxObject.outlet(0, now - lap.startTime)
    lap.startTime = now


lap.startTime = currentTimeMillis()
예제 #8
0
def lap():
    now = currentTimeMillis()
	
    maxObject.outlet(0, now - lap.startTime)
    lap.startTime = now
예제 #9
0
#	Very simple lap timer

from java.lang.System import currentTimeMillis

def lap():
    now = currentTimeMillis()
	
    maxObject.outlet(0, now - lap.startTime)
    lap.startTime = now

lap.startTime = currentTimeMillis()