Дилемма идиота

Что такое “дилемма идиота” для меня? Дилемма идиота это: привести ли весь свой говнокод в порядок и поставить его на новый модуль с хорошим, сложным и очень гибким планировщиком с БД и шлюхами, или перенести на временный легковесный модуль без БД за 5 минут, а пока все будет работать на легком модуле – плавно разбираться в более сложном но навороченном, или лучше вообще ничего не трогать и ну его нах? Inspired by: Легковесный планировщик: https://pypi.python.org/pypi/schedule/ Планировщик с блекджеком и шлюхами: https://pypi.python.org/pypi/APScheduler/ Read more…

Python schedule how to

Задачка на вечер: Дано: задание, которое нужно выполнять в заданные промежутки времени, модуль Python schedule. Задача: запускать одну и ту же задачу с разными значениями offset раз в 10 сек, так, чтобы 0ffset=119 запускался в 10 сек от начала каждой минуты, offset=219 на 20й секунде каждой минуты и так далее. Все что пока смог сделать – заставить выполняться задачу каждую 10ю секунду, НО! это грозит тем, что каждые 10 сек в очередь добавляется каждая след. задача, так что может выполняться все куда чаще, чем раз в 10 сек. Есть идея – сделать задержку в 10 сек после каждого добавления задачи в очередь, тогда может получиться задержка в 20 сек, потом выполнение подряд нескольких задач, и снова 20 сек задержки. СломалShort Read more…

Авто удаление комментариев Вконтакте

Автоматически удалять комментарии оставленные НЕ подписчиков группы? Модуль, который проверяет каждый оставленный комментарий в первых 10 и 50-100 постах на предмет того, оставлен ли он участником группы. Логика действий простая: получить все комментарии с айди (словарь вида: айди_коммента, айди_автора, время_коммента) авторов каждого комментария, проверить есть ли айди автора комментария в списке участников группы, если нет – составить список значений из списка словарей выше, далее запустить луп, в котором удалять каждый комментарий ил списка словарей комментариев, которые оставлены не участниками группы. Данная логика не рассматривает использование vk_execute, но в моем модуле он используется. Возможно, я расскажу именно о vk_script когда-нибудь позднее, когда закончу разработку всех мыслимых модулей, которые запланировал внедрить. На основе: http://trianglesis.org.ua/vk-execute-args-python-requests Последнее время работаю над системой, которая выполняет рутинноеShort Read more…

Atlassian Confluence REST API Making request and keep the session (Eng)

In this topic I’ll show you how to make session to Atlassian Confluence with python requests and keep it in memory. Based on: http://docs.python-requests.org/en/master/ https://docs.python.org/2.7/library/json.html https://confluence.atlassian.com/confkb/confluence-url-list-317949394.html https://developer.atlassian.com/confdev/confluence-server-rest-api/confluence-rest-api-examples For someone who found this topic by “search machines”, there is some more detailed how-to – probably can help you: https://www.guru99.com/restful-web-services.html Python requests module: At first you should know and understand how requests works, basically. Check how your confluence works: Next – you should know the point, where is your Confluence server make authorisation, in my situation it lies here (this is looks cozy, but this is our company’s way. In your situation it can be simpler, as documented in links above): https://docs.YOURCOMPANYMAME.com/docs/dashboard.action?os_username=configipedia_service_account&os_password=PASSWORD Then you compose a request like:

This will executeShort Read more…

Atlassian Confluence REST API Logic structure (Eng)

Read this article after you know how to make REST API request to Atlassian Confluence! This topic will show you some part of internal scheme of Confluence API and hierarchy. Based on: https://developer.atlassian.com/confdev/confluence-server-rest-api/confluence-rest-api-examples https://confluence.atlassian.com/doc/confluence-wiki-markup-251003035.html https://docs.atlassian.com/atlassian-confluence/REST/latest/ So, looking on the Confluence docs all this scheme looks like well-structured logical system, but it has some difficulties, just as for me. Before you POST of GET something will be better if you make a probing GET request to see the whole structure in your organisation. In this example you will get those arguments:

  # Confluence stats space_page = This is the page of your Confluence account. Check if was created, sometimes new account have no space. space_root_page = This is theShort Read more…

Atlassian Confluence REST API (Eng)

How to work with REST API Confluence. Rus What is this topic about? API structure in Atlassian Confluence. Objects, files, relations etc. How to compose API request in Atlassian Confluence? How to open session and hold it on – ! Making headers with requests and – json ! Send a file or file content with wiki markup on Confluence – ! Interpret server answers. What is the difference between “representation“:”storage” and “markup” in Atlassian Confluence? Macro and markup About “Atlassian Confluence” you can read here. https://www.atlassian.com/software/confluence https://wikipedia.org/wiki/Confluence Who need this? For those, who wants to automate documentation stage of DEV. For those, who wants to understand how does python requests working? For my own – to not forger this lesson. When IShort Read more…

Atlassian Confluence REST API

Как работать с REST API Confluence. Eng  О чем этот топик? Структура API в системе Confluence. Объекты, файлы, статьи, родство и проч. Формирование запроса(адреса) в API Confluence Открытие сессии и удержание её в памяти – ! Формирование заголовков при помощи модуля requests и – json ! Отправка файла, содержания файла, вики-разметки на сервер Confluence – ! Интерпретируем ответы от сервера Что такое Atlassian Confluence вы можете почитать здесь: https://www.atlassian.com/software/confluence https://ru.wikipedia.org/wiki/Confluence Кому нужен этот топик? Тем мученикам, которые хотят автоматизировать процесс написания/отправки документации в разработке. Тем мученикам, которые как и я, по очевидным примерам не могут разобраться в модуле requests касаемо работе с заголовками. Мне самому, чтобы не забыть свой “подвиг” и все его наработки, так как память имеет свойство “стираться”.   В тот момент, когдаShort Read more…

Python Run External Command And Get Output On Screen or In Variable

Отседова: http://www.cyberciti.biz/faq/python-run-external-command-and-get-output/ The basic syntax is:

Run ping command to send ICMP ECHO_REQUEST packets to www.cyberciti.biz:

Свой вариант:

Чисто чтобы не забыть, себе шпора. Быть может очень скоро пригодится. С аутпутами пока не разбирался, как-то лениво, начну делать тулзень для автоматизации работы – разберусь по пути! How do I get real time output from my commands on screen? The p.communicate() has a few problems: The data read is buffered in memory, so do not use this method if the data size is large or unlimited. It will block next statement till external command is completed i.e. you will not get real time output from the command. The following program will run netstat unix command and start displayShort Read more…

Django fast hints

Here some fast hints to remember: Migration:

  Alias /static/ “/var/www/smm_tools/site/”   Read more…

Что необходимо сделать, для подключения “Вождь Бот”?

Сейчас Вождь Бот работает в тестовом режиме, пока у него нет ни своего сайта, ни кабинета управления, ничего. Поэтому, для его подключения придется выполнить все эти процедуры: Основные действия: Сгенерировать токен, для доступа нашего приложения к вашей группе от вашего имени (легко отменяется, при необходимости); Собрать необходимые id: группы – для которой будет работать Вождь Бот, администратора от имени которого будет происходить работа Вождь Бот; Создать необходимые wiki страницы(ссылки на них в виде: vk.com/page-000000_000000), на которые Вождь Бот будет публиковать данные, статистику; Придумать текст для постов, картинки которые вы хотите использовать. Текст следует просто передать как есть. Картинки необходимо загрузить в альбом группы, и дать ссылки на них в виде: vk.com/photo-00000_000000 Определиться со временем выхода постов на стену. Детальнее о каждом:Short Read more…