vk execute + args + python + requests

Продолжаю закреплять выученное своим горьким опытом и методом тыка по теме vk execute и python, наконец мои рученьки-загребученьки добрались до последнего оплота и просто приятного и некогда непонятного метода, и также к хранению процедур в приложении! Ура. В прошлом посте я рассказывал как передать строку с vk script сразу таки прям по воздуху, сырую и некрасивую, сегодня мне покорился вариант “хранимые процедуры” который позволяет тело скрипта хранить в приложении вк, а передавать по “воздуху” только необходимые и меняющиеся аргументы: id группы, id поста и так далее. Ближе к делу: каждая переменная, которая будет записываться переданным аргументом должна иметь такой вид: Args.var_name var comments = API.wall.getComments( {“owner_id”:(Args.owner_id), “post_id”:(Args.post_id), “need_likes”:”1″, “offset”:”0″, “count”:”100″, “sort”:”asc”, “preview_length”:”1″, “extended”:”0″, “v”:”5.27″}); var comments_cnt = comments.count; comments = comments.items;Short Read more…

vk execute

https://vk.com/dev/execute Продолжаю линейку ознакомительных постов на тему “в мире эльфийских языков программирования” или “говнокод – как стиль жизни“. Был вот такой вот пост, который вроде как-бы объяснял как сделать execute при помощи javascript и все такое: http://habrahabr.ru/post/248725/ но язык, которым была написана статья – выглядит настолько эльфийским, я уже не говорю про сраную разметку, которая съехала набикрень просто, как и моя голова, с несозревшими пайтоновскими правилами отступов тоже съехала. Так вот, пытаясь разобраться в этих письменах и отделить зерна от плевел, чтобы наконец понять, как работает этот долбанный vk execute мне пришлось убрать весь говнокод, чтобы найти чистый vk execute, также используя хорошую, но не очевидную, документацию ВК по ссылке выше, я смог родить то, чего пока, мне кажется, никто не родил: Простой иShort Read more…

vk execute method working example on python 3

vk execute   РУС: Сраный интернет и хабрахабры просто завален всякими говнопримерами про vk execute method, каждый круче предыдущего, и никто так и не смог написать нормальный код, я два дня пытался читать тот эльфийский говнокод, в который хабровчанин превратил пайтон, силясь понять что он куда передает, до тех пор, пока не послал все к “%s собачим” и не сделал методом тыка сам. Все оказалось пипецки просто, смотрите сами, код внизу спокойно себе возвращает то, что нам нужно. python(vk execute method): import requests owner_id = “-PAGE_ID” token = ‘TOKEN’ # may use return%20API.wall.get where “%20” is for HTTP encode of space symbol # also can work with regular space sybmol – in my version is working fine r = requests.post(‘https://api.vk.com/method/execute?access_token=’+token+’&code=returnShort Read more…

“Output” за год Python

Фиг знает, когда там принято делать выводы за год, я сделаю их сегодня. Ровно год назад, я поменял проект с простого сапорта виндовых серверов, на какой-то мудреный девелопмент-недопрограмминг. Для общего понимания читателю, если он читает – я ничего не смыслил в таких словах из программирования как: функция, переменная, стринги, интеджеры. То есть я как-бы основные понятия знал, даже что-то ковырял и делал на уровне сайта и ‘php’ (прости господи), но если я слышал, например слово “декоратор функции” или “лямбда функция” – я просто делал вид, что думал о чем-то более важном. Так вот, поставил я себе задачу, выучить этот ваш “Python” – задачу все еще выполняю, но мне кажется, я заслужил  на то, чтобы отметить один пройденный этап. Не смотряShort Read more…

For list of dicts: merge same key values, sum another diff. values, count each merge iteration +1 Python

If anybody can help me with some task? I have list of dicts(or tuples), where: if tuples: comment_id, user_id, comment_date, comment_time, comment_likes (‘51799’, ‘112801710’, ‘2015-12-07′, ’00:03:21’, ‘0’), (‘51761’, ‘112801710’, ‘2015-12-06′, ’19:31:46’, ‘3’), (‘51764’, ‘112801710’, ‘2015-12-06′, ’19:54:19’, ‘0’), (‘51741’, ‘112801710’, ‘2015-12-06′, ’14:17:34’, ‘2’), (‘51768’, ‘52879933’, ‘2015-12-06′, ’20:03:34’, ‘0’), (‘51766’, ‘52879933’, ‘2015-12-06′, ’21:33:34’, ‘0’), or can be converted to dict like: {‘comm_count’: 1, ‘user_id’: ‘217407103’, ‘likes’: 0}, comment_id – is always unique and cannot meet twice in this list, user_id – is not unique for this list, it can be there as much times as comments were left in the set of posts (naturally I wanted to use this as counter) comment_date and comment_time – can be ignored, needed to sel fromShort Read more…

Django + Python3.4 + Mysql(MariaDB)

Just hint for future me: [root@test smm_py]# vim settings.py [root@test smm_py]# python manage.py makemigrations import MySQLdb as Database ImportError: No module named ‘MySQLdb’ django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named ‘MySQLdb’ [root@test smm_py]# pip install mysql-python3 Collecting mysql-python Downloading MySQL-python-1.2.5.zip (108kB) 100% || 110kB 812kB/s ImportError: No module named ‘ConfigParser’ —————————————- Command “python setup.py egg_info” failed with error code 1 in /tmp/pip-build-t64nwwtb/mysql-python [root@test smm_py]# easy_install mysql-python ImportError: No module named ‘ConfigParser’ ImportError: No module named ‘ConfigParser’ [root@test smm_py]# pip3 install ConfigParser Collecting ConfigParser _KEYCRE = re.compile(ur”%\(([^)]+)\)s”) SyntaxError: invalid syntax —————————————- [root@test smm_py]# pip3.4 install –allow-external mysql-connector-python mysql-connector-python Collecting mysql-connector-python Downloading http://cdn.mysql.com/Downloads/Connector-Python/mysql-connector-python-2.0.4.zip (277kB) 100% || 278kB 3.7MB/s Successfully built mysql-connector-python Successfully installed mysql-connector-python-2.0.4 [root@test smm_py]# vim /smm_py/settings.py 76 77 DATABASESShort Read more…

Django + apache2 + mod_wsgi

This is conf file to allow apache run Django applications. # Web site at /var/www/smm_tools # Python scripts at /var/www/smm_tools/smm_py #LoadModule wsgi_module /usr/lib64/httpd/modules/mod_wsgi.so <VirtualHost *:80> ServerName smm.www.trianglesis.org.ua ServerAlias www.smm.www.trianglesis.org.ua ServerAdmin it@www.trianglesis.org.ua DocumentRoot /var/www/smm_tools/ ErrorLog “|/usr/sbin/rotatelogs /var/log/smm_tools/cargo.error.%Y-%m-%d.log 86400” CustomLog “|/usr/sbin/rotatelogs /var/log/smm_tools/cargo.access.%Y-%m-%d.log 86400” combined ServerSignature On Alias /css/ “/var/www/smm_tools/site/css” Alias /js/ “/var/www/smm_tools/site/js/” Alias /templates/ “var/www/smm_tools/site/templates/” Alias /fonts/ “/var/www/smm_tools/fonts/” #WSGIScriptAlias / /var/www/smm_tools/smm_tools.wsgi #WSGIPythonPath /var/www/smm_tools <Directory /var/www/smm_tools/smm_py/smm_py> <Files wsgi.py> Require all granted </Files> </Directory> WSGIDaemonProcess smm_tools python-path=/var/www/smm_tools/smm_py:/usr/local/lib/python3.4/site-packages/ WSGIProcessGroup smm_tools WSGIScriptAlias / /var/www/smm_tools/smm_py/smm_py/wsgi.py </VirtualHost> Use these links: https://www.digitalocean.com/community/tutorials/how-to-run-django-with-mod_wsgi-and-apache-with-a-virtualenv-python-environment-on-a-debian-vps https://www.digitalocean.com/community/tutorials/how-to-serve-django-applications-with-apache-and-mod_wsgi-on-ubuntu-14-04 https://docs.djangoproject.com/en/1.8/howto/deployment/wsgi/ Don’t forget to use correct IPs – domains, and addresses. Especially if proxy pass is used.     Read more…

Allow Apache run python scripts

This is a simple ex. to allow apache run .py # Python site at /var/www/py_site LoadModule wsgi_module /usr/lib64/httpd/modules/mod_wsgi.so <VirtualHost *:80> ServerName test.www.trianglesis.org.ua ServerAlias www.www.trianglesis.org.ua ServerAdmin test@test.com DocumentRoot /var/www/py_site/ <Directory /var/www/py_site> Order allow,deny Require all granted Allow from all </Directory> <Directory /var/www/py_site/cgi-bin> Options +ExecCGI Require all granted Allow from all Options +ExecCGI AddHandler cgi-script .cgi .pl .py AddHandler cgi-script .py </Directory> </VirtualHost>     Read more…

Going deeper with Python or HTMLParser and Vkontakte randomizer comes back!

Hello, for anybody who read this blog. Last time I’m trying to parse saved HTML page to get Vkontakte ids and randomly select one of them each time: here and here. Now I’ll try to go deeper and use different way to extract data from life webpage without sawing it to the folder with python script. For my opinion, using some googling I should use this: http://docs.python-guide.org/en/latest/scenarios/scrape/ http://stackoverflow.com/questions/2081586/web-scraping-with-python later I will add some more KB The small plan: Add URL of parsed page: to txt file – and them get it from file to python to console, after python request to user Get all found ids and save it list to file ids.csv optionally with Name+id or just id if names will produceShort Read more…

Python HTMLParser and Vkontakte randomizer

Finally I’ve finish my first “program” on Python. The task is to parse people’s id from web page where reposter’s id stores. Main problems were: web-page code is loading dynamically so there is no simple way to get ids from it, the best solution was – save section where id stores in .html file I wanted to catch id + nickname but list of pairs was not a good decision when random works I can’t create a list which stores all found ids, it wiped every iteration I have some unsupported chars in nicknames and they’d broke iteration I’ve get a lot of junk while scan .html so I used regex to avoid them I can’t add various ids in list withoutShort Read more…