Exemplo n.º 1
0
 def analyze(self, identifier, filename, body):
     if not self._session.has(identifier):
         return None
     if filename.endswith(".apk"):
         file = create_temp(body, ".apk")
         self._session.set(
             identifier,
             Session(filename, android.Apk(file, sh.Shared(False)),
                     Session.ANDROID))
     elif filename.endswith(".ipa"):
         file = create_temp(body, ".ipa")
         self._session.set(
             identifier,
             Session(filename, ios.Ipa(file, sh.Shared(False)),
                     Session.IOS))
     return self._session.get(identifier)
Exemplo n.º 2
0
def init_sim_envt():
    print('Initializing simulation environment.')

    # Create a shared object for sharing global information
    global_params = shared.Shared()

    # Object for printing messages
    writer_obj = textformat.Colors()
    global_params.writer_obj = writer_obj

    # Reading the settings file
    envt_params = settings.Settings('sim.config')
    global_params.envt_params = envt_params
    read_settings_status = envt_params.read_settings()
    if not read_settings_status:
        writer_obj.print_msg('WHITE', 'Error in the settings file.')
        return False, None

    # Parse the openstreetmap file and make appropriate dictionaries
    # for node points and ways
    node_dict, way_dict, bounds = xmlparser.parse_osm(envt_params.envt['Map'])

    # GUI parameters, i.e., translation and scaling factors
    global_params.gui_params['trans_factor'] = guicalc.translation_factor(
        bounds)
    global_params.gui_params['scale_factor'] = guicalc.scale_factor(
        bounds, 600, 600)

    # Create the simulator timer
    global_params.sim_tick, pix_unit, pix_multiplier = simtimer.create_sim_timer(
        bounds, global_params)
    global_params.gui_params['pix_unit'] = pix_unit
    global_params.gui_params['pix_multiplier'] = pix_multiplier

    # Compute junction delay points
    global_params.gui_params['delay_pixels'] = guicalc.compute_delay_pixels(
        global_params)

    # Compute pixel coordinates of nodes
    for node in node_dict:
        pix_cord = geocalc.geo_to_cart(node_dict[node]['cord'],
                                       global_params.gui_params)
        node_dict[node]['pixcord'] = pix_cord

    global_params.way_dict = way_dict
    global_params.node_dict = node_dict

    # Create the graph
    global_params.road_graph, available_road_types = graphops.create_graph(
        node_dict, way_dict)

    available_types = [u for u, v in available_road_types]
    for group_id in global_params.envt_params.groups:
        try:
            road_types = [
                int(x)
                for x in global_params.envt_params.groups[group_id]['Paths']
            ]
        except KeyError:
            continue
        for road_type in road_types:
            if road_type not in available_types:
                writer_obj.print_msg(
                    'RED', 'Invalid paths given for %s in \'sim.config\'.' %
                    (group_id))
                writer_obj.print_msg(
                    'WHITE',
                    'Available path types: %s.' % (str(available_road_types)))
                return False, None

    # Create GUI if 'GUI_Enabled' is set to True in 'sim.config'
    if envt_params.envt['GUI_Enabled']:
        gui_ob = gui.Gui('UDTN Simulator', global_params)
        global_params.gui_ob = gui_ob
        gui.set_sim_ctrl_variables(global_params)
        gui_ob.create_map(global_params)

    # Create a report directory
    report_status = report.create_report_directory(global_params)
    if not report_status:
        return False, None

    return True, global_params
    def __init__(self, handle):
        # pdb.set_trace()
        activity.Activity.__init__(self, handle)
        self.__logger = logging.getLogger('ClassroomPresenter')
        logging.basicConfig(level=logging.DEBUG,
                            format='%(asctime)s %(levelname)s %(message)s')
        self.__screens = []
        # Find our instance path
        self.__work_path = path(self.get_activity_root()) / 'instance'
        self.__save_path = path(self.get_activity_root()) / 'data'
        self.__deck_dir = self.__work_path / 'deck'
        bpth = path(activity.get_bundle_path())
        self.__rsrc_dir = bpth / 'resources'
        self.__handle = handle
        # Set up the main canvas
        self.__slide_view = Gtk.HBox()
        print 'enter set_canvas', self.__handle.object_id
        self.set_canvas(self.__slide_view)

        self.__deck = slideshow.Deck(
            self, handle, self.__rsrc_dir, self.__deck_dir)

        # Set up activity sharing
        self.__shared = shared.Shared(self, self.__deck, self.__work_path)

        # Create a renderer for slides
        self.__renderer = sliderenderer.Renderer(self, self.__deck)

        # Set up Main Viewer box
        self.__main_view_box = Gtk.VBox()
        self.__slide = slideviewer.SlideViewer(self.__deck, self.__renderer)
        self.__text_area = textarea.TextArea(self.__deck, self.__work_path)
        self.__image_chooser = listview.Listview(self, self.__deck)
        self.__slideshow_chooser = cpxoview.Cpxoview(self, self.__deck)
        self.__html_slide = Gtk.EventBox()
        self.__html_slide.set_size_request(600, 480)
        self.__main_view_box.pack_start(self.__slide, True, True, 5)
        self.__screens.append(self.__slide)
        self.__main_view_box.pack_start(self.__image_chooser, True, True, 5)
        self.__screens.append(self.__image_chooser)
        self.__main_view_box.pack_start(
            self.__slideshow_chooser, True, True, 5)
        self.__screens.append(self.__slideshow_chooser)
        self.__main_view_box.pack_start(self.__html_slide, True, True, 5)
        self.__screens.append(self.__html_slide)
        self.__main_view_box.pack_start(self.__text_area, False, False, 0)

        # Create our toolbars
        makeTB = toolbars.MakeToolBar(self, self.__deck)
        self.__makeTB = makeTB
        navTB = toolbars.NavToolBar(self, self.__shared, self.__deck)
        inkTB = toolbars.InkToolBar(self.__slide, self.__deck)

        # Create the standard activity toolbox; add our toolbars
        toolbar_box = ToolbarBox()
        self.set_toolbar_box(toolbar_box)

        toolbar = toolbar_box.toolbar

        activity_button = ActivityToolbarButton(self)
        toolbar_box.toolbar.insert(activity_button, 0)
        activity_button.show()

        presentation_toolbar_button = ToolbarButton(
            page=makeTB,
            icon_name='toolbar-edit'  # FIXME: change icon
        )

        toolbar_box.toolbar.insert(presentation_toolbar_button, -1)
        presentation_toolbar_button.show()

        navigation_toolbar_button = ToolbarButton(
            page=navTB,
            icon_name='toolbar-edit'  # FIXME: change icon
        )

        toolbar_box.toolbar.insert(navigation_toolbar_button, -1)
        navigation_toolbar_button.show()

        ink_toolbar_button = ToolbarButton(
            page=inkTB,
            icon_name='toolbar-edit'  # FIXME: change icon
        )

        toolbar_box.toolbar.insert(ink_toolbar_button, -1)
        ink_toolbar_button.show()

        separator = Gtk.SeparatorToolItem()
        separator.props.draw = False
        separator.set_expand(True)
        toolbar_box.toolbar.insert(separator, -1)
        separator.show()

        stop_button = StopButton(self)
        toolbar_box.toolbar.insert(stop_button, -1)
        stop_button.show()

        toolbar_box.show()

        # Set up the side scrollbar widget
        self.__side_bar = sidebar.SideBar(self.__deck, self.__renderer)
        self.__side_bar.set_size_request(225, 100)

        # Set up a separator for the two widgets
        separator = Gtk.VSeparator()

        # Pack widgets into main window
        self.__slide_view.pack_start(self.__main_view_box, True, True, 0)
        self.__slide_view.pack_start(separator, False, False, 5)
        self.__slide_view.pack_start(self.__side_bar, False, False, 0)

        # Show all widgets
        self.__slide_view.show_all()
        self.__main_view_box.show()
        self.__slide.show()
        self.__text_area.show()
        self.__image_chooser.hide()
        self.__slideshow_chooser.hide()
        # self.__html_viewer.hide()
        separator.show()
        self.__side_bar.show_all()

        # Set up the progress view
        self.__progress_max = 1.0
        self.__progress_cur = 0.01
        self.__progress_view = Gtk.VBox()
        self.__progress_lbl = Gtk.Label("Loading slide deck...")
        self.__progress_bar = Gtk.ProgressBar()
        self.__progress_view.pack_start(self.__progress_lbl, True, False, 5)
        #self.__progress_view.pack_start(self.__progress_bar, False, False, 5)
        self.__progress_bar.set_fraction(
            self.__progress_cur / self.__progress_max)

        self.__shared.connect('deck-download-complete', self.dl_complete_cb)
Exemplo n.º 4
0
    def __init__(self, handle):
        #pdb.set_trace()
        activity.Activity.__init__(self, handle)
        self.__logger = logging.getLogger('ClassroomPresenter')
        logging.basicConfig(level=logging.DEBUG,
                            format='%(asctime)s %(levelname)s %(message)s')
        self.__screens = []
        # Find our instance path
        self.__work_path = path(self.get_activity_root()) / 'instance'
        self.__save_path = path(self.get_activity_root()) / 'data'
        self.__deck_dir = self.__work_path / 'deck'
        bpth = path(activity.get_bundle_path())
        self.__rsrc_dir = bpth / 'resources'
        self.__handle = handle
        # Set up the main canvas
        self.__slide_view = gtk.HBox()
        print 'enter set_canvas', self.__handle.object_id
        self.set_canvas(self.__slide_view)

        self.__deck = slideshow.Deck(self, handle, self.__rsrc_dir,
                                     self.__deck_dir)

        # Set up activity sharing
        self.__shared = shared.Shared(self, self.__deck, self.__work_path)

        # Create a renderer for slides
        self.__renderer = sliderenderer.Renderer(self, self.__deck)

        # Set up Main Viewer box
        self.__main_view_box = gtk.VBox()
        self.__slide = slideviewer.SlideViewer(self.__deck, self.__renderer)
        self.__text_area = textarea.TextArea(self.__deck, self.__work_path)
        self.__image_chooser = listview.Listview(self, self.__deck)
        self.__slideshow_chooser = cpxoview.Cpxoview(self, self.__deck)
        self.__html_slide = gtk.EventBox()
        self.__html_slide.set_size_request(600, 480)
        self.__main_view_box.pack_start(self.__slide, True, True, 5)
        self.__screens.append(self.__slide)
        self.__main_view_box.pack_start(self.__image_chooser, True, True, 5)
        self.__screens.append(self.__image_chooser)
        self.__main_view_box.pack_start(self.__slideshow_chooser, True, True,
                                        5)
        self.__screens.append(self.__slideshow_chooser)
        self.__main_view_box.pack_start(self.__html_slide, True, True, 5)
        self.__screens.append(self.__html_slide)
        self.__main_view_box.pack_start(self.__text_area, False, False, 0)

        # Create our toolbars
        makeTB = toolbars.MakeToolBar(self, self.__deck)
        self.__makeTB = makeTB
        navTB = toolbars.NavToolBar(self, self.__shared, self.__deck)
        inkTB = toolbars.InkToolBar(self.__slide, self.__deck)

        # Create the standard activity toolbox; add our toolbars
        toolbox = activity.ActivityToolbox(self)
        toolbox.add_toolbar("Presentation", makeTB)
        toolbox.add_toolbar("Navigation", navTB)
        toolbox.add_toolbar("Ink", inkTB)
        self.set_toolbox(toolbox)
        toolbox.show()
        self.__toolbox = toolbox

        # Open with slideshow toolbar
        toolbox.set_current_toolbar(SLIDESHOW_TOOLBAR)

        # Set up the side scrollbar widget
        self.__side_bar = sidebar.SideBar(self.__deck, self.__renderer)
        self.__side_bar.set_size_request(225, 100)

        # Set up a separator for the two widgets
        separator = gtk.VSeparator()

        # Pack widgets into main window
        self.__slide_view.pack_start(self.__main_view_box, True, True, 0)
        self.__slide_view.pack_start(separator, False, False, 5)
        self.__slide_view.pack_start(self.__side_bar, False, False, 0)

        # Show all widgets
        self.__slide_view.show_all()
        self.__main_view_box.show()
        self.__slide.show()
        self.__text_area.show()
        self.__image_chooser.hide()
        self.__slideshow_chooser.hide()
        #self.__html_viewer.hide()
        separator.show()
        self.__side_bar.show_all()

        # Set up the progress view
        self.__progress_max = 1.0
        self.__progress_cur = 0.01
        self.__progress_view = gtk.VBox()
        self.__progress_lbl = gtk.Label("Loading slide deck...")
        self.__progress_bar = gtk.ProgressBar()
        self.__progress_view.pack_start(self.__progress_lbl, True, False, 5)
        #self.__progress_view.pack_start(self.__progress_bar, False, False, 5)
        self.__progress_bar.set_fraction(self.__progress_cur /
                                         self.__progress_max)

        self.__shared.connect('deck-download-complete', self.dl_complete_cb)

        #if launched by Learn, set up deck
        pth = path('/tmp/showntell')
        if pth.exists():
            #open slideshow, set Navigation toolbar current
            fin = open(pth, 'r')
            fn = fin.read()
            fin.close()
            self.read_file(fn)
            self.set_screen(0)
            subprocess.call('rm -rf ' + pth, shell=True)
Exemplo n.º 5
0
 def __init__(self, filename, plugin, plugin_name):
     super(Session, self).__init__()
     self._plugin = plugin
     self._filename = sh.Shared(filename)
     self._plugin_name = sh.Shared(plugin_name)
     self._error = sh.Shared(None)
Exemplo n.º 6
0
def start_share():
    sharedFile=shared.Shared()
    return sharedFile