import time from django.views.generic.base import TemplateView from django.shortcuts import render from django.http import HttpResponse, HttpResponseRedirect from django.contrib.auth import authenticate, login, logout from rowers.forms import LoginForm,DocumentsForm,UploadOptionsForm from django.core.urlresolvers import reverse from django.conf import settings from django.utils.datastructures import MultiValueDictKeyError from django.utils import timezone,translation from django.core.mail import send_mail, BadHeaderError from rowers.forms import EmailForm, RegistrationForm, RegistrationFormTermsOfService,RegistrationFormUniqueEmail,CNsummaryForm,UpdateWindForm,UpdateStreamForm from rowers.forms import PredictedPieceForm from rowers.models import Workout, User, Rower, WorkoutForm,RowerForm,GraphImage,AdvancedWorkoutForm import StringIO from django.contrib.auth.decorators import login_required,user_passes_test from time import strftime,strptime,mktime,time,daylight import os,sys import datetime import iso8601 import c2stuff from c2stuff import C2NoTokenError from iso8601 import ParseError import stravastuff import sporttracksstuff from rowsandall_app.settings import C2_CLIENT_ID, C2_REDIRECT_URI, C2_CLIENT_SECRET, STRAVA_CLIENT_ID, STRAVA_REDIRECT_URI, STRAVA_CLIENT_SECRET from rowsandall_app.settings import SPORTTRACKS_CLIENT_ID, SPORTTRACKS_REDIRECT_URI, SPORTTRACKS_CLIENT_SECRET import requests import json from rowsandall_app.rows import handle_uploaded_file from rowers.tasks import handle_makeplot,handle_otwsetpower,handle_sendemailtcx from scipy.signal import savgol_filter from rowingdata import rower as rrower from rowingdata import main as rmain from rowingdata import rowingdata as rdata from rowingdata import TCXParser,RowProParser,ErgDataParser,TCXParserNoHR from rowingdata import painsledDesktopParser,speedcoachParser,ErgStickParser from rowingdata import SpeedCoach2Parser,FITParser,fitsummarydata from rowingdata import make_cumvalues from rowingdata import summarydata,get_file_type import pandas as pd import numpy as np import matplotlib.pyplot as plt from pytz import timezone as tz,utc import dateutil import mpld3 from mpld3 import plugins import stravalib from stravalib.exc import ActivityUploadFailed,TimeoutExceeded from weather import get_wind_data import django_rq queue = django_rq.get_queue('default') queuelow = django_rq.get_queue('low') queuehigh = django_rq.get_queue('low') import plots from io import BytesIO from scipy.special import lambertw def emailall(emailfile,subject): rowers = Rower.objects.all() for rower in rowers: email = rower.user.email firstname = rower.user.first_name with open(emailfile) as f: message = f.read() message = '\nDear '+firstname+'\n\n'+str(message) print message send_mail( subject, message, 'info@rowsandall.com', [email], )