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()
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()
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;
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)
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
def lap(): now = currentTimeMillis() maxObject.outlet(0, now - lap.startTime) lap.startTime = now
# 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()