def run(x): gl.clearLog() project = Application.getInstance().getProjectsManager().getActiveProject() SEM = project.getSymbolElementMap() possibilities = None id = JOptionPane.showInputDialog( None, "Element ID", "Find Element", JOptionPane.PLAIN_MESSAGE, None, possibilities, None) if id and len(id)>0: id = id.strip() id = id.lstrip("sig") gl.log("looking for %s" % id) try: element = project.getElementByID(id) except: MPUtils.handleException("Can't find an element matching this ID.") return if not element: gl.log("Can't find element matching this ID.") return gl.log("Found Element with ID = " + str(id) + ": ") try: gl.log(" Name: %s" % element.name) except: try: gl.log(" HumanName: %s" % element.humanName) except: pass gl.log(" Type: %s" % element.humanType) try: symbols = SEM.getAllPresentationElements(element) except: MPUtils.handleException("Can't find symbols matching this ID.") return if symbols: if len(symbols)>1: for s in symbols: if s: gl.log("MULTIPLE SYMBOLS!! " + str(s) + " in diagram " + str(s.getDiagramPresentationElement())) else: gl.log("MULTIPLE SYMBOLS!! " + str(s) ) gl.log("choosing first symbol") if len(symbols)>0: sym = symbols[0] if sym: diagram = sym.getDiagramPresentationElement() diagram.open() sym.setSelected(True) else: gl.log("wtf?") else: gl.log("No symbols found for componentId=" + str(id)) else: gl.log("barrrf")
def run(self): global filepath try: mode = 0 if mode == 0: mda = MagicDrawAnimatorUtils2.MagicDrawAnimator2() #filepath = "c:\\Users\\bclement\\Desktop\\medium2.txt" #filepath = "c:\\Users\\bclement\\git\\bae\\simulationSnapshot.Scenario_Smaller_2012.txt" #filepath = "c:\\Users\\bclement\\git\\bae\\Smaller2012_2.console.txt" #filepath = "/Users/mjackson/Desktop/MedSim.txt" gl.log("default filepath = %s" % filepath) #possibilities = None filepath = JOptionPane.showInputDialog( None, "Element ID", "Find Element", JOptionPane.PLAIN_MESSAGE, None, None, filepath) gl.log("reading events from " + filepath) try: f = open(filepath,"r") except: gl.log("can't find file @ %s" % filepath) return lastTime = 0 elementsNotEnded = [] for line in f.readlines(): #gl.log("read line = " + line) #x = re.search(" (\S*) -> (\S*)\s*(\S*) ==>",line) x = re.search("(\d*)[^0-9: \t\n\r\f\v]*\s*:\s*\S*\s*(\S*) -> (\S*)\s*(\S*) ==>",line) y = re.search("(\S*) -> (\S*)\s*(\S*) ==>",line) if x: eventTime=x.groups()[0] action=x.groups()[2] cid = x.groups()[3] ctype = x.groups()[1] elif y: eventTime=lastTime action=y.groups()[1] cid = y.groups()[2] ctype = y.groups()[0] elif line.startswith("---"): gl.log(line) continue else: continue if eventTime != lastTime: mda.doThePaint() lastTime = eventTime time.sleep(self.timeStep) gl.log("%s: %s %s (%s)" % (eventTime, action.upper(), cid, ctype)) if any([x in cid for x in ["Main","TimeVaryingMap"]]): gl.log(" ---> Skipping - can't animate Main or TimeVaryingMap") continue if re.search("(_)?Activity(_.*)?(?!\S)",ctype): gl.log(" ---> Skipping - can't animate the Activity object!") continue if ctype.startswith("sig") and "ObjectFlow" in cid: sid = ctype.strip("sig") if "null" in action and sid in elementsNotEnded: gl.log(" ---> ENDING SIGNAL %s" % sid) mda.end(sid) elementsNotEnded.remove(sid) elif "null" not in action: gl.log(" ---> STARTING SIGNAL %s" % sid) mda.start(sid) if sid not in elementsNotEnded: elementsNotEnded.append(sid) elif "start" in action: gl.log(" ---> STARTING") mda.start(cid) if cid not in elementsNotEnded: elementsNotEnded.append(cid) elif "end" in action: gl.log(" ---> ENDING") mda.end(cid) if cid in elementsNotEnded: elementsNotEnded.remove(cid) time.sleep(self.timeStep) mda.doThePaint() gl.log("sleeping 3 seconds before reset") time.sleep(3) for sig in elementsNotEnded: gl.log("ending %s " % sig) mda.end(sig) mda.doThePaint() elif mode == 1: e = "_17_0_5_edc0357_1346893970422_843838_14398" mda = MagicDrawAnimatorUtils2.MagicDrawAnimator2() gl.log("Starting e (%s)" % e) mda.start(e) i = 3 while i > 0: i-=1 gl.log(".") time.sleep(self.timeStep) gl.log("ending e") mda.end(e) mda.doThePaint() except: MPUtils.handleException()
# -*- coding: utf-8 -*- # https://github.com/mogira/MP4Pythonista from __future__ import print_function, unicode_literals from objc_util import ObjCClass from DBGUtils import * import MPUtils if __name__ == '__main__': MPUtils.init() printItemCollections(MPUtils.getNowPlayingQueue()) player = MPUtils.getPlayer() mq = ObjCClass('MPMediaQuery').songsQuery() f0 = MPUtils.createFilter('isCloudItem', False) mq.addFilterPredicate(f0) player.setQueueWithQuery(mq) player.prepareToPlay() #player.play() print('↑ will be rewrited to ↓\n') printItemCollections(player.queueAsQuery().items())