Уведомления

Группа в Telegram: @pythonsu

Уведомления

  • Found 3494 posts.

Python для новичков » tyne-mce или код на страницах » Март 26, 2013 08:53:45

Подскажите как в tyne-mce подключить возможность вставки кода как на этом форуме
то что: квадратная скобка - code - квадратная скобка

интересует кв.скобка - code python - кв.скобка
поэтому сюда именно пишу

Спасибо

спустя месяц: кто-нибудь?

спустя еще месяц: кто-нибудь, спалите тему…

Django » Как добавить feincms в новый проект? » Март 24, 2013 16:42:01

Как добавить feincms в новый проект? Судя по документам это видимо очень просто, но до меня что-то не доходит…

Python для новичков » Поиск извесного элемента на изображении » Март 24, 2013 15:11:23

Здравствуйте!
Допустим, есть скриншот форума и есть отдельная картинка с чьи-нибудь аватаром. Для простоты вырезанная из того же скриншота. Как можно осуществить поиск на скриншоте аналогичных аватаров, используя образец?
Спасибо!

GUI » Win кликабельное бабл-уведомление » Март 24, 2013 01:11:45

Всем доброй ночи.

Мне нужен готовый вариант вывода уведомлений в Windows, средствами win32api (можно и другие библиотеки, но очень нежелательно). Нашел это. Все прекрасно, но не хватает возможности указать действие при клике на уведомление (желательно, чтобы указывалась ссылка на нужную функцию)…

Если кто поможет дописать этот класс, либо подскажет уже существующее решение — буду очень благодарен.

Python для новичков » sympy и вычеты » Март 23, 2013 14:58:09

Вопрос в следующем: как вычислить вычет в полюсе(-ах) гиперболического тангенса, используя python и библиотеку sympy? Существует функция residue(expr, x, x0), но в данном случае получается вот что (использую isympy):

 
from __future__ import division
from sympy import *
x, y, z, t = symbols('x y z t')
k, m, n = symbols('k m n', integer=True)
f, g, h = symbols('f g h', cls=Function)
In [1]: residue(tanh(x), x, 3*I*pi/2)
---------------------------------------------------------------------------
PoleError                                 Traceback (most recent call last)
/.../.../<ipython-input-1-06ae92309a12> in <module>()
----> 1 residue(tanh(x), x, 3*I*pi/2)
/usr/lib/python2.7/dist-packages/sympy/series/residues.pyc in residue(expr, x, x0)
     43     if x0 != 0:
     44         expr = expr.subs(x, x+x0)
---> 45     s = expr.series(x, 0, 0).removeO()
     46     # TODO: this sometimes helps, but the series expansion should rather be
     47     # fixed, see #1627:
/usr/lib/python2.7/dist-packages/sympy/core/expr.pyc in series(self, x, x0, n, dir)
   1560 
   1561         if n != None: # nseries handling
-> 1562             s1 = self._eval_nseries(x, n=n, logx=None)
   1563             o = s1.getO() or S.Zero
   1564             if o:
/usr/lib/python2.7/dist-packages/sympy/core/function.pyc in _eval_nseries(self, x, n, logx)
    378                 term = e.subs(x, S.Zero)
    379                 if term.is_bounded is False or term is S.NaN:
--> 380                     raise PoleError("Cannot expand %s around 0" % (self))
    381                 series = term
    382                 fact = S.One
PoleError: Cannot expand tanh(x + 3*I*pi/2) around 0 

В то время как с обычным тангенсом дела обстоят нормально:

In [2]: residue(tan(x), x, 3*pi/2)
Out[2]: -1

Сразу оговорюсь, что не являюсь уверенным пользователем python и sympy, изучаю на ходу, и разобраться во всем ворохе нюансов sympy так с разбегу не просто. Подозреваю, что переменная должна быть комплексной, но как это сделать? Если кто-то сможет прокомментировать, буду очень благодарен

Python для новичков » rs485 modbus rtu python » Март 23, 2013 07:42:44

Добрый день! Подскажите, пожалуйста, как разобраться с такой вот задачей:

Есть устройство, подключаемое посредством USB, используется протокол Modbus и интерфейс RS485, сейчас там просто (передача напряжения) просто передача двух чисел, использую
python -m serial.tools.list_ports
вижу свой порт, затем
>>> import serial
>>> ser = serial.Serial('/dev/ttyUSB0', 9600)
>>> ser.isOpen()
True
>>> ser.inWaiting()
0
>>> print ser.read(ser.inWaiting())
тут вообще ничего не выводит

Затем ser.write(“03”)
Т.к. я коды не сильно помню, просто использую некоторые коды типа сколько переменных в буфере - пишет две, что верно, потом пишу вывести переменную ser.write(“param”) - пишет число, но это значение точно неверное.

Я думаю все проблемы в моём понимании это задачи, и поэтому прошу совета и прошу просто подклиться ссылками на примеры.

Заране большое спасибо.

Django » Часовые пояса и время из формы » Март 22, 2013 11:07:24

Я что-то совсем запутался с часовыми поясами.
На данный момент у меня получается так: есть форма, в которой вводится время, далее в представлении эта дата преобразовывается в объект datetime с опцией tzinfo=timezone.utc
После этого при рендере шаблона, время в нём отображается со сдвигом +4 часа. Получается при вводе времени из формы я его неверно преобразую в utc (т.е. преобразую, но не добавляю сдвиг)?
Что я делаю неверно? Нужно правильно перевести в utc перед добавлением в базу или наоборот, сделать перевод в локальное время прямо в шаблоне?
Код примерно такой:

from django.utils import timezone
fdate_time = datetime.datetime.strptime(mydatetime, '%d.%m.%Y %H:%M').replace(tzinfo=timezone.utc)

И что правильно использовать, timezone из django.utils или pytz? Я так и не могу понять.
Спасибо.

Python для новичков » Matplotlib » Март 21, 2013 14:26:09

Всем привет!

Необходимо нарисовать простой график с помощью matplotlib.

vol =

plt.plot(vol, ‘r|’)
plt.ylabel('Volume')
plt.show()

В данном случае рисуются красные черточки, как можно привести данный график к виду гистограммы?
Так, чтобы линии были до самой оси x. То есть в итоге получалась как бы линия с заливкой до оси х.
Спасибо.

Флейм » Команда разработчиков » Март 20, 2013 13:22:15

MadBeans - веб-студия от опытной команды разработчиков. Мы предоставляем целый спектр услуг для вашего интернет бизнеса.

Мы поможем решить Вам любые проблемы, которые связаны с сайтом или сервисом и обеспечим долгосрочную поддержку.

Мы занимаемся разработкой, поддержкой, оптимизацией сайтов. Используемые нами технологии включают наиболее продвинутые и популярные фреймворки и библиотеки. Большой опыт работы позволяет нам с уверенностью сказать, что даже самому технически слабому заказчику мы поможем решить любые проблемы, честно и качественно.

Наша основная задача - это решить все Ваши проблемы в одном месте. Мы поможем перенести, оптимизировать, изменить или переписать ваш сайт. Мы поможем вашему бизнесу правильно провести рекламную компанию в интернете, направленную на социальный, поисковый или контекстный трафик.

Если Ваш сайт требует много ручной и рутинной работы - мы поможем вам автоматизировать любые аспекты работы. Мы улучшим качество связи с вашими клиентами, поможем Вам сэкономить время и драгоценные ресурсы.

Мы поможем вам разработать техническое задание и предложим все возможные пути решения проблем, чтобы вы сделали выбор, который подходит лучше Вам. Мы поможем вам превратить идеи в полноценный проект.

Основные языки нашей студии это PHP и Python. Используемые фреймворки - Yii, CodeIgniter, Symfony, Django, jQuery, Scrapy. База данных MySQL + NoSQL, Sphinx. Разработка плагинов и тем для Wordpress. Подключение платёжных систем.

Помимо разработки веб-сайтов мы сможем построить любые системы сбора данных, SEO инструменты, поможем исследовать рынок автоматическими средствами. Повысим доход вашего интернет магазина. Оптимизируем MySQL. Автоматизируем резервное копирование базы данных, обработать огромное количество данных для нас не проблема. Мы поможем перевести Ваш сайт на другой язык, а так же перенесем ресурс на другой сервер без потери “uptime”. Поможем повысить конвертацию вашего сайта, сделать промо или лендинг страницы. Сделаем полноценный анализ сайта на наличие ошибок, нагрузку.

Пожалуйста, обращайтесь к нам по любым вопросам, даже когда Вы не уверены что мы можем Вам помочь. Мы возьмемся за решение Ваших проблем, только если действительно будем уверены в нашей полезности.

Контакты для связи:
ICQ: 301029885
Skype: mad.beans
Email: support@madbeans.net

Python для новичков » SimpleXMLRPCServer импортирование всех модулей » Март 14, 2013 16:41:36

Есть один питон со своим деревом импортированых модулей.
Есть второй питон.
Можно ли как то с помощью SimpleXMLRPCServer\xmlrpclib импортировать все модули первого питона во второй, то есть все что в __main__? Другими словами нужно подключится к серверу и при этом иметь доступ ко всем членам сервера

Python для новичков » Python+Postgresql+cyrillic » Март 12, 2013 14:12:35

Добрый день!
Я в python новичок.
Прошу помочь со следующим.
Дергаю я из Postgresql некий скрипт на сервере (отправка почты на основе содержания таблиц):

# -*- coding: utf-8 -*-
"""
    amazon_sender.py
    ~~~~~~~~
    Python helper class that can send emails using Amazon SES and boto.
    The biggest feature of this class is that encodings are handled properly.
    It can send both text and html emails.
    This implementation is using Python's standard library 
    (which opens up for a lot more options).
    Example::
        amazon_sender = AmazonSender(AWS_ID, AWS_SECRET)
        amazon_sender.send_email(sender=u'???? <john@doe.com>',
                                 to='blah@blah.com',
                                 subject='Hello friend',
                                 text='Just a message',
                                 html='<b>Just a message</b>',
                                 sender_ascii='Ascii Sender <no_reply@wedoist.com>')
    :copyright: 2011 by Amir Salihefendic ( http://amix.dk/ ).
    :license: BSD
"""
import types
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.utils import COMMASPACE
from boto.ses import SESConnection
class AmazonSender(object):
    client = None
    def __init__(self, aws_key, aws_secret):
        self.aws_key = aws_key
        self.aws_secret = aws_secret
    def send_email(self, sender,
                         to_addresses,
                         subject,
                         text,
                         html=None,
                         reply_addresses=None,
                         sender_ascii=None):
        if not sender_ascii:
            sender_ascii = sender
        client = self.get_client()
        message = MIMEMultipart('alternative')
        message.set_charset('UTF-8')
        message['Subject'] = _encode_str(subject)
        message['From'] = _encode_str(sender)
        message['To'] = _convert_to_strings(to_addresses)
        if reply_addresses:
            message['Reply-To'] = _convert_to_strings(reply_addresses)
        message.attach(MIMEText(_encode_str(text), 'plain'))
        if html:
            message.attach(MIMEText(_encode_str(html), 'html'))
#        return client.send_raw_email(sender_ascii, message.as_string(),
#                                                   destinations=to_addresses)
	return client.send_raw_email(message.as_string(), sender_ascii,
                                                   destinations=to_addresses)
    def vertify_email(self, email):
        client = self.get_client()
        return client.verify_email_address(email)
    def get_client(self):
        if not self.client:
            self.client = SESConnection(self.aws_key,
                                        self.aws_secret)
        return self.client
#--- Helpers ----------------------------------------------
def _convert_to_strings(list_of_strs):
    if isinstance(list_of_strs, (list, tuple)):
        result = COMMASPACE.join(list_of_strs)
    else:
        result = list_of_strs
    return _encode_str(result)
def _encode_str(s):
    if type(s) == types.UnicodeType:
        return s.encode('utf8')
    return s

Все бы хорошо, если бы в html не привалило, что-то в кирилике из поля базы.
Как результат имеем
ERROR: UnicodeDecodeError: ‘ascii’ codec can't decode byte 0xd0 in position …..

Дико прошу помощи!!!!!!



!!!!!
[code python][/code]

!!!!!




GUI » Пропадает свойство[PyQT] » Март 12, 2013 11:31:59

Есть такой класс:
class QProxyTypeBox(QtGui.QGroupBox):
    '''
    Бокс для выбора типа прокси.
    Атрибуты:
    proxy_type - Может принимать значение: SOCKS4\SOCKS5\HTTP\NONE
    '''
    def __init__(self, parent=None):
        super(QtGui.QGroupBox, self).__init__(parent)
        self.setTitle(u'Тип прокси')
        self.proxy_type = 'HTTP'
        self.layout = QtGui.QVBoxLayout()
        self.layout.setContentsMargins(5, 5, 0, 0)
        self.layout.setAlignment(Qt.AlignLeft)
        self.layout.setSpacing(0)
        self.button_group = QtGui.QButtonGroup(self)
        self.button_group.buttonClicked.connect(self._button_clicked)
        proxy_types = ('SOCKS5', 'SOCKS4', 'HTTP', 'NONE')
        for t in proxy_types:
            b = QtGui.QRadioButton(t)
            self.button_group.addButton(b)
            self.layout.addWidget(b)
        self.button_group.buttons()[1].setChecked(True)
        self.setMaximumWidth(100)
        self.setLayout(self.layout)
    def _button_clicked(self, button):
        self.proxy_type = str(button.text())
    def setNoneButtonEnabled(self, enabled):
        self.button_group.buttons()[-1].setEnabled(enabled)
    def getNoneButtonEnabled(self):
        return self.button_group.buttons()[-1].enabled()
    
    noneButtonEnabled = pyqtProperty(bool, getNoneButtonEnabled,
                                    setNoneButtonEnabled)

Проверяю так.
    app = QtGui.QApplication([])
    p = QProxyTypeBox()
    p.show()
    p.noneButtonEnabled = True
    print p.noneButtonEnabled
    exit(app.exec_())

Ошибка:
print p.noneButtonEnabled
AttributeError: 'QProxyTypeBox' object has no attribute 'noneButtonEnabled'

Если вызвать dir(p) атрибут будет в списке.

Если закомментировать print все работает.

Разобрался.
Ошибка была тут:
return self.button_group.buttons()[-1].enabled() #Нету свойства enabled, есть isEnabled
Почему-то, вместо ексепшенапросто пропадал аттрибут.

Mobile Python » HTTPS запросы в Python 1.4.5 » Март 11, 2013 17:17:50

Друзья! Пишу программу на питоне 1.4.5. Основная её функция - соединение с сервером по протоколу HTTPS (порт 443). Для этого использую модуль httplib. Вот код-пример одного запроса на сервер:
import httplib, base64, urllib
def tU(x): return unicode(x)
def fH(x): return x.decode('hex')
def tH(x): return x.encode('hex')
def fU8(x): return x.decode('u8')
def tU8(x): return x.encode('u8')
def fB64(x): return x.decode('base64')
def tB64(x): return x.encode('base64')
def YaDiskPropfind(method,url,body,headers):
    conn = httplib.HTTPSConnection("webdav.yandex.ru", port=443)
    conn.request(method=method,url=url,body=body,headers=headers)
    resp = conn.getresponse()
    print '%s - %s'%(str(resp.status),str(resp.reason))
    r=resp.read()
    return r
# Метод соединения
_method = 'PROPFIND / HTTP/1.1'
# Директория на сервере
_url = None
# Тело запроса
_body = """<D:propfind xmlns:D="DAV:">
   <D:prop>
      <D:quota-available-bytes/>
      <D:quota-used-bytes/>
   </D:prop>
</D:propfind>"""
# Заголовки с параметрами запроса
_headers = {
   "User-Agent": "Yandex Disk S60",
   "Content-Type": "text/xml",
   "Content-Length": str(len(_body)),
   "Host": "webdav.yandex.ru",
   "Accept": "*/*",
   "Depth": "0",
   "Authorization":
"Basic %s"%tB64("<ИМЯ_АККАУНТА>:<ПАРОЛЬ>")[:-1]
}
    
print tU(YaDiskPropfind(_method,_url,_body,_headers))

Этот код отлично работает у меня на Python Runtime (1.9.6), но на 1.4.5 он никак не может прочитать ответ от сервера, выдавая вот такую ошибку:

Traceback (most recent call last):
  File "E:\private\2000b1a5\default.py", line 81, in menu_action
    f()
  File "E:\private\2000b1a5\default.py", line 65, in query_and_exec
    execfile(script_list[index][1].encode('utf-8'), script_namespace.namespace)
  File "c:\python\FreeSpace.py", line 41, in ?
    print tU(YaDiskPropfind(_method,_url,_body,_headers))
  File "c:\python\FreeSpace.py", line 16, in YaDiskPropfind
    r=resp.read()
  File "E:\HTTPLIB.PY", line 239, in read
    s = self.fp.read()
  File "E:\HTTPLIB.PY", line 810, in read
    assert not self._line_consumed and self._line_left
AssertionError

Поковырявшись в исходниках некоторых модулей и на разных форумах, я узнал, что в 1.4.5 отсутствует модуль ssl, необходимый для HTTPS соединений м поэтому модуль HTTPLIB пытается обходиться без него и в результате чего вылетает такая ошибка. Третий день уже ничего с этим поделать не могу. Писать программу на PyS60 Runtime я не хочу, потому что в нём отсутствуют многие нужные мне модули.

Вопрос: Как в питоне 1.4.5 проделывать такие операции с HTTPS запросами безо всяких ошибок. Куда жать, чтобы работало всё? :)

Python для новичков » Не импортируются модули при работе через cgi » Март 11, 2013 04:32:59

Такая проблема…
Есть скрипт.
Предназначен для запуска из web, у меня отрабатывает как надо.
Еще у одного человека тоже все ок.
На нужном сервере апач отдает 500 ошибку.
Собственно кусок скрипта где возникает проблема.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
import cgitb
import cgi
import simplejson as json #Тут он ругаеться что не может импортировать json 

Ошибка:
[Sun Mar ] [error] [client ***********] Traceback (most recent call last):
[Sun Mar ] [error] [client ***********]   File "/var/www/html/main.py"
[Sun Mar ] [error] [client ***********]     import json, referer
[Sun Mar ] [error] [client ***********] ImportError: No module named json
Аналогично с simplejson, хотя из консоли на этом же сервере все ок импортируеться.
От чего такое м.б?
ОС там Centos, web-сервер Apache2.

Центр помощи » порядок выполнения » Март 6, 2013 20:16:12

имеется Код
для приложения “Тюряга” в контакте. как мне сделать что бы скрипт выполнял
def do_city_action():
    global sigs, u, k
    while True:
        action_id = 1
        while action_id < 8:
            for _ in range(0,5):
                post = urllib.parse.urlencode({
                'method' : 'doCityAction',
                'city' : '1',
                'action_id' : str(action_id),
                'action_type' : '3',
                'sig' : random.choice(sigs),
                'user' : u,
                'key' : k
                })
                response = request(post)
                print('Выполнил задание')
                if int(minidom.parseString(str(response, 'utf8')).getElementsByTagName('energy')[0].firstChild.data) < 10:
                    time.sleep(40*5*60)
            action_id +=1

не рандомно а например по порядку и определенное количество раз. например первую sigs 9 раз, после чего перешел на вторую и т.д.

Django » Отображение картинок в admin панели » Март 4, 2013 19:55:16

Добрый вечер

Хочу создать простой и удобный админ интерфейс для добавление статей. Для оформления использую tinymce, для работы с картинками использую imagekit.  
Сейчас так реализовал отображение картинок в админке:
admin.py
class AdminImageWidget(AdminFileWidget):
    def render(self, name, value, attrs=None):
        output = []
        if value and hasattr(value, "url"):
            obj = Image.objects.get(image=value)
            output.append(('<a target="_blank" href="%s"><img src="%s"></a>' % (value.url, obj.thumbnail.url)))
        output.append(super(AdminImageWidget, self).render(name, value, attrs))
        return mark_safe(u''.join(output))
class ImageInline(admin.StackedInline):
    model = Image
    formfield_overrides = {
        models.ImageField: {'widget': AdminImageWidget},
    }

Смущает, что приходится делать еще один запрос к базе в классе AdminImageWidget.   
Может кто-то подскажет более правильное решение?

Python для новичков » Скомпильните модуль » Фев. 27, 2013 14:26:52

pyopenssl под винду содержит openssl 2009 года. Может кто-то перекомпилировать его с последней версией?

Почему нельзя просто заменить dll openssl? Если так сделать, прога падает с сегфолтом.

Web » Flask + MoinMoin » Фев. 27, 2013 09:33:53

Есть ли возможность подключить к Flask MoinMoin через Blueprints?

Network » Py 3.x и LDAP » Фев. 26, 2013 11:46:35

Необходимо из под python 3.3 подключиться к LDAP серверу, и выбрать значения согласно фильтру.
Не смог найти ничего адаптированного для 3.x версий, может кто поделиться рецептом.

Django » Добавление django-guardian прав к экземпляру объекта потомка некоторой модели » Фев. 26, 2013 10:01:57

Как сие правильно сделать?
Вот есть у нас, например, такая моделька:
class CommentWithTitle(Comment):
    title = models.CharField(max_length=300)
    @models.permalink
    def delete_comment_url(self):
        return ('delete_comment', (), {'comment_id': self.pk,})

И хочется, чтобы пользователь мог редактировать и удалять свои комментарии. Реализуется этот функционал через django-guardian. Если рассматривать случай не с комментарием, а с записью в блоге - то там можно сразу в представлении присваивать нужные права доступа. С комментарием чуть посложнее - своих представлений у нас нет. Интуитивно руки тянутся вписать присваивание прав на экземпляр в конструктор модели:

class CommentWithTitle(Comment):
    title = models.CharField(max_length=300)
    def __init__(self, *args, **kwargs):
        print "new init assign permissions"
        super(CommentWithTitle, self).__init__(*args, **kwargs)
    @models.permalink
    def delete_comment_url(self):
        return ('delete_comment', (), {'comment_id': self.pk,})

Но оказывается конструктор вызывается не только при добавлении экземпляра в БД, но и при извлечении его оттуда, а это уже как-то не комильфо получается.
Как такие вещи правильно реализуются? Создаётся специальное представление для присваивания прав, на которое при добавлении комментария происходит перенаправление по параметру next, и которое потом тоже перенаправляет пользователя обратно на страницу?