Ejemplo n.º 1
0
    def get(self):
        user, logout = check_user(users.get_current_user())
        if user:
            template_args = {'logout_url': users.create_logout_url('/')}
            subscription_list = list()
            more = True
            curs = None
            while more:
                s, curs, more = Subscription.query(
                ).fetch_page(
                    10, start_cursor=curs)
                for sitem in s:
                    subscription_list.append(sitem)

            template_args['subscriptions'] = subscription_list

            users_list = list()
            more = True
            curs = None
            while more:
                u, curs, more = User.query(
                ).order(
                    -User.when).fetch_page(
                        10, start_cursor=curs)
                for uitem in u:
                    users_list.append(uitem)

            template_args['users'] = users_list

            template = JINJA_ENVIRONMENT.get_template('users.html')
            self.response.write(template.render(template_args))

        else:
            self.redirect('/admin')
Ejemplo n.º 2
0
 def delete(self):
     user, logout = check_user(users.get_current_user())
     if user:
         key = self.request.get('id')
         task = ndb.Key(urlsafe=key).get()
         task.active = False
         task.put()
Ejemplo n.º 3
0
    def get(self):
        user, logout = check_user(users.get_current_user())
        if user:
            if self.request.get('id'):
                t = ndb.Key(urlsafe=self.request.get('id')).get()
                u = t.to_dict()
                t.revised = True
                t.put()
                
            else:
                cursor = None
                u = []
                more = True

                while more:
                    d, curs, more = Assignment.query(
                        Assignment.active == True).order(
                            -Assignment.when).fetch_page(
                                100, start_cursor=cursor)
                    for ditem in d:
                        u.append(ditem.to_dict())
                        
            
            self.response.out.headers['Content-Type'] = 'application/json'
            self.response.out.write(json.dumps({'data':u}))
Ejemplo n.º 4
0
 def post(self):
     user, logout = check_user(users.get_current_user())
     if user:
         body = json.loads(self.request.body)
         Subscription(name = body['name'],
                      startpage = body['startpage'],
                      level = body['level']).put()
Ejemplo n.º 5
0
 def delete(self):
     user, logout = check_user(users.get_current_user())
     if user:
         key = self.request.get('id')
         #even more things here
         assignment = ndb.Key(urlsafe=key).get()
         assignment.active = False
         assignment.put()
Ejemplo n.º 6
0
 def post(self):
     user, logout = check_user(users.get_current_user())
     if user:
         body = json.loads(self.request.body)
         User(name = body['name'],
              password = body['password'],
              subscription = ndb.Key(urlsafe=body['subscription']),
              group = ndb.Key(urlsafe=body['group'])).put()
Ejemplo n.º 7
0
 def post(self):
     user, logout = check_user(users.get_current_user())
     if user:
         upload_files = self.get_uploads('file')
         for i,f in enumerate(upload_files):
             blob_info = f
             Media(name = self.request.get('name')+'_{}'.format(i),
                   blob = blob_info.key()).put()
         
         self.redirect('/media')
         
     else:
         self.redirect('/media')
Ejemplo n.º 8
0
    def get(self):
        user, logout = check_user(users.get_current_user())
        if user:
            template_args = {
                'logout_url': users.create_logout_url('/')
            }

            template = JINJA_ENVIRONMENT.get_template('reviewassignment.html')
            self.response.write(
                template.render(template_args)
            )

        else:
            self.redirect('/login?to={}'.format(slug))
Ejemplo n.º 9
0
    def get(self):
        user, logout = check_user(users.get_current_user())
        if user:
            template_args = {
                'logout_url': users.create_logout_url('/')
            }
            
            template = JINJA_ENVIRONMENT.get_template('assign.html')
            self.response.write(
                template.render(template_args)
            )

        else:
            self.redirect('/admin')
Ejemplo n.º 10
0
    def get(self):
        user, logout = check_user(users.get_current_user())
        if user:
            u = []
            more = True
            cursor = None

            while more:
                d, cursor, more = User.query().order(
                    -User.when).fetch_page(10, start_cursor=cursor)
                for ditem in d:
                    u.append(ditem.to_dict())
            
            self.response.out.headers['Content-Type'] = 'application/json'
            self.response.out.write(json.dumps({'data':u}))
Ejemplo n.º 11
0
 def post(self):
     user, logout = check_user(users.get_current_user())
     if user:
         body = json.loads(self.request.body)
         if self.request.get('id'):
             task = ndb.Key(urlsafe=self.request.get('id')).get()
             task.name = body['name']
             task.subscription = ndb.Key(urlsafe=body['subscription'])
             task.data = body['data']
             task.put()
         else:
             Task(name = body['name'],
                  kind = body['kind'],
                  subscription = ndb.Key(urlsafe=body['subscription']),
                  active = True,
                  data = body['data']).put()
Ejemplo n.º 12
0
def login():
    if g.user is not None and g.user.is_authenticated:
        return redirect(url_for('index'))
    if request.method == 'POST':
        form = LoginForm()
        if form.validate_on_submit():
            flash('%s  %s  %s' % (form.user.data, form.pwd.data, form.remember_me.data))
        user = request.form.get('user', '')
        pwd = request.form.get('pwd', '')
        res = check_user(user, pwd)
        if res:
            user = User()
            login_user(user)
            return redirect(url_for('index'))
        return render_template('login.html', msg=u'用户名或密码错误')
    return render_template('login.html')
Ejemplo n.º 13
0
def send_confirm(message):
    status = utils.check_user(message.chat.id)
    if status == 'op' or status == 's/o':
        query = SQLighter(config.database_name).get_query(message.chat.id)

        if query[0][0] is not None:
            markup = types.ReplyKeyboardMarkup()
            markup.row('Буду снимать')
            markup.row('Не буду снимать')
            bot.send_message(message.chat.id,
                             query[0][1] + '\n' + query[0][2] + '\n' +
                             query[0][3],
                             reply_markup=markup)
            wait_response_operator.add(message.chat.id)
        else:
            bot.send_message(message.chat.id,
                             'Похоже, что ничего не запланирвано.',
                             reply_markup=operator_markup)
Ejemplo n.º 14
0
def register():
    if request.method == 'POST':
        data = dict((k, v[0]) for k, v in dict(request.form).items())
        data['password'] = hashlib.md5(data['password'] + salt).hexdigest()
        # 1.判断用户输入用户名密码是否为空
        if not data["username"] or not data["password"]:
            error = 'UserName Or Password Not Null !'
            return render_template('register.html', error=error)

        # 2.判断该用户是否存在
        elif check_user('user_messages', data):
            error = u'用户 %s 已经存在' % (data["username"])
            return render_template('register.html', error=error)

        # 3.注册该用户信息至数据库
        else:
            field = ['username', 'password', 'role']
            if insert_sql('user_messages', data, field):
                return redirect("/login/")

    return render_template('register.html')
Ejemplo n.º 15
0
    def get(self):
        cookie = self.request.cookies.get('CookieProtocolServices')
        admin, logout = check_user(users.get_current_user())

        if cookie:
            session = ndb.Key(urlsafe=str(cookie)).get()
            user = session.key.parent().get()

            assignments = Assignment.query(
                Assignment.active == True,
                Assignment.user == user.key,
                Assignment.completed == False).order(
                    -Assignment.when).fetch(10)


            template = JINJA_ENVIRONMENT.get_template('user.html')
            self.response.write(template.render(
                {'auth': False,
                 'user': user.to_dict(),
                 'assignments': assignments}))


        elif admin:
            user = ndb.Key(urlsafe=self.request.get('id')).get()

            assignments = Assignment.query(
                Assignment.user == user.key,
                Assignment.completed == False).order(
                    -Assignment.when).fetch(10)


            template = JINJA_ENVIRONMENT.get_template('user.html')
            self.response.write(template.render(
                {'auth': True,
                 'user': user.to_dict(),
                 'assignments': assignments}))
            

        else:
            self.redirect('/login?to={}'.format(slug))
Ejemplo n.º 16
0
    def get(self):
        user, logout = check_user(users.get_current_user())
        if user:
            message_list = list()
            more = True
            curs = None
            while more:
                m, curs, more = Message.query(
                ).order(
                    -Message.when).fetch_page(
                        10, start_cursor=curs)
                for mitem in m:
                    message_list.append(mitem)


            template = JINJA_ENVIRONMENT.get_template('admin.html')
            self.response.write(template.render(
                {'logout_url':users.create_logout_url('/'),
                 'messages': message_list}))

        else:
            self.redirect(users.create_login_url('/admin'))
Ejemplo n.º 17
0
    def get(self):
        user, logout = check_user(users.get_current_user())
        if user:
            template_args = {'logout_url': users.create_logout_url('/')}

            task_list = list()
            more = True
            curs = None
            while more:
                t, curs, more = Task.query(
                ).fetch_page(
                    10, start_cursor=curs)
                for titem in t:
                    task_list.append(titem)

            template_args['tasks'] = task_list

            template = JINJA_ENVIRONMENT.get_template('activity.html')
            self.response.write(template.render(template_args))

        else:
            self.redirect('/admin')
Ejemplo n.º 18
0
    def get(self,slug):
        user, logout = check_user(users.get_current_user())
        if user:
            page = Page.query(Page.slug == slug).fetch(1)
            template_args = {'logout_url': users.create_logout_url('/')}
            if page:
                page = page[0]
                template_args['new'] = False
                template_args['title'] = page.title
                template_args['text'] = process_text_admin(page.text)
                template_args['edit'] = page.text
                template_args['prev'] = nonize(page.prev)
                template_args['next'] = nonize(page.next)
                template_args['doc']  = nonize(page.doc)
                template_args['level'] = page.allowed
                template_args['startpages'] = set([s.startpage for s in Subscription.query().fetch(10)])
                template_args['slug'] = page.slug
                template_args['author'] = user.nickname()
            
            else:
                template_args['new'] = True
                template_args['title'] = ''
                template_args['text'] = ''
                template_args['edit'] = ''
                template_args['prev'] = ''
                template_args['next'] = ''
                template_args['doc']  = ''
                template_args['level'] = 1
                template_args['startpages'] = set([s.startpage for s in Subscription.query().fetch(10)])
                template_args['slug'] = slug
                template_args['author'] = user.nickname()
        
            template = JINJA_ENVIRONMENT.get_template('content.html')
            self.response.write(template.render(template_args))

        
        else:
            self.redirect('/admin')
Ejemplo n.º 19
0
    def post(self):
        user, logout = check_user(users.get_current_user())
        if user:
            body = json.loads(self.request.body)

            assigned_users = User.query(
                User.group == ndb.Key(urlsafe=body['group'])).fetch(100)

            for u in assigned_users:
                Assignment(
                    task = ndb.Key(urlsafe=body['task']),
                    user = u.key,
                    duration_in_minutes = int(body['duration_in_minutes']),
                    start = datetime.datetime.strptime(
                        body['start'],
                        "%a, %d %b %Y %H:%M:%S %Z"),
                    due = datetime.datetime.strptime(
                        body['due'],
                        "%a, %d %b %Y %H:%M:%S %Z"),
                    result = {},
                    completed = False,
                    revised = False,
                    active = True,
                ).put()
Ejemplo n.º 20
0
    def get(self):
        user, logout = check_user(users.get_current_user())
        if user:
            upload_url = blobstore.create_upload_url('/upload')
            template_args = {'logout_url': users.create_logout_url('/')}
            media_list = list()
            more = True
            curs = None
            while more:
                m, curs, more = Media.query(
                ).order(
                    -Media.when).fetch_page(
                        10, start_cursor=curs)
                for mitem in m:
                    media_list.append(mitem)

            template_args['media'] = media_list
            template_args['upload_url'] = upload_url

            template = JINJA_ENVIRONMENT.get_template('media.html')
            self.response.write(template.render(template_args))

        else:
            self.redirect('/admin')
Ejemplo n.º 21
0
        channel = config.CHAN_TW
        print('Mode default')
    session = Session()
    user = session.query(User).filter(User.user_login.in_([channel])).first()
    if user == None:
        session.add(User(channel, 'none', 'none'))
        session.commit()
        user = session.query(User).filter(
            User.user_login.in_([channel]).first())
        print('Add %s user to DB' % user)
    else:
        print('User %s is found' % user)

    print('bot started')
    while True:
        status, info, user = utils.check_user(user)
        session.commit()
        if status == 0:
            if info['data'][0]['started_at'] != user.date:
                print('Отправляю уведомление')
                # utils.send_message(server, '@everyone %s https://www.twitch.tv/rocksun_wow' % info['data'][0]['title'])
                user.date = info['data'][0]['started_at']
                print('Уведомление отправленно \nNew time: %s' % user.date)
                session.commit()
                print(user)
            if not isThreadRun:
                thread.start_new_thread(
                    startChatBot,
                    (channel, ))  # Нужно прочитать по поводу закрытия потока
                isThreadRun = True
                print('isThreadRun', isThreadRun)
Ejemplo n.º 22
0
 def delete(self):
     user, logout = check_user(users.get_current_user())
     if user:
         key = self.request.get('id')
         u = ndb.Key(urlsafe=key)
         u.delete()
Ejemplo n.º 23
0
        regs_df = pd.DataFrame(regs, columns=regs_columns)
        uids = set(regs_df["uid"])

        try:
            saved_regs = saver.read_csv(filename=REGS_FILE)
        except FileNotFoundError:
            # write empty file with colnames like regs_df
            regs_df[:0].to_csv(REGS_FILE, index=False)
            saved_regs = saver.read_csv(filename=REGS_FILE)

        for user in uids:
            # check users in user_base

            check = check_user(user_id=user,
                               userbase=saved_regs,
                               current_users=regs_df,
                               userbase_filename=REGS_FILE)

            if check and ("adr_app"
                          in regs_df[regs_df["uid"] == user]["utm_campaign"]):
                event = regs_df[regs_df["uid"] == user]
                event_ts = event["reg_date"].values[0]

                # timedelta between event and current moment
                event_ts_delta = (today - event_ts).total_seconds() * 1000
                if event_ts_delta > 4 * 60 * 60 * 100:
                    event_ts_delta = 0
                reg_payload = registration(
                    ga_property=constants["UA_ANDROID"],
                    client_id=event["cid"],
                    event_category=constants["REG_EVENT_CATEGORY"],
Ejemplo n.º 24
0
 def post(self):
     user, logout = check_user(users.get_current_user())
     if user:
         body = json.loads(self.request.body)
         Group(name = body['name'],
               active = True).put()
Ejemplo n.º 25
0
def send_status(message):
    status = utils.check_user(message.chat.id)
    bot.send_message(message.chat.id, status)