def watch(): ch = logging.StreamHandler(sys.stdout) ch.setLevel(logging.DEBUG) formatter = logging.Formatter( '%(asctime)s - %(name)s - %(levelname)s - %(message)s') ch.setFormatter(formatter) logger.setLevel(logging.DEBUG) logger.addHandler(ch) chimptools.logger.setLevel(logging.DEBUG) chimptools.logger.addHandler(ch) db.connect() while True: tasks = Task.select().where(Task.state == 'todo').limit(1) if len(tasks) == 0: logger.info("nothing to do") time.sleep(1) else: Tasker(tasks[0]).process() db.close()
def test1(): tasks = Task.select().where(Task.state == 'todo').limit(1) task = tasks[0] print("task", task) #task.state = "done" #task.save() user = task.user print("user", user) challenge = task.challenge print("challenge", challenge) records = user.records.where(Record.challenge == challenge).limit(1) record = records[0] print("record", record) record.state = "done" record.solved_date = datetime.datetime.now() record.save() print("type", type(record)) print("type", type(record.solved_date)) print("isoformat", isoformat(record.solved_date)) print("json", record.json)
def incomplete_tasks(): # If the visitor is not logged in as a user: # Then redirect them to the login page if 'username' not in session: return redirect(url_for('login')) # if the request method is post if request.method == 'POST': # Then retrieve the username from the session and find its user user = User.get(User.name == session['username']) # Retrieve the task_id from the form submission # and use it to find the associated task task = Task.get(request.form['task_id'] == Task.id) # Update the task to indicate that it has been completed # at datetime.now() by the current user. # update is a peewee function task.update(performed_by=user.name, performed=datetime.now()) #task.execute() # throws an error print(type(task)) Task.update(performed=datetime.now(), performed_by=user)\ .where(Task.id == request.form['task_id'])\ .execute() # Retrieve a list of all incomplete tasks & pass to renderer incomplete = Task.select().where(Task.performed.is_null()) return render_template('incomplete.jinja2', tasks=incomplete)
def incomplete_tasks(): if 'username' not in session: return redirect(url_for('login')) if request.method == "POST": user = User.select().where(User.name == session['username']).get() Task.update(performed=datetime.now(), performed_by=user)\ .where(Task.id==request.form['task_id'])\ .execute() return render_template('incomplete.jinja2', tasks=Task.select().where(Task.performed.is_null()))
def read_tasks(user): try: week = int(request.query.get("w", 0)) except: week = 0 current = datetime.now().replace(**ROUND_HOUR) - timedelta(week * ONE_WEEK) start = current - timedelta(current.weekday()) end = start + timedelta(ONE_WEEK) tasks = Task.select().where(Task.date > start, Task.date <= end) return template.render("read_tasks.tpl", tasks=tasks, start=start, week=week, user=user, link="/admin/tasks")
def incomplete(): if 'username' not in session: return redirect(url_for('login')) if request.method == "POST": user = User.select().where(User.username == session["username"]).get() Task.update(completed=datetime.now(), completed_by=user).where( Task.id == request.form["task_id"]).execute() return render_template("incomplete.jinja2", tasks=Task.select().where( Task.completed_by.is_null()))
def stats(): """Useful server stats.""" users = User.select() print("found %d users:" % len(users)) for user in users: print(user) tasks = Task.select() print("found %d tasks:" % len(tasks)) for task in tasks: print(task)
def incomplete_tasks(): """Creates the Incomplete Tasks webpage (http://localhost:5000/incomplete)""" if 'username' not in session: return redirect(url_for('login')) if request.method == 'POST': user = User.select().where(User.name == session['username']).get() Task.update(performed=datetime.now(), performed_by=user)\ .where(Task.id == request.form['task_id'])\ .execute() return render_template('incomplete.html', tasks=Task.select().where(Task.performed.is_null()))
def create_digest(self, user): last_sent = user.last_sent or user.created tasks = Task.select()\ .where((Task.created > last_sent))\ .order_by(Task.user.name, Task.date) email_params = { 'user': user, 'start': last_sent, 'end': self.now, 'tasks': self.format_tasks(tasks, user), 'sender': settings.SENDER, 'timezone_correct': timedelta(hours=user.timezone) } return self.template.render('email_digest.tpl', **email_params)
def incomplete_tasks(): if 'username' not in session: return redirect(url_for('login')) # If the visitor is not logged in as a user: # Then redirect them to the login page if request.method == 'POST': user = User.select().where(User.name == session['username']).get() Task.update(performed=datetime.now(), performed_by=user) \ .where(Task.id == request.form['task_id']) \ .execute() return render_template('incomplete.jinja2', tasks=Task.select().where(Task.performed.is_null()))
def incomplete_tasks(): if 'username' not in session: return redirect(url_for('login')) else: if request.method == 'POST': try: user = User.get(User.name == session['username'][0]) except model.DoesNotExist: user = None Task.update(performed=datetime.now(), performed_by=user).where( Task.id == request.form['task_id']).execute() return render_template('incomplete.jinja2', tasks=Task.select().where( Task.performed.is_null()))
def info(): lines = [] users = User.select() lines.append("found %d users:" % len(users)) for user in users: lines.append("- %s %s" % (user.uuid, user.email)) tasks = Task.select() lines.append("found %d tasks:" % len(tasks)) for task in tasks: lines.append("- %s %s %s" % (task.uuid, task.user.email, task.state)) return Response(response="\n".join(lines), status=200, mimetype="text/plain")
def incomplete_tasks(): """ Base on the user's login status display the login page or the incomplete task page. :return: The login or incomplete task page """ if 'username' not in session: return redirect(url_for('login')) if request.method == 'POST': user = User.select().where(User.name == session['username']).get() Task.update(performed=datetime.now(), performed_by=user)\ .where(Task.id == request.form['task_id'])\ .execute() return render_template('incomplete.jinja2', tasks=Task.select().where(Task.performed.is_null()))
def incomplete_tasks(): # If the visitor is not logged in as a user: # Then redirect them to the login page """ If the request method is POST # Then retrieve the username from the session and find the associated user # Retrieve the task_id from the form submission and use it to find the associated task # Update the task to indicate that it has been completed at datetime.now() by the current user # Retrieve a list of all incomplete tasks # Render the incomplete.jinja2 template, injecting in the list of all incomplete tasks """ msg = "" username = "" if session.get('current_user') == None: username = '******' msg = username else: username = session.get('current_user') msg = "User: "******"task_id = " + task_id # user = User.select().where(User.name == username) user2 = User.select().where(User.name == username).get() # AttributeError: 'User' object has no attribute '_hash' # assert user == user2, "Are these equal?" Task.update(performed=datetime.now()).where( Task.id == task_id).execute() Task.update(performed_by=user2).where(Task.id == task_id).execute() # user = User.get(User.name == input_name) # Task.update(performed=datetime.now(), performed_by=user)\ # .where(Task.id = request.form['task_id'])\ # .execute() return render_template('incomplete.jinja2', debug=msg, tasks=Task.select().where(Task.performed.is_null()))
def incomplete_tasks(): # If the visitor is not logged in as a user: # Then redirect them to the login page if 'username' not in session: return redirect(url_for('login')) # If the request method is POST # Then retrieve the username from the session and find the associated user # Retrieve the task_id from the form submission and use it to find the associated task # Update the task to indicate that it has been completed at datetime.now() by the current user # Retrieve a list of all incomplete tasks # Render the incomplete.jinja2 template, injecting in the list of all incomplete tasks if request.method == 'POST': user = User.select().where(User.name == session['username']).get() Task.update(performed=datetime.now(), performed_by=user)\ .where(Task.id ==request.form['task_id'])\ .execute() return render_template('incomplete.jinja2', tasks=Task.select().where(Task.performed.is_null()))
def _get_task(domain_id): try: domain = Domain.get_by_id(domain_id) tasks = Task.select().where(~Task.completed, Task.domain.is_null(), Task.cpu_intensity <= domain.mflops, Task.com_intensity <= domain.mpi_bandwidth, Task.mem_intensity <= domain.memory) if GREEDY_TASKS: tasks = sorted( tasks, key=lambda t: _distance( (t.cpu_intensity, t.com_intensity, t.mem_intensity), (domain.mflops, domain.mpi_bandwidth, domain.memory))) task = tasks[0] else: task = tasks.get() task.domain = domain task.assign_date = datetime.now() task.save() return task except Domain.DoesNotExist: abort(Response('Domain not found', 404)) except (Task.DoesNotExist, IndexError): abort(Response('No tasks available', 503))
def all_tasks(): return render_template('all.jinja2', tasks=Task.select())
def all_tasks(): """ Display the all task page :return: The all task url """ return render_template('all.jinja2', tasks=Task.select())
#!/usr/bin/env python3 # -*- coding: utf-8 -*- from model import db from model import User, Task ################# db.connect() users = User.select() print("found %d users:" % len(users)) for user in users: print(user) tasks = Task.select() print("found %d tasks:" % len(tasks)) for task in tasks: print(task) db.close()
def all_tasks(): if 'username' not in session: return redirect(url_for('login')) return render_template('all.jinja2', tasks=Task.select(), username=session['username'])
def show_task_list(): tasks = Task.select() response = [task.json for task in tasks] return Response(response=json.dumps(response), status=200, mimetype="application/json")
def all_tasks(): """Creates the All the things webpage (http://localhost:5000/all)""" return render_template('all.html', tasks=Task.select())