Уведомления

Группа в Telegram: @pythonsu

Уведомления

  • Found 3494 posts.

Python для новичков » SQLAlchemy склеивание записей » Июль 7, 2016 11:05:26

Доброго дня всем!
Столкнулся с проблемой с SQL алхимией: в базе PostgreSQL хранятся события, у некоторых из них есть правила повторения (ежедневно, еженедельно, etc). Первичный ключ в таблице ID. Правила повторения событий хранятся в формате rrule. При выборке из базы данных события “разворачиваются” с помощью функции unnest, то есть получается несколько элементов с pk=1 но разной датой. Само собой, алхимия видит одинаковый pk и “склеивает” эти записи.
Банальным решением проблемы было бы сделать комбинированный pk на ID и дату события, но в таблице даты нет, это поле появляется только после select'а. В orm это поле описано так:

date = column_property(func.unnest(func.get_occurrences(cast(rrule, RRule), cast(func.now(), TIMESTAMP))).label("date"))

Как можно решить эту проблему?

>>> Event.query.count()
182
>>> len(Event.query.all())
1

Python проекты » Разработчик Python » Июль 6, 2016 09:43:29

Нужен спец в Python, чтобы дописать наш сайт, который мы переводим на Python. Проект был начат, его надо закончить, срок реализации проекта – 2 месяца.
Требуемые знание и навыки:
уверенное знание Python;
*Django – реализация минимум одного проекта (или сильный учебный проект).
*опыт настройки, оптизимации и работы с MySQL;
*умение работать не только с ORM, но и с “голым” SQL;
*знание следующих технологий: HTML5/JS/JQuery/CSS3.

Зп – от 140 000 за проект.
Место расположения – Москва.
На время ведения проекта предполагается присутствие в офисе.
При успешной реализации проекта возможно дальнейшее сотрудничество, на постоянной основе.

Можно сразу резюме на почту - gladkih@peon.ru

Python проекты » Нужен веб-разработчик Python Django » Июль 5, 2016 19:26:48

Добрый день!

Требуется веб-разработчик Python Django для доработки существующего web-сайта, созданного на Python-Django-Oscar. Мы в Москве, возможна работа на удаленке. Пишите в ЛС.

Центр помощи » Помощь со строками » Июль 1, 2016 17:46:06

Здравствуйте!
Сегодня надо сдать небольшую работу для зачёта, но смекалочки не хватает чё-то.
Необходимо реализовать алгоритм нахождения расстояния Левенштейна. Но не простого. Операции должны стоить по-разному. То есть, добавление - например, 3 балла, удаление - 2 балла, а замена - 1.
И в итоге нужно ещё найти максимально эффективную последовательность.
Буду очень рад любой подсказке и помощи.
Спасибо!
Код пока такой:
def distance(a, b):
"Calculates the Levenshtein distance between a and b."
n, m = len(a), len(b)
if n > m:
# Make sure n <= m, to use O(min(n,m)) space
a, b = b, a
n, m = m, n

current_row = range(n+1) # Keep current and previous row, not entire matrix
for i in range(1, m+1):
previous_row, current_row = current_row, [i]+[0]*n
for j in range(1,n+1):
add = previous_row[j]+ 3
if a[j-1] != b[i-1]:
change += 1
delete = current_row[j-1]+2
if a[j-1] != b[i-1]:
change += 1
change = previous_row[j-1] + 1
if a[j-1] != b[i-1]:
change += 1
current_row[j] = min(add, delete, change)

return current_row[n]

Python для экспертов » Ищем программиста Python » Июнь 29, 2016 17:10:59

Нужен спец в Python, чтобы дописать наш сайт, который мы переводим на Python. Проект был начат, его надо закончить, срок реализации проекта – 2 месяца.
Требуемые знание и навыки:
уверенное знание Python;
*Django – реализация минимум одного проекта (или сильный учебный проект).
*опыт настройки, оптизимации и работы с MySQL;
*умение работать не только с ORM, но и с “голым” SQL;
*знание следующих технологий: HTML5/JS/JQuery/CSS3.

Зп – от 140 000 за проект.
Место расположения – Москва.
На время ведения проекта предполагается присутствие в офисе.
При успешной реализации проекта возможно дальнейшее сотрудничество, на постоянной основе.

Можно сразу резюме на почту - gladkih@peon.ru

Центр помощи » Помогите найти ошибку в коде... » Июнь 25, 2016 13:42:37

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

Помогите пожалуйста чайнику

# coding=utf-8
from selenium import webdriver
from xml.dom import minidom
import re, time, sys
options = webdriver.ChromeOptions()
options.add_argument('--user-data-dir=C:/Users/Shadow/AppData/Local/Google/Chrome/User Data')
driver = webdriver.Chrome(chrome_options = options)
def subscription(id):
	#Открываем URL канала
	url = u'https://www.youtube.com/channel/' + id[0]
	driver.get(url)
	#Находим кнопку подписки
	button = driver.find_element_by_xpath('//*[@id="c4-primary-header-contents"]/div/span/button[1]')
	
	#Если на кнопке нет атрибута 'data-is-subscribed="true"' - значит подписка не оформлена
	if button.get_attribute('data-is-subscribed') == None:
		#то кликаем на кнопку
		button.click()
		#Засыпаем на три секунды что-бы клик успел отработать, необходим при медленном интернете
		time.sleep(3)
		sys.stdout.write(" +++\r\n")
	else:
		#Иначе пишем:
		sys.stdout.write(" ---\r\n")
### Парсим XML файл подписок subscription_manager.xml берем здесь https://www.youtube.com/subscription_manager 
### в самом низу страницы, есть кнопка "Экспортировать подписки", кладем его рядом с этим скриптом
xmldoc = minidom.parse('subscription_manager.xml')
itemlist = xmldoc.getElementsByTagName('outline')
#Печатаем количество подписок
print(len(itemlist))
#Цикл обработки XML документа
for s in itemlist:
	try:
		feed_url = s.attributes['xmlUrl'].value
		#Находим ID канала регулярным выражением
		p = re.compile('channel_id=(.*)$')
		m = p.findall(feed_url)
		#Печатаем название канала
		sys.stdout.write(s.attributes['title'].value)
		#Вызываем функцию подписки
		subscription(m)
	except:
		pass

Python для новичков » Как вывести изображение с web камеры во фрейме? » Июнь 25, 2016 10:50:19

Добрый день.
Установил pip и opencv, из примера на просторах интернета заработал вот такой код, для вывода изображения с web камеры.
Изображение открывается в новом окне, как его вывести в уже имеющемся фрейме?
И как сохранить кадр (скриншот)?

cv.NamedWindow("camera", 1)
capture = cv.CaptureFromCAM(0)
while True:
  img = cv.QueryFrame(capture)
  cv.ShowImage("camera", img)
  if cv.WaitKey(10) == 27:
    break
cv.DestroyWindow("camera")

Python для экспертов » PyPy + Gunicorn » Июнь 22, 2016 09:58:14

Привет!
Пробую запустить нагруженный HTTP сервер работающий на Gunicorn на интерпретаторе PyPy вместо стандартного CPython.
Столкнулся с особенностями garbage collection. Приходятся самостоятельно за собой вычищать переменный и закрывать сокеты. Окей, сделал. Но вопрос в том, делает ли это Gunicorn? Нагрузка у нас около 1к запросов в секунду на один нод. Всё вроде бы работает, но я смотрю netstat и lsof во время нормальной нагрузки. Вижу в несколько раз больше открытых сокетов при работе на PyPy нежели на CPython. В связи с этим и нагрузка на CPU больше. Хотя нагрузка должна быть значительно меньше, т.к. PyPy быстрее должен отрабатывать.
Собственно вопрос, совместим ли вообще Gunicorn с PyPy? Эффективно ли он зачищает за собой память и закрывает сокеты? Потому как есть подозрения что сокеты не закрываются вручную, что необходимо при работе с PyPy.

Python для новичков » Kivy. Как передать значение из класса в класс? » Июнь 21, 2016 12:21:53

Прошу помощи, никак не могу победить. Как отобразить в Label текст, который приходит от сервера?
Отрывки из кода:

.kv файл:

<MyRootWidget>:
BoxLayout:
orientation: ‘vertical’
Button:
id: but1
text: ‘Button 1’
on_press: root.press_but1()
Label:
id: label1
text: ‘Label 1’

python:

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout

class client():
формируется клиент и “слушает” сокет
……
# здесь от сервера получаю сообщение и присваиваю его message
message = self.sock.recv(self.buffer_size)
……

def potclient(s):
s.clien = MyClient('localhost', 33333)
s.clien.run()

class MyRootWidget(BoxLayout):
def press_but1(self):
…….
#здесь запускаю в потоке клиент
pot = threading.Thread(target=potclient)
pot.start()
……

class MyApp(App):
def build(self):
return MyRootWidget()

if __name__==“__main__”:
MyApp().run()

Флейм » Ищу удаленную работу. Python/django » Июнь 21, 2016 12:20:47

1) Ищу удаленку
2)Опыт в пайтоне 9 лет
3)есть много успешных и завершенных проджектов на джанге и рест фреймворке
4)rudvadim(gav)gmail.com

Python для экспертов » Rumps + py2app » Июнь 20, 2016 18:15:16

Всем привет!
Ребята, если кому не очень тяжело….

Есть весьма интересный проект для создания менюшек в тулбаре мака.
https://github.com/jaredks/rumps

Поставил - набросал простейшее приложение.
Далее пробую его собрать в App - все по мануалам.
Однако при попытке запуска Апликухи приложение вываливается и в консоли имеем ошибку:

6/20/16 18:12:51.778 NL: File “/Users/kobzar/Develop/Python/RN/dist/NL.app/Contents/Resources/__boot__.py”, line 351, in <module>
6/20/16 18:12:51.778 NL: _run()
6/20/16 18:12:51.778 NL: File “/Users/kobzar/Develop/Python/RN/dist/NL.app/Contents/Resources/__boot__.py”, line 336, in _run
6/20/16 18:12:51.778 NL: exec(compile(source, path, ‘exec’), globals(), globals())
6/20/16 18:12:51.778 NL: File “/Users/kobzar/Develop/Python/RN/dist/NL.app/Contents/Resources/NL.py”, line 5, in <module>
6/20/16 18:12:51.778 NL: import rumps
6/20/16 18:12:51.778 NL: File “/Users/kobzar/Develop/Python/RN/dist/NL.app/Contents/Resources/lib/python2.7/rumps/__init__.py”, line 25, in <module>
6/20/16 18:12:51.778 NL: from .rumps import (separator, debug_mode, alert, notification, application_support, timers, quit_application, timer,
6/20/16 18:12:51.778 NL: File “/Users/kobzar/Develop/Python/RN/dist/NL.app/Contents/Resources/lib/python2.7/rumps/rumps.py”, line 15, in <module>
6/20/16 18:12:51.778 NL: from Foundation import (NSDate, NSTimer, NSRunLoop, NSDefaultRunLoopMode, NSSearchPathForDirectoriesInDomains,
6/20/16 18:12:51.778 NL: File “Foundation/__init__.pyc”, line 8, in <module>
6/20/16 18:12:51.779 NL: File “objc/__init__.pyc”, line 18, in <module>
6/20/16 18:12:51.779 NL: File “objc/__init__.pyc”, line 15, in _update
6/20/16 18:12:51.779 NL: AttributeError: ‘module’ object has no attribute ‘_objc’
6/20/16 18:12:51.851 NL: NL Error

Это у всех так или я таки щасливый?

Флейм » Необходим разработчик - москва( удаленка, Но можно и в офис) » Июнь 14, 2016 22:56:23

Есть проекты на джанго, необходима поддержка + написание новых модулей, работа не сложная

строго Москва, чтоб был телефон

работа по часам, или если хотите в офисе( м. Лениниский проспект )

предложения на p.elagin@gmail.com или телефон +79653737888( телеграм приветствуются )


GUI » QTreeView + QSortFilterProxyModel показать дочерние объекты » Июнь 13, 2016 08:47:22

Есть простая модель, отображаемая через QTreeView:
|-ФИО1
||-поле1
||-поле2
||-поле3
|-ФИО1
||-поле4
||-поле5
||-поле6
Есть привязанный к ней и переопределенный QSortFilterProxyModel
Есть QLineEdit, в который вводится часть ФИО и по содержимому которого должен срабатывать фильтр.

Фильтр работает, но не показываются дочерние объекты. Я примерно представляю как это должно работать (при проверке строки в filterAcceptsRow, нужно проверить родителя и, если он проходит через фильтр, вернуть True), но для этого нужно знать sourceRow и sourceParent родительского объекта. А вот тут я не могу понять как правильно их получить. По идее, задача должна быть достаточно распространенная, но ни одного примера нагуглить не удалось…

Python для экспертов » OpenCV подсчет объектов пересекающих линию » Июнь 6, 2016 09:54:13

Всем добрый день.

Провожу настройку скрипта для подсчета трафика автомобилей.

Есть проблема с подсчетом количества объектов пересекающих условную линию. Когда объект пересек линию цикл плюсует каждый раз пока объект не выходит за границу видео.

Может кто-то подскажет решение.

Вот код:
import cv2
backsub = cv2.BackgroundSubtractorMOG() #вычитаем фон
capture = cv2.VideoCapture("/car.avi") #грузим видео
i = 0
minArea=1
  while True:
    ret, frame = capture.read()
    fgmask = backsub.apply(frame, None, 0.01)
    erode=cv2.erode(fgmask,None,iterations=3)   
    moments=cv2.moments(erode,True)
    area=moments['m00']    
    if moments['m00'] >=minArea:
        x=int(moments['m10']/moments['m00'])
        y=int (moments['m01']/moments['m00'])
        if y>100:       
            i=i+1
            print(i)
        #print(x,y)
        cv2.putText(frame,'COUNT: %r' %i, (10,30), cv2.FONT_HERSHEY_SIMPLEX,
                        1, (255, 0, 0), 2)
        cv2.imshow("Track", frame)
        cv2.imshow("background sub", fgmask)
    key = cv2.waitKey(100)
    if key == ord('q'):
            break

Центр помощи » из php в python » Июнь 6, 2016 05:54:20

Добрый день, сорри если написал не туда.
Кто может помочь переписать пхп скрипт в многопоток питона? Можно за денюжку (если не оч дорого(
Напишите контакты куда стукнуть объясню. Заранее огромное спасибо.

Центр помощи » Нужна помощь с веб-приложением (есть пз). » Июнь 5, 2016 13:20:22

Есть готовое какое-никакое пз, в приложении есть код всех модулей. Загвоздка в том что ни разу не писал веб-приложение и я понятия не имею как все эти модули объединить и заставить работать с php. Так вот я хотел бы чтобы знающий человек по этой пз соединил бы всё вместе в работающее приложение.
https://dropmefiles.com/AiIR2

Python для новичков » Объединить коды двух программ » Июнь 4, 2016 15:17:34

Есть программа для raspberry pi, для чтения списка файлов с флешки и вывода их на монохромный дисплей, список на экране можно листать тактовый кнопками. Нужно объеденить ее с программой Printrun (Pronterface). Сначала поместил код моей программы вне класса. Потом поместил в класс ConsoleOutputHandler. Но ни кнопки, ни дисплей не работают в обоих случаях. Что делать? Ниже прикрепляю четыре файла:1) программа для работы с дисплеем; три варианта Pronterface - 2)исходная; 3) с кодом моей программы вне класса; 4) в классе. И ещё ссылка на полные исходники printrun на всякий случай.

Исходники: https://github.com/kliment/Printrun

Python для новичков » Почему не загружается аватар в инстаграм? » Июнь 4, 2016 14:46:31

Использую следующую функцию для загрузки аватара:
def uploadphoto(c,photo):
    files = {'profile_pic': (photo, open('avatars/'+photo, 'rb'), 'image/jpeg')}
    return requests.post('https://www.instagram.com/accounts/web_change_profile_picture/', 
                         headers={'referer': 'https://www.instagram.com/', 
                                  'origin': 'https://www.instagram.com/', 
                                  'x-csrftoken': c.cookies['csrftoken'], 
                                  'x-instagram-ajax': '1', 
                                  'x-requested-with': 'XMLHttpRequest'}, 
                         cookies=c.cookies, 
                         files=files)
В переменной “c” я передаю куки, в photo - имя фото, которую нужно загрузить. Но мне всегда приходит пустой ответ - None, либо файл загружается, но отображается стандартный аватар инстаграма, а не фото, которое я загружал.

Python для новичков » Почему не работает py2exe? » Июнь 4, 2016 14:45:23

Python 3.3
C:\Users\User\Projects\I>python setup.py py2exe
Traceback (most recent call last):
File "<frozen importlib._bootstrap>", line 1519, in _find_and_load_unlocked
AttributeError: 'module' object has no attribute '__path__'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "setup.py", line 1, in <module>
from distutils.core import setup
File "C:\Users\User\Projects\I\distutils.py", line 1, in <module>
from distutils.core import setup
ImportError: No module named 'distutils.core'; distutils is not a package

setup.py
from distutils.core import setup
import py2exe
setup(
windows=[{"script":"gui.py"}],
options={"py2exe": {"includes":["sip", "random", "json", "os", "multiprocessing.dummy", "requests", "tkinter"]}}
)

Почему не получается собрать exe?

Пробовал установить ez_setup.py - установился, но ошибка та же. Попробовал это всё сделать через cx_freeze и на python 3.4(через pip установил cx_freeze, свои модули и setuptools) – ошибка та же.

Инструментальные средства разработки » Пакеты для работы с Active Directory и локальной сетью » Июнь 2, 2016 03:48:07

Подскажите, пожалуйста, какие пакеты лучше использовать для Python 3, для работы с AD и локальной сетью?