Esempio n. 1
0
    def data_export(self):

        session_export_dict = OrderedDict()

        for key, f in [
                ('Start date', lambda: self.date_started),
                ('Session ID', lambda: self.uid),
                ('Attempt', lambda: self.attempt),
                ('Last activity', lambda: self.last_activity),
                ('Status', lambda: self.status)
        ]:

            session_export_dict, exception_raised, exception_msg\
                = safe_export_data(session_export_dict, key, f)

            if exception_raised:
                logger.warning(exception_msg)


        export_dict = OrderedDict()

        for key, f in [
            ('Experiment session', lambda: session_export_dict),
            ('Subject information', lambda: self.subject.profile_export()),
            ('Live sessions', lambda: self.live_session_data_export()),
            ('Playlist information', lambda: self.playlist_session.data_export())
        ]:

            export_dict, exception_raised, exception_msg\
                = safe_export_data(export_dict, key, f)

            if exception_raised:
                logger.warning(exception_msg)

        return export_dict
Esempio n. 2
0
    def data_export(self):

        """
        Export all of the general information related to this experiment
        version. 
        """

        export_dict = OrderedDict()

        for key, f in [
            ('Label', lambda: self.label),
            ('Release note', lambda: self.release_note),
            ('Playlist uid', lambda: self.playlist.uid),
            ('Repository', lambda: self.archive.repository.name),
            ('Repository path', lambda: self.archive.repository.path),
            ('Repository remote', lambda: self.archive.repository.remote_server),
            ('Commit hash', lambda: self.archive.commit_hash),
            ('Commit date', lambda: self.archive.commit_date)]:

            export_dict, exception_raised, exception_msg\
                = safe_export_data(export_dict, key, f)

            if exception_raised:
                logger.warning(exception_msg)

        return export_dict
Esempio n. 3
0
    def data_export(self, to_json=True):

        export_dict = super(SessionTetris, self).data_export()

        for key, f in [("score", lambda: self.score)]:

            export_dict, exception_raised, exception_msg = safe_export_data(export_dict, key, f)

            if exception_raised:
                logger.warning(exception_msg)

        return export_dict
    def data_export(self):

        export_dict = super(SessionWidget, self).data_export()

        for key, f in [
                (data_export_conf.object_type, 
                 lambda: data_export_conf.widget_type),
                (data_export_conf.object_name,
                 lambda: self.widget.widgettype.name)
        ]:
            
            export_dict, exception_raised, exception_msg\
                = safe_export_data(export_dict, key, f)

            if exception_raised:
                logger.warning(exception_msg)

        return export_dict
Esempio n. 5
0
    def get_server_info(self):

        export_dict = OrderedDict()

        for key, f in [
                ('Platform', lambda: OrderedDict(self.platform_info)), # Remove this.
                ('Python', lambda: OrderedDict(self.python_info)),
                ('Pip requirements', lambda: self.pip_info),
                ('Wilhelm version', lambda: self.wilhelm_info),
        ]:

            export_dict, exception_raised, exception_msg\
                = safe_export_data(export_dict, key, f)

            if exception_raised:
                logger.warning(exception_msg)

        return export_dict
    def data_export(self, to_json=True):

        export_dict = super(SessionWordRecallTest, self).data_export()

        for key, f in [
                (bartlett_data_export.word_recall_option_length, 
                 lambda: self.widget.option_length),
                (bartlett_data_export.word_recall_test_data,
                 lambda: self.recalledwords)]:


            export_dict, exception_raised, exception_msg\
                = safe_export_data(export_dict, key, f)

            if exception_raised:
                logger.warning(exception_msg)

        return export_dict
    def data_export(self):

        export_dict = super(SessionSlide, self).data_export()

        for key, f in [
                (data_export_conf.object_type, lambda: data_export_conf.slide_type),
                (data_export_conf.object_name, lambda: self.slide.slide_type.name),
                ('slide_live_session', lambda: self.live_session.uid),
                (data_export_conf.slide_widgets, 
                 lambda: [session_widget.data_export() 
                          for session_widget in self.get_session_widgets()])]:

            export_dict, exception_raised, exception_msg\
                = safe_export_data(export_dict, key, f)

            if exception_raised:
                logger.warning(exception_msg)

        return export_dict
    def data_export(self):

        """
        Export SessionWordRecognitionTest data.

        """

        export_dict = super(SessionWordRecognitionTest, self).data_export()

        key = bartlett_data_export.word_recognition_test_data
        f = lambda: self.response_data_denormalized

        export_dict, exception_raised, exception_msg\
            = safe_export_data(export_dict, key, f)

        if exception_raised:
            logger.warning(exception_msg)

        return export_dict
Esempio n. 9
0
    def data_export(self):

        export_dict = OrderedDict()

        for key, f in [
            (data_export_conf.experiment, lambda: self.class_name),
            (data_export_conf.experiment_name, lambda: self.name),
            (data_export_conf.experiment_title, lambda: self.title),
            (data_export_conf.experiment_date_created, lambda: self.date_created),
            (data_export_conf.experiment_max_attempts, lambda: self.attempts),
            (data_export_conf.experiment_live, lambda: self.live),
        ]:

            export_dict, exception_raised, exception_msg\
                = safe_export_data(export_dict, key, f)

            if exception_raised:
                logger.warning(exception_msg)

        return export_dict
Esempio n. 10
0
    def get_ip_geoip_info(self):

        export_dict = OrderedDict()

        for key, f in [
                #('IP address', lambda: self.ip_address), # Remove this.
                ('city', lambda: self.city),
                ('country', lambda: self.country_name),
                ('country code', lambda: self.country_code),
                ('country code alt', lambda: self.country_code_alt),
                ('longitude', lambda: self.longitude), # Remove this.
                ('latitude', lambda: self.latitude), # Remove this.
        ]:

            export_dict, exception_raised, exception_msg\
                = safe_export_data(export_dict, key, f)

            if exception_raised:
                logger.warning(exception_msg)

        return export_dict
Esempio n. 11
0
    def get_user_agent_info(self):

        def browser(self):

            if self.ua_browser is None:
                return None

            if self.ua_browser_version is not None:
                return self.ua_browser + ' ' + self.ua_browser_version

        def the_os(self):

            if self.ua_os is None:
                return None

            if self.ua_os_version is not None:
                return self.ua_os + ' ' + self.ua_os_version

        export_dict = OrderedDict()

        for key, f in [
                ('user-agent', lambda: self.ua_string_pp),
                ('user-agent string', lambda: self.ua_string),
                ('browser', lambda: browser(self)),
                ('operating system', lambda: the_os(self)),
                ('device', lambda: self.ua_device),
                ('is_mobile', lambda: self.ua_is_mobile),
                ('is_tablet', lambda: self.ua_is_tablet),
                ('is_touch_capable', lambda: self.ua_is_touch_capable),
                ('is_pc', lambda: self.ua_is_pc),
                ('is_bot', lambda: self.ua_is_bot),
        ]:

            export_dict, exception_raised, exception_msg\
                = safe_export_data(export_dict, key, f)

            if exception_raised:
                logger.warning(exception_msg)

        return export_dict
    def data_export(self):

        """
        Export SessionWordlistDisplay data.

        """

        export_dict = super(SessionWordlistDisplay, self).data_export()

        for key, f in [('isi', lambda: self.widget.isi), 
                       ('FadeInDuration', lambda: self.widget.fadeInDuration),
                       ('FadeOutDuration', lambda: self.widget.fadeOutDuration),
                       ('stimulusDuration', lambda: self.widget.stimulusDuration),
                       ('wordlist items', lambda: self.wordlist)]:

            export_dict, exception_raised, exception_msg\
                = safe_export_data(export_dict, key, f)

            if exception_raised:
                logger.warning(exception_msg)

        return export_dict
    def data_export(self):

        """
        Return all session slides from this session playlist.

        """
        export_dict = super(SessionPlaylist, self).data_export()

        for key, f in [
                (data_export_conf.object_type, lambda: data_export_conf.playlist_type),
                (data_export_conf.object_name, lambda: 'Generic playlist'),
                (data_export_conf.playlist_slides, 
                 lambda: [element.session_slide.data_export() 
                         for element in self.filter_SlideAndPlaylistJoinModel])
        ]:
            
            export_dict, exception_raised, exception_msg\
                = safe_export_data(export_dict, key, f)

            if exception_raised:
                logger.warning(exception_msg)

        return export_dict
Esempio n. 14
0
    def data_export(self, experiment_version):

        """
        Return all the data from experiment version with label
        `experiment_version_label`.

        """

        export_dict = OrderedDict()

        key = 'Sessions'
        f = lambda: [experiment_session.data_export()
                     for experiment_session 
                     in self.get_all_experiment_version_sessions(experiment_version)]

        export_dict, exception_raised, exception_msg\
            = safe_export_data(export_dict, key, f)

        if exception_raised:
            logger.warning(exception_msg)

        # TODO (Sun 09 Aug 2015 16:32:29 BST): Export a dict, not a value of a dict
        return export_dict['Sessions'] 
Esempio n. 15
0
    def data_export(self):

        export_dict = super(SessionTextDisplay, self).data_export()

        for key, f in [
            ("Text ID", lambda: self.widget.text_uid),
            ("Title", lambda: self.widget.title),
            ("Text", lambda: self.widget.text),
            ("Text abbreviated", lambda: abbreviate_text(self.widget.text)),
            ("Text checksum", lambda: self.widget.text_checksum),
            ("Minimum reading time", lambda: self.widget.minimum_reading_time),
            ("Maximum reading_time", lambda: self.widget.maximum_reading_time),
            ("Text display start datetime", lambda: self.text_display_start),
            ("Text display stop datetime", lambda: self.text_display_stop),
            ("Reading time", lambda: self.reading_time),
        ]:

            export_dict, exception_raised, exception_msg = safe_export_data(export_dict, key, f)

            if exception_raised:
                logger.warning(exception_msg)

        return export_dict
    def data_export(self):

        export_dict = OrderedDict()

        for key, f in [
                (data_export_conf.object_type, lambda: 'Unknown'),
                (data_export_conf.object_name, lambda: 'Name'),
                (data_export_conf.object_initialized, lambda: self.initialized),
                (data_export_conf.object_initialization_time, 
                 lambda: self.datetime_initialized),
                (data_export_conf.object_started, lambda: self.started),
                (data_export_conf.object_start_time, lambda: self.datetime_started),
                (data_export_conf.object_completed, lambda: self.completed),
                (data_export_conf.object_completed_time, 
                 lambda: self.datetime_completed)
        ]:

            export_dict, exception_raised, exception_msg\
                = safe_export_data(export_dict, key, f)

            if exception_raised:
                logger.warning(exception_msg)

        return export_dict