Ejemplo n.º 1
0
def edit_news(id):  # редактирование новости
    form = NewsForm()
    if request.method == "GET":
        session = db_session.create_session()
        news = session.query(News).filter(News.id == id,
                                          News.user == current_user).first()
        if news:
            form.title.data = news.title
            form.content.data = news.content
        else:
            abort(404)
    if form.validate_on_submit():
        session = db_session.create_session()
        news = session.query(News).filter(News.id == id,
                                          News.user == current_user).first()
        if news:
            news.title = form.title.data
            news.content = form.content.data
            news.is_private = form.is_private.data
            session.commit()
            return redirect('/main/' + str(current_user.id))
        else:
            abort(404)
    return render_template('news.html',
                           title=b'\xd0\xa0\xd0\xb5\xd0\xb4\xd0\xb0\xd0\xba\xd1\x82\xd0\xb8\xd1\x80\xd0\xbe\xd0\xb2\xd0\xb0\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xbd\xd0\xbe\xd0\xb2\xd0\xbe\xd1\x81\xd1\x82\xd0\xb8'.decode(
                               'utf-8'), form=form)
Ejemplo n.º 2
0
def friends_delete(id):  # удаление друга
    if id != 1:
        session = db_session.create_session()
        st = str(session.query(User).filter(User.id == current_user.id).first().friends).split(', ')
        for i in range(len(st)):
            if st[i] == str(id):
                del st[i]
                break
        user = session.query(User).filter(User.id == current_user.id).first()
        user.friends = ', '.join(st)
        session.commit()
        session = db_session.create_session()
        st = str(session.query(User).filter(User.id == id).first().friends).split(', ')
        for el in session.query(User).all():
            if str(el.id) == str(id):
                user = el
                break
        for i in range(len(st)):
            if st[i] == str(current_user.id):
                del st[i]
                break
        user.friends = ', '.join(st)
        session.commit()
        return redirect(f'/friends/{current_user.id}')
    else:
        abort(404)
Ejemplo n.º 3
0
def add_news(id):  # добавление новости
    form = NewsForm()
    if form.validate_on_submit() and correct_image(str(form.file.data)):
        session = db_session.create_session()
        news = News()
        news.title = form.title.data
        news.content = form.content.data
        news.is_private = form.is_private.data
        news.user_id = current_user.id
        image = Image.open(form.file.data)
        image.save(f'static/{str(session.query(Photos).all()[-1].id + 1)}' + '.png')
        photo = Photos()
        photo.name = str(session.query(Photos).all()[-1].id + 1) + '.png'
        news.Photos = session.query(Photos).all()[-1].id + 1
        session.add(photo)
        session.add(news)
        session.commit()
        return redirect('/main/' + str(current_user.id))
    elif form.validate_on_submit() and str(form.file.data) == '<FileStorage: \'\' (\'application/octet-stream\')>':
        session = db_session.create_session()
        news = News()
        news.title = form.title.data
        news.content = form.content.data
        news.is_private = form.is_private.data
        news.user_id = current_user.id
        session.add(news)
        session.commit()
        return redirect('/main/' + str(current_user.id))
    return render_template('news.html',
                           title=b'\xd0\x94\xd0\xbe\xd0\xb1\xd0\xb0\xd0\xb2\xd0\xbb\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xbd\xd0\xbe\xd0\xb2\xd0\xbe\xd1\x81\xd1\x82\xd0\xb8'.decode(
                               'utf-8'),
                           form=form)
Ejemplo n.º 4
0
def friends(id):  # поиск друзей
    form = Friends_form()
    session = db_session.create_session()
    session = db_session.create_session()
    sp_friends = []
    for el in session.query(User).all():
        if str(current_user.id) in str(el.friends).split(', '):
            sp_friends.append(el)
    if form.submit.data and form.search.data != '':
        return redirect(f'/search/{form.search.data}')
    return render_template('your_friends.html', form=form, sp_friends=sp_friends)
Ejemplo n.º 5
0
def perepiska(id):  # переписка
    form = Perepiska()
    print(1)
    if os.path.exists(f'sms/{current_user.id}-{id}.txt'):
        print(2)
        file = open(f'sms/{current_user.id}-{id}.txt', mode='rt', encoding='UTF-8')
        print(2.2)
    else:
        print(3)
        file = open(f'sms/{current_user.id}-{id}.txt', mode='tw', encoding='UTF-8')
        file1 = open(f'sms/{id}-{current_user.id}.txt', mode='tw', encoding='UTF-8')
        file = open(f'sms/{current_user.id}-{id}.txt', mode='rt', encoding='UTF-8')
    sp_d = file.readlines()
    print(2.3)
    if form.submit.data:
        print(4)
        file = open(f'sms/{current_user.id}-{id}.txt', mode='a', encoding='UTF-8')
        file1 = open(f'sms/{id}-{current_user.id}.txt', mode='a', encoding='UTF-8')
        text = form.search.data
        text = parse(text)
        session = db_session.create_session()
        for i in session.query(User).all():
            if i.id == current_user.id:
                print(i.name + ' ' + i.surname, file=file, end=b'~*&^%#^*(^~&%*#( '.decode('utf-8'))
                print(i.name + ' ' + i.surname, file=file1, end=b'~*&^%#^*(^~&%*#( '.decode('utf-8'))
                break
        print(5)
        print(text + b'~*&^%#^*(^~&%*#( '.decode('utf-8') + str(datetime.datetime.now()), file=file)
        print(text + b'~*&^%#^*(^~&%*#( '.decode('utf-8') + str(datetime.datetime.now()), file=file1)
        return redirect(f'/perepiska/{id}')
    return render_template('perepiska.html', form=form, sp_d=list(reversed(sp_d)))
Ejemplo n.º 6
0
def requests(id):  # заявки в друзья
    session = db_session.create_session()
    sp_requests = []
    for el in session.query(User).all():
        if str(el.id) in str(current_user.request).split():
            sp_requests.append(el)
    return render_template('requests.html', sp_requests=sp_requests, form=Friends_form)
Ejemplo n.º 7
0
def plus_friend(id):  # добавление друзей (тех, кто сам кинул заявку)
    session = db_session.create_session()
    user = session.query(User).filter(User.id == current_user.id).first()
    user.friends = str(user.friends) + ', ' + str(id)
    sp = str(user.request).split()
    sp2 = []
    for el in sp:
        if el != str(id):
            sp2.append(el)
    user.request = ' '.join(sp2)
    session.commit()
    session = db_session.create_session()
    user = session.query(User).filter(User.id == id).first()
    user.friends = str(user.friends) + ', ' + str(current_user.id)
    session.commit()
    return redirect(f'/requests/{current_user.id}')
Ejemplo n.º 8
0
def video(id):  # просмотр своиз видео и поиск новых
    form = Friends_form()
    session = db_session.create_session()
    sp = []
    for el in session.query(Videos).all():
        if str(el.id) in str(current_user.videos).split():
            sp.append(el)
    if form.submit.data:
        print(1)
        session = db_session.create_session()
        sp_v = []
        for el in session.query(Videos):
            if str(form.search.data).lower() in str(el.title).lower() and str(el.id) not in str(current_user.videos).split():
                sp_v.append(el)
        return render_template('s_video.html', sp_v=sp_v)
    return render_template('video.html', sp=sp, form=form)
Ejemplo n.º 9
0
def sms(id):  # выбор диалога
    form = MS()
    session = db_session.create_session()
    if len(str(current_user.friends)) > 0:
        sp_id = list(map(int, str(current_user.friends).split(', ')))
        sp_d = []
        for i in session.query(User).all():
            if i.id in sp_id and os.path.exists(f'sms/{current_user.id}-{i.id}.txt'):
                sp_d.append([str(i.name) + ' ' + str(i.surname), i.id, str(i.avatar)])
        if len(sp_d) == len(str(current_user.friends)):
            s = [len(sp_d), False] + sp_d
        else:
            s = [len(sp_d), True] + sp_d
        sp_d = s
        if form.submit.data:
            if current_user.friends:
                sp_d = []
                for i in session.query(User).all():
                    if i.id in sp_id:
                        sp_d.append((str(i.name) + ' ' + str(i.surname)))
            return redirect(f'/begin/{id}')
        elif form.write.data:
            return redirect(f'/perepiska/{id}')
        return render_template('sms.html', form=form, sp_d=sp_d)
    else:
        return redirect(f'/friends/{current_user.id}')
Ejemplo n.º 10
0
def video_delete(id):
    session = db_session.create_session()
    user = session.query(User).filter(User.id == current_user.id).first()
    user.videos = str(user.videos).split()
    user.videos.remove(str(id))
    user.videos = ' '.join(user.videos)
    session.commit()
    return redirect(f'/video/{id}')
Ejemplo n.º 11
0
def change_status(id):  # редактирование статуса
    form = StatusForm()
    if form.submit.data:
        session = db_session.create_session()
        user = session.query(User).filter(User.id == current_user.id).first()
        user.status = form.search.data
        session.commit()
        return redirect(f'/main/{current_user.id}')
    return render_template('change_status.html', form=form)
Ejemplo n.º 12
0
def f_profile(id):  # профиль друго пользователя
    session = db_session.create_session()
    if str(current_user.id) in str(session.query(User).filter(int(id) == User.id).first().friends).split(', '):
        session = db_session.create_session()
        sp_news = []
        maaaaaan = session.query(User).filter(int(id) == User.id).first()
        for el in session.query(News).all():
            if str(id) == str(el.user_id):
                sp_news.append(el)
        return render_template('f_main.html', sp_news=sp_news, maaaaaan=maaaaaan)
    else:
        session = db_session.create_session()
        sp_news = []
        maaaaaan = session.query(User).filter(int(id) == User.id).first()
        for el in session.query(News).all():
            if str(id) == str(el.user_id) and not el.is_private:
                sp_news.append(el)
        return render_template('f_main.html', sp_news=sp_news, maaaaaan=maaaaaan)
Ejemplo n.º 13
0
def main(id):  # страница пользователя
    if id == current_user.id:
        session = db_session.create_session()
        sp_news = []
        for el in session.query(News).all():
            if str(id) == str(el.user_id):
                sp_news.append(el)
        return render_template('main.html', sp_news=list(reversed(sp_news)))
    else:
        abort(404)
Ejemplo n.º 14
0
def news_delete(id):  # удаление новости
    session = db_session.create_session()
    news = session.query(News).filter(News.id == id,
                                      News.user == current_user).first()
    if news:
        session.delete(news)
        session.commit()
    else:
        abort(404)
    return redirect('/main/' + str(current_user.id))
Ejemplo n.º 15
0
def begin(id):  # начало диалога
    form = MS()
    session = db_session.create_session()
    sp = str(current_user.friends).split(', ')
    sp_id = list(map(int, str(current_user.friends).split(', ')))
    sp_d = []
    for i in session.query(User).all():
        if i.id in sp_id and not os.path.exists(f'sms/{current_user.id}-{i.id}.txt'):
            sp_d.append([str(i.name) + ' ' + str(i.surname), i.id, i.avatar])
    return render_template('begin.html', form=form, sp_d=sp_d)
Ejemplo n.º 16
0
def news(id):  # новостидругих пользователей
    session = db_session.create_session()
    sp_news = []
    sp_autors = []
    for el in session.query(News):
        if str(el.user_id) in str(current_user.friends).split(', ') or not el.is_private:
            sp_news.append(el)
            for ell in session.query(User):
                if str(ell.id) == str(el.user_id):
                    sp_autors.append(ell)
    return render_template('news_fr.html', sp_news=list(reversed(sp_news)), sp_autors=list(reversed(sp_autors)))
Ejemplo n.º 17
0
def search_friends(s): # посик по пользователям
    form = Friends_form()
    s = s.lower()
    session = db_session.create_session()
    sp_p = []
    for el in session.query(User).all():
        if (s in (el.name + el.surname).lower() or s in (el.surname + el.name).lower()) and str(el.id) not in str(
                current_user.friends).split(', ') and el.id != current_user.id and str(id) not in str(
            current_user.request).split():
            sp_p.append(el)
    if form.submit.data:
        return redirect(f'/search/{form.search.data}')
    return render_template('serch_friends.html', sp_p=sp_p, form=form)
Ejemplo n.º 18
0
def add_video(id):  # добавление видео
    form = Video()
    print(form.file.data)
    if form.submit.data and '.mp4' in str(form.file.data):
        print(form.file.data)
        print(0, 1 ,2 ,23 )
        session = db_session.create_session()
        video = Videos()
        video.name = str(session.query(Videos).all()[-1].id + 1) + '.mp4'
        video.title = form.title.data
        print(1)
        session.add(video)
        session.commit()
        file = open('static/' + str(session.query(Videos).all()[-1].id) + '.mp4', 'tw')
        file = form.file.data.read()
        with open('static/' + str(session.query(Videos).all()[-1].id) + '.mp4', 'wb') as f:
            f.write(file)
            print(135)
        session = db_session.create_session()
        user = session.query(User).filter(User.id == current_user.id).first()
        user.videos = str(user.videos) + ' ' + str(session.query(Videos).all()[-1].id)
        session.commit()
        return redirect('/video/' + str(current_user.id))
    return render_template('add_video.html', form=form)
Ejemplo n.º 19
0
def mail_verification():  # проверка почты
    global number, user
    form = code_verefication()
    if form.validate_on_submit:
        if str(number) == str(form.code.data) and str(number) != '0':
            session = db_session.create_session()
            session.add(user)
            session.commit()
            user = User()
            return redirect('/login')
        return render_template('mail.html',
                               title=b'\xd0\x9f\xd1\x80\xd0\xbe\xd0\xb2\xd0\xb5\xd1\x80\xd0\xba\xd0\xb0 \xd0\xbf\xd0\xbe\xd1\x87\xd1\x82\xd1\x8b'.decode(
                                   'utf-8'), form=form)
    return render_template('mail.html',
                           title=b'\xd0\x9f\xd1\x80\xd0\xbe\xd0\xb2\xd0\xb5\xd1\x80\xd0\xba\xd0\xb0 \xd0\xbf\xd0\xbe\xd1\x87\xd1\x82\xd1\x8b'.decode(
                               'utf-8'), form=form)
Ejemplo n.º 20
0
def login():  # авторизация
    form = LoginForm()
    if form.validate_on_submit():
        session = db_session.create_session()
        user = session.query(User).filter(User.email == form.email.data).first()
        if user and user.hashed_password == form.password.data:
            login_user(user, remember=form.remember_me.data)
            return redirect(f"/main/{current_user.id}")
        return render_template('login.html',
                               message=b'\xd0\x9d\xd0\xb5\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xb8\xd0\xbb\xd1\x8c\xd0'
                                       b'\xbd\xd1\x8b\xd0\xb9 \xd0\xbb\xd0\xbe\xd0\xb3\xd0\xb8\xd0\xbd '
                                       b'\xd0\xb8\xd0\xbb\xd0\xb8 \xd0\xbf\xd0\xb0\xd1\x80\xd0\xbe\xd0\xbb\xd1\x8c'.decode(
                                   'utf-8'),
                               form=form)
    return render_template('login.html',
                           title=b'\xd0\x90\xd0\xb2\xd1\x82\xd0\xbe\xd1\x80\xd0\xb8\xd0\xb7\xd0\xb0\xd1\x86\xd0\xb8\xd1\x8f'.decode(
                               'utf-8'), form=form)
Ejemplo n.º 21
0
def avatar(id):  # меняем аватар
    form = Avatar()
    if id == current_user.id and form.submit.data and correct_image(str(form.file.data)):
        print('yes')
        session = db_session.create_session()
        image = Image.open(form.file.data)
        nomer = len(os.listdir(path="static/avatar")) + 1
        q = open(f'static/avatar/{str(nomer)}' + '.png', mode="tw", encoding='utf-8')
        image.save(f'static/avatar/{str(nomer)}' + '.png')
        user = session.query(User).filter(User.id == current_user.id).first()
        user.avatar = str(nomer) + '.png'
        session.commit()
        return redirect(f'/main/{current_user.id}')
    elif id == current_user.id:
        print(form.validate_on_submit(), correct_image(str(form.file.data)))
        return render_template('avatar.html', form=form)
    else:
        abort(404)
Ejemplo n.º 22
0
def register():  # регистрация
    global user
    form = RegisterForm()
    session = db_session.create_session()
    sp = []
    for el in session.query(User).all():
        sp.append(el.email)
    if form.validate_on_submit() and form.password.data == form.r_password.data and correct_mail(form.username.data) \
            and form.username.data not in sp:
        user.name = form.name.data
        user.surname = form.surname.data
        user.email = form.username.data
        user.hashed_password = form.password.data
        user.age = form.age.data
        user.modified_data = datetime.datetime.now()
        user.friends = '1'
        user.avatar = '1.png'
        mail(user.email)
        return redirect('/mail')
    return render_template('register.html',
                           title=b'\xd0\xa0\xd0\xb5\xd0\xb3\xd0\xb8\xd1\x81\xd1\x82\xd1\x80\xd0\xb0\xd1\x86\xd0\xb8\xd1\x8f'.decode(
                               'utf-8'), form=form)
Ejemplo n.º 23
0
def load_user(user_id):
    session = db_session.create_session()
    return session.query(User).get(user_id)
Ejemplo n.º 24
0
def append_video(id):  # тоже добавление видео
    session = db_session.create_session()
    user = session.query(User).filter(User.id == current_user.id).first()
    user.videos = str(user.videos) + ' ' + str(id)
    session.commit()
    return redirect(f'/video/{id}')
Ejemplo n.º 25
0
def append_friend(id):  # добавление друзей (кидаем заявку)
    session = db_session.create_session()
    user = session.query(User).filter(User.id == id).first()
    user.request = str(user.request) + ' ' + str(current_user.id)
    session.commit()
    return redirect(f'/friends/{current_user.id}')