Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf8 -*-
- import re
- from lib.vkbot import VKBot
- from account import *
- vk = VKBot(login, password)
- group_id = 52064776
- from random import randint
- import mysql.connector
- con = mysql.connector.connect(user='root',
- database='vk_poster',
- raise_on_warnings=True,
- charset='utf8',
- use_unicode=True)
- # con.autocommit = True
- cur = con.cursor()
- def get_album_id(genre):
- patterns = (
- (u'(ужас|мисти|триллер)', u'Ужасы и мистика'),
- (u'детектив', u'Детектив'),
- (u'((научная )?фантасти|нф)', u'Фантастика'),
- (u'фэнтези', u'Фэнтези'),
- (u'боевик', u'Боевик'),
- (u'комеди', u'Комедия'),
- (u'(мело)?драма', u'Драма'),
- (u'мульт', u'Мультик'),
- (u'аниме', u'Аниме'),
- (u'(роман|любов)', u'Романтика'),
- (u'(xxx|эро|порн)', u'Для взрослых'),
- (u'приключен', u'Приключения'),
- ('.*', u'Без категории')
- )
- albums = []
- o = 0
- c = 100
- while 1:
- r = vk.api('video.getAlbums', {'offset': o, 'count': c})
- vk.delay(0.5)
- albums += r['items']
- o += c
- if o >= r['count']:
- break
- for pattern, catalog in patterns:
- if re.match(pattern, genre, re.I | re.U):
- break
- for album in albums:
- if album['title'].lower() == catalog.lower():
- return album['id']
- # создаем альбом
- vk.delay(0.5)
- r = vk.api('video.addAlbum', {'title': catalog})
- return r['album_id']
- def find_video(name, album_id):
- videos = []
- o = 0
- c = 200
- while 1:
- r = vk.api('video.get', {'offset': o, 'count': c, 'album_id': album_id})
- vk.delay(0.5)
- videos += r['items']
- o += c
- if o >= r['count']:
- break
- for video in videos:
- if video['title'].lower() == name.lower():
- return video['id']
- while 1:
- cur.execute('SELECT * FROM grab_videos WHERE year >= 2010 ORDER BY RAND() LIMIT 1')
- _, vk_oid, vk_vid, name, year, country, genres, director, actors, summary = cur.fetchone()
- name = name.decode('utf8')
- country = country.decode('utf8')
- genres = genres.decode('utf8')
- director = director.decode('utf8')
- actors = actors.decode('utf8')
- summary = summary.decode('utf8')
- text = u'[club%s|►►► Смотри фильмы здесь ◄◄◄]\n' % group_id
- text += u'Название: ' + name + '\n'
- text += u'Год: %s\n' % year
- text += u'Страна: ' + country + '\n'
- text += u'Жанр: #' + ', #'.join( genres.lower().split(', ') ) + '\n'
- if director:
- text += u'Режиссер: ' + director + '\n'
- if actors:
- text += u'В ролях: ' + actors + '\n'
- text += '\n' + summary
- album_id = get_album_id(genres)
- video_id = find_video(name, album_id)
- if not video_id:
- vk.delay(0.5)
- video_id = vk.api('video.add', {'owner_id': vk_oid, 'video_id': vk_vid})
- vk.delay(0.5)
- vk.api('video.moveToAlbum', {'album_id': album_id, 'video_ids': video_id})
- vk.delay(0.5)
- vk.api('video.edit', {'video_id': video_id, 'name': name, 'desc': text})
- vk.delay(0.5)
- post_id = vk.api('wall.post', {'message': text, 'attachments': 'video%s_%s' % (vk.user_id, video_id), 'from_group': 1, 'owner_id': -group_id})['post_id']
- vk.delay(0.5)
- vk.api('wall.repost', {'object': 'wall-%s_%s' % (group_id, post_id)})
- M = randint(15, 30)
- print u'Ждем %s минут' % M
- vk.delay(M * 60)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement