Уведомления

Группа в Telegram: @pythonsu

Уведомления

  • Found 3486 posts.

Python для новичков » Пытаюсь получить координаты арматуры из Blender и переместить ее. » Ноя. 9, 2010 16:21:48

Но после выполнения такого скрипта
#get blender API for work with Armatures
from Blender import Armature
from Blender.Mathutils import *

ourArm = Armature.Get('Armature.002')
ourArm == Vector(0,0,0)
ourArm.update()
Арматуры улетают в никуда.

Хотя я думал, что 0,0,0 это самый центр сетки координат, то есть Blender должен переместить выбранную арматуру в центр.
Еще, скажите пожалуйста, как узнать текущие координаты арматуры?

Флейм » Требуется Python-программист в Харьковский офис » Ноя. 4, 2010 10:17:49

Открыта вакансия “Python-программист”
Нужен Python-программист для создания десктопного Python-приложения. В обязанности будет входить проектирование архитектуры и разработка приложения. Работа в офисе.
Требования:
- опыт работы больше 1 года;
- опыт GUI-программирование. Желательно wx;
- понимания разработки распределенных систем;
- написание кода в общепринятых стандартах;
- плюсом будет опыт разработки Веб-приложений;
- знание английского приветствуются.
Условия работы:
- достойный уровень зарплаты;
- соц.пакет;
- дружный коллектив профессионалов.

Обращаться можно сюда: 637356284 (аська)

Django » FloatField и возможные проблемы :( » Ноя. 2, 2010 10:55:54

Мне тут вчера, весьма надежный источник нашептал про FloatField:
ну собственно проблема может возникнуть с расположением запятой… ого с запятой , то есть сумма может не сойтись в несколько тысяч :(, не по феншуйски
примерное описание проблемы:
первая сумма внесена целым числом (101), вторая с запятой (101.50) … последовательность не определена что должно попасть первым, но приводит к смещению запятой

ЗЫ
у себя я такого пока не встретил, но если это реальность, то как такого избежать ?

Network » TCP. » Окт. 30, 2010 23:15:33

Всех приветствую!

Нужно “вручную” клепать заголовки TCP их слать по сети.
Т.е. самостоятельно заполнять все поля заголовка TCP-пакета. И желательно отслеживать результат (думаю это можно снифером каким нибудь проследить)

Что посоветуете?




=========ADD=========

вот нагуглил примерно то что нужно, но реализовано на другом языке….
тут можно ссылки на др. форумы постить?) http://forum.vingrad.ru/forum/act-ST/f-86/t-200951.html

там пример на паскале, меня интересует есть ли что-то вроде TCPHeader на питоне?

Network » Алгоритм выбора параметров upload » Окт. 30, 2010 06:44:21

Привет всем!
Есть сервер на который нужно закачивать информацию, из разных мест, с разными скоростями интернета и т.д.
Вообщем большие файлы не всегда удается закачать и их приходится делить на части.
Кроме того система upload&download поддерживает многопоточность, качать и закачивать можно несколькими потоками.
По какому алгоритму можно выбрать оптимальное количество потоков и число частей на которые бить файл.
Я понимаю что вопрос наверное для целого научного исследования, но может кто нибудь знает хоть в какой литературе можно почитать про это.
Заранее спасибо, всем откликнувшимся

Python для новичков » Нужна помощь с разработкой простенького icq » Окт. 28, 2010 11:22:01

Всем привет!
Я новичок в питоне, поэтому нужна помощь. Помогите, если кому не лень )
Значит, нужно сделать подключение с серверу ICQ (вводя логин и пароль). Затем нужно по введенному UIN какого-нибудь контакта и отправить ему текстовое сообщение. Вроде все просто, но возникли проблему. Пробовал подключаться по сокету через прокси: подключение есть, но при попытке отправить сообщение, выбивает, что связь прервана. вот код, посмотрите кому не сложно:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import urllib
import httplib
import time
import datetime
import socket

TLV_UIN=0x01
TLV_PWD=0x02
TLV_REDIR=0x05
TLV_COOKIE=0x06
CLIENT_='AOL Instant Messenger'
s=''
chain=''
seq=''
sequ=0
runn=0
total_send=0
total_recv=0
xor_table=

proxyserver = ‘93.166.121.106’
proxyport = ‘8118’
host = ‘login.icq.com
port = ‘5109’
st=“CONNECT login.icq.com:5190/ HTTP/1.0\n\r\n”
uin = “свой UIN”
password = “свой пароль”
proxyadress=(proxyserver,int(proxyport))

print “Идет подключение к прокси-серверу…”
print “***********************************”
try:
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((proxyadress))
print “Подключение выполнено!”
print “*********************”
print “Посылка запроса к прокси-серверу для связи с ICQ-сервером …”
print “*************************************************************”

try:
s.send(st)
print “Запрос отправлен успешно!”
print “************************”
print “Попытка получения данных с сервера…”
print “************************************”

try:
d=s.recv(1024)
d=d.split(“ ”)
print “Данные успешно получены! - ”,d
print “***********************************************************************”

td=d#Здесь берем концовку ответа от прокси, в котором содеожится ответ от icq
td=td.split(“*”)
td=td
td2=td
td3=“\x2a”+td2#Немного подкорректировали и получили нужный нам ответ
print “Вывод данных с сервера: -” , td3
print “***********************************************************************”
print “Подождите…”
print “************”

try:
buf=get_PLAP(td3)
print ‘Успешно! - ’+u
print “********”
print “Посылка ‘Привета’…”
print “********************”

try:
send_HELO()
print ‘Успешно!’
print “*******”
print ‘Пожалуйста, подождите…Идет получение пакета…’
print “************************”

try:
buf=get_PLAP(“i”)
print “Пакет получен Успешно!”
print “Проверка пароля…”
print “******************”

try:
tlv_chain=proc_tlv(buf)
cookie=tlv_chain
h,p = string.split(tlv_chain,':')
print “password ok”
print “Получено: ”, h,p

except:
print “ERROR! Пароль неверный!”
s.close()
del s
print “Программа закрыта!”

except:
print “ERROR в получении пакета!”
s.close()
del s
print “Программа закрыта!”

except:
print “ERROR в отправке ПРИВЕТА!”
s.close()
del s
print “Программа закрыта!”

except:
print “Неизвестная ERROR!”
s.close()
del s
print “Программа закрыта!”

except:
print “ERROR в получении данных!”
s.close()
del s
print “Программа закрыта!”

except:
print “ERROR!!! Запрос не отправлен!”
s.close()
del s
print “Программа закрыта!”

except:
print “ERRROR с подключением!”
s.close()
del s
print “Программа закрыта!”




то, что в консоле:
Идет подключение к прокси-серверу…
***********************************
Подключение выполнено!
*********************
Посылка запроса к прокси-серверу для связи с ICQ-сервером …
*************************************************************
Запрос отправлен успешно!
************************
Попытка получения данных с сервера…
************************************
Данные успешно получены! -
***********************************************************************
ERROR в получении данных!
Программа закрыта!

Python для новичков » Работа с хранилищем сертификатов » Окт. 28, 2010 08:27:06

Доброго всем дня, уважаемые!

Подскажите, пожалуйста, если знаете, как из нашего любимого и всеми почитаемого питона работать с хранилищем сертификатов(Установка-удаление сертификатов, подписывание и шифрование данных и.т.д.). Нужно решение и для WINDOWS, и для Linux. Заранее благодарен

GUI » Передача данных между классами-потоками » Окт. 27, 2010 15:21:28

Доброго времени суток.
Использую модуль wx для написания GUI-приложения. Есть класс MainFrame, управляющий работой компонентов, есть класс-поток WorkerThread, отнаследованный от threading.Thread, есть класс ThreadInfo, содержащий информацию для работы потока WorkerThread. В классе MainFrame вызывается диалог типа wx.TextEntryDialog. Введенную в этот диалог строку необходимо передать потоку WorkerThread для его дальнейшей работы.
Подскажите, пожалуйста как это можно организовать без использования глобальных переменных.

Network » snmp trap host - имеет смысл? » Окт. 26, 2010 19:40:33

SNMP информация может быть получена:
1. по запросу - т.е. сервер как менеджер шлет запрос агенту тот отвечает
2. агент сам шлет сообщение (trap) на trap host - т.е. наш сервер, а он либо ловит либо нет.

Вопрос: имеет ли смысл на питоне делать прогу которая каким-то образом будет слушать snmp порт и полученную инфу сыпать в mysql учитывая, что сообщений будет МНОГО.

Т.е. послать - получить ответ нагрузка не большая, а вот во втором случае наверное нужно распараллелить итд.

Базы данных » sqlalchemy select медленно работает по сравнению с обычным text » Окт. 26, 2010 17:24:48

Eсть база Mysql к которой делаются запросы через sqlalchemy select. Количество запросов в минимальной конфигурации в раёне 1k-15k.
Делаю вывод raw селектов, подставляю их в `from sqlalchemy.sql import text` всё летает в раза 3 быстрее.
Чем может быть обусловлен такой прирост производительности? Неужто автолоад и генерация raw кода из объектного столько времени занимает?

engine = create_engine('mysql://...?charset=utf8')
self.conn = engine.connect()
self.meta = MetaData()
self.meta.bind = engine

table1 = Table('table1', self.meta, autoload=True)
table2 = Table('table2', self.meta, autoload=True)
table3 = Table('table3', self.meta, autoload=True)

s = select([table1.c.some_data,
table2.c.some_data,
table3.c.some_data,
],
and_(
table1.c.id == table2.c.t1_id,
table2.c.t3_id == table3.c.id,
),
)

result = self.conn.execute(s)
return result.fetchall()
Видно в моём конкретном случае (большое количество селектов), так оно и есть, каждые 10 секунд работы селект теряет 1-3 секунды по сравнению с text.
select      text
====================
00:00:09 00:00:07
00:00:19 00:00:15
00:00:30 00:00:23
00:00:40 00:00:31
00:00:50 00:00:38
Что можно сделать чтобы код всё ещё был объектным, но при этом без потери производительности?

Network » Надо модифицировать proxy сервер » Окт. 24, 2010 16:44:23

Есть идея сделать прокси сервер, который будет с одного музыкального сайта по урлу качать mp3 и выдавать ее вместо урла. Для этого нужен готовый сервер на яве или питоне, где такое было бы можно легко пристроить.

Почитал это http://proxies.xhaus.com/, начал перебирать.

https://launchpad.net/py-htfilter - прямо заточен под то, что мне надо, в примере прокс вместо ютуб страницы сразу выдает видео в mp4. Вот только не работает нихрена.

development - при первом же запросе выдает вот что
py-htfilter-2.dev>htfilter.py
error: uncaptured python exception, closing channel <__main__.ProxyServer connec
ted 127.0.0.1:2152 at 0x18020a8> (<type 'exceptions.ValueError'>:generator alrea
dy executing [Python26\lib\asyncore.py|read|76] [Python2
6\lib\asyncore.py|handle_read_event|416] [Python26\lib\asynchat.py|h
andle_read|158] [py-htfilter-2.dev\htfilter.py|callback|
175])
Traceback (most recent call last):
File "py-htfilter-2.dev\htfilter.py", line 439, in <mo
dule>
asyncore.loop()
File "Python26\lib\asyncore.py", line 202, in loop
poll_fun(timeout, map)
File "Python26\lib\asyncore.py", line 143, in poll
read(obj)
File "Python26\lib\asyncore.py", line 80, in read
obj.handle_error()
File "Python26\lib\asyncore.py", line 470, in handle_error
self.handle_close()
File "py-htfilter-2.dev\htfilter.py", line 260, in han
dle_close
while self.producer_fifo or self.ac_out_buffer:
File "Python26\lib\asyncore.py", line 394, in __getattr__
return getattr(self.socket, attr)
AttributeError: '_socketobject' object has no attribute 'ac_out_buffer'
stable требует дохренища модулей, я задолбался уже их ставить.

Кто что посоветует? Как починить htfilter или какой еще прокси можно взять?

Инструментальные средства разработки » могу ли использовать 1 лицензию komodo ide на разных компьютерах? » Окт. 23, 2010 09:16:54

могу ли использовать 1 лицензию komodo ide на разных компьютерах?

Нашел ответ на свой вопрос, написано что могу.

Commercial Use. If your License Key authorizes Commercial Use, you may use the software on more than one computer or on a network so long as you are the sole user of the Software. (A “network” is any combination of two or more computers that are electronically linked and capable of sharing the use of a single software program.) You will obtain a separate license for each additional user of the Software (whether or not such users are connected on a network). You are not permitted to sell, lease, distribute, transfer, sublicense, or otherwise dispose of the Software, in whole or in part, for any form of actual or potential commercial gain or consideration.
http://www.activestate.com/komodo-ide/license-agreement

Созрел новый вопрос в продолжении этой темы, что значит Network ?
Значит ли это что я одновременно могу использовать 2 komodo ide например с ноутбука и компа, и они должны иметь 1 сетевой адрес или я на работе ее поставил а дома у меня ноут включеным остался с запущенной копией будет ли это работать ?
У кого есть опыт использования, поделитесь пожалуйста

Web » Запуск *.py на freehostia.com » Окт. 20, 2010 07:56:07

зарегистрировал аккаунт с бесплатным тарифом chocolate. домен взял на co.cc.
залил zope на сервер. и при попытке запуска setup.py вылазит “Internal Server Error”.
создавал .htaccess со строчкой “AddHandler cgi-script .py” - не помогло.
уже не знаю что делать - помогите
когда я у суппорта спрашиваю про то как Python'овские скрипты запустить они дают мне ссылку - http://perlmodules.freehostia.com/perldiver.cgi?action=6
#!/usr/bin/python 

print "Content-type:text/html\r\n\r\n"
print '<html>'
print '<head>'
print '<title>Hello World - First CGI Program</title>'
print '</head>'
print '<body>'
print '<h2>Hello World! This is my first CGI program</h2>'
print '</body>'
print '</html>'
если запускаю *.py с таким содержанием, то всё нормально, а если же там содержится код на Python, то опять “Internal Server Error”
вот ссылка по поводу Python'а на их форуме http://forum.freehostia.com/viewtopic.php?t=1125
там говорится что файлу надо выставить доступ 755 - мне не помогло

GUI » Использование wx.TextCtrl::EmulateKeyPress(wx.KeyEvent& event) » Окт. 19, 2010 17:49:07

Доброго времени суток.
Не совсем понимаю, как нужно использовать данный метод. Подскажите пожалуйста, где можно найти подробный мануал по этой теме или дайте маленький рабочий пример.

Network » Проблемы с GetFriends в Oauth twitter. Помогите » Окт. 12, 2010 12:34:08

Итак. Есть задача. Узнать через twitter API количество Friends и Followers.
По сути пишется скрипт для массового Unfollow тех кто за мной не следует

Используется ActivePython-2.5.1.1-win32-x86

Используется библиотеки:
oauth-python-twitter2-0.2 - http://code.google.com/p/oauth-python-twitter2/downloads/detail?name=oauth-python-twitter2-0.2.zip


Есть функция GetFriends(self, options={}):

В самом простом случае пример выглядит так:
twitter = OAuthApi(CONSUMER_KEY, CONSUMER_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
friends += twitter.GetFriends()
for friend in friends:
print friend.get('screen_name')
Такая реализация у меня работает великолепно, но….
По умолчанию она возвращает только 100 friends

А если нужно получить больше, то необходимо листать страницы с помощью опции:
options['cursor']:
By default twitter returns a list of 100
followers. If you have more, you will need to
use the cursor value to paginate the results.
A value of -1 means to get the first page of results.
Пробовал такой вариант:
def GetAllFriends(self, options={}, cursor=-1, friends=[]):
callResult = self.GetFriends(cursor, options)
for user in callResult['user_list']['users']:
friends.append(user)
if callResult['user_list']['next_cursor'] != 0:
self.GetAllFriends(options, callResult['user_list']['next_cursor'], friends)
return friends
Не работает. :(

Как это правильно реализовать?
Камнями не кидать, я не специалист. Любитель.

Python для новичков » В чем разница между python 2.6 и 2.5 при работе с Unicode » Окт. 12, 2010 11:05:43

Начал писать сайт на Pylons 1.0 + Python 2.6. Потом перешел на Python 2.5 - вылезла куча ошибок с кириллицей в Mako и AuthKit.
Ошибки разгреб, но непонимаю, почему в Python 2.6 все работало как работало, а в Python 2.5 нужно явно кодировки указывать, преобразовывать и т.д.
Объясните пожалуйста, кто знает

GUI » event handling in wx » Окт. 11, 2010 16:41:58

Добрый вечер. Такая задача: отгадать слово с 5ти попыток(каждый раз называть 1 букву, вводить букву в TextCtrl и нажимать после каждой буквы ‘Submit’, в текстовом поле должен появляться ответ ‘Yes’ или ‘No’ в зависимости от того, есть ли буква в слове)

submit=wx.Button(panel, label="Submit", pos=(245,207), size=(50,30))
self.Bind(wx.EVT_BUTTON, self.get_answer, submit)
self.user_input = wx.TextCtrl(panel, -1, "", pos=(140,207))
def get_answer(self, event):
self.interpreter.AppendText("\nShall we start? yes/no: ")

rep1=self.user_input.GetValue()
if rep1=="yes":
self.interpreter.AppendText("OK, Your guess? ")

for i in range(5):

guess=self.user_input.GetValue()
if guess in a_word:
self.interpreter.AppendText("Yes!")
else:
self.interpreter.AppendText("No!")

if rep1=="no":
self.interpreter.AppendText("OK, may be next time. Buy!")
результат:
Shall we start? yes/no: YES(user input)
The word contains 5 letters.
Your guess? No!No!No!No!No!
когда я ввожу ответ ‘yes’ программа использует его до самого конца вместо требуемой буквы, т.к. ‘yes’ не может быть в слове, она выдает “NO, NO NO ….”Как сделать так, чтобы после каждогo ввода программа ждала следующего, а не выполняла 5 оборотов с ‘yes’ вместо букв? я пробовала ‘self.user_input.SetValue(“”)’, не получается, тот же результат

заранее спасибо,
извините, вопрос, наверное глупый, но я учу wx всего 2ую неделю!

GUI » Окна произвольной формы в wxPython » Окт. 11, 2010 16:00:28

Здравствуйте.
Кто знает, как сделать окна произвольной формы в wxPython?
Да не простые, как в примере в демках (отсекание пикселей по битовой маске), а с учетом альфа-канала, то-есть чтобы иметь возможность сделать их полупрозрачными в разных местах в соответствии с картинкой.

Google App Engine » Список всех пользователей » Окт. 10, 2010 13:12:41

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

Django » Хранение в БД симметричной разреженной матрицы без диаг. элементов. » Окт. 9, 2010 14:58:12

Помогите определиться со способом хранения такой матрицы в БД. Кроме того в качестве “координат” выступают записи другой таблицы. (т.е. данную матрицу так же можно воспринимать как граф).
Такой вариант:
class Main():
name = CharField()

class MatrixItem(Model):
value = FloatField()
x = ForeignKey(Main)
y = ForeignKey(Main)
Не слишком подходит по понятным причинам.

Вот этот вариант кажется оптимальным:
class Main():
name = CharField()

class MatrixItem(Model):
value = FloatField()
coor = ManyToManyField(Main, related_name = 'items') #Храниться две ссылки на Main
Но встаёт вопрос о том как извлекать элементы имея на руках две записи Main, самое лучшее что я смог придумать это:
def get_value(p1, p2):
try:
if p1<>p2:
return p1.items.__and__(p2.items)[0].value #Пользуясь случаем хотелось бы спросить, почему результат p1.items.__and__(p2.items) отличается от p1.items and p2.items ?
else:
return None
except IndexError:
return 0
Но если я правильно понимаю, то при такой реализации будет два запроса и будут вытаскиваться целые строки и ряды.
Так вот можно ли как-то улучшить или переделать эту схему?
Буду благодарен за любые полезные советы и указания.