docs: def eventize(self, granularity):
          """ This splits the JSON information found at self.events into the
          several events. For this there are three different levels of time
          consuming actions: 1-soft, 2-medium and 3-hard.
  
          Level 1 provides events about emails
          Level 2 not implemented
          Level 3 not implemented
  
          :param granularity: Levels of time consuming actions to calculate events
          :type granularity: integer
  
          :returns: Pandas dataframe with splitted events.
          :rtype: pandas.DataFrame
          """
  
          email = {}
          # First level granularity
          email[Email.EMAIL_ID] = []
          email[Email.EMAIL_EVENT] = []
          email[Email.EMAIL_DATE] = []
          email[Email.EMAIL_OWNER] = []
          email[Email.EMAIL_SUBJECT] = []
          email[Email.EMAIL_BODY] = []
          email[Email.EMAIL_ORIGIN] = []
  
          events = pandas.DataFrame()
  
          for item in self.items:
              origin = item["origin"]
              email_data = item["data"]
              if granularity == 1:
                  # Changeset submission date: filling a new event
                  email[Email.EMAIL_ID].append(email_data["Message-ID"])
                  email[Email.EMAIL_EVENT].append(Email.EVENT_OPEN)
                  try:
                      email[Email.EMAIL_DATE].append(str_to_datetime(email_data["Date"], ignoretz=True))
                  except KeyError:
                      email[Email.EMAIL_DATE].append(str_to_datetime("1970-01-01"))
                  email[Email.EMAIL_OWNER].append(email_data["From"])
                  email[Email.EMAIL_SUBJECT].append(email_data["Subject"])
                  try:
                      email[Email.EMAIL_BODY].append(email_data["body"]["plain"])
                  except KeyError:
                      email[Email.EMAIL_BODY].append("None")
                  email[Email.EMAIL_ORIGIN].append(origin)
  
              if granularity == 2:
                  # TDB
                  pass
  
              if granularity == 3:
                  # TDB
                  pass
  
          # Done in this way to have an order (and not a direct cast)
          events[Email.EMAIL_ID] = email[Email.EMAIL_ID]
          events[Email.EMAIL_EVENT] = email[Email.EMAIL_EVENT]
          events[Email.EMAIL_DATE] = email[Email.EMAIL_DATE]
          events[Email.EMAIL_OWNER] = email[Email.EMAIL_OWNER]
          events[Email.EMAIL_SUBJECT] = email[Email.EMAIL_SUBJECT]
          events[Email.EMAIL_BODY] = email[Email.EMAIL_BODY]
          events[Email.EMAIL_ORIGIN] = email[Email.EMAIL_ORIGIN]
  
          return events