Ejemplo n.º 1
0
    def setUp(self):
        self.login()
        site = Site.objects.get()
        page = Page.get_first_root_node()
        home = HomePage(title='New America')
        self.home_page = page.add_child(instance=home)
        self.root_page = Page.objects.get(id=1)

        site.root_page = home
        site.save()

        all_events_home_page = self.home_page.add_child(
            instance=AllEventsHomePage(title="Events"))

        self.program_page = self.home_page.add_child(
            instance=Program(title='OTI',
                             name='OTI',
                             description='OTI',
                             location=False,
                             depth=3))
        self.program_articles_page = self.program_page.add_child(
            instance=ProgramArticlesPage(title='Program Articles'))
        self.article = self.program_articles_page.add_child(
            instance=Article(title='Article 1', date='2016-02-02'))
        self.article.save()

        self.program_events_page = self.program_page.add_child(
            instance=ProgramEventsPage(title='OTI Events', slug='oti-events'))
        self.today_event = self.program_events_page.add_child(
            instance=Event(title='Today Event',
                           date=str(date.today()),
                           rsvp_link='http://www.newamerica.org',
                           soundcloud_url='http://www.newamerica.org'))
        self.future_event_morning = self.program_events_page.add_child(
            instance=Event(title='Future Event',
                           date=str(date.today() + timedelta(days=5)),
                           start_time=str((datetime.datetime.now() -
                                           timedelta(hours=5)).time()),
                           rsvp_link='http://www.newamerica.org',
                           soundcloud_url='http://www.newamerica.org'))
        self.future_event_afternoon = self.program_events_page.add_child(
            instance=Event(title='Future Event',
                           date=str(date.today() + timedelta(days=5)),
                           start_time=str((datetime.datetime.now() +
                                           timedelta(hours=5)).time()),
                           rsvp_link='http://www.newamerica.org',
                           soundcloud_url='http://www.newamerica.org'))
        self.past_event = self.program_events_page.add_child(
            instance=Event(title='Past Event',
                           date=str(date.today() - timedelta(days=5)),
                           rsvp_link='http://www.newamerica.org',
                           soundcloud_url='http://www.newamerica.org'))
        self.today_early_morning_event = self.program_events_page.add_child(
            instance=Event(title='Early Morning Event',
                           date=str(date.today()),
                           start_time=str((datetime.datetime.now() -
                                           timedelta(hours=5)).time()),
                           rsvp_link='http://www.newamerica.org',
                           soundcloud_url='http://www.newamerica.org'))
        self.multiday_event_ending_today = self.program_events_page.add_child(
            instance=Event(title='Early Morning Event',
                           date=str(date.today() - timedelta(days=5)),
                           end_date=str(date.today()),
                           rsvp_link='http://www.newamerica.org',
                           soundcloud_url='http://www.newamerica.org'))
Ejemplo n.º 2
0
def change_to_flag_and_create_event(metrics_sql, list_ip, type_med):
    """
    Create event from measurements selected in list.

    metrics_sql: list of Object Metric
    list_ip: list of ['metric_id@ip']
    """
    flags_event = []
    id_flags = []
    target = ""
    isp = "Unknown"
    ip = ""
    list_ip = list_ip.split(",")

    for metric_sql in metrics_sql:

        for metric in list_ip:
            metric = metric.replace("'", "")
            m_ip = metric.split("@")
            if str(m_ip[0]) == str(metric_sql['id']):
                ip = m_ip[1]
                # Get all flags associated with metric_sql object
                flags = Flag.objects.filter(medicion=metric_sql['id'], ip=ip)

                if not flags:
                    # Get or Create Url Input
                    url, created = Url.objects\
                                      .get_or_create(url=metric_sql['input'])

                    # Create Manual Flag
                    flag = Flag.objects.create(
                        manual_flag=True,
                        date=metric_sql['measurement_start_time'],
                        target=url,
                        region='CCS',
                        medicion=metric_sql['id'],
                        ip=ip,
                        type_med=type_med)
                    # Save object in database
                    flag.save()

                    # Add flag to list destinated to associate flags with the new event
                    flags_event.append(flag)
                    # Add id flag to list destinated to get earliest flag date
                    id_flags.append(flag.id)

                    target = url

                    # Save objects in remote database if is not already
                    m_flag, created = MetricFlag.objects.get_or_create(
                        metric_id=metric_sql['id'],
                        manual_flag=True,
                        target=target.url,
                        ip=ip,
                        type_med=type_med)

                else:
                    for flag in flags:
                        flags_event.append(flag)
                        id_flags.append(flag.id)
                        if target == "":
                            target = flag.target

                # Check if metric have a prove assigned to it.
                # If it is get ISP from probe.
                # If not, ISP will be Unknown
                try:
                    annotations = metric_sql['annotations']
                    if annotations['probe'] != "":
                        probe = Probe.objects.filter(
                            identification=annotations['probe']).first()
                        isp = probe.isp
                except Exception:
                    isp = "Unknown"

    # create identification for the event (must be unique)
    num_events = Event.objects.count()
    identification = "event_" + str(num_events)
    identification += "_" + time.strftime("%x") + "_" + time.strftime("%X")

    # create event
    event_date = Flag.objects.filter(id__in=id_flags).earliest('date').date
    event = Event(isp=isp,
                  start_date=event_date,
                  target=target,
                  type='bloqueo por DNS',
                  identification=identification)
    event.save()

    # Add flags to events
    for flag in flags_event:
        flag.suggested_events.clear()
        event.flags.add(flag)

    # Add suggested flags to the event
    suggestedFlags(event)

    return event
Ejemplo n.º 3
0
adrianParent.age = 31
adrianParent.save()

# create babies
sara = Baby()
sara.firstname = "Sara"
sara.lastname = "Sanchez"
sara.age = 2
sara.parent = adrianParent
sara.save()

lisa = Baby()
lisa.firstname = "Lisa"
lisa.lastname = "Perez"
lisa.age = 1
lisa.parent = jorgeparent
lisa.save()

#Create Events

event1 = Event(type="POOP", datetime=now(), description="1kg.", baby=lisa)
event1.save()

event2 = Event(type="FEED", datetime=now(), description="orange", baby=sara)
event2.save()

event3 = Event(type="POOP",
               datetime=now(),
               description="green poop",
               baby=sara)
event3.save()