示例#1
0
def get_email_messages(config,
                       auth,
                       email_from,
                       email_to,
                       subject_regexp=None,
                       date_min=None,
                       date_max=None):
    if config.verbose:
        print('GETTING EMAILS')

    query = 'from:%s AND to:%s' % (email_from, email_to)
    if date_min:
        query += ' AND after:%s' % date_to_str(date_min)
    if date_max:
        query += ' AND before:%s' % date_to_str(
            date_max + timedelta(days=1))  # make it inclusive
    if config.verbose:
        print('EMAIL SEARCH:', query)

    messages = API_Gmail(config, auth, iterate=True).users().messages().list(
        userId='me', q=query).execute()

    subject_filter = re.compile(r'%s' %
                                subject_regexp) if subject_regexp else None
    for message in messages:
        message = API_Gmail(config, auth).users().messages().get(
            userId='me', id=message['id']).execute()
        if subject_filter is None or subject_filter.match(
                get_subject(message)):
            yield message
示例#2
0
def _email_find(service, email_from, email_to, date_min=None, date_max=None):
  query = 'from:%s AND to:%s' % (email_from, email_to)
  if date_min: query += ' AND after:%s' % date_to_str(date_min)
  if date_max: query += ' AND before:%s' % date_to_str(date_max + timedelta(days=1)) # make it inclusive
  if project.verbose: print('EMAIL SEARCH:', query)
  results = API_Retry(service.users().messages().list(userId='me', q=query))
  messages = results.get('messages', [])
  if project.verbose: print('EMAILS FOUND:', len(messages))
  return messages
示例#3
0
    STARTHINKER_TRACE_TO_PRINT = to_print
    STARTHINKER_TRACE_TO_FILE = to_file

    if STARTHINKER_TRACE_TO_PRINT or STARTHINKER_TRACE_TO_FILE:
        sys.settrace(starthinker_trace)


if __name__ == '__main__':

    def c():
        raise RuntimeError('exception message goes here')

    def b():
        try:
            c()
        except Exception as e:
            pass
        return 'response_from_b '

    def a():
        val = b()
        return val.replace('_b', '_a')

    from starthinker.util.regexp import date_to_str

    starthinker_trace_start()
    a()

    date_to_str(None)