Пример #1
0
 def get_most_used_room_week(self, query, week_start,
                             week_end):  # noqa: E501
     """ Get analytics for most used room per week
      :params
         - calendar_id
         - week_start, week_end(Time range)
     """
     week_start = CommonAnalytics.convert_date(self, week_start)
     week_end = CommonAnalytics.convert_date(self, week_end)
     rooms_available = CommonAnalytics.get_calendar_id_name(self, query)
     res = []
     number_of_most_events = 0
     for room in rooms_available:
         calendar_events = CommonAnalytics.get_all_events_in_a_room(
             self, room['calendar_id'], week_start, week_end)
         output = []
         if not calendar_events:
             output.append({'RoomName': room['name'], 'has_events': False})
             number_of_most_events = 0
         else:
             for event in calendar_events:
                 event_details = CommonAnalytics.get_event_details(
                     self, event, room['calendar_id'])
                 output.append(event_details)
             if len(output) > number_of_most_events:
                 number_of_most_events = len(output)
         res.append(output)
     analytics = CommonAnalytics.get_room_statistics(
         self, number_of_most_events, res)
     return analytics
Пример #2
0
 def get_most_used_rooms_analytics(self, query, start_date, end_date):  # noqa: E501
     """ Get analytics for most used room
      :params
         - query
         - start_date, end_date(Time range)
     """
     events_in_rooms, number_of_meetings = RoomAnalytics.get_events_number_meetings_room_analytics(  # noqa: E501
         self, query, start_date, end_date)
     analytics = CommonAnalytics.get_room_statistics(
         self, max(number_of_meetings), events_in_rooms)
     return analytics
Пример #3
0
    def get_most_used_room_per_month(self, query, month, year):
        """ Get analytics for the MOST used room(s) per morth in a location
         :params
            - month, year
        """
        get_monthly_events = RoomAnalytics.get_monthly_rooms_events(
            self, query, month, year)
        rooms_with_max_events = max(get_monthly_events['room_events_count'])
        res = get_monthly_events['events_in_all_rooms']

        analytics = CommonAnalytics.get_room_statistics(
            self, rooms_with_max_events, res)
        return analytics
Пример #4
0
    def get_least_used_rooms(self, rooms_available, time_start, time_end):

        res = []
        number_of_least_events = float('inf')
        for room in rooms_available:
            calendar_events = CommonAnalytics.get_all_events_in_a_room(
                self, room['calendar_id'], time_start, time_end)
            output = []
            if not calendar_events:
                output.append({'RoomName': room['name'], 'has_events': False})
                number_of_least_events = 0
            for event in calendar_events:
                if event.get('attendees'):
                    event_details = CommonAnalytics.get_event_details(
                        self, event, room['calendar_id'])  # noqa: E501
                    output.append(event_details)
            if len(output) < number_of_least_events:
                number_of_least_events = len(output)
            res.append(output)
        analytics = CommonAnalytics.get_room_statistics(
            self, number_of_least_events, res)
        return analytics